Hoofdstuk 3 (vanaf 3.5) en 4 van Russell/Norvig = [RN] Gericht zoeken en verder

Vergelijkbare documenten
Kosten. Computationale Intelligentie. Een zoekprobleem met stapkosten. Een voorbeeld: het vinden van een route. Zoeken met kosten.

Uitwerkingen opgaven Kunstmatige intelligentie

Computationele Intelligentie

Opgaven Kunstmatige Intelligentie 1 maart 2017

Kosten. Zoekalgoritmen ( ) College 5: Zoeken met kosten. Een zoekprobleem met stapkosten. Een voorbeeld: het vinden van een route

Computationele Intelligentie

Kunstmatige Intelligentie (AI) Hoofdstuk 6 van Russell/Norvig = [RN] Constrained Satisfaction Problemen (CSP s) voorjaar 2015 College 7, 31 maart 2015

Computationale Intelligentie Dirk Thierens

Recapitulatie: Ongeïnformeerd zoeken. Zoekalgoritmen ( ) College 2: Ongeïnformeerd zoeken. Dynamische breadth-first search

Opgaven Kunstmatige intelligentie 4 mei 2012

Kunstmatige Intelligentie (AI) Hoofdstuk van Russell/Norvig = [RN] Genetische algoritmen. voorjaar 2016 College 11, 3 mei 2016

Hoofdstuk 3 (tot en met 3.4) van Russell/Norvig = [RN] Probleemoplossen en zoeken

Tiende college algoritmiek. 26 april Gretige algoritmen

Duration: 2 hrs; Total points: 100 No documents allowed. Use of electronic devices, such as calculators, smartphones, smartwatches is forbidden.

Zoeken met beperkt geheugen. Zoekalgoritmen ( ) College 7: Zoeken met beperkt geheugen. Een representatie van het kleuringsprobleem

Lokaal zoeken. Computationele Intelligentie. Een representatie van het kleuringsprobleem. Impliciete doeltoestanden. Lokaal zoeken

Tiende college algoritmiek. 13/21 april Gretige Algoritmen Algoritme van Dijkstra

Twaalfde college complexiteit. 11 mei Overzicht, MST

Het minimale aantal sleutels op niveau h is derhalve

Heuristieken en benaderingsalgoritmen. Algoritmiek

Tiende college algoritmiek. 4 mei Gretige Algoritmen Algoritme van Dijkstra

Divide & Conquer: Verdeel en Heers vervolg. Algoritmiek

Greedy algoritmes. Algoritmiek

Uitwerking tentamen Algoritmiek 10 juni :00 13:00

Tiende college algoritmiek. 14 april Dynamisch Programmeren, Gretige Algoritmen, Kortste Pad met BFS

Derde college algoritmiek. 23 februari Toestand-actie-ruimte

Derde college algoritmiek. 18 februari Toestand-actie-ruimte

Vierde college algoritmiek. 2 maart Toestand-actie-ruimte Exhaustive Search

Vierde college complexiteit. 26 februari Beslissingsbomen en selectie Toernooimethode Adversary argument

Derde college algoritmiek. 16/17 februari Toestand-actie-ruimte

Grafen en BFS. Mark Lekkerkerker. 24 februari 2014

Tentamen Kunstmatige Intelligentie (INFOB2KI)

Discrete Structuren. Piter Dykstra Sietse Achterop Opleidingsinstituut Informatica en Cognitie

Uitgebreide uitwerking tentamen Algoritmiek Dinsdag 5 juni 2007, uur

Heuristisch zoeken. Computationele Intelligentie. Een heuristische functie op de toestandsruimte. Voorbeelden van kennis. Heuristisch zoeken

Benaderingsalgoritmen

Zoekproblemen met tegenstanders. Zoekalgoritmen ( ) College 9: Zoeken met een tegenstander (I) Een zoekprobleem met een tegenstander

Elfde college algoritmiek. 16 mei Dijkstra, Gretige algoritmen en Branch & Bound

Overzicht. Inleiding. Toepassingen. Verwante problemen. Modellering. Exacte oplosmethode: B&B. Insertie heuristieken. Local Search

Zesde college complexiteit. 19 maart Mergesort, Ondergrens sorteren Quicksort, Shellsort

Derde college complexiteit. 7 februari Zoeken

Achtste college algoritmiek. 8 april Dynamisch Programmeren

Uitwerking tentamen Algoritmiek 9 juli :00 13:00

Discrete Structuren. Piter Dykstra Opleidingsinstituut Informatica en Cognitie

Tentamen Topologie, Najaar 2011

Uitwerking tentamen Algoritmiek 9 juni :00 17:00

Elfde college algoritmiek. 21 april Dijkstra en Branch & Bound

Doorzoeken van grafen. Algoritmiek

Vijfde college complexiteit. 21 februari Selectie Toernooimethode Adversary argument

Opgaven Kunstmatige intelligentie 2 mei 2018

Vijfde college algoritmiek. 17 maart Exhaustive search Graafwandelingen Backtracking

Kortste Paden. Algoritmiek

Twaalfde college algoritmiek. 12 mei Branch & Bound

De statespace van Small World Networks

Uitgebreide uitwerking tentamen Algoritmiek Dinsdag 2 juni 2009, uur

Vierde college complexiteit. 14 februari Beslissingsbomen

5.4.2 a. Neen: dit lukt alléén met 1, 3, 7 enzovoort. b. Ja: dit lukt met elk aantal knopen! Bijvoorbeeld de volgende boom: 1

Derde college algoritmiek. 23 februari Complexiteit Toestand-actie-ruimte

(On)Doenlijke problemen

Negende college algoritmiek. 15 april Dynamisch Programmeren

Grafen. Indien de uitgraad van ieder punt 1 is, dan bevat de graaf een cykel. Indien de ingraad van ieder punt 1 is, dan bevat de graaf een cykel.

Kortste Paden. Algoritmiek

Derde college algoritmiek. 22 februari Complexiteit Toestand-actie-ruimte

Vierde college complexiteit. 16 februari Beslissingsbomen en selectie

ALGORITMIEK: antwoorden werkcollege 5

Zevende college complexiteit. 7 maart Mergesort, Ondergrens sorteren (Quicksort)

144 Samenvatting. Onderzoeksvraag 1: Hoe kunnen we Monte-Carlo Tree Search aanpassen

Constraint satisfaction. Computationele Intelligentie. Voorbeelden. Een constraint satisfaction probleem. Constraint Satisfaction

Dynamisch Programmeren III. Algoritmiek

Opgave 1 - Uitwerking

Programmeermethoden. Recursie. week 11: november kosterswa/pm/

Hebzucht loont niet altijd

Examen Datastructuren en Algoritmen II

9. Strategieën en oplossingsmethoden

Twaalfde college algoritmiek. 13 mei Branch & Bound Heap, Heapsort & Heapify

Elfde college algoritmiek. 29 april Algoritme van Dijkstra, Branch & Bound

Programmeermethoden. Recursie. Walter Kosters. week 11: november kosterswa/pm/

From Alife Agents to a Kingdom of Queens

8C080 deel BioModeling en bioinformatica

Netwerkstroming. Algoritmiek

V.2 Limieten van functies

Deeltentamen Kunstmatige Intelligentie

Backlog. De openstaande stories. Studenten. Clermond de Hullu Wiebren Wolthuis Simon Wels Maik Gosenshuis. MDL- referentie D09

Minimum Spanning Tree

V.4 Eigenschappen van continue functies

Twaalfde college algoritmiek. 17 mei Branch & Bound

Programmeermethoden. Functies vervolg. Walter Kosters. week 5: 1 5 oktober kosterswa/pm/

Combinatoriek groep 2

Small Basic Programmeren Text Console 2

Slangennest Wiskunde B-dag 2018

Kunstmatige Intelligentie (AI) Hoofdstuk 5 van Russell/Norvig = [RN] Spel(l)en. voorjaar 2016 College 6, 22 maart 2016

Gödels theorem An Incomplete Guide to Its Use and Abuse, Hoofdstuk 3

Getaltheorie I. c = c 1 = 1 c (1)

Algoritmiek. 2 februari Introductie

Datastructuren en Algoritmen

Tiende college algoritmiek. 3 mei Dynamisch programmeren Gretige Algoritmen Algoritme van Dijkstra

Zevende college Algoritmiek. 6 april Verdeel en Heers

Uitgebreide uitwerking Tentamen Complexiteit, juni 2017

Machtsfuncties al dan niet samengesteld in de vorm van een polynoom- of veeltermfunctie

Transcriptie:

I Kunstmatige Intelligentie (I) Hoofdstuk 3 (vanaf 3.5) en 4 van Russell/Norvig = [RN] Gericht zoeken en verder voorjaar 2016 ollege 5, 15 maart 2016 www.liacs.leidenuniv.nl/ kosterswa/i/ 1

I Gericht zoeken Introductie Een informed zoekmethode gebruikt meer dan alleen de probleem-omschrijving, ten einde beter (gericht) te kunnen zoeken. We bekijken best first methoden, die een knoop n kiezen met de laagste waarde voor een geschikte evaluatiefunctie f(n). Deze gebruikt een gegeven heuristische functie h(n) die de afstand vanuit knoop n tot het doel schat; altijd moet gelden dat h(n) = 0 voor doelknopen. Greedy best-first search probeert de afstand tot het doel zo snel mogelijk te verkleinen. * probeert de totale afstand/kosten zo laag mogelijk te houden. Om geheugen te sparen kun je ID* gebruiken. 2

I Gericht zoeken Roemenië 118 71 O Z T 99 F 80 111 R L 97 211 P 70 146 M 101 75 138 120 D G 151 75 140 N 85 B 90 87 I 142 92 V U 98 H 86 E 3

I Gericht zoeken Heuristiek We bekijken weer de reis van rad naar Bucharest in Roemenië. We gebruiken als heuristiek h LD, de vogelvlucht afstand (straight line distance) tot het doel: B D E F G H I L 366 0 160 242 161 176 77 151 226 244 M N O P R T U V Z 241 234 380 100 193 253 329 80 199 374 Merk op dat h LD (B) = 0. 4

I Gericht zoeken Greedy best-first search 1 Greedy best-first search: ontwikkel (fringe-)knoop n met de laagste h(n), in dit geval h = h LD. Oftewel: f(n) = h(n). 366 begintoestand expandeer expandeer F T 329 366 253 T 329 Z 374 F 253 B 0 O 380 Z 374 expandeer R 193 366 T 329 Z 374 F 176 O 380 R 193 expandeer/test B klaar kosten: 450 5

I Gericht zoeken Greedy best-first search 2 Greedy best-first search heeft tijd- en ruimtecomplexiteit O(b m ), met b de vertakkingsgraad en m de maximale diepte van de zoekruimte. Helaas: niet compleet (oneindige paden...) en niet optimaal (korter via R en P, zie straks)! Beter idee: breng ook de verbruikte afstand in rekening. 6

I Gericht zoeken * Voor * ( -ster ) definiëren we f(n) = g(n)+h(n), een schatting voor het totale pad van begin naar doel. f = 0+366 = 366 begintoestand expandeer T expandeer R, 447 dan F F 646 591 T 447 B 450 O 671 Z 449 R 526 393 Z 449 expandeer P P 417 553 expandeer... R 526 646 T 447 Z 449 F 415 615 P R 607 O 671 553 B 418 R 413 expandeer B,418 klaar 7

I Gericht zoeken * samengevat Het *-algoritme is dus als volgt: Expandeer steeds de (een) knoop uit de fringe met de laagste f-waarde, waarbij voor knoop n: f(n) = g(n)+h(n). Hierbij is g(n) de exacte waarde van de reeds gemaakte kosten, en h(n) de (toelaatbare) schatting voor de rest van de kosten. top als je een doelknoop expandeert laten we aannemen dat dat ooit gebeurt. Onder redelijke voorwaarden (zie straks) is * compleet en optimaal; er zijn allerlei handige aanpassingen mogelijk. Let op herbezoeken van locaties. 8

I Gericht zoeken Theorie heuristieken 1 Een heuristiek h heet admissibel = toelaatbaar als hij nooit de kosten naar het doel overschat. Voorbeeld: h LD. Of (flauw): h(n) = 0 voor alle n dit is overigens hetzelfde als uniform-cost search. Bewering: ls h admissibel is, is * optimaal: * vindt het beste doel als * er een ontdekt, tenminste. Bewijs: tel dat je een niet-optimaal doel G 2 op de fringe hebt. De kosten naar een optimaal doel zijn, zeg. Dan: f(g 2 ) = g(g 2 ) + h(g 2 ) = g(g 2 ) >. Pak een knoop n op de fringe, die op een pad naar een optimale oplossing zit (zo n knoop is er). Dan: f(n) = g(n) + h(n) (h admissibel). Dus f(n) < f(g 2 ). Dus n wordt voor G 2 ge-expandeerd. 9

I Gericht zoeken Theorie heuristieken 2 Een heuristiek h heet monotoon = consistent wanneer altijd als je via actie a van knoop n naar knoop n gaat geldt h(n) c(n,a,n ) + h(n ). Dit is een soort driehoeksongelijkheid. In dat geval zijn de waarden van f op ieder pad niet-dalend: f(n ) = g(n )+h(n ) = g(n)+c(n,a,n )+h(n ) g(n)+h(n) = f(n). En * expandeert alle knopen met f(n) < en een of meer knopen met f(n) = (met de kosten van een optimale oplossing) mits dat er eindig veel zijn, en is dan dus ook compleet. Je krijgt een soort contourlijnen. 10

I Gericht zoeken Theorie heuristieken 3 tel dat de f-waarde daalt langs een zeker pad de heuristiek is dan blijkbaar niet consistent. Wat kun je daaraan doen? Oplossing: de pathmax-vergelijking toepassen: f(n ) = max(f(n),g(n )+h(n )). Merk op: consistent impliceert admissibel (maar niet omgekeerd). Bewijs: met inductie naar de afstand tot het doel. OK als die 0 is. tel > 0 voor zekere n. Kies de eerstvolgende n op een kortste pad naar het doel; die heeft kleinere afstand tot het doel en dus (inductie) h(n ) afstand tot het doel. Nu h(n) c(n,a,n )+h(n ) c(n,a,n ) + afstand van n tot het doel = afstand van n tot het doel. onsistent wordt wel locaal optimistisch genoemd, admissibel globaal optimistisch. 11

I Gericht zoeken * Voorbeeld 4 5 2 2 2 4 4 B 7 3 D 2 4 8 0 G 4 B 9 12 i ii iii 7 12 B 9 B 9(!) iv D 9(!) is het tart-punt, G is de Goal (= doel). Er staat steeds een bij de knoop die ontwikkeld wordt. Merk op dat de heuristiek admissibel is maar niet consistent, zie (!). Bij in iv krijg je eigenlijk f = 4+2 = 6, maar de ouder had 9. Dus, dankzij pathmax, 9. Idem D. 12

I Gericht zoeken * Voorbeeld (vervolg) 4 5 2 2 2 4 4 B 7 3 D 2 4 8 0 G 12 12 9 B B iv D 9 vi D 12 12 G 11 14 Bij iv mag je ook eerst D ontwikkelen, en bij vii eventueel eerst (G is een doel). De kortste weg (-B---G) is dus 12 lang. 11 G 12 B B v D 9 vii D G 14 13

I Gericht zoeken ID* algoritme De overgang van * naar ID* is analoog aan de overgang van DF via Depth limited search naar Iterative deepening. Bij ID* is iedere stap een complete DF-wandeling, waarbij je iedere knoop ontwikkelt die een f-waarde heeft hoogstens gelijk aan de laagste f-waarde f lim die nog open stond uit de vorige stap. In de eerste doorgang is f lim gelijk aan de f-waarde van de beginknoop, oftewel diens h-waarde. Er zijn nog meer varianten: RBF, M*, M*,... Deze laatste vergeet knopen met hoge f-waarden als het geheugen vol raakt. 14

I Gericht zoeken 4 5 2 2 2 4 4 B 7 3 D 2 4 8 0 G 4 i f lim = 4 B 9 iii 12 f lim = 9 ID* Voorbeeld 7 12 11 B 9 B ii f lim = 7 iv D G 14 Na iedere stap (een DF-wandeling) is de boom steeds weg! Na stap iv wordt f lim = 11, in de volgende stap 12 en wordt (deels) dezelfde boom als in stap vii van * doorlopen, maar nu met ook het kind G,13 van de linker erbij. 15

I Gericht zoeken * en ID* verschil Kortom, wat is nu het verschil tussen * en ID*, Iterative Deepening *? Bij * expandeer je steeds de knoop met de laagste f- waarde uit de fringe die in het geheugen zit. De grootte van die fringe is ruwweg de breedte van de boom. Er is maar één boom in het spel. Bij ID* maak je steeds een DF-wandeling door een (bij iedere ronde groter wordende) boom; je loopt steeds tot en met de laagste open staande f-waarde uit de vorige ronde. Nu heb je altijd alleen een pad uit de boom in je geheugen, en dat heeft met diepte te maken. 16

I Gericht zoeken Welke heuristiek? 8-puzzel Er zijn meestal verschillende heuristische functies mogelijk. 7 2 4 1 2 5 6 3 4 5 8 3 1 begin 6 7 8 doel Voor h 1 nemen we het aantal tegels dat uit positie is; voor h 2 de som van de afstanden van de tegels tot hun uiteindelijke positie. ls afstand kiezen we de Manhattanafstand (= city block distance). Hier: h 1 = 8 en h 2 = 18. 17

I Gericht zoeken Vertakkingsgraad Een goede maat voor de kwaliteit van heuristieken is aan de hand van de effectieve vertakkingsgraad b. tel dat * N knopen genereert en een oplossing vindt op diepte d. Dan is b de vertakkingsgraad die een volledig gevulde boom met N +1 knopen van diepte d heeft. Dus: N +1 = 1+b +(b ) 2 +... +(b ) d. ls * een oplossing vindt op diepte 5, met behulp van 52 knopen, geldt b = 1,92. Hoe dichter b bij 1 zit, hoe beter (dan vind je diepe oplossingen). ls het ware meet b hoe breed je zoekt. 18

I Gericht zoeken Experiment Voor de 8-puzzel (gemiddeldes over 100 problemen; ID = Iterative deepening search; d = diepte oplossing): aantal ge-exp. knopen eff. vertakkingsgraad d ID *(h 1 ) *(h 2 ) ID *(h 1 ) *(h 2 ) 2 10 6 6 2.45 1.79 1.79 4 112 13 12 2.87 1.48 1.45 6 680 20 18 2.73 1.34 1.30 8 6384 39 25 2.80 1.33 1.24 10 47127 93 39 2.79 1.38 1.22 12 3644035 227 73 2.78 1.42 1.24 14 539 113 1.44 1.23 16 1301 211 1.45 1.25 18 3056 363 1.46 1.26 20 7276 676 1.47 1.27 19

I Gericht zoeken Vergelijken heuristieken ls voor iedere knoop n geldt dat h 2 (n) h 1 (n), zeggen we: h 2 domineert h 1. * met h 2 zal dan doorgaans minder knopen expanderen dan h 1 (zie ook Experiment), want elke knoop n met h(n) < g(n) wordt ge-expandeerd. onclusie: kies altijd een heuristiek met zo hoog mogelijke waarden mits admissibel (nooit overschatten). ls h 1,...,h m admissibele heuristieken zijn, domineert ze allemaal. h(n) = max{h 1 (n),...,h m (n)} 20

I Gericht zoeken Heuristieken vinden Een handige manier om een heuristiek te vinden is het exact oplossen van een vereenvoudigd (afgezwakt, relaxed) probleem. De optimale oplossing hiervan kost hooguit even veel als die van het oorspronkelijke probleem. Voor de 8-puzzel: een tegel mag van naar B bewegen mits en B aangrenzend zijn en B leeg is. Dit zwakken we af tot: Een tegel mag van naar B bewegen mits en B aangrenzend zijn ( h 2 ) Een tegel mag van naar B bewegen mits B leeg is Een tegel mag (altijd) van naar B bewegen ( h 1 ) 21

I Gericht zoeken Voorbeeld heuristiek Voor het dames-op-schaakbord probleem: een heuristiek h is het aantal ruziënde paren. Een actie is het verplaatsen van een dame in haar eigen kolom: op het n bij n bord n(n 1) opvolgers. Dit suggereert de volgende aanpak. Een hill-climber kiest random uit de beste opvolgers. Dit is een greedy = gretige strategie met locale minima! h = 5 h = 3 h = 1 h = 0 22

I Gericht zoeken Local search ls het pad naar de oplossing er niet toe doet (zoals bij het dames-probleem), kunnen we local search technieken gebruiken. Je verbetert dan in elke stap één of meer huidige oplossingen. Bijkomend voordeel: je hebt altijd een complete (redelijke) oplossing. Enkele problemen hiermee: locale maxima plateau s heuvelruggen (= ridges) We zullen later apart Genetische algoritmen bestuderen. 23

I Gericht zoeken imulated nnealing We combineren de hill-climber (= gradient descent) met random bewegingen als volgt tot imulated nnealing: for tijd 1 to do Temperatuur schedule[tijd] if Temperatuur = 0 then return huidig volgende random opvolger van huidig E waarde[volgende] waarde[huidig] if E > 0 then huidig volgende else huidig volgende met kans e E/Temperatuur Het algoritme is geinspireerd op natuurkundige ideeën en het Metropolis-algoritme uit 1953. 24

I Gericht zoeken En verder Er zijn nog allerlei geavanceerde zaken: pattern databases om exacte oplossingen van deelproblemen in op te slaan; (local) beam search houdt een k-tal beste oplossingen bij, die elkaar stimuleren ; en nog meer: Hoofdstuk 4.2, 4.3, 4.4 en 4.5 van [RN] niet in dit college. 25

I Gericht zoeken Huiswerk Het huiswerk voor de volgende keer (dinsdag 22 maart 2016): lees Hoofdstuk 5, p. 161 190 van [RN] door. Kijk ook eens naar de vragen bij dit hoofdstuk. Denk tevens aan de tweede opgave: genten & Robotica; deadline: 29 maart 2016. Bestudeer de opgaven van: www.liacs.leidenuniv.nl/ kosterswa/i/opgaven1.pdf www.liacs.leidenuniv.nl/ kosterswa/i/opgaven2.pdf Deze worden ook gemaakt op de sommenwerkcolleges van 15 3, 5 4, 26 4 en 17 5 in zaal B01. 26