ĐIỀU KHIỂN TÌM KIẾM TRONG KHÔNG GIAN TRẠNG THÁI

21 598 0
ĐIỀU KHIỂN  TÌM KIẾM TRONG KHÔNG GIAN TRẠNG THÁI

Đ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

Tìm kiếm là một trong những vấn đề quan trọng của trí tuệ nhân tạo . Trong chương này, các kỹ thuật sâu hơn cho việc cài đặt các thuật toán tìm kiếm sẽ được trình bày một cách chi tiết. Trước hết là tìm kiếm đệ quy (recursive search) – một phương pháp thực hiện tìm kiếm sâu kèm theo lần ngược với cách thức tự nhiên và ngắn gọn. Tìm kiếm đệ quy được tăng cường nhờ sử dụng sự hợp nhất (unification) để tìm kiếm các không gian trạng thái do các biểu thức của phép tính vị từ sinh ra. Sự kết hợp này cho ta thuật toán tìm kiếm hướng mẫu (pattern – directed search). Phần tiếp theo giới thiệu mô hình hệ sinh (production system) – một cấu trúc tổng quát để giải các bài toán hướng mẫu, nó được sử dụng khá nhiều không những để mô hình hóa việc giải quyết các vấn đề của con người, mà còn để xây dựng các hệ chuyên gia và những ứng dụng Trí tuệ nhân tạo khác. Cuối cùng, một cách giải bài toán trí tuệ nhân tạo khác cũng được đề cập đến – kiến trúc bảng đen (blackboard architecture). Đây là 1 đề tài có ý nghĩa quan trọng trong môn học trí tuệ nhân tạo vì nó giúp cho người đọc có thể :

TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN BỘ MÔN CÔNG NGHỆ THÔNG TIN --------------o0o-------------- ĐỀ TÀI MÔN HỌC Đề tài: ĐIỀU KHIỂN TÌM KIẾM TRONG KHÔNG GIAN TRẠNG THÁI Chuyên ngành: Công nghệ thông tin Hệ: Chính Qui Lớp: CNTT_K47 Mã sinh viên: CQ471501 Họ và tên sinh viên: Nguyễn Thị Hương Giáo viên hướng dẫn: Lưu Minh Tuấn Đề tài trí tuệ nhân tạo Hà Nội – 11/2008 MỤC LỤC ĐIỀU KHIỂN TÌM KIẾM TRONG KHÔNG GIAN TRẠNG THÁI. I Mở đầu II Tìm kiếm trong không gian trạng thái trên cơ sở đệ qui II.1 Tìm kiếm đệ quy………………………………… II.2. Tìm kiếm hướng mẫu III.Hệ thống luật sinh(hệ sinh-production system) . … III.1. Định nghĩa hệ sinh……………………… . II.2. Một số ví dụ về hệ sinh II.3. Điều khiển tìm kiếm trong các hệ sinh . II.4. Những ưu điểm của hệ sinh dùng cho trí tuệ nhân tạo IV. Kiến trúc bảng đen (BLACKBOARD ARCHITECTURE) Sinh viên: Nguyễn Thị Hương-STT15-CQ471501 2 Đề tài trí tuệ nhân tạo NỘI DUNG TÌM HIỂU VỀ ĐIỀU KHIỂN VÀ CÀI ĐẶT TÌM KIẾM TRONG KHÔNG GIAN TRẠNG THÁI I.Mở đầu Tìm kiếm là một trong những vấn đề quan trọng của trí tuệ nhân tạo . Trong chương này, các kỹ thuật sâu hơn cho việc cài đặt các thuật toán tìm kiếm sẽ được trình bày một cách chi tiết. Trước hết là tìm kiếm đệ quy (recursive search) – một phương pháp thực hiện tìm kiếm sâu kèm theo lần ngược với cách thức tự nhiên và ngắn gọn. Tìm kiếm đệ quy được tăng cường nhờ sử dụng sự hợp nhất (unification) để tìm kiếm các không gian trạng thái do các biểu thức của phép tính vị từ sinh ra. Sự kết hợp này cho ta thuật toán tìm kiếm hướng mẫu (pattern – directed search). Phần tiếp theo giới thiệu mô hình hệ sinh (production system) – một cấu trúc tổng quát để giải các bài toán hướng mẫu, nó được sử dụng khá nhiều không những để mô hình hóa việc giải quyết các vấn đề của con người, mà còn để xây dựng các hệ chuyên gia và những ứng dụng Trí tuệ nhân tạo khác. Cuối cùng, một cách giải bài toán trí tuệ nhân tạo khác cũng được đề cập đến – kiến trúc bảng đen (blackboard architecture). Đây là 1 đề tài có ý nghĩa quan trọng trong môn học trí tuệ nhân tạo vì nó giúp cho người đọc có thể : 􀂾Vận dụng thuật toán tìm kiếm đệ quy kết hợp lần ngược trên không gian trạng thái. 􀂾Hiểu thuật toán hướng mẫu khi thực hiện việc tìm kiếm trong không gian trạng thái. 􀂾Vận dụng hệ sinh cho một bài toán. 􀂾Hiểu các ưu điểm của hệ sinh 􀂾Hiểu các ứng dụng kiến trúc bảng đen trong GQVĐ. Sinh viên: Nguyễn Thị Hương-STT15-CQ471501 3 Đề tài trí tuệ nhân tạo II Tìm kiếm trong không gian trạng thái trên cơ sở đệ qui II.1. Tìm kiếm đệ quy Một chuyển đổi trực tiếp của thuật toán tìm kiếm sâu thành dạng đệ quy sẽ minh họa cho sự tương đương của đệ quy và lặp lại đơn giản. Function Depthsearch; Begin If open rỗng then trả lời (thất bại); Trạng thái hiện hành := phần tử đầu tiên của open; If trạng thái hiện hành là trạng thái đích then trả lời (thành công) Else begin Open := open - phần tử đầu tiên của open; Closed := closed + trạng thái hiện hành; For mỗi trạng thái con của trạng thái hiện hành do If chưa có trong closed hay open then bổ sung con đó vào đầu danh sách open end; Tìm kiếm sâu; End; Tìm kiếm sâu như vừa được trình bày sẽ không sử dụng hết sức mạnh của phép đệ quy. Nó vẫn còn khả năng đơn giản hóa thủ tục bằng cách sử dụng chính phép đệ quy (thay gì một danh sách open) để sắp xếp các trạng thái trong không gian trạng thái. Trong phiên bản này của thuật toán, một danh sách closed toàn cục sẽ được dùng để phát hiện các trạng thái lặp lại, còn danh sách open thì tiềm ẩn trong các mẩu tin hoạt động của môi trường đệ quy. Function Depthsearch (trạng thái hiện hành); Begin Sinh viên: Nguyễn Thị Hương-STT15-CQ471501 4 Đề tài trí tuệ nhân tạo If trạng thái hiện hành là trạng thái đích then trả lời (thành công); For mỗi trạng thái hiện hành có con chưa được kiểm tra do begin Con := con chưa được kiểm tra kế tiếp; If con không phải là thành viên của closed then if depthsearch (con) = thành công then trả lời (thành công); end; Trả lời (thất bại); End; Thay vì phát sinh tất cả các con của một trạng thái và đưa chúng vào danh sách open, thuật toán này phát sinh mỗi lần một con và tìm kiếm theo phép đệ quy các nút cháu của từng con đó trước khi phát sinh các anh em của nó. Thuật toán này sẽ gán một thứ tự cho các bước phát sinh trạng thái. Trong tìm kiếm theo đệ quy đối với một trạng thái con, nếu có một con nào đó của trạng thái này là đích, thuật toán đệ quy sẽ trả lời thành công và bỏ qua tất cả các trạng thái anh em. Ngược lại, các trạng thái anh em kế tiếp được phát sinh. Cứ như vậy thuật toán sẽ tìm kiếm toàn bộ đồ thị lần lượt theo từng độ sâu một. Thuật toán đệ quy cho phép bỏ qua danh sách open trong suốt quá trình thực hiện. Cơ chế mà một ngôn ngữ lập trình sử dụng để cài đặt đệ quy là dùng mẩu tin hoạt động (activation record) cho từng lần gọi đệ quy. Quá trình lần ngược sẽ tác động khi tất cả các con cháu của một trạng thái không phải là đích, làm cho bước đệ quy đó thất bại. Việc thực hiện đệ quy cho phép lập trình viên thu hẹp tầm nhìn của họ vào một trạng thái duy nhất cùng với các con của nó thay vì phải duy trì một danh sách open gồm nhiều trạng thái. Sinh viên: Nguyễn Thị Hương-STT15-CQ471501 5 Đề tài trí tuệ nhân tạo Tìm kiếm trong không gian trạng thái là một quá trình đệ quy. Để tìm đường đi từ trạng thái hiện hành đến đích, bạn chuyển đến một trạng thái con và thực hiện phép đệ quy. Nếu trạng thái con đó không dẫn đến đích, bạn thử lần lượt các trạng thái anh em của nó. Phép đệ quy sẽ chia một bài toán lớn và khó (tìm kiếm khắp không gian) thành các bài toán nhỏ và đơn giản hơn (phát sinh các con của một trạng thái) và áp dụng chiến lược đệ quy cho từng bài toán nhỏ đó. Quá trình cứ tiếp tục như vậy cho đến khi phát hiện được đích hoặc hết không gian. II.2 Tìm kiếm hướng mẫu (Pattern – directed search) Trong phần này chúng ta sẽ áp dụng tìm kiếm đệ quy vào không gian các suy diễn logic, kết quả sẽ là một thủ tục tìm kiếm tổng quát dùng cho phép tính vị từ. Giả sử cần phải viết một thuật toán để xác định xem một biểu thức phép tính vị từ cho trước có phải là kết quả logic của môt tập các khẳng định nào đó hay không. Thuật toán này phải tìm một trình tự suy diễn tạo nên biểu thức đích. Thuật toán sẽ đề nghị một tìm kiếm hướng mục tiêu với câu hỏi ban đầu tạo nên đích và các modus ponens xác định các chuyển tiếp giữa các trạng thái. Cho trước một đích, thuật toán sẽ dùng phương pháp đồng nhất để chọn các phép kéo theo có kết luận phù hợp với đích đó. Sau khi đồng nhất đích với kết luận của phép kéo theo và đã áp dụng các thay thế vừa suy ra được, tiền đề của phép kéo theo sẽ trở thành một đích mới gọi là đích phụ (subgoal). Sau đó thuật toán sẽ thực hiện đệ quy đối với đích phụ này. Nếu đích phụ phù hợp với một sự kiện trong cơ sở tri thức, cuộc tìm kiếm kết thúc. Chuỗi suy diễn dẫn từ đích ban đầu đến các sự kiện cho trước sẽ chứng minh đích xuất phát là đúng. Phiên bản hoàn chỉnh của thuật toán tìm kiếm hướng mẫu có thể trả lời một tập các đồng nhất thỏa mãn từng đích phụ là: Function pattern_search(current_goal); Begin Sinh viên: Nguyễn Thị Hương-STT15-CQ471501 6 Đề tài trí tuệ nhân tạo If current_goal Є closed then return fail else Thêm current_goal vào closed; while còn dữ kiện hoặc luật đồng nhất do begin case current_goal đồng nhất với dữ kiện: return tập phép thế; current goal là ¬p: pattern_search(p); if pattern_search thất bại then return {} else return fail current_goal đồng nhất với kết luận của luật (q → p): begin áp dụng phép thế đồng nhất mục tiêu vào tiền đề (q); pattern_search (q); if pattern_search thành công then return hợp của tập phép thế của p và q; else return fail; end; current_goal có dạng (p 1 Λ p 2 …): begin for mỗi thành phần p i do begin pattern_search(p i ); if pattern_search thất bại then return fail; else áp dụng các phép thế vào các p i còn lại; end; if pattern_search thành công cho tất cả các p i then return hợp của các tập phép thế; else return fail; Sinh viên: Nguyễn Thị Hương-STT15-CQ471501 7 Đề tài trí tuệ nhân tạo end; current_goal có dạng (p 1 v p 2 …): begin repeat cho mỗi p i pattern_search(p i ); until không còn thành phần p i nào hoặc thành công; if pattern_search thành công then return {phép thế}; else return fail; end; return fail; End; III HỆ THỐNG LUẬT SINH (HỆ SINH – PRODUCTION SYSTEM) III.1 Định nghĩa hệ sinh Hệ sinh là một mô hình tính toán quan trọng trong trí tuệ nhân tạo về cả hai mặt: thực hiện các thuật toán tìm kiếm và mô hình hóa việc giải các bài toán của con người. Một hệ sinh được định nghĩa bởi: 1. Tập luật sinh (Production rules): Mỗi luật sinh có dạng condition → action (điều kiện → hành động). Phần điều kiện của luật là một mẫu cho biết khi nào thì có thể áp dụng luật. Phần hành động quy định các bước giải toán tương ứng điều kiện. 2. Bộ nhớ làm việc (Working memory): Chứa một mô tả về trạng thái hiện thời của bài toán trong quá trình suy luận. Mô tả này là một mẫu sẽ được đối sánh với phần điều kiện của một luật sinh để chọn ra bước giải thích hợp. Khi phần điều kiện của luật phù hợp với nội dung trong bộ nhớ làm việc, hành động phát sinh từ điều kiện đó sẽ được thực hiện làm thay đổi nội dung bộ nhớ làm việc. 3. Chu trình nhận dạng - hành động (Recognize – act cycle) : Là cấu trúc điều khiển của hệ sinh. Sinh viên: Nguyễn Thị Hương-STT15-CQ471501 8 Đề tài trí tuệ nhân tạo Cấu trúc điều khiển của một hệ sinh khá đơn giản: Bộ nhớ làm việc được khởi đầu với mô tả của bài toán. Trạng thái hiện hành của việc giải bài toán được duy trì dưới dạng một tập các mẫu trong bộ nhớ làm việc. Các mẫu này được đối sánh với phần điều kiện của các luật sinh, các luật có điều kiện phù hợp với mẫu trong bộ nhớ làm việc được gọi là tập luật tranh chấp (conflict set). Sau đó một trong các luật sinh này sẽ được chọn và được kích hoạt. Để kích hoạt một luật, phần hành động của nó được thục hiện và làm thay đổi nội dung bộ nhớ làm việc. Chu trình điều khiển sẽ lặp lại với nội dung đã được thay đổi trong bộ nhớ làm việc. Quá trình này kết thúc khi nội dung của bộ nhớ làm việc không còn phù hợp với điều kiện của luật nào nữa. Một quá trình giải quyết tranh chấp (conflict resolution) sẽ chọn một luật từ tập luật tranh chấp để kích hoạt. Chiến lược giải quyết tranh chấp có thể rất đơn giản như chọn luật đầu tiên có điều kiện phù hợp hoặc có thể dựa vào các heuristic chọn luật phức tạp. Đây là một khâu quan trọng để các hệ sinh có thể đưa khả năng điều khiển heuristic vào một thuật toán tìm kiếm. Một sơ đồ của hệ sinh được mô tả như hình sau: H 1. Cấu trúc hệ sinh III.2 Một số ví dụ về hệ sinh Thí dụ 2: Bài toán đố 8 ô Sinh viên: Nguyễn Thị Hương-STT15-CQ471501 9 Đề tài trí tuệ nhân tạo Không gian tìm kiếm do trò 8 ô sinh ra vừa đủ phức tạp để khảo sát và cũng vừa đủ nhỏ để có thể theo dõi, cho nên ta thường hay sử dụng nó để minh họa cho các chiến lược tìm kiếm khác nhau như tìm kiếm sâu, tìm kiếm rộng, cũng như các chiến lược tìm kiếm heuristic. Nó cũng thích hợp với việc giải bằng hệ sinh. Các nước đi hợp lệ được trình bày như các luật trong hình. Trong trường hợp trạng thái bắt đầu và trạng thái đích của trò chơi được xác định, chúng ta có khả năng áp dụng một hệ sinh cho không gian tìm kiếm của bài toán. Tập luật sinh: Ô trống không ở cạnh trái -> chuyển ô sang trái Ô trống không ở cạnh đỉnh-> chuyển ô lên trên Ô trống không ở cạnh phải-> chuyển ô sang phải Ô trống không ở cạnh đáy-> chuyển ô trống xuống dưới Trạng thái kết thúc -> dừng Cơ chế làm việc của bộ nhớ : - Thử mỗi luật sinh theo thứ tự - Không được phép lặp lại - Dừng khi thấy trạng thái kết thúc Thí dụ 3: Bài toán đường đi quân mã Bài toán đường đi quân mã trên bàn cờ vua cũng có thể được giải bằng cách sử dụng hệ sinh. Mỗi nước đi sẽ được biểu diễn bằng một luật mà phần điều kiện của nó là vị trí của quân cờ tại một ô và phần hành động của nó là vị trí hợp lệ sau khi di chuyển quân cờ. Khởi đầu, bộ nhớ làm việc chứa trạng thái bàn cờ hiện tại và trạng thái đích. Vòng lặp điều khiển sẽ áp dụng các luật cho đến khi trạng thái hiện tại giống trạng thái đích rồi dừng lại. Một chiến lược giải quyết tranh chấp sẽ kích hoạt luật đầu tiên và Sinh viên: Nguyễn Thị Hương-STT15-CQ471501 10

Ngày đăng: 07/08/2013, 12:01

Từ khóa liên quan

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

Tài liệu liên quan