Design of Computer Problem Solvers - PowerPoint PPT Presentation

1 / 20
About This Presentation
Title:

Design of Computer Problem Solvers

Description:

By solving problems, both simple and complex. By storing their ... Hunk. of. Code. Knowledge of the domain & Programming Knowledge. Resulting computer program ... – PowerPoint PPT presentation

Number of Views:82
Avg rating:3.0/5.0
Slides: 21
Provided by: ronaldwf
Category:

less

Transcript and Presenter's Notes

Title: Design of Computer Problem Solvers


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
  • Doesnt 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 Expli
citness
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 programmers head.

10
Efficiency Coherence Flexibility Additivity Expli
citness
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 problems 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 youll 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.
Write a Comment
User Comments (0)
About PowerShow.com