1 / 20

Design of Computer Problem Solvers

Design of Computer Problem Solvers. Introduction. What happens today?. Syllabus Course mechanics and administriva Overview of course How do AI programs differ from conventional programs? What types of reasoners will we build? Homework 0 Preview of Homework 1. What this course is about.

hudsond
Télécharger la présentation

Design of Computer Problem Solvers

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Design of Computer Problem Solvers Introduction

  2. What happens today? • Syllabus • Course mechanics and administriva • Overview of course • How do AI programs differ from conventional programs? • What types of reasoners will we build? • Homework 0 • Preview of Homework 1

  3. What this course is about • Building systems that reason • By solving problems, both simple and complex • By storing their dependencies and constraints • By explaining their results • How to build well-engineered, efficient AI systems • Start with simple reasoner, and grow with task complexity • Use industrial-strength AI programming

  4. How are AI systems different from conventional programs? • All programs must maximize these constraints: • Efficiency: How fast and small is the code? • Coherence: How well-tuned to its particular domain? • Flexibility: How adaptable to new domains or unusual circumstances? • Additivity: How easily can new info be added? • Explicitness: How clearly is knowledge represented? • Which is more important? Depends.

  5. How are AI systems different from conventional programs? • All programs must maximize these constraints: • Efficiency • Coherence • Flexibility • Additivity • Explicitness Conventional programs AI programs

  6. Conventional programming approach Large Hunk of Code Resulting computer program Knowledge of the domain & Programming Knowledge

  7. Example: Traffic control programs • Very efficient • Handles routine situations well • Doesn’t work well in unusual circumstances • Hard to extend or adapt to new circumstances • Hard to figure out why it does everything it does • Engine tester.

  8. The essence of AI programming Programming Knowledge Reasoning Engine Knowledge of the domain Computer Program Representation of Domain Knowledge

  9. Efficiency Coherence Flexibility Additivity Explicitness ConventionalTradeoffs • Efficiency & Coherence improve together • Store only the minimum necessary to get job done (reduces explicitness) • Figure out optimal order of actions in advance (reduces flexibility) • Both of these reduce additivity because knowledge resides only in the programmer’s head.

  10. Efficiency Coherence Flexibility Additivity Explicitness AI Tradeoffs • Flexibility, Additivity, and Explicitness improve together • Explicit representation of knowledge allows program to figure out what to do (but with reduced coherence and efficiency). • Program can be extended by adding new knowledge rather than “mind surgery” (but with reduced coherence and efficiency).

  11. How you resolve these tradeoffsdepends on the task • How often will the program change? • How fast is the processor? What are the real-time constraints? • How cheap/available are programmers or content experts?

  12. Reasoners of increasing level of sophistication • Classical Problem Solvers, cfr. AIMA • Pattern-directed inference system • Truth maintenance systems

  13. Classical problem solving • In classical problem-solving: • Problems are defined as a search space of potential solutions • Domain-independent search, e.g. BFS, DFS, …, is used to find a problem’s solution • Examples we explored: • Path planning • Map coloring

  14. Pattern-directed Rule Systems • Programs are organized using a system of rules • Rules contain patterns which represent antecedents, and allow the inference of consequences • Examples we will explore: • Logical theorem prover (Natural Deduction, cfr. “Grondslagen I”)

  15. Truth Maintenance Systems • Adds a dependency network to pattern-directed rule system • Allows reuse of dependencies, greatly increasing the efficiency of reasoning • Types of TMSs • Justification-based, • Logic-based, and • Assumption-based

  16. Justification-based TMS • Basic type of TMS • Records a network of dependencies between Horn clauses • Will be used to illustrate dependency-directed search • Examples we will explore: • Symbolic integration (JSAINT)

  17. Logic-based TMS • Operates over logical values • Utilizes Boolean constraint propagation (BCP) for quick inferencing • Detects and handles contradictions • More efficient for dependency-directed search • Examples we will explore: • Cryptarithmetic puzzle solver

  18. Assumption-based TMS • Flexible handles multiple sets of assumptions (including possible inconsistent assumptions) • Good for reasoning in multiple contexts at once • Useful for diagnosis and planning • Examples we will explore: • Blocks World

  19. Prerequisites • What you’ll need to know about: • Lisp, including the use of structs or classes • How to write and use pattern matchers and unifiers, cfr. Abelson and Sussman “The Structure and Interpretation of Computer Programs” • Some experience with knowledge representation

  20. Good auxiliary texts for this course • Steele, Guy. Common Lisp: The Language. 2nd Ed. • Norvig, Peter. Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp.

More Related