1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo chuyên Đề học phần nhập môn trí tuệ nhân tạo Đề t!i b!i toán v! phương pháp tìm kiếm Điểm mù

22 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Bài Toán Và Phương Pháp Tìm Kiếm Điểm Mù
Tác giả Nguyễn Xuân Mạnh, Đỗ Tuấn Minh, Trần Tuấn Anh
Người hướng dẫn Phạm Đức Hồng
Trường học Trường Đại Học Điện Lực
Chuyên ngành Công Nghệ Phần Mềm
Thể loại báo cáo
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 22
Dung lượng 4,08 MB

Nội dung

Với vốn kiếnthức học được trong môn “Nhập môn trí tuệ nhân tạo” và sự giúp đỡ của thầyPhạm Đức Hồng, em đã chọn đề tài:”Bài toán và phương pháp tìm kiếm điểmmùtìm kiếm theo chiều rộng, c

Trang 1

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN NHẬP MÔN TRÍ TUỆ NHÂN TẠO

ĐỀ T!I:

B!I TOÁN V! PHƯƠNG PHÁP TÌM KIẾM ĐIỂM MÙ

Sinh viên thực hiện : NGUYỄN XUÂN MẠNH

ĐỖ TUẤN MINH TRẦN TUẤN ANH Giảng viên hướng dẫn : PHẠM ĐỨC HỒNG

Trang 3

MỤC LỤC

Trang LỜI MỞ ĐẦU

CHƯƠNG I.CƠ SỞ LÝ THUYẾT:……….……….1

1.Tìm hiểu về trí tuệ nhân tạo AI:……….1

1.1.Khái niệm Artificial Intelligence (AI):……… ……….1

1.2.Lịch sử AI:……… …….………1

1.3.Mục tiêu AI:……….………2

2.Giải thuật tìm kiếm điểm mù:……… …… 2

2.1.Tìm kiếm theo chiều rộng:………… ………….……… ……… 2

2.2.Tìm kiếm theo chiều sâu:……… ……… … ……… 4

2.3.BFS và DFS:……….………….… ……5

CHƯƠNG 2.ÁP DỤNG GIẢI QUYẾT BÀI TOÁN:……… ….………8

2.1 Phát biểu bài toán: :……… ……… … ……… 8

2.2.Mô hình hoá bài toán: :……… ……….… …… … ……… 8

2.3.Các bước giải bài toán: :……… ……… … ……… 9

2.3.1.Thuật toán tìm kiếm chiều rộng….……… … ……… 9

2.3.2.Thuật toán tìm kiếm chiều sâu….……… … …… ….10

2.4.Kết quả giải toán: :……… ……… ……….12

2.4.1.Thuật toán tìm kiếm chiều rộng….……… … ……….12

2.4.2.Thuật toán tìm kiếm chiều sâu….……… … …… ….12

CHƯƠNG 3.DEMO:……… ……… ….…… 13

KẾT LUẬN:……… ….……… 16

Trang 4

TÀI LIỆU THAM KHẢO:……… ……….… ………… … 17

Ở nước ta hiện nay, việc xây dựng các ứng dụng để phục vụ cho các nhu cầuriêng của các tổ chức, công ty thậm chí các cá nhân, ngày nay, không lấy gì làm xa

lạ Thông qua những ứng dụng này, thông tin các mặt hàng sản phẩm, dịch vụ củacông ty sẽ đến với những với khách hàng của họ một cách nhanh chóng, tránhnhững phiền phức mà phương thức giao tiếp truyền thống thường gặp phải Trí tuệ nhân tạo là một phần của ”công nghệ thông tin” giúp con người thiết

kế, xây dựng những chương trình một cách quy củ và dễ dàng hơn Với vốn kiếnthức học được trong môn “Nhập môn trí tuệ nhân tạo” và sự giúp đỡ của thầyPhạm Đức Hồng, em đã chọn đề tài:”Bài toán và phương pháp tìm kiếm điểmmù(tìm kiếm theo chiều rộng, chiều sâu)” để tìm hiểu và thực hành về môn này

Do trình độ chuyên môn chưa có, kinh nghiệm và kiến thức của bản thân cònhạn chế, chúng em rất mong nếu có sự thiếu xót mong thầy cô góp ý và bỏ qua chochúng em

Chúng em xin chân thành cảm ơn!

Trang 5

CHƯƠNG I.CƠ SỞ LÝ THUYẾT:

1.Tìm hiểu về trí tuệ nhân tạo AI:

1.1.Khái niệm Artificial Intelligence (AI):

Trong khoa học máy tính, trí tuệ nhân tạo hay AI (Artificial Intelligence) làtrí thông minh nhân tạo được thể hiện bằng máy móc, khác với trí thông minh tựnhiên được con người hay các loài sinh vật khác thể hiện

Thông thường, thuật ngữ "trí tuệ nhân tạo" thường được sử dụng để mô tảcác máy móc (hoặc máy tính) bắt chước các chức năng "nhận thức" mà con ngườiliên kết với tâm trí con người, như "học tập" và "giải quyết vấn đề"

Cách hoạt động của AI: ban đầu agent (đối tượng) sẽ tác động lênenvironment (môi trường) thông qua actions (các hành động), sau đó environment

sẽ trả về cho agents là percepts/observations (các quan sát) Với mỗi action với môitrường, agent sẽ thu về percepts/observations thông qua sensors, các percepts tậphợp lại thành 1 chuỗi gọi là percepts sequence

1.2.Lịch sử AI:

Năm 1956, 1 workshop được tổ chức tại trường đại học Dartmouth bởi 1nhóm các nhà khoa học Tại đây, họ đã nói về tầm nhìn phát triển của ngành AIrằng mong muốn tạo ra được những cái máy có thể sử dụng ngôn ngữ làm việc vớicác khái niệm trừu tượng và từ đó AI được coi là 1 ngành độc lập

Những năm 1980, do sự phát triển của nhiều công trình nghiên cứu, ngành

Trang 6

1.3.Mục tiêu AI:

Các nhà nghiên cứu đầu tiên đã phát triển các thuật toán bắt chước theo lýluận từng bước mà con người sử dụng khi giải quyết các câu đố hoặc đưa ra cácphương pháp loại trừ logic Vào cuối những năm 1980 và 1990, nghiên cứu về AI

đã phát triển các phương pháp xử lý thông tin không chắc chắn hoặc không đầy đủ,

sử dụng các khái niệm từ xác suất và kinh tế

Đối với những vấn đề khó, các thuật toán bắt buộc phải có phần cứng đủmạnh để thực hiện phép tính toán khổng lồ - để trải qua "vụ nổ tổ hợp": lượng bộnhớ và thời gian tính toán có thể trở nên vô tận nếu giải quyết một vấn đề khó.Mức độ ưu tiên cao nhất là tìm kiếm các thuật toán giải quyết vấn đề

Con người thường sử dụng các phán đoán nhanh và trực quan chứ khôngphải là phép khấu trừ từng bước mà các nghiên cứu AI ban đầu có thể môphỏng AI đã tiến triển bằng cách sử dụng cách giải quyết vấn đề "biểu tượng phụ":cách tiếp cận tác nhân được thể hiện nhấn mạnh tầm quan trọng của các kỹ năngcảm biến động đến lý luận cao hơn; nghiên cứu mạng thần kinh cố gắng để môphỏng các cấu trúc bên trong não làm phát sinh kỹ năng này Các phương pháp tiếpcận thống kê đối với AI bắt chước khả năng của con người

2.Giải thuật tìm kiếm điểm mù:

2.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ốctớ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 theochiề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ừ đỉnhgố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ố đó,

Trang 7

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ếmtheo 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:

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)

2 Nếu không tìm thấy đỉnh liền kề, thì xóa đỉnh đầu tiên trong hàng đợi.

3 Lặp lại Qui tắc 1 và 2 cho tới khi hàng đợi là trống.

*Ứ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ínhbằng số cung)

Trang 8

 Kiểm tra xem một đồ thị có là đồ thị hai phía Tìm các thành phần liênthô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 trongcác đỉnh để duyệt hiệu quả, dẫn đến duyệt qua các đỉnh không cần thiết

2.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ìmkiế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ộtnút không có con Khi đó giải thuật quay lui về đỉnh vừa mới tìm kiếm ở bướctrước

Trang 9

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 tới B C tới D sau đó tới , sau đó tới và cuối cùng tới GiảiE F G

thuật này tuân theo qui tắc sau:

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)

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)

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.

Trang 10

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.

2.3.BFS và DFS:

Sự khác nhau cơ bản giữa các giải thuật tìm kiếm theo chiều rộng vàtìm kiếm theo chiều sau :

- Đi theo chiều rộng: Nguyên tắc của tìm

kiếm theo chiều rộng là trong số những

nút biên lựa chọn nút nông nhất (gần nút

gốc nhất) để mở rộng

- Đi theo chiều sâu: Nguyên tắc của tìm kiếm theo chiều sâu là trong số những nút biên lựa chọn nút sâu nhất (xa nút gốc nhất) để mở rộng Nếu hết đường thì quay lui lại chọn nút sâu tiếp theo

*Các hạn chế của chiến lược tiềm kiếm mù là :

- Chúng đều vét cạn không gian để tìm ra lời giải theo thủ tục xác định trước

Trả lời:

Khi không gian trạng thái của bài toán được biểu diễn bằng cây với điểmxuất phát là root của cây, thì DFS sẽ tìm đến trạng thái đích nhanh hơn BFS khitrạng thái đích là nút lá tận cùng bên trái của không gian trạng thái

Trang 11

*Ví dụ : tìm đường đi từ A đến L trong đồ thị sau:

Trang 12

Vậy để đi đến nút L phải duyệt qua các đỉnh A,B,E,F trong 4 lần lập

=>>Với trường hợp trên thì duyệt DFS sẽ nhanh hơn BFS

CHƯƠNG 2.ÁP DỤNG GIẢI QUYẾT B!I TOÁN:

2.1 Phát biểu bài toán:

Bài toán này khá quen thuộc, với nhiều phiên bản khác nhau như 8 puzzle,

15 puzzle… Ở mức độ thấp nhất là 8 puzzle, bài toán bao gồm một bảng 3x3 các ô

số được đánh từ 1 -> 8

Ở trạng thái bắt đầu, thứ tự của các ô số được sắp xếp ngẫu nhiên, nhiệm vụcủa người giải là phải đứa chúng về đúng thứ tự ban đầu đó là sắp xếp theo thứ tựtăng dần và từ trái qua phải

Trang 13

2.2.Mô hình hoá bài toán:

Bài toán được xây dựng trên bảng các ô vuông theo kích thước n x n (với 8puzzle thì n=3 và với 15 puzzle thì n=4) Số lượng trạng thái ban đầu là hoán vịcủa n x n phần tử Như vậy, mỗi khi giá trị của n tăng lên 1 thì không gian trạngthái của bài toán cũng tăng lên rất nhanh Do vậy, phụ thuộc vào cách chọn hàmđánh giá, nếu không kết hợp với các kỹ thuật bổ sung thì các bài với n>3 rất lâutìm ra kết quả hoặc là không thể thực hiện quá trình tìm lời giải bởi vì không giantrạng thái quá lớn

Với bài toán trên, dễ dàng nhận thấy rằng, tại mỗi trạng thái của bài toán chỉ

có tối đa 4 cách di chuyển sang trạng thái khác (trái, phải, lên, xuống), và để có thểtrở về trạng thái thoả mãn yêu cầu (trạng thái đích) thì trạng thái đầu tiên phải tuântheo một quy luật nào đó

2.3.Các bước giải bài toán:

Trang 14

2.3.1.Thuật toán tìm kiếm theo chiều rộng:

Thuật toán sử dụng một cấu trúc dữ liệu hàng đợi để lưu trữ thông tintrung gian thu được trong quá trình tìm kiếm:

1 Chèn đỉnh gốc vào hàng đợi (đang hướng tới)

2 Lấy ra đỉnh đầu tiên trong hàng đợi và quan sát nó Nếu đỉnh này chính làđỉnh đích, dừng quá trình tìm kiếm và trả về kết quả.Nếu không phải thìchèn tất cả các đỉnh kề với đỉnh vừa thăm nhưng chưa được quan sát trước

Trang 15

2.3.2.Thuật toán tìm kiếm theo chiều sâu:

Thuật toán sử dụng một cấu trúc dữ liệu hàng đợi để lưu trữ thông tin trunggian thu được trong quá trình tìm kiếm:

1 Chèn đỉnh gốc vào ngăn xếp (đang hướng tới)

2 Lấy ra đỉnh đầu tiên trong ngăn xếp và quan sát nó Nếu đỉnh này chính làđỉnh đích, dừng quá trình tìm kiếm và trả về kết quả Nếu không phải thìchèn tất cả các đỉnh kề với đỉnh vừa thăm nhưng chưa được quan sát trước

Trang 16

2.4.Kết quả giải toán :

2.4.1 Thuật toán tìm kiếm chiều rộng :

Trang 17

2.4.2 Thuật toán tìm kiếm chiều sâu :

CHƯƠNG 3.DEMO:

Trang 18

*Thuật toán tìm kiếm chiều rộng:

*Thuật toán tìm kiếm chiều sâu:

Trang 19

 Nếu Độ sâu không phù hợp sẽ ngưng tìm đích:

 Giải Bình thường ( trường hợp đủ độ sâu hoặc thừa ):

Trang 20

KẾT LUẬN

Trang 21

Với đề tài: Bài toán và phương pháp tìm kiếm điểm mù, vì thời gian cũng nhưkiến thức còn hạn chế, bài báo cáo này không thể tránh được những thiếu sót.Chúng em rất mong nhận được sự chỉ bảo, đóng góp ý kiến của các quý thầy cô đểchúng em có điều kiện bổ sung, nâng cao ý thức, tri thức của mình, phục vụ tốt hơntrong công tác học tập cũng như thực tế sau này.

Chúng em xin chân thành cảm ơn!

T!I LIỆU THAM KHẢO

Ngày đăng: 22/01/2025, 14:57

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN