Professional Documents
Culture Documents
Lê Hùng Tiến
Lê Hùng Tiến
Lớp: D16TTNT&TGMT
Trên thực tế không có sự thành công nào mà không gắn liền với
những sự hỗ trợ, sự giúp đỡ dù ít hay nhiều, dù là trực tiếp hay gián tiếp
của người khác. Trong suốt thời gian từ khi bắt đầu học tập ở giảng đường
Đại Học đến nay, chúng em đã nhận được rất nhiều sự quan tâm, giúp đỡ
của Thầy Cô, gia đình và bạn bè.
Xin gửi lời cảm ơn chân thành đến gia đình, bè bạn, đã luôn là nguồn
động viên to lớn, giúp chúng em vượt qua những khó khăn trong suốt quá
trình học tập và thực hiện đồ án.
Mặc dù đã rất cố gắng hoàn thiện đồ án với tất cả sự nỗ lực, tuy nhiên
báo cáo giữa kì môn học Trí tuệ nhân tạo chắc chắn sẽ không thể tránh
khỏi những thiếu sót. Chúng em rất mong nhận được sự quan tâm, thông
cảm và những đóng góp quý báu của các thầy cô và các bạn để đồ án này
ngày càng hoàn thiện hơn.
Sau cùng, chúng em xin kính chúc các thầy cô trong Khoa Công Nghệ
Thông Tin dồi dào sức khỏe, niềm tin để tiếp tục thực hiện sứ mệnh cao
đẹp của mình là truyền đạt kiến thức cho thế hệ mai sau.
Trân trọng!
1. Bài toán là gì
- Bài toán là một công việc hay một nhiệm vụ cần phải giải quyết.
- Để giải quyết bài toán, ta cần xác định điều kiện cho trước và kết quả cần
thu được.
- Thuật toán là dãy hữu hạn các thao tác cần thực hiện theo một trình tự
xác định để thu được kết quả cần thiết từ những điều kiện cho trước.
Các con số dưới nút là giá trị hàm Heuristic ứng với nút đó. Nút có giá
trị càng nhỏ thì càng gần với nút đích.
Khởi đầu, chỉ có một nút A nên nó sẽ được mở rộng tạo ra ba nút mới
B, C và D. Do nút C là nút có khả năng nhất nên nó sẽ được mở rộng và
sinh ra hai nút kế tiếp là E và F. Đến đây, ta lại thấy nút B có khả năng
nhất, nên ta chọn mở rộng nút B và tạo được hai nút G và H.
Ta lại thấy nút E có khả năng nhất, vì thế nút E được mở rộng sinh ra
nút I và J. Ở bước tiếp theo, J sẽ được mở rộng vì nó có khả năng nhất.
Quá trình này tiếp tục cho đến khi tìm thấy một lời giải.
Thuật giải tìm kiếm BFS có hai đặc điểm khác với thuật giải tìm kiếm
leo núi dốc đứng. Thứ nhất, trong thuật giải tìm kiếm leo núi, một trạng
thái được chọn và tất cả các trạng thái khác bị loại bỏ, không bao giờ
chúng được xem xét lại. Trong thuật giải tìm kiếm BFS, tại mỗi bước cũng
có một trạng thái được chọn nhưng những trạng thái khác vẫn được giữ lại,
để ta có thể trở lại xét sau đó khi mà trạng thái hiện tại trở nên kém khả
năng hơn những trạng thái đã được lưu trữ. Thứ hai, trong thuật giải BFS,
ta chọn trạng thái tốt nhất mà không quan tâm đén nó có tốt hơn các trạng
thái trước đó hay không. Trong khi đó leo núi sẽ dừng nếu không có trạng
thái tiếp theo nào tốt hơn trạng thái hiện tại.
Thực tế, hiếm có một bài toán nào có thể giải thuần tuý bằng BFS. Ta
thường vận dụng một biên bản đặc biệt của BFS là thuật giải A*.
* Giải thuật A*:
Trong khoa học máy tính, A* (đọc là A sao) là thuật toán tìm kiếm
trong đồ thị. Thuật toán này tìm một đường đi từ một nút khởi đầu tới một
nút đích cho trước (hoặc tới một nút thỏa mãn một điều kiện đích). Thuật
toán này sử dụng một "đánh giá heuristic" để xếp loại từng nút theo ước
lượng về tuyến đường tốt nhất đi qua nút đó. Thuật toán này duyệt các nút
theo thứ tự của đánh giá heuristic này. Do đó, thuật toán A* là một ví dụ
của tìm kiếm theo lựa chọn tốt nhất (BFS).
Điểm khác biệt của A* đối với tìm kiếm theo lựa chọn tốt nhất là nó
còn tính đến khoảng cách đã đi qua. Điều đó làm cho A* "đầy đủ" và "tối
ưu", nghĩa là, A* sẽ luôn luôn tìm thấy đường đi ngắn nhất nếu tồn tại một
đường đi như vậy. A* không đảm bảo sẽ chạy nhanh hơn các thuật toán
tìm kiếm đơn giản hơn. Trong một môi trường dạng mê cung, cách duy
nhất để đến đích có thể là trước hết phải đi về phía xa đích và cuối cùng
mới quay lại. Trong trường hợp đó, việc thử các nút theo thứ tự "gần đích
hơn thì được thử trước" có thể gây tốn thời gian.
+ v là đích, hoặc