Download Notes on search algorithms in Java, used by Jingsong

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
CSCE 580
Artificial Intelligence
Problem Spaces and Search
Fall 2011
Jingsong Wang
[email protected]
UNIVERSITY OF SOUTH CAROLINA
Department of Computer Science and Engineering
Abstraction and Generality in Java
• The Interaction between AI theory and program
architecture
– Implementation of search strategies
• Generality and reuse
– Abstraction mechanisms and design patterns
UNIVERSITY OF SOUTH CAROLINA
Department of Computer Science and Engineering
Search Algorithms
• Uninformed algorithms:
– Depth-first search (DFS)
– Breadth-first search (BFS)
–…
• Informed algorithms
– Best-first search
–…
UNIVERSITY OF SOUTH CAROLINA
Department of Computer Science and Engineering
Search Algorithms
• Model the structure of a problem graphically as a
state—space
• Elements defining a state-space:
– A formal representation of possible states of a
problem solution
– Operators for generating new states from a
given state
– Some way of recognizing a goal state
– A starting state of the problem, represented as
the root of the graph
UNIVERSITY OF SOUTH CAROLINA
Department of Computer Science and Engineering
UNIVERSITY OF SOUTH CAROLINA
Department of Computer Science and Engineering
UNIVERSITY OF SOUTH CAROLINA
Department of Computer Science and Engineering
Search Algorithms
• DFS – stack
• BFS – queue
• Best-first search – priority queue
– Heuristic rank
– sorted
UNIVERSITY OF SOUTH CAROLINA
Department of Computer Science and Engineering
Abstracting Problem States
• The separation of representation and control
– States and search engines
• Goal: to define an abstract representation of
problems states that supports the general search
algorithm and can be easily specialized through
the mechanism of class inheritance
UNIVERSITY OF SOUTH CAROLINA
Department of Computer Science and Engineering
Abstracting Problem States
UNIVERSITY OF SOUTH CAROLINA
Department of Computer Science and Engineering
Abstracting Problem States
• Abstract class
UNIVERSITY OF SOUTH CAROLINA
Department of Computer Science and Engineering
Abstracting Problem States
• Interface
UNIVERSITY OF SOUTH CAROLINA
Department of Computer Science and Engineering
Abstracting Problem States
• Java’s generic
– Collection-Type<Element-Type>
UNIVERSITY OF SOUTH CAROLINA
Department of Computer Science and Engineering
UNIVERSITY OF SOUTH CAROLINA
Department of Computer Science and Engineering
UNIVERSITY OF SOUTH CAROLINA
Department of Computer Science and Engineering
Traversing the Problem Space
• Implementation of search itself
– Define the list of states and the mechanisms for
moving through them in search
UNIVERSITY OF SOUTH CAROLINA
Department of Computer Science and Engineering
UNIVERSITY OF SOUTH CAROLINA
Department of Computer Science and Engineering
UNIVERSITY OF SOUTH CAROLINA
Department of Computer Science and Engineering
UNIVERSITY OF SOUTH CAROLINA
Department of Computer Science and Engineering
UNIVERSITY OF SOUTH CAROLINA
Department of Computer Science and Engineering
Putting the Framework to Use
• See the code in Eclipse
UNIVERSITY OF SOUTH CAROLINA
Department of Computer Science and Engineering
Related documents