Full tất cả thuât toán trong Ai, Viết chương trình (bằng mã giả ) tính Phi bằng phương pháp ngẫu nhiên, Thuật giải AT, Thuật giải AKT, Thuật giải A, thuật giải GTS , Thuật giải tô màu tối ưu,thuật giải leo đồi đơn giản,Thuật giải leo đồi dốc đứng,Vương Hạo,Robinson,
Trang 11> Viết chương trình (bằng mã giả ) tính Phi bằng phương pháp ngẫu nhiên :
Function Pi:Real;
Var
m,i : Interger ;
x,y : Real ;
Begin
m:= 0 ;
For i := 1 To N Do {Phát ngẫu nhiên N điểm }
Begin
x:= random : { x (0,1)}
y:= random : { y (0,1)}
if(x2 + y2) <=1 Then
m:=m + 1 ; End;
Pi := 4*m/N;
End;
2> Thuật giải AT
Bước 1 :
• Mọi đỉnh n , mọi giá trị g(n) đều là ẩn
• Mở đỉnh đầu tiên và gọi đó là đỉnh S đặt g(S)=0
Bước 2 : Chọn đỉnh mở với giá thành g tương ứng là nhỏ nhất và gọi đó là đỉnh N
• Nếu N là mục tiêu : đường đi từ đỉnh ban đầu đến N là đường đi ngắn nhất và bằng g(N) Dừng (Success)
• Nếu không tồn tại một đỉnh mở nào nữa : cây biểu diễn vấn đề không có đường đi tới mục tiêu Dừng (Fail)
• Nếu tồn tại nhiều hơn 1 đỉnh N ( nghĩa là có 2 đỉnh N trở lên ) mà có cùng giá thành g(N) nhỏ nhất kiểm tra xem trong số đó có đỉnh nào là đích hay không:
o Nếu có : đường đi từ đỉnh ban đầu đến đỉnh N là ngắn nhất và bằng g(N) Dừng (Success)
o Nếu không có : chọn ngẫu nhiên một trong các đỉnh đó và gọi là đỉnh N
Bước 3 : Đóng đỉnh N và mở các đỉnh sau N (là những đỉnh có cùng hướng từ N tới )
Tại mọi đỉnh S sau N tính :
g(S) = g(N)+ cost(N->S)
Bước 4 : Quay lại bước 2
3> Thuật giải AKT
Bước 1 : Mọi đỉnh ,cũng như các hàm g,h,f chưa biết
Trang 2• Mở đỉnh đầu tiên S , gán g(S)=0
• Sử dụng tri thức bổ sung để ước tính hàm h(S)
• Tính f(S) = g(S) + h(S)
Bước 2 : chọn đỉnh mở có f là nhỏ nhất và gọi là đỉnh N
• Nếu N là đích : đường đi từ đỉnh ban đầu đến đỉnh N là ngắn nhất và băng g(N) Dừng ( Success)
• Nếu không tồn tại đỉnh mở nào : cây biểu diễn vấn đề không tồn tại đường đi tới mục tiêu Dừng ( Fail )
• Nếu có 2 đỉnh mở trở lên có cùng giá trị f nhỏ nhất : chúng ta phải kiểm tra xem những đỉnh đó có đỉnh nào là đích hay không :
o nếu có : đường đi từ đỉnh ban đầu đến đỉnh N là ngắn nhất và bằng g(N) dừng (Success)
o nếu không có : chọn ngẫu nhiên một trong các đỉnh đó và gọi đỉnh đó là N Bước 3 :Đóng đỉnh N , mở mọi đỉnh sau N với mỗi đỉnh S sau N tính : g(S)=g(N)+cost(S->N)
• Sử dụng tri thức bổ sung để tính h(S) và f(S) : f(S) = g(S) + h(S)
Bước 4 : quay lại bước 2
4> Thuật giải A*
Bước 1 : Mọi đỉnh , cũng như các hàng g,h,f chưa biết
• Mở đỉnh đầu tiên S , gán g(S)=0
• Ước lượng hàm h(S)
• Gán f(S) = h(S) + g(S)
Bước 2 : chọn đỉnh mở có f(S) là nhỏ nhất và gọi là đỉnh N :
• Nếu N là đích : đường đi từ đỉnh ban đầu đến đỉnh N là ngắn nhất và băng g(N) Dừng ( Success)
• Nếu không tồn tại đỉnh mở nào : cây biểu diễn vấn đề không tồn tại đường đi tới mục tiêu Dừng ( Fail )
• Nếu có 2 đỉnh mở trở lên cùng giá trị f(S) nhỏ nhất : ta phải kiểm tra xem những đỉnh đó có đỉnh nào là đích hay không :
o nếu có : đường đi từ đỉnh ban đầu đến đỉnh N là ngắn nhất và bằng g(N) dừng (Success)
o nếu không có : chọn ngẫu nhiên một trong các đỉnh đó và gọi đỉnh đó là N Bước 3 : Đóng đỉnh N , và đối với mỗi đỉnh S sau N , chúng ta tính :
• g’(S)= g(N) + cost(S->N)
• Nếu đỉnh S đã mở và g(S) <= g’(S) thì bỏ qua S
• Ngược lại mở S và đặt g(S)=g’(S) tính h(S) và f(S) : f(S)=g(S)+h(S)
Bước 4 : quay lại bước 2
5> thuật giải GTS :
Bước 1 : {khởi đầu}
Đặt Tour :={};
Cost := 0;
V := U : {V là đỉnh hiện tại đang làm việc } Bước 2 : {thăm tất cả thành phố }
For k := 1 To n Do Qua bước 3 ; Bước 3 :{chọn cung kế tiếp }
Trang 3Đặt {V,W} là cung có chi phí nhỏ nhất tính từ V đến các đỉnh W chưa dùng : Tour := Tour + {(V,W)}:
Nhãn W được sử dụng Đặt V := W : {gán để xét bước kế tiếp } Bước 4 : {chuyến đi hoàn thành }
Đặt Tour := Tour + {(V,U)}:
Cost := Cost + Cost(V,U);
Dừng
6> Thuật giải tô màu tối ưu
Lặp lại các bước sau cho đến khi nào tô màu hết các đỉnh :
Bước 1 : chọn đỉnh có bậc lớn nhất tô màu i;
Bước 2 : Hạ bậc :
• Đỉnh đã tô màu : bậc = 0
• Những đỉnh có liên hệ : bậc := bậc – 1 Bước 3 : Đánh dấu các đỉnh liên hệ ( bậc vừa trừ đi 1 ) cấm tô màu i
7> thuật giải leo đồi đơn giản
B1 : nếu trạng thái ban đầu (T0) là trạng thái đích : thoát và báo là đã tìm được lời giải
Ngược lại , đặt trạng thái hiện hành (Ti) là trạng thái khởi đầu (T0)
B2 : Lặp lại cho đến khi đạt đến trạng thái kết thúc hoặc cho đến khi không tồn tại một trạng thái tiếp theo hợp
lệ (Tk) của trạng thái hiện hành :
a.Đặt Tk là một trạng thái tiếp theo hợp lệ của trạng thái hiện hành Ti b.Đánh giá trạng thái Tk mới :
b.1 nếu là trạng thái kết thúc thì trả về giá trị này và thoát b.2 nếu không phải là trạng thái kết thúc nhưng tốt hơn trạng thái hiện hành thì cập nhật nó thành trạng thái hiện hành
b.3 nếu nó không tốt hơn trạng thái hiện hành thì tiếp tục vòng lặp
8> Thuật giải leo đồi dốc đứng :
Bước 1 :nếu trạng thái bắt đầu cũng là trạng thái đích thì thoát và báo là đã tìm được lời giải
Ngược lại , đặt trạng thái hiện hành (Ti) là trạng thái khởi đầu (T0)
Bước 2 : lặp lại cho đến khi đạt đến trạng thái kết thúc hoặc cho đến khi (Ti) không tồn tại một trạng thái kế tiếp (Tk) nào tốt hơn trạng thái hiện tại (Ti) :
a) Đặt S bằng tập tất cả trạng thái kế tiếp có thể có của Ti và tốt hơn Ti
b) Xác định Tkmax là trạng thái tốt nhất trong tập S Đặt Ti = Tkmax.
9> Trình bày và nêu ý nghĩa các bước của thuật giải Vương Hạo
Bước 1: Phát biểu lại giả thiết và kết luận của vấn đề dưới dạng chuẩn
như sau: GT1, GT2, …, GTn → KL1, KL2, … KLm
Trong đó các GTi và KLj được xây dựng từ các biến mệnh đề và các phép toán ∧,∨,¬
Bước 2: Chuyển vế các GTi và KLj có dạng phủ định.
Bước 3: Thay dấu “∧” ở trong GTi và dấu “∨” ở trong KLj bằng dấu “,”(phẩy)
Bước 4: Nếu GTi còn dấu “∨” và KLj còn dấu “∧” thì dòng đó được tách thành hai dòng con
Bước 5: Nếu một dòng được chứng minh: nếu tồn tại chung một mệnh đề ở cả 2 vế thì coi như đúng.
Trang 4Bước 6:
nếu một dòng không còn dấu liên kết tuyển và hội mà cả ở hai vế
đều không có chung biến mệnh đề nào thì dòng đó không được
chứng minh
Lưu ý: Từ bước 2 đến bước 4 không cần làm theo thứ tự.
10>Trình bày và nêu ý nghĩa các bước của thuật giải Robinson
Bước 1: Phát biểu lại giả thiết và kết luận của vấn đề dưới dạng chuẩn như sau: GT1, GT2, …, GTn
→KL1, KL2, … KLm
Trong đó các GTi và KLj được xây dựng từ các biến mệnh đề và các phép toán ∧,∨,¬
Bước 2: Biến đổi dòng trên thành danh sách các mệnh đề:
{GT1, GT2, …, GTn, ¬KL1,¬KL2, …, ¬KLm
Bước 3: Nếu trong danh sách mệnh đề có 2 mệnh đề đối ngẫu nhau thì vấn đề được giải quyết xong Nếu
không thì chuyển sang bước 4
Bước 4: Xây dựng một mệnh đề mới bằng cách tuyển một cặp mệnh đề từ danh sách mệnh đề ở bước 2
Nếu mệnh đề mới có các biến mệnh đề đối ngẫu thì các biến mệnh đề đó được loại bỏ
Bước 5: Bổ sung mệnh đề mới này vào danh sách các mệnh đề và loại bỏ 2 mệnh đề được tuyển thành
mệnh đề mới đó
Bước 6: Nếu không xây dựng thêm được mệnh đề mới nào và trong danh sách các mệnh đề không có 2
mệnh đề nào đối ngẫu nhau thì vấn đề phát biểu ở dạng chuẩn của bước 1 là sai
11>Vẽ mô hình mô tả cấu trúc của 1 chương trình trí tuệ nhân tạo
Trang 512>Thuật toán Quiland :
Quyết định thuộc tính phân hoạch bằng cách xây dựng các vector đặc trưng cho mỗi giá trị của từng thuộc tính dẫn xuất và thuộc tính mục tiêu
Bước 1: Phân loại thuộc tính dẫn xuất và thuộc tính mục tiêu
Thuộc tính mục tiêu: là thuộc tính quan tâm
Thuộc tính dẫn xuất: là thuộc tính quan sát.
Bước 2: Với mỗi thuộc tính dẫn xuất A, tính vector đặc trưng
VA(j) = ( T(j , r1), T(j , r2) , …, T(j , rn) )
T(j, ri) = (tổng số phần tử trong phân hoạch có giá trị thuộc tính dẫn xuất A là j và có giá trị thuộc tính mục tiêu là ri ) / ( tổng số phần tử trong phân hoạch có giá trị thuộc tính dẫn xuất A là j )
* r1, r2, … , rn là các giá trị của thuộc tính mục tiêu
Bước 3: Chọn thuộc tính có nhiều vector đơn vị nhất để phân hoạch.
Vector đơn vị là vector có duy nhất một thành phần có giá trị 1 và những
thành phần khác có giá trị 0
Bước 4: Loại bỏ các thuộc tính đã được phân hoạch.
Nếu vẫn còn thuộc tính dẫn xuất quay lại bước 2 để tính vector đặc trưng
cho các thuộc tính dẫn xuất
Ngược lại, kết thúc thuật toán
Trang 613>Đo độ hỗn loạn
Bước 1: Phân loại thuộc tính dẫn xuất và thuộc tính mục tiêu
Thuộc tính mục tiêu: là thuộc tính quan tâm.
Thuộc tính dẫn xuất: là thuộc tính quan quan sát.
Bước 2: Với mỗi thuộc tính dẫn xuất ta chỉ cần tính độ hỗn loạn
trong đó:
• bt là tổng số phần tử có trong phân hoạch
• bj là tổng số phần tử có thuộc tính dẫn xuất A có giá trị j
• bri : tổng số phần tử có thuộc tính dẫn xuất A có giá trị j và thuộc
tính mục tiêu có giá trị i
Bước 3: Chọn thuộc tính có độ hỗn loạn thấp nhất để phân hoạch.
Bước 4: Loại bỏ các thuộc tính đã được phân hoạch.
Nếu vẫn còn thuộc tính đẫn xuất quay lại bước 2 để tính độ hỗn loạn cho các thuộc tính dẫn xuất
Ngược lại, kết thúc thuật toán
14>khái niệm mạng ngữ nghĩa : cho ví dụ minh họa ? ưu và nhược điểm chính ?
Khái niệm : mạng ngữ nghĩa biểu diễn tri thức dưới dạng đồ thị , trong đó :
- Đỉnh là các đối tượng (khái niệm)
- Cung cho biết mối quan hệ giữa các đối tượng (khái niệm ) này
Ví dụ :
Ưu điểm :
- Mạng ngữ nghĩa rất linh động, ta có thể dễ dàng thêm vào mạng các
đỉnh hoặc cung mới để bổ sung các tri thức cần thiết
- Mạng ngữ nghĩa có tính trực quan cao nên rất dễ hiểu
- Mạng ngữ nghĩa cho phép các đỉnh có thể thừa kế các tính chất từ các đỉnh khác thông qua các cung, từ đó, có thể tạo
ra các liên kết giữa những đỉnh không có liên kết trực tiếp với nhau
Khuyết điểm :
- chưa có các giới hạn cho các đỉnh và cung của mạng
- Tính thừa kế trên mạng sẽ có thể dẫn đến nguy cơ mâu thuẫn trong tri thức Chẳng hạn, nếu bổ sung thêm nút "Gà" vào mạng thì có thể dẫn đến kết luận là "Gà" biết "bay"!
- Hầu như không thể biển diễn các tri thức dạng thủ tục bằng mạng ngữ nghĩa vì các khái niệm về thời gian và trình tự không được thể hiện tường minh trên mạng ngữ nghĩa
15>Nêu 8 phương pháp học thông dụng để máy tiếp thu và tạo ra tri thức.
Trang 7- Học bằng cách chỉ dẫn : Hệ thống sẽ được cung cấp bằng các chỉ dẫn tổng quát.
dụ
giống nhau
năng đúng hoặc sai và tạo ra các giải thích dùng để hướng dẫn cách giải bài toán trong tương lai
mới, hệ thống sẽ làm thích nghi hành vi đã lưu trữ với tình huống mới
để nhận dạng các đặc tính cơ bản như cạnh từ các điểm ảnh
16>Trình bày cách phân loại tri thức Vẽ mô hình mô tả sự phân lớp của tri thức.
Tri thức sự kiện: là các khẳng định về một sự kiện, khái niệm nào đó
(trong một phạm vi xác định) Các định luật vật lý, toán học, thường
được xếp vào loại này (Chẳng hạn : mặt trời mọc ở đằng đông, tam giác
đều có 3 góc 600, )
Tri thức thủ tục: thường dùng để diễn tả phương pháp, các bước cần tiến
hành, trình từ hay ngắn gọn là cách giải quyết một vấn đề Thuật toán,
thuật giải là một dạng của tri thức thủ tục
Tri thức mô tả: cho biết một đối tượng, sự kiện, vấn đề, khái niệm,
được thấy, cảm nhận, cấu tạo như thế nào (một cái bàn thường có 4 chân,
con người có 2 tay, 2 mắt, )
Tri thức Heuristic: là một dạng tri thức cảm tính Các tri thức thuộc loại
này thường có dạng ước lượng, phỏng đoán, và thường được hình thành
thông qua kinh nghiệm
17>Trình bày 4 phương pháp biểu diễn tri thức thông dụng và giải thích ý nghĩa hoặc cho ví dụ
Trang 81. Logic mệnh đề:
- Mệnh đề là một khẳng định có thể nhận giá trị đúng hoặc sai.
- Định nghĩa: là sự mở rộng của logic mệnh đề bằng cách đưa vào các
khái niệm vị từ và các lượng từ phổ thông dụng (∀, ∃).
Ví dụ :
Các luật sinh có dạng: P1 ∧ P2 ∧ P3 ∧ … ∧ Pm → Q Tùy thuộc vào bản chất của lĩnh vực đang quan tâm
mà có những ngữ nghĩa khác nhau
biểu diễn tri thức dưới dạng đồ thị , trong đó đỉnh là các đối tượng (khái niệm) còn các cung cho biết mối quan hệ giữa các đối tượng (khái niệm) này
đến một đối tượng cụ thể nào đó
tả một đối tượng , script mô tả một chuỗi các sự kiện
Trang 9Mục Lục