Cs347 introduction to artificial intelligence
This presentation is the property of its rightful owner.
Sponsored Links
1 / 93

CS347 – Introduction to Artificial Intelligence PowerPoint PPT Presentation


  • 67 Views
  • Uploaded on
  • Presentation posted in: General

CS347 – Introduction to Artificial Intelligence. CS347 course website: http://web.mst.edu/~tauritzd/courses/cs347/. Dr. Daniel Tauritz (Dr. T) Department of Computer Science [email protected] http://web.mst.edu/~tauritzd/. What is AI?. Systems that… act like humans (Turing Test)

Download Presentation

CS347 – Introduction to Artificial Intelligence

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Cs347 introduction to artificial intelligence

CS347 – Introduction toArtificial Intelligence

CS347 course website: http://web.mst.edu/~tauritzd/courses/cs347/

Dr. Daniel Tauritz (Dr. T)

Department of Computer Science

[email protected]

http://web.mst.edu/~tauritzd/


What is ai

What is AI?

Systems that…

  • act like humans (Turing Test)

  • think like humans

  • think rationally

  • act rationally

    Play Ultimatum Game


How difficult is it to achieve ai

How difficult is it to achieve AI?

  • Three Sisters Puzzle


Problem solving agents

Problem-solving agents

A definition:

Problem-solving agents are goal based agents that decide what to do based on an action sequence leading to a goal state.


Environment assumptions

Environment Assumptions

  • Fully Observable

  • Single Agent

  • Discrete

  • Sequential

  • Known & Deterministic


Open loop problem solving steps

Open-loop problem-solving steps

  • Problem-formulation (actions & states)

  • Goal-formulation (states)

  • Search (action sequences)

  • Execute solution


Well defined problems

Well-defined problems

  • Initial state

  • Action set: ACTIONS(s)

  • Transition model: RESULT(s,a)

  • Goal test

  • Step cost: c(s,a,s’)

  • Path cost

  • Solution / optimal solution


Example problems

Example problems

  • Vacuum world

  • Tic-tac-toe

  • 8-puzzle

  • 8-queens problem


Search trees

Search trees

  • Root corresponds with initial state

  • Vacuum state space vs. search tree

  • Search algorithms iterate through goal testing and expanding a state until goal found

  • Order of state expansion is critical!


Cs347 introduction to artificial intelligence

function TREE-SEARCH(problem) returns solution/fail

initialize frontier using initial problem state

loop do

if empty(frontier) then return fail

choose leaf node and remove it from frontier

if chosen node contains goal state then return corresponding solution

expand chosen node and add resulting nodes to frontier


Redundant paths

Redundant paths

  • Loopy paths

  • Repeated states

  • Redundant paths


Cs347 introduction to artificial intelligence

function GRAPH-SEARCH(problem) returns solution/fail

initialize frontier using initial problem state

initialize explored set to be empty

loop do

if empty(frontier) then return fail

choose leaf node and remove it from frontier

if chosen node contains goal state then return corresponding solution

add chosen node to explored set

expand chosen node and add resulting nodes to frontier only if not yet in frontier or explored set


Search node datastructure

Search node datastructure

  • n.STATE

  • n.PARENT-NODE

  • n.ACTION

  • n.PATH-COST

    States are NOT search nodes!


Frontier

Frontier

  • Frontier = Set of leaf nodes

  • Implemented as a queue with ops:

    • EMPTY?(queue)

    • POP(queue)

    • INSERT(element,queue)

  • Queue types: FIFO, LIFO (stack), and priority queue


Problem solving performance

Problem-solving performance

  • Completeness

  • Optimality

  • Time complexity

  • Space complexity


Complexity in ai

Complexity in AI

  • b – branching factor

  • d – depth of shallowest goal node

  • m – max path length in state space

  • Time complexity: # generated nodes

  • Space complexity: max # nodes stored

  • Search cost: time + space complexity

  • Total cost: search + path cost


Tree search

Tree Search

  • Breadth First Tree Search (BFTS)

  • Uniform Cost Tree Search (UCTS)

  • Depth-First Tree Search (DFTS)

  • Depth-Limited Tree Search (DLTS)

  • Iterative-Deepening Depth-First Tree Search (ID-DFTS)


Example state space 1

Example state space #1


Breadth first tree search bfts

Breadth First Tree Search (BFTS)

  • Frontier: FIFO queue

  • Complete: if b and d are finite

  • Optimal: if path-cost is non-decreasing function of depth

  • Time complexity: O(b^d)

  • Space complexity: O(b^d)


Uniform cost search ucs

Uniform Cost Search (UCS)

  • g(n) = lowest path-cost from start node to node n

  • Frontier: priority queue ordered by g(n)


Depth first tree search dfts

Depth First Tree Search (DFTS)

  • Frontier: LIFO queue (a.k.a. stack)

  • Complete: no

  • Optimal: no

  • Time complexity: O(bm)

  • Space complexity: O(bm)

  • Backtracking version of DFTS has a space complexity of: O(m)


Depth limited tree search dlts

Depth-Limited Tree Search (DLTS)

  • Frontier: LIFO queue (a.k.a. stack)

  • Complete: not when l < d

  • Optimal: no

  • Time complexity: O(b^l)

  • Space complexity: O(bl)

  • Diameter: min # steps to get from any state to any other state


Diameter example 1

Diameter example 1


Diameter example 2

Diameter example 2


Iterative deepening depth first tree search id dfts

Iterative-Deepening Depth-First Tree Search (ID-DFTS)

function ID-DFS(problem) returns solution/fail

for depth = 0 to ∞ do

result ← DLS(problem,depth)

ifresult ≠ cutoff then return result

  • Complete: Yes, if b is finite

  • Optimal: Yes, if path-cost is nondecreasing function of depth

  • Time complexity: O(b^d)

  • Space complexity: O(bd)


Bidirectional search

Bidirectional Search

BiBFTS

  • Complete: Yes, if b is finite

  • Optimal: Not “out of the box”

  • Time & Space complexity: O(bd/2)


Example state space 2

Example state space #2


Best first search befs

Best First Search (BeFS)

  • Select node to expand based on evaluation function f(n)

  • Typically node with lowest f(n) selected because f(n) correlated with path-cost

  • Represent frontier with priority queue sorted in ascending order of f-values


Path cost functions

Path-cost functions

  • g(n) = lowest path-cost from start node to node n

  • h(n) = estimated non-negative path-cost of cheapest path from node n to a goal node [with h(goal)=0]


Heuristics

Heuristics

  • h(n) is a heuristic function

  • Heuristics incorporate problem-specific knowledge

  • Heuristics need to be relatively efficient to compute


Important befs algorithms

Important BeFS algorithms

  • UCS: f(n) = g(n)

  • GBeFS: f(n) = h(n)

  • A*S: f(n) = g(n)+h(n)


Gbefts

GBeFTS

  • Incomplete (so also not optimal)

  • Worst-case time and space complexity: O(bm)

  • Actual complexity depends on accuracy of h(n)


Cs347 introduction to artificial intelligence

A*S

  • f(n) = g(n) + h(n)

  • f(n): estimated cost of optimal solution through node n

  • if h(n) satisfies certain conditions, A*S is complete & optimal


Example state space 3

Example state space # 3


Admissible heuristics

Admissible heuristics

  • h(n) admissible if:

Example: straight line distance

A*TS optimal if h(n) admissible


Consistent heuristics

Consistent heuristics

  • h(n) consistent if:

Consistency implies admissibility

A*GS optimal if h(n) consistent


A search notes

A* search notes

  • Optimally efficient for consistent heuristics

  • Run-time is a function of the heuristic error

  • Suboptimal variants

  • Not strictly admissible heuristics

  • A* Graph Search not scalable due to memory requirements


Memory bounded heuristic search

Memory-bounded heuristic search

  • Iterative Deepening A* (IDA*)

  • Recursive Best-First Search (RBFS)

  • IDA* and RBFS don’t use all avail. memory

  • Memory-bounded A* (MA*)

  • Simplified MA* (SMA*)

  • Meta-level learning aims to minimize total problem solving cost


Heuristic functions

Heuristic Functions

  • Effective branching factor

  • Domination

  • Composite heuristics

  • Generating admissible heuristics from relaxed problems


Sample relaxed problem

Sample relaxed problem

  • n-puzzle legal actions:

    Move from A to B if horizontally or vertically adjacent and B is blank

    Relaxed problems:

  • Move from A to B if adjacent

  • Move from A to B if B is blank

  • Move from A to B


Generating admissible heuristics

Generating admissible heuristics

The cost of an optimal solution to a relaxed problem is an admissible heuristic for the original problem.


Adversarial search

Adversarial Search

Environments characterized by:

  • Competitive multi-agent

  • Turn-taking

    Simplest type: Discrete, deterministic, two-player, zero-sum games of perfect information


Search problem formulation

Search problem formulation

  • S0: Initial state (initial board setup)

  • Player(s): which player has the move

  • Actions(s): set of legal moves

  • Result(s,a): defines transitional model

  • Terminal test: game over!

  • Utility function: associates player-dependent values with terminal states


Minimax

Minimax


Example game tree 1

Example game tree 1


Depth limited minimax

Depth-Limited Minimax

  • State Evaluation Heuristic estimates Minimax value of a node

  • Note that the Minimax value of a node is always calculated for the Max player, even when the Min player is at move in that node!


Heuristic depth limited minimax

Heuristic Depth-Limited Minimax


State eval heuristic qualities

State Eval Heuristic Qualities

A good State Eval Heuristic should:

  • order the terminal states in the same way as the utility function

  • be relatively quick to compute

  • strongly correlate nonterminal states with chance of winning


Weighted linear state eval heuristic

Weighted Linear State Eval Heuristic


Heuristic iterative deepening minimax

Heuristic Iterative-Deepening Minimax

  • IDM(s,d) calls DLM(s,1), DLM(s,2), …, DLM(s,d)

  • Advantages:

    • Solution availability when time is critical

    • Guiding information for deeper searches


Redundant info example

Redundant info example


Alpha beta pruning

Alpha-Beta Pruning

  • α: worst value that Max will accept at this point of the search tree

  • β: worst value that Min will accept at this point of the search tree

  • Fail-low: encountered value <= α

  • Fail-high: encountered value >= β

  • Prune if fail-low for Min-player

  • Prune if fail-high for Max-player


Dlm w alpha beta pruning time complexity

DLM w/ Alpha-Beta Pruning Time Complexity

  • Worst-case: O(bd)

  • Best-case: O(bd/2) [Knuth & Moore, 1975]

  • Average-case: O(b3d/4)


Example game tree 2

Example game tree 2


Move ordering heuristics

Move Ordering Heuristics

  • Knowledge based(e.g., try captures first in chess)

  • Principal Variant (PV) based

  • Killer Move: the last move at a given depth that caused αβ-pruning or had best minimax value

  • History Table: track how often a particular move at any depth caused αβ-pruning or had best minimax value


History table ht

History Table (HT)

  • Option 1: generate set of legal moves and use HT value as f-value

  • Option 2: keep moves with HT values in a sorted array and for a given state traverse the array to find the legal move with the highest HT value


Cs347 introduction to artificial intelligence

Example game tree 3


Search depth heuristics

Search Depth Heuristics

  • Time based / State based

  • Horizon Effect: the phenomenon of deciding on a non-optimal principal variant because an ultimately unavoidable damaging move seems to be avoided by blocking it till passed the search depth

  • Singular Extensions / Quiescence Search


Time per move

Time Per Move

  • Constant

  • Percentage of remaining time

  • State dependent

  • Hybrid


Quiescence search

Quiescence Search

  • When search depth reached, compute quiescence state evaluation heuristic

  • If state quiescent, then proceed as usual; otherwise increase search depth if quiescence search depth not yet reached

  • Call format: QSDLM(root,depth,QSdepth), QSABDLM(root,depth,QSdepth,α,β), etc.


Qs game tree ex 1

QS game tree Ex. 1


Qs game tree ex 2

QS game tree Ex. 2


Transposition tables 1

Transposition Tables (1)

  • Hash table of previously calculated state evaluation heuristic values

  • Speedup is particularly huge for iterative deepening search algorithms!

  • Good for chess because often repeated states in same search


Transposition tables 2

Transposition Tables (2)

  • Datastructure: Hash table indexed by position

  • Element:

    • State evaluation heuristic value

    • Search depth of stored value

    • Hash key of position (to eliminate collisions)

    • (optional) Best move from position


Transposition tables 3

Transposition Tables (3)

  • Zobrist hash key

    • Generate 3d-array of random 64-bit numbers (piece type, location and color)

    • Start with a 64-bit hash key initialized to 0

    • Loop through current position, XOR’ing hash key with Zobrist value of each piece found (note: once a key has been found, use an incremental approach that XOR’s the “from” location and the “to” location to move a piece)


Search versus lookup

Search versus lookup

  • Balancing time versus memory

  • Opening table

    • Human expert knowledge

    • Monte Carlo analysis

  • End game database


Forward pruning

Forward pruning

  • Beam Search (n best moves)

  • ProbCut (forward pruning version of alpha-beta pruning)


Null move forward pruning

Null Move Forward Pruning

  • Before regular search, perform shallower depth search (typically two ply less) with the opponent at move; if beta exceeded, then prune without performing regular search

  • Sacrifices optimality for great speed increase


Futility pruning

Futility Pruning

  • If the current side to move is not in check, the current move about to be searched is not a capture and not a checking move, and the current positional score plus a certain margin (generally the score of a minor piece) would not improve alpha, then the current node is poor, and the last ply of searching can be aborted.

  • Extended Futility Pruning

  • Razoring


Adversarial search in stochastic environments

Adversarial Search in Stochastic Environments

Worst Case Time Complexity: O(bmnm) with b the average branching factor, m the deepest search depth, and n the average chance branching factor


Example chance game tree

Example “chance” game tree


Expectiminimax pruning

Expectiminimax & Pruning

  • Interval arithmetic

  • Monte Carlo simulations (for dice called a rollout)


State space search

State-Space Search

  • Complete-state formulation

  • Objective function

  • Global optima

  • Local optima (don’t use textbook’s definition!)

  • Ridges, plateaus, and shoulders

  • Random search and local search


Steepest ascent hill climbing

Steepest-Ascent Hill-Climbing

  • Greedy Algorithm - makes locally optimal choices

    Example

    8 queens problem has 88≈17M states

    SAHC finds global optimum for 14% of instances in on average 4 steps (3 steps when stuck)

    SAHC w/ up to 100 consecutive sideways moves, finds global optimum for 94% of instances in on average 21 steps (64 steps when stuck)


Stochastic hill climbing

Stochastic Hill-Climbing

  • Chooses at random from among uphill moves

  • Probability of selection can vary with the steepness of the uphill move

  • On average slower convergence, but also less chance of premature convergence


More local search algorithms

More Local Search Algorithms

  • First-choice hill-climbing

  • Random-restart hill-climbing

  • Simulated Annealing


Population based local search

Population Based Local Search

  • Deterministic local beam search

  • Stochastic local beam search

  • Evolutionary Algorithms

  • Particle Swarm Optimization

  • Ant Colony Optimization


Particle swarm optimization

Particle Swarm Optimization

  • PSO is a stochastic population-based optimization technique which assigns velocities to population members encoding trial solutions

  • PSO update rules:

PSO demo: http://www.borgelt.net//psopt.html


Ant colony optimization

Ant Colony Optimization

  • Population based

  • Pheromone trail and stigmergetic communication

  • Shortest path searching

  • Stochastic moves


Online search

Online Search

  • Offline search vs. online search

  • Interleaving computation & action

  • Dynamic, nondeterministic, unknown domains

  • Exploration problems, safely explorable

  • Agents have access to:

    • ACTIONS(s)

    • c(s,a,s’)  cannot be used until RESULT(s,a)

    • GOAL-TEST(s)


Online search optimality

Online Search Optimality

  • CR – Competitive Ratio

  • TAPC – Total Actual Path Cost

  • C* - Optimal Path Cost

  • Best case: CR = 1

  • Worst case: CR = ∞


Online search algorithms

Online Search Algorithms

  • Online-DFS-Agent

  • Random Walk

  • Learning Real-Time A* (LRTA*)


Online search example graph 1

Online Search Example Graph 1


Online search example graph 2

Online Search Example Graph 2


Online search example graph 3

Online Search Example Graph 3


Descartes mind body connection

Descartes Mind-Body Connection

  • René Descartes (1596-1650)

  • Rationalism

  • Dualism

  • Materialism

  • Star Trek & Souls


Rational agents

Rational Agents

  • Environment

  • Sensors (percepts)

  • Actuators (actions)

  • Agent Function

  • Agent Program

  • Performance Measures


Rational behavior

Rational Behavior

Depends on:

  • Agent’s performance measure

  • Agent’s prior knowledge

  • Possible percepts and actions

  • Agent’s percept sequence


Rational agent definition

Rational Agent Definition

“For each possible percept sequence, a rational agent selects an action that is expected to maximize its performance measure, given the evidence provided by the percept sequence and any prior knowledge the agent has.”


Cs347 introduction to artificial intelligence

PEAS description & properties:

  • Fully/Partially Observable

  • Deterministic, Stochastic, Strategic

  • Episodic, Sequential

  • Static, Dynamic, Semi-dynamic

  • Discrete, Continuous

  • Single agent, Multiagent

  • Competitive, Cooperative

  • Known, Unknown


Ai courses at s t

AI courses at S&T

  • CS301 Intro to Data Mining (FS2014)

  • CS345 Intro to Robotics (FS2014)

  • CS346 Intro to Computer Vision (FS2014)

  • CS347 Introduction to Artificial Intelligence

  • CS348 Evolutionary Computing (FS2015)

  • CS444 Data Mining & Knowledge Discovery (SP2015)

  • CS447 Advanced Topics in AI (SP2015)

  • CS448 Advanced Evolutionary Computing (SP2016)

  • CpE358 Computational Intelligence (FS2014)

  • SysEng378 Intro to Neural Networks & Applications


  • Login