Bài giảng Trí tuệ nhân tạo - Chương 3: Thuật toán - Thuật giải - Đào Nam Anh

I. KHÁI NIỆM THUẬT TOÁN – THUẬT GIẢI II. THUẬT GIẢI HEURISTIC III. TÁC TỬ IV. GIẢI QUYẾT BÀI TOÁN BẰNG CÁCH TÌM KIẾM V. CÁC PHƯƠNG PHÁP TÌM KIẾM THIẾU THÔNG TIN VI. CÁC PHƯƠNG PHÁP TÌM KIẾM HEURISTIC

pdf146 trang | Chia sẻ: candy98 | Lượt xem: 1204 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Bài giảng Trí tuệ nhân tạo - Chương 3: Thuật toán - Thuật giải - Đào Nam Anh, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1Artificial Intelligence Trí Tuệ Nhân tạo TS. Đào Nam Anh THUẬT TOÁN – THUẬT GIẢI 2Tài liệu Stuart Russell and Peter Norvig, Artificial Intelligence - A Modern Approach R. E. Bellman. An Introduction to Artificial Intelligence: Can Computers Think? Boyd & Fraser Publishing Company, San Francisco, 1978. E. Charniak and D. McDermott. Introduction to Artificial Intelligence. Addison- Wesley,Reading, Massachusetts, 1985. J. Haugeland. Artificial Intelligence: The Very Idea. MIT Press, Cambridge, Massachusetts, 1985. R. Kurzweil. The Age of Intelligent Machines. MIT Press, Cambridge, Massachusetts, 1990. N. J. Nilsson. Artificial Intelligence: A New Synthesis. Morgan Kaufmann, San Mateo, California, 1998. D. Poole, A. K. Mackworth, and R. Goebel. Computational Intelligence: A Logical Approach. Oxford University Press, Oxford, UK, 1998. E. Rich and K. Knight. Artificial Intelligence (Second Edition). McGraw-Hill, New York, 1991. P. H. Winston. Artificial Intelligence (Third Edition). Addison-Wesley, Reading, Massachusetts, 1992. N.Q.Hoan, Nhập môn trí tuệ nhân tạo Đinh Mạnh Tường, Giáo trình Trí tuệ Nhân tạo Hoàng Kiếm, Đinh Nguyễn Anh Dũng, Giáo trình Nhập môn Trí tuệ Nhân tạo 3NỘI DUNG I. KHÁI NIỆM THUẬT TOÁN – THUẬT GIẢI II. THUẬT GIẢI HEURISTIC III. TÁC TỬ IV. GIẢI QUYẾT BÀI TOÁN BẰNG CÁCH TÌM KIẾM V. CÁC PHƯƠNG PHÁP TÌM KIẾM THIẾU THÔNG TIN VI. CÁC PHƯƠNG PHÁP TÌM KIẾM HEURISTIC 4KHÁI NIỆM THUẬT TOÁN – THUẬT GIẢI Trong quá trình nghiên cứu giải quyết các vấn đề – bài toán: Có nhiều bài toán cho đến nay vẫn chưa tìm ra một cách giải theo kiểu thuật toán và cũng không biết là có tồn tại thuật toán hay không. Có nhiều bài toán đã có thuật toán để giải nhưng không chấp nhận được vì thời gian giải theo thuật toán đó quá lớn hoặc các điều kiện cho thuật toán khó đáp ứng. Có những bài toán được giải theo những cách giải vi phạm thuật toán nhưng vẫn chấp nhận được. 5KHÁI NIỆM THUẬT TOÁN – THUẬT GIẢI Cần phải có những đổi mới cho khái niệm thuật toán:mở rộng hai tiêu chuẩn của thuật toán: tính xác định và tính đúng đắn. Mở rộng Tính xác định: các giải thuật đệ quy và ngẫu nhiên. Tính đúng của thuật toán: không còn bắt buộc đối với một số cách giải bài toán, nhất là các cách giải gần đúng. Một trong những thuật giải thường được đề cập đến và sử dụng trong khoa học trí tuệ nhân tạo là các cách giải theo kiểu Heuristic 6THUẬT GIẢI HEURISTIC Thuật giải Heuristic là một sự mở rộng khái niệm thuật toán. Thường tìm được lời giải tốt (nhưng không chắc là lời giải tốt nhất) Giải bài toán theo thuật giải Heuristic thường dễ dàng và nhanh chóng đưa ra kết quả hơn so với giải thuật tối ưu, vì vậy chi phí thấp hơn. Thuật giải Heuristic thường thể hiện khá tự nhiên, gần gũi với cách suy nghĩ và hành động của con người. 7THUẬT GIẢI HEURISTIC Phương pháp xây dựng một thuật giải Heuristic Nguyên lý vét cạn thông minh: Trong một bài toán tìm kiếm nào đó, khi không gian tìm kiếm lớn, ta thường tìm cách giới hạn lại không gian tìm kiếm hoặc thực hiện một kiểu dò tìm đặc biệt dựa vào đặc thù của bài toán để nhanh chóng tìm ra mục tiêu. Nguyên lý tham lam (Greedy): Lấy tiêu chuẩn tối ưu (trên phạm vi toàn cục) của bài toán để làm tiêu chuẩn chọn lựa hành động cho phạm vi cục bộ của từng bước (hay từng giai đoạn) trong quá trình tìm kiếm lời giải. Nguyên lý thứ tự: Thực hiện hành động dựa trên một cấu trúc thứ tự hợp lý của không gian khảo sát nhằm nhanh chóng đạt được một lời giải tốt. 8THUẬT GIẢI HEURISTIC Phương pháp xây dựng một thuật giải Heuristic Hàm Heuristic: Đó là các hàm đánh giá thô, giá trị của hàm phụ thuộc vào trạng thái hiện tại của bài toán tại mỗi bước giải. Nhờ giá trị này, ta có thể chọn được cách hành động tương đối hợp lý trong từng bước của thuật giải. 9Bài toán: Hãy tìm một hành trình cho một người giao hàng đi qua n điểm khác nhau, mỗi điểm đi qua một lần và trở về điểm xuất phát sao cho tổng chiều dài đoạn đường cần đi là ngắn nhất. Giả sử rằng có con đường nối trực tiếp từ giữa hai điểm bất kỳ. Cách liệt kê tất cả con đường có thể đi, tính chiều dài của mỗi con đường đó rồi tìm con đường có chiều dài ngắn nhất. độ phức tạp 0(n!), khi số đại lý tăng thì số con đường phải xét sẽ tăng lên rất nhanh. Thuật giải Heuristic ứng dụng nguyên lý Greedy: – Từ điểm khởi đầu, ta liệt kê tất cả quãng đường từ điểm xuất phát cho đến n đại lý rồi chọn đi theo con đường ngắn nhất. – Khi đã đi đến một đại lý, chọn đi đến đại lý kế tiếp cũng theo nguyên tắc trên. Nghĩa là liệt kê tất cả con đường từ đại lý ta đang đứng đến những đại lý chưa đi đến. Chọn con đường ngắn nhất. Lặp lại quá trình này cho đến lúc không còn đại lý nào để đi. THUẬT GIẢI HEURISTIC Phương pháp xây dựng một thuật giải Heuristic Bài toán hành trình ngắn nhất – ứng dụng nguyên lý Greedy 10 THUẬT GIẢI HEURISTIC Phương pháp xây dựng một thuật giải Heuristic Bài toán hành trình ngắn nhất – ứng dụng nguyên lý Greedy 11 THUẬT GIẢI HEURISTIC Phương pháp xây dựng một thuật giải Heuristic Bài toán hành trình ngắn nhất – ứng dụng nguyên lý Greedy Thuật giải theo kiểu Heuristic đôi lúc lại đưa ra kết quả không tốt, như trường hợp ở hình sau. 12 THUẬT GIẢI HEURISTIC Phương pháp xây dựng một thuật giải Heuristic Bài toán phân việc – ứng dụng của nguyên lý thứ tự Một công ty nhận được hợp đồng gia công m chi tiết máy J1, J2, Jm. Công ty có n máy gia công lần lượt là P1, P2, Pn. Mọi chi tiết đều có thể được gia công trên bất kỳ máy nào. Một khi đã gia công một chi tiết trên một máy, công việ sẽ tiếp tục cho đến lúc hoàn thành, không thể bị cắt ngang. Để gia công một việc J1 trên một máy bất kỳ ta cần dùng một thời gian tương ứng là t1. Nhiệm vụ của công ty là phải làm sao gia công xong toàn bộ n chi tiết trong thời gian sớm nhất. 13 THUẬT GIẢI HEURISTIC Phương pháp xây dựng một thuật giải Heuristic Bài toán hành trình ngắn nhất – ứng dụng nguyên lý Greedy Xét bài toán trong trường hợp có 3 máy P1, P2, P3 và 6 công việc với thời gian là t1=2, t2=5, t3=8, t4=1, t5=5, t6=1. Có một phương án phân công (L) như hình sau: Sơ đồ phân việc theo hình ở trên được gọi là lược đồ GANTT. Thời gian để hoàn thành toàn bộ 6 công việc là 12. Phương án (L) vừa thực hiện là một phương án không tốt. Các máy P1 và P2 có quá nhiều thời gian rãnh. 14 THUẬT GIẢI HEURISTIC Phương pháp xây dựng một thuật giải Heuristic Bài toán hành trình ngắn nhất – ứng dụng nguyên lý Greedy Thuật toán tìm phương án tối ưu L0 cho bài toán này theo kiểu vét cạn có độ phức tạp cỡ O(mn) (với m là số máy và n là số công việc). Một thuật giải Heuristic rất đơn giản (độ phức tạp O(n)) để giải bài toán này: – Sắp xếp các công việc theo thứ tự giảm dần về thời gian gia công. – Lần lượt sắp xếp các việc theo thứ tự đó vào máy còn dư nhiều thời gian nhất. – Có một phương án L* như sau: – Phương án L* là phương án tối ưu: thời gian hoàn thành là 8, đúng bằng thời gian của công việc J3. 15 THUẬT GIẢI HEURISTIC Phương pháp xây dựng một thuật giải Heuristic Bài toán hành trình ngắn nhất – ứng dụng nguyên lý Greedy Một giải Heuristic đơn giản như vậy sẽ là một thuật giải tối ưu? Không, dễ dàng đưa ra được kết quả tối ưu hơn kết quả trên. 16 AI Agents/Tác tử - Định nghĩa An agent is anything that can be viewed as perceiving its environment through sensors and acting upon that environment through actuators Human agent: eyes, ears, and other organs for sensors; Hands, legs, mouth, and other body parts for actuators Robotic agent: cameras and infrared range finders for sensors; various motors for actuators Tác tử là bất cứ cái gì (con người, người máy, software robots, các bộ ổn nhiệt,) có khả năng cảm nhận môi trường xung quanh nó thông qua các bộ phận cảm biến và hành động phù hợp theo môi trường đó thông qua các bộ phận hoạt động Tác tử con người; Các bộ phận cảm biến: mắt, tai, và một số bộ phận cơ thể khác Các bộ phận hoạt động: tay, chân, miệng, và một số bộ phận cơ thể khác Tác tử người máy: Các bộ phận cảm biến: các máy quay (cameras), các bộ truy tìmtín hiệu hồng ngoại Các bộ phận hoạt động: các loại động cơ (motors) 17 Examples of Agents Ví dụ về tác tử Humans Programs Robots___ senses keyboard, mouse, dataset cameras, pads body parts monitor, speakers, files motors, limbs 18 Agents and environments Tác tử và Môi trường The agent function maps from percept histories to actions:/ Hàm tác tử: là hàm ánh xạ từ lịch sử nhận thức tới các hành động [f: P* A] The agent program runs on the physical architecture to produce f /Chương trình tác tử: hoạt động (chạy) dựa trên kiến trúc thực tế của hàm f agent = architecture + program Tác tử = Kiến trúc + Chương trình 19 Vacuum-cleaner world Ví dụ: Thế giới của máy hút bụi Percepts: location and contents, e.g., [A,Dirty] Actions: Left, Right, Suck, NoOp Các nhận thức: Ví trí và mức độ sạch sẽ Ví dụ: [A, Bẩn], [B, Bẩn] Các hành động: Di chuyển (máy hút bụi) sang trái, sang phải, hút bụi, hoặc không làm gì 20 A vacuum-cleaner agent Tác tử máy hút bụi function Reflex-Vacuum-Agent( [location, status]) returns an action if status = Dirty then return Suck else if location = A then return Right else if location = B then return Left 21 Rational Agents Tác tử hợp lý Tác tử làm đúng việc được coi là hợp lý A rational agent is one that does the right thing 22 Rational agents Tác tử hợp lý An agent should strive to "do the right thing", based on what it can perceive and the actions it can perform. The right action is the one that will cause the agent to be most successful Performance measure: An objective criterion for success of an agent's behavior E.g., performance measure of a vacuum-cleaner agent could be amount of dirt cleaned up, amount of time taken, amount of electricity consumed, amount of noise generated, etc. Tác tử cần phấn đấu để “làm đúng việ cần làm”, dựa trên những gì nó nhận thức (nhận biết) được và dựa trên các hành động mà nó có thể thực hiện Một hành động đúng (hợp lý) là hành động giúp cho tác tử đạt được thành công cao nhất đối với mục tiêu đặt ra Đánh giá hiệu quả hoạt động: là tiêu chuẩn để đánh giá mức độ thành công trong hoạt động của một tác tử Ví dụ: Tiêu chí đánh giá hiệu quả hoạ động của một tác tử máy hút bụi có th là: mức độ làm sạch, thời gian hút bụi, mức độ điện năng tiêu tốn, mức độ tiếng ồn gây ra, 23 Rational agents Tác tử hợp lý Rational Agent: For each possible percept sequence, a rational agent should select an action that is expected to maximize its performance measure, given the evidence provided by the percept sequence and whatever built-in knowledge the agent has. Tác tử hợp lý Với mỗi chuỗi nhận thức có được, Một tác tử hợp lý cần phải lựa chọn một hành động giúp cực đại hóa tiêu chí đánh giá hiệu quả hoạt động của tác tử đó, Dựa trên các thông tin được cung cấp bởi chuỗi nhận thức và các tri thức được sở hữu bởi tác tử đó 24 Rational agents Tác tử hợp lý Rationality is distinct from omniscience (all-knowing with infinite knowledge) Agents can perform actions in order to modify future percepts so as to obtain useful information (information gathering, exploration) An agent is autonomous if its behavior is determined by its own experience (with ability to learn and adapt) Sự hợp lý ≠ Sự thông suốt mọi thứ Sự thông mọi thứ = Biết tất cả mọi thứ, với tri thức vô hạn Vì các nhận thức có thể không cung cấp tất cả các thông tin liên quan Các tác tử có thể thực hiện các hành động nhằm thay đổi các nhận thức trong tương lai, với mục đích thu được các thông tin hữu ích (ví dụ: thu thập thông tin, khám phá tri thức) Tác tử tự trị là một tác tử mà các hành động của nó được quyết định bởi chính kinh nghiệm của tác tử đó (cùng với khả năng học và thích nghi) 25 Autonomy in Agents Sự độc lập của tác tử Tác tử hành động theo kinh nghiệm riêng của nó thì tác tử là độc lập. The autonomy of an agent is the extent to which its behaviour is determined by its own experience 26 PEAS - Môi trường công việc PEAS: Performance measure, Environment, Actuators, Sensors Must first specify the setting for intelligent agent design Consider, e.g., the task of designing an automated taxi driver: – Performance measure – Environment – Actuators – Sensors PEAS: – Performance measure: Tiêu chí đánh giá hiệu quả hoạt động, – Environment: Môi trường xung quanh, – Actuators: Các bộ phận hành động, – Sensors: Các bộ phận cảm biến Để thiết kế một tác tử thông minh, trước tiên cần phải xác định các giá trị của các thành phần của PEAS 27 PEAS - Môi trường công việc Must first specify the setting for intelligent agent design Consider, e.g., the task of designing an automated taxi driver: – Performance measure: Safe, fast, legal, comfortable trip, maximize profits – Environment: Roads, other traffic, pedestrians, customers – Actuators: Steering wheel, accelerator, brake, signal, horn – Sensors: Cameras, sonar, speedometer, GPS, odometer, engine sensors, keyboard Để thiết kế một tác tử thông minh, trước tiên cần phải xác định các giá trị của các thành phần của PEAS Ví dụ: Thiết kế một tác tử lái xe taxi tự động – Đánh giá hiệu quả hoạt động (P): an toàn, nhanh, đúng luật giao thông, mức độ hài lòng của khách hàng, tối ưu lợi nhuận, – Môi trường xung quanh (E): các con đường (phố), các phương tiện khác cùng tham gia giao thông, những người đi bộ, các khách hàng, – Các bộ phận hành động (A): bánh lái, chân ga, phanh, đèn tín hiệu, còi xe, – Các bộ phận cảm biến (S): máy quay (cameras), đồng hồ tốc độ, GPS, đồng hồ đo khoảng cách quãng đường, các bộ cảm biến động cơ, 28 PEAS - Môi trường công việc Agent: Medical diagnosis system Performance measure: Healthy patient, minimize costs, lawsuits Environment: Patient, hospital, staff Actuators: Screen display (questions, tests, diagnoses, treatments, referrals) Sensors: Keyboard (entry of symptoms, findings, patient's answers) Ví dụ: Thiết kế một tác tử chuẩn đoán y tế Đánh hiệu quả hoạt động (P): mức độ sức khỏe của bệnh nhân, cực tiểu hóa các chi phí, các việc kiện cáo Môi trường xung quanh (E): bệnh nhân, bệnh viện, nhân viên y tế Các bộ phận hành động (A): hiển thị trên màn hình các câu hỏi, các xét nghiệm, các chuẩn đoán, các điều trị, các chỉ dẫn Các bộ phận cảm biến (S): bàn phím để nhập vào các thông tin về triệu chứng, các trả lời của bệnh nhân đối với các câu hỏi 29 PEAS - Môi trường công việc Agent: Part-picking robot Performance measure: Percentage of parts in correct bins Environment: Conveyor belt with parts, bins Actuators: Jointed arm and hand Sensors: Camera, joint angle sensors Ví dụ: Thiết kế một tác tử nhặt đồ vật Đánh giá hiệu quả hoạt động (P): tỷ lệ (bao nhiêu phần trăm) các đồ vật được đặt vào đúng các thùng Môi trường xung quanh (E): dây chuyền chuyển động trên đó có các đồ vật, các thùng đựng Các bộ phận hành động (A): cánh tay và bàn tay được kết nối Các bộ phận cảm biến (S): máy quay (camera), các bộ cảm biến các góc độ (các hướng) 30 PEAS - Môi trường công việc Agent: Interactive English tutor Performance measure: Maximize student's score on test Environment: Set of students Actuators: Screen display (exercises, suggestions, corrections) Sensors: Keyboard Ví dụ: Thiết kế một tác tử dạy tiếng Anh tương tác Đánh giá hiệu quả hoạt động (P): cực đại hóa điểm thi tiếng Anh của học viên Môi trường xung quanh (E): một nhóm học viên Các bộ phận hành động (A): hiển thị màn hình các bài tập, các gợi ý, sửa (chữa) bài tập Các bộ phận cảm biến (S): bàn phím 31 Environment types Các kiểu môi trường Fully observable (vs. partially observable): An agent's sensors give it access to the complete state of the environment at each point in time. Deterministic (vs. stochastic): The next state of the environment is completely determined by the current state and the action executed by the agent. (If the environment is deterministic except for the actions of other agents, then the environment is strategic) Episodic (vs. sequential): The agent's experience is divided into atomic "episodes" (each episode consists of the agent perceiving and then performing a single action), and the choice of action in each episode depends only on the episode itself. Có thể quan sát được hoàn toàn ( quan sát được một phần): Các bộ cảm biến của một tác tử cho phép nó truy cập tới trạng thái đầy đủ của môi trường tại mỗi thời điểm Xác định ( ngẫu nhiên): Trạng thái tiếp theo của môi trường được xác định hoàn toàn dựa trên trạng thái hiện tại và hành động của tác tử (tại trạng thái hiện tại này). Nếu một môi trường là xác định, ngoại trừ đối với các hành động của các tác tử khác, thì gọi là môi trường chiến lược Phân đoạn ( liên tiếp): Lịch sử kinh nghiệm của tác tử được chia thành các giai đoạn. Mỗi giai đoạn bao gồm việc nhận thức của tác tử và hành động mà nó thực hiện. Ở mỗi giai đoạn, việc lựa chọn hành động để thực hiện chỉ phụ thuộc vào giai đoạn đó (không phụ thuộc vào các giai đoạn khác) 32 Environment types Các kiểu môi trường Static (vs. dynamic): The environment is unchanged while an agent is deliberating. (The environment is semidynamic if the environment itself does not change with the passage of time but the agent's performance score does) Discrete (vs. continuous): A limited number of distinct, clearly defined percepts and actions. Single agent (vs. multiagent): An agent operating by itself in an environment. Tĩnh ( động): Môi trường không thay đổi trong khi tác tử cân nhắc (xem nên đưa ra hành động nào). Môi trường bán động (semi- dynamic) là môi trường mà khi thời gian trôi qua thì nó (môi trường) không thay đổi, nhưng hiệu quả hoạt động của tác tử thì thay đổi. Ví dụ: Các chương trình trò chơi có tính giờ Rời rạc ( liên tục): Tập các nhận thức và các hành động là hữu hạn, được định nghĩa phân biệt rõ ràng Tác tử đơn lẻ ( đa tác tử): Một tác tử hoạt động độc lập (không phụ thuộc / liên hệ với các tác tử khác) trong một môi trường 33 Environment types Các kiểu môi trường Chess with Chess without Taxi driving a clock a clock Fully observable Yes Yes No Deterministic Strategic Strategic No Episodic No No No Static Semi Yes No Discrete Yes Yes No Single agent No No No The environment type largely determines the agent design The real world is (of course) partially observable, stochastic, sequential, dynamic, continuous, multi-agent Kiểu của môi trường có ảnh hưởng quyết định đối vớiviệc thiết kế tác tử Môi trường trong thực tế thường có các đặc điểm: chỉ có thể quan sát được một phần, ngẫu nhiêu, liên tiếp, thay đổi, liên tục, đa tác tử 34 Agent functions and programs An agent is completely specified by the agent function mapping percept sequences to actions One agent function (or a small equivalence class) is rational Aim: find a way to implement the rational agent function concisely 35 Table-lookup agent Drawbacks: – Huge table – Take a long time to build the table – No autonomy – Even with learning, need a long time to learn the table entries 36 Agent types Các kiểu tác tử Four basic types in order of increasing generality: Simple reflex agents Model-based reflex agents Goal-based agents Utility-based agents 4 kiểu tác tử cơ bản Tác tử phản xạ đơn giản Tác tử phản xạ dựa trên mô hình Tác tử dựa trên mục tiêu Tác tử dựa trên lợi ích 37 Simple reflex agents Tác tử phản xạ đơn giản 38 Simple reflex agents Tác tử phản xạ đơn giản