24
Overview of Artificial Intelligence Thomas R. Ioerger Associate Professor Department of Computer Science Texas A&M University

Lecture4 (1)

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Lecture4 (1)

Overview of Artificial Intelligence

Thomas R. IoergerAssociate Professor

Department of Computer ScienceTexas A&M University

Page 2: Lecture4 (1)

What is AI?

• Real applications, not science fiction– Control systems, diagnosis systems, games,

interactive animations, combat simulations, manufacturing scheduling, transportation logistics, financial analysis, computer-aided tutoring, search-and-rescue robots

Page 3: Lecture4 (1)

Different Perspectives• Philosophical perspective

– What is the nature of “intelligence”? Can a machine/program ever be truly “intelligent”?

– Strong AI hypothesis: Is acting intelligently sufficient? – laws of thought; rational (ideal) decision-making

• Socrates is a man; men are mortal; therefore, Socrates is mortal

• Psychological perspective– What is the nature of “human intelligence”?– Cognitive science – concept representations, internal

world model, information processing metaphor– role of ST/LT memory? visualization? emotions?

analogy? creativity?– build programs to simulate inference, learning...

Page 4: Lecture4 (1)

• Mathematical perspective– Is “intelligence” a computable function?– input: world state, output: actions – Can intelligence be systematized? (Leibnitz) – just a matter of having enough rules?– higher-order logics for belief, self-reference

• Engineering (pragmatic) perspective– AI helps build complex systems that solve difficult real-

world problems– decision-making (agents)– use knowledge-based systems

to encode “expertise” (chess, medicine, aircraft engines...)

sense

decide act

weak methods:Search Planning

strong methods:Inference

Page 5: Lecture4 (1)

Search Algorithms

• Define state representation• Define operators (fn: stateneighbor states)• Define goal (criteria)

• Given initial state (S0), generate state spaceS0

Page 6: Lecture4 (1)

Many problems can be modeled as search

• tic-tac-toe– states=boards, operator=moves

• symbolic integration– states=equations, opers=algebraic manipulations

• class schedule– states=partial schedule, opers=add/remove class

• rock band tour (traveling salesman problem) – states=order of cities to visit, opers=swap order

• robot-motion planning– states=robot configuration, opers=joint bending

Page 7: Lecture4 (1)

1

2 12

3 6 8 13 14

4 5 7 9 10 11 15

1

2 43

5 6 7 8 9 10 11 12 13

14 15 16 17 18 19 20

Depth-first search(DFS)

Breadth-first search(BFS)

Notes: recursive algorithms using stacks or queuesBFS often out-performs, due to memory limits for large spaceschoice depends on complexity analysis: consider exponential tree size O(bd)

Page 8: Lecture4 (1)

Heuristics

• give guidance to search in terms of which nodes look “closest to the goal” – node evaluation function– h(n)=w1*(piece_differential)+w2*(center_control)+

w3*(#pieces_can_be_taken)+w4*(#kings)

• greedy algorithms search these nodes first • bias direction of search to explore “best” parts of

state space (most likely to contain goal)• A* algorithm

– optimal (under certain conditions)– finds shortest path to a goal– insensitive to errors in heuristic function

Page 9: Lecture4 (1)

Specialized Search Algorithms

• Game-playing– two-player zero-sum games (alternate moves)– minimax algorithm: form of “look-ahead” – If I make a

move, how will opponent likely respond? Which move leads to highest assured payoff?

• Constraint-satisfaction problems (CSPs)– state=partial variable assignment– goal find assignment that satisfies constraints– algorithms use back-tracking, constraint propagation,

and heuristics– pre-process constraint-graph to make more efficient– examples: map-coloring, propositional satisfiability,

server configuration

Page 10: Lecture4 (1)

• Variables WA, NT, Q, NSW, V, SA, T

• Domains Di = {red,green,blue}

• Constraints: adjacent regions must have different colors, e.g., WA ≠ NT

CSP algorithmsoperate on the constraint graph

Page 11: Lecture4 (1)

Planning• How to transform world state to achieve goal?• operators represent actions

– encode pre-conditions and effects in logic

Initial state:in(kitchen)have(eggs)have(flour)have(sugar)have(pan)~have(cake)

Goal: have(cake)

mix dryingredients

mix wet ingredients

transferingredientsfrom bowlto pan

bake at 350

applyfrosting

pre-conds: x ingredient(x,cake) dry(x)have(x)

effect: mixed(dry_ingr)

pre-conds: mixed(dry_ingr)& mixed(wet_ingr)

pre-cond: baked

goto kitchen

goto store

startcar

buymilk

sautee

another example to think about:planning rescue mission at disaster site

Page 12: Lecture4 (1)

Planning• How to transform world state to achieve goal?• operators represent actions

– encode pre-conditions and effects in logic

Initial state:in(kitchen)have(eggs)have(flour)have(sugar)have(pan)~have(cake)

Goal: have(cake)

mix dryingredients

mix wet ingredients

transferingredientsfrom bowlto pan

bake at 350

applyfrosting

pre-conds: x ingredient(x,cake) dry(x)have(x)

effect: mixed(dry_ingr)

pre-conds: mixed(dry_ingr)& mixed(wet_ingr)

pre-cond: baked

goto kitchen

goto store

startcar

buymilk

sautee

another example to think about:planning rescue mission at disaster site

Page 13: Lecture4 (1)

Planning Algorithms

have(cake) <= baked(cake)&have(frosting) <=...

• State-space search– search for sequence of actions– very inefficient

• Goal regression– work backwards from goal– identify actions relevant to goal; make sub-goals

• Partial-order planning– treat plan as a graph among actions– add links representing dependencies

• GraphPlan algorithm– keep track of sets of achievable states; more efficient

• SatPlan algorithm – model as a satisfiability problem

Page 14: Lecture4 (1)

Knowledge-Based Methods• need: representation for search heuristics and planning

operators• need expertise to produce expert problem-solving behavior • first-order logic – a formal language for representing

knowledge• rules, constraints, facts, associations, strategies...

– rain(today)wet(road)– feverinfection– in(class_C_air_space)reduce(air_speed,150kts)– can(take_opp_queen,X)&~losing_move(X)do(X)

• use knowledge base (KB) to infer what to do– goals & initial_state & KB do(action)– need inference algorithms to derive what is entailed

• declarative vs. procedural programming

Page 15: Lecture4 (1)

First-Order Logic• lingua franca of AI• syntax

– predicates (relations): author(Candide,Voltaire)– connectives: & (and), v (or), ~ (not), (implies)– quantified variables: X person(X)Y mother(X,Y)

• Ontologies – systems of concepts for writing KBs– categories of stuff (solids, fluids, living, mammals, food,

equipment...) and their properties– places (in), part_of, measures (volume)– domain-dependent: authorship, ambush, infection...– time, action, processes (Situation Calculus, Event Logic)– beliefs, commitments

• issues: granularity, consistency, expressiveness

Page 16: Lecture4 (1)

Inference Algorithms

• Natural deduction– search for proof of query– use rules like modus ponens (from A and AB, get B)

• Backward-chaining– start with goal, reduce to sub-goals– complete only for definite-clause KBs (rules with

conjunctive antecedents)

• Resolution Theorem-proving– convert all rules to clauses (disjunctions)– {AvB,~BvC}AvC– keeping resolving clauses till produce empty clause– complete for all FOL KBs

D

A&BD

A BvC ~C

B

Page 17: Lecture4 (1)

Prolog and Expert Systems

• Automated deduction systems• programming = writing rules• make query, system responds with true/false

plus variable bindings• inference algorithm based on backward-chaining

Page 18: Lecture4 (1)

Prolog examplesibling(X,Y) :- parent(Z,X), parent(Z,Y). grandfather(X,Y) :- father(X,Z),parent(Z,Y).parent(X,Y) :- father(X,Y). parent(X,Y) :- mother(X,Y).mother(tracy, sally). father(bill, sally). father(bill, erica). father(mike, bill).

?- sibling(sally,erica). Yes

?- grandfather(sally,X). grandfather(sally,mike)

Page 19: Lecture4 (1)

• Unification Algorithm– determine variable bindings to match antecedents of

rules with facts– unif. algorithm traverses syntax tree of expressions– P(X,f(Y),Y) matches P(a,f(b),b) if {X/a,Y/b}

– also matches P(a,f(a),a)– does not match P(a,b,c), P(b,b,b)

P

X f Y

Y

P

a f b

b

Page 20: Lecture4 (1)

• Managing Uncertainty in real expert systems– default/non-monotonic logics (assumptions)– certainty factors (degrees of beliefs)– probabilistic logics– Bayesian networks (causal influences)

• Complexity of inference?– suitable for real-time applications?

Page 21: Lecture4 (1)

Application of Data Structures and Algorithms in AI

• priority queues in search algorithms• recursion in search algorithms• shortest-path algorithm for planning/robotics• hash tables for indexing rules by predicate in KBS• dynamic programming to improve efficiency of

theorem-provers (caching intermediate inferences)• graph algorithms for constraint-satisfaction

problems (arc-consistency)• complexity analysis to select search algorithm

based on branching factor and depth of solution for a given problem

Page 22: Lecture4 (1)

Use of AI in Research• intelligent agents for flight simulation

– collaboration with Dr. John Valasek (Aerospace Eng.)– goal: on-board decision-making without ATC– approach: use 1) multi-agent negotiation, 2)

reinforcement learning

• pattern recognition in protein crystallography– collaboration with Dr. James Sacchettini (Biochem.)– goal: automate determination of protein structures

from electron density maps – approach: extract features representing local 3D

patterns of electron density and use to recognize amino acids and build

– uses neural nets, and heuristics encoding knowledge of typical protein conformations and contacts

Page 23: Lecture4 (1)

• TAMU courses on AI– CPSC 420/625 – Artificial Intelligence– undergrad

• CPSC 452 – Robotics and Spatial Intelligence• also related: CPSC 436 (HCI) and CPSC 470 (IR)

– graduate• CPSC 609 - AI Approaches to Software Engineering*• CPSC 631 – Agents/Programming Environments for AI• CPSC 632 - Expert Systems*• CPSC 633 - Machine Learning• CPSC 634 Intelligent User Interfaces• CPSC 636 - Neural Networks• CPSC 639 - Fuzzy Logic and Intelligent Systems• CPSC 643 Seminar in Intelligent Systems and Robotics• CPSC 644 - Cortical Networks• CPSC 666 – Statistical Pattern Recognition (not official yet) • Special Topics courses (CPSC 689)...• * = not actively taught

Page 24: Lecture4 (1)

goals KB initial state

goal state

perception

action

agent environment