Website: Email : Tel (: 0918.775.368
LỜI MỞ ĐẦU
Nghiên cứu Trí tuệ nhân tạo(AI-Artificical Intelligence) nhằm tìm hiểu
những yếu tố về trí tệu.Không giống với các ngành khoa học lien quan đến
tri tuệ như Triết Học và Tâm Lý Học, AI nhằm tạo ra các thực thể thông
minh giúp ích cho chúng ta.Một phần không thể thiếu được của Trí tuệ nhân
tạo là việc dung các máy tính để thử nghiệm các lý thuyết về trí tuệ.Những
kĩ thuật và hình thức được tìm hiểu trong Trí tuệ nhân tạo luôn thể hiện sự
quan hệ gắn bó giữa máy tính với những lý thuyết của nó.
CHƯƠNG 1:TỔNG QUAN VỀ TRÍ TUỆ NHÂN TẠO
1.1 Lịch sử hình thành và phát triển của trí tuệ nhân tạo
Trước đây mỗi khi nói đến Trí tuệ nhân tạo người ta thường quan tâm đến
việc tạo ra cá máy tính có khả năng “suy nghĩ” như con người.Mặc dù các
mô hình tương tự các máy tính thông minh đã được đưa ra từ nhiều năm
trước nhưng chỉ từ khi Alan Turing công bố những kết quả quan trọng đầu
tiên thì người ta mới bắt đầu thực sự ngiên cứu về trí tuệ nhân tạo một cách
nghiêm túc.Phát hiện của Turing cho rằng chương trình có thể được lưu trữ
trong bộ nhớ rùi sau đó có thể thực hiện trên các phép toán cơ bản trên các
bit 0 va 1.Việc lưu trữ chương trình trong máy cho phép thay đổi các chức
năng của nó một cách nhanh chóng và dễ dàng bằng cách thông qua việc
nạp vào một chương trình mới vào bộ nhớ,tức là làm cho máy tính có khả
năng “suy nghĩ”.
Các chương trình thông minh được công bố đó là:
Năm 1956:Chưong trình giải toán tổng quát đã đươc xuất hiện .
Năm 1958:Chương trình chứng minh định lý hình học cũng được khám phá.
Nhưng phải đến những năm 1960 thì lĩnh vực này mới thực sự phát triển
với nhiều công trình được công bố như:
Năm 1960:Ngôn ngữ LISP.
Năm 1961:Chương trình giải các bài toán đại số sơ cấp.
Năm 1963:Chương trình chơi cờ vua.
Năm 1964:Chương trình tính tích phân.
Năm 1966:Chương trình phân tích và học nói.
Năm 1968:Chương trình điều khiển Robot theo phương án mắt và tay.
Năm 1972:Ngôn ngữ Prolog .
Từ những năm 1969 đến năm 1999 nhiều chương trình được xây dựng trên
các hệ cơ sở tri thức.Các lĩnh vực trí tuệ đã đi vào đời sống từ những năm
1980 đến nay.
1
Website: Email : Tel (: 0918.775.368
1.2 Định nghĩa trí tuệ nhân tạo
* Trí tuệ nhân tạo(AI-Artificial Intelligence) có thể được được định nghĩa
như một ngành của khoa học máy tính liên quan đến việc tự động hoá các
hành vi thông minh.AI là một bộ phận của khoa học máy tính nên nó phải
đặt trên nguyên lý lý thuyết và được áp dụng trong lĩnh vực này.Những
nguyên lý này bao gồm các cấu trúc dữ liệu đùn trong biểu diễn tri thức,các
thuật toán cần thiết để áp dụng các tri thức đó,cùng các ngôn ngữ và kĩ thuật
lập trình dung cho việc cài đặt chúng.
*Một số định nghĩa khác về trí tuệ nhân tạo điển hình khác là:
-Hệ thống mà biết suy nghĩ như con người.
-Hệ thống mà biết hành động như con người .
Để hệ thống mà biết suy nghĩ và hành động như con người thì hệ thống đó
phải đươc trang bị các công cụ như lý giải tri tự động,tri thức.
Thông thường,cách giải quyết vấn đề của con người thưồng được thông qua
4 thao tác cơ bản:
-Xác định tập hợp của các đích.
-Thu thập các sự kiện và luật suy diễn.
-Cơ chế tập trung.
-Bộ máy suy diễn.
Như vậy ,trí tuệ máy là khả năng giải quyết các vấn đề:
-Hành động giống như con người.
-Suy nghĩ giống như con người.
-Học giống như con người.
-Xử lý thông tin giống như con người.
-Hành động và xử lí thông tin logic và chính xác.
1.3 Các thành phần cơ bản của trí tuệ nhân tạo
Có 2 thành phần cơ bản của trí tuệ nhân tạo là biểu diễn tri thức và tìm kiếm
tri thức trong miền biểu diễn.Biểu diễn tri thức chú ý đến vấn đề nắm bắt
theo một cách ngôn ngữ hình thức,tức là một dạng thích hợp để máy tính
vận hành,phạm vi tri thức đầy đủ mà hành vi thông minh đòi hỏi.Trong khi
Tìm kiếm là kĩ thuật giải quyết vấn đề theo cách khảo sát vấn đề có hệ thống
một không gian “ trạng thái bài toán ”,tức là các giai đoạn tuần tự và có chọn
lựa trong quá trình giải quyết vấn đề.
Để biểu diễn tri thức của bài toán nhờ các phương pháp biểu diễn tri thức
như:
-phưong pháp biểu diễn nhờ luật.
-phương pháp biểu diễn nhờ mạng ngữ nghĩa.
-phương pháp biểu diễn nhờ Frame.
-phương pháp biểu diễn nhờ logic vị từ.
2
Website: Email : Tel (: 0918.775.368
Sau khi tri thức của bài toán đã được biểu diễn,kỹ thuật bài toán trong lĩnh
vực trí tuệ nhân tạo là các phương pháp tìm kiếm trong miền đặc trưng tri
thức về bài toán đó.
1.3.1 Các phương pháp biểu diễn tri thức.
1.3.1.1Phương pháp biểu diễn nhờ logic vị từ.
Logic mệnh đề cho phép ta biểu diễn các sự kiện.Mỗi kí hiệu logic mệnh đề
được minh hoạ như là một sự kiện trong thế giới thực,sử dụng các kết nối
logic ta có thể tạo ra các câu phức hợp biểu diễn các sự kiện mang tính phức
tạp hơn.Như vậy,khả năng biểu diễn của logic mệnh đề chỉ giới hạn trong
phạm vi thế giới của sự kiện.
Thế giới hiện thực bao gồm các đối tượng.Mỗi đối tượng có những tính
chất riêng để phân biệt với các đối tượng khác.Các đối tượng lại có quan hệ
với nhau.Các mối quan hệ rất đa dạng và phong phú.Xét logic vị từ cấp một
là mở rộng của logic mệnh đề:nó cho phép ta mô tả thế giới với các đối
tượng,các thuộc tính của đối tượng và mối quan hệ giuũa các đối tượng .Nó
sử dụng các biến đối tượng để chỉ các đối tượng trong một miền đối tượng
nào dó. Để mô tả các thuộc tính của đối tượng,các quan hệ giữa các đối
tượng thì trong logic vị từ người ta dưa vào các vị từ.
Ngoài các kết nối logic như trong logic mệnh đề,logic vị từ cấp một còn sử
dụng các lượng tử.
a. Cú pháp của logic vị từ cấp một.
Logic vị từ cấp một sử dụng các kí hiệu:
Các kí hiệu hằng:a,b,c,An,Nam,…
Các kí hiệu biến:x,y,z,u,v,…
Các kí hiệu vị từ :P,Q,R,S,…
Mỗi vị từ của n biến(n
≥
0).Chẳng hạn Like là vị từ của 2 biến,Prime la vị từ
một biến.
Các kí hiệu vị từ không biến là các kí hiệu mệnh đề.
Các kí hiệu hàm :f,g,cos,sin,mother,husband,…
Mỗi hàm là hàm của cua n biến(n
1
≥
).Chẳng hạn hàm cos,sin là hàm một
biến,hàm distance là hàm của ba biến.
Các kí hiệu kết nối logic:
∧
(hội),
∨
(tuyển),=>(kéo theo),(tương đương).
Các kí hiệu lượng tử:
∀
(với mọi),
∃
(tồn tại).
Các kí hiệu ngăn cách:dấu phẩy,dấu mở hoặc dấu đóng ngoặc.
Các hạng thức :các hạng thức là các biểu thức mô tả các đối tượng.các hạng
thức được xây dựng đệ quy như sau:
-Các kí hiệu hằng và kí hiệu biến là hạng thức.
-Nếu các t
1
,t
2
,t
3
,…t
n
là n hạng thực và f là một kí hiệu hàm n biến thì (f
1
1
3
Website: Email : Tel (: 0918.775.368
,f
2
,f
3
,…,f
n
) là hạng thức.Một hạng thức không chứa biến được gọi là một
hạng thức cụ thể.
Các công thức phân tử:Biểu diễn các tính chất của đối tượng,hoặc các
quan hệ giữa các đối tượng bởi ccá công thức phân tử(câu đơn).
Các công thức phân tử được xác định đệ quy như sau:
-các kí hiệu vị từ không biến là các công thức phân tử.
-nếu t
1
,t
2
,…,t
n
là n hạng thức và P là logic vị từ của n biến thì P(t
1
,t
2
,
…,t
n
) là công thức phân tử.
Các công thức :từ các công thức phân tử,sử dụng các kết nối logic và các
lượng tử thì xây dựng nên các công thức(các câu).
Các công thức được xác định đệ quy như sau :
-Các công thức phân tử là các công thức
Nếu G và H là các công thức thì biểu thức(G
∧
H),(G
∨
H),(G=>H),(G<=>H)
là công thức.
-Nếu G là công thức và x là biến thì các biểu thức(
∀
xG ),(
∃
xG) là công
thức.
Các công thức không phải là công thức phân tử sẽ được gọi là câu phức
đơn.các công thức không chứa biến được gọi là các công thức cụ thể.Khi
viết các công thức ta sẽ loại bỏ di các dấu ngoặc không cần thiết,chẳng hạn
như các dấu ngoặc ngoài cùng.
Lượng tử phổ dụng cho phép mô tả tính chất của cả một đối tượng mà không
cần phải liệt kê ra tất cả các đối tượng trong lớp.
Lượng từ tồn tại cho phép tạo ra các câu nói đến một đối tượng nào đó trong
một lớp đối tưọng mà nó có một tính chất hoặc thoả mãn một quan hệ nào
đó.Chẳng hạn bằng cach sử dụng các câu đơn Student(x) (x la sinh viên) và
Inside(x,300) (x ở trong phòng 300),ta có thể biểu diễn câu ’’c ó một sinh
viên ở trong phòng 300’’ bởi biểu thức
∃
x(Student(x)
∧
Inside(x,300).
Một công thức là công thức phân tử hoặc phủ định của công thức phân tử
được gọi là literal.
b.Ngữ nghĩa
Cũng như logic mệnh đề,nói đến ngữ nghĩa là nói đến ý nghĩa của các công
thức trong một thế giới hiện thực nào đó mà sẽ được gọi là một minh hoạ.
Để xác định một minh hoạ,trước hết cần xác định một miền đối tượng(nó
bao gồm tât cả các đối tượng trong thế giới hiện thực mà ta quan tâm).
-Ngữ nghĩa của một câu đơn :Trong một minh hoạ các kí hiệu vị từ sẽ được
gắn với một thuộc tính hoặc một quan hệ cụ thể nào đó.Khi đó mỗi công
thức phân tử(không chứa biến)sẽ chỉ định một sự kiện cụ thể.Sự kiện này có
thể đúng(Trure)hoặc sai(False).
-Ngữ nghĩa của các câu phức hợp :Khi đã xác định được ngữ nghĩa của các
câu đơn ta có thể xác định được ngữ nghĩa của câu phức hợ(được tạo thành
4
Website: Email : Tel (: 0918.775.368
từ các câu đơn bằng cách liên kết các câu đơn bởi các kết nối logic) như
trong logic mệnh đề.
-Ngữ nghĩa của các câu chứa lượng tử :
ngữ nghĩa của các câu
∧
xG ,trong đó G là một công thức nào đó được xác
định như là ngữ nghĩa của một công thức là hội của tất cả các công thức
nhận được từ công thức G bằng cách thay x bởi một đối tượng trong miền
đối tượng.
Công thưc G chỉ đúng nếu và chỉ nếu mọi công thức nhận được từ G bằng
cách thay x bằng một đối tượng trong miền đối tượng đều đúng.
Ngữ nghĩa của công thức
∀
xG được xác định như là ngữ nghĩa của công
thức là tuyển của tất cả các công thức nhận được từ G bằng cách thay tất cả
các giá trị x bởi một đối tượng trong miền đối tượng.
Như vậy công thưc
∀
xG là đúng nếu và chỉ nếu mọi công thức nhận được
từ G bằng cách thay x bởi một đối tưọng trong miền đối tượng đều đúng,tức
là G là đúng cho tất cả các đối tượng x trong miền đối tượng.
1.3.1.2 Phương pháp biểu diễn nhờ luật và lâp luận
Với một cơ sở tri thức gồm các câu trong logic vị từ cấp một ta có thể chưng
minh công thức có là hệ quả của logic của cơ sở tri thức hay không bằng
phương pháp chứng minh bác bỏ và thủ tục phân giải.
Tuy nhiên thủ tục này có độ phức tạp lớn và đòi hỏi một chiến lược giải một
cách thich hợp.vì thế mà các nhà nghiên cúư cố gắng tìm các tập con của
logic vị từ cấp một sao cho chúng đủ khả năng biểu diên cơ sở tri thức trong
nhiều lĩnh vực và có thể đua ra các thủ tục suy diễn có hiệu quả.các tập con
nay của logic vị từ cấp một sẽ xác định các ngôn ngữ biểu diên tri thức đặc
biệt.
Nếu chỉ sử dụng các luật nếu-thì,ta không thể biểu diên được mọi điều trong
logic vị từ cấp một.tuy nhiên,với các luật nếu-thì ta có thể biểu diễn được
một khối lượng lớn tri thức trong nhiều lĩnh vực khác nhau và có thể thực
hiện các thủ tục suy diễn có hiệu quả.
-Biểu diễn tri thức nhờ luật sinh :
Ngôn ngữ bao gồm các nếu-thi (ì-then)còn gọi là các luật sản xuất hay luật
sinh,là ngôn ngữ phổ biến nhất để biểu diễn tri thức.các câu Hor n có dạng :
P
1
∧
…
∧
P
N
=>Q
Trong đó các P
i
(i=1,2,…,n) và Q là các câu phần tử.
Các câu Horn còn được viết dưới dạng:
nếu P
1
và P
2
… và P
n
thì Q
Các P
i
(i=1,2,…,n) gọi là các điều kiện.Q được gọi là kết luận của luật.
Các luật có các ưu điểm sau đây:
-Mỗi luật nếu –thì mô tả một phần nhỏ tương đối độc lập của tri thức.
5
Website: Email : Tel (: 0918.775.368
-Có thể them và cơ sở tri thức các luật mới,hoặc loại bỏ một số luật cũ mà
không ảnh hưởng nhiều tới các luật khác.
-Các hệ tri thức với cơ sở tri thức gồm các luật nếu-thì có khả năng đưa ra
lời giải thích cho các quyết định của hệ.
Các luật nếu –thì là dạng biểu diễn tự nhiên của tri thức.Băng cách sử dụng
các luật nêu-thì có thể biểu diễn được một lượng lớn tri thức của con người
về tự nhiên,về xã hội.,…
Ví dụ như:
-Một luật về chuẩn đoấn bệnh:
Nếu
1.bệnh nhân ho lâu ngày ,và
2.bệnh nhân thường sốt vào buổi chiều
Thì bệnh nhân có khả năng bị bệnh lao
-Một luật về dự báo thời tiết
Nếu 1.trời nhiều mây,và
2.có gió
Thì trời sẽ mưa.
Trong nhiều áp dụng cơ sở của hệ cần được đua vào các luật mà phần kết
của luật là một hành động hệ cần thực hiện.gọi các luật này la luật hành
động(action),một luật hành động có dạng:
nếu
1.< điều kiện 1>,và
2.< điều kiện 2>,và
…
m<điều kiện m>
thì<hành động>
Hành động trong các luật hành động có thể là them vào một sự kiện mới,có
thể loại bỏ một sự kiện đã có trong bộ nhớ làm việc;hành động cũng có thể
là một động nào đó mà robot cần thực hiện.
Người ta phân biệt 2 dạng hệ,các hệ dựa trên luật sử dụng lập luận tiến và
phần kết luận của các luật xác định các khẳng định mới thì được gọi là các
hệ diễn dịch.các hệ dựa trên luật mà phần kết luận của các luật xác định các
hành động cần thực hiện được gọi là hệ hành động dựa trên luật.
Trong các hệ diễn dịch ta xem mọi luật đều sinh ra các khăng định mới “có
giá tri” như nhau;tức làtức là ta không xem khăng định do luật này sinh ra là
tốt hơn khăng định do luật khác sinh ra.do đó trong các hệ diễn dịch,khi mà
điều kiện được thoả mãn ta có thể sinh ra khẳg định mới.
Trong các hành động ,khi có nhiều hơn một luật có thể được sinh ra chúng
ta chỉ muốn thực hiện một trong các hành đọng có thể.Do đó trong các hệ
6
Website: Email : Tel (: 0918.775.368
hành động chúng ta càn có chiến lược giải quyết va chạm để quyết định cho
luật nào được sinh ra trong số các luật có thể được sinh ra.Một số chiến lược
giải quyết va chạm:
-Sắp xếp các luật theo thứ tự ưu tiên.Trong các luật có thể sinh ra luật nào có
mức ưu tiên cao nhất thì sẽ được thực hiện.
-Sắp xếp dữ liệu:các sự kiện trong bộ nhớ làm việc được sắp xếp theo thứ tự
ưu tiên.Luật nào mà ccá điều kiện của nó được làm thoả mãn bởi các điều
kiện có mức ưu tiên cao sẽ được thực hiện trứoc.
-Các luật được phân thành nhóm:trong mỗi nhóm luật được chỉ ra các điều
kiện để áp dụng các luật của nhóm.Các luật này lien quan đến nội dung của
bộ nhớ làm việc.
-Sử dụng các siêu luật: Đó là các luật mà phần điều kiện của nó liên quan
đến nội dung của các luật và nội dung của bộ nhớ làm việc,còn phần kết luận
của nó chỉ ra các luật có thể áp dụng hoặc có thể bị cấm áp dụng.Các siêu
luật sẽ điều khiển sự cho phép của các luật được sinh ra.
Việc sử dụng chiến lược giải quyết va chạm nào phụ thuộc vào từng áp
dụng.Tuỳ theo mục dích thiết kế của hệ mà ta lựa chọn chiến lược giải quyết
cho phù hợp.
1.3.1.3 Phương pháp biểu diễn bằng mạng ngữ nghĩa
Mạng ngữ nghĩa là một phương pháp biểu diễn tri thức dễ hiểu nhất.Phương
pháp biểu diễn dựa trên đồ thị,trong đó đỉnh là các đối tượng(hay khái niệm)
còn các cung là các mối quan hệ giữa các đối tượng(hoăc khái niệm )đó.
Ví dụ như:giữa các đối tượng và khái niệm :chích,chim,tổ,cánh,hót có các
quan hệ như sau:
Chich
Là Biết
Làm có
1.3.1.4 Phương pháp biểu diễn bằng Frame(Khung)
Khung là phương pháp biểu diễn tri thức có cấu trúc dữ liệu chứa tất cả tri
thức liên quan đến một đối tượng cụ thể nào đó.Khung có quan hệ chặt chẽ
đến khái niệm hướng đối tượng .Khung thường được dùng để biểu diễn
những tri thức ’’chuẩn ’’ hoặc những tri thức dựa trên kinh nghiệm hoặc các
diểm đã được hiểu biết cặn kẽ.
7
HótChich
tổ
chim
cánh
Website: Email : Tel (: 0918.775.368
Cấu trúc của khung gôm 2 thành phần cơ bản ‘‘Slot’’ và ‘‘Facet’’.Slot là
một thuộc tính đặc tả đối tượng .Một Slot có thể chứa nhiều Facet.Các Facet
đôi khi con được gọi là các Slot con.
cấu trúc tổng quát của một khung(Frame) dữ liệu được mô tả như sau :
Frame <frame_name>
Slot :<property_name_1>
Value :<value ò property_name_1>
Slot:<property_name_2>
Value:<value ò property_name_2>
Slot:<property_name_N>
Value:<value of property_name_N>.
Các slot trong mỗi frame chứa các thong tin như sau:
-Thông tin nhận dạng frame
-Thông tin quan hệ của frame này với các frame khác.
-Các thành phần mô tả của frame.
-Thông tin thủ tục.
-Thông tin mặc định frame.
-Thông tin đề xuất mới
Biểu diễn tri thức nhờ frame cung cấp ý tưởng lập trình hướng đối tượng
trong ngôn ngữ lập trinh Prolog hoặc các ngôn ngữ lập trình khác như C+
+và Visual Basic.
Frame cho phép truy cập các thành phần của Frame đó là các Slot và cho
phép hưởng quyền thừa kế giữa Frame dữ liệu này với Frame dữ liệu khác.
1.3.2 các chiên lược tìm kiếm tri thức
1.3.2.1 Không gian bài toán
Tri thức của bài toán có thể đươc chia ra thành 3 tri thức cơ bản đó là tri thức
mô tả ,tri thức thủ tục va tri thức điều khiển.
-Tri thức mô tả:là loại tri thức mô tả những gì mà được biết về bài toán.Loại
tri thức này bao gồm các sự kiện,các quan hệ và các tính chất của bài toán.
-Tri thức thủ tục:la loại tri thức mô tả cách giải quyết bài toán.Loại tri thức
này bao gồm luật suy diễn hợp lệ,chiến lược tìm kiếm và giải thuật tìm kiếm.
-Tri thức điều khiển:là loại tri thức được xem như là luật chủ chốt điều khiển
quá trình lý giải để dẫn đến kết luận.
Không gian bài toán có thể được biểu diễn bằng không gian trạng thái đó là
một biểu diễn bằng đồ thị định hướng gồm 4 thành phần như sau:
S : trạng thía ban đầu của bài toán (dữ liệu ban đầu).
G : tập các trạng thái đích của bài toán(dữ liệu đích).
N : Tập các trạng thái được phát sinh từ trạng thái ban đầu đến
trạng thái đích.
8
Website: Email : Tel (: 0918.775.368
A : Tập các trạng thái chuyển tiếp đó là các cung lien kết giữa các
nút của đồ thị nhờ thong qua các luật áp dụng của bài toán.
Luật áp dụng là luật mà vế điều kiện của nó hợp với trạng thái hiện có để vế
kết luận của nó phát sinh ra các trạng thái mới.
1.3.2.2Một số giải thuật tìm kiếm.
a.Giải thuật tìm kiếm theo chiều rộng (Breadth-Fist-search).
Đây là giải thuật tìm kiếm mức theo mức của cây.Giải thuật bắt đầu từ nút
gốc của cây tìm kiếm qua tất cả các nút ở các nút kế tiếp,nếu nó chưa tìm
thấy đích thì tiếp tục tìm kiếm ở các mức sâu hơn,cứ như thế cho đến khi nó
tìm thây nút đích thì dừng thủ tục tìm kiếm và thiết lập lời giải bắt đầu từ nút
gốc thông qua các nút lien kết đến nút đích.
Giải thuật tìm kiếm theo chiều rộng được trang bị bằng 2 danh sách mở
Open và đóng Closed,trong đó danh sách Open chứa các trạng thái đang chờ
được duyệt và danh sách Closed chứa các trạng thái đã được duyệt qua.Giải
thuật được mô tả như sau:
Procdure TK_RONG
Begin
Open=[Start];
Closed=[];
While Open
≠
[]
Begin
- Loại bỏ nút đầu tiên từ danh sách Open và gọi nút này là X.
If X=đich Then trả về thành công.
Else begin
- Phát sinh các con của X dung các luật áp dụng hợp với X;
- Đặt X vào danh sách Closed.
- Loại bỏ tất cả các con của X đã có mặt trên Open hoặc
Closed.
-Đặt các con của X chưa có măt trên Open hoặc Closed
Vào cuối danh sách Open;
End ;
End;
End.
b.Giải thuật tìm kiếm theo chiều sâu(Depth Fist Search)
Giải thuật tìm kiếm theo chiều sâu là giải thuật tìm kiếm nhánh theo nhánh
của cây.Giải thuật bắt đầu từ nút gốc tìm kiếm đến các nút con,cháu của
gốc,nếu giải thuật tìm thấy đích thì dừng thủ tục tìm kiếm và thiết lập lời
giải từ nút gốc thong qua các nút liên kết đếnnút đích;mặt khác nếu giải
thuật tìm kiếm thấy đường cụt thì nó lùi về tìm kiếm nút anh em.
9
Website: Email : Tel (: 0918.775.368
Giải thuật này cũng được trang bị bằng 2 danh sách mở Open và đóng
Closed .Nó được mô tả như sau:
Procedure TK_SAU
Begin
Open=[Start];
Closed=[];
While Open
≠
[]
Begin
-Loại bỏ nút đầu tiên từ danh sách Open và gọi nút này là X.
If X=đích Then trả về thành công.
Else begin
-Phát sinh các con cua X dung các luật áp dụng với X.
-Đặt X vào danh sách Closed;
-Loại bỏ các con của X đã có mặ trên Open hoặc Closed;
-Đặt các con của X chưa có mặt trên Open hoặc Closed vào
đầu danh sách Open.
End;
End;
End.
c.Tìm kiếm Heuristic
-Tri thức điều khiển bài toán còn được gọi là Heuristic.Heuristic là luật chủ
chốt điều khiển thuật toán tìm kiếm bám đường có các trạng thái tốt nhất để
đạt đến đích.Heuristic có thể được thể hiện dưới dạng luật hoặc dưới dạng
hàm số.Nếu nó được thể hiện dưới dạng hàm thì được gọi là hàm heuristic
,nếu ở dạng luật thì nó được gọi làluật heuristic.
Heuristic còn được gọi là tri thức nông cạn của bài toán vì nó chỉ doán bắt
trạng thái tốt nhất ở bước tiếp theo trong quá trình giải quyết vấn đề.Do đó
đôi khi Heuristic không đảm bảo tìm thấy lời giải tốt nhất của bài toán.
Nếu ta định nghĩa h(n) là hàm heuristic tại trạng thái n thì h(n) là một ước
lượngtính từ trạng thái n đến trạng thái đích của bài toán.Trạng thái nào có
heuristic nhỏ nhất thì đó là trạng thái tốt nhất được chọn để tiếp diễn quá
trình tìm kiếm.
-Nếu trạng thái n không dẫn đến đường cụt thì heuristic của nó là h(n)
≥
0
-Nếu trạng thái n dẫn đến đường cụt thì heuristic của nó là h(n)=
∞
-nếu trạng thái n dẫn đến trạng thái đích của bài toán thì heuristic của
nó là h(n)=0.
-Giải thuật tìm kiếm tốt nhất(Best-Fist-search)
Một trong các giải thuật tìm kiếm sử dụng heuristic đó là giải thuật tìm kiếm
tốt nhất.Giải thuật được trang bị băng 2 danh sách mở Open và đóng
10