SlideShare a Scribd company logo
1 of 22
Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi
https://lop12.net/
TÌM HIỂU MỘT SỐ GIẢI THUẬT
MÔN HỌC
TRÍ TUỆ NHÂN TẠO
GVHD: Th.S Ngô Hồ Anh Khôi
Sinh viên thực hiện: Nguyễn Lập An Khương
1. Tìm kiếm theo chiều rộng.
Tìm kiếm theo chiều rộng (BFS) là một thuật toán tìm kiếm trong đồ thị trong đó
việc tìm kiếm chỉ bao gồm 2 thao tác: (a) cho trước một đỉnh của đồ thị; (b) thêm
các đỉnh kề với đỉnh vừa cho vào danh sách có thể hướng tới tiếp theo. Có thể sử
dụng thuật toán tìm kiếm theo chiều rộng cho hai mục đích: tìm kiếm đường đi từ
một đỉnh gốc cho trước tới một đỉnh đích, và tìm kiếm đường đi từ đỉnh gốc tới tất
cả các đỉnh khác. Trong đồ thị không có trọng số, thuật toán tìm kiếm theo chiều
rộng luôn tìm ra đường đi ngắn nhất có thể. Thuật toán BFS bắt đầu từ đỉnh gốc và
lần lượt nhìn các đỉnh kề với đỉnh gốc. Sau đó, với mỗi đỉnh trong số đó, thuật toán
lại lần lượt nhìn trước các đỉnh kề với nó mà chưa được quan sát trước đó và lặp
lại. Xem thêm thuật toán tìm kiếm theo chiều sâu, trong đó cũng sử dụng 2 thao tác
trên nhưng có trình tự quan sát các đỉnh khác với thuật toán tìm kiếm theo chiều
rộng.
giải thuật tìm kiếm theo chiều rộng duyệt từ A tới B tới E tới F sau đó tới C, tới G
và cuối cùng tới D. Giải thuật này tuân theo qui tắc:
• Qui tắc 1: Duyệt tiếp tới đỉnh liền kề mà chưa được duyệt. Đánh dấu đỉnh mà đã
được duyệt. Hiển thị đỉnh đó và đẩy vào trong một hàng đợi (queue)..
• Qui tắc 2: Nếu không tìm thấy đỉnh liền kề, thì xóa đỉnh đầu tiên trong hàng đợi.
• Qui tắc 3: Lặp lại Qui tắc 1 và 2 cho tới khi hàng đợi là trống.
Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi
https://lop12.net/
Ứng dụng:
Thuật toán tìm kiếm theo chiều rộng được dùng để giải nhiều bài toán trong lý
thuyết đồ thị, chẳng hạn như:
• Tìm tất cả các đỉnh trong một thành phần liên thông
• Tìm đường đi ngắn nhất giữa hai đỉnh u và v (với chiều dài đường đi tính
bằng số cung)
• Kiểm tra xem một đồ thị có là đồ thị hai phía
• Tìm các thành phần liên thông
Ưu điểm:
• Xét duyệt tất cả các đỉnh để trả về kết quả.
• Nếu số đỉnh là hữu hạn, thuật toán chắc chắn tìm ra kết quả.
Nhược điểm:
• Mang tính chất vét cạn, không nên áp dụng nếu duyệt số đỉnh quá lớn.
• Mang tính chất mù quáng, duyệt tất cả đỉnh, không chú ý đến thông tin
trong các đỉnh để duyệt hiệu quả, dẫn đến duyệt qua các đỉnh không
cần thiết.
Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi
https://lop12.net/
2. Tìm kiếm theo chiều sâu.
Giải thuật tìm kiếm theo chiều sâu (Depth First Search – viết tắt là DFS), còn được
gọi là giải thuật tìm kiếm ưu tiên chiều sâu, là giải thuật duyệt hoặc tìm kiếm trên
một cây hoặc một đồ thị và sử dụng stack (ngăn xếp) để ghi nhớ đỉnh liền kề để bắt
đầu việc tìm kiếm khi không gặp được đỉnh liền kề trong bất kỳ vòng lặp nào. Giải
thuật tiếp tục cho tới khi gặp được đỉnh cần tìm hoặc tới một nút không có con. Khi
đó giải thuật quay lui về đỉnh vừa mới tìm kiếm ở bước trước.
Trong hình minh họa trên, giải thuật tìm kiếm theo chiều sâu đầu tiên duyệt từ các
đỉnh A tới B tới C tới D sau đó tới E, sau đó tới F và cuối cùng tới G. Giải thuật
này tuân theo qui tắc sau:
• Qui tắc 1: Duyệt tiếp tới đỉnh liền kề mà chưa được duyệt. Đánh dấu đỉnh mà đã
được duyệt. Hiển thị đỉnh đó và đẩy vào trong một ngăn xếp (stack).
• Qui tắc 2: Nếu không tìm thấy đỉnh liền kề, thì lấy một đỉnh từ trong ngăn xếp (thao
tác pop up). (Giải thuật sẽ lấy tất cả các đỉnh từ trong ngăn xếp mà không có các
đỉnh liền kề nào)
• Qui tắc 3: Lặp lại các qui tắc 1 và qui tắc 2 cho tới khi ngăn xếp là trống.
Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi
https://lop12.net/
Ưu điểm:
• Xét duyệt tất cả các đỉnhđể trả về kết quả.
• Nếu số đỉnh là hữu hạn, thuật toán chắc chắn tìm ra kết quả.
Nhược điểm:
• Mang tính chất vét cạn, không nên áp dụng nếu duyệt số đỉnh quá lớn.
• Mang tính chất mù quáng, duyệt tất cả đỉnh, không chú ý đến thông tin trong
các đỉnh để duyệt hiệu quả, dẫn đến duyệt qua các đỉnh không cần thiết.
3. Tìm kiếm theo chiều sâu có giới hạn.
Trong trí tuệ nhân tạo hay các lý thuyết đồ thị, thuật toán tìm kiếm có giới hạn độ
sâu (DLS) hay depth-limited search algorithm là một thuật toán phát triển các nút
chưa xét các theo chiều sâu nhưng có giới hạn mức để tránh đi vào những con
đường không mang lại kết quả tốt như trong thuật toán tìm kiếm sâu dần.
Ưu điểm:
• Nó là bộ nhớ hiệu quả, sử dụng không gian tuyến tính O (bxL)
Nhược điểm:
• Chưa hoàn thành nếu giải pháp nằm dưới giới hạn L(d <l), vì nó không
thể tìm thấy Solution.
• Nó có thể không tìm thấy tối ưu nếu có nhiều hơn Solution.
• Nó không hiệu quả về thời gian vì phải mất O (b ^ L).
Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi
https://lop12.net/
• Nó có thể gây ra các vòng lặp nếu tìm kiếm cây được sử dụng trên biểu
đồ.
4. Tìm kiếm theo giá thành thống nhất.
Hàng đợi ưu tiên PQ là cấu trúc dữ liệu lưu trữ các phần tử cùng với độ ưu tiên của
nó và khi lấy phần tử ra khỏi hàng đợi sẽ căn cứ vào độ ưu tiên nhỏ nhất.
Cho một trạng thái n, ký hiệu g(n) là tổng chi phí đường đi ngắn nhất (hiện có) từ
trạng thái ban đầu S đến trạng thái n. Thuật toán UCS sử dụng một hàng đợi ưu
tiên (Priority Queue – PQ) để lưu trữ và duyệt các trạng thái trên đường đi. Thuật
toán dùng thêm một danh sách CLOSE để lưu trữ các trạng thái đã được xét.
Ưu điểm:
• Tìm kiếm theo giá thành thống nhất là tối ưu vì con đường có chi phí
thấp nhất được chọn.
Nhược điểm:
• Không cần quan tâm đến số lượng các bước liên quan đến tìm kiếm và
chỉ quan tâm đến chi phí đường dẫn. Do đó giả thuật này có thể bị mắt
kẹt trong một vòng lặp vô hạn.
Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi
https://lop12.net/
5. Tìm kiếm sâu dần.
Trong trí tuệ nhân tạo hay lý thuyết đồ thị, thuật toán tìm kiếm kiếm sâu dần là 1
thuật toán duyệt hoặc tìm kiếm trên cây hoặc đồ thị.
Thuật toán được đưa ra để khắc phục điểm yêu của thuật toán tìm kiếm giới hạn độ
sâu DLS . Đó là khi mà tất cả các lời giải nằm ở độ sâu lớn hơn giới hạn độ sâu l
thì giải thuật DLS sẽ thất bại.
Giải thuật tìm kiếm sâu dần sẽ :
• áp dụng giải thuật DLS đối với đường đi có độ dài <= 1
• Nếu thất bại, tiếp tục áp dụng giải thuật dfs đối với đường đi có độ dài <= 2
• …..cứ như vậy đến khi tìm được lời giải hoặc khi toàn bộ cây đã được xét mà
không tìm được lời giải.
- Luôn tìm ra nghiệm (nếu bài toán có nghiệm), miễn là chọn max đủ lớn
(giống như tìm kiếm theo chiều rộng)
- Có độ phức tạp thời gian là O(kd) (giống tìm kiếm rộng)
- Có độ phức tạp không gian là O(k*d) (giống tìm kiếm sâu)
- Giải thuật tìm kiếm sâu dần thương áp dụng cho các bài toán có không gian
trạng thái lớn và độ sâu của nghiệm không biết trước.
Ưu điểm:
• Nó tổ chức các lợi ích của thuật toán tìm kiếm BFS và DFS về mặt hiệu quả
tìm kiếm và bộ nhớ nhanh.
Nhược điểm:
• Hạn chế chính của IDS là nó lặp lại tất cả các công việc của giai đoạn trước.
Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi
https://lop12.net/
6. Tìm kiếm leo đồi.
Tìm kiếm leo đồi là tìm kiếm theo độ sâu được hướng dẫn bởi hàm đánh giá. Song
khác với tìm kiếm theo độ sâu, khi phát triển một đỉnh u thì bước tiếp theo ta chọn
trong số các đỉnh con của u, đỉnh có hứa hẹn nhiều nhất để phát triển, đỉnh này
được xác định bởi hàm đánh giá.
Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi
https://lop12.net/
Ưu điểm:
• Phương pháp tìm kiếm leo đồi chú trọng tìm hướng đi dễ dẫn đến trạng thái
đích nhất. Cách đó được đưa ra nhằm làm giảm công sức tìm kiếm. Thuật
toán tìm kiếm leo đồi thực chất là thuật toán tìm kiếm theo chiều sâu, song
tại mỗi bước ta sẽ ưu tiên chọn một trạng thái có hứa hẹn nhanh tới đich
nhất để phát triển trước. Vấn đề quan trọng là biết khai thác kheo léo thông
tin phản hồi để xác định hướng đi tiếp và đẩy nhanh quá trình tìm kiếm.
Thông thường ta gán mỗi trạng thái của bài toán với một số đo (hàm đánh
giá) nào đó nhằm đánh giá mức độ gần đích của nó. Điều đó có nghĩa là
nếu trạng thái hiện thời là u thì trạng thái v sẽ được phát triển tiếp theo nếu
v kề với u và hàm đanh giá của v đạt giá trị max (hoặc min).
Nhược điểm:
• Cực trị địa phương: nút đang xét tốt hơn các nút lân cận, nhưng đó không
phải là phương án tốt nhất trong toàn thể, ví vậy có thể phải quay lui về nút
trước để đi theo hướng khác. Giải pháp này đòi hỏi ghi nhớ lại nhiều đường
đi.
• Cao nguyên: Các giá trị của các phương án như nhau, không xác định được
ngay hướng nào là tốt hơn trong vùng lân cận.
7. Simulated annealing search.
Dựa trên quá trình tôi ủ (annealing process): Kim loại nguội đi và lạnh cứng lại
thành cấu trúc kết tinh
Phương pháp tìm kiếm Simulated Annealing có thể tránh được các điểm tối ưu cục
bộ (local optima)
Phương pháp tìm kiếm Simulated Annealing sử dụng chiến lược tìm kiếm ngẫu
nhiên, trong đó chấp nhận các thay đổi làm tăng giá trị hàm mục tiêu (cần cực đại
hóa) và cũng chấp nhận (có hạn chế) các thay đổi làm giảm
Phương pháp tìm kiếm Simulated Annealing sử dụng một tham số điều khiển T
(như trong các hệ thống nhiệt độ)
Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi
https://lop12.net/
❑ Bắt đầu thì T nhận giá trị cao, và giảm dần về 0
Ý tưởng: Thoát khỏi (vượt qua) các điểm tối ưu cục bộ bằng cách cho phép cả các
dịch chuyển “tồi” từ trạng thái hiện thời, nhưng giảm dần tần xuất của các di
chuyển tồi này
(Có thể chứng minh được) Nếu giá trị của tham số T (xác định mức độ giảm tần
xuất đối với các di chuyển tồi) giảm chậm, thì phương pháp tìm kiếm Simulated
Annealing sẽ tìm được lời giải tối ưu toàn cục với xác suất xấp xỉ 1
Phương pháp tìm kiếm Simulated Annealing Search rất hay được sử dụng trong
các lĩnh vực: thiết kế sơ đồ bảng mạch VLSI, lập lịch bay, …
Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi
https://lop12.net/
Ưu điểm:
• Simulated annealing search có thể đối phó với các mô hình phi tuyến tính
cao, dữ liệu hỗn loạn và ồn ào và nhiều ràng buộc. Đó là một kỹ thuật mạnh
mẽ và chung chung.
• Ưu điểm chính của nó so với các phương pháp tìm kiếm địa phương khác là
tính linh hoạt và khả năng tiếp cận toàn cầu sự tối ưu.
• Thuật toán này khá linh hoạt vì nó không dựa trên bất kỳ thuộc tính hạn chế
nào của mô hình.
Nhược điểm:
• Một bất lợi Simulated annealing search là chuyên sâu tính toán. Có tồn tại
các biến thể cơ bản nhanh hơn mô phỏng ủ, nhưng rõ ràng chúng không
được mã hóa dễ dàng và vì vậy chúng không được sử dụng rộng rãi.
8. Tìm kiếm Beam
Giải thuật tìm kiếm beam giống như tìm kiếm theo chiều rộng, nó phát triển các
đỉnh ở một mức rồi phát triển các đỉnh ở mức tiếp theo.
Tuy nhiên trong tìm kiếm theo chiều rộng, ta phát triển tất cả các đỉnh ở một mức,
còn trong tìm kiếm beam, ta hạn chế chỉ phát triển đỉnh K tốt nhất(các đỉnh này
được xác định bởi hàm đánh giá). Do đó trong tìm kiếm beam, ở bất kì mức nào
cũng có K đỉnh được phát triển, trong khi tìm kiếm theo chiều rộng, số đỉnh cần
phát triển ở mức d là bd
(b là nhân tốt nhánh).
Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi
https://lop12.net/
Ưu điểm:
• Tìm kiếm beam có lợi thế là có khả năng làm giảm tính toán, và do đó, thời
gian của một tìm kiếm. Đồng thời, mức tiêu thụ bộ nhớ của tìm kiếm ít hơn
nhiều so với các phương pháp tìm kiếm cơ bản của nó.
Nhược điểm:
• Nhược điểm chính của tìm kiếm beam là tìm kiếm có thể không dẫn đến mục
tiêu tối ưu và thậm chí có thể không đạt được mục tiêu. Trong thực tế, thuật
toán tìm kiếm chùm chấm dứt cho hai trường hợp: đạt được nút mục tiêu bắt
buộc hoặc không đạt được nút mục tiêu và không còn nút nào để khám phá.
Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi
https://lop12.net/
9. Tìm kiếm nhánh cận.
Là phương pháp chủ yếu để giải các bài toán tối ưu tổ hợp. Ta thực hiện việc đánh
giá theo từng bước, nếu không có khả năng tìm thấy kết quả tốt hơn thì rẽ nhánh
nó, không thực hiện tìm tiếp mà chuyển ngay sang nhánh khác. Khi đó, chỉ cần ghi
nhận các kết quả tốt hơn lúc ban đầu. Nghiệm của bài toán sẽ tốt dần lên do khi tìm
ra kết quả tốt hơn ta sẽ cập nhật lại giá trị hiện thời của bài toán.
Phương pháp Nhánh cận là một dạng cải tiến của phương pháp quay lui dùng để
giải quyết bài toán tối ưu.
Ưu điểm:
• Phương pháp nhánh cận không quét qua toàn bộ các nghiệm có thể có của
bài toán.
Nhược điểm:
• Khó khăn của phương pháp nhánh cận là làm thế nào đánh giá được các
nghiệm mở rộng (cận). Nếu đánh giá tốt sẽ bỏ nhiều nghiệm không cần thiết
phải xét (nhánh).
Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi
https://lop12.net/
10. Giải thuật Minimax.
Giải thuật Minimax là một thuật toán đệ quy lựa chọn bước đi kế tiếp trong một trò
chơi có hai người. Xét một trò chơi đối kháng trong đó hai người thay phiên đi
nước đi của mình như cờ vua, cờ tướng, cờ caro, cờ vây… Khi chơi bạn có thể
khai triển hết không gian trạng thái nhưng khó khăn chủ yếu là bạn phải tính toán
được phản ứng và nước đi của đối thủ mình như thế nào? Cách xử lý đơn giản là
bạn giả sử đối thủ của bạn cũng sử dụng kiến thức về không gian trạng thái giống
bạn. Giải thuật Minimax áp dụng giả thuyết này để tìm kiếm không gian trạng thái
của trò chơi.
Giải thuật Minimax giúp chúng ta tìm được bước đi kế tiếp tốt nhất trong các
không gian trạng thái tiếp theo bằng cách phát triển hết không gian trạng thái cây
trò chơi định giá trị cho các Node tìm Node có trạng thái tốt nhất ở bước tiếp theo
phát triển tiếp.
Hai đối thủ trong trò chơi được gọi là MIN và MAX luân phiên thay thế nhau đi.
MAX đại diện cho người quyết dành thắng lợi và cố gắng tối đa hóa ưu thế của
mình, ngược lại người chơi đại diện cho MIN lại cố gắng giảm điểm số của MAX
và cố gắng làm cho điểm số của mình càng âm càng tốt. Giả thiết đưa ra MIN và
MAX có kiến thức như nhau về không gian trạng thái trò chơi và cả hai đối thủ đều
cố gắng như nhau.
Mỗi Node biểu diễn cho một trạng thái trên cây trò chơi. Node lá là Node chứa
trạng thái kết thúc của trò chơi.
Giải thuật Minimax thể hiện bằng cách định trị các Node trên cây trò chơi:
• Node thuộc lớp MAX thì gán cho nó giá trị lớn nhất của con Node đó.
• Node thuộc lớp MIN thì gán cho nó giá trị nhỏ nhất của con Node đó.
Từ các giá trị này người chơi sẽ lựa chọn cho mình nước đi tiếp theo hợp lý nhất.
Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi
https://lop12.net/
Ưu điểm:
• Tìm kiếm được mọi nước đi tiếp theo sau đó lựa chọn nước đi tốt nhất, vì
giải thuật có tính chất vét cạn nên không bỏ soát trạng thái.
Nhược điểm:
• Đối với các trò chơi có không gian trạng thái lớn như caro, cờ tướng… việc
chỉ áp dụng giải thuật Minimax có lẽ không còn hiệu quả nữa do sự bùng nổ
tổ hợp quá lớn.
• Giải thuật áp dụng nguyên lý vét cạn không tận dụng được thông tin của
trạng thái hiện tại để lựa chọn nước đi, vì duyệt hết các trạng thái nên tốn
thời gian.
Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi
https://lop12.net/
11. Giải thuật Minimax với cắt tỉa Alpha-Beta.
Giải thuật cắt tỉa Alpha-beta từng được nhiều nhà khoa học máy tính đề xuất ý
tưởng và không ngừng được cải tiến cho đến ngày nay. Giải thuật này thường sử
dụng chung với thuật toán tìm kiếm Minimax nhằm hỗ trợ giảm bớt các không
gian trạng thái trong cây trò chơi, giúp thuật toán Minimax có thể tìm kiếm sâu và
nhanh hơn. Giải thuật cắt tỉa Alpha-beta có nguyên tắc đơn giản "Nếu biết là
trường hợp xấu thì không cần phải xét thêm".
Nút Max có một giá trị alpha (lớn hơn hoặc bằng alpha – luôn tăng), nút min có
một giá trị beta (nhỏ hơn hoặc bằng beta – luôn giảm).
Khi chưa có alpha và beta xác định thì thực hiện tìm kiếm sâu (depth-first) để xác
định được alpha, beta, và truyền ngược lên các nút cha.
Một số sách và tài liệu có đề cập với việc cắt tỉa alpha và cắt tỉa beta, dùng một
cách khác đó là dùng các khoảng trong toán học. Hãy nhìn cây trò chơi phía dưới
để hình dung cách để cắt tỉa.
Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi
https://lop12.net/
Đầu tiên là xét cây từ trái sang phải ta sẽ thấy S là Max, theo chiến lược đưa ra vậy
chúng ta sẽ có giá trị alpha ≥ 10 tại S.
Tiếp theo, ở C ở đây là nút Min (trạng thái trò chơi dành cho Max) tức là sẽ lấy giá
trị nhỏ nhất của các nút con ở dưới. Nếu như vậy thì giá trị chúng ta phải lấy là
beta ≤ 3.
Sau khi xác định được alpha và beta, chúng ta có thể dễ dàng xác định việc có cắt
tỉa hay không. Ở nút S (Max), giá trị alpha luôn ≥ 10 (luôn tăng) nhưng ở C (Min)
thì giá trị luôn luôn ≤ 3 (luôn giảm), nên việc xét các con còn lại ở C là không cần
thiết.
Nếu nói theo khoảng thì hiện tại chúng ta chỉ nhận khoảng ≥ 10 tại nút gốc S, vậy
thì đâu cần bận tâm đến việc khoảng ≤ 3 tại nút C.
Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi
https://lop12.net/
Ví dụ với một cây trò chơi trung bình
Ở đây chúng ta cũng xét từ trái qua phải bắt đầu từ nút gốc và nút con bên trái sẽ
được ưu tiên duyệt trước.
Xét duyệt từ trên gốc xuống sâu (vì ban đầu chưa hề tồn tại giá trị alpha hay beta
của các nút). Nút đầu tiên ta duyệt là E sẽ gặp giá trị 2 (alpha ≥ 2), khi đó ở trên
chưa có giá trị beta để ta có thể so sánh nên sẽ bắt đầu duyệt con tiếp theo của nút
E đó và ở đây ta sẽ chọn cho alpha = 3 (Max).
Lưu ý là chúng ta luôn luôn duyệt từ trái sang phải và phải lần lượt từng nhánh
một, sau đó sang nhánh tiếp theo cùng gốc. Vậy nên tiếp theo chúng ta sẽ đưa giá
trị alpha này lên nút B (Min) và nút B – beta ≤ 3, sau đó nút F sẽ được duyệt, và ta
phải tìm alpha của F. Khi duyệt con đầu tiên mang giá trị 5 vậy alpha của F –
alpha ≥ 5.
Tại B – beta ≤ 3 và tại F – alpha ≥ 5. Như vậy chúng ta không cần xem xét các nút
con còn lại của F vì cái ta cần ở đây chỉ là khoảng ≤ 3 nên ta cắt toàn bộ các con
còn lại.
Sau khi duyệt toàn bộ các con của B thì tại B – beta = 3, và tại nút A – alpha ≥ 3.
Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi
https://lop12.net/
Ưu điểm:
• Thuật toán cắt tỉa Alpha Beta sinh ra để tối ưu thuật toán Minimax.
Nhược điểm:
• Một nhược điểm của thuật toán minimax là mỗi trạng thái bảng phải được
truy cập hai lần: một lần để tìm con của nó và lần thứ hai để đánh giá giá trị
heuristic.
12. Giải thuật tìm kiếm tốt nhất đầu tiên.
Có 3 thuật giải con dựa vào nó:
• Thuật giải AT
• Thuật giải AKT
• Thuật giải A*
Ưu điểm của tìm kiếm theo chiều sâu là không phải quan tâm đến sự mở rộng của
tất cả các nhánh. Ưu điểm của tìm kiếm chiều rộng là không bị sa vào các đường
dẫn bế tắc (các nhánh cụt). Tìm kiếm ưu tiên tối ưu sẽ kết hợp 2 phương pháp trên
cho phép ta đi theo một con đường duy nhất tại một thời điểm, nhưng đồng thời
vẫn "quan sát" được những hướng khác. Nếu con đường đang đi "có vẻ" không
triển vọng bằng những con đường ta đang "quan sát" ta sẽ chuyển sang đi theo một
trong số các con đường này.
Một cách cụ thể, tại mỗi bước của tìm kiếm BFS, ta chọn đi theo trạng thái có khả
năng cao nhất trong số các trạng thái đã được xét cho đến thời điểm đó. (khác với
leo đồi dốc đứng là chỉ chọn trạng thái có khả năng cao nhất trong số các trạng thái
kế tiếp có thể đến được từ trạng thái hiện tại). Như vậy, với tiếp cận này, ta sẽ ưu
tiên đi vào những nhánh tìm kiếm có khả năng nhất (giống tìm kiếm leo đồi dốc
đứng), nhưng ta sẽ không bị lẩn quẩn trong các nhánh này vì nếu càng đi sâu vào
một hướng mà ta phát hiện ra rằng hướng này càng đi thì càng tệ, đến mức nó xấu
hơn cả những hướng mà ta chưa đi, thì ta sẽ không đi tiếp hướng hiện tại nữa mà
chọn đi theo một hướng tốt nhất trong số những hướng chưa đi. Đó là tư tưởng chủ
đạo của tìm kiếm Best First Search.
Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi
https://lop12.net/
Ưu điểm:
• Thuật toán tìm kiếm tốt nhất đầu tiên có thể chuyển đổi giữa BFS và DFS
bằng cách đạt được những lợi thế của cả hai thuật toán.
• Nó hiệu quả hơn BFS và DFS.
• Độ phức tạp thời gian của tìm kiếm đầu tiên tốt nhất ít hơn nhiều so với tìm
kiếm đầu tiên của Breadth.
• thuật toán luôn chọn đường dẫn xuất hiện tốt nhất tại thời điểm đó. Nó là sự
kết hợp giữa thuật toán tìm kiếm theo chiều sâu và tìm kiếm theo chiều rộng.
Nó sử dụng chức năng heuristic và tìm kiếm. Tìm kiếm đầu tiên tốt nhất cho
phép chúng tôi tận dụng lợi thế của cả hai thuật toán. Với sự trợ giúp của
tìm kiếm đầu tiên tốt nhất, ở mỗi bước, chúng ta có thể chọn nút hứa hẹn
nhất.
Nhược điểm:
• Nó có thể hoạt động như một tìm kiếm sâu đầu tiên không có điều kiện trong
trường hợp xấu nhất. Nó có thể bị kẹt trong một vòng lặp như DFS. Thuật
toán này không tối ưu.
Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi
https://lop12.net/
13. Giải thuật tham lam.
Giải thuật tham lam lựa chọn giải pháp nào được cho là tốt nhất ở thời điểm hiện
tại và sau đó giải bài toán con nảy sinh từ việc thực hiện lựa chọn đó. Lựa chọn của
giải thuật tham lam có thể phụ thuộc vào lựa chọn trước đó. Việc quyết định sớm
và thay đổi hướng đi của giải thuật cùng với việc không bao giờ xét lại các quyết
định cũ sẽ dẫn đến kết quả là giải thuật này không tối ưu để tìm giải pháp toàn cục.
Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi
https://lop12.net/
Ưu điểm:
• Phân tích thời gian chạy cho các thuật toán tham lam nói chung sẽ dễ dàng
hơn nhiều so với các kỹ thuật khác (như Phân chia và chinh phục). Đối với
kỹ thuật Phân chia và chinh phục, không rõ kỹ thuật này nhanh hay chậm.
Điều này là do ở mỗi cấp độ đệ quy kích thước nhỏ hơn và số lượng các vấn
đề phụ tăng lên.
Nhược điểm:
• Điều khó khăn là đối với các thuật toán tham lam, bạn phải làm việc chăm
chỉ hơn nhiều để hiểu các vấn đề chính xác. Ngay cả với thuật toán chính
xác, thật khó để chứng minh tại sao nó đúng. Chứng minh rằng một thuật
toán tham lam là chính xác là một nghệ thuật hơn là một khoa học. Nó liên
quan đến rất nhiều sự sáng tạo.
14. Giải thuật A*.
Được công bố lần đầu tiên vào năm 1968 do Peter Hart, Nils Nilsson và Bertram
Raphael của Viện nghiên cứu khoa học Stanford. Đây có thể được xem như là một
mở rộng của thuật toán Dijkstra với các bước cài đặt tương đồng nhưng có thêm
thông tin lượng giá (heuristic) ở mỗi bước tìm kiếm.
A* là giải thuật tìm kiếm trong đồ thị, tìm đường đi từ một từ một đỉnh hiện tại đến
đỉnh đích có sử dụng hàm để ước lượng khoảng cách hay còn gọi là hàm Heuristic.
Từ trạng thái hiện tại A* xây dựng tất cả các đường đi có thể đi dùng hàm ước lược
khoảng cách ( hàm Heuristic) để đánh giá đường đi tốt nhất có thể đi.Tùy theo mỗi
dạng bài khác nhau mà hàm Heuristic sẽ được đánh giá khác nhau. A* luôn tìm
được đường đi ngắn nhất nếu tồn tại đường đi như thế.
Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi
https://lop12.net/
Ưu điểm:
• Một thuật giải linh động, tổng quát, trong đó hàm chứa cả tìm kiếm chiều
sâu, tìm kiếm chiều rộng và những nguyên lý Heuristic khác.Nhanh chóng
tìm đến lời giải với sự định hướng của hàm Heuristic. Chính vì thế mà người
ta thường nói, A* chính là thuật giải tiêu biểu cho Heuristic.
Nhược điểm:
• A* rất linh động nhưng vẫn gặp một khuyết điểm cơ bản – giống như chiến
lược tìm kiếm chiều rộng – đó là tốn khá nhiều bộ nhớ để lưu lại những
trạng thái đã đi qua.

More Related Content

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Đề tài Tìm hiểu một số giải thuật môn học Trí tuệ nhân tạo

  • 1. Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi https://lop12.net/ TÌM HIỂU MỘT SỐ GIẢI THUẬT MÔN HỌC TRÍ TUỆ NHÂN TẠO GVHD: Th.S Ngô Hồ Anh Khôi Sinh viên thực hiện: Nguyễn Lập An Khương 1. Tìm kiếm theo chiều rộng. Tìm kiếm theo chiều rộng (BFS) là một thuật toán tìm kiếm trong đồ thị trong đó việc tìm kiếm chỉ bao gồm 2 thao tác: (a) cho trước một đỉnh của đồ thị; (b) thêm các đỉnh kề với đỉnh vừa cho vào danh sách có thể hướng tới tiếp theo. Có thể sử dụng thuật toán tìm kiếm theo chiều rộng cho hai mục đích: tìm kiếm đường đi từ một đỉnh gốc cho trước tới một đỉnh đích, và tìm kiếm đường đi từ đỉnh gốc tới tất cả các đỉnh khác. Trong đồ thị không có trọng số, thuật toán tìm kiếm theo chiều rộng luôn tìm ra đường đi ngắn nhất có thể. Thuật toán BFS bắt đầu từ đỉnh gốc và lần lượt nhìn các đỉnh kề với đỉnh gốc. Sau đó, với mỗi đỉnh trong số đó, thuật toán lại lần lượt nhìn trước các đỉnh kề với nó mà chưa được quan sát trước đó và lặp lại. Xem thêm thuật toán tìm kiếm theo chiều sâu, trong đó cũng sử dụng 2 thao tác trên nhưng có trình tự quan sát các đỉnh khác với thuật toán tìm kiếm theo chiều rộng. giải thuật tìm kiếm theo chiều rộng duyệt từ A tới B tới E tới F sau đó tới C, tới G và cuối cùng tới D. Giải thuật này tuân theo qui tắc: • Qui tắc 1: Duyệt tiếp tới đỉnh liền kề mà chưa được duyệt. Đánh dấu đỉnh mà đã được duyệt. Hiển thị đỉnh đó và đẩy vào trong một hàng đợi (queue).. • Qui tắc 2: Nếu không tìm thấy đỉnh liền kề, thì xóa đỉnh đầu tiên trong hàng đợi. • Qui tắc 3: Lặp lại Qui tắc 1 và 2 cho tới khi hàng đợi là trống.
  • 2. Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi https://lop12.net/ Ứng dụng: Thuật toán tìm kiếm theo chiều rộng được dùng để giải nhiều bài toán trong lý thuyết đồ thị, chẳng hạn như: • Tìm tất cả các đỉnh trong một thành phần liên thông • Tìm đường đi ngắn nhất giữa hai đỉnh u và v (với chiều dài đường đi tính bằng số cung) • Kiểm tra xem một đồ thị có là đồ thị hai phía • Tìm các thành phần liên thông Ưu điểm: • Xét duyệt tất cả các đỉnh để trả về kết quả. • Nếu số đỉnh là hữu hạn, thuật toán chắc chắn tìm ra kết quả. Nhược điểm: • Mang tính chất vét cạn, không nên áp dụng nếu duyệt số đỉnh quá lớn. • Mang tính chất mù quáng, duyệt tất cả đỉnh, không chú ý đến thông tin trong các đỉnh để duyệt hiệu quả, dẫn đến duyệt qua các đỉnh không cần thiết.
  • 3. Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi https://lop12.net/ 2. Tìm kiếm theo chiều sâu. Giải thuật tìm kiếm theo chiều sâu (Depth First Search – viết tắt là DFS), còn được gọi là giải thuật tìm kiếm ưu tiên chiều sâu, là giải thuật duyệt hoặc tìm kiếm trên một cây hoặc một đồ thị và sử dụng stack (ngăn xếp) để ghi nhớ đỉnh liền kề để bắt đầu việc tìm kiếm khi không gặp được đỉnh liền kề trong bất kỳ vòng lặp nào. Giải thuật tiếp tục cho tới khi gặp được đỉnh cần tìm hoặc tới một nút không có con. Khi đó giải thuật quay lui về đỉnh vừa mới tìm kiếm ở bước trước. Trong hình minh họa trên, giải thuật tìm kiếm theo chiều sâu đầu tiên duyệt từ các đỉnh A tới B tới C tới D sau đó tới E, sau đó tới F và cuối cùng tới G. Giải thuật này tuân theo qui tắc sau: • Qui tắc 1: Duyệt tiếp tới đỉnh liền kề mà chưa được duyệt. Đánh dấu đỉnh mà đã được duyệt. Hiển thị đỉnh đó và đẩy vào trong một ngăn xếp (stack). • Qui tắc 2: Nếu không tìm thấy đỉnh liền kề, thì lấy một đỉnh từ trong ngăn xếp (thao tác pop up). (Giải thuật sẽ lấy tất cả các đỉnh từ trong ngăn xếp mà không có các đỉnh liền kề nào) • Qui tắc 3: Lặp lại các qui tắc 1 và qui tắc 2 cho tới khi ngăn xếp là trống.
  • 4. Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi https://lop12.net/ Ưu điểm: • Xét duyệt tất cả các đỉnhđể trả về kết quả. • Nếu số đỉnh là hữu hạn, thuật toán chắc chắn tìm ra kết quả. Nhược điểm: • Mang tính chất vét cạn, không nên áp dụng nếu duyệt số đỉnh quá lớn. • Mang tính chất mù quáng, duyệt tất cả đỉnh, không chú ý đến thông tin trong các đỉnh để duyệt hiệu quả, dẫn đến duyệt qua các đỉnh không cần thiết. 3. Tìm kiếm theo chiều sâu có giới hạn. Trong trí tuệ nhân tạo hay các lý thuyết đồ thị, thuật toán tìm kiếm có giới hạn độ sâu (DLS) hay depth-limited search algorithm là một thuật toán phát triển các nút chưa xét các theo chiều sâu nhưng có giới hạn mức để tránh đi vào những con đường không mang lại kết quả tốt như trong thuật toán tìm kiếm sâu dần. Ưu điểm: • Nó là bộ nhớ hiệu quả, sử dụng không gian tuyến tính O (bxL) Nhược điểm: • Chưa hoàn thành nếu giải pháp nằm dưới giới hạn L(d <l), vì nó không thể tìm thấy Solution. • Nó có thể không tìm thấy tối ưu nếu có nhiều hơn Solution. • Nó không hiệu quả về thời gian vì phải mất O (b ^ L).
  • 5. Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi https://lop12.net/ • Nó có thể gây ra các vòng lặp nếu tìm kiếm cây được sử dụng trên biểu đồ. 4. Tìm kiếm theo giá thành thống nhất. Hàng đợi ưu tiên PQ là cấu trúc dữ liệu lưu trữ các phần tử cùng với độ ưu tiên của nó và khi lấy phần tử ra khỏi hàng đợi sẽ căn cứ vào độ ưu tiên nhỏ nhất. Cho một trạng thái n, ký hiệu g(n) là tổng chi phí đường đi ngắn nhất (hiện có) từ trạng thái ban đầu S đến trạng thái n. Thuật toán UCS sử dụng một hàng đợi ưu tiên (Priority Queue – PQ) để lưu trữ và duyệt các trạng thái trên đường đi. Thuật toán dùng thêm một danh sách CLOSE để lưu trữ các trạng thái đã được xét. Ưu điểm: • Tìm kiếm theo giá thành thống nhất là tối ưu vì con đường có chi phí thấp nhất được chọn. Nhược điểm: • Không cần quan tâm đến số lượng các bước liên quan đến tìm kiếm và chỉ quan tâm đến chi phí đường dẫn. Do đó giả thuật này có thể bị mắt kẹt trong một vòng lặp vô hạn.
  • 6. Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi https://lop12.net/ 5. Tìm kiếm sâu dần. Trong trí tuệ nhân tạo hay lý thuyết đồ thị, thuật toán tìm kiếm kiếm sâu dần là 1 thuật toán duyệt hoặc tìm kiếm trên cây hoặc đồ thị. Thuật toán được đưa ra để khắc phục điểm yêu của thuật toán tìm kiếm giới hạn độ sâu DLS . Đó là khi mà tất cả các lời giải nằm ở độ sâu lớn hơn giới hạn độ sâu l thì giải thuật DLS sẽ thất bại. Giải thuật tìm kiếm sâu dần sẽ : • áp dụng giải thuật DLS đối với đường đi có độ dài <= 1 • Nếu thất bại, tiếp tục áp dụng giải thuật dfs đối với đường đi có độ dài <= 2 • …..cứ như vậy đến khi tìm được lời giải hoặc khi toàn bộ cây đã được xét mà không tìm được lời giải. - Luôn tìm ra nghiệm (nếu bài toán có nghiệm), miễn là chọn max đủ lớn (giống như tìm kiếm theo chiều rộng) - Có độ phức tạp thời gian là O(kd) (giống tìm kiếm rộng) - Có độ phức tạp không gian là O(k*d) (giống tìm kiếm sâu) - Giải thuật tìm kiếm sâu dần thương áp dụng cho các bài toán có không gian trạng thái lớn và độ sâu của nghiệm không biết trước. Ưu điểm: • Nó tổ chức các lợi ích của thuật toán tìm kiếm BFS và DFS về mặt hiệu quả tìm kiếm và bộ nhớ nhanh. Nhược điểm: • Hạn chế chính của IDS là nó lặp lại tất cả các công việc của giai đoạn trước.
  • 7. Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi https://lop12.net/ 6. Tìm kiếm leo đồi. Tìm kiếm leo đồi là tìm kiếm theo độ sâu được hướng dẫn bởi hàm đánh giá. Song khác với tìm kiếm theo độ sâu, khi phát triển một đỉnh u thì bước tiếp theo ta chọn trong số các đỉnh con của u, đỉnh có hứa hẹn nhiều nhất để phát triển, đỉnh này được xác định bởi hàm đánh giá.
  • 8. Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi https://lop12.net/ Ưu điểm: • Phương pháp tìm kiếm leo đồi chú trọng tìm hướng đi dễ dẫn đến trạng thái đích nhất. Cách đó được đưa ra nhằm làm giảm công sức tìm kiếm. Thuật toán tìm kiếm leo đồi thực chất là thuật toán tìm kiếm theo chiều sâu, song tại mỗi bước ta sẽ ưu tiên chọn một trạng thái có hứa hẹn nhanh tới đich nhất để phát triển trước. Vấn đề quan trọng là biết khai thác kheo léo thông tin phản hồi để xác định hướng đi tiếp và đẩy nhanh quá trình tìm kiếm. Thông thường ta gán mỗi trạng thái của bài toán với một số đo (hàm đánh giá) nào đó nhằm đánh giá mức độ gần đích của nó. Điều đó có nghĩa là nếu trạng thái hiện thời là u thì trạng thái v sẽ được phát triển tiếp theo nếu v kề với u và hàm đanh giá của v đạt giá trị max (hoặc min). Nhược điểm: • Cực trị địa phương: nút đang xét tốt hơn các nút lân cận, nhưng đó không phải là phương án tốt nhất trong toàn thể, ví vậy có thể phải quay lui về nút trước để đi theo hướng khác. Giải pháp này đòi hỏi ghi nhớ lại nhiều đường đi. • Cao nguyên: Các giá trị của các phương án như nhau, không xác định được ngay hướng nào là tốt hơn trong vùng lân cận. 7. Simulated annealing search. Dựa trên quá trình tôi ủ (annealing process): Kim loại nguội đi và lạnh cứng lại thành cấu trúc kết tinh Phương pháp tìm kiếm Simulated Annealing có thể tránh được các điểm tối ưu cục bộ (local optima) Phương pháp tìm kiếm Simulated Annealing sử dụng chiến lược tìm kiếm ngẫu nhiên, trong đó chấp nhận các thay đổi làm tăng giá trị hàm mục tiêu (cần cực đại hóa) và cũng chấp nhận (có hạn chế) các thay đổi làm giảm Phương pháp tìm kiếm Simulated Annealing sử dụng một tham số điều khiển T (như trong các hệ thống nhiệt độ)
  • 9. Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi https://lop12.net/ ❑ Bắt đầu thì T nhận giá trị cao, và giảm dần về 0 Ý tưởng: Thoát khỏi (vượt qua) các điểm tối ưu cục bộ bằng cách cho phép cả các dịch chuyển “tồi” từ trạng thái hiện thời, nhưng giảm dần tần xuất của các di chuyển tồi này (Có thể chứng minh được) Nếu giá trị của tham số T (xác định mức độ giảm tần xuất đối với các di chuyển tồi) giảm chậm, thì phương pháp tìm kiếm Simulated Annealing sẽ tìm được lời giải tối ưu toàn cục với xác suất xấp xỉ 1 Phương pháp tìm kiếm Simulated Annealing Search rất hay được sử dụng trong các lĩnh vực: thiết kế sơ đồ bảng mạch VLSI, lập lịch bay, …
  • 10. Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi https://lop12.net/ Ưu điểm: • Simulated annealing search có thể đối phó với các mô hình phi tuyến tính cao, dữ liệu hỗn loạn và ồn ào và nhiều ràng buộc. Đó là một kỹ thuật mạnh mẽ và chung chung. • Ưu điểm chính của nó so với các phương pháp tìm kiếm địa phương khác là tính linh hoạt và khả năng tiếp cận toàn cầu sự tối ưu. • Thuật toán này khá linh hoạt vì nó không dựa trên bất kỳ thuộc tính hạn chế nào của mô hình. Nhược điểm: • Một bất lợi Simulated annealing search là chuyên sâu tính toán. Có tồn tại các biến thể cơ bản nhanh hơn mô phỏng ủ, nhưng rõ ràng chúng không được mã hóa dễ dàng và vì vậy chúng không được sử dụng rộng rãi. 8. Tìm kiếm Beam Giải thuật tìm kiếm beam giống như tìm kiếm theo chiều rộng, nó phát triển các đỉnh ở một mức rồi phát triển các đỉnh ở mức tiếp theo. Tuy nhiên trong tìm kiếm theo chiều rộng, ta phát triển tất cả các đỉnh ở một mức, còn trong tìm kiếm beam, ta hạn chế chỉ phát triển đỉnh K tốt nhất(các đỉnh này được xác định bởi hàm đánh giá). Do đó trong tìm kiếm beam, ở bất kì mức nào cũng có K đỉnh được phát triển, trong khi tìm kiếm theo chiều rộng, số đỉnh cần phát triển ở mức d là bd (b là nhân tốt nhánh).
  • 11. Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi https://lop12.net/ Ưu điểm: • Tìm kiếm beam có lợi thế là có khả năng làm giảm tính toán, và do đó, thời gian của một tìm kiếm. Đồng thời, mức tiêu thụ bộ nhớ của tìm kiếm ít hơn nhiều so với các phương pháp tìm kiếm cơ bản của nó. Nhược điểm: • Nhược điểm chính của tìm kiếm beam là tìm kiếm có thể không dẫn đến mục tiêu tối ưu và thậm chí có thể không đạt được mục tiêu. Trong thực tế, thuật toán tìm kiếm chùm chấm dứt cho hai trường hợp: đạt được nút mục tiêu bắt buộc hoặc không đạt được nút mục tiêu và không còn nút nào để khám phá.
  • 12. Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi https://lop12.net/ 9. Tìm kiếm nhánh cận. Là phương pháp chủ yếu để giải các bài toán tối ưu tổ hợp. Ta thực hiện việc đánh giá theo từng bước, nếu không có khả năng tìm thấy kết quả tốt hơn thì rẽ nhánh nó, không thực hiện tìm tiếp mà chuyển ngay sang nhánh khác. Khi đó, chỉ cần ghi nhận các kết quả tốt hơn lúc ban đầu. Nghiệm của bài toán sẽ tốt dần lên do khi tìm ra kết quả tốt hơn ta sẽ cập nhật lại giá trị hiện thời của bài toán. Phương pháp Nhánh cận là một dạng cải tiến của phương pháp quay lui dùng để giải quyết bài toán tối ưu. Ưu điểm: • Phương pháp nhánh cận không quét qua toàn bộ các nghiệm có thể có của bài toán. Nhược điểm: • Khó khăn của phương pháp nhánh cận là làm thế nào đánh giá được các nghiệm mở rộng (cận). Nếu đánh giá tốt sẽ bỏ nhiều nghiệm không cần thiết phải xét (nhánh).
  • 13. Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi https://lop12.net/ 10. Giải thuật Minimax. Giải thuật Minimax là một thuật toán đệ quy lựa chọn bước đi kế tiếp trong một trò chơi có hai người. Xét một trò chơi đối kháng trong đó hai người thay phiên đi nước đi của mình như cờ vua, cờ tướng, cờ caro, cờ vây… Khi chơi bạn có thể khai triển hết không gian trạng thái nhưng khó khăn chủ yếu là bạn phải tính toán được phản ứng và nước đi của đối thủ mình như thế nào? Cách xử lý đơn giản là bạn giả sử đối thủ của bạn cũng sử dụng kiến thức về không gian trạng thái giống bạn. Giải thuật Minimax áp dụng giả thuyết này để tìm kiếm không gian trạng thái của trò chơi. Giải thuật Minimax giúp chúng ta tìm được bước đi kế tiếp tốt nhất trong các không gian trạng thái tiếp theo bằng cách phát triển hết không gian trạng thái cây trò chơi định giá trị cho các Node tìm Node có trạng thái tốt nhất ở bước tiếp theo phát triển tiếp. Hai đối thủ trong trò chơi được gọi là MIN và MAX luân phiên thay thế nhau đi. MAX đại diện cho người quyết dành thắng lợi và cố gắng tối đa hóa ưu thế của mình, ngược lại người chơi đại diện cho MIN lại cố gắng giảm điểm số của MAX và cố gắng làm cho điểm số của mình càng âm càng tốt. Giả thiết đưa ra MIN và MAX có kiến thức như nhau về không gian trạng thái trò chơi và cả hai đối thủ đều cố gắng như nhau. Mỗi Node biểu diễn cho một trạng thái trên cây trò chơi. Node lá là Node chứa trạng thái kết thúc của trò chơi. Giải thuật Minimax thể hiện bằng cách định trị các Node trên cây trò chơi: • Node thuộc lớp MAX thì gán cho nó giá trị lớn nhất của con Node đó. • Node thuộc lớp MIN thì gán cho nó giá trị nhỏ nhất của con Node đó. Từ các giá trị này người chơi sẽ lựa chọn cho mình nước đi tiếp theo hợp lý nhất.
  • 14. Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi https://lop12.net/ Ưu điểm: • Tìm kiếm được mọi nước đi tiếp theo sau đó lựa chọn nước đi tốt nhất, vì giải thuật có tính chất vét cạn nên không bỏ soát trạng thái. Nhược điểm: • Đối với các trò chơi có không gian trạng thái lớn như caro, cờ tướng… việc chỉ áp dụng giải thuật Minimax có lẽ không còn hiệu quả nữa do sự bùng nổ tổ hợp quá lớn. • Giải thuật áp dụng nguyên lý vét cạn không tận dụng được thông tin của trạng thái hiện tại để lựa chọn nước đi, vì duyệt hết các trạng thái nên tốn thời gian.
  • 15. Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi https://lop12.net/ 11. Giải thuật Minimax với cắt tỉa Alpha-Beta. Giải thuật cắt tỉa Alpha-beta từng được nhiều nhà khoa học máy tính đề xuất ý tưởng và không ngừng được cải tiến cho đến ngày nay. Giải thuật này thường sử dụng chung với thuật toán tìm kiếm Minimax nhằm hỗ trợ giảm bớt các không gian trạng thái trong cây trò chơi, giúp thuật toán Minimax có thể tìm kiếm sâu và nhanh hơn. Giải thuật cắt tỉa Alpha-beta có nguyên tắc đơn giản "Nếu biết là trường hợp xấu thì không cần phải xét thêm". Nút Max có một giá trị alpha (lớn hơn hoặc bằng alpha – luôn tăng), nút min có một giá trị beta (nhỏ hơn hoặc bằng beta – luôn giảm). Khi chưa có alpha và beta xác định thì thực hiện tìm kiếm sâu (depth-first) để xác định được alpha, beta, và truyền ngược lên các nút cha. Một số sách và tài liệu có đề cập với việc cắt tỉa alpha và cắt tỉa beta, dùng một cách khác đó là dùng các khoảng trong toán học. Hãy nhìn cây trò chơi phía dưới để hình dung cách để cắt tỉa.
  • 16. Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi https://lop12.net/ Đầu tiên là xét cây từ trái sang phải ta sẽ thấy S là Max, theo chiến lược đưa ra vậy chúng ta sẽ có giá trị alpha ≥ 10 tại S. Tiếp theo, ở C ở đây là nút Min (trạng thái trò chơi dành cho Max) tức là sẽ lấy giá trị nhỏ nhất của các nút con ở dưới. Nếu như vậy thì giá trị chúng ta phải lấy là beta ≤ 3. Sau khi xác định được alpha và beta, chúng ta có thể dễ dàng xác định việc có cắt tỉa hay không. Ở nút S (Max), giá trị alpha luôn ≥ 10 (luôn tăng) nhưng ở C (Min) thì giá trị luôn luôn ≤ 3 (luôn giảm), nên việc xét các con còn lại ở C là không cần thiết. Nếu nói theo khoảng thì hiện tại chúng ta chỉ nhận khoảng ≥ 10 tại nút gốc S, vậy thì đâu cần bận tâm đến việc khoảng ≤ 3 tại nút C.
  • 17. Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi https://lop12.net/ Ví dụ với một cây trò chơi trung bình Ở đây chúng ta cũng xét từ trái qua phải bắt đầu từ nút gốc và nút con bên trái sẽ được ưu tiên duyệt trước. Xét duyệt từ trên gốc xuống sâu (vì ban đầu chưa hề tồn tại giá trị alpha hay beta của các nút). Nút đầu tiên ta duyệt là E sẽ gặp giá trị 2 (alpha ≥ 2), khi đó ở trên chưa có giá trị beta để ta có thể so sánh nên sẽ bắt đầu duyệt con tiếp theo của nút E đó và ở đây ta sẽ chọn cho alpha = 3 (Max). Lưu ý là chúng ta luôn luôn duyệt từ trái sang phải và phải lần lượt từng nhánh một, sau đó sang nhánh tiếp theo cùng gốc. Vậy nên tiếp theo chúng ta sẽ đưa giá trị alpha này lên nút B (Min) và nút B – beta ≤ 3, sau đó nút F sẽ được duyệt, và ta phải tìm alpha của F. Khi duyệt con đầu tiên mang giá trị 5 vậy alpha của F – alpha ≥ 5. Tại B – beta ≤ 3 và tại F – alpha ≥ 5. Như vậy chúng ta không cần xem xét các nút con còn lại của F vì cái ta cần ở đây chỉ là khoảng ≤ 3 nên ta cắt toàn bộ các con còn lại. Sau khi duyệt toàn bộ các con của B thì tại B – beta = 3, và tại nút A – alpha ≥ 3.
  • 18. Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi https://lop12.net/ Ưu điểm: • Thuật toán cắt tỉa Alpha Beta sinh ra để tối ưu thuật toán Minimax. Nhược điểm: • Một nhược điểm của thuật toán minimax là mỗi trạng thái bảng phải được truy cập hai lần: một lần để tìm con của nó và lần thứ hai để đánh giá giá trị heuristic. 12. Giải thuật tìm kiếm tốt nhất đầu tiên. Có 3 thuật giải con dựa vào nó: • Thuật giải AT • Thuật giải AKT • Thuật giải A* Ưu điểm của tìm kiếm theo chiều sâu là không phải quan tâm đến sự mở rộng của tất cả các nhánh. Ưu điểm của tìm kiếm chiều rộng là không bị sa vào các đường dẫn bế tắc (các nhánh cụt). Tìm kiếm ưu tiên tối ưu sẽ kết hợp 2 phương pháp trên cho phép ta đi theo một con đường duy nhất tại một thời điểm, nhưng đồng thời vẫn "quan sát" được những hướng khác. Nếu con đường đang đi "có vẻ" không triển vọng bằng những con đường ta đang "quan sát" ta sẽ chuyển sang đi theo một trong số các con đường này. Một cách cụ thể, tại mỗi bước của tìm kiếm BFS, ta chọn đi theo trạng thái có khả năng cao nhất trong số các trạng thái đã được xét cho đến thời điểm đó. (khác với leo đồi dốc đứng là chỉ chọn trạng thái có khả năng cao nhất trong số các trạng thái kế tiếp có thể đến được từ trạng thái hiện tại). Như vậy, với tiếp cận này, ta sẽ ưu tiên đi vào những nhánh tìm kiếm có khả năng nhất (giống tìm kiếm leo đồi dốc đứng), nhưng ta sẽ không bị lẩn quẩn trong các nhánh này vì nếu càng đi sâu vào một hướng mà ta phát hiện ra rằng hướng này càng đi thì càng tệ, đến mức nó xấu hơn cả những hướng mà ta chưa đi, thì ta sẽ không đi tiếp hướng hiện tại nữa mà chọn đi theo một hướng tốt nhất trong số những hướng chưa đi. Đó là tư tưởng chủ đạo của tìm kiếm Best First Search.
  • 19. Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi https://lop12.net/ Ưu điểm: • Thuật toán tìm kiếm tốt nhất đầu tiên có thể chuyển đổi giữa BFS và DFS bằng cách đạt được những lợi thế của cả hai thuật toán. • Nó hiệu quả hơn BFS và DFS. • Độ phức tạp thời gian của tìm kiếm đầu tiên tốt nhất ít hơn nhiều so với tìm kiếm đầu tiên của Breadth. • thuật toán luôn chọn đường dẫn xuất hiện tốt nhất tại thời điểm đó. Nó là sự kết hợp giữa thuật toán tìm kiếm theo chiều sâu và tìm kiếm theo chiều rộng. Nó sử dụng chức năng heuristic và tìm kiếm. Tìm kiếm đầu tiên tốt nhất cho phép chúng tôi tận dụng lợi thế của cả hai thuật toán. Với sự trợ giúp của tìm kiếm đầu tiên tốt nhất, ở mỗi bước, chúng ta có thể chọn nút hứa hẹn nhất. Nhược điểm: • Nó có thể hoạt động như một tìm kiếm sâu đầu tiên không có điều kiện trong trường hợp xấu nhất. Nó có thể bị kẹt trong một vòng lặp như DFS. Thuật toán này không tối ưu.
  • 20. Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi https://lop12.net/ 13. Giải thuật tham lam. Giải thuật tham lam lựa chọn giải pháp nào được cho là tốt nhất ở thời điểm hiện tại và sau đó giải bài toán con nảy sinh từ việc thực hiện lựa chọn đó. Lựa chọn của giải thuật tham lam có thể phụ thuộc vào lựa chọn trước đó. Việc quyết định sớm và thay đổi hướng đi của giải thuật cùng với việc không bao giờ xét lại các quyết định cũ sẽ dẫn đến kết quả là giải thuật này không tối ưu để tìm giải pháp toàn cục.
  • 21. Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi https://lop12.net/ Ưu điểm: • Phân tích thời gian chạy cho các thuật toán tham lam nói chung sẽ dễ dàng hơn nhiều so với các kỹ thuật khác (như Phân chia và chinh phục). Đối với kỹ thuật Phân chia và chinh phục, không rõ kỹ thuật này nhanh hay chậm. Điều này là do ở mỗi cấp độ đệ quy kích thước nhỏ hơn và số lượng các vấn đề phụ tăng lên. Nhược điểm: • Điều khó khăn là đối với các thuật toán tham lam, bạn phải làm việc chăm chỉ hơn nhiều để hiểu các vấn đề chính xác. Ngay cả với thuật toán chính xác, thật khó để chứng minh tại sao nó đúng. Chứng minh rằng một thuật toán tham lam là chính xác là một nghệ thuật hơn là một khoa học. Nó liên quan đến rất nhiều sự sáng tạo. 14. Giải thuật A*. Được công bố lần đầu tiên vào năm 1968 do Peter Hart, Nils Nilsson và Bertram Raphael của Viện nghiên cứu khoa học Stanford. Đây có thể được xem như là một mở rộng của thuật toán Dijkstra với các bước cài đặt tương đồng nhưng có thêm thông tin lượng giá (heuristic) ở mỗi bước tìm kiếm. A* là giải thuật tìm kiếm trong đồ thị, tìm đường đi từ một từ một đỉnh hiện tại đến đỉnh đích có sử dụng hàm để ước lượng khoảng cách hay còn gọi là hàm Heuristic. Từ trạng thái hiện tại A* xây dựng tất cả các đường đi có thể đi dùng hàm ước lược khoảng cách ( hàm Heuristic) để đánh giá đường đi tốt nhất có thể đi.Tùy theo mỗi dạng bài khác nhau mà hàm Heuristic sẽ được đánh giá khác nhau. A* luôn tìm được đường đi ngắn nhất nếu tồn tại đường đi như thế.
  • 22. Tìm hiểu một số giải thuật môn học Trí Tuệ Nhân Tạo GVHD: Th.S Ngô Hồ Anh Khôi https://lop12.net/ Ưu điểm: • Một thuật giải linh động, tổng quát, trong đó hàm chứa cả tìm kiếm chiều sâu, tìm kiếm chiều rộng và những nguyên lý Heuristic khác.Nhanh chóng tìm đến lời giải với sự định hướng của hàm Heuristic. Chính vì thế mà người ta thường nói, A* chính là thuật giải tiêu biểu cho Heuristic. Nhược điểm: • A* rất linh động nhưng vẫn gặp một khuyết điểm cơ bản – giống như chiến lược tìm kiếm chiều rộng – đó là tốn khá nhiều bộ nhớ để lưu lại những trạng thái đã đi qua.