Alternativní metody prohledávání stavového prostoru Michal Pěchouček Gerstner Laboratory Agent Technology Group, Czech Technical University in Prague http://labe.felk.cvut.cz/~pechouc/kui/3.pdf
palternativní metody prohledávání stavového prostoru Neinformované optimalizační metody: náhodně restartovaný hill climbing local beam search simulované žíhání genetické algoritmy constrain satisfaction /Úvod
phill climbing Example: n-queens Put n queens on an n n board with no two queens on the same row, column, or diagonal Move a queen to reduce number of conflicts h = 5 h = 2 h = 0 Almost always solves n-queens problems almost instantaneously for very large n, e.g., n = 1million Chapter 4, Sections 3 4 5 /Úvod
phill climbing Hill-climbing (or gradient ascent/descent) Like climbing Everest in thick fog with amnesia function Hill-Climbing( problem) returns a state that is a local maximum inputs: problem, a problem local variables: current, a node neighbor, a node current Make-Node(Initial-State[problem]) loop do neighbor a highest-valued successor of current if Value[neighbor] Value[current] then return State[current] current neighbor end Chapter 4, Sections 3 4 6 /Úvod
phill climbing Hill-climbing contd. Useful to consider state space landscape objective function global maximum shoulder local maximum "flat" local maximum current state state space Random-restart hill climbing overcomes local maxima trivially complete Random sideways moves escape from shoulders loop on flat maxima /Úvod Chapter 4, Sections 3 4 7
phill climbing náhodně restartovaný hill climbing - opakuje algoritmus s náhodnými počátečními stavy /Úvod
phill climbing náhodně restartovaný hill climbing - opakuje algoritmus s náhodnými počátečními stavy pro pravděpodobnost nalezení optima p potřebujeme 1/p restartů pro problém 8 královen, kde p 0.14 potřebujeme 7 iterací /Úvod
phill climbing náhodně restartovaný hill climbing - opakuje algoritmus s náhodnými počátečními stavy local beam search - pracuje s k stavy a každém kroku s k nejlepšímy následníky /Úvod
psimulované žíhání Simulated annealing hlavní myšlenka: vymanit se z lokálního optima tím že se povolá zkhoršující tahy ale s postupně Idea: escape se snižující local frekvencí maximaa by velikostí allowing some bad moves but gradually decrease their size and frequency function Simulated-Annealing( problem, schedule) returns a solution state inputs: problem, a problem schedule, a mapping from time to temperature local variables: current, a node next, a node T, a temperature controlling prob. of downward steps current Make-Node(Initial-State[problem]) for t 1 to do T schedule[t] if T = 0 then return current next a randomly selected successor of current E Value[next] Value[current] if E > 0 then current next else current next only with probability e E/T Chapter 4, Sections 3 4 8 /Úvod
pevoluční výpočty Genetické algoritmy, genetické programování a další evoluční strategie jsou často řazeny (mylně) do kategorie metod konnekcionismu. Jedná se však o netradiční metody umělé inteligence. Souhrnně se řadí s neuronovými sítěmi do kategorie metod zvaných softcomputing. Genetické algoritmy představuji speciální prohledávací technologii, která je založena na náhodné generaci většího množství stavů, jejich následné masivní evoluci. každý stav je reprezentován jako chromozóm (klasicky jako binární vektor, lze však i celočíselný vektor, matice, strom,...) každý chromozóm je ohodnocen tzv. fitness funkcí pouze kvalitní chromozómy mají šanci přežít do další generace v dlouhodobém horizontu stoupá průměrná hodnota fitness a nekvalitní chromozómy vymírají /Úvod
pevoluční výpočty The Effect of Parallelism J. Kubalík, Gerstner Laboratory for Intelligent Decision Making and Control /Úvod
pstandartní GA t=0 Initialize P(t) while (not termination-condition) do begin Evaluate P(t) t=t+1 Select P(t) from P(t-1) Recombine end /Úvod
pvýběr (selection) Roulette Wheel Selection J. Kubalík, Gerstner Laboratory for Intelligent Decision Making and Control /Úvod
Crossover pmutace aprovides křížení random (recombination) information exchange - works on couples of individuals Simple 1-point crossover Mutation Mutation - preserves population diversity works on single individual J. Kubalík, Gerstner Laboratory for Intelligent Decision Making and Control J. Kubalík, Gerstner Laboratory for Intelligent Decision Making and Control /Úvod
pmutace a křížení (recombination) Genetic algorithms contd. GAs require states encoded as strings (GPs use programs) Crossover helps iff substrings are meaningful components + = GAs evolution: e.g., real genes encode replication machinery! Chapter 4, Sections 3 4 12 /Úvod
pmutace a křížení (recombination) Genetic algorithms = stochastic local beam search + generate successors from pairs of states 24748552 24 31% 32752411 32748552 32748152 32752411 23 29% 24748552 24752411 24752411 24415124 20 26% 32752411 32752124 32252124 32543213 11 14% 24415124 24415411 24415417 Fitness Selection Pairs Cross Over Mutation Chapter 4, Sections 3 4 11 /Úvod
pconstrain Satisfaction Problem řešení problému s omezujícími podmínkami /Úvod
pconstrain Satisfaction Problem řešení problému s omezujícími podmínkami rozšíření pojetí stavu z klasických prohledávacích algoritmů: libovolná datová struktura, která umožňje goal-test, eval a next na /Úvod
pconstrain Satisfaction Problem řešení problému s omezujícími podmínkami rozšíření pojetí stavu z klasických prohledávacích algoritmů: libovolná datová struktura, která umožňje goal-test, eval a next na stav jako proměnnou X i, která nabývá hodnot s domény D i. /Úvod
pconstrain Satisfaction Problem řešení problému s omezujícími podmínkami rozšíření pojetí stavu z klasických prohledávacích algoritmů: libovolná datová struktura, která umožňje goal-test, eval a next na stav jako proměnnou X i, která nabývá hodnot s domény D i. goal-test je pak soubor omezujících podmínek specifikující možné kombinace hodnot daných proměnných /Úvod
pconstrain Satisfaction Problem Example: Map-Coloring Western Australia Northern Territory South Australia Queensland New South Wales Victoria Tasmania Variables WA, NT, Q, NSW, V, SA, T Domains D i = {red,green,blue} Constraints: adjacent regions must have different colors e.g., WA NT (if the language allows this), or (WA, NT) {(red,green), (red,blue), (green,red), (green,blue),...} Chapter 5 4 /Úvod
pconstrain Satisfaction Problem Example: Map-Coloring contd. Western Australia Northern Territory South Australia Queensland New South Wales Victoria Tasmania Solutions are assignments satisfying all constraints, e.g., {WA =red,nt = green,q=red,nsw =green,v = red,sa = blue,t = green} Chapter 5 5 /Úvod
pconstrain Satisfaction Problem Example: Cryptarithmetic T W O + T W O F O U R F T U W R O X 3 X 2 X 1 Variables: F T U W R O X 1 X 2 X 3 Domains: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} Constraints alldiff(f, T,U,W, R, O) O + O = R + 10 X 1, etc. Chapter 5 9 /Úvod
pconstrain Satisfaction Problem Backtracking search function Backtracking-Search(csp) returns solution/failure return Recursive-Backtracking({ }, csp) function Recursive-Backtracking(assignment, csp) returns soln/failure if assignment is complete then return assignment var Select-Unassigned-Variable(Variables[csp], assignment, csp) for each value in Order-Domain-Values(var, assignment, csp) do if value is consistent with assignment given Constraints[csp] then add {var = value} to assignment result Recursive-Backtracking(assignment, csp) if result failure then return result remove {var = value} from assignment return failure Chapter 5 13 /Úvod
pconstrain Satisfaction Problem Backtracking example Chapter 5 14 /Úvod
pconstrain Satisfaction Problem Backtracking example Chapter 5 17 /Úvod
pconstrain Satisfaction Problem Backtracking example Chapter 5 17 /Úvod
pconstrain Satisfaction Problem Backtracking example Chapter 5 17 /Úvod
pjak zlepšit efektivitu CSP? /Úvod
pjak zlepšit efektivitu CSP? 1. kterou proměnnou první nasytit? /Úvod
pjak zlepšit efektivitu CSP? 1. kterou proměnnou první nasytit? Minimum Remaining Value heuristic (MRV), vybereme takovou proměnnou, která nejvíce omezuje zbylé proměnné /Úvod
pjak zlepšit efektivitu CSP? 1. kterou proměnnou první nasytit? Minimum Remaining Value heuristic (MRV), vybereme takovou proměnnou, která nejvíce omezuje zbylé proměnné 2. v jakém pořadí zkusit hodnot? /Úvod
pjak zlepšit efektivitu CSP? 1. kterou proměnnou první nasytit? Minimum Remaining Value heuristic (MRV), vybereme takovou proměnnou, která nejvíce omezuje zbylé proměnné 2. v jakém pořadí zkusit hodnot? Least Constraining Value heuristic (LCV), vybereme takovou hodnotu, která nejméně omezí hodnoty pro zbylé proměnné /Úvod
pjak zlepšit efektivitu CSP? 1. kterou proměnnou první nasytit? Minimum Remaining Value heuristic (MRV), vybereme takovou proměnnou, která nejvíce omezuje zbylé proměnné 2. v jakém pořadí zkusit hodnot? Least Constraining Value heuristic (LCV), vybereme takovou hodnotu, která nejméně omezí hodnoty pro zbylé proměnné 3. můžeme dopředu odhadnout spor? /Úvod
pjak zlepšit efektivitu CSP? 1. kterou proměnnou první nasytit? Minimum Remaining Value heuristic (MRV), vybereme takovou proměnnou, která nejvíce omezuje zbylé proměnné 2. v jakém pořadí zkusit hodnot? Least Constraining Value heuristic (LCV), vybereme takovou hodnotu, která nejméně omezí hodnoty pro zbylé proměnné 3. můžeme dopředu odhadnout spor? Forward Checking udržuje znalost o zbylých možných hodnotách pro nepřiřazené proměnné /Úvod
pjak zlepšit efektivituforward CSP? checking Idea: Keep track of remaining legal values for unassigned variables Terminate search when any variable has no legal values WA NT Q NSW V SA T Chapter 5 22 /Úvod
pjak zlepšit efektivituforward CSP? checking Idea: Keep track of remaining legal values for unassigned variables Terminate search when any variable has no legal values WA NT Q NSW V SA T Chapter 5 23 /Úvod
pjak zlepšit efektivituforward CSP? checking Idea: Keep track of remaining legal values for unassigned variables Terminate search when any variable has no legal values WA NT Q NSW V SA T Chapter 5 24 /Úvod
pjak zlepšit efektivituforward CSP? checking Idea: Keep track of remaining legal values for unassigned variables Terminate search when any variable has no legal values WA NT Q NSW V SA T Chapter 5 25 /Úvod
pjak zlepšit efektivitu CSP? Constraint propagation Forward checking propagates information from assigned to unassigned variables, but doesn t provide early detection for all Řešení: failures: WA NT Q NSW V SA T NT and SA cannot both be blue! Constraint propagation repeatedly enforces constraints locally Chapter /Úvod 5 26
pjak zlepšit efektivitu CSP? Constraint propagation Forward checking propagates information from assigned to unassigned variables, but doesn t provide early detection for all Řešení: failures: WA NT Q NSW V SA T NT and SA cannot both be blue! Porovnání: Constraint problem propagation backtracking repeatedly BT+MRV enforces Forward Checking constraints FC+MRV locally MAP (US) (>1,000k) (>1,000k) 2k 60 nquueens(2-50) (>40,000k) 13,500k (>40,000k) 817k Chapter /Úvod 5 26