1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu các hàm kết tập trong lập trình tập trả lời và ứng dụng

72 9 0
Tài liệu được quét OCR, nội dung có thể không chính xác

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tìm Hiểu Các Hàm Kết Tập Trong Lập Trình Tập Trả Lời Và Ứng Dụng
Tác giả Hoàng Hữu Anh Tuyến
Người hướng dẫn PGS.TS. Trương Công Tuấn
Trường học Đại Học Huế
Chuyên ngành Khoa Học Máy Tính
Thể loại Luận Văn Thạc Sĩ
Năm xuất bản 2019
Thành phố Thừa Thiên Huế
Định dạng
Số trang 72
Dung lượng 27,61 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

gvchonlinhd, Trang 8 DANH MỤC CÁC THUẬT NGỮ Chương trình logic xác định Chương trình logic thông thường Chương trình logic đây đủ Công thức đóng Công thức logic Công thức nên Cơ sở Her

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

DAI HOC HUE TRUONG DAI HOC KHOA HOC

HOANG HUU ANH TUYEN

TIM HIEU CAC HAM KET TAP TRONG LAP TRINH TAP TRA LOI VA UNG DUNG

LUAN VAN THAC SI KHOA HOC

KHOA HOC CONG NGHE THONG TIN

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO

DAI HOC HUE

TRUONG DAI HOC KHOA HOC

HOANG HUU ANH TUYEN

TIM HIEU CAC HAM KET TAP TRONG LAP TRINH TAP TRA LOI VA UNG DUNG

CHUYEN NGANH: KHOA HOC MAY TINH

MA SO: 84.80101

LUAN VAN THAC Si KHOA HOC

DINH HUONG NGHIEN CUU

NGUOI HUONG DAN KHOA HOC

PGS.TS TRUONG CONG TUAN

Thira Thién Hué, 2019

Trang 3

LỜI CAM ĐOAN Tôi xin cam đoan luận văn này là công trình nghiên cứu của cá nhân tôi Tất

cả số liệu, kết quả nghiên cứu trong luận văn là trung thực, chưa được người khác công bồ trong bất cứ một công trình nghiên cứu nao

Người thực hiện

Hoàng Hữu Anh Tuyến

Trang 4

buộc yếu Ngữ nghĩa sẽ tối ưu hóa đầu tiên là các ràng buộc ở mức ưu tiên cao nhất, sau đó đến các ràng buộc ở mức ưu tiên thấp hơn và tiếp tục như vậy

Mức độ đánh giá và mức độ ưu tiên có thể là các biến, cung cấp rằng các biến này cũng xuất hiện trong các phan ti dong trong Conj (Li, L2 Lm) Nguoi

sử dụng có thể bỏ qua mức độ đánh giá, mức ưu tiên hoặc cả hai, nhưng tất cả các ràng buộc yếu phải có cùng một dạng cú pháp như nhau trong chương trình

Ví dụ 2.4 Cho nguyên tô #siz(V) mô tả XY là một học sinh, nguyên tô điem(Y,Y,Z)

mô tâ học sinh X, có điểm môn học Y là Z, nguyên tổ //ch(X,Y) mô tả học sinh Y yêu thích môn học Y đ/„zyen(Y,Y) mô tả học sinh X được chọn vào đội tuyển Y Với tập sự kiện cho ở ví dụ 2.1, ta xây dựng các quy tắc chọn đội tuyên học sinh giỏi cho các môn Toán, Lý, Văn theo các yêu cầu:

a Một học sinh có thể được chọn vào đội tuyên Toán hoặc Lý hoặc Văn

b Mỗi học sinh chỉ được tham gia một đội tuyển

c Một học sinh được chọn vào đội tuyển Văn khi học sinh đó phải yêu thích môn Văn

d Chọn một học sinh vào đội tuyển Toán nên chọn học sinh có tổng điểm

hai môn Toán, Lý lớn hơn 17.5 điểm

e Chọn một học sinh vào đội tuyển Lý nên chọn học sinh có tông điểm hai

môn Toán, Lý lớn hơn 16.0 điểm

Với các yêu cầu trên, ta có thê biểu diễn bởi các quy tắc kết tập a, Ð, e, đ, e

như sau:

a: dtuyen(X,toan) v dtuyen(X, ly) v dtuyen(X,van) < hsinh(X)

b: < dtuyen(X,Y), not #eount{Z: dtuyen(Z, Y)} = 1

6 « đứiyen(X, van), not thich(Y, van)

d: < dtuyen(X,toan), not #sum{Z: diem(X,Y,Z), Y!= van} > 175

e: < dtuyen(X, ly), not #sum{Z: diem(X,Y,Z), Y!= van} > 160

22

Trang 5

MỤC LỤC

Danh mục các thuật ngữ li Danh mục các từ viết tắt ili

1.3 CÁC TÍNH CHÁT CỦA NGỮ NGHĨA 16

Chuong 2 CHUONG TRINH LOGIC CO CHUA CAC HAM KET TAP 18

2.1 CU PHAP CHUONG TRINH LOGIC CO CHU'A CAC HAM KET TAP 18

2.1.1 Tap ky hiéu, tap nén 18

2.1.4 Quy tắc kết tập, chương trình logic có chứa hàm kết tập 20 2.1.5 Quy tắc an toàn, chương trình an toàn 25 2.2 NGU NGHIA TAP TRA LOI CUA CHUONG TRINH LOGIC CO

2.2.1 Vũ trụ Herbrand và Cơ sở Herbrand 26

Trang 6

2.2.4 Tập trả lời

2.2.5 Phép bién déi Gelfond - Lifschitz

2.3 MOT SO TINH CHAT NGU NGHIA

2.4 TIEU KET CHUONG 2

Chuong 3 UNG DUNG HAM KET TAP TRONG LAP TRINH

TAP TRA LOI

3.1 TONG QUAN VE HE THONG DLV

3.1.1 Giới thiệu về hệ thông DLV

3.1.2 Thực thi chương trình logic bằng hệ thống DLV

3.1.3 Một số vị từ số học xây dựng trong trên hệ thống DLV

3.2 BAI TOAN UNG DUNG

Bài toán 1: Thiết kế mạch điện

Bài toán 2: Xây dựng chương trình “Hỗ trợ tuyên chọn đội tuyên bồi dưỡng học sinh giỏi”

3.3 TIEU KET CHUONG 3

KET LUAN VA HUONG PHAT TRIEN

TAI LIEU THAM KHAO

Trang 7

hschon (thu, anh) hschon (thu,

hschon (hong, dia) hschon (hong,

hschon(ni, van) hschon(ni, su)

Lay} = hschon (nhi, aia): 5

toan) hschon(khanh, hoa)

sinh) hschon(khoa, anh)

hschon(nhi, sinh) hschon(ngoc,

hschon(ngoc, anh) hschon(ly,

hschon(ly, gdcd) hschon(mai,

°

gvchon (%X,Y)

gvchon (minh, anh) gvchon (minh,

anh) gvchon(chau, toan) gvchon (nab,

gvchon (san, anh) gvchon (san,

gvchon (phong, su) gvchon(linha,

gvchon (quyen, dia) gvchon(quyen,

gvchon (hang, su) gvchon (1y,

gvchon (thu, dia) gvchon(thu,

gvchon(linhb, toan) gvchon(linhc,

gvchon (vy, gdcd) gvchon(vy,

gvchon(ni, dia) gvchon (anha,

gvchon(kiet, hoa) gvchon(kiet,

gvchon (huyen, gdcd) gvchon(luy,

gvchon(khoa, hoa) gvchon (khoa,

gvchon (nha, van) gvchon (hieu,

gvchon (thanh, hoa) gvchon(thanh,

gvchon (khanh, SU) « gvchon(y,

gvchon (mai, sinh) gvchon (mai,

gvchon (nhu, hoa) gvchon(anhb,

gvchon (thuy, sinh) gvchon(thuy,

gvchon (nhỉ, dia) gvchon(linhd,

gvchon(hong, su) gvchon (hong,

hschon (khanh, hschon (khoa, hschon (nhỉ;

sinh)

% Giao vien chon hoc sinh X boi

hschon (hong,

hschon (ni, hschon (nhi, hschon (nhi,

hschon(khanh, hschon(khoa, hschon (nhi,

hschon (ngoc, hschon (1y,

hschon (mai,

duong mon

gvchon (chau, gvchon (nab,

gvchon (phong, gvchon (1inha, gvchon (hang, gvchon (1y, gvchon (1inhb, gvchon(linhc, gvchon(ni, gvchon (anha, gvchon (huyen, gvchon (1uy, gvchon (nha, gvchon (hieu, gvchon (khanh, gvchon (Vy, gvchon (nhu, gvchon (anhb, gvchon (nhỉ, gvchon(linhd, gvchon (naa,

Trang 8

DANH MỤC CÁC THUẬT NGỮ

Chương trình logic xác định

Chương trình logic thông thường

Chương trình logic đây đủ

Thê hiện Herbrand

Vii tru Herbrand

definite logic program normal logic program completed logic program closed formula

logic formula ground formula Herbrand base

term

ground term logical consequence negative literal definite clause Herbrand model the least Herbrand model minimal model

stable model

atom

ground atom substitution ground substitution Herbrand interpretation Herbrand universe

ii

Trang 9

DANH MỤC CÁC TỪ VIẾT TẮT

AI Artificial intelligence

ASP Answer Set Programming

DLP Disjunction logic programming DLV Datalog with Disjunction

Trang 10

Mặc dù ASP có tính biểu cảm cao nhưng có một số tính chất đơn giản, thường phát sinh trong các ứng dụng ở thế giới thực mà ASP không diễn tả được một cách tự nhiên và cũng có thể không mã hóa được Đặc biệt là các tính chất đòi hỏi việc sử dụng các toán tử số học (nhu sum, count, min, max) trén mot tap hop cac phan tử thỏa mãn một số điều kiện Để vượt qua khiếm khuyết này, ASP đã được

mở rộng bằng các hàm kết tap [5]

Trong thực tế các hàm kết tập đã giúp ASP phát triển mạnh trong lĩnh vực Trí tuệ nhân tạo như các ứng dụng về lập kế hoạch, lý luận xác suất, xử lý tri thức, tích hợp dữ liệu, trả lời truy vấn, xử lý ngôn ngữ, chân đoán, lĩnh vực Sinh học như tính toán sinh học, hệ thống sinh học, tin sinh học lĩnh vực Công nghiệp như các hệ hỗ trợ quyết định, liên kết sản phâm tự động, định tuyến cuộc gọi thông minh, cấu hình lại an toàn đường sắt, lĩnh vực Du lịch và nhiều lĩnh vực khác [4] Trong luận văn này tập trung tìm hiểu các kiến thức cơ sở về chương trình logic, cú pháp, ngữ nghĩa tập trả lời của chương trình logic có chứa hàm kết tập và ứng dụng biểu diễn các bài toán thực tế

Cấu trúc luận văn được trình bày gồm có ba chương:

Chương một tập trung nghiên cứu các khái niệm cơ sở của chương trình logic bao gồm các khái niệm về bộ ký tự, hạng thức, nguyên tố, literal, công thức logic, vũ trụ, cơ sở, thể hiện và mô hình Herbrand, ngữ nghĩa của chương trình logic

Trang 11

xác định, phép biến đổi Gelfond - Lifschitz và thông qua đó trình bày ngữ nghĩa của tập trả lời của chương trình logic thông thường

Chương hai tập trung nghiên cứu, tìm hiểu về cú pháp, ngữ nghĩa tập trả lời của chương trình logic có chứa các hàm kết tập Cú pháp chương trình logic có chứa hàm kết tập tập trung vào các khái niệm tập ký hiệu, tập nền, hàm kết tập, nguyên tố kết tập, quy tắc kết tập, chương trình logic có chứa hàm kết tập, quy tắc an toàn và chương trinh an toàn Tìm hiểu vũ trụ, cơ sở Herbrand, phép thế, thể hiện, mô hình, phép biến đổi Gelfond - Lifšschitz và ngữ nghĩa tập trả lời của chương trình logic chứa hàm kết tập tập

Chương ba gồm có 2 phần, phần thứ nhất giới thiệu tổng quan về hệ thống DLV và quá trình hoạt động của các mô đun có trong hệ thống khi chạy chương trình Phần thứ hai là ứng dụng hàm kết tập trong lập trình tập trả lời để biêu diễn các bài toán trong thực tế và thực thi trên hệ thống DLV bao gồm 2 bài toán: bài toán “Thiết kế mạch điện” tối ưu và bài toán xây đựng “Chương trình hỗ trợ tuyển chọn đội tuyên học sinh giỏi” để hỗ trợ trong công tác bồi dưỡng học sinh giỏi tại các trường TH&THCS ở huyện Hải Lăng, tỉnh Quảng TTỊ

Phần kết luận tóm tắt kết quả tìm hiểu, ứng dụng các hàm kết tập trong lập trình tập trả lời và hướng phát triển của đề tài

Trang 12

Chương 1

CÁC KHÁI NIEM CO SO CUA CHUONG TRINH LOGIC

Chương 1 trình bày một số khái niệm cơ sở của chương trình logic về cú pháp của chương trình logic, ngữ nghĩa chương trình logic xác định, ngữ nghĩa tập trả lời và các tính chất của ngữ nghĩa [1] Đây là những kiến thức cơ sở cần thiết trong việc nghiên cứu, tìm hiểu các chương sau

1.1 CÚ PHÁP CHƯƠNG TRÌNH LOGIC

Trong phần này sẽ trình bày các khái niệm cơ sở của chương trình logic, các khái niệm về bộ ký tự, hạng thức, nguyên tố, literal, công thức logic, chương trình logic xác định và chương trình logic thông thường

Định nghĩa 1.1 (Bộ ký tự) Bộ ký tự bao gồm các lớp ký hiệu sau:

1 Hằng, thường ký hiệu bởi các chữ cái in thường ví dụ a, 5, e,

2 Biến, thường ký hiệu bởi các chữ cái In hoa, ví dụ X, Y, Z

3 Hàm, thường ký hiệu bởi các chữ cái In thường, ví dụ ƒ, ø, ñ,

4 VỊ từ, thường ký hiệu bởi các chữ cái in thường, ví dụ 7Ø, g, 7,

5 Hang vi tw: true, false

6 Ký hiệu kết nói: not (phủ định), V (tuyển), ^ (hội), © (suy ra), <> (nếu và chỉ nếu)

7 Ký hiệu lượng từ: V (với mọi), 3 (tồn tại)

§ Dấu ngoặc đơn trái “(°, dấu ngoặc đơn phải “)”, dau phay “,”

Trong một bộ ký tự, các ký hiệu hằng để chỉ các đối tượng nào đó, các ký hiệu vị từ để chỉ mối quan hệ giữa các đối tượng Mỗi vị từ được gắn liền với một

số tự nhiên, gọi là ngôi để chỉ số đối của các vị từ Các ký hiệu hàm biểu diễn các hàm trên miền của các đối tượng, mỗi ký hiệu hàm cũng gắn liền với một số tự nhiên nhằm xác định số đối của các hàm Mỗi biến là ký hiệu cho một đối tượng

Trang 13

chưa được chỉ rõ Các bộ ký tự trong ngôn ngữ bậc nhất thường phân biệt nhau bởi các hằng, biến, hàm và vị từ còn các hằng vị từ, ký hiệu kết nối, lượng từ, các dấu ngoặc của các bộ ký tự thường giống nhau

Ví dụ 1.1 Cho bộ ký tự ⁄4 bao gồm các lớp ký hiệu sau:

Định nghĩa 1.2 (Hạng thức) Cho 41 là bộ ký tự Jạng thức được định nghĩa đệ quy

như sau:

() Mỗi hằng trong 4 là một hạng thức,

(0 Mỗi biến trong 41 là một hạng thức,

Œ) Nếu ƒlà ký hiệu hàm n-ngéi trong A va ty, ., f„ là các hạng thức thì f¡, , fm) là một hạng thức, 5

(v) Hạng thức chỉ được sinh ra bởi các quy tắc trên

Hạng thức không chứa biến gọi là hạng thức nên

Vi du 1.2 Cho bộ ký tự ⁄l bao gồm các ký hiệu sau:

Hằng: a, b,

Biến: X, Y,

Trang 14

Ta có tập hạng thức {a, ở, X, Y, ƒa), f(b), g(a), 96), (2, (1), 20D, 1),

#ữ@)), W0), s(s(4)) }

Tập các hạng thức nền: {a, ö, ƒ(@), ƒ0), s(4), s0), f4), fỮ)), s(s(4)) }

Trong ngôn ngữ tự nhiên, việc kết hợp các từ nào đó sẽ tạo nên những câu có nghĩa Các câu như vậy được biêu diễn trong logic vị từ bởi những cấu trúc đặc biệt được xây dựng từ các hạng thức và các lớp ký hiệu của bộ ký tự Những cấu trúc này được gọi là các công thức logic (hoặc đơn giản là công thức) và công thức đơn giản nhất được gọi là nguyên tổ và được định nghĩa như sau:

Định nghĩa 1.3 (Nguyên tố, literal) Nếu í, , /„ là các hạng thức, p là ký hiệu vị từ

n-ng6i thi p(t, , f„) được gọi là một nguyên tố

Nguyên tố nền là nguyên tô không chứa biến

Một nguyên tô hoặc phủ định một nguyên tố được gọi là /erai Nguyên tố gọi là /eral dương và phủ định của một nguyên tổ goi 1a literal dm Ky hiéu pha định của nguyên tố p là not ø

Vi du 1.3 Cho bộ ký tự 1 bao gồm các ký hiệu sau:

Cac Literal duong: p(a), p(d), g(a), q(b), PX), G(X)

Cac Literal 4m: not p(a), not p(b), not g(a), not q(b), not p(X), not g(Y) Định nghĩa 1.4 (Công thức) Công thức được định nghĩa đệ quy như sau:

Trang 15

Œ) Mỗi nguyên tổ là một công thức;

(ii) Cac hang vị từ true va false 1a cac cong thc;

(iii) Néu E va F là các công thức thì:

(E V F), not (E), (EA F), (E < F), E © F) la cac cong thirc;

(iv) Néu E 1a cong thire va XY 1a m6t bién trong A thi VY (E), 4X (E) 1a cac công thức; VX, 3X được gọi là phần lượng từ, E là miễn tác đụng của lượng từ;

(v) Công thức chỉ được sinh ra bởi một số hữu hạn các quy tắc trên

Một công thức không chứa biến gọi là công thức nền

Ví dụ 1.4 Xét một số câu khai báo trong ngôn ngữ tự nhiên như sau:

(i) “An học giỏi”

(ii) “Binh 1a thay cua An”

(iii) “Tất cả học sinh học giỏi đều được khen”

(iv) “Moi hoc sinh học không giỏi đều được động viên”

Ta có thể sử dụng các nguyên tố giø/(X) để mô tả học sinh XY học giỏi, thay(Y,Y) đề mô tả X là thầy của Y, nguyên tổ &hen(Y) để mô tả X là học sinh được khen, nguyên tô đongvien(X) đề mô tả X là học sinh được động viên Lúc đó các câu khai báo trên được mô tả bởi các công thức như sau :

(i) gioi(an)

(ii) thay(binh, an)

(iit) khen(Y) < gioi(X)

(iv) dongvien(X) < not gioi(X)

Trong đó: (), (1) được gọi là các công thức nền

Trang 16

Định nghĩa 1.5 (Mệnh đề xác định) Mệnh đề xác định là một công thức có dạng:

AC BA AB„ (1) Trong đó 4, B¡, , B„ là các nguyên tô

Ta gọi nguyên tố 4l là đầu và By A A By la than cia ménh dé

Trong ménh dé (1), néu n = 0 thi nd duoc goi la ménh dé don vi, nghĩa là mệnh đề có dạng: 4 <©—, đó là mệnh đề với thân rỗng, ta quy ước phần thân rỗng là true va ký hiệu © có thể bỏ qua

Ví dụ 1.5 Xem xét một số câu khai báo của ngôn ngữ tự nhiên:

(i) “Minh là con của Dung”

(ii) “Anh 1a con cua Minh”

(11) “Dung là con của Vinh”

(iv) “Khoa là con của Dung”

(v) “Cháu của một người là con của con của người đó”

Ta có thê sử dụng các vi tir con (vị từ 2 ngôi chỉ quan hệ “ là con của ”),

chau (vị từ 2 ngôi chỉ quan hệ “ cháu của ”) đề mô tả các câu khai báo trên: (i) con(minh, dung)

(ii) con(anh, minh)

(iii) con(dung, vinh)

(iv) con(khoa, dung)

(v) VX VY (chau (X, Y) — AZ(con(X,Z) a con(Z, Y)))

Công thức số (v) ở trên ta có thê biến tương đương như sau:

VX VY (chau (X, Y) — 3 Z(con(X,Z) a con(Z, Y)))

VX VY (chau (X, Y) v not 3 Z(con(X,Z) A con(Z, Y)))

VX VY (chau (X, Y) v V Z not (con(X,Z) A con(Z, Y)))

VX VY VZ (chau (X, Y) v not (con(X,Z) A con(Z, Y)))

Trang 17

VX VY VZ (chau (X, Y) < (con(X,Z) a con(Z, Y)))

Hay: chau (X, Y) < con(X,Z) A con(Z, Y) (*)

Cac céng thie (7)-(iv) va (*) duge goi la ménh dé xác định, trong đó mệnh đề

tu (i)-(iv) duoc goi 1a ménh dé don vi

Định nghĩa 1.6 (Chương trình logic xác định) Chương trình logic xác định là một tập hữu hạn khác rỗng các mệnh đề xác định

Trong một chương trình logic xác định, tập các mệnh đề có cùng ký hiệu vị

từ p 6 phan dau được gọi là định ngiĩa của vị từ p

Ví dụ 1.6 Xem xét chương trình logic xác định P gồm các mệnh đề:

Định nghĩa 1.7 (Mệnh đề thông thường) Mệnh đề thông thường là những mệnh đề

có dạng:

A€C LỊA A Lạ (n>0), trong đó A là một nguyên tố, được gọi là đầu của mệnh đề và 7, ., L„ là các literral, được gọi là đích con

Trang 18

Ví dụ 1.7 Cho các câu khai báo sau:

() “Một học sinh ngoan là học sinh không bị phê bình”

(7) “Một học sinh bị phê bình là học sinh không ngoan”

(iii) “X và Y là hai người khác giới, Y là nam nếu Y không phải là nam”

Mô tả các khai báo sau bằng các mệnh đề thông thường:

(1) ngoan(X) < hocsinh(X), not phebinh(X)

(ii) phebinh(X) <— hocsinh(X), not ngoan(X)

Trong dé ngoan(X) la nguyén té m6 ta_X 1a hoc sinh ngoan, hocsinh(X) 1a nguyên tố mô tả X 1a mét hoc sinh, phebinh(X) 1a nguyén té mé ta_X 1a hoe sinh bi

phé binh

(iit) nam(X) khacgioi(X, Y), not nam(Y)

Trong đó zm(Y) là nguyên tố mô tả X có giới tính là nam, khacgioi(X,Y) la nguyên tố mô tả X, Y là hai người khác giới

Định nghĩa 1.8 (Chương trình logic thông thường) Một chương trình logic thông thường là một tập hữu hạn khác rỗng các mệnh đề thông thường

Vi du 1.8 Một ví dụ về chương trình logic thông thường:

hoesinh(an) — phebinh(X) hocsinh(X), not ngoan(X)

ngoan(X) < hocsinh(X), not phebinh(X)

1.2 NGU NGHIA CHUONG TRINH LOGIC

Trong phần này sẽ trình bày ngữ nghĩa của chương trình logic xác định va một cách tiếp cận khác về xác định ngữ nghĩa của chương trình logic thông thường

là ngữ nghĩa tập trả lời được Gelfond - Lifschitz đề xuất

Trang 19

1.2.1 Ngữ nghĩa của chương trình logic xác định

Định nghĩa 1.9 (Vũ trụ Herbrand, Cơ sở Herbrand) Cho ? là chương trình logic xác định

1 Vñ trụ Herbrand của P, ký hiệu Up, là tập các hạng thức nền được xây dựng từ các hằng và các ký hiệu hàm trong P

2 Cơ sở Herbrand của P, ký hiệu Bp là tập các nguyên tố nền được xây dựng

từ các ký hiệu vị từ trong ? có đối là các hạng thức nền từ vũ tru Herbrand Up

Ví dụ 1.9 Xét chương trình logic xác định P như sau:

thong_minh(hong) <— thong_minh(anh) <— thong_minh(binh) — giau(hong) — giau(hung) —

khoe(X), dep(X), thong_minh(X) khoe(X), thong_minh(X), giau(X) khoe(X), dep(X), thong_minh(X) dep(X), tot(X), thong_minh(X) dep(X), khoe(X)

khoe(X), tot(X), thong_minh(X) thich(X, Y),thich(Y,X)

Vũ trụ Herbrand Ứ của P là: p = {lan, hong, thuy, anh, bình, hung}

Cơ sở Herbrand öp của ? là:

Bp = {dep (X) |X e { lan, hong, thuy, anh, binh, hung }}

Trang 20

© {khoe (X) |X e { lan, hong, thuy, anh, binh, hung }}

U {tot (X)|X e { lan, hong, thuy, anh, binh, hung }}

{thong minh (X) | X e { lan, hong, thuy, anh, binh, hung }}

© {gian (X) |X e { lan, hong, thuy, anh, binh, hung }}

U {thich (X,Y)|X, Y e { lan, hong, thuy, anh, binh, hung }}

{ket ban (X,Y) | X, Y e { lan, hong, thuy, anh, binh, hung }}

Định nghĩa 1.10 (Thể hiện Herbrand) Một thể hiện Herbrand của chương trình logic xác định ? là một thể hiện 7 sao cho:

@) Miền của 7 là vũ trụ Up;

(Ð Mỗi hằng trong P được gán bởi chính nó;

(Œ?) Mỗi hàm m-ngôi ƒtrong P được gán bởi một ánh xạ

Định nghĩa 1.11 (Mô hình Herbrand) Cho P là chương trình logic xác định Một

mô hình Herbrand của P là một thê hiện Herbrand mà là mô hình của mọi mệnh đề trong P

Ví dụ 1.10 Xét chương trình logic P như sau:

11

Trang 21

rị: con(minh, dung) —

r2: con(anh, minh) —

rạ: chau (X, Y) con(XY,2Z) A con(Z, Ÿ)

Vi tru Herbrand Up= {minh, dung, anh, minh}

Co sé Herbrand Bp = {con (X,Y)| X,Y € {minh, dung, anh}}

U {chau (X, Y)| X,Y € {minh, dung, anh}}

1 Một số thể hiện Herbrand của P:

I; = ©, c6 nghia X co gia tri false, voi VX € Bp

12 = {con(minh, dung), con(anh, minh)}

Co nghia con(minh, dung) co gia tri true, con(anh, minh) có giá trị true va X

có giá trị false voi VX e Bp\l2

13 = {con(minh, dung), con(anh, minh), chau(anh, dung)}

Có nghĩa con(minh, đung) có gia tri true, con(anh, minh) co gia tri true, chau(anh, minh) co gia tri true va X co gia tri false voi VX € Bp\I3

2 Xét các thê hiện trên

Ir: Không phải là mô hình Herbrand của P, vì 7; không phải là mô hình của r¡ (hay mệnh đề 1 sai trong 7;)

Jz: Không phải là mô hình Herbrand của ?, vì 7; không phải là mô hình của 7; (hay mệnh đề 3 sai trong 7;)

7z: là một mô hình Herbrand của ?, vì 7¿ là mô hình của cả r¡, 72, r3

Cơ sở Herbrand của chương trình logic xác định luôn là là một mô hình Herbrand của chương trình Tuy nhiên, đây là mô hình không đáng quan tâm vì nó

“quá rộng” Do đó mô hình mà ta quan tâm chính là mô hình Herbrand cực tiêu duy nhất hay còn gọi là mô hình Herbrand nhỏ nhất của chương trình logic xác định và

mô hình này thực sự chứa các thông tin dương biểu diễn trong chương trình Vậy

Trang 22

vấn đề ở đây là làm thế nào đề tìm được mô hình Herbrand nhỏ nhất đối với chương trình logic xác định thì trong phần này sẽ trình bày cách tìm mô hình Herbrand nhỏ nhất bằng toán tử 7p (Toán tử hệ quả trực tiếp) như sau:

Mô hình Herbrand nhỏ nhất A⁄p của chương trình logic xác định P là tập các nguyên tố nền hệ quả logic của P Nghĩa là:

Trong do: Tp(): 2”? ->2” được xác định như sau:

Với mỗi 7 e 2”, 7p() = {A e B› | 3 quy tắc nền 4 «© 4I, , 4» của P và 4i

Trang 23

Iz = Tp(Ii) = {con(minh, dung), con(anh, minh), chau(anh, dung)}

Ví dụ 1.12 Xét chương trình logic thông thường P gồm các mệnh đề sau:

hoesinh(an) — phebinh(X) hocsinh(X), not ngoan(X)

ngoan(X) <— hocsinh(X), not phebinh(X) Chương trình trên có 2 mô hình:

Mi = {hocsinh(an), phebinh(an)}

M2 = {hocsinh(an), ngoan(an)}

Áì Œ Mỹ: và M› # Mĩ nên chương trình trên không có mô hình nhỏ nhất và 2

mô hình trên gọi là mô hình cực tiểu

Từ ví dụ trên ta thấy khi trong mệnh đề có chứa literal âm thì chương trình

có thể tồn tại nhiều mô hình cực tiêu nhưng không có mô hình nhỏ nhất Khi chương trình logic thông thường không tồn tại mô hình nhỏ nhất thì vấn đề xác định ngữ nghĩa được đặt ra và có nhiều cách tiếp cận nhằm giải quyết vấn đề này, trong

đó cách tiếp cận ngữ nghĩa tập trả lời được đề xuất bởi Geofond - Lifschitz di giai quyết được vấn đề bài toán không có mô hình nhỏ nhất

Trang 24

1.2.2 Ngữ nghĩa tập trả lời của chương trình logic thông thường

Ngữ nghĩa tập trả lời được xem xét dựa trên logic 2-trị, tức là mọi nguyên tố nên chỉ nhận được một trong hai giá trị là đúng hoặc sai và ngữ nghĩa này có thê áp dụng cho các chương trình logic mà trong thân các mệnh đề có chứa phủ định Định nghĩa 1.13 (Phép biến đổi Gelfond - Läfschifz) Gọi ground(P) là chương trình nền nhận được từ chương trình logic thông thường P bằng cách thay thế các biến trong mọi mệnh đề của P bởi các hạng thức trong vũ trụ Herbrand của P Đối với mọi thể hiện À⁄ của ground(P), ky hiéu Py là chương trình nhận được từ ground(P) bằng cách loại bỏ:

1 Các mệnh dé cé literal 4m not B trong thân của nó với B e M⁄, và

2 Tất cả literal âm trong các thân của các mệnh đề còn lại

Điều kiện 1 nói rằng, nếu ÐeÀ⁄/ thi thân quy tắc có chứa literal not không thé trở thành đúng, vì vậy có thể loại bỏ quy tắc này Mặt khác, nếu ø 1 thi not B

có thể giả sử là đúng và được loại bỏ khỏi thân quy tắc chứa nó Rõ ràng, ?„ là chương trình không có phủ định, nó là chương trình logic xác định, vì vậy có mô

hình nhỏ nhất

Ví dụ 1.13 Xét chương trình logic P gồm các mệnh đề sau:

khacgioi(an, binh) —

nam(X) < khacgioi(X, Y), not nam(Y)

Sử dụng phép biến đổi Gelfond — Lifschitz ta co:

Chương trinh ground(P) thu được từ P sau khi thay thé tất cả các đối của các

vị từ bởi các hằng an, binh là:

khacgioi(an, binh) —

nam(an) khacgioi(an, binh), not nam(binh)

nam(an) < khacgioi(an, an), not nam(an)

15

Trang 25

nam(binh) khaecgioi(binh, an), not nam(an)

nam(binh) khacgioi(binh, binh), not nam(binh)

Dat M = {nam(binh)} Lúc đó, P là:

khacgioi(an, binh) —

nam(an) < khacgioi(an, an), not nam(an)

nam(binh) < khacgioi(binh, an), not nam(an)

Định nghĩa 1.14 (Mô hình bền vững) Cho P là chương trình logic thông thường,

M là một thể hiện của P Nếu mô hình nhỏ nhất của Px đồng nhất với ⁄ thì ta nói

M là mô hình bên vững của P

Ngữ nghĩa tập trả lời của chương trình logic thông thường P là tập các mô hình bền vững của P

nam(an) < khacgioi(an, binh)

nam(binh) < khacgioi(binh, binh)

Mô hình cực tiểu của chuong trinh nay 1a {khacgioi(an, binh), nam(an)} chính là Ä⁄ Do đó A⁄Z là mô hình bền vững Có thể kiểm tra rằng mô hình bền vững này là duy nhất và nó chính là ngữ nghĩa mô hình bền vững của P hay ngữ nghĩa tập

trả lời của P

1.3 CÁC TÍNH CHÁT CỦA NGỮ NGHĨA

Tính chất 1 Đối với chương trình logic xác định thì mô hình Herbrand nhỏ nhất chính là mô hình bền vững duy nhất của nó

Trang 26

Tính chất 2 Cho P là chương trình logic thông thường Lúc đó:

Mọi mô hình bền vững của P đều là mô hình của P

Mô hình bền vững của P là mô hình cực tiêu của P

Tính chất 3 Đối với mỗi mệnh đề của chương trình logic thông thường chỉ chứa duy nhất một đích con dương thì Ø là mô hình bền vững duy nhất của P

Tính chất 4 Các mô hình bền vững là không thê so sánh nhau được, nghĩa là nêu A⁄¡

và Ä⁄2 là các mô hình bền vững của chương trình logic P thì Ä⁄¡ # Ä⁄2 và M› # Mi Một chương trình logic thông thường có thể không có mô hình bền vững và cũng có thể có nhiều mô hình bền vững

1.4 TIEU KET CHUONG 1

Chương một đã trình bày các khái niệm cơ sở của chương trình logic, các ví

dụ minh họa bao gồm cú pháp của chương trình logic, ngữ nghĩa của chương trình logic xác định, ngữ nghĩa tập trả lời của chương trình logic thông thường được Gelfond - Lifschitz đề xuất và các tính chất của ngữ nghĩa Những khái niệm này là kiến thức cơ sở và cần thiết trong việc tìm hiểu, nghiên cứu các chương tiếp theo

J7

Trang 27

Chương 2

CHUONG TRINH LOGIC CO CHUA CAC HAM KET TAP

Chương 2 trình bày một mở rộng của chương trình logic, cụ thể là các hàm kết tập trong chương trình logic Chương này sẽ làm rõ cú pháp, ngữ nghĩa và các tính chất ngữ nghĩa của chương trình logie có chứa các hàm kết tập để làm cơ sở cho việc triển khai ứng đụng ở chương 3 [3] [4] [5] [6] [7]

2.1 CÚ PHÁP CHƯƠNG TRÌNH LOGIC CÓ CHỨA CÁC HÀM KÉT TẠP

Trong phần này sẽ trình bày các định nghĩa về tập ký hiệu, tập nền, hàm kết tập, nguyên tố kết tập, chương trình logic có chứa hàm kết tập và quy tắc an toàn

2.1.1 Tập ký hiệu, tập nền

Định nghĩa 2.1 7ập ký hiéu la tap co dang {Vars : Conj}, trong do Vars là danh sach cac bién va Conj 1a hdi cua cac literal Tap nén la tap co dang ự Conj) trong

đó 7 là danh sách các hang va Cony la hội của các literal nền

Ta dùng khái niệm tap để chỉ đó là tập ký hiệu hoặc tập nền

Vi du 2.1 Cho nguyén té hsinh(X) mé ta_X 1a mét hoc sinh, nguyên tổ điem(Y,Y,Z) m6 ta hoc sinh XY, có điểm mén hoc Y 1a Z, nguyén té thich(X,Y) mé ta hoc sinh XY yêu thích môn học Y Cho tập sự kiện:

hsinh(phuc) — hsinh(loc) <— hsinh(tho) —

diem(phuc, toan, 85) <— diem(phuc, ly, 75) — diem(phuc,van, 80) — diem(loc, toan, 90) <— diem(loc, ly,60) <— diem(loc, van, 80) <— diem(tho, toan, 85) — diem(tho, ly, 90) — diem(tho, van, 95) — thich(phuc, toan) <— thich(phue, ly) <— thich(loc, toan) <— thich(loc, van) < thich(tho, van) —

Ta có thể xây dựng một số tập ký hiệu, tập nền như sau:

Trang 28

Tập ký hiệu {Y, Y: /ch(Y,Y), điem(Y,Y,Z), Z>80} lúc đó Tập nền tương ứng là tập các bộ: {<X, Y: fhich(X,Y), điem(X,Y,Z) Z>80>} với X e {phuc, loc,

tho}, Y € {toan, ly, van}, Z € {60, 75, 80, 85, 90, 95}

2.1.2 Ham két tap

Định nghia 2.2 Ham két tập có dạng ƒ{Š), trong đó Š là một tập và ƒ là một hàm kết tap trong số các hàm #count, #max, #min, #sum, #times Trong đó:

Hàm #count dém sé phan tt trong tap S

Ham #max tim phan tử lớn nhất trong tập S (không xác định nếu S réng) Hàm #min tìm phần từ nhỏ nhất trong tập S (không xác định nếu Š rỗng) Ham #sum tinh tong cdc phan tử trong tập S (phần tử là số nguyên không âm) Ham #time tinh tích các phần tử trong tập S (phần tử là số nguyên dương)

Ví dụ 2.2 Với tập sự kiện đã cho ở ví dụ 2.1 ta có thể thực hiện một số yêu cầu về tính toán trong tập hợp cụ thể như sau:

#counf{X: thich(Y,Y), điem(X,Y,Z), Z>80}: Đêm số học sinh có điểm của môn học mình yêu thích lớn hơn 8.0 điểm

#eount{X: diem(X,ly,Z), Z>80}: Dém số học sinh có điềm môn Lý lớn hơn

8.0 điểm

#sum{Z, Y: diem(phuc,Y,Z)}: Tính tông điểm các môn học của học sinh

Phúc

#sum{Z, X: điem(Y,toan,Z)}: Tính tổng điểm môn Toán của tat ca học sinh

#max{Z: diem(X,iy,Z)}: Điểm lớn nhất của môn Lý

#max{Z, Y: điem(loc,Y,Z)}: Điểm lớn nhất của học sinh Lộc

#min{Z: diem(V,toan,Z)}: Điềm thấp nhất của môn Toán

#min{Z, Y: diem(tho,Y,Z)}: Điểm thấp nhất của học sinh Thọ

19

Trang 29

2.1.3 Nguyên tổ kết tập

Định nghĩa 2.3 Nguyên tổ kết tập co dang Lg Pì f(S)p; Rg trong đó f(S) là một hàm kết tập, Dị.D›;€ {=.<<>.>} „ Ùg và Rg là các hạng thức và gọi là giới hạn trái và giới hạn phải (có thê chỉ có giới hạn trái Lg p¡ hoặc chỉ có giới hạn phải

Pp, Rg)

Ta dùng khái niệm øguyên tố để chỉ đó là nguyên tổ thông thường hoặc nguyên tố kết tập Một literal 7 là một nguyên tố 44 hoặc phú định của một nguyên

tô 4 Nếu 4 là nguyên tô kết tập thì L được gọi là literal kết tập

Ví dụ 2.3 Với tập sự kiện đã cho ở ví dụ 2.1 ta có thê xây dựng một số nguyên tố kết tập:

#count{X: thich(X,Y), điem(X,Y,Z), Z>80} > 2

2.1.4 Quy tắc kết tập, chương trình logic có chứa hàm kết tập

Định nghĩa 2.4 (Quy tắc kết tập) [5] Một quy tắc kết tập (r) có dạng tông quát:

ái V V đ„ & bị, , bự, nof bạ ,ị , Of bạ,

Trong đó: z¡ ,a„ là những nguyên tố thông thường; ?¡,bz, ,ð„ là những nguyên tố (n > 0,zm > k >0,n+m > 0)

aV Va„ là đầu của r, bị, ,b,¿, nof bạ ¡ ,nofb„„ là thân của r

Trang 30

Đặt Hứ) = { ai ,au } và BŒ) = { bị ,.bựy, not Đy,¡ , nof bạ, }

Một quy tắc với thân rong (k = m = 0), duge gọi là sự kiện và ký hiệu «— có thể bỏ qua

Một quy tắc với phần đầu rỗng (n = 0), được gọi là ràng buộc toàn vẹn hay còn gọi là ràng buộc mạnh

Định nghĩa 2.5 (Ràng buộc mạnh) [5] Mot rang buộc mạnh có dạng:

<1}, Lz , Lm Trong d6 m 2 1 và cac L; (i = 1, , m) 1a cac literal

Rang buéc manh cé phan dau réng quy woe bang false nén phan than cua ràng buộc (L¡, L¿, , L„) không được nhận giá trị đúng

Trong khi các ràng buộc mạnh (ràng buộc toàn vẹn) luôn phải được thỏa mãn thì trong mở rộng ràng buộc bởi một cấu trúc khác gọi là ràng buộc yếu được định nghĩa như sau:

Định nghĩa 2.6 (Ràng buộc yếu) [5] Một ràng buộc yếu có đạng:

< 11, L2, , Lm [w:]]

Trong đó m > 1 và các LiŒ =1, , m) là các literal, w là trọng số và l là mức (w, 1 1a hằng hoặc biến và có giá trị là số nguyên đương); w, l có thể được bỏ qua và mặc định là bằng 1

Rang buộc yếu cho phép ta biểu điễn một số các bài toán tối ưu theo một cách tự nhiên và đơn giản, nó biểu diễn một mức độ mong muốn nào đó, tức là chúng có thể được thỏa mãn khi có thể nhưng chúng không loại bỏ bất kỳ mô hình nào

Chúng được gọi là các mô hình tốt nhất của (P,W) Các ràng buộc yếu được đánh giá mức độ phụ thuộc vào sự quan trọng của chúng (mức độ càng cao, ràng buộc đó càng quan trọng) Với các mức độ này, các mô hình tốt nhất sẽ tối thiêu hóa tông các mức độ của các ràng buộc yêu Cũng có thể đặt mức ưu tiên cho các ràng

21

Trang 31

buộc yếu Ngữ nghĩa sẽ tối ưu hóa đầu tiên là các ràng buộc ở mức ưu tiên cao nhất, sau đó đến các ràng buộc ở mức ưu tiên thấp hơn và tiếp tục như vậy

Mức độ đánh giá và mức độ ưu tiên có thể là các biến, cung cấp rằng các biến này cũng xuất hiện trong các phan ti dong trong Conj (Li, L2 Lm) Nguoi

sử dụng có thể bỏ qua mức độ đánh giá, mức ưu tiên hoặc cả hai, nhưng tất cả các ràng buộc yếu phải có cùng một dạng cú pháp như nhau trong chương trình

Ví dụ 2.4 Cho nguyên tô #siz(V) mô tả XY là một học sinh, nguyên tô điem(Y,Y,Z)

mô tâ học sinh X, có điểm môn học Y là Z, nguyên tổ //ch(X,Y) mô tả học sinh Y yêu thích môn học Y đ/„zyen(Y,Y) mô tả học sinh X được chọn vào đội tuyển Y Với tập sự kiện cho ở ví dụ 2.1, ta xây dựng các quy tắc chọn đội tuyên học sinh giỏi cho các môn Toán, Lý, Văn theo các yêu cầu:

a Một học sinh có thể được chọn vào đội tuyên Toán hoặc Lý hoặc Văn

b Mỗi học sinh chỉ được tham gia một đội tuyển

c Một học sinh được chọn vào đội tuyển Văn khi học sinh đó phải yêu thích môn Văn

d Chọn một học sinh vào đội tuyển Toán nên chọn học sinh có tổng điểm

hai môn Toán, Lý lớn hơn 17.5 điểm

e Chọn một học sinh vào đội tuyển Lý nên chọn học sinh có tông điểm hai

môn Toán, Lý lớn hơn 16.0 điểm

Với các yêu cầu trên, ta có thê biểu diễn bởi các quy tắc kết tập a, Ð, e, đ, e

như sau:

a: dtuyen(X,toan) v dtuyen(X, ly) v dtuyen(X,van) < hsinh(X)

b: < dtuyen(X,Y), not #eount{Z: dtuyen(Z, Y)} = 1

6 « đứiyen(X, van), not thich(Y, van)

d: < dtuyen(X,toan), not #sum{Z: diem(X,Y,Z), Y!= van} > 175

e: < dtuyen(X, ly), not #sum{Z: diem(X,Y,Z), Y!= van} > 160

Trang 32

Trong đó quy tắc (2) là quy tắc kết tập ở dạng tông quát, các quy tắc còn lại

là các ràng buộc và quy tắc (5), (c) là các ràng buộc mạnh (bắt buộc phải thỏa mãn), quy tắc (2), (e) là các ràng buộc yếu (mong muốn đạt được)

Ví dụ 2.5 Xét bài toán xây dựng 2 đội ngõ làm việc cho hai đự án với các yêu cầu:

a Các thành viên của cùng dự án nên biết nhau

b Các nhân viên là vợ/chồng không được làm việc cùng một dự án

c Các thành viên trong cùng dự án phải có kỹ năng khác nhau

Giả sử thông tin về nhân viên, biết nhau, kỹ năng và kết hôn lần lượt được xác định thông qua một số sự kiện đầu vào của các nguyên té nv(X), bietnhau(X,Y), cung kH(X,Y), kethon(X,Y)

nv(a) — nv(b) — nv(c) ©—

nv(d) — nv(e) —

bietnhau(ab) — bietnhau (b,c)<© biefnhau (c,đ) —

bietnhau (de) cung km(a,b) — kethon(c,d) <—

thanhvien(X, p1) v thanhvien(X, p2) — nv(X)

< thanhvien (X,P), thanhvien (Y,P), X != Y, not bietnhau (X,Y) [1:1]

< thanhvien (X,P), thanhvien (Y,P), X \= Y, kethon (X,Y) [1:2]

< thanhvien (X,P), thanhvien (Y,P), X \= Y, cung_kn (X,Y) [1:2]

Ta thấy có 3 quy tắc cuối cùng là các ràng buộc yếu tương ứng lần lượt với 3 yêu cầu đã cho Hai ràng buộc yếu cuối cùng mức độ quan trọng cao hơn ràng buộc yếu thứ nhất vì theo hai yêu cầu b và c ở trên thì mức độ ràng buộc là “không được”

và “phải” còn mức độ của ràng buộc ở yêu cầu a là “nên”, do đó mức độ ràng buộc

sé it quan trong hon

Quy tắc ràng buộc yếu thứ nhất để chỉ 2 nhân viên cùng chung một đội mà không quen biết nhau thì không đạt yêu cầu nhưng vẫn có thê xảy ra với mức đánh

23

Trang 33

giá và mức ưu tiên [1:1] Quy tắc ràng buộc yếu thứ hai để chỉ 2 nhân viên cùng một đội mà là vợ chồng thì không đạt yêu cầu nhưng vẫn có thể xảy ra với mức đánh giá và mức ưu tiên [1:2] Quy tắc ràng buộc yếu thứ ba để chỉ 2 nhân viên cùng một đội mà có kỹ năng giống nhau thì không đạt yêu cầu nhưng vẫn có thể xảy ra với mức đánh giá và mức ưu tiên [1:2]

Định nghĩa 2.6 (Chương trình logic có chứa hàm kết tập) [5] Một chương trình logic có chứa quy tắc kết tập gọi là chương trình logic có chứa hàm kết tập

Từ đây về sau ta sẽ gọi quy tắc có nguyên tố kết tập là quy tắc và chương trình có chứa hàm kết tập là chương trình

Vi du 2.6 Voi tap su kién da cho 6 vi du 2.1 và yêu cau tuyén chọn đội tuyên học sinh giỏi ở ví đụ 2.4 ta có chương trình logic có chứa hàm kết tập như sau:

hsinh(phuc) + hsinh(loc) <— hsinh(tho) —

diem(phuc, toan, 85)< diem(phuc, ly, 75) <— diem(phuc,van, 80) — diem(loc, toan, 90) <— diem(loc, ly,60) <— diem(loc, van, 80)<— diem(tho, toan, 85) — diem(tho, ly, 90) — diem(tho, van, 95) <— thich(phuc, toan) <— thich(phue, ly) <— thich(loc, toan) <— thich(loc, van) — thich(tho, van) —

dtuyen(X,toan) v dtuyen(X, ly) v dtuyen(X,van) < hsinh(X)

< dtuyen(X,Y), not #eount{Z: dtuyen(Z, Y)} = 1

< dtuyen(X, van), not thich(X, van)

< dtuyen(X,toan), not #sum{Z: diem(X,Y,Z), Y!= van} > 175

< dtuyen(X, ly), not #sum{Z: diem(X,Y,Z), Y!= van} > 160

Trang 34

2.1.5 Quy tắc an toàn, chương trình an toàn

Định nghĩa 2.7 Biến toàn cục, biến cục bộ, quy tắc an toàn được định nghĩa như

sau:

1 Biến toàn cục của quy tắc z là biến xuất hiện trong nguyên tố thông thường của 7

2 Biến cục bộ của quy tắc r là biến chỉ xuất hiện trong hàm kết tập của z

3 Một quy tắc z được gọi là an toàn nêu thỏa mãn các điều kiện sau đây: () Mỗi biến toàn cục của r đều xuất hiện ở literal thông thường dương trong than cua r;

ŒÐ Nếu mỗi biến cục bộ của r xuất hiện trong tập ký hiệu {ƒ2rs : Cory} thì cũng xuất hiện 6 literal dong trong Conj;

(iii) Giới hạn đưới, giới hạn trên của nguyên tố kết tập trong r là một hằng hoặc một biến toàn cục

Ví dụ 2.7 Xét các quy tắc sau:

rs PX) & qŒ, Y, V), #max{Z : r(Z), not a(Z, V)} > ¥

1! PpŒ) < q(Œ, Y, V), #sum{Z : not a(Z, S)} > Y

1: PpŒ) < q(Œ, Y, V), #min{Z : r2), not a(Z, V)} > T

(iii) Gidi han phai (Y) ca nguyén t6é két tap trong r7 (#max{Z : r(Z), not a(Z,

V )} > Y) la mot bién toan cuc

Vậy quy tắc r; là an toàn

25

Trang 35

Quy tắc z2:

Mỗi biến cục bộ (Z, S) của rz xuất hiện trong tập ký hiệu {Z : not a(Z, S)} nhưng không xuất hiện @ literal duong trong conj (trong conj khéng co literal dương) nên r2 không an toàn (không thỏa mãn điều kiện 2)

Trong phần này sẽ trình bày các khái niệm về vũ trụ Herbrand, cơ sở

Herbrand, hiện hành, thể hiện, mô hình, phép biến đổi Gelfond - Lifschitz đối với

chương trình logic có chứa hàm kết tập và thông qua đó trình bày ngữ nghĩa của tập trả lời của chương trình logic có chứa các hàm kết tập [3], [5], [6]

2.2.1 Vũ trụ Herbrand và Cơ sở Herbrand

Định nghĩa 2.8 Vũ trụ Herbrand của ? (với P 1a chương trình logic có chứa hàm kết tập), ký hiệu Up, là tập các hằng xuất hiện trong P

Dinh nghia 2.9 Co sé Herbrand B> là tập các nguyên tố (thông thường) nền được xây dựng từ các vị từ của P có đối là các hằng trong Up

Ký hiệu uF CU, la tap cac số tự nhiên xuất hiện trong Up Voi X là một tap hop, ky hiệu z là tập các đa tập trên các phần tử của XY Miền và ngữ nghĩa của các hàm kết tập được xem xét trong chương này bao gồm:

#count: duoc dinh nghĩa trên 2” „ đếm các phân tử trong tập hợp

Trang 36

#sum: được định nghĩa trên 2° , tinh tong cac s6 trong tập hợp, băng 0 nêu tập rỗng

N

#times: dugc định nghĩa trên ?” , tinh tich các số trong tap hop, bang 1 đối voi tap réng.0

~U, \

#min: được định nghĩa trên 2 ”\{Ø}, tìm phần tử nhỏ nhất trong tập hợp

#max: được định nghĩa trên oF \{Ø} tim phần tử lớn nhất trong tập hợp Nếu đối số của hàm tổng hợp không thuộc miền của nó thì hàm kết tập cho

kết quả là sai (ký hiệu L )

Ví dụ 2.8 Xét chương trình logic P sau:

hsinh(phuc) — hsinh(loc) — hsinh(tho) —

diem(phuc, toan, 85) <— diem(phuc, ly, 75) — diem(phuc,van, 80) —

diem(loc, toan, 90) <— diem(loc, ly, 60) — diem(loc, van, 80) — diem(tho, toan,85) < diem(tho, ly,90) <— điem(tho, van, 95) —

thich(phuc,toan) <— thich(phue, ly) —

thich(loc, toan) <— thich(loc, van) <— thich(tho, van) — dtuyen(X,toan) v dtuyen(X, ly) <— hsinh(X), #sum{Z: diem (X,Y,Z), Y<>van}

> 155

Vii tru Herbrand cua P la:

Up= {phuc, loc, tho, toan, ly, van, 60, 75, 80, 85, 90, 95}

Cơ sở Herbrand của ?P là:

Bp =_ f{hsinh(phuc), hasinh(loc), — hsinh(tho), điem(phuc,toan,S5),

điem(phuc,ly,75), điem(phucvan, 0), điem(loctoan,90) điem(ioc,ly,60), diem(loc, van, 80), diem(tho, toan, 85), diem(tho, ly, 90), diem(tho,van,95),

27

Ngày đăng: 11/01/2024, 22:49

HÌNH ẢNH LIÊN QUAN

Hình  3.1.  Kiến  trúc  tổng  quát  của  hệ  thống  DLV - Tìm hiểu các hàm kết tập trong lập trình tập trả lời và ứng dụng
nh 3.1. Kiến trúc tổng quát của hệ thống DLV (Trang 44)
Hình  3.4:  Cây  bao  trùm  nhỏ  nhất  của  đồ  thị  G(7,E)  có  tổng  trọng  số  bằng  12 - Tìm hiểu các hàm kết tập trong lập trình tập trả lời và ứng dụng
nh 3.4: Cây bao trùm nhỏ nhất của đồ thị G(7,E) có tổng trọng số bằng 12 (Trang 47)
Hình  3.3:  Cây  bao  trùm  của  đô  thị  G(/„E)  có  tông  trọng  số  bằng  13 - Tìm hiểu các hàm kết tập trong lập trình tập trả lời và ứng dụng
nh 3.3: Cây bao trùm của đô thị G(/„E) có tông trọng số bằng 13 (Trang 47)
Hình  3.2:  Đồ  thị  vô  hướng  G(ƒ,E)  có  trọng  số - Tìm hiểu các hàm kết tập trong lập trình tập trả lời và ứng dụng
nh 3.2: Đồ thị vô hướng G(ƒ,E) có trọng số (Trang 47)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w