90 likes | 261 Vues
search. exploring the consequences of possible actions. search context. good for simple problem solving leads to... game playing planning expert-systems ...etc. jargon. state (node) a static problem state state space all possible problem states operator/move
E N D
search exploring the consequences of possible actions
search context • good for simple problem solving • leads to... game playing planning expert-systems ...etc...
jargon state (node) a static problem state state space all possible problem states operator/move Fn to generate one state from another legal move generator Fn to generate all successor states from a given state search strategy approach to exploring state space
a basic search algorithm search( start, goal ) put the start state onto ready until goal is found or ready is empty do select a state S from ready remove S from ready if S is a goal then finished ! else add all unvisited successor states of S to ready add S to visited
issues what kind of result is result preferred? how can paths between states be represented? what is the strategy for state selection? how is the legal move generator specified? can it be of a standard form? what about different search strategies? efficiency / costs / etc
strategies 1 breadth-first • layer by layer through search tree • ready is a queue depth first • exhausting one limb of tree before going to next • ready is a stack best first • explore from least cost (maps.google.co.uk)
strategies 2 heuristic (?) • explore from closest to goal heuristic (ok) • explore from least (cost + closeness to goal) admissible searches • will find solutions if they exist optimal searches • will find solutions with minimal effort
trad. game playing • based on search • assumes 2 players, trying to win basics • static evaluation fn (+/- numeric value) • minimax search routine • alpha-beta pruning
add-ons (mostly to minimax) • heuristic growth • heuristic pruning • use different eval fns at different stages • library moves (open game / end game)