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

Các chiến lược tìm kiếm và suy diễn

102 614 0

Đ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

Định dạng
Số trang 102
Dung lượng 1,31 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Kiến thức là mối quan tâm trước tiên của con người. Người ta luôn luôn tìm kiếm thêm kiến thức, sử dụng nó và làm phong phú thêm thế giới xung quanh. Con người đã có nhiều công cụ mở rộng kiến thức, trong đó máy tính là cái đáng kể nhất. Máy tính có thể xử lý nhanh chóng và chính xác các dữ liệu. Ngày nay nó không chỉ lưu trữ, tìm kiếm và xử lý các dữ liệu mà nó còn giữ vai trò ra các quyết định. Trong thời gian ngắn, công nghệ đã đưa con người từ việc xử lý dữ liệu, qua việc xử lý thông tin, đến việc xử lý tri thức. Một lĩnh vực nghiên cứu đóng góp vào công việc này là Trí tuệ nhân tạo. Sự phát triển mạnh mẽ cả về mặt nghiên cứu và ứng dụng các thành tựu Trí tuệ nhân tạo đã đem lại hy vọng cho các nhà tin học. Sự xuất hiện ngày càng nhiều sản phẩm sử dụng kỹ thuật Trí tuệ nhân tạo trong cuộc sống hàng ngày và trong công nghiệp đã tạo nên một cục diện mới. Hơn nữa, các thành công đạt được còn tạo ra những tiền đề cơ bản cho sự thành công của các dự án xây dựng các hệ thống thông minh ứng dụng rộng rãi trong thực tiễn. Trong một số lĩnh vực đặc biệt, Trí tuệ nhân tạo của máy tính đã vượt qua khả năng trí tuệ của con người. Trong khi đó, với một số bài toán con người giải quyết khá đơn giản thì đối với máy tính để làm được việc đó đòi hỏi phải có những họat động trí tuệ ở trình độ cao. Cốt lõi của mọi họat động trí tuệ diễn ra trong máy tính và bộ não con người là sự vận dụng linh hoạt các kỹ thuật giải quyết vấn đề. Trong các lĩnh vực Trí tuệ nhân tạo, chúng ta thường xuyên phải đối đầu với vấn đề tìm kiếm và suy diễn. Đặc biệt trong lập kế hoạch và học máy tìm kiếm đóng vai trò quan trọng. Hiểu được tầm quan trọng đó nên em đã lựa chọn nghiên cứu đề tài “Các chiến lược tìm kiếm và suy diễn”. Bản luận văn nghiên cứu các nội dung chính sau. Chương 1. Tổng quan về Trí tuệ nhân tạo. Chương 2. Không gian bài toán.Các chiến lược tìm kiếm và suy diễn. Chương 3. Các phương pháp biểu diễn tri thức. Chương 4. Ứng dụng trí tuệ nhân tạo: xây dựng chương trình Robot tìm vàng. Song với khả năng, kiến thức còn hạn chế và thời gian không cho phép, đề tài của em không thể tránh khỏi những thiếu sót. Em rất mong được sự đóng góp ý kiến, ủng hộ của thầy cô giáo và các bạn để bản luận văn của em được hoàn thiện hơn. Một lần nữa em xin chân thành cảm ơn sâu sắc đến các thầy cô giáo trong khoa Toán Tin, đặc biệt là thầy giáo Lê Đắc Nhường đã giúp đỡ em hoàn thành bản luận văn này.

Trang 1

Lêi nãi ®Çu

Kiến thức là mối quan tâm trước tiên của con người Người ta luôn luôn tìm kiếm thêm kiến thức, sử dụng nó và làm phong phú thêm thế giới xung quanh Con người đã có nhiều công cụ mở rộng kiến thức, trong đó máy tính là cái đáng kể nhất Máy tính có thể xử lý nhanh chóng và chính xác các dữ liệu Ngày nay nó không chỉ lưu trữ, tìm kiếm và xử lý các dữ liệu mà nó còn giữ vai trò ra các quyết định Trong thời gian ngắn, công nghệ đã đưa con người từ việc xử lý dữ liệu, qua việc xử lý thông tin, đến việc xử lý tri thức Một lĩnh vực nghiên cứu đóng góp vào công việc này là Trí tuệ nhân tạo

Sự phát triển mạnh mẽ cả về mặt nghiên cứu và ứng dụng các thành tựu Trí tuệ nhân tạo đã đem lại hy vọng cho các nhà tin học Sự xuất hiện ngày càng nhiều sản phẩm sử dụng kỹ thuật Trí tuệ nhân tạo trong cuộc sống hàng ngày và trong công nghiệp đã tạo nên một cục diện mới Hơn nữa, các thành công đạt được còn tạo ra những tiền đề cơ bản cho sự thành công của các dự án xây dựng các hệ thống thông minh ứng dụng rộng rãi trong thực tiễn

Trong một số lĩnh vực đặc biệt, Trí tuệ nhân tạo của máy tính đã vượt qua khả năng trí tuệ của con người Trong khi đó, với một số bài toán con người giải quyết khá đơn giản thì đối với máy tính để làm được việc đó đòi hỏi phải có những họat động trí tuệ ở trình độ cao Cốt lõi của mọi họat động trí tuệ diễn ra trong máy tính

và bộ não con người là sự vận dụng linh hoạt các kỹ thuật giải quyết vấn đề

Trong các lĩnh vực Trí tuệ nhân tạo, chúng ta thường xuyên phải đối đầu với vấn đề tìm kiếm và suy diễn Đặc biệt trong lập kế hoạch và học máy tìm kiếm đóng vai trò quan trọng

Trang 2

Hiểu được tầm quan trọng đó nên em đã lựa chọn nghiên cứu đề tài “Các chiến lược tìm kiếm và suy diễn” Bản luận văn nghiên cứu các nội dung chính sau.

Chương 1 Tổng quan về Trí tuệ nhân tạo

Chương 2 Không gian bài toán.Các chiến lược tìm kiếm và suy diễn

Chương 3 Các phương pháp biểu diễn tri thức

Chương 4 Ứng dụng trí tuệ nhân tạo: xây dựng chương trình Robot tìm vàng.Song với khả năng, kiến thức còn hạn chế và thời gian không cho phép, đề tài của em không thể tránh khỏi những thiếu sót Em rất mong được sự đóng góp ý kiến, ủng hộ của thầy cô giáo và các bạn để bản luận văn của em được hoàn thiện hơn

Một lần nữa em xin chân thành cảm ơn sâu sắc đến các thầy cô giáo trong khoa Toán Tin, đặc biệt là thầy giáo Lê Đắc Nhường đã giúp đỡ em hoàn thành bản luận văn này

Hải Phòng ngày 15 tháng 5 năm 2007

Sinh viên: Nguyễn Thị Thanh Thương

Trang 3

CHƯƠNG 1 TỔNG QUAN VỀ TRÍ TUỆ NHÂN TẠO

1.1 GIỚI THIỆU VỀ TRÍ TUỆ NHÂN TẠO

Nhiều dạng hoạt động của con người trong thực tiễn, từ những tính tốn trong các nghiên cứu khoa học - kỹ thuật, đến những họat động ít nhiều mang tính đơn giản như giải đáp câu đố, chơi cờ, sửa chữa máy mĩc, đều địi hỏi sự tham gia của trí tuệ Máy tính trở thành cơng cụ đắc lực ngày càng trợ giúp con người trong những cơng việc xử lý thơng tin, khơng những vậy máy tính cịn cĩ khả năng giải quyết được các nhiệm vụ ở mức độ trí tuệ ngày càng cao Theo một nghĩa nào đĩ, máy tính đã được trang bị Trí tuệ nhân tạo

Lĩnh vực của Trí tuệ nhân tạo nhằm vào việc hiểu các thực thể thơng minh Do

đĩ một trong các lý do để nghiên cứu là học về bản thân con người, hiểu cách suy

lý của con người Một lý do khác để nghiên cứu Trí tuệ nhân tạo là nhằm vào việc chế tạo các cỗ máy thơng minh hỗ trợ con người thơng qua nhiệm vụ ra quyết định

Từ trước đến nay, Trí tuệ nhân tạo đã cho nhiều kết quả và cho dù tương lai người

ta chưa biết nĩ ra sao, nhưng chắc chắn rằng máy tính với trí tuệ như con người sẽ tác động mạnh đến cuộc sống và văn minh của con người

1.1.1 Khái niệm

Trí tuệ nhân tạo (Artificial Intelligence) là một lĩnh vực của khoa học máy tính, nghiên cứu sự thiết kế các tác nhân thơng minh (“Computational intelligence is the study of the design of intelligent agents”) Các áp dụng của Trí tuệ nhân tạo rất đa

dạng và phong phú, hiện nay đã cĩ nhiều hệ thơng minh ra đời: hệ chuyên gia, các điều khiển tự động, các Robot, các hệ dịch tự động các ngơn ngữ tự nhiên, các hệ nhận dạng, các chương trình chơi cờ,…Kỹ thuật của Trí tuệ nhân tạo đã được sử dụng trong việc xây dựng các hệ mềm nhằm tạo ra các hệ mềm mang yếu tố thơng minh, linh hoạt và tiện dụng

Trang 4

1.1.2 Lịch sử phát triển trí tuệ nhân tạo

Thuật ngữ Trí tuệ nhân tạo được John McCarthy đưa ra trong hội thảo ở Dartmouth vào mùa hè 1956 Trong hội thảo này có mặt các tên tuổi nổi tiếng như Marvin Minsky, Claude Shannon, Nathaniel Rochester, Arthur Samuel, Allen Newell và Herbert Simon Trước hội thảo này, từ năm 1952 Arthur Samuel đã viết chương trình chơi cờ Samuel đã bác bỏ tư tưởng cho rằng máy tính chỉ có thể làm được cái mà người ta bảo nó làm, vì chương trình của Samuel có thể học để chơi tốt hơn người viết ra nó Đến hội thảo này, Allen Newell và Herbert Simon cũng đã viết chương trình lập luận với tên gọi “The logic theorist” Chương trình của các ông có khả năng chứng minh hầu hết các định lý trong chương 2 cuốn “Principia Mathematics” của Russell và Whitehead Trong hội thảo ở Dartmouth, các nhà

nghiên cứu đã thảo luận và vạch ra phương hướng nghiên cứu của lĩnh vực Trí tuệ

nhân tạo Vì vậy, hội thảo ở Dartmouth, mùa hè 1956 được xem là thời điểm ra đời

thực sự của lĩnh vực nghiên cứu Trí tuệ nhân tạo

Theo các mốc phát triển, người ta thấy Trí tuệ nhân tạo được sinh ra từ những năm 50 với các sự kiện sau:

- Người đi đầu trong Trí tuệ nhân tạo là Turing với các thí nghiệm về các hành

vi thông minh

- Tháng 8/1956 John McCarty, M.Minsky, A.Newell, Shannon, Simon…đưa ra

khái niệm “Trí tuệ nhân tạo”

- Chương trình đầu tiên về Trí tuệ nhân tạo có nguồn gốc từ lý thuyết logic, từ các trò chơi cờ,

- Xuất hiện ngôn ngữ lập trình LISP (List Processing), phù hợp với các nhu

cầu xử lý đặc trưng của Trí tuệ nhân tạo

Tuy vậy Trí tuệ nhân tạo chỉ đi vào hoạt động thực sự từ những năm 60, khi có nhiều đề án về Trí tuệ nhân tạo, có các nghiên cứu về may rủi, về hệ thống giải bài

toán GPS (General Problem Solving).

Trang 5

Việc khai thác và ứng dụng các kết quả của Trí tuệ nhân tạo bắt đầu từ những năm 70 Các kết quả đáng kể của Trí tuệ nhân tạo thuộc các mảng nghiên cứu ứng dụng sau:

- Thể hiện tri thức và suy lý

- Hệ chuyên gia

- Hiểu ngôn ngữ tự nhiên

- Người máy (Robot) thông minh, phát triển ở mức độ cao.

Những năm 80 được coi là thời gian thâm nhập của Trí tuệ nhân tạo vào các ngành kinh tế quốc dân Trong những năm này người ta tiến hành các thực nghiệm

và đạt được các nghiên cứu lý thuyết quan trọng

Những năm 90 người ta thực hiện:

- Cài đặt Trí tuệ nhân tạo, hay gọi là cài đặt thành phần thông minh trong các

hệ thống thông tin

- Làm rõ hơn các thành phần của ngành khoa học về Trí tuệ nhân tạo,

- Tiến hành các nghiên cứu mới, đặc biệt là các nghiên cứu về cơ chế suy lý,

về Trí tuệ nhân tạo phân tán, về các mô hình tương tác

1.1.3 Các kỹ thuật phát triển trí tuệ nhân tạo

Có nhiều kỹ thuật nghiên cứu, phát triển ngành khoa học Trí tuệ nhân tạo Tuy vậy, các kỹ thuật Trí tuệ nhân tạo thường khá phức tạp khi cài đặt cụ thể, lý do là các kỹ thuật này thiên về xử lý các ký hiệu tượng trưng và đòi hỏi phải sử dụng những tri thức chuyên môn thuộc nhiều lĩnh vực khác nhau

Do vậy, các kỹ thuật Trí tuệ nhân tạo hướng tới khai thác những tri thức về lĩnh vực đang quan tâm được mã hoá trong máy sao cho đạt được mức độ tổng quát; dễ hiểu, dễ diễn đạt thông qua ngôn ngữ chuyên môn gần gũi với ngôn ngữ tự nhiên;

dễ sửa đổi, hiệu chỉnh, dễ sử dụng, khai thác nhằm thu hẹp các khả năng cần xét để

đi tới lời giải cuối cùng

Trang 6

Các kỹ thuật Trí tuệ nhân tạo cơ bản bao gồm :

- Lý thuyết giải bài toán và suy diễn thông minh: Lý thuyết giải bài toán

cho phép viết các chương trình giải câu đố, chơi các trò chơi thông qua các suy luận mang tính người; các hệ thống chứng minh định lý Ngoài ra các hệ thống hỏi đáp thông minh còn cho phép lưu trữ và xử lý khối lượng lớn các thông tin

- Lý thuyết tìm kiếm may rủi: Lý thuyết này bao gồm các phương pháp và

kỹ thuật tìm kiếm với sự hỗ trợ của thông tin phụ để giải bài toán một cách

có hiệu quả

- Các ngôn ngữ về Trí tuệ nhân tạo: Để xử lý các tri thức người ta không

chỉ sử dụng các ngôn ngữ lập trình dùng cho các xử lý dữ liệu số, mà cần có ngôn ngữ khác Các ngôn ngữ chuyên dụng này cho phép lưu trữ và xử lý thông tin ký hiệu Một số ngôn ngữ được nhiều người biết đến là IPL.V, LISP, PROLOG

- Lý thuyết thể hiện tri thức và hệ chuyên gia: Trí tuệ nhân tạo là khoa học

về thể hiện và sử dụng tri thức Mạng ngữ nghĩa, lược đồ, logic vị từ, khung

là các phương pháp thể hiện tri thức thông dụng Việc gắn liền cách thể hiện

và sử dụng tri thức là cơ sở hình thành hệ chuyên gia

- Lý thuyết nhận dạng và xử lý tiếng nói: Giai đoạn phát triển đầu của Trí

tuệ nhân tạo gắn với lý thuyết nhận dạng Các phương pháp nhận dạng chính gồm: nhận dạng hình học, nhận dạng dùng tâm lý học, nhận dạng theo phương pháp hàm thế, dùng máy nhận dạng ứng dụng của phương pháp này trong việc nhận dạng chữ viết, âm thanh

- Người máy: Cuối những năm 70, người máy trong công nghiệp đã đạt được

nhiều tiến bộ Người máy có bộ phận cảm nhận và các cơ chế hoạt động được nối ghép theo sự điều khiển thông minh Khoa học về cơ học và Trí tuệ nhân tạo được tích hợp trong khoa học người máy

Trang 7

- Tâm lý học xử lý thông tin: Các kết quả nghiên cứu của tâm lý học giúp Trí

tuệ nhân tạo xây dựng các cơ chế trả lời theo hành vi, có ý thức; nó giúp cho việc thực hiện các suy diễn mang tính người

- Ngoài ra, xử lý danh sách, kỹ thuật đệ quy, kỹ thuật quay lui và xử lý cú pháp hình thức là những kỹ thuật cơ bản của tin học truyền thống có liên

quan trực tiếp đến Trí tuệ nhân tạo

1.1.4 Những đặc trưng của Trí tuệ nhân tạo

Trí tuệ nhân tạo có những đặc trưng sau:

- Trí tuệ nhân tạo xử lý thông tin theo trật tự ký hiệu Các thông tin gồm khái

niệm, luật, các đối tượng… dùng cho suy lý

- Khái niệm cơ bản trong Trí tuệ nhân tạo là sự thể hiện, suy lý, nhận biết việc

học và hệ thống cơ sở tri thức

- Phương pháp may rủi hay được dùng trong Trí tuệ nhân tạo, nó cho phép

giải hai lớp bài toán khó: Thứ nhất là giải những bài toán chưa có thuật toán như bài toán về nhận biết, ra quyết định, về khái niệm hoá Thứ hai là giải các bài toán đã có thuật toán giải nhưng độ phức tạp lớn như bài toán chơi cờ

- Trí tuệ nhân tạo xét đến những thông tin không đầy đủ, không chính xác, có

vẻ mâu thuẫn Những thông tin có vẻ mâu thuẫn thường thấy trong y học, trong quản lý xí nghiệp…

- Quá trình tương tác người - máy gắn liền với các hoạt động tự nhận biết là hướng nghiên cứu quan trọng trong Trí tuệ nhân tạo

- Trí tuệ nhân tạo liên quan đến nhiều lĩnh vực như các kỹ thuật mới, logic học, khoa học nhận biết, ngôn ngữ học, khoa học về tổ chức, thần kinh học Trí tuệ nhân tạo còn nằm trong các lĩnh vực nghiên cứu nâng cao, đề án nghiên cứu quan trọng

1.1.5 Trí tuệ nhân tạo trong công nghệ nhận thức

Trang 8

Suy Diễn

Dữ liệu

Sự kiện

Kết quả Diễn giải

Khi so sánh các phần mềm xử lý dữ liệu cổ điển như dữ liệu số, văn bản… với các phần mềm xử lý cả dữ liệu lẫn tri thức, người ta nhận thấy giữa hai cách xử lý này có những điểm khác nhau:

Tin học cổ điển đưa dữ liệu vào chương trình và thu nhận kết quả Chương trình trong trường hợp này được coi như là một hộp đen thực hiện các chức năng xử lý

dữ liệu theo thuật toán

Hình 1.1 Xử Lý dữ liệu trong tin học cổ điển

Với trí tuệ nhân tạo, các thông tin được nhập vào phần xử lý gồm dữ liệu, các sự kiện và các thông tin may rủi Phần xử lý dữ liệu trong mô hình tin học cổ điển được phát triển, cho phép xử lý các tri thức như mô tơ suy diễn trong hệ chuyên gia Các kết quả của hệ thống trí tuệ nhân tạo là các diễn giải, kết luận

Hình 1.2 Xử lý dữ liệu và tri thức trong trí tuệ nhân tạo

1.1.6 Thể hiện tri thức và các dạng tri thức

Trước khi xử lý các tri thức việc xác định các dạng thể hiện của tri thức là rất quan trọng Việc mô tả dữ liệu và tri thức phù hợp sẽ tạo điều kiện thuận lợi cho các thao tác xử lý

Một vài dạng thể hiện tri thức:

- Tri thức được thể hiện thông qua các đối tượng và sự kiện trên các đối tượng

- Các sự kiện dùng thể hiện tri thức Các sự kiện có thể mang yếu tố thời gian, tạo nên một chuỗi các sự kiện tuần tự

Thuật Toán

Trang 9

- Thể hiện thơng tin qua các suy diễn Chẳng hạn sử dụng các luật suy diễn các sự kiện.

- Thể hiện tri thức thơng qua cách sử dụng tri thức, như cách thực hiện hành động Loại thể hiện này liên quan đến ngơn ngữ học

- Thể hiện tri thức và thơng tin về tri thức đĩ

Người ta thường phân loại tri thức ra làm các dạng như sau:

1.2 CÁC THÀNH PHẦN CƠ BẢN CỦA TRÍ TUỆ NHÂN TẠO

Hai thành phần cơ bản trong bất kỳ một hệ thống Trí tuệ nhân tạo là:

− Các phương pháp biểu diễn vấn đề, các phương pháp biểu diễn tri thức

− Các phương pháp tìm kiếm trong khơng gian bài tốn, các chiến lược suy diễnViệc lựa chọn một phương pháp biểu diễn tri thức sẽ quyết định phương pháp giải quyết vấn đề tương ứng cĩ thể áp dụng vì hai thành phần của hệ thống Trí tuệ nhân tạo tương hỗ với nhau rất chặt chẽ Chẳng hạn, nếu tri thức được biểu diễn

dưới dạng các cơng thức của logic vị từ, khi đĩ phương pháp hợp giải (resolution) của Robinson khá phù hợp và thường được dùng để suy diễn Ngược lại, nếu

phương pháp biểu diễn tri thức là mạng ngữ nghĩa thì tất nhiên là các tủ tục tìm kiếm sẽ hiệu quả hơn

Mặc dù các phương pháp biểu diễn tri thức sử dụng cú pháp chặt chẽ thường rất hiệu quả cho việc biểu diễn và điều khiển quá trình suy diễn, nhưng chúng lại

Trang 10

khơng đủ mạnh để khắc phục bùng nổ tổ hợp khi giải những bài tốn khĩ Trong trường hợp đĩ, các thủ tục tìm kiếm heuristic dựa trên các tri thức đặc tả nảy sinh từ chính bản thân cấu trúc của bài tốn trở nên rất cần thiết.

Cĩ thể phân chia các hệ thống Trí tuệ nhân tạo như sau:

1 Các hệ tìm kiếm thơng tin, các hệ thống hỏi đáp thơng minh cho phép hội thoại giữa những người sử dụng khơng chuyên tin với cơ sở tri thức và cơ sở

dữ liệu thơng qua ngơn ngữ chuyên ngành gần với ngơn ngữ tự nhiên

2 Các hệ thống suy diễn – tính tốn, cho phép giải quyết những bài tốn phức tạp dựa trên các mơ hình tốn học và tri thức chuyên gia

3 Các hệ chuyên gia, cho phép sử dụng các tri thức chuyên gia trong các lĩnh vực chuyên sâu

1.3 MỘT SỐ VẤN ĐỀ QUAN TÂM VỀ TRÍ TUỆ NHÂN TẠO

Những vấn đề chung

Khoa học Trí tuệ nhân tạo liên quan đến cảm giác, tri giác và cả quá trình tư duy thơng qua các hành vi, giao tiếp Nĩ cĩ các định hướng nghiên cứu, ứng dụng sau: 1- Tìm và nghiên cứu các thủ tục giúp con người tiến hành các hoạt động sáng tạo Cơng việc sáng tạo được thực hiện trên mơ hình theo cấu trúc, chức năng và sử dụng cơng nghệ thơng tin

2- Dùng ngơn ngữ tự nhiên Trước hết là ngơn ngữ được dùng để thể hiện tri thức, tiếp thu và chuyển hố sang dạng cĩ thể xử lý được

3- Hình thức hố các khía cạnh, các hành vi liên quan đến Trí tuệ nhân tạo Do vậy cĩ thể xây dựng các bài tốn mang tính người và thơng minh

Các hoạt động lớn trong Trí tuệ nhân tạo bao gồm: chứng minh định lý, xử lý ngơn ngữ tự nhiên, hiểu tiếng nĩi, phân tích ảnh và hình, người máy và hệ chuyên gia Về cài đặt hệ thống, khuynh hướng hiện tại của Trí tuệ nhân tạo là cài đặt các

hệ Trí tuệ nhân tạo trong các hệ thống khác, đặc biệt là trong các hệ thống tin học

Trang 11

Những vấn đề chưa được giải quyết trong Trí tuệ nhân tạo

Những thành tựu nghiên cứu và ứng dụng các kỹ thuật Trí tuệ nhân tạo đã khẳng định tính thực tiễn của các dự án xây dựng máy tính có khả năng suy nghĩ

Tuy vậy trong một số phạm vi, máy tính còn thua xa so với hoạt động của hệ thần kinh con người:

- Sự khác nhau trong hoạt động giữa máy tính và bộ não con người, điều này thể hiện ưu thế của máy tính so với bộ não người vì khả năng tính toán rất lớn (nhất là trong các chương trình xử lý dữ liệu lớn)

- Xử lý song song: mặc dù công nghệ điện tử hiện đại cho phép xây dựng các

bộ đa xử lý, song máy tính không thể hoạt động song song như bộ não con người được

- Khả năng diễn giải: con người có thể xem xét cùng một vấn đề theo những

phương pháp khác nhau, từ đó diễn giải theo cách dễ hiểu nhất Ngược lại,

sự linh hoạt này không thể mô phỏng được trong các hệ thống Trí tuệ nhân tạo

- Lôgic rời rạc và tính liên tục: một thách đố lớn với các hệ thống Trí tuệ

nhân tạo là khả năng kết hợp các phương pháp xử lý thông tin trong môi trường liên tục với các thao tác xử lý thông tin rời rạc

- Khả năng học: mặc dù hiện nay máy tính có nhiều tính năng cao nhưng

cũng không thể mô phỏng được hoàn toàn khả năng học giống bộ não con người

- Khả năng tự tổ chức: cho tới nay, người ta chưa thể tạo lập được các hệ

thống Trí tuệ nhân tạo có khả năng tự tổ chức, tự điều khiển hoạt động của

nó để thích nghi với môi trường

Trang 12

Những vấn đề đặt ra trong tương lai của Trí tuệ nhân tạo.

Trong tương lai, những nghiên cứu và ứng dụng của Trí tuệ nhân tạo tập trung vào các vấn đề lớn sau:

Nghiên cứu và thử nghiệm các mạng Neuron, các hệ thống Trí tuệ nhân tạo mô

phỏng chức năng hoạt động của bộ não với các khả năng học, tự tổ chức, tự thích nghi, tổng quát hoá, xử lý song song, có khả năng diễn giải, xử lý thông tin liên tục

và rời rạc

Nghiên cứu và tạo lập các hệ thống có giao tiếp thân thiện giữa người và máy trên cơ sở nghiên cứu nhận thức máy, thu thập và xử lý tri thức, xử lý thông tin hình ảnh, tiếng nói

Nghiên cứu các phương pháp biểu diễn tri thức và các phương pháp suy diễn thông minh, các phương pháp giải quyết vấn đề đối với những bài toán phụ thuộc không gian, thời gian

Ngày nay, thế giới đang chuyển mình trong những nghiên cứu về Trí tuệ nhân tạo Chắc chắn rằng máy tính với trí tuệ như con người sẽ tác động mạnh đến cuộc sống

xã hội

Trang 13

CHƯƠNG 2 BIỂU DIỄN KHÔNG GIAN TRẠNG THÁI CÁC CHIẾN LƯỢC TÌM KIẾM VÀ SUY DIỄN

2.1 KHÔNG GIAN BÀI TOÁN

2.1.1 Biểu diễn vấn đề trong khơng gian trạng thái

Dễ thấy rằng phương pháp trực tiếp nhất để tìm kiếm lời giải trong bài tốn trị chơi 15 số, 8 số… là thử những cách đi khác nhau cho đến khi nhận được trạng thái đích Thực chất của cách làm này gắn liền với chiến lược tìm kiếm thử và sai

Cĩ thể diễn đạt quá trình tìm kiếm này như sau: xuất phát từ trạng thái ban đầu xây dựng tất cả các trạng thái cĩ thể, sau đĩ xây dựng trạng thái tiếp theo, cứ tiếp tục như vậy cho tới khi nhận được trạng thái đích

Để diễn đạt phương pháp tìm kiếm như vậy người ta đưa ra một phương pháp

biểu diễn vấn đề phù hợp là đưa vào các khái niệm trạng thái (State) và tốn tử (Operator)

Phương pháp giải quyết vấn đề dựa trên khái niệm trạng thái và tốn tử được gọi

là cách tiếp cận giải quyết vấn đề nhờ khơng gian trạng thái

Muốn biểu diễn một vấn đề trong khơng gian trạng thái ta cần xác định các yếu

tố sau:

- Dạng mơ tả trạng thái và một tập hợp K tất cả các trạng thái cĩ thể cĩ của bài tốn

- Một tập hợp các tốn tử R hoặc các luật sản xuất Trong đĩ mỗi tốn tử mơ

tả một hành động hoặc một phép biến đổi cĩ thể đưa một trạng thái tới một trạng thái khác Tập hợp tất cả các trạng thái cĩ thể đạt tới từ một trạng thái ban đầu bằng cách áp dụng một dãy tốn tử lập thành khơng gian trạng thái của vấn đề

Trang 14

+ Ta sẽ ký hiệu không gian trạng thái là U, trạng thái ban đầu là uo (uo∈ U) Mỗi toán tử Ri có thể xem như là một ánh xạ R: U → U Nói chung R là ánh xạ không xác định khắp nơi trên U

- Trạng thái ban đầu uo

- Một tập hợp T các trạng thái kết thúc (trạng thái đích) T là tập con của không gian U

Khi biểu diễn một vấn đề thông qua các trạng thái và các toán tử thì việc tìm nghiệm của bài toán được quy về việc tìm đường đi từ trạng thái ban đầu đến trạng thái đích

Không gian trạng thái là tập tất cả các trạng thái có thể có và tập các toán tử của bài toán

Không gian trạng thái là một bộ bốn, ký hiệu: U= (K, uo, T, R) Trong đó,

K: tập tất cả các trạng thái có thể có của bài toán

uo: trạng thái đầu

T: tập các trạng thái đích

R: tập các toán tử

Một cách biểu diễn trực quan đối với không gian trạng thái và toán tử là sử dụng

đồ thị định hướng Trong đồ thị này các đỉnh tương ứng với các trạng thái còn các cung tương ứng với các toán tử Nếu có toán tử Ri biến đổi từ trạng thái u thành trạng thái v thì có cung gán nhãn Ri đi từ đỉnh u tới đỉnh v Khi đó một đường đi

trong không gian trạng thái sẽ là một đường đi trong đồ thị này

Ví dụ 1 Bài toán 8 số

Phát biểu bài toán: có 3x3 ô và 8 quân mang số hiệu từ 1 đến 8 được xếp vào 8

ô, còn lại 1 ô trống Trong trò chơi này ta có thể chuyển dịch các quân ở cạnh ô trống tới ô trống đó Vấn đề đặt ra là ta phải tìm ra một dãy các chuyển dịch để biến đổi từ trạng thái ban đầu sang trạng thái kết thúc (như hình vẽ trên)

Trang 15

Hình 2.1 Trạng thái ban đầu và trạng thái kết thúc của bài toán 8 số

Tương ứng các quy tắc chuyển dịch các quân ta có 4 toán tử: up (đẩy quân lên trên), down (đẩy quân xuống dưới), left (đẩy quân sang trái), right (đẩy quân sang

phải) Rõ ràng là các toán tử này chỉ là các toán tử bộ phận; chẳng hạn, từ trạng thái

ban đầu ta chỉ có thể áp dụng các toán tử down, left, right Không gian trạng thái

cho bài toán này có thể được biểu diễn như hình vẽ sau:

Hình 2.2 Đồ thị biểu diễn không gian trạng thái của bài toán 8 số

Ví dụ 2 Bài toán người tu sĩ và kẻ ăn thịt người

Trang 16

Có 3 tu sĩ và 3 kẻ ăn thịt người đứng ở bờ tả ngạn một con sông Họ đều muốn sang bờ bên kia Các tu sĩ không biết chắc chắn 3 kẻ ăn thịt người kia muốn thêm gì nữa nên họ muốn bố trí đi thuyền sang kia sông sao cho số tu sĩ còn lại ở mỗi bờ sông không bao giờ nhỏ hơn số kẻ ăn thịt người Biết rằng mỗi chuyến đi chỉ có thể chở được thêm 2 người Làm thế nào để mỗi người sang được bờ bên kia mà không

có một tu sĩ nào bị ăn thịt

Bài giải: Đương nhiên trong bài toán này các toán tử tương ứng với các hành

động chở 1 hoặc 2 người qua sông Cần lưu ý rằng khi hành động xảy ra (lúc thuyền đang qua sông) thì ở mỗi bờ sông, số kẻ ăn thịt người không được nhiều hơn

số tu sĩ Tiếp theo ta cần quyết định dạng mô tả là trạng thái của vấn đề Ở đây ta không cần phân biệt những kẻ ăn thịt người và các tu sĩ mà chỉ quan tâm số lượng của họ ở bên bờ sông là quan trọng

Để biểu diễn các trạng thái ta sử dụng bộ ba (AAA, BBB, K) Trong đó: A là tu

sĩ, B là kẻ ăn thịt người, K là thuyền Như vậy, không gian trạng thái cho bài toán này được xác định như sau:

Trạng thái ban đầu là (AAA, BBB, K): tất cả người và thuyền đều ở bờ tả ngạn Trạng thái kết thúc là ( _,_,_ ): tất cả mọi người và thuyền đều ở bờ hữu ngạnCác toán tử: có năm toán tử tương ứng với hành động thuyền chở qua sông 1 tu

sĩ hoặc 1 kẻ ăn thịt người, hoặc 2 tu sĩ, hoặc 2 kẻ ăn thịt người, hoặc 1 tu sĩ và 1 kẻ

ăn thịt người

Bờ tả

Bờ hữu Thuyền

Hình 2.3 Hình minh hoạ bài toán người tu sĩ và kẻ ăn thịt người

Trang 17

Dãy các trạng thái của bài toán tu sĩ và kẻ ăn thịt người (Từ trạng thái ban đầu đến trạng thái đích).

STT Hành động Bờ tả ngạn

Bên này sông

Bờ hữu ngạn Bên kia sông

0 Trạng thái ban đầu (AAA,BBB,K) ( _,_,_ )

1 Hai kẻ ăn thịt người qua bên kia sông (AAA,B,_ ) ( _, BB,K)

2 Một kẻ ăn thịt người quay lại bên này sông (AAA,BB,K) ( _,B,K)

3 Hai kẻ ăn thịt người qua bên kia sông (AAA,_,_ ) ( _,BBB,K)

4 Một kẻ ăn thịt người quay lại bên này sông (AAA,B,K) ( _,BB,_)

5 Hai tu sĩ sang bên kia sông (A,B,_ ) (AA,BB,K)

6 Một tu sĩ và 1 kẻ ăn thịt quay lại bên này sông (AA,BB,K) (A,B,_ )

7 Hai tu sĩ sang bên kia sông ( _,BB,_ ) (AAA,B,K)

8 Một kẻ ăn thịt người quay lại bên này sông ( _,BBB,K) (AAA,_,_ )

9 Hai kẻ ăn thịt người sang bên kia sông ( _,B,_ ) (AAA,BB,K)

10 Một kẻ ăn thịt quay lại bên này sông ( _,BB,K) (AAA,B,_ )

11 Hai kẻ ăn thịt người sang bên kia sông ( _,_,_ ) (AAA,BBB,K)

Trong các ví dụ trên việc tìm ra 1 biểu diễn thích hợp để mô tả các trạng thái của vấn đề là khá dễ dàng và tự nhiên Song trong nhiều vấn đề việc tìm được biểu diễn thích hợp cho các trạng thái của vấn đề là hoàn toàn không đơn giản Việc tìm

ra dạng biểu diễn tốt cho các trạng thái đóng vai trò hết sức quan trọng trong quá trình giải quyết một vấn đề Có thể nói rằng, nếu ta tìm được dạng biểu diễn tốt cho các trạng thái của vấn đề thì vấn đề hầu như đã được giải quyết

2.1.2 Quy bài toán về các bài toán con

Trong đời sống hàng ngày cũng như trong khoa học kỹ thuật mỗi khi gặp một vấn đề cần giải quyết ta vẫn thường cố gắng tìm cách đưa nó về các vấn đề đơn giản hơn Quy vấn đề về các vấn đề con (còn gọi là chia nhỏ vấn đề) là một phương pháp được sử dụng rộng rãi nhất để giải quyết các vấn đề

Trang 18

Ví dụ 1 Xét bài toán tính tích phân. x(lnx x2)dx

∫ + Thông thường để tính tích

phân bất định, chúng ta thường sử dụng các quy tắc tính tích phân: tích phân của tổng, quy tắc tích phân từng phần hay các phép biến đổi v.v… để đưa tích phân cần tính về tích phân của các hàm số sơ cấp mà chúng ta đã biết cách tính Đối với tích phân trên, ta có thể tách bài toán tích phân ban đầu thành các bài toán tích phân đơn giản hơn, bằng cách áp dụng quy tắc tích phân của tổng ta đưa về hai tích phân

∫ ln về tích phân ∫x dx Quá trình trên có thể biểu diễn bởi đồ thị trong hình sau

Hình 2.4 Quy một tích phân về các tích phân cơ bản

Trong bài toán tích phân, các tích phân cơ bản là các trạng thái kết thúc Các tích phân ∫x dxvà ∫x3dx

là các tích phân cơ bản đã có trong bảng tích phân có thể giải một cách dễ dàng Kết hợp các kết quả của các tích phân cơ bản ta nhận được kết quả của tích phân đã cho

Ta có thể nói rằng lời giải của tất cả các bài toán con này đảm bảo xác định lời giải của bài toán ban đầu Mỗi bài toán con này có thể được giải quyết theo một phương pháp nào đó có thể là sử dụng không gian trạng thái hoặc phân thành các bài toán con khác…Tiếp tục quá trình phân hoạch các bái toán con khác nhận được

dx x x

x (ln 2)

dx x x

dx x

Trang 19

thành các bài toán nhỏ hơn cuối cùng đi tới những bài toán sơ cấp có thể giải trực tiếp.

Người ta gọi phương pháp giải quyết vấn đề trên cơ sở tách bài toán con là cách tiếp cận dựa trên việc quy bài toán về các bài toán con

Cách tiếp cận sử dụng không gian trạng thái có thể xem như là một trường hợp đặc biệt của cách tiếp cận quy bài toán về các bài toán con

Phương pháp thử và sai đóng vai trò rất quan trọng trong cách tiếp cận dựa vào quy bài toán về các bài toán con Ở mỗi giai đoạn trong phương pháp này có thể xuất hiện một vài tập các bài toán con được tách ra trên cơ sở bài toán ban đầu Vì một vài tập bài toán con trong số đó có thể không đưa tới lời giải trọn vẹn đối với bài toán đã đặt ra nên thông thường để giải quyết bài toán ban đầu người ta cần phải đưa ra những phương pháp tìm kiếm đặc biệt trong không gian tập các bài toán con Cách tiếp cận này dẫn đến phương pháp biểu diễn không gian bài toán nhờ đồ thị VÀ/HOẶC

Ví dụ 2 Bài toán tìm đường đi trên bản đồ giao thông

Giả sử ta có bản đồ giao thông trong một vùng lãnh thổ Giả sử cần tìm đường

đi từ thành phố A tới thành phố B Có con sông chảy từ qua 2 thành phố E và G có cầu qua sông ở mỗi thành phố đó Mọi đường đi từ A đến B chỉ có thể qua E hoặc

G

Hình 2.5 Bản đồ giao thông trong bài toán tìm đường đi từ A đến B

Trang 20

Như vậy bài toán tìm đường đi từ A đến B được quy về các bài toán con sau:

1 Bài toán 1: Bài toán tìm đường đi từ A đến B qua E (hoặc)

2 Bài toán 2: Bài toán tìm đường đi từ E đến B qua G

Mỗi bài toán con trên lại có thể phân nhỏ thành các bài toán nhỏ hơn

Bài toán 1: Tìm đường đi từ A đến B qua E được quy về hai bài toán :

- Bài toán tìm đường đi từ A đến E (và)

- Bài toán tìm đường đi từ E đến B

Bài toán 2: Tìm đường đi từ A đến B qua G được quy về hai bài toán

- Bài toán tìm đường đi từ A đến G (và)

- Bài toán tìm đường đi từ G đến B

Quá trình rút gọn vấn đề như trên có thể biểu diễn dưới dạng đồ thị VÀ/HOẶC

Ở đây mỗi bài toán tìm đường đi từ một thành phố tới một thành phố khác ứng với một trạng thái Các trạng thái kết thúc là các trạng thái ứng với các bài toán tìm đường đi

Hình 2.6 Đồ thị VÀ/HOẶC của bài toán tìm đường đi từ A đến B

2.1.3 Biểu diễn vấn đề trong logic hình thức

Để giải quyết một vấn đề nào đó thông thường người ta tiến hành phân tích logic để thu gọn quá trình tìm kiếm Cũng nhờ phân tích logic mà đôi khi ta có thể chứng tỏ rằng một bài toán nào đó không thể giải được

Trang 21

Các kết luận logic cũng rất cần ngay cả trong cách tiếp cận dựa trên không gian trạng thái và quy bài toán về bài toán con Chẳng hạn, trong các phương pháp tiếp cận dựa trên không gian trạng thái, các kết luận logic được dùng để kiểm tra xem một trạng thái nào đó có phải là trạng thái đích hay không Ngoài ra, những lập luận logic cũng được dùng để xác định toán tử nào có thể áp dụng được đối với trạng thái đã cho nào đó Trong cách tiếp cận dựa trên việc quy bài toán về bài toán con, việc chứng minh tương tự cho phép tránh những uổng công khi giải những bài toán không giải được.

Ngoài ra logic hình thức có thể được sử dụng để giải quyết những bài toán chứng minh logic, chẳng hạn như chứng minh một khẳng định nào đó là đúng khi biết những tiền đề ban đầu và các luật suy diễn Đây là một trong những dạng giải quyết vấn đề quen thuộc nhất được các chuyên gia trí tuệ nhân tạo quan tâm nghiên cứu ngay từ đầu

Trong nhiều trường hợp các vấn đề có thể được biểu diễn trong các hệ logic, chẳng hạn logic vị từ cấp 1 Sau đó vấn đề được giải quyết bằng phương pháp chứng minh định lý Việc chứng minh được tiến hành bằng cách sử dụng các luật suy diễn trong hệ logic

Có những vấn đề không thể phát biểu được trong logic vị từ cấp 1 Trong thời gian gần đây người ta đã đưa ra nhiều hệ logic mới: logic mờ, logic xác suất, logic không đơn điệu…

Ví dụ: Ta có thể dùng các biểu thức logic để mô tả mối quan hệ của các thành

phần trong 1 tam giác như sau:

1) a ∧ b ∧ c → p

2) b ∧ p ∧ c → a

3) a ∧ p ∧ c → b

4) a ∧ b ∧ p → c

Trang 22

(Trong đó: a, b, c là ký hiệu các cạnh, A, B, C là ký hiệu các góc tương ứng, p

là ký hiệu nửa chu vi, và hc là đường cao xuất phát từ đỉnh C của tam giác).

Giả sử ta biết các cạnh a, b và một góc C Ta có thể có kết luận về đường cao hc không?

2.1.4 Một số ví dụ về không gian bài toán

Ví dụ 1: Bài toán tháp Hà Nội

Cho 3 cọc 1, 2, 3 Ở cọc 1 ban đầu có n đĩa sắp xếp theo thứ tự to dần từ trên xuống dưới Hãy dịch chuyển n đĩa (n =3 ) đó sang cọc 3 sao cho:

- Mỗi lần chuyển chỉ làm với 1 đĩa

- Trong mỗi cọc không cho phép đĩa to nằm trên đĩa bé

Hình 2.7 Bài toán Tháp Hà Nội với n = 3 Bài giải: Có thể chọn mô tả trạng thái của bài toán tháp Hà Nội với n = 3 là bộ

ba (i, j, k) Mỗi trạng thái là một bộ ba (i, j, k)

Ở đây: i có nghĩa là đĩa A ở cọc i

j có nghĩa là đĩa B ở cọc j

Trang 23

R = Tập các khả năng có thể chuyển đĩa.

Có các trường hợp như sau:

- Ba đĩa cùng nằm trên một cọc: (i, i, i)

- Hai đĩa cùng nằm trên một cọc: (i, i, j), (i, j, i), (j, i, i)

- Ba đĩa nằm trên ba cọc phân biệt: (i, j, k)

(i, i, i) (i, i, j)

(i, i, k)

(i, i, j) (i, i, k)

(i, k, j)(i, i, i)

(i, j, i) (i, j, k)

(i, j, j)(i, k, i)

(j, i, i) (j, i, j)

(j, i, k)(k, i, i)

(i, j, k) (i, i, k)

(i, j, j)(i, j, i)

Trang 24

Hình 2.8 Đồ thị bài toán tháp Hà Nội với n = 3

Ví dụ 2: Bài toán rót nước

Có hai can đựng nước, một can loại 4 lít và một can loại 3 lít Hãy xác định các thao tác rót nước để được đúng 2 lít nước trong can 4 lít

Bài giải: Giả sử trạng thái của bài toán được mô tả là tập (X,Y) tương ứng với X

và Y là số lít nước trong can 4 lít và 3 lít

Không gian trạng thái của bài toán được xác đinh như sau: U = {K, uo, T, R }

// Tập các trạng thái có thể có (dạng tổng quát của 1 trạng thái )

K = { (x,y) / 0 <= x <= m; 0 <= y <= n }

uo = (0,0) // Trạng thái đầu: hai bình đều rỗng

T = (2,n) // Trạng thái đích: cần có đúng 2 lít nước trong can 4 lít, n là

số không xác định trong can 3 lít

R = Tập các thao tác đổ đầy, đổ ra hoặc đổ sang bình khác thực hiện trên 1 bình.Các luật tương ứng với các thao tác rót nước

R1: (X, Y/ X≤4) →(4, Y) // Rót đầy nước vào can 4 lít

R2: (X, Y/ Y≤3) →(X, 3) // Rót đầy nước vào can 3 lít

R3: (X, Y/ X+d≤4; X- d ≤3)→(X+d, Y-d) // Rót nước từ can 3 lít sang can 4 lít

R4: (X, Y) →(X-d, Y+d)

Trang 25

R5: (X, Y/ X>0) →(0, Y)

R6 : (X,Y/ Y>0) →(X, 0)

R7 : (X, Y/ X+Y≤4 và Y>0) → (X+Y, 0)

R8 : (X, Y/ X+Y≤3 và X>0) → (0, X+Y)

R9 : (X, Y/ X+Y≥4 và Y>0) →(4, Y-(4-X)) // Rót đầy vào can 4 lít từ can 3 lít

R10: (X, Y/ X+Y≥3 và X>0) →(X-(3-Y), 3)// Rót đầy vào can 3 lít từ can 4

lít.

Vậy muốn rót được 2 lít nước vào can 4 lít thì ta phải thực hiện qua các bước:

(0, 0) →R2 (0, 3) →R7 (3, 0) →R2 (3, 3) →R9 (4, 2) →R5 (0, 2)

Ví dụ 3: Bài toán con khỉ và nải chuối

Con khỉ bị nhốt trong phòng, có nải chuối treo trên trần nhà Con khỉ không thể với để lấy nải chuối được Tuy vậy, con khỉ có thể dùng cái ghế và chiếc gậy để khều nải chuối Giả định rằng con khỉ biết di chuyển chiếc ghế, trèo lên xuống một vật, cầm một vật, khều nải chuối Tìm ra dãy các hành động tốt nhất để con khỉ lấy được nải chuối?

Bài giải

Cần phải biểu diễn trạng thái của vấn đề này như thế nào?

Gọi x = (x1, x2) là vị trí con khỉ

Gọi y = (y1,y2) là vị trí của chiếc bàn

Một biến c nhận giá trị 1 hoặc 0 tuỳ thuộc con khỉ ở trên bàn hay trên sàn nhà.Một biến d nhận giá trị 1 hoặc 0

• d = 1 nếu con khỉ với trí tới nải chuối (giả thiết khi con khỉ đứng trên bàn đặt dưới nải chuối, nó với tới nải chuối)

• d = 0 nếu ngược lại

Trang 26

Giả sử ban đầu vị trí con khỉ là a, của bàn là b, vị trí nải chuối là e Như vậy một trạng thái của vấn đề được biểu diễn bởi danh sách (x, c, y, d)

• Trạng thái ban đầu (a, 0, b, 0)

• Trạng thái kết thúc (e, 1, e, 1)

Con khỉ thực hiện 5 hành động sau đây:

• Goto(u) : Đi tới vị trí u

• Push(v) : Con khỉ đẩy chiếc bàn đến vị trí v

• Climbup : Con khỉ leo lên bàn

• Descend : Con khỉ tụt xuống khỏi bàn

• Get : Con khỉ tóm lấy nải chuối

Các hành động của con khỉ tương ứng với các phép biến đổi (toán tử) trạng thái sau đây

Goto (u) (x, 0, y, 0) (u, 0, y, 0)

Push (v)(y, 0, y, 0) (v, 0, v, 0)

Climbup(y, 0, y, 0) (y, 1, y, 0)

Descend(y, 1, y, 0) (y, 0, y, 0)

Get(e, 1, e, 0) (e, 1, e, 1)

Trang 27

Khơng gian trạng thái của vấn đề được biểu diễn bởi đồ thị sau

Hình 2.9 Đồ thị khơng gian trạng thái của bài tốn con khỉ và nải chuối

Chú ý: Việc tìm ra một biểu diễn thích hợp để mơ tả trạng thái vấn đề đĩng vai trị hết sức quan trọng khi giải quyết một vấn đề Một biểu diễn được xem là tốt nếu

nĩ thu hẹp được khơng gian trạng thái, các phép biến đổi trạng thái dễ thực hiện

2.2 CÁC KỸ THUẬT SUY DIỄN

2.2.1 Tổng quan

Mục đích của quá trình tìm kiếm là phát hiện đường đi từ trạng thái (cấu hình) xuất phát đến trạng thái đích Cĩ hai chiến lược tìm kiếm trong khơng gian trạng

Trang 28

thái bài toán đó là tìm kiếm bắt đầu từ dữ liệu ban đầu về đích và tìm kiếm từ dữ liệu đích lùi về dữ liệu ban đầu.

Tìm kiếm bắt đầu từ dữ liệu ban đầu về đích được gọi là chiến lược tìm kiếm suy diễn tiến và tìm kiếm từ đích lùi về dữ liệu ban đầu được gọi là chiến lược tìm kiếm suy diễn lùi

- Modus ponens: A, A →B

Bnghĩa là nếu A đúng và A →B đúng thì B cũng đúng

- Modus tollens B, A →B

A

nghĩa là nếu B sai và biết rằng A →B đúng thì A cũng sai

Trong quá trình suy diễn, ta cần quan tâm đến các vấn đề sau:

- Xây dựng tập luật, câu hỏi nào được chọn để người sử dụng trả lời

- Chọn quá trình tìm kiếm như thế nào

- Thông tin nhận được có ảnh hưởng đến quá trình tìm kiếm không

Bài toán: Cho tập sự kiện F= {f1, f2, ,fn} và tập luật R= {r1, r2, ,rm} Chứng minh tập kết luận G đúng

2.2.2 Suy diễn tiến (forward chaining - forward reasoning)

Trang 29

Tư tưởng cơ bản của suy diễn tiến là áp dụng luật suy diễn Modus Ponens tổng quát Suy diễn tiến là quá trình suy diễn bắt đầu từ tập sự kiện đã biết, rút ra những sự kiện mới và cứ như vậy cho đến khi có được sự kiện cần chứng minh hoặc không có luật nào sinh ra các sự kiện mới (tập sự kiện đúng là cực đại).

Phương pháp

GỌi T là tập các sự kiện tại thời điểm đang xét (khởi tạo tập T=F: tập sự kiện đúng ban đầu)

Xét các luật ri có dạng:p1 ∧ p2 ∧ ∧ pn → q và pj ∈ T ∀j =1,n nghĩa là left (ri)

∈ T thì T= T+ right (ri) Quá trình lặp lại cho đến khi G ⊂ T hoặc không có luật nào sinh ra thêm sự kiện mới

If G ⊂ T then write (“thành công”)

Else write (“không thành công”);

End;

Ví dụ: Cho trước tập sự kiện F={a,b} Sử dụng các luật:

Trang 30

- Trong mỗi bước của thủ tục, người ta xét một luật trong tập luật So sánh mỗi điều kiện (ở vế trái) của tập luật với các sự kiện trong cơ sở sự kiện, nếu tất cả các điều kiện của luật được thỏa mãn thì sự kiện trong phần kết luận được xem là sự kiện được suy ra Nếu sự kiện này là sự kiện mới (không có trong bộ nhớ làm việc) thì nó được đưa vào bộ nhớ làm việc Quá trình trên cứ lặp lại cho đến khi nào không có luật nào sinh ra sự kiện mới.

Trang 31

- Quá trình suy diễn tiến không định hướng tới giải quyết một vấn đề nào cả, không hướng tới tìm ra câu trả lời cho một câu hỏi nào cả Suy diễn tiến chỉ là quá trình suy ra các sự kiện mới từ các sự kiện có trong bộ nhớ làm việc.

2.2.3 Suy diễn lùi (backward chaining - backward reason)

Là quá trình xuất phát từ sự kiện cần chứng minh và thay vào đó là những sự kiện ở vế trái của 1 luật có vế phải là sự kiện cần chứng minh Quá trình này được thực hiện cho đến khi đưa về các sự kiện là tập sự kiện con của tập sự kiện giả thiết.(Nghĩa là: để đưa ra kết luận b, ta thử tìm tất cả các luật có dạng: a1∧ ∧ an→

b, để có b, phải đưa ra các kết luận a1, ,an Quá trình xác định ai cũng tương tự như đối với b, nếu đến một lúc nào đó phát hiện được rằng có một ai nào đó không dẫn xuất được từ các giả thiết thì quay lui sang các luật sản xuất khác sinh ra b có dạng

b1∧ ∧bm → b Ngược lại, nếu mọi ai đều dẫn xuất được giả thiết thì quá trình dẫn xuất ra b là đúng)

Trang 32

2.2.4 Ưu nhược đểm, đánh giá

Suy diễn tiến:

Trang 33

− Hệ thống có thể hỏi cả câu hỏi không liên quan Có thể các câu trả lời cũng quan trọng nhưng làm người dùng lúng túng khi phải trả lời các câu chẳng dính đến chủ đề.

Suy diễn lùi:

Ưu điểm:

− Phù hợp với bài toán đưa ra giả thuyết và liệu giả thuyết đó có đúng hay không? Tập trung vào đích đã cho Nó tạo ra một loạt câu hỏi chỉ liên quan đến vấn đề đang xét, thuận tiện đối với người dùng

− Khi suy diễn một điều gì từ thông tin đã biết, nó chỉ tìm trên một phần của cơ sở tri thức thích đáng đối với bài toán đang xét

− Suy diễn lùi được đánh giá cao trong các bài toán như là chẩn đoán, dự đoán và tìm lỗi

N

hược điểm :

− Nhược điểm cơ bản của loại suy diễn này là nó thường tiếp theo dòng suy diễn thay vì đúng ra phải dừng ở đó mà sang nhánh khác

Như vậy, dựa vào các ưu và nhược điểm của từng loại suy diễn mà ta nên chọn

kỹ thuật suy diễn nào để áp dụng vào bài toán Trước tiên, ta xem xét các chuyên gia giải nó như thế nào? Nếu cần thu thập dữ liệu rồi mới quyết định suy diễn cái gì thì ta chọn suy diễn tiến Còn nếu đã có giả thuyết và cần chứng minh cái đích này thì ta dùng suy diễn lùi

Ví dụ: Một bác sĩ có thể hiểu hàng trăm vấn đề có thể xảy ra với một cá nhân,

nhưng vẫn phải tìm hiểu hiện trạng của bệnh nhân, lúc đó cần suy diễn tiến Nguợc lại bác sĩ hầu như thấy được bệnh (ví dụ như viêm họng) thì ông ta dùng suy diễn lùi

2.2.5 Kết hợp suy diễn tiến và suy diễn lùi

Nhiều hệ thống trí tuệ nhân tạo dùng cả suy diễn tiến lẫn suy diễn lùi Người thiết kế kết hợp kỹ thuật suy diễn tiến và suy diễn lùi theo một trong hai phương pháp Phương

Trang 34

pháp thứ nhất là dùng các hệ thống phân tách, mỗi hệ thống có một kỹ thuật suy diễn riêng Phương pháp thứ hai sử dụng chức năng đặc biệt gọi là ma thuật Ma thuật này hoạt động theo suy diễn tiến.

2.2.5.1 Các hệ thống phân tách

Các bài toán lớn có thể được chia thành nhiều bài toán con Đối với vấn đề phức tạp người thiết kế hệ thống Trí tuệ nhân tạo thường chia vấn đề thành các nhiệm vụ nhỏ rồi thiết kế bài toán con ứng với mỗi nhiệm vụ Ưu điểm của tiếp cận này là mỗi hệ thống có

kỹ thuật suy diễn riêng

2.2.5.2 Ma thuật

Thiết kế dùng suy diễn tiến và suy diễn lùi có dùng các luật ma thuật

Định nghĩa – Ma thuật (Demon rules): Luật được cháy ngay khi giả thiết khớp với các nội dung của bộ nhớ làm việc

Luật ma thuật có trong các luật suy diễn lùi nhưng nó không áp dụng trong quá trình suy diễn lùi Hơn thế, nó còn chưa hoạt động ngay cả khi thông tin trong bộ nhớ đã đủ điều kiện khớp với giả thiết của nó Khi dùng ma thuật, các luật này cháy hết và bổ sung kết luận vào bộ nhớ Những thông tin mới này có thể hỗ trợ các luật suy diễn lùi, hay có thể kích hoạt các ma thuật khác, tạo nên dãy các suy diễn tiến Một luật ma thuật cho phép

hệ thống tự biến đổi, đặc biệt đối với các ứng dụng cần thích nghi với hoàn cảnh mới

Thí dụ

Dùng luật điều khiển trong việc chẩn đoán các vấn đề của nhà máy Các luật này được coi như là luật ma thuật để thay thế việc kiểm tra tuần tự Giả sử có vài chiếc máy làm việc cùng nhau để sản xuất ra vài sản phẩm Một máy trục trặc, dây chuyền sản xuất cần dừng trong lúc cần thực hiện việc chẩn đoán máy móc Giả sử hệ thống dùng suy diễn lùi

Trong lúc chẩn đoán, hệ thống cần thực hiện vài bước thao tác như ngắt điện, giảm áp suất…Nó cũng cần thu thập thông tin để xác định nguyên nhân hỏng hóc và làm các thao tác khắc phục Đương nhiên có thể có sự kiện bất thường, sự kiện làm ngắt quá trình chẩn

Trang 35

đốn bình thường của hệ thống để tới ngay sự kiện đĩ Khả năng này ứng với luật ma thuật nhúng trong hệ thống chẩn đốn:

Luật ma thuật 1 Vấn đề áp suất

THEN Trả lời = Sơ tán

Cĩ thể dùng luật ma thuật tương tự như luật 2 để phân loại các tình tạng trong

nhà máy theo bình thường, báo động…Luật ma thuật 3 cho câu trả lời thích hợp

cho hồn cảnh khẩn cấp

Thí dụ này mơ tả cách nhúng luật ma thuật vào hệ thống suy diễn lùi, đáp ứng các điều kiện thay đổi Người ta cĩ thể dùng nĩ để làm thích nghi việc suy lý của hệ thống với các sự kiện hiện tại Tiếp cận này cĩ ý nghĩa về thời gian thực, được gọi

là suy diễn theo sự kiện.

2.3 CÁC GIẢI THUẬT TÌM KIẾM

Để giải bài tốn sử dụng chiến lược tìm kiếm suy diễn tiến hoặc chiến lược suy diễn lùi, cơng việc tìm kiếm là phải tìm một đường từ trạng thái đầu đến trạng thái đích thơng qua khơng gian trạng thái của bài tốn Cơng cụ thực hiện việc tìm kiếm này đĩ là giải thuật Quá trình tìm kiếm được xem như cây tìm kiếm thơng qua khơng gian trạng thái của bài tốn Giải thuật bắt đầu từ nút gốc của cây tìm kiếm

Trang 36

thăm dò qua các nút khác của cây trong không gian trạng thái của bài toán Nếu giải thuật tìm thấy đích thì giải thuật thiết lập đường lời giải bắt đầu từ nút gốc thông qua các nút liên kết đến nút đích của cây Cấu trúc dữ liệu cho cây tìm kiếm ở đây

là ta giả sử nút là một cấu trúc dữ liệu với 5 thành phần như sau

− Trạng thái trong không gian trạng thái tương ứng với nút của cây

− Nút trong cây tìm kiếm mà đã phát sinh ra nút mới thì nút này được gọi là nút cha và nút mới được gọi là nút con

− Luật hay lệnh hợp lệ được áp dụng để phát sinh ra nút

− Số lượng của các nút trên đường từ nút gốc của cây đến một nút được gọi là độ sâu của nút đó

− Giá chi phí của đường là tính từ nút gốc của cây đến nút đó

Các loại chiến lược tìm kiếm cơ bản đó là: Chiến lược tìm kiếm mù, tìm kiếm kinh nghiệm, tìm kiếm tối ưu, tìm kiếm có đối thủ, tìm kiếm lai

2.3.1 Các chiến lược tìm kiếm mù

2.3.1.1 Tìm kiếm theo chiều rộng

Kỹ thuật tìm kiếm rộng: Chiến lược tìm kiếm theo chiều rộng là chiến lược tìm

kiếm mức theo mức của cây Kỹ thuật tìm kiếm rộng bắt đầu từ nút gốc của cây tìm kiếm qua tất cả các nút ở mức kế theo, nếu nó chưa tìm thấy thì nó tiếp tục tìm kiếm qua tất cả các nút ở mức sâu hơn, cứ như thế cho đến khi nó tìm thấy nút đích thì dừng thủ tục tìm kiếm và thiết lập đường lời giải bắt đầu từ nút gốc thông qua các nút liên kết đến nút đích

Giải thuật tìm kiếm rộng: Giải thuật tìm kiếm theo chiều rộng được trang bị

bằng 2 danh sách mở OPEN và đóng CLOSE, trong đó danh sách OPEN chứa các trạng thái đang chờ được duyệt và danh sách CLOSE chứa các trạng thái đã được duyệt qua Giải thuật được mô tả như sau:

Trang 37

Chú ý Thủ tục Append(OPEN,n0) bổ sung một phần tử vào queue OPEN.

Hàm Take(OPEN) lấy một phần tử trong queue OPEN

Nếu G là cây thì không cần dùng danh sách CLOSE

Đánh giá độ phức tạp của giải thuật tìm kiếm rộng.

Giả sử rằng, mỗi trạng thái khi được xét sẽ sinh ra k trạng thái kế tiếp Khi đó ta gọi k

là nhân tố nhánh Nếu bài toán tìm được nghiệm theo phương pháp tìm kiếm rộng có độ dài d Như vậy, đỉnh đích sẽ nằm ở mức d+1, do đó số đỉnh cần xét lớn nhất là:

1 + k + k2 + + kd

Trang 38

Như vậy độ phức tạp thời gian của giải thuật là O(kd) Độ phức tạp không gian cũng là O(kd), vì tất cả các đỉnh của cây tìm kiếm ở mức d+1 đều phải lưu vào danh sách.

Ưu điểm.

− Kỹ thuật tìm kiếm rộng là kỹ thuật vét cạn không gian trạng thái bài toán vì vậy

sẽ tìm được lời giải nếu có

− Đường đi tìm được đi qua ít đỉnh nhất

Nhược điểm.

− Tìm kiếm lời giải theo thuật toán đã định trước, do vậy tìm kiếm một cách máy móc; khi không có thông tin hỗ trợ cho quá trình tìm kiếm, không nhận ra ngay lời giải

− Không phù hợp với không gian bài toán kích thước lớn Đối với loại bài toán này, phương pháp tìm rộng đối mặt với các nhu cầu:

Ví dụ 1 Bài toán đong nước với m = 5, n= 4, k =3

Mức 1: Trạng thái đầu (0;0) Mức 2: Các trạng thái (5;0), (0;4),

Trang 39

(4;4) (5;4) (0;4) (4;0) (5;3) (0;1) (5;3) (0;0) (5;0) (0;4) (5;4) (1;4) (4;0) (1;0)

(4;4)(0;1) (5;1) (0;4) (0;0) (1;0) (5;3) (5;1) (0;0) (5;0) (0;4) (5;4) (1;4) (4;0) (1;0)

(0;1)

(5;3)

2.3.1.2 Tìm kiếm theo chiều sâu

Kỹ thuật tìm kiếm sâu: Chiến lược tìm kiếm theo chiều sâu là chiến lược tìm

kiếm nhánh theo nhánh của cây Chiến lược tìm kiếm sâu bắt đầu từ nút gốc tìm kiếm đến nút con, cháu, chắt của gốc Nếu tìm thấy đích thì dừng thủ tục tìm kiếm

và thiết lập đường lời giải từ nút gốc thông qua các nút liên kết đến nút đích; mặt

Trang 40

khác nếu tìm thấy đường cụt thì nó lùi về tìm kiếm nút anh em, hành động này gọi

là quay lui

Thuật toán tìm kiếm theo chiều sâu được hình dung như việc khảo sát một cây bắt đầu từ gốc đi theo mọi cành có thể được, khi gặp cành cụt thì quay lại xét cành chưa đi qua

− Ở bước tổng quát, giả sử đang xét đỉnh i, khi đó các đỉnh kề với i có các trường hợp:

+ Nếu tồn tại đỉnh j kề i chưa được xét thì xét đỉnh này (nó trở thành đỉnh

đã xét) và bắt đầu từ đó tiếp tục quá trình tìm kiếm với đỉnh này

+ Nếu với mọi đỉnh kề với i đều đã được xét thì i coi như duyệt xong và quay trở lại tìm kiếm từ đỉnh mà từ đó ta đi đến được i

Sử dụng hai danh sách hoạt động theo nguyên tắc LIFO: OPEN và CLOSE

Procedure DFS; (Depth First Search)

Ngày đăng: 31/08/2016, 16:22

HÌNH ẢNH LIÊN QUAN

Hình 2.2. Đồ thị biểu diễn không gian trạng thái của bài toán 8 số - Các chiến lược tìm kiếm và suy diễn
Hình 2.2. Đồ thị biểu diễn không gian trạng thái của bài toán 8 số (Trang 15)
Hình 2.1. Trạng thái ban đầu và trạng thái kết thúc của bài toán 8 số - Các chiến lược tìm kiếm và suy diễn
Hình 2.1. Trạng thái ban đầu và trạng thái kết thúc của bài toán 8 số (Trang 15)
Hình 2.6. Đồ thị VÀ/HOẶC của bài toán tìm đường đi từ A đến B - Các chiến lược tìm kiếm và suy diễn
Hình 2.6. Đồ thị VÀ/HOẶC của bài toán tìm đường đi từ A đến B (Trang 20)
Hình 2.8. Đồ thị bài toán tháp Hà Nội với n = 3 - Các chiến lược tìm kiếm và suy diễn
Hình 2.8. Đồ thị bài toán tháp Hà Nội với n = 3 (Trang 24)
Hình 2.9. Đồ thị không gian trạng thái của bài toán con khỉ và nải chuối - Các chiến lược tìm kiếm và suy diễn
Hình 2.9. Đồ thị không gian trạng thái của bài toán con khỉ và nải chuối (Trang 27)
Hình 2.10. Minh họa thuật giải Best-First Search - Các chiến lược tìm kiếm và suy diễn
Hình 2.10. Minh họa thuật giải Best-First Search (Trang 47)
Hình 3.1. Cây suy diễn trong thuật toán Wong.H - Các chiến lược tìm kiếm và suy diễn
Hình 3.1. Cây suy diễn trong thuật toán Wong.H (Trang 66)
Hình3.2. Đồ thị Và/Hoặc chẩn đoán sự hỏng hóc của máy tính - Các chiến lược tìm kiếm và suy diễn
Hình 3.2. Đồ thị Và/Hoặc chẩn đoán sự hỏng hóc của máy tính (Trang 73)
Hình 3.4. Mạng ngữ nghĩa của bài toán tam giác - Các chiến lược tìm kiếm và suy diễn
Hình 3.4. Mạng ngữ nghĩa của bài toán tam giác (Trang 78)
Hình 4.8. Form Map Maker khi  tạo kích thước bản đồ - Các chiến lược tìm kiếm và suy diễn
Hình 4.8. Form Map Maker khi tạo kích thước bản đồ (Trang 95)
Hình 4.10. Form Map Maker sau  khi đặt chướng ngại vật lên bản đồ - Các chiến lược tìm kiếm và suy diễn
Hình 4.10. Form Map Maker sau khi đặt chướng ngại vật lên bản đồ (Trang 97)
Hình 4.11. Form Map Maker khi tạo lập xong bản đồ - Các chiến lược tìm kiếm và suy diễn
Hình 4.11. Form Map Maker khi tạo lập xong bản đồ (Trang 98)
Hình 4.12. Form Edit Way Points – tạo lập đường đi cho NPC - Các chiến lược tìm kiếm và suy diễn
Hình 4.12. Form Edit Way Points – tạo lập đường đi cho NPC (Trang 99)
Hình 4.13. Form Solve gold Problems tại thời điểm ban đầu - Các chiến lược tìm kiếm và suy diễn
Hình 4.13. Form Solve gold Problems tại thời điểm ban đầu (Trang 100)
Hình 4.14. Form Solve gold problems tại thời điểm kết thúc - Các chiến lược tìm kiếm và suy diễn
Hình 4.14. Form Solve gold problems tại thời điểm kết thúc (Trang 101)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w