20
1 Chương 2 Biu din bài toán & Tìm kiếm li gii GV: Nguyễn Thị Trúc Viên Email: [email protected] Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCM Bài Ging Môn: Trí tunhân to Side 2 Ni dung Bài toán: Biu din bài toán. Tìm kiếm. Các chiến lược điu khin. Các đặc trưng ca bài toán. Vn đề trong thiết kế CT tìm kiếm.

Chapter 02

Embed Size (px)

Citation preview

1

Chương 2

Biểu diễn bài toán &Tìm kiếm lời giải

GV: Nguyễn Thị Trúc ViênEmail: [email protected]

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Trí tuệ nhân tạo

Side 2

Nội dung

� Bài toán:

– Biểu diễn bài toán.

– Tìm kiếm.

� Các chiến lược điều khiển.

� Các đặc trưng của bài toán.

� Vấn đề trong thiết kế CT tìm kiếm.

2

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Trí tuệ nhân tạo

Side 3

Bài toán

� Giải bài toán bằng cách tìm kiếm, gồm:

1. Biểu diễn bài toán bằng không gian trạng thái.

2. Giải bài toán = Tìm ra một trạng thái/con đường trong không gian trạng thái.

� Trạng thái:

– Biểu diễn một bước nào đó của bài toán.

– Trong trò chơi, như tic-tac-toe, mỗi bàn cờ có thể là trạng thái.

O

X

O

Trạng thái Trạng thái Trạng thái

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Trí tuệ nhân tạo

Side 4

Bài toán

� Chuyển trạng thái, luật chuyển:

– Biểu diễn cho sự có thể của việc chuyển từ trạng thái nào đó đến trạng thái khác.

– Ví dụ: trong trò chơi, đó là luật chơi của game.

O

O O

Luật chuyển

3

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Trí tuệ nhân tạo

Side 5

Bài toán

� Trạng thái đầu:

– Trạng thái xuất phát của bài toán.

– Một bài toán có thể có nhiều trạng thái khởi đầu.

– Ví dụ: game tic-tac-toe, trạng thái đầu thông thường là:

� Trạng đích:

– Trạng thái mà bài toán đã được giải.

– Một bài toán có thể có nhiều trạng thái đích.

– Ví dụ: game tic-tac-toe, trạng thái đích là:

OX

X

XO

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Trí tuệ nhân tạo

Side 6

Bài toán

� Không gian trạng thái:

– Bộ tứ: (đồ thị)1. N : tập các trạng thái.

2. A : tập các đường chuyển trạng thái.

3. S : tập các trạng thái bắt đầu.

4. G : tập trạng thái đích.

– Đặc điểm:� Biểu diễn bài toán thường là:

1. Chỉ ra cách biểu diễn một trạng thái.2. Chỉ ra luật chuyển trạng thái.3. Chỉ ra tập trạng thái bắt đầu.4. Chỉ ra tập trạng thái đích.

� Không gian trạng thái sẽ được xây dựng DẦN DẦN khi chương trình chạy.

� Với bài toán lớn, không đủ thời gian, không gian để đặc tả cho từng trạng thái cụ thể, và đường chuyển cụ thể.

4

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Trí tuệ nhân tạo

Side 7

Bài toán

� Ví dụ:

– Xét các bài toán cụ thể sau:� Tic tac toe.

� Đong nước.

� 8 puzzle.

� Cờ vua, cờ tướng.

� Người nông dân qua sông.

� Người truyền giáo và kẻ ăn thịt.

– Hãy biểu diễn bài toán.

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Trí tuệ nhân tạo

Side 8

Bài toán

� 8 puzzle:

– Trạng thái, ví dụ.

657

842

31

Dạng biểu tượng (ICON)

domains

item = integer.

itemList = item*.

state = state(itemList).

.

.

.

state([0,1,3,2,4,8,7,5,6])

0 = trống.

Dạng ký hiệu (symbolic – prolog)

5

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Trí tuệ nhân tạo

Side 9

Bài toán

� 8 puzzle:

– Trạng thái, ví dụ.

657

842

31

Dạng biểu tượng (ICON) Dạng ký hiệu (symbolic – NNLT Java, C++, … ?)

?

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Trí tuệ nhân tạo

Side 10

Bài toán

� 8 puzzle:

– Luật chuyển trạng thái, ví dụ.

657

842

31

Dạng biểu tượng (ICON) Dạng ký hiệu (symbolic – prolog)

predicates

move(state,state)

.

.

.

clauses

move(

state([0,X2,X3,X4,X5,X6,X7,X8,X9]),

state([X2,0,X3,X4,X5,X6,X7,X8,X9]))

).

657

842

31

6

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Trí tuệ nhân tạo

Side 11

Bài toán

� 8 puzzle:

– Trạng thái đầu, đích, ví dụ.

657

842

31

Dạng biểu tượng (ICON) Dạng ký hiệu (symbolic – prolog)

state([0,1,3,2,4,8,7,5,6])

state([1,0,3,2,4,8,7,5,6])

657

842

31

START

START

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Trí tuệ nhân tạo

Side 12

Bài toán

� Bài toán đong nước:

– Mô tả:� Có 3 bình nước, một 4 lít và một 3 lít.

� Mỗi bình không có vạch đo nước.

� Nước đổ vào bình có thể lấy từ vòi.

� Làm thế nào để có thể đong 2 lít nước vào bình 4 lít ?

– KGTT:� Trạng thái: (X,Y). Với X = số lít nước trong bình 4 lít , X=0,1,2,3,4

Y= số lít nước trong bình 3 lít. Y=0,1,2,3

� Bắt đầu: (0,0)

� Kết thúc: (2,n), n =0,1,2,3.

� Luật: như bảng sau.

7

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Trí tuệ nhân tạo

Side 13

Bài toán

– Luật:

Đổ nước từ bình 3 lít sang bình 4

lít đến khi bình 4 lít đầy.

����

(4, y-(4-x))

(x,y) &

x+y >=4 &

y >0

7

Làm trống bình 3 lít���� (x,0)(x,y) & y>06

Làm trống bình 4 lít���� (0,y)(x,y) & x>05

Đổ nước (d lít) ra khỏi bình 3 lít.���� (x, y-d)(x,y) & y>04

Đổ nước (d lít) ra khỏi bình 4 lít���� (x-d, y)(x,y) & x>03

Làm đầy bình 3 lít.���� (x,3)(x,y) & y<32

Làm đầy bình 4 lít.���� (4,y)(x,y) & x<41

Giải thíchVế phảiVế tráiTT

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Trí tuệ nhân tạo

Side 14

Bài toán

– Luật (tt.):

Làm trống bình 4 lít���� (0,2)(x,2)12

2 lít nước từ bình 3 lít ���� b. 4 lít.���� (2,0)(0,2)11

Đổ hết nước từ bình 4 lít sang

bình 3 lít.

����

(0,(x+y))

(x,y) &

x + y <=3 &

x>0

10

Đổ hết nước từ bình 3 lít sang

bình 4 lít.

����

((x+y),0)

(x,y) &

x + y <=4 &

y>0

9

Đổ nước từ bình 4 lít sang bình 3

lít đến khi bình 3 lít đầy.

����

(x-(3-y),3)

(x,y) &

x + y >=3 &

x>0

8

Giải thíchVế phảiVế tráiTT

8

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Trí tuệ nhân tạo

Side 15

Bài toán

– Lời giải: Cần một cấu trúc để điều khiển quá trình biến chuyển đổi từ TT bắt đầu � kết thúc. Nghĩa là chuổi luật nào được sửdụng. Một ví dụ như sau:

(xem chương 3 về tìm kiếm)

02

9 || 1120

5 || 12 24

733

203

930

200

LuậtBình 3 lítBình 4 lít

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Trí tuệ nhân tạo

Side 16

Bài toán

� Lưu ý về luật chuyển trạng thái:

– Tồn tại ở dạng:IF …

THEN ….

� Ví dụ:

8puzzle:

IF trạng hiện tại là: state([0,X2,X3,X4,X5,X6,X7,X8,X9])

THEN trạng thái kế là: state([X2,0,X3,X4,X5,X6,X7,X8,X9])

Đong nước:

IF trạng hiện tại là: (X,Y) và X<4

THEN trạng thái kế là: (4,Y)

– Đủ tổng quát.

� Giải bài toán:

– Di chuyển từ TT bắt đầu (START) đến TT đích (GOAL)

� Giải = Tìm kiếm trên không gian trạng thái

– Qua việc: sử dụng luật + chiến lược điều khiển.

9

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Trí tuệ nhân tạo

Side 17

Chiến lược điều khiển

� Sự cần thiết của chiến lược điều khiển:

– Để giải được bài toán.

– Để giải nhanh bài toán.

� Các yêu cầu của 1 chiến lược tốt:

– Tạo ra sự thay đổi.� Ví dụ: nếu cứ chọn luật đầu trong tập luật của BT đong nước ra áp

dụng ���� không thể giải được BT.

– Có tính hệ thống.� Chọn luật radom ���� tốt hơn so với trường hợp đầu, nhưng quá trình

giải có thể dài hơn.

� ���� Cần xây dựng khả năng duyệt một cách có hệ thống.

� Hai cách duyệt có hệ thống:Breadth-First_Search – BrFS và Depth-

First-Search (DFS) được trình bày sau.

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Trí tuệ nhân tạo

Side 18

Chiến lược điều khiển (tt.)

(0,0)

(4,0) (0,3)

(0,0)

(4,0) (0,3)

(4,3) (0,0) (1,3) (4,3) (0,0) (3,0)

Một mức của Breadth-First-Search

Hai mức của Breadth-First-Search

10

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Trí tuệ nhân tạo

Side 19

Chiến lược điều khiển (tt.)

� Breadth-First-Search:

– Tạo biến NODE-LIST.

– Đưa TT bắt đầu vào NODE-LIST.

– Lặp: (đến khi gặp TT đích) OR (NODE-LIST trống):� E = RemoveFirst(NODE-LIST).

� Với mỗi luật so trùng được với E:

– Áp dụng luật để sinh TT mới.

– Nếu TT mới là TT đích thì thoát, trả về TT này.

– Ngược lại: Đưa TT mới vào CUỐI của NODE-LIST.

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Trí tuệ nhân tạo

Side 20

Chiến lược điều khiển (tt.)

� Depth-First-Search:

– Nếu TT đầu là đích � dừng, trả về success.

– Ngược lại: Lặp đến khi gặp succes hay gặp error.� Phát sinh TT con của TT bắt đầu, gọi là E. Nếu không có con nào

thì báo error.

� Gọi DFS với E như TT bắt đầu.

� Nếu success được trả về thì trả về success. Ngược lại: tiếp tục lặp.

(0,0)

(4,0)

(4,3)Cây do DFS sinh ra trong 2 lần lặp.

11

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Trí tuệ nhân tạo

Side 21

Chiến lược điều khiển(tt.)

� Ưu điểm của DFS:

– DFS Yêu cầu ít bộ nhớ hơn BrFS.– Có thể tìm thấy lời giải, thường gặp trong trường hợp có nhiều

lời chấp nhận được cùng tồn tại cho bài toán, mà không cần xem xét nhiều KGTT. Với BrFS thì phải duyệt hết mức n trước khi sang mức n+1

� Ưu điểm của BrFS:

– Không bị vướng vào việc phải xét một con đường quá dài (như DFS) trước khi kết luận nó không còn con nào để xét.

– Nếu có nhiều con đường thì BrFS đảm bảo trả về đường ngắn nhất.

� Với bài toán đong nước thì chiến lược nào đã cũng dẫn đến đích nhanh. Song với nhiều BT thực hơn thìcũng phải cần thiết những chiến lược hiệu quả hơn.

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Trí tuệ nhân tạo

Side 22

Chiến lược điều khiển(tt.)

� Bài toán: Traveling Salesman Problem (TSP):

– Mô tả:� Người bàn hàng có N thành phố phải đi qua, chỉ đi qua 01 lần/Tp.

� Mỗi cặp TP có con đường nối.

� Tìm con đường ngắn nhất đi vòng qua các thành phố và trở lại Tp

ban đầu.

– Số con đường: (N-1)!

�Bùng nổ tổ hợp � cần chiến lược mới như sau.

– Kỹ thuật: Nhánh và Cận (branch-and-bound):� Giữ con đường ngắn nhất đang xét.

� Dừng việc xem xét 1 con đường nào đó nếu nó có trị lớn hơn con

đường ngắn nhất đang xét.

12

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Trí tuệ nhân tạo

Side 23

Chiến lược điều khiển(tt.)

� Tìm Heuristic:

– Là kỹ thuật cải tiến hiệu quả quá trình tìm kiếm.

– Heuristic như người hướng dẫn tour.

– Heuristic:� General-purpose.

� Special-purpose, cho bài toán cụ thể.

– General-purpose:� Người láng giềng gần nhất:

– bằng cách chọn cách tốt nhất tại mỗi bước.

– TSP: Tại mổi thành phố, chọn TP kế tiếp gần nhất � time là N2 ( cũ là N!)

– Special-purpose: hai cách tham gia vào tìm kiếm:� Chính trong các luật.

� Hàm heuristic: đáng giá ưu thế của từng TT cụ thể và chọn TT

mong muốn. Có một trade-off giữa thời gian tính hàm và thời gian

có lợi do hàm mang lại.

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Trí tuệ nhân tạo

Side 24

Các đặc trưng của bài toán.

� Hàm heuristic: ví dụ– Chess: Ưu thế trên đối thủ.

– TSP: Tổng khoảng cách hiện tại.

– 8 puzzle: Tổng khoảng cách các miếng sai vị trí.

� Các đặc trưng của bài toán.

– Một số khía cạnh cần phân tích khi chọn kỹ thuật giải BT:� Khả năng phân rã bài toán.

� Khả năng lờ đi và quay lui.

� Khả năng dự đoán toàn cục.

� Đích là trạng thái hay con đường.

� Lượng tri thức cần để giải bài toán.

� Có cần sự can thiệp của con người trong quá trình giải không?

13

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Trí tuệ nhân tạo

Side 25

Các đặc trưng của bài toán (tt.)

� Khả năng phân rã bài toán:

– Phân rã được: như BT tính tích phân ký hiệu.� Giải bằng cách:

– Chia nhỏ BT lớn thành các BT con độc lập.– Giải từng BT nhỏ.– Kết hợp thành BT lớn.

– Không phân rã được: BT thế giới các khối.� Chương 13 sẽ khảo sát.

� Các bước giải có thể lờ đi hay quay lui:– Có thể lờ đi : như BT chứng minh định lý.

� Vì: định lý vẫn đúng sau một vài bước áp dụng các luật.

– Có thể quay lui: như BT 8-puzzle.� Vì: có thể di chuyển theo hướng ngược lại để về TT trước.

– Không thể quay lui: như BT chơi cờ.� Vì: game over!

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Trí tuệ nhân tạo

Side 26

Các đặc trưng của bài toán (tt.)

� Các bước giải có thể lờ đi hay quay lui:– Có thể lờ đi :

� Có thể áp dụng chiến lược điều khiển đơn giản không cần quay lui.

� Dể dàng hiện thực.

– Có thể quay lui: � Chiến lược phức tạp hơn để quay lui được tại những bước lỗi.

� Có thể dùng Push-Down Stack.

– Không thể quay lui: � Dùng các chiến lược phức tạp hơn vì mổi khi ra quyết định thì đó là

quyết định cuối cùng.

� Có thể dùng giải pháp Planning.

� Sẽ được xem xét trong các chương sau.

14

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Trí tuệ nhân tạo

Side 27

Các đặc trưng của bài toán (tt.)

� Khả năng dự đoán của bài toán:

– Có thể dự đoán được: như BT 8 puzzle.� ���� có thể đề ra 1 chuổi nước đi và tự tin vào kết qua sẽ xãy ra.

� Có thể quay lui được.

– Không thể dự đoán được: như các game có đối kháng.� Cần theo đuổi nhiều kế hoạch.

� Có chiến lược/đánh giá để chọn kế hoạch tốt.

� Lời giải là tuyệt đối hay tương đối:

– Tuyệt đối (best-path) : như bài toán TSP.� Tính toán khó hơn (tổng quát).

� Cần GT tìm toàn diện hơn.

– Tương đối (any-path): như bài toán suy luận đời thường (xem sau).� Có thể dùng heuristic để giải trong thời gian hợp lý.

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Trí tuệ nhân tạo

Side 28

Các đặc trưng của bài toán (tt.)– Bài toán suy luận như sau:

1. Marcus was a man

2. Marcus was a Pompeian

3. Marcus was born in 40 A.D

4. All men are mortal.

5. All Pompeians died when the volcano erupted in 79 A.D

6. No mortal lives longer than 150 years.

7. It is now 2004 A.D

Hỏi: Is Marcus alive?----------------------------

8. Marcus is mortal (1,4)

9. Marcus’age is 1964 years. (3,7)

10. Marcus is dead. (6,8,9)-----------OR----------------

11. All Pompeians are died in 79 AD

12. Marcus id dead.

15

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Trí tuệ nhân tạo

Side 29

Các đặc trưng của bài toán (tt.)

� Lời giải là trạng thái hay con đường:

– Trạng thái: như bài toán tìm ra cách hiểu phù hợp cho câu. Vídụ:“The bank president ate a dish of pasta salad with the fork.”

� Từng từ như: bank, president, … có thể được hiểu theo nhiều cách.

� Một kiểu tìm kiếm nào đó được thực hiện để tìm ra cách hiểu toàn

bộ cho câu.

� ���� Chỉ cần xuất ra kết quả cuối (Trạng Thái), không cần các bước

trung gian.

– Con đường: như BT đong nước.� Không chỉ xuất ra trạng thái cuối như : (2,0) mà càng con đường

dẫn ra trạng thái cuối.

– Song, điều này cũng tương đối. Vì có thể biểu diễn trạng thái đểnó có thể bao gồm thông tin về một phần hay toàn bộ con đường.

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Trí tuệ nhân tạo

Side 30

Các đặc trưng của bài toán (tt.)

� Vai trò của tri thức là gì?

– Cần ít tri thức:� Như bài toán: “chơi cờ”.

� Tri thức = luật để di chuyển hợp lệ, cơ chế điều khiển, chiến lược

điều khiển để tăng tốc tìm kiếm.

– Cần nhiều tri thức:� Như bài toán: Hiểu câu chuyện trên tạp chí.

� Tri thức: nhiều, cả những cái đã ghi tường minh và cả những cái

không được ghi trong chính câu chuyện.

16

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Trí tuệ nhân tạo

Side 31

Các đặc trưng của bài toán (tt.)

� Công việc có cần tương tác với con người?

– Không cần tương tác: CT nhận mô tả bài toán, sinh ra lời giải mà không cần sự tương tác với con người trong quá trình giải để nhận thêm thông tin hay để giải thích các bước.� Như BT: chứng minh định lý (với yêu cầu đơn giản là vào đlý – ra là

lời giải).

– Cần tương tác: CT cần tương tác với con người để nhận thêm thông tin, để giải thích, để nhận được hướng dẫn cần thiết.� Như BT: xây dựng các hệ chuẩn đoán bệnh.

– Sự phân biệt này cũng có tính tương đối. Như việc chứng minh đlý nói trên, đôi lúc CT cũng được yêu cầu để giải thích từng bước chứng minh hay đôi cũng cần phải nhận hướng dẫn để bắt đầu từ điềm nào.

– Xác định được CT có cần tương tác hay không sẽ giúp chọn ra phương pháp giải thích hợp.

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Trí tuệ nhân tạo

Side 32

Các đặc trưng của bài toán (tt.)

� Nguyên tắc giải bài toán:

– Không có một kỹ thuật đơn nào có thể giải mọi bài toán.

– Phân tích kỹ các bài toán mẫu và các kỹ thuật giải toán. Xem xét xem kỹ thuật nào phù hợp với loại bài toán nào.

– Khi gặp một vấn đề mới thay vì xem xét lại từ đầu chọn lựa kỹthuật phù hợp- đã được phân tích kỹ.

17

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Trí tuệ nhân tạo

Side 33

Các vấn đề trong thiết kế các CT tìm kiếm

� Sự tìm kiếm:

– Tìm kiếm ~ duyệt cây, từ TT bắt đầu � TT đích.

– Cả cây tìm kiếm thường không được xây dựng sẵn, thay vào đólà được sinh ra dần dần trong quá trình tìm.

– Cấu trúc đồ thị thường thay thế cho cây trong biểu diễn KGTT.

� Các vấn đề:

– Xác định hướng tìm (forward hay backward reasoning).

– Cách lựa chọn luật để áp dụng (matching)

– Cách biểu diễn NODE của quá trình tìm (knowledge representation problem, frame problem).

– Các NODE trong đồ thị có thể được phát sinh nhiều lần, và cóthể đã được xem xét trước đó trong quá trình duyệt � cần loại bỏ những NODE lặp lại. � cần lưu lại các NODE đã xét.

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Trí tuệ nhân tạo

Side 34

Các vấn đề trong thiết kế các CT tìm kiếm(tt.)

� Giải thuật kiểm tra NODE lặp lại (����DFS):

1. Xem xét tập NODE đã tạo ra, để xem NODE mới đã có chưa.

2. Nếu chưa thì thêm NODE mới vào đồ thị.

3. Nếu đã có:1. Thiết lập điểm mở rộng kế tiếp là con của NODE đang tồn tại ,

NODE có thể bỏ đi.

2. Nếu GT có lưu giữ con đường tốt nhất hiện có thì cần xem xét xem

nó đạt đến NODE mới trên con đường tốt hơn không, nếu vậy thì

cập nhật lại con đường tốt nhất.

18

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Trí tuệ nhân tạo

Side 35

Các đặc trưng của hệ luật sinh

� Hai vấn đề:

– Có tập đặc trưng nào giúp cho việc xây dựng hệ luật sinh dễdàng?

– Có tồn tại quan hệ giữa loại bài toán và loại hệ luật sinh dùng để giải bài toán đó.

� Các loại hệ luật sinh:

– Monotonic: hệ luật sinh mà khi áp dụng một luật nào đó nó không ngăn cản việc áp dụng một luật khác mà nó có thể cũng đã được áp dụng tại thời điểm mà luật đầu tiên được lựa chọn.

– Nonmonotonic: ngược lại với monotonic.– Partially commutative: hệ luật sinh có thuộc tính. Nếu áp dụng

một chuổi luật để biến từ trạng thái X sang Y thì bất kỳ hoán vịnào của chuổi luật này nếu được phép (so trùng được) cũng biến đổi từ X sang Y.

– Commutative: vừa partially commutative và monotonic.

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Trí tuệ nhân tạo

Side 36

Các đặc trưng của hệ luật sinh

BridgeChemical synthesis

Not Partially

commutative

Robot navigationTheorem provingPartially

commutative

NonmonotonicMonotonic

19

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Trí tuệ nhân tạo

Side 37

Bài toán

� Bài toán chơi cờ, để viết CT cần chỉ rõ:

– Bàn cờ bắt đầu.– Luật của mỗi nước đi.– Bàn cờ cho biết sự thắng cuộc.… và mục tiêu:Chẳng những chơi được mà còn phải cố gắng thắng.

� Cụ thể với cờ vua:

– Bắt đầu: bàn cờ 8x8 ô, các quân cờ đứng ở vị trí xuất phát truyền thống.

– Đích: bàn cờ mà trong đó đối thủ không đi được hay tướng của họ bị tấn công.

– Luật: � vế trái: mẩu bàn cờ dùng để so trùng. vế phải: mẫu bàn cờ có thể

chuyển đến từ mẫu bên trái ���� rất nhiều luật ���� không tốt.

� Dạng khác như ví dụ sau:

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Trí tuệ nhân tạo

Side 38

Bài toán

– Ví dụ về luật cờ vua:

– Sử dụng quá nhiều luật (luật không tổng quát) dẫn đến:� Con người kho đề nghị tập luật đúng, đầy đủ.

� CT khó xử lý tốt.

– Định nghĩa bài toán chơi cờ đầy:� Chơi cờ = Di chuyển trong không gian trạng thái.

� Mỗi trạng thái = Bàn cờ hợp lệ.

� Chơi cờ = Bắt đầu từ bàn cờ đầu, dùng các luật để di chuyển và cốgắng gặp trạng thái đích.

IF:Tốt trắng ở ô (e,2).Ô (e,3) trống.Ô (e,4) trống.

THEN:Chuyển tốt trắng đến ô (e,4).

20

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Trí tuệ nhân tạo

Side 39

Hệ luật sinh

� Tìm kiếm: cốt lõi của các hệ thông minh.

���� Cấu trúc CT theo hướng làm thuận tiện việc mô tảvà thi hành quá trình tìm kiếm.

���� Hệ luật sinh.

� Hệ luật sinh , gồm:

– Một tập luật.

– CSDL/tri thức chứa các thông tin cho công việc cụ thể.

– Chiến lược điều khiển để chỉ rõ:� thứ tự luật được so trùng.

� Giải quyết xung đột khi nhiều hơn 1 luật có thể dùng được.

– Bộ áp dụng luật.