xuan_quynh303

New Member

Download Các kỹ thuật tìm kiếm cơ bản của trí tuệ nhân tạo miễn phí





Mục Lục
Phần I 2
Giải quyết vấn đề bằng tìm kiếm 2
Chương I 3
Các chiến lược tìm kiếm mù 3
1. Biểu diễn vấn đề trong không gian trạng thái 3
2. Các chiến lược tìm kiếm 5
3. Các chiến lược tìm kiếm mù 7
4. Quy vấn đề về các vấn đề con. Tìm kiếm trên đồ thị và/hoặc. 11
Chương II 17
Các chiến lược tìm kiếm kinh nghiệm 17
1. Hàm đánh giá và tìm kiếm kinh nghiệm: 17
2. Tìm kiếm tốt nhất - đầu tiên: 18
3. Tìm kiếm leo đồi: 19
4. Tìm kiếm beam 20
Chương III 22
Các chiến lược tìm kiếm tối ưu 22
1. Tìm đường đi ngắn nhất. 22
2. Thuật toán A* 23
3. Thuật toán tìm kiếm nhánh-và-cận. 25
4. Tìm đối tượng tốt nhất 26
Chương IV 33
Tìm kiếm có đối thủ 33
5. Cây trò chơi và tìm kiếm trên cây trò chơi. 33
6. Chiến lược Minimax 34
7. Phương pháp cắt cụt alpha - beta 37
Phần II: 40
Tri thức và lập luận 40
Chương V 40
Logic mệnh đề 40
1. Biểu diễn tri thức 40
2. Cú pháp và ngữ nghĩa của logic mệnh đề. 41
3. Dạng chuẩn tắc 44
4. Luật suy diễn 46
CHƯƠNG VI : 52
Logic vị từ cấp một 52
 
 



Để tải bản DOC Đầy Đủ thì Trả lời bài viết này, mình sẽ gửi Link download cho

Tóm tắt nội dung:

c B, độ dài đường đi ngắn nhất tới B là g(B) = 19. Quá trình tìm kiếm trên được mô tả bởi cây tìm kiếm trong hình 3.2, trong đó các số cạnh các đỉnh là các giá trị của hàm đánh giá f(u).
procedure A*;
begin
1. Khởi tạo danh sách L chỉ chứa trạng thái ban đầu;
2. loop do
2.1 if L rỗng then
{thông báo thất bại; stop};
2.2 Loại trạng thái u ở đầu danh sách L;
2.3 if u là trạng thái đích then
{thông báo thành công; stop}
2.4 for mỗi trạng thái v kề u do
{g(v) ¬ g(u) + k(u,v);
f(v) ¬ g(v) + h(v);
Đặt v vào danh sách L;}
2.5 Sắp xếp L theo thứ tự tăng dần của hàm f sao cho
trạng thái có giá trị của hàm f nhỏ nhất
ở đầu danh sách;
end;
Chúng ta đưa ra một số nhận xét về thuật toán A*.
Người ta chứng minh được rằng, nếu hàm đánh giá h(u) là đánh giá thấp nhất (trường hợp đặc biệt, h(u) = 0 với mọi trạng thái u) thì thuật toán A* là thuật toán tối ưu, tức là nghiệm mà nó tìm ra là nghiệm tối ưu. Ngoài ra, nếu độ dài của các cung không nhỏ hơn một số dương d nào đó thì thuật toán A* là thuật toán đầy đủ theo nghĩa rằng, nó luôn dừng và tìm ra nghiệm.
Chúng ta chứng minh tính tối ưu của thuật toán A*.
Giả sử thuật toán dừng lại ở đỉnh kết thúc G với độ dài đường đi từ trạng thái ban đầu u0 tới G là g(G). Vì G là đỉnh kết thúc, ta có h(G) = 0 và f(G) = g(G) + h(G) = g(G). Giả sử nghiệm tối ưu là đường đi từ u0 tới đỉnh kết thúc G1 với độ dài l. Giả sử đường đi này “thoát ra” khỏi cây tìm kiếm tại đỉnh lá n (Xem hình 3.3). Có thể xẩy ra hai khả năng: n trùng với G1 hay không. Nếu n là G1 thì vì G được chọn để phát triển trước G1, nên f(G) £ f(G1), do đó g(G) £ g(G1) = l. Nếu n ¹ G1 thì do h(u) là hàm đánh giá thấp, nên f(n) = g(n) + h(n) £ l. Mặt khác, cũng do G được chọn để phát triển trước n, nên f(G) £ f(n), do đó, g(G) £ l. Như vậy, ta đã chứng minh được rằng độ dài của đường đi mà thuật toán tìm ra g(G) không dài hơn độ dài l của đường đi tối ưu. Vậy nó là độ dài đường đi tối ưu.
Trong trường hợp hàm đánh giá h(u) = 0 với mọi u, thuật toán A* chính là thuật toán tìm kiếm tốt nhất đầu tiên với hàm đánh giá g(u) mà ta đã nói đến.
Thuật toán A* đã được chứng tỏ là thuật toán hiệu quả nhất trong số các thuật toán đầy đủ và tối ưu cho vấn đề tìm kiếm đường đi ngắn nhất.
Thuật toán tìm kiếm nhánh-và-cận.
Thuật toán nhánh_và_cận là thuật toán sử dụng tìm kiếm leo đồi với hàm đánh giá f(u).
Trong thuật toán này, tại mỗi bước khi phát triển trạng thái u, thì ta sẽ chọn trạng thái tốt nhất v (f(v) nhỏ nhất) trong số các trạng thái kề u đề phát triển ở bước sau. Đi xuống cho tới khi gặp trạng thái v là đích, hay gặp trạng thái v không có đỉnh kề, hay gặp trạng thái v mà f(v) lớn hơn độ dài đường đi tối ưu tạm thời, tức là đường đi đầy đủ ngắn nhất trong số các đường đi đầy đủ mà ta đã tìm ra. Trong các trường hợp này, ta không phát triển đỉnh v nữa, hay nói cách khác, ta cất đi các nhánh cây xuất phát từ v, và quay lên cha của v đề tiếp tục đi xuống trạng thái tốt nhất trong các trạng thái còn lại chưa được phát triển.
Ví dụ: Chúng ta lại xét không gian trạng thái trong hình 3.1. Phát triển đỉnh A, ta nhận được các đỉnh con C, D, E và F, f(C) = 24, f(D) = 13, f(E) = 21, f(F) = 27. Trong số này D là tốt nhất, phát triển D, sinh ra các đỉnh con H và E, f(H) = 25, f(E) = 19. Đi xuống phát triển E, sinh ra các đỉnh con là K và I, f(K) = 17, f(I) = 18. Đi xuống phát triển K sinh ra đỉnh B với f(B) = g(B) = 21. Đi xuống B, vì B là đỉnh đích, vậy ta tìm được đường đi tối ưu tạm thời với độ dài 21. Từ B quay lên K, rồi từ K quay lên cha nó là E. Từ E đi xuống J, f(J) = 18 nhỏ hơn độ dài đường đi tạm thời (là 21). Phát triển I sinh ra các con K và B, f(K) = 25, f(B) = g(B) = 19. Đi xuống đỉnh B, vì đỉnh B là đích ta tìm được đường đi đầy đủ mới với độ dài là 19 nhỏ hơn độ dài đường đi tối ưu tạm thời cũ (21). Vậy độ dài đường đi tối ưu tạm thời bây giờ là 19. Bây giờ từ B ta lại quay lên các đỉnh còn lại chưa được phát triển. Song các đỉnh này đều có giá trị hàm đánh giá lớn hơn 19, do đó không có đỉnh nào được phát triển nữa. Như vậy, ta tìm được đường đi tối ưu với độ dài 19. Cây tìm kiếm được biểu diễn trong hình 3.4.
Thuật toán nhánh_và_cận sẽ được biểu diễn bởi thủ tục Branch_and_Bound. Trong thủ tục này, biến cost được dùng để lưu độ dài đường đi ngắn nhất. Giá trị ban đầu của cost là số đủ lớn, hay độ dài của một đường đi đầy đủ mà ta đã biết.
procedure Branch_and_Bound;
begin
1. Khởi tạo danh sách L chỉ chứa trạng thái ban đầu;
Gán giá trị ban đầu cho cost;
2. loop do
2.1 if L rỗng then stop;
2.2 Loại trạng thái u ở đầu danh sách L;
2.3 if u là trạng thái kết thúc then
if g(u) £ y then {y ¬ g(y); Quay lại 2.1};
2.4 if f(u) > y then Quay lại 2.1;
2.5 for mỗi trạng thái v kề u do
{g(v) ¬ g(u) + k(u,v);
f(v) ¬ g(v) + h(v);
Đặt v vào danh sách L1};
2.6 Sắp xếp L1 theo thứ tự tăng của hàm f;
2.7 Chuyển L1 vào đầu danh sách L sao cho trạng thái
ở đầu L1 trở thành ở đầu L;
end;
Người ta chứng minh được rằng, thuật toán nhánh_và_cận cũng là thuật toán đầy đủ và tối ưu nếu hàm đánh giá h(u) là đánh giá thấp và có độ dài các cung không nhỏ hơn một số dương d nào đó.
Tìm đối tượng tốt nhất
Trong mục này chúng ta sẽ xét vấn đề tìm kiếm sau. Trên không gian tìm kiếm U được xác định hàm giá (hàm mục tiêu) cost, ứng với mỗi đối tượng x Î U với một giá trị số cost(x), số này được gọi là giá trị của x. Chúng ta cần tìm một đối tượng mà tại đó hàm giá trị lớn nhất, ta gọi đối tượng đó là đối tượng tốt nhất. Giả sử không gian tìm kiếm có cấu trúc cho phép ta xác định được khái niệm lân cận của mỗi đối tượng. Chẳng hạn, U là không gian trạng thái thì lân cận của trạng thái u gồm tất cả các trạng thái v kề u; nếu U là không gian các vectơ thực n-chiều thì lân cận của vectơ x = (x1, x2, ... xn) gồm tất cả các vectơ ở gần x theo khoảng cách Ơcơlit thông thường.
Trong mục này, ta sẽ xét kỹ thuật tìm kiếm leo đồi để tìm đối tượng tốt nhất. Sau đó ta sẽ xét kỹ thuật tìm kiếm gradient (gradient search). Đó là kỹ thuật leo đồi áp dụng cho không gian tìm kiếm là không gian các vectơ thực n-chiều và hàm giá là là hàm khả vi liên tục. Cuối cùng ta sẽ nghiên cứu kỹ thuật tìm kiếm mô phỏng luyện kim( simulated annealing).
Tìm kiếm leo đồi
Kỹ thuật tìm kiếm leo đồi để tìm kiếm đối tượng tốt nhất hoàn toàn giống như kỹ thuật tìm kiếm leo đồi để tìm trạng thái kết thúc đã xét trong mục 2.3. Chỉ khác là trong thuật toán leo đồi ở mục 2.3, từ một trạng thái ta "leo lên" trạng thái kề tốt nhất (được xác định bởi hàm giá), tiếp tục cho tới khi đạt tới trạng thái đích; nếu chưa đạt tới trạng thái đích mà không leo lên được nữa, thì ta tiếp tục "tụt xuống" trạng thái trước nó, rồi lại leo lên trạng thái tốt nhất còn lại. Còn ở đây, từ một đỉnh u ta chỉ leo lên đỉnh tốt nhất v (được xác định bởi hàm giá cost) trong lân cận u nếu đỉnh này "cao hơn" đỉnh u, tức là cost(v) > cost(u). Quá trình tìm kiếm sẽ dừng lại ngay khi ta không leo lên...
 
Các chủ đề có liên quan khác
Tạo bởi Tiêu đề Blog Lượt trả lời Ngày
D khảo sát địa kỹ thuật khu vực đất yếu, lựa chọn chỉ tiêu cơ lý của các lớp đất & các giải pháp xử lý nền đường đắp trên đất yếu Khoa học Tự nhiên 0
C Kỹ thuật lên men thực phẩm cổ truyền Việt Nam và các nước trong vùng Khoa học Tự nhiên 0
S Các loại bằng chứng kiểm toán và phương pháp kỹ thuật thu thập bng chứng kiểm toán Kiến trúc, xây dựng 0
T Hoàn thiện phương pháp phân tích hiệu quả các dự án đầu tư xây dựng cơ sở hạ tầng kỹ thuật khu công Kiến trúc, xây dựng 0
S Kế toán tiền lương và các khoản trích theo lương n của Công ty Tư vấn Kỹ Thuật và Công nghệ Kiến trúc, xây dựng 0
A Ảnh hưởng các yếu tố kinh tế kỹ thuật đến việc tăng năng suất lao động tại công ty dệt Minh Khai, th Công nghệ thông tin 0
H Kỹ thuật xác định các ca kiểm thử và dữ liệu kiểm thử nhờ ma trận kiểm thử Công nghệ thông tin 0
T Áp dụng các kỹ thuật trong big data vào lưu trữ dữ liệu Công nghệ thông tin 0
K thực tập áp dụng các phương pháp kỹ thuật thu thập bằng chứng kiểm toán tài chính do công ty tnhh ki Luận văn Kinh tế 0
C Lập và lựa chọn các giải pháp kỹ thuật công nghệ và tổ chức thi công Luận văn Kinh tế 0

Các chủ đề có liên quan khác

Top