Điều khiển và cài đặt tìm kiếm trong không gian trạng thái

Chia sẻ: Xuan Truong | Ngày: | Loại File: PDF | Số trang:17

0
213
lượt xem
27
download

Điều khiển và cài đặt tìm kiếm trong không gian trạng thái

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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ì...

Chủ đề:
Lưu

Nội dung Text: Điều khiển và cài đặt tìm kiếm trong không gian trạng thái

  1. Chương 5: Điều khiển và cài đặt tìm kiếm trong không gian trạng thái Chương V ĐIỀU KHIỂN VÀ CÀI ĐẶT TÌM KIẾM TRONG KHÔNG GIAN TRẠNG THÁI Nội dung chính: 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 trong nội dung chương V 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). Mục tiêu cần đạt : Sau chương này, sinh viên 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Đ. Kiến thức tiên quyết : Lý thuyết đồ thị, Các thuật toán tìm kiếm trên đồ thị, Lý thuyết trò chơi, … Tài liệu tham khảo : [1] George F. Luger, William A. Stubblefield – Albuquerque – Artificial Intelligence – Wesley Publishing Company, Inc – 1997 (Chapter 4) [2] Bùi Xuân Toại – Trương Gia Việt (Biên dịch) – Trí tuệ nhân tạo – Các cấu trúc và chiến lược giải quyết vấn đề - NXB Thống kê, 2000 (Phần II) [3] Recursion: http://cs-people.bu.edu/dbuzan/cs112/lab5/lab5.html [4] Blackboard Architecture: http://www.nb.net/~javadoug/bb.htm Võ Huỳnh Trâm – Trần Ngân Bình 79
  2. Giáo Trình Trí Tuệ Nhân Tạo I TÌM KIẾM DỰA TRÊN CƠ SỞ ĐỆ QUI I.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. Thuật toán này sử dụng các biến toàn cục closed và open để duy trì danh sách các trạng thái: Function Depthsearch; % open và closed toàn cục 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 % xây dựng ngăn xếp then bổ sung con đó vào đầu danh sách open end; Tìm kiếm sâu; % đệ quy 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); % closed toàn cục Begin 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; % tìm kiếm đã đến cùng 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 80 Võ Huỳnh Trâm – Trần Ngân Bình
  3. Chương 5: Điều khiển và cài đặt tìm kiếm trong không gian trạng thái 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. 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. I.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à: Võ Huỳnh Trâm – Trần Ngân Bình 81
  4. Giáo Trình Trí Tuệ Nhân Tạo Function pattern_search(current_goal); Begin 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 (p1∧ p2 …): begin for mỗi thành phần pi do begin pattern_search(pi); if pattern_search thất bại then return fail; else áp dụng các phép thế vào các pi còn lại; end; if pattern_search thành công cho tất cả các pi then return hợp của các tập phép thế; else return fail; end; current_goal có dạng (p1∨ p2…): begin repeat cho mỗi pi pattern_search(pi); until không còn thành phần pi 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; 82 Võ Huỳnh Trâm – Trần Ngân Bình
  5. Chương 5: Điều khiển và cài đặt tìm kiếm trong không gian trạng thái II HỆ THỐNG LUẬT SINH (HỆ SINH – PRODUCTION SYSTEM) II.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. 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: Võ Huỳnh Trâm – Trần Ngân Bình 83
  6. Giáo Trình Trí Tuệ Nhân Tạo Tập luật sinh Bộ nhớ làm việc (production rules) (Working memory ) ĐỐI SÁNH Chu trình Tập luật tranh chấp nhận (Conflict Set) Thay đổi dạng – hành GIẢI QUYẾT động TRANH CHẤP THỰC THI luật kích họat (rule fired) Hình 5.1 – Cấu trúc hệ sinh Thí dụ 5.1: Một chương trình hệ sinh đơn giản dùng để sắp xếp một dãy các chữ cái a,b,c theo thứ tự từ điển. Trong ví dụ này, một luật sinh sẽ được áp dụng nếu điều kiện của nó phù hợp với một phần của dãy chữ cái trong bộ nhớ làm việc. Khi một luật được kích hoạt, phần dãy phù hợp với điều kiện luật này được thay thế bởi dãy ở phần hành động của luật đó. Tập luật sinh Tập luật Luật Bước Bộ nhớ làm việc tranh chấp kích hoạt Dừng Hình 5.2 – Các bước thực hiện của một hệ sinh đơn giản 84 Võ Huỳnh Trâm – Trần Ngân Bình
  7. Chương 5: Điều khiển và cài đặt tìm kiếm trong không gian trạng thái II.2 Một số ví dụ về hệ sinh Thí dụ 5.2: Bài toán trò đố 8 ô 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. Trạng thái Trạng thái bắt đầu: kết thúc: Tập luật sinh: Điều kiện Hành động Trạng thái kết thúc trong bộ nhớ làm việc → Dừng Ô trống không ở cạnh trái → Chuyển ô trống sang trái Ô trống không ở cạnh đỉnh → Chuyển ô trống lên Ô trống không ở cạnh phải → Chuyển ô trống sang phải Ô trống không ở cạnh đái → Chuyển ô trống xuống Bộ nhớ làm việc chứa trạnh thái bắt đầu và trạng thái kết thúc Cơ chế kiểm soát 1. Thử mỗi luật sinh theo thứ tự 2. Không cho phép vòng lập 3. Dừng khi tìm thấy trạng thái kết thúc Hình 5.3 – Trò đố 8 ô dưới dạng một hệ sinh Thí dụ 5.3: Bài toán đường đi quân mã (Knight’s tour problem) 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ờ. Mười sáu luật sinh sẽ biểu diễn cho tất cả các nước đi hợp lệ của 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à không tạo vòng lặp. Vì quá trình tìm kiếm có thể dẫn đến những kết thúc chết nên chu trình điều khiển cho phép lần ngược. Võ Huỳnh Trâm – Trần Ngân Bình 85
  8. Giáo Trình Trí Tuệ Nhân Tạo LUẬT ĐIỀU KIỆN HÀNH ĐỘNG 1 Quân mã ở ô 1 Di chuyển đến ô 8 2 Quân mã ở ô 1 Di chuyển đến ô 6 3 Quân mã ở ô 2 Di chuyển đến ô 9 4 Quân mã ở ô 2 Di chuyển đến ô 7 5 Quân mã ở ô 3 Di chuyển đến ô 4 6 Quân mã ở ô 3 Di chuyển đến ô 8 Các bước đi hợp lệ của quân mã 7 Quân mã ở ô 4 Di chuyển đến ô 9 8 Quân mã ở ô 4 Di chuyển đến ô 3 9 Quân mã ở ô 6 Di chuyển đến ô 1 1 2 3 10 Quân mã ở ô 6 Di chuyển đến ô 7 11 Quân mã ở ô 7 Di chuyển đến ô 2 4 5 6 12 Quân mã ở ô 7 Di chuyển đến ô 6 13 Quân mã ở ô 8 Di chuyển đến ô 3 7 8 9 14 Quân mã ở ô 8 Di chuyển đến ô 1 Đánh số các ô trong 15 Quân mã ở ô 9 Di chuyển đến ô 2 bàn cờ 3x3 16 Quân mã ở ô 9 Di chuyển đến ô 4 Bộ nhớ làm việc Luật Tập luật kích hoạt Bước tranh chấp Ô hiện thời Ô đi đến Dừng Hình 5.4 – Giải pháp hệ sinh cho bài toán đường đi quân mã 86 Võ Huỳnh Trâm – Trần Ngân Bình
  9. Chương 5: Điều khiển và cài đặt tìm kiếm trong không gian trạng thái II.3 Điều khiển tìm kiếm trong các hệ sinh Mô hình hệ sinh cho chúng ta có nhiều cơ hội để bổ sung điều khiển heuristic cho một thuật toán tìm kiếm. Những cơ hội đó có thể áp dụng khi chọn chiến lược tìm kiếm hướng dữ liệu hay tìm kiếm hướng mục tiêu, trong cấu trúc các luật hoặc khi chọn chiến lược giải quyết tranh chấp. II.3.1 Điều khiển chọn chiến lược tìm kiếm hướng dữ liệu (suy diễn tiến) hay tìm kiếm hướng mục tiêu (suy diễn lùi) Tìm kiếm hướng dữ liệu bắt đầu với một mô tả bài toán (như một tập các tiền đề logic, các triệu chứng của người bệnh, hay một khối dữ liệu cần suy diễn ...) rồi suy ra các kiến thức mới từ dữ liệu đó. Quá trình này được thực hiện bằng cách áp dụng các luật suy diễn, các nước đi hợp lệ trong một trò chơi hoặc các thao tác sinh ra trạng thái khác vào mô tả hiện hành của bài toán, đồng thời đưa thêm các kết quả vào mô tả bài toán. Quá trình này tiếp tục cho đến khi tiếp cận một mục tiêu. Tập luật sinh Quá trình thực hiện Tập luật Luật Bước Bộ nhớ làm việc tranh chấp kích họat Dừng Không gian suy diễn Hướng suy diễn Hình 5.5 – Tìm kiếm hướng dữ liệu trong một hệ sinh Mô tả của quá trình suy luận hướng mục tiêu này nhấn mạnh sự gần giống của nó với mô hình hệ sinh của việc tính toán. Trạng thái hiện tại của bài toán được đưa vào bộ nhớ làm việc. Chu trình nhận dạng – hành động sẽ đối sánh trạng thái hiện tại với tập luật sinh (theo thứ tự). Khi các dữ liệu này phù hợp với phần điều kiện của một trong các luật sinh đó, phần hành động của luật sinh sẽ bổ sung thêm (bằng cách thay đổi bộ nhớ làm việc) một thông tin mới vào trạng thái hiện tại của bài toán. Võ Huỳnh Trâm – Trần Ngân Bình 87
  10. Giáo Trình Trí Tuệ Nhân Tạo Vì tất cả các luật sinh đều có dạng CODITION→ ACTION. Khi CONDITION phù hợp với một số phần nào đó trong bộ nhớ làm việc, ACTION sẽ được thực hiện. Hình trên trình bày quá trình tìm kiếm hướng dữ liệu đơn giản dựa vào một tập các luật sinh được biểu diễn dưới dạng phép kéo theo của phép tính mệnh đề. Chiến lược giải quyết tranh chấp đơn giản là chọn luật vừa mới được kích hoạt. Theo ràng buộc này, luật đầu tiên sẽ được chọn. Quá trình thực hiện sẽ dừng lại khi tiếp cận một mục tiêu. Hình này cũng giới thiệu trình tự các luật kích hoạt và trạng thái bộ nhớ làm việc trong quá trình thực hiện cùng với đồ thị của không gian tìm kiếm. Ta cũng có thể áp dụng tìm kiếm hướng mục tiêu trong các hệ sinh. Để thực hiện điều này, mục tiêu được đưa vào bộ nhớ làm việc và được đối sánh với phần ACTION của các luật sinh (bằng phép hợp nhất chẳng hạn) và phần CODITION cuả luật sẽ được bổ sung vào bộ nhớ làm việc và trở thành các mục tiêu mới của quá trình tìm kiếm. Quá trình này cứ tiếp tục cho đến khi một sự kiện được tìm thấy, thường là trong mô tả ban đầu của bài toán. Quá trình tìm kiếm sẽ dừng lại khi các CODITION của tất cả các luật sinh được kích hoạt đều là đúng. Hình sau là một ví dụ về suy luận hướng mục tiêu. Cần chú ý rằng ta sẽ dừng lại khi các CODITION của tất cả các luật sinh được kích hoạt đều là đúng. Tìm kiếm hướng mục tiêu sẽ kích hoạt loạt luật sinh khác và tiến hành quá trình tìm kiếm trên không gian khác so với kiểu hướng dữ liệu. Tập luật sinh Quá trình thực hiện Tập luật Luật Bước Bộ nhớ làm việc tranh chấp kích họat Dừng Không gian suy diễn Hướng suy diễn Hình 5.6. – Tìm kiếm hướng mục tiêu trong một hệ sinh 88 Võ Huỳnh Trâm – Trần Ngân Bình
  11. Chương 5: Điều khiển và cài đặt tìm kiếm trong không gian trạng thái Câu hỏi : Một hệ sinh sử dụng động cơ suy diễn là một chu trình nhận dạng hành động (đối sánh → giải quyết tranh chấp → thi hành luật). Hãy cho biết điểm khác biệt cơ bản tại bước đối sánh (match) khi hệ thống tiến hành suy diễn tiến và suy diễn lùi ? II.3.2 Điều khiển tìm kiếm thông qua cấu trúc luật Cấu trúc của các luật trong một hệ sinh bao gồm sự phân biệt giữa phần điều kiện (CONDITION) với phần hành động (ACTION) và thứ tự mà các điều kiện được thử, sẽ quyết định cách tìm kiếm trong không gian. Trong biểu diễn của phép tính vị từ, các biểu thức chỉ định nghĩa các quan hệ thực trong một lĩnh vực bài toán chứ không khẳng định về thứ tự diễn dịch các thành phần của chúng do đó có thể có một vài cách biểu diễn khác nhau cho cùng một luật nhưng chúng vẫn tương đương về mặt chân trị. Những cách viết này có thể không dẫn đến cùng một kết quả khi được diễn dịch dưới dạng các luật sinh vì việc cài đặt của hệ sinh phải theo một thứ tự trong việc đối sánh và kích hoạt các luật. Hệ sinh thử các luật theo một thứ tự xác định nên người lập trình có thể điều khiển quá trình tìm kiếm thông qua cấu trúc và thứ tự của các luật trong tập luật sinh. Mặc dù tương đương về mặt logic nhưng hai cách thực hiện không như nhau trong một quá trình tìm kiếm. Các chuyên gia mã hóa các heuristic quan trọng theo những quy luật chuyên môn của họ. Thứ tự của các tiền đề sẽ mã hóa những thông tin quan trọng về trình tự để giải bài toán. Chẳng hạn khi một kỹ sư cơ khí nói rằng “Nếu động cơ không khởi động được và đèn không sáng thì kiểm tra acquy”, tức là anh ta đã đề nghị một trình tự đặc trưng cho các hành động. Thông tin này sẽ không thể hiểu bởi phát biểu logic tương đương “Động cơ khởi động được hoặc đèn sáng hoặc kiểm tra acquy”. Dạng này của các luật rất quan trong trong việc điều khiển tìm kiếm, nó làm cho hệ thống thực hiện một cách logic, làm cho quá trình theo dõi việc kích hoạt các luật dễ hiểu hơn, ... II.3.3 Điều khiển chọn chiến lược giải quyết tranh chấp Mặc dù các hệ sinh (giống như tất cả các cấu trúc dùng cho những hệ thống dựa vào kiến thức) cho phép các heuristic được mã hóa vào trong nội dung kiến thức của bản thân các luật, nhưng chúng cũng có nhiều cơ hội khác để điều khiển heuristic thông qua các giải pháp giải quyết tranh chấp. Ví dụ các chiến lược giải quyết tranh chấp được hỗ trợ bởi OPS5 (Brownston và cộng sự -1985) gồm có: 1. Chiến lược khúc xạ (refraction): Chiến lược này quy định rằng khi một luật đã được kích hoạt, nó không thể được kích hoạt lại trước khi các phần tử trong bộ nhớ làm việc phù hợp với phần điều kiện của nó thay đổi. Chiến lược này giúp ngăn ngừa vòng lặp. 2. Chiến lược vừa mới xảy ra (recency): Chiến lược này chọn những luật có phần điều kiện phù hợp với các mẫu vừa mới được bổ sung vào bộ nhớ làm việc. Chiến lược này giúp tập trung việc tìm kiếm vào một dòng suy luận duy nhất. Võ Huỳnh Trâm – Trần Ngân Bình 89
  12. Giáo Trình Trí Tuệ Nhân Tạo 3. Chiến lược tính chi tiết (specificity): Chiến lược này quy định rằng một luật giải toán chi tiết hơn sẽ được ưa thích hơn luật tổng quát. Một luật có tính chi tiết hơn luật khác nếu nó có nhiều điều kiện hơn. Điều này có nghĩa nó sẽ đối sánh với số mẫu ít hơn trong bộ nhớ làm việc. II.4 Những ưu điểm của hệ sinh dùng cho trí tuệ nhân tạo Theo các minh họa trên, hệ sinh cho chúng ta một quy tắc chung để thực hiện tìm kiếm. Nhờ tính đơn giản, khả năng cải biến và sự linh hoạt trong việc áp dụng các kiến thức giải toán, hệ sinh đã tỏ ra là một công cụ quan trọng để xây dựng các hệ chuyên gia và các ứng dụng trí tuệ nhân tạo khác. Những ưu điểm chính của các hệ sinh đối với trí tuệ nhân tạo là: 1. Tách riêng tri thức và điều khiển: Trong hệ sinh sự điều khiển được cho bởi chu trình nhận dạng – hành động của vòng lặp hệ sinh, còn các kiến thức giải toán được mã hóa vào trong các luật. Ưu điểm của sự tách biệt này là dễ thay đổi loại cơ sở tri thức mà không thay đổi việc điều khiển chương trình và ngược lại. 2. Đưa một sắp xếp tự nhiên vào tìm kiếm trong không gian trạng thái: Các phần tử của một hệ sinh sẽ được sắp xếp một cách tự nhiên vào cấu trúc tìm kiếm không gian trạng thái. Các trạng thái kế tiếp của bộ nhớ làm việc sẽ tạo nên các nút của đồ thị. Các luật sinh là các bước chuyển đổi có thể xảy ra giữa các trạng thái cùng với các chiến lược giải quyết tranh chấp sẽ cài đặt việc chọn một nhánh trong không gian trạng thái đó. 3. Tính module của luật sinh: Một yếu tố quan trọng của hệ sinh là không có bất kỳ sự tương tác lẫn nhau nào về cú pháp giữa các luật sinh. Các luật chỉ có thể tác động đến việc kích họat các luật khác bằng cách thay đổi mẫu trong bộ nhớ làm việc, chúng không thể “gọi” trực tiếp các luật khác như là một thủ tục con (subroutine), cũng không thể thiết lập giá trị của các biến cho các luật sinh khác. Tính độc lập về cú pháp này đã hỗ trợ cho sự phát triển của các hệ chuyên gia bằng cách liên tục bổ sung, loại bỏ hoặc thay đổi các tri thức (luật) của hệ thống. 4. Điều khiển theo mẫu: Các bài toán được chương trình trí tuệ nhân tạo nhằm vào đều yêu cầu phải linh hoạt trong quá trình thực thi chương trình. Mục tiêu này được đáp ứng bởi thực tế là các luật trong hệ sinh có thể kích hoạt theo mọi trình tự. Trong một bài toán, các mô tả tạo nên trạng thái hiện hành sẽ xác định tập luật tranh chấp và do đó cũng sẽ xác định con đường tìm kiếm và lời giải riêng. 5. Có cơ hội cho điều khiển heuristic của quá trình tìm kiếm. 6. Theo dõi và giải thích: Tính module của các luật và bản chất lặp lại trong quá trình thực thi làm cho nó dễ dàng theo dõi hơn trong một hệ sinh. Ở mỗi giai đoạn của chu trình nhận dạng – hành động, luật được chọn có thể được hiện ra. Vì mỗi luật ứng với một đoạn của quá trình giải toán nên nội dung luật sẽ giải thích đầy đủ ý nghĩa về trạng thái và hành động hiện hành của hệ thống đó. 7. Tính độc lập ngôn ngữ: Mô hình điều khiển hệ sinh không phụ thuộc vào cách thể hiện đã được chọn cho các luật và cho bộ nhớ làm việc miễn là cách thể hiện đó hỗ trợ cho việc đối sánh mẫu. 90 Võ Huỳnh Trâm – Trần Ngân Bình
  13. Chương 5: Điều khiển và cài đặt tìm kiếm trong không gian trạng thái 8. Mô hình hóa việc giải các bài toán của con người: Đây là một trong những ứng dụng đầu tiên của hệ sinh, chúng vẫn còn được dùng làm mô hình cho họat động của con người trong nhiều nghiên cứu khoa học về nhận thức. III KIẾN TRÚC BẢNG ĐEN (BLACKBOARD ARCHITECTURE) Kiến trúc bảng đen là cơ chế điều khiển cuối cùng được giới thiệu trong chương này. Kiến trúc bảng đen mở rộng các hệ sinh bằng cách cho phép chúng ta sắp xếp bộ nhớ làm việc thành các module riêng, mỗi module tương ứng với một luật sinh khác nhau. Kiến trúc này cũng cho phép chúng ta tích hợp các tập luật sinh khác nhau vào một cấu trúc toàn cục duy nhất. Một kiến trúc bảng đen bao gồm: 1. Bảng đen (Blackboard): Là một số cơ sở dữ liệu toàn cục tập trung dùng để trao đổi thông tin giữa các nguồn tri thức không đồng bộ độc lập, tập trung vào các mặt có liên quan của một bài toán cụ thể. 2. Các nguồn tri thức (Knowledge source) KSi: Lấy dữ liệu của mình từ bảng đen, xử lý các dữ liệu đó rồi trả kết quả về cho bảng đen để các nguồn tri thức khác sử dụng. Mỗi KSi đều độc lập theo ý nghĩa là một quá trình riêng biệt, hoạt động theo các đặc trưng riêng, và khi sử dụng một hệ thống đã xử lý hoặc có nhiều bộ xử lý, nó sẽ độc lập với các quá trình xử lý khác của bài toán. Hệ thống không đồng bộ ở chỗ từng KSi sẽ bắt đầu hoạt động của mình khi nào tìm thấy các dữ liệu đầu vào thích hợp được công bố trên bảng đen. Khi kết thúc công việc xử lý của mình, nó sẽ gửi kết quả đi và chờ dữ liệu đầu vào mới. 3. Bộ lập lịch trình (scheduler): Tổ chức việc cấp tài nguyên và truy cập bảng đen của các nguồn tri thức. Hình sau trình bày một sơ đồ về kiểu thiết kế bảng đen: KS1 Bảng đen toàn cục KS2 KSi KSn Hình 5.7 – Kiến trúc bảng đen Võ Huỳnh Trâm – Trần Ngân Bình 91
  14. Giáo Trình Trí Tuệ Nhân Tạo Kiến trúc bảng đen dùng trong việc tổ chức một chương trình lớn, lần đầu tiên được giới thiệu trong công trình nghiên cứu HEARSAY-II (Erman và cộng sự, Reddy–1976). HEARSAY–II là một chương trình hiểu lời nói, đầu tiên nó được thiết kế dưới dạng nền cho một cơ sở dữ liệu thư viện về những bài báo khoa học. Những người sử dụng thư viện này phải nói với máy tính những câu như: “Có bài báo nào của Feigenbaum và Feldman hay không?” và máy tính sẽ trả lời câu hỏi đó bằng những thông tin lấy từ cơ sở dữ liệu của thư viện. Quá trình hiểu tiếng nói đòi hỏi chúng ta phải tích hợp một số quá trình khác nhau, có những yêu cầu về kiến thức và thuật toán rất khác nhau, và độ phức tạp có thể tăng theo hàm mũ. Những quá trình xử lý tín hiệu, nhận biết âm vị, âm tiết, từ, phân tích cú pháp và phân tích ngữ nghĩa sẽ chế ngự ràng buộc lẫn nhau khi diễn giải câu nói. Kiến trúc bảng đen đã cho phép HEARSAY-II tọa độ hóa một số nguồn tri thức khác nhau dùng trong công việc phức tạp này. Kiến trúc bảng đen thường được tổ chức theo hai chiều. Với HEARSAY-II hai chiều đó là thời gian khi lời nói được tạo ra và mức độ phân tích lời nói. Mỗi mức độ phân tích được xử lý bởi một lớp các nguồn tri thức: KS1 - Dạng sóng của tín hiệu âm thanh KS2 - Các âm vị hay các đoạn âm của tín hiệu âm thanh KS3 - Các âm tiết mà các âm vị đó có thể tạo ra KS4 - Các từ khi được phân tích bởi một KS KS5 - Các từ khi được phân tích bởi một KS khác KS6 - Loại KS dùng để phát ra các chuỗi từ KS7 - Loại KS dùng để đặt các chuỗi từ vào trong câu Trong việc xử lý lời nói, dạng sóng của tín hiệu âm thanh được đưa vào ở mức độ thấp nhất. Các nguồn tri thức dùng cho việc xử lý ở mức này đều được hiệu lực hóa và gởi các kết quả diễn dịch của chúng cho bảng đen, để sau đó sẽ được chọn lấy ra bởi một quá trình thích hợp. Vì ngôn ngữ nói thường có nhiều chỗ tối nghĩa nên có thể có nhiều giả thiết tranh chấp nhau ở từng mức trong kiến trúc. Các nguồn kiến thức ở mức cao hơn sẽ làm rõ nghĩa cho các giả thiết tranh chấp này. Sự phân tích của HEARSAY-II không thể xem đơn giản như một mức thấp tạo ra dữ liệu và sau đó các mức cao hơn là phân tích. Quá trình phức tạp hơn nhiều. Nếu KS ở một mức không thể xử lý dữ liệu được đưa đến, thì KS đó có thể yêu cầu KS đã gời dữ liệu cho nó quay lại với cách xử lý khác hay tạo ra giả thiết khác về dữ liệu đó. Ngoài ra, nhiều KS khác nhau có thể đồng thời hoạt động trên nhiều phần khác nhau của lời nói. Tất cả các quá trình này đều đồng bộ và hướng dữ liệu, chúng hoạt động khi có dữ liệu vào, tiếp tục hoạt động cho đến khi hoàn thành xong nhiệm vụ và sau đó gởi kết quả đi rồi chờ nhiệm vụ tiếp theo. Bộ lập lịch trình là một trong các KS, sẽ quản lý việc truy cập giữa các KS nếu không có KS nào hoạt động, bộ lập lịch trình sẽ quyết định nhiệm vụ đó kết thúc và đóng lại. Khi chương trình HEARSAY-II có một cơ sở dữ liệu khoảng 1000 từ, nó làm việc hoàn toàn tốt mặc dù hơi chậm. Khi cơ sở dữ liệu mở rộng hơn, dữ liệu dùng cho các nguồn tri thức này sẽ trở nên rất phức tạp đến mức khó quản lý. HEARSAY-III (Balzer và cộng sự - 1980, 92 Võ Huỳnh Trâm – Trần Ngân Bình
  15. Chương 5: Điều khiển và cài đặt tìm kiếm trong không gian trạng thái Erman và cộng sự - 1981) là sự tổng quát hóa phương pháp mà HEARSAY-II đã dùng. Chiều thời gian của HEARSAY-II không còn cần thiết nữa, nhưng nhiều KS ứng với các mức phân tích thì vẫn giữ nguyên. Bảng đen dùng cho HEARSAY-III được hoạch định để tương tác với một cơ sở dữ liệu quan hệ đa năng. Thực vậy, HEARSAY-III là một khung chung dùng để thiết kế các hệ chuyên gia. Một thay đổi quan trọng trong HEARSAY-III là chia bộ lập lịch trình thành một công cụ điều khiển riêng cho bảng đen. TỔNG KẾT CHƯƠNG V: Chương V đã trình bày một số các thuật toán cũng như các mô hình, kiến trúc phổ biến dùng điều khiển và cài đặt quá trình tìm kiếm trong không gian trạng thái như: tìm kiếm đệ quy, mô hình hệ sinh, kiến trúc bảng đen, … cùng với các bài toán minh họa cho từng giải thuật rất cụ thể. Trong chương VI tiếp theo, chúng ta sẽ thảo luận việc giải quyết vấn đề tri thức chuyên sâu mà điển hình là thiết kế các hệ chuyên gia. IV BÀI TẬP CHƯƠNG V V.1. Trước tình hình dịch cúm gà gần đây, Bộ y tế có đưa ra một số hướng dẫn về thực phẩm an toàn (safe) dưới dạng một tập hợp biểu thức vị từ như sau: R1. vegetable(X) ∨ fruit(X) ⇒ safe(X) R2. beef(X) ∨ porc(X) ∨ lamb(X) ⇒ meat(X) R3. meat(X) ∧ low_fat(X) ⇒ low_risk(X) R4. contains_fat(X,Y) ∧ (Y
  16. Giáo Trình Trí Tuệ Nhân Tạo V.2. Vẽ đồ thị AND/OR cho các quá trình suy diễn tiến và suy diễn lùi dùng trong hệ tư vấn dưới đây: Hệ tư vấn cho việc chọn hình thức giải trí trong kỳ nghĩ của bạn. Các đề nghị khác nhau mà hệ có thể cung cấp là: ngắm cảnh, trượt tuyết, tắm nắng, bơi lội, lướt ván. Tập luật suy diễn bao gồm: R1. IF thích_nắng THEN nghỉ_vùng_biển R2. IF không_thích_nắng AND chơi_thể thao THEN nghỉ_vùng_núi R3. IF không_thích_nắng AND không_chơi_thể thao THEN ngắm_cảnh R4. IF nghỉ_vùng_núi AND ngân_sách_nhỏ THEN ngắm_cảnh R5. IF nghỉ_vùng_núi AND ngân_sách_không_nhỏ THEN trượt_tuyết R6. IF nghỉ_vùng_biển AND không_chơi_thể thao THEN tắm_nắng R7. IF nghỉ_vùng_biển AND chơi_thể thao AND ngân_sách nhỏ THEN bơi_lội R8. IF nghỉ_vùng_biển AND chơi_thể thao AND ngân_sách_không_nhỏ THEN lướt_ván 1) Suy diễn tiến dùng dữ liệu: Nam, rất thích chơi thể thao, không thích ánh nắng và có ngân sách không nhỏ. 2) Suy diễn lùi và trả lời các câu hỏi phát sinh từ hệ thống trên dữ liệu sau: Hoa, rất thích chơi thể thao, thích ánh nắng mặt trời và chỉ có ngân sách nhỏ. 94 Võ Huỳnh Trâm – Trần Ngân Bình
  17. Chương V................................................................................................................................79 ĐIỀU KHIỂN VÀ CÀI ĐẶT TÌM KIẾM TRONG KHÔNG GIAN TRẠNG THÁI.......79 I. TÌM KIẾM DỰA TRÊN CƠ SỞ ĐỆ QUI.................................................................80 I.1. Tìm kiếm đệ quy ...............................................................................................80 I.2. Tìm kiếm hướng mẫu (Pattern – directed search).............................................81 II. HỆ THỐNG LUẬT SINH (HỆ SINH – PRODUCTION SYSTEM) .......................83 II.1. Định nghĩa hệ sinh ............................................................................................83 II.2. Một số ví dụ về hệ sinh .....................................................................................85 II.3. Điều khiển tìm kiếm trong các hệ sinh..............................................................87 II.4. Những ưu điểm của hệ sinh dùng cho trí tuệ nhân tạo......................................90 III. KIẾN TRÚC BẢNG ĐEN (BLACKBOARD ARCHITECTURE) ......................91 BÀI TẬP CHƯƠNG V ............................................................................................93 Võ Huỳnh Trâm – Trần Ngân Bình 95

CÓ THỂ BẠN MUỐN DOWNLOAD

Đồng bộ tài khoản