Search Techniques – Những kỹ thuật tìm kiếm

23 279 0
Search Techniques – Những kỹ thuật tìm kiếm

Đ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

Search Techniques – Những kỹ thuật tìm kiếm

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT HƯNG YÊN KHOA CÔNG NGHỆ THÔNG TIN @&? Bµi tiÓu luËn M¤N HäC: hÖ chuyªn gia §Ò 6: Search Techniques Những kỹ thuật tìm kiếm Giáo viên hướng dẫn : Nguyễn Thị Hải Năng Sinh viên thực hiện : Bùi Văn Chung Đỗ Xuân Cường Phùng Thế Bốn Phạm Ngọc Lập Nguyễn Văn Huấn Lớp : TK6LC1 Hưng Yên, tháng 12 năm 2009 Tiểu luận Hệ chuyên gia Đề 6: Search Techniques Những kỹ thuật tìm kiếm Lời nói đầu Hệ chuyên gia là một hệ thống tin học có thể mô phỏng (emulates) năng lực quyết đoán (decision) và hành động (making abilily) của một chuyên gia (con người). Hệ chuyên gia là một trong những lĩnh vực ứng dụng của trí tuệ nhân tạo (Artificial Intelligence). Dạng phổ biến nhất của hệ chuyên gia là một chương trình gồm một tập luật phân tích thông tin (thường được cung cấp bởi người sử dụng hệ thống) về một lớp vấn đề cụ thể, cũng như đưa ra các phân tích về các vấn đề đó, và tùy theo thiết kế chương trình mà đưa lời khuyên về trình tự các hành động cần thực hiện để giải quyết vấn đề. Đây là một hệ thống sử dụng các khả năng lập luận để đạt tới các kết luận. Đề tài của chúng em là Đề 6: Search Techniques - Những kỹ thuật tìm kiếm Dưới đây chúng em có phần Tiếng Anh và phần dịch sang tiếng Việt. Tuy nhiên do thời gian có hạn nên chúng em dịch theo ý hiểu và còn có nhiều chỗ có thể chưa hợp lí. Chúng em rất mong được cô giáo xem và nhận xét để bài tiểu luận của chúng em được hoàn thiện hơn nữa. Chúng em xin chân thành cảm ơn! Bùi Văn Chung Đỗ Xuân Cường Phùng Thế Bốn Phạm Ngọc Lập Nguyễn Văn Huấn Lớp TK6LC1 Tiểu luận Hệ chuyên gia Đề 6: Search Techniques Những kỹ thuật tìm kiếm 20. Những kỹ thuật tìm kiếm. Trong chương này, chúng tôi tóm tắt những kỹ thuật tìm kiếm AI cổ điển. Phần đầu tiên nói về Frameworks trạng thái dịch chuyển cho việc giải quyết những vấn đề về đồ thị state-space của hạng. Phần thứ hai nói về thuật toán loại bỏ alpha-beta cho cây tìm kiếm. 20.1 Đồ thị tìm kiếm state-space Đồ thị state-space được sử dụng để biểu diễn những vấn đề. Mỗi nút của đồ thị là mỗi trạng thái của vấn đề. Và cạnh giữa các nút nếu nó là một quy tắc chuyển trạng thái, ngoài ra còn được gọi là một phiên, sự chuyển trạng thái vào nút tiếp theo. Để hiểu được nghĩa của vấn đề ta sẽ tìm đường đi từ trạng thái ban đầu tới trạng thái cần tìm bằng việc thêm vào một chuỗi FrameWork của phiên. Phần 20.1 là một FrameWork cho việc giải quyết vấn đề nghiên cứu đồ thị state-space, sử dụng nghiên cứu như được trình bày ở phần 14.2. Không có sự dịch chuyển đại diện cho trạng thái sự dịch chuyển được thể hiện bởi một vị từ nhị phân move(State,Move). Vị từ update(state,move,state1) thêm move vào state được statel. Nó thường dễ dàng kết hợp thủ tục dịch chuyển và thủ tục cập nhật. Chúng ta cần đặt riêng biệt hai thủ tục để hiểu rõ hơn và duy trì tính linh động có thể có ở quá trình thực hiện. Quá trình di chuyển sẽ được kiểm tra bởi vị từ legal(State), vị từ đó kiểm tra nếu như State thỏa mãn ràng buộc của vấn đề. Chương trình giữa History của những trạng thái sử dụng solve_dfs(State,History,Moves) ← Move là chuỗi di chuyển trạng thái cuối từ State, History chứa trạng thái trước. solve_dfs(State,History,[ ]) ← final_state(State). solve_dfs(State,History,[Move|Moves]) ← move(State,Move), update(State,Move,Moves), legal(State1), not member(State1,History), slove_dfs(State1,[State1| History],Moves). Bùi Văn Chung Đỗ Xuân Cường Phùng Thế Bốn Phạm Ngọc Lập Nguyễn Văn Huấn Lớp TK6LC1 Tiểu luận Hệ chuyên gia Đề 6: Search Techniques Những kỹ thuật tìm kiếm Quá trình kiểm tra FrameWork test_dfs(Problem, Moves) ← initial_state(Problem, State), solve_dfs(State, [State], Moves). Để ngăn cản đường vòng. Kiểm tra đường vòng sẽ không xảy ra nếu như phát hiện thấy. Nếu trạng thái mới xuất hiện trong trạng thái History. Chuỗi dịch chuyển dẫn từ tạng thái ban đầu đến trạng thái kết thúc được xây dựng ở luận cứ thứ 3 của slove_dfs/3. Để giải quyết vân đề sử dụng FrameWork, chương trình phải quyết định trạng thái trình bày như thế nào, và thủ tục move, update, legal. Sự trình bày hợp lý sẽ thu được hiệu quả cao của FrameWork này. Chúng ta sẽ sử dụng FrameWork để giải quyết vấn đề về chó sói, dê, cải bắp. Một người nông dân với một con chó sói, một con dê, và cải bắp ở bên trái dòng sông. Người nông dân có một cái thuyền có thể chở một trong ba thứ, và anh ta phải vận chuyển cả ba sang bên phải dòng sông. Vấn đề là anh ta không thể di chuyển chó và dê cung chuyến (chó sói sẽ ăn thịt dê), hoặc dê và cải bắp ( dê thích ăn cải). Anh ta phải chở tất cả một lúc thì nặng và không được làm mất sự cân bằng nếu để lại một vật gì đó. Trạng thái được đưa ra bởi một triple, wgc(B, L, R), ở đây B là vị trí của thuyền (trái hoặc phải), L là danh sách vật ở bân trái dòng sông và R là danh sách những vật ở bên phải dòng sông. Trạng thái xuất phát và kết thúc là wgc(left,[wolf, goat, cabbage],[ ]) và wgc(right,[ ], [wolf, goat, cabbage]), lần lượt theo thứ tự. Trong thực tế, nó không cần thiết phải chú ý tới vật của cả hai bên trái và phải sông. Vật bên trái sông có thể được suy ra từ những vật ở bên phải dòng sông, và có thể thay thế. Nhưng cả hai phải được chuyển hết. Nó thuận tiện cho việc kiểm tra đường vòng, chó sói sẽ được đưa đi trước dê, cả hai sẽ được đưa đi trước cải bắp nếu như chúng được đưa đi trên cùng một bờ sông. Đưa vật tới bờ có thể được chỉ ra bởi cargo. Trường hợp khi không có gì đưa đi bởi cargo alone. Hoạt động của member được phép mô tả chi tiết trong tất cả sự dịch chuyển trong 3 mệnh đề được đưa ra ở chương 20.2: di chuyển cái gì đó từ bên tái bờ sông, chuyển cái gì đó từ bên phải dòng sông, hoặc sự chèo thuyền của người nông dân. Bùi Văn Chung Đỗ Xuân Cường Phùng Thế Bốn Phạm Ngọc Lập Nguyễn Văn Huấn Lớp TK6LC1 Tiểu luận Hệ chuyên gia Đề 6: Search Techniques Những kỹ thuật tìm kiếm Với mỗi sự dịch chuyển này, việc cập nhật thủ tục phải rõ ràng, cụ thể, sự thay đổi vị trí của thuyền( bởi update_boat2) và cập nhật bờ sông ( bởi update_banks). Sử dụng vị từ Select cho phép miêu tả cụ thể tiến trình cập nhật. Thủ tục insert cần thiết cho người sử dụng, là điều kiện thuận lợi để kiểm tra nếu một trạng thái đã sử dụng trước đó. Nó chứa đựng tất cả những trường hợp có thể thêm vào ngăn chứa. Cuối cùng, phương thúc thử nghiệm cho tính hợp pháp, giảm ngăn chứa. Chó sói và dê không được trên cùng bờ sông ngoài người nông dân, hoặc không thể để dê và cải bắp trên cùng bờ sông. Phần 20.2, cũng tương tự chương 20.1, giải quyết vấn đề Wolf, goat, và cabbage. Chúng tôi sử dung FrameWork cho việc giải quyết vấn đề tìm kiếm cổ điển khác ví dụ như bài toán vui_ vấn đề những bình nước. Có hai bình có thể chứa 8 và 5 lít nước không có vạch dấu nào, và vấn đề là để đo chính xác 4 lít từ một bể có chứa 20 lít (hoặc một số khác lớn hơn). Những thao tác đổ đầy tràn một cái từ thùng to, làm trống rỗng một cái bình vào trong thùng to, và sự thay đổi từ bình này bình đến bình khác cho đến mọi cái bình trống rỗng hoàn toàn, hay cái bình khác đầy. Vấn đề được miêu tả trong Hình 20.1. Vấn đề có thể được khái quát hóa tới N những cái bình của khả năng C1, …, CN. Vấn đề sẽ đo một thể tích V, khác với mọi C1 nhưng ít hơn là lớn nhất. Có một giải pháp nếu V là một nhiều của ước số chung lớn nhất của C1. Ví dụ đặc biệt chúng ta có thể giải quyết được bởi vì 4 là một nhiều của ước số chung lớn nhất của 8 và 5. Phát biểu cho wolf, goat và cabbage là một cấu trúc wgc(Boat, Left, Right), Left là danh sách của những thứ ở trên bờ trái của sông, và Right là danh sách của những thứ ở trên bờ phải. initial_state(wgc,wgc(left,[wolf, goat, cabbage],[ ])). final_state(wgc(righ , [ ], [wolf, goat, cabbage] )). move(wgc(left, L, R), Cargo) ← member(Cargo, L). move(wgc(right, L, R), Cargo) ← member(Cargo, R). move(wgc(B, L, R), alone). update(wgc(B, L, R), Cargo, wgc(B1, L1, R1)). update_boat(B, B1), update_banks( Cargo,B, L, R, L1, R1). update_boat(left, right). Bùi Văn Chung Đỗ Xuân Cường Phùng Thế Bốn Phạm Ngọc Lập Nguyễn Văn Huấn Lớp TK6LC1 Tiểu luận Hệ chuyên gia Đề 6: Search Techniques Những kỹ thuật tìm kiếm update_boat( right, left). update_banks(alone, B, L, R, L, R). update_banks(Cargo,left, L, R, L1, R1) ← select(Cargo, L, L1), insert(Cargo,R, R1). update_banks(Cargo,right, L, R, L1, R1) ← select(Cargo, R, R1), insert(Cargo,L, L1). insert(X,[ Y | Y S ], [X, Y | Y S ]) ← precedes(X, Y). insert(X,[ Y | Y S ], [ Y | Z S ]) ← precedes(Y, X), insert(X, Y S , Z S ). insert(X, [ ], [X]). precedes(wolf, X). precedes( X, cabbage). legal(wgc(left, L, R)) ← not illegal(R). legal(wgc(right, L, R)) ← not illegal(L). illegal(Bank) ← member(wolf, Bank), member(goat, Bank). illegal(Bank) ← member(goat, Bank), member(cabbage, Bank). select(X, X S , Y S ) ← See Program 3.19 Chương trình 20.2. Giải quyết vấn đề wolf, goat, and cabbage. 8 litres 5 litres 4 litres Hình 20.1. Vấn đề những bình nước Vấn đề đặc biệt chúng tôi giải quyết được hai bình của khả năng chuyên quyền, nhưng cách tiếp cận ngay lập tức khái quát hóa tới bất kỳ số lượng bình. Chương trình này giả định hai sự kiện trong cơ sở dữ liệu, capacity(I, CI), cho I cân bằng với 1 và 2. Trạng thái là một cấu trúc jugs(V1, V2), ở đâu V1 và V2 đại diện cho những thể tích của nước hiện thời trong hai cái bình. Trạng thái ban đầu jugs(0,0) và trạng thái cuối cùng mong muốn hay jugs(0, X) or jugs(X, 0), trong đó X là thể tích mong muốn. Thật ra, trạng thái cuối cùng duy nhất sẽ được chỉ rõ là thể tích mong muốn trong cái bình Bùi Văn Chung Đỗ Xuân Cường Phùng Thế Bốn Phạm Ngọc Lập Nguyễn Văn Huấn Lớp TK6LC1 Tiểu luận Hệ chuyên gia Đề 6: Search Techniques Những kỹ thuật tìm kiếm lớn hơn. Dữ liệu để giải quyết vấn đề trên với chương trình 20.1 được cho trong chương trình 20.3. Có các bước: việc hoàn thành, làm trống rỗng mỗi cái bình, chuyển lượng nước từ cái bình này sang bình khác. Một thực tế mẫu đó là để hoàn thành cho cái bình đầu tiên move(iugs(V1, V2), fill(1)). Trạng thái được đưa để rõ ràng cho phép dữ liệu để cùng tồn tại với vấn đề khác giải quyết dữ liệu như vậy như trong Chương trình 20.2. Những động tác làm trống rỗng một cái bình. Thủ tục cập nhật có liên hệ với bốn bước đơn giản, trong khi thao tác chuyển dịch có hai trường hợp. Nếu thể tích tổng trong những cái bình là ít hơn thể tích cái bình đầy. Đây được đạt được bởi vị từ adjust/4. Chú ý rằng thử cho đúng bình thường bởi vì tất cả các trạng thái có thể với tới được đều đúng. Đa số những vấn đề thú vị có một sự tìm kiếm quá lớn. Không gian sẽ được tìm kiếm toàn diện bởi một chương trình thích 20.1. Một sự cải tiến: initial_state(jugs, jugs(0,0)). final_state(jugs(4, V)). final_state(jugs(V, 4)). move(jugs(V1, V2), fill(1)). move(jugs(V1, V2), fill(2)). move(jugs(V1, V2), empty(1)) ← V1 > 0. move(jugs(V1, V2), empty(2)) ← V2 > 0. move(jugs(V1, V2), transfer(2, 1)). move(jugs(V1, V2), transfer(1, 2)). update(jugs(V1, V2), fill(1), jugs(C1, C2)) ← capacity(1, C1). update(jugs(V1, V2), fill(2), jugs(C1, C2)) ← capacity(2, C2). update(jugs(V1, V2), empty(1), jugs(0, V2)). update(jugs(V1, V2), empty(2), jugs(V1, 0)). update(jugs(V1, V2), transfer(2, 1), jugs(W1, W2)) ← capacity(2, C2), Liquid is V1 + V2, excess is Liquid C2, adjust(Liquid, Excess, W2, W1). adjust(Liquid, Excess, Liquid, 0) ← excess ≤ 0. Bùi Văn Chung Đỗ Xuân Cường Phùng Thế Bốn Phạm Ngọc Lập Nguyễn Văn Huấn Lớp TK6LC1 Tiểu luận Hệ chuyên gia Đề 6: Search Techniques Những kỹ thuật tìm kiếm adjust(Liquid, Excess, V, Excess) ←excess >0, V is Liquid Excess. legal(jugs(V1, V2)). capacity(1,8). capacity(2,5). Chương trình 20.3 Giải quyết vấn đề thùng nước Để đưa kiến thức thêm vào moves (Cho phép). Giải pháp tới vấn đề bình có thể được tìm thấy bằng việc hoàn thành một trong những cái bình bất cứ khi nào khả dĩ. và cách khác chuyển nội dung (của) cái bình đầy đối với hiện thân bình làm trống rỗng. Như vậy thay vì sáu sự chuyển động chỉ có ba nhu cầu là specifiel, và tìm kiếm sẽ trực tiếp hơn, bởi vì chỉ có một chuyển động sẽ là E hợp với bất kỳ trạng thái đã cho nào. Điều này có thể không đưa ra một giải pháp tối ưu nếu jug sai để không ngừng được lấp đầy được chọn. Việc phát triển điểm futher này, ba sự chuyển động có thể được liền lại vào trong một sự chuyển động mức bậc cao fill_and_transfer. Cách (mưu kế) này hoàn thành cho một bình và chuyển đổi đều nội dung (của) nó tới cái bình khác, làm cạn Cái bình khác như cần thiết. Mã để truyền Từ Lớn hơn đối với cái bình smaller Move(jugs(V1, V2 ), fill_and_transfer(1)). Update(jugs(V1,V2),fill_and_transfer(1), jugs (0,V)) Capacity (1,C1 ) Capacity (2 C2) , C1> C2 , V is (C1+V2) mod C2 . Sử dụng chương trình này, chúng tôi làm cần chỉ có ba đầy và những thao tác chuyển đổi để giải quyết vấn đề trong hình 20.1 Thêm những những phương tiện kiến thức miền như vậy thay đổi mô tả bài toán emtirely và cấu thành lập trình, mặc dù tại một mức khác. Khả năng khác (cho) sự cải tiến (của) sự thực hiện tìm kiếm, được điều tra bởi nghiên cứu sớm ở Al, là sự chỉ đạo phát hiện. Một tổng quan framework, dựa vào một Bùi Văn Chung Đỗ Xuân Cường Phùng Thế Bốn Phạm Ngọc Lập Nguyễn Văn Huấn Lớp TK6LC1 Tiểu luận Hệ chuyên gia Đề 6: Search Techniques Những kỹ thuật tìm kiếm sự lựa chọn rõ ràng hơn của trạng thái tiếp theo để tìm kiếm trong những trạng thái đồ thị không gian, được sử dụng. Sự lựa chọn phụ thuộc vào những điểm số được gán đối với positions. Điểm, được tính toán Bởi Một evaluation function, là một biện pháp (của) lòng tốt (của) vị trí. Sự tìm chiều sâu có thể được coi là một trường hợp đặc biệt (của) sự tìm kiếm sử dụng một chức năng đánh giá mà có giá trị là khoảng cách (của) trạng thái curren, trong khi sự tìm chiều rộng sử dụng một chức năng đánh giá mà là sự đảo (của) khoảng cách đó. Chúng tôi cho thấy rằng hai tìm kiếm kỹ thuật mà sử dụng một chức năng đánh giá rõ ràng leo và sự tìm kiếm đầu tiên tốt nhất. Trong sự chảy, vị từ value(State, Giá trị) Là một chức năng Đánh giá. Sự leo Ngọn đồi là một sự khái quát của sự tìm chiều sâu nơi suc- cessor vị trí với những điểm cao nhất được lựa chọn hơn là cực tả Một lựa chọn bởi prolog. Khung giải quyết vấn đề (của) chương trình 20.1 (thì) dễ dàng được làm thích nghi.Sự chuyển động leo ngọn đồi phát sinh mọi trạng thái mà có thể được với lấy từ trạng thái curren trong một sự chuyển động đơn, và ra lệnh họ trong việc giảm bớt mệnh lệnh đối với những giá trị được tính toán bởi chức năng đánh giá. Vị từ evaluate_and_order(Moves, State, MVs) xác định quan hệ điều đó MVs, một danh sách có trật tự (của) những bộ dữ liệu giá trị chuyển động tương xứng với danh sách (của) những sự chuyển động Moves một Trạng thái Trạng thái. Chương trình toàn bộ được cho như Lập trình 20.4. Để trình diễn hành vi (của) chương trình chúng tôi sử dụng cái cây ví dụ (của) chương trình 14.8 tăng lên với một giá trị (cho) mỗi sự chuyển động. (Cái) này được đưa cho như Chương trình 20.5, kết hợp với Chương trình 20.5 và những định nghĩa thích hợp của sự cập nhật và hợp pháp tìm kiếm cái cây trong mệnh lệnh một, D, J. Chương trình (thì) dễ dàng được kiểm tra trên con chó sói, con dê, và vấn đề cải bắp sử dụng trong khi sự đánh giá vận hành số lượng những kẻ chiếm đóng trên ngân hàng đúng. Lập trình 20.4 chứa đựng một tính toán lặp lại. Trạng thái được đạt đến bởi sự Chuyển động được tính toán để đạt đến một giá trị (cho) sự Chuyển động và sau đó được tính toán lại bởi sự cập nhật. Sự tính toán lại có thể được tránh bằng việc thêm một lý lẽ thêm vào sự chuyển động và giữ trạng thái cùng với sự chuyển động và giá trị như những sự chuyển động được ra lệnh này. Khả năng khác Nếu sẽ có nhiều sự Bùi Văn Chung Đỗ Xuân Cường Phùng Thế Bốn Phạm Ngọc Lập Nguyễn Văn Huấn Lớp TK6LC1 Tiểu luận Hệ chuyên gia Đề 6: Search Techniques Những kỹ thuật tìm kiếm tính toán của cùng sự chuyển động đang sử dụng một chức năng viết tắt. Cái gì (thì) hiệu quả nhất phương pháp phụ thuộc vào vấn đề đặc biệt. (Cho) những vấn đề nơi thủ tục cập nhật đơn giản, Giới thiệu ý định Tốt nhất. Sự leo Ngọn đồi là một kỹ thuật tốt khi có chỉ có một Ngọn đồi và chức năng đánh giá là một chỉ định tốt (của) sự tiến bộ. Thực chất, nó đưa một địa phương quan sát đồ thị không gian trạng thái, làm quyết định trên ở đâu (kẻ) tiếp theo đi sự tìm kiếm trên cơ sở của trạng thái hiện thời một mình. Một giải pháp tìm kiếm phương pháp, gọi best-first search, cầm lấy một cái nhìn toàn cầu tại không gian trạng thái đầy đủ. Trạng thái tốt nhất từ tất cả Đó Hiện thời $Un được tìm kiếm được lựa chọns. Lập trình 20.6 (cho) sự tìm kiếm đầu tiên tốt nhất là một sự khái quát (của) sự tìm chiều rộng đã cho trong Mục(khu vực) 16.2. Một biên giới bị giữ khi (cho) sự tìm chiều rộng, mà được cập nhật như sự tìm kiếm tiến triển. Tại mỗi atage, sự chuyển động sẵn có tốt thứ tiếp theo được làm. Chúng tôi làm cho mã càng tương tự càng tốt để Lập trình là 20.4 (cho) ngọn đồi cllimbing cho phép sự so sánh Solve_hill_climb(State,History,Moves) Moves là chuỗi (của) những sự chuyển động để đạt đến trạng thái cuối cùng quảng cáo esired từ dòng State, where History là một danh sách (của) trạng thái được đến thăm trước đó. Solve_hill_climb(State,History,[]) Final_state(State). Solve_hill_climb(State,History,[Move|Moves]) Hill_climb(State,Move), Update(State,Move,State1), Legal(State1), Not member(State1,History), Solve_hill_climb(State1,[State1|History],Moves). Hill_climb(State,Move) Findall(M,move(State,M),Move), Evaluate_and_order(Moves,State,[],MVs), Member((Move,Value),MVs). Bùi Văn Chung Đỗ Xuân Cường Phùng Thế Bốn Phạm Ngọc Lập Nguyễn Văn Huấn Lớp TK6LC1 [...]... Lập Nguyễn Văn Huấn Lớp TK6LC1 Tiểu luận Hệ chuyên gia Đề 6: Search Techniques Những kỹ thuật tìm kiếm Mục lục Lời nói đầu 20 Những kỹ thuật tìm kiếm 20.1 Đồ thị tìm kiếm state-space 20.2 Trò chơi cây tìm kiếm (Searching Game Trees) 20.3 Thông tin nền Mục lục 2 3 3 15 22 23 Bùi Văn Chung Đỗ Xuân Cường Phùng Thế Bốn Phạm Ngọc Lập Nguyễn Văn Huấn Lớp TK6LC1 ... đi trước và chọn nước đi tốt nhất để thực hiện Thuật toán minimax là phương pháp tiêu chuẩn để xác định giá trị của một vị trí dựa vào việc tìm kiếm trên cây trò chơi một số lớp trước Bùi Văn Chung Đỗ Xuân Cường Phùng Thế Bốn Phạm Ngọc Lập Nguyễn Văn Huấn Lớp TK6LC1 Tiểu luận Hệ chuyên gia Đề 6: Search Techniques Những kỹ thuật tìm kiếm Các thuật toán cam đoan rằng, khi đối mặt với nhiều... nào mà Một sự bất lợi (của) sự tìm chiều rộng ( Và từ đây sự tìm kiếm đầu tiên tốt nhất (và sự tìm kiếm từ đây đầu tiên tốt nhất) là đường (dẫn) đó Bùi Văn Chung Đỗ Xuân Cường Phùng Thế Bốn Phạm Ngọc Lập Nguyễn Văn Huấn Lớp TK6LC1 Tiểu luận Hệ chuyên gia Đề 6: Search Techniques Những kỹ thuật tìm kiếm để bắt (ngấm) không phải như tiện lợi được tính toán Mỗi kho nấm mốc trạng thái rõ ràng với... Moves), Bùi Văn Chung Đỗ Xuân Cường Phùng Thế Bốn Phạm Ngọc Lập Nguyễn Văn Huấn Lớp TK6LC1 Tiểu luận Hệ chuyên gia Đề 6: Search Techniques Những kỹ thuật tìm kiếm D1 is D 1, MinMax is -MaxMin, evaluate_and_choose (Moves, Position, D1, MinMax, (nil, -1000), (Move, Value)) update(Move, Value, Record, Record1) ← Xem chương trình 20.9 Chương trình 20.10 Chọn nước đi tốt nhất bằng thuật toán minimax... chức năng đánh giá, tính toán các giá trị gia tăng của các Bùi Văn Chung Đỗ Xuân Cường Phùng Thế Bốn Phạm Ngọc Lập Nguyễn Văn Huấn Lớp TK6LC1 Tiểu luận Hệ chuyên gia Đề 6: Search Techniques Những kỹ thuật tìm kiếm vị trí, hiện trạng của trò chơi Đây là một thuật toán đơn giản cho việc lựa chọn các nước đi tiếp theo Tìm tất cả các trạng thái có thể có trong một di chuyển của trò chơi Tính... Value(S,V), evaluates(States,Values) Bùi Văn Chung Đỗ Xuân Cường Phùng Thế Bốn Phạm Ngọc Lập Nguyễn Văn Huấn Lớp TK6LC1 Tiểu luận Hệ chuyên gia Đề 6: Search Techniques Những kỹ thuật tìm kiếm Evaluates([],[]) Lập trình 20.6 Khung đầu tiên Tốt nhất (cho) sự giải quyết vấn đề Inserts(States,Frontier, Frontier1) Frontier1 là kết quả của việc chèn những trạng thái vào trong Biên giới hiện thời Inserts([Value|values],... dụng nó để viết một chương trình cho một trò chơi đặc biệt thì cần tập trung sự chú ý vào: những cấu trúc dữ liệu cần được sử dụng để đại diện cho các Bùi Văn Chung Đỗ Xuân Cường Phùng Thế Bốn Phạm Ngọc Lập Nguyễn Văn Huấn Lớp TK6LC1 Tiểu luận Hệ chuyên gia Đề 6: Search Techniques Những kỹ thuật tìm kiếm vị trí trong trò chơi, và các chiến lược cho các trò chơi nên được biểu diễn Chúng tôi... phải thêm vào evaluate_and_choose là số lượng các lớp D và các cờ MaxMin Đối số cuối cùng là một bản ghi bao gồm cả Bùi Văn Chung Đỗ Xuân Cường Phùng Thế Bốn Phạm Ngọc Lập Nguyễn Văn Huấn Lớp TK6LC1 Tiểu luận Hệ chuyên gia Đề 6: Search Techniques Những kỹ thuật tìm kiếm nước đi và giá trị nước đi Các bản ghi ban đầu là (nil, -1000), trong đó nil đại diện cho một di chuyển tùy ý và -1000 là một... lần lượt từng người chơi một chọn cách di chuyển, nước đi được thực thi, và người chơi tiếp theo được đi tiếp Cách Bùi Văn Chung Đỗ Xuân Cường Phùng Thế Bốn Phạm Ngọc Lập Nguyễn Văn Huấn Lớp TK6LC1 Tiểu luận Hệ chuyên gia Đề 6: Search Techniques Những kỹ thuật tìm kiếm hiểu rõ ràng nhất của thể hiện này là như một thủ tục đệ quy, play, với ba đối số: một vị trí trò chơi, một di chuyển của người... Thông tin nền Kỹ thuật tìm kiếm cho cả lập kế hoạch và chơi trò chơi được thảo luận trong sách giáo khoa AI (AI hình như là trí tuệ nhân tạo đấy thằng em) Để biết thêm chi tiết về các chiến lược tìm kiếm hoặc thuật toán minimax và phần mở rộng của nó với kỹ thuạt rút gọn alpha-beta, xem ví dụ Nillsson (1971) hoặc Winston (1977) Bùi Văn Chung Đỗ Xuân Cường Phùng Thế Bốn Phạm Ngọc Lập Nguyễn Văn . Văn Chung – Đỗ Xuân Cường – Phùng Thế Bốn – Phạm Ngọc Lập – Nguyễn Văn Huấn Lớp TK6LC1 Tiểu luận Hệ chuyên gia Đề 6: Search Techniques – Những kỹ thuật tìm kiếm 20. Những kỹ thuật tìm kiếm. Trong. member(State1,History), slove_dfs(State1,[State1| History],Moves). Bùi Văn Chung – Đỗ Xuân Cường – Phùng Thế Bốn – Phạm Ngọc Lập – Nguyễn Văn Huấn Lớp TK6LC1 Tiểu luận Hệ chuyên gia Đề 6: Search Techniques – Những kỹ thuật tìm kiếm Quá trình kiểm tra. nông dân. Bùi Văn Chung – Đỗ Xuân Cường – Phùng Thế Bốn – Phạm Ngọc Lập – Nguyễn Văn Huấn Lớp TK6LC1 Tiểu luận Hệ chuyên gia Đề 6: Search Techniques – Những kỹ thuật tìm kiếm Với mỗi sự dịch chuyển

Ngày đăng: 10/04/2014, 15:58

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan