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

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

Computationale Intelligentie Dirk Thierens

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

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

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

Computationele Intelligentie

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

Computationele Intelligentie

Constraint satisfaction. Zoekalgoritmen ( ) College 11: Constraint Satisfaction. Voorbeelden. Een constraint satisfaction probleem

Een voorbeeld. Computationele Intelligentie Zoeken met een tegenstander. Een voorbeeld vervolg. Een zoekprobleem met een tegenstander

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

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

Transparanten bij het vak Inleiding Adaptieve Systemen: Evolutionary Computation. f(s max ) f(s) s

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

Local search. Han Hoogeveen CGN A februari, 2009

Doorzoeken van grafen. Algoritmiek

Local search. Han Hoogeveen. 21 november, 2011

De statespace van Small World Networks

Inleiding Programmeren 2

Optimalisering en Complexiteit, College 2. Han Hoogeveen, Utrecht University

Grafen en BFS. Mark Lekkerkerker. 24 februari 2014

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

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

Datastructuren en Algoritmen

Inleiding Programmeren 2

Puzzels en wiskunde. Inleiding. Algoritme. Sudoku. 22 Puzzels en wiskunde

Algoritmiek. 15 februari Grafen en bomen

(On)Doenlijke problemen

Begrenzing van het aantal iteraties in het max-flow algoritme

Tweede college algoritmiek. 12 februari Grafen en bomen

Vierde college complexiteit. 14 februari Beslissingsbomen

Opgaven Kunstmatige intelligentie 4 mei 2012

Algoritmiek. 2 februari Introductie

Zoemzinnen. Algemene info. Functies met een variabel aantal argumenten

Veelvlakken kleuren. Dion Gijswijt

Uitgebreide uitwerking tentamen Algoritmiek Dinsdag 5 juni 2007, uur

Branch-and-Bound en Cutting Planes

Uitwerking tentamen Analyse van Algoritmen, 29 januari

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

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

Benaderingsalgoritmen

8. Complexiteit van algoritmen:

V el v'akk n kl ure. door Dion Gijswijt

Hoofdstuk 17: Approximation Algorithms

8C080 deel BioModeling en bioinformatica

Workshop DisWis, De Start 13/06/2007 Bladzijde 1 van 7. Sudoku. Sudoku

Opgaven bij Hoofdstuk 3 - Productiesystemen

Datastructuren en Algoritmen III, 2010

TW2020 Optimalisering

TW2020 Optimalisering

TW2020 Optimalisering

Twaalfde college complexiteit. 11 mei Overzicht, MST

TW2020 Optimalisering

Uitgebreide uitwerking Tentamen Complexiteit, mei 2007

Tentamen Kunstmatige Intelligentie (INFOB2KI)

Tiende college algoritmiek. 2 mei Gretige algoritmen, Dijkstra

Tiende college algoritmiek. 14 april Gretige algoritmen

Strategisch Redeneren. Halfbeslisbaarheid. Zoekstrategieën. Resolutie als zoeken. Redeneren (in logica):

1 Complexiteit. of benadering en snel

Vijfde college algoritmiek. 2/3 maart Exhaustive search

Discrete modellen in de toegepaste wiskunde (WISB136) Uitwerkingen proeftentamen.

Examen Datastructuren en Algoritmen II

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

Recursion. Introductie 37. Leerkern 37. Terugkoppeling 40. Uitwerking van de opgaven 40

Overzicht. 1. Definities. 2. Basisalgoritme. 3. Label setting methoden. 4. Label correcting methoden. 5. Ondergrenzen. 6.

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

Tentamen IN3105. Complexiteitstheorie. 16 april 2012, uur

Vierde college complexiteit. 16 februari Beslissingsbomen en selectie

Stochastische Modellen in Operations Management (153088)

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

Derde college algoritmiek. 18 februari Toestand-actie-ruimte

Zevende college complexiteit. 17 maart Ondergrens sorteren, Quicksort

(vi) Als u een stelling, eigenschap,... gebruikt, formuleer die dan, toon aan dat de voorwaarden vervuld zijn, maar bewijs die niet.

Derde college complexiteit. 7 februari Zoeken

Vierde college algoritmiek. 1 maart Toestand-actie-ruimte Brute Force

Achtste college algoritmiek. 8 april Dynamisch Programmeren

Optimaliseren in Netwerken

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

Tijd is geen goede maatstaf, want is afhankelijk van computer waarop algoritme wordt gedraaid.

Cover Page. The handle holds various files of this Leiden University dissertation

Redeneren & probleemoplossen. Bij hoofdstuk 6 Breinmakers en Breinbrekers docent: Rineke Verbrugge

Divide & Conquer: Verdeel en Heers vervolg. Algoritmiek

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

Uitleg van de Hough transformatie

TW2020 Optimalisering

Stelling. SAT is NP-compleet.

Optimalisatie van de indeling van instrumentennetten Engelse titel: Optimization of scheduling and assignment of instrument nets

Examenvragen Hogere Wiskunde I

Ontwerp van Algoritmen: opgaven weken 3 en 4

Negende college complexiteit. 9 april NP-volledigheid I: introductie

recursie Hoofdstuk 5 Studeeraanwijzingen De studielast van deze leereenheid bedraagt circa 6 uur. Terminologie

Overzicht Fourier-theorie

Derde college algoritmiek. 23 februari Toestand-actie-ruimte

Tiende college algoritmiek. 4 mei Gretige Algoritmen Algoritme van Dijkstra

1 Inleiding in Functioneel Programmeren

Week Hier vind je uitwerkingen van enkele opgaven uit het dictaat Grafen: Kleuren en Routeren.

Automaten. Informatica, UvA. Yde Venema

Automaten & Complexiteit (X )

S n = tijdstip van de n-de gebeurtenis, T n = S n S n 1 = tijd tussen n-de en (n 1)-de gebeurtenis.

SAMENVATTING IN HET NEDERLANDS

Transcriptie:

Zoeken met beperkt geheugen Zoekalgoritmen (2009 2010) College 7: Zoeken met beperkt geheugen Dirk Thierens, Tekst: Linda van der Gaag algoritmen voor zoeken met beperkt geheugen zijn ontwikkeld voor problemen met grote oplossingsdiepten; waarbij een oplossing slechts een doeltoestand is; een algoritme voor zoeken met beperkt geheugen doorzoekt slechts een deel van de zoekruimte van een probleem, gestuurd door kennis van het probleem; enkele algoritmen voor zoeken met beperkt geheugen zijn: (random-restart) hill climbing; beam search; simulated annealing; tabu search. Zoekalgoritmen: Zoeken met kosten 159 / 353 Zoekalgoritmen: Beperkt geheugen 160 / 353 Impliciete doeltoestanden Voor veel zoekproblemen geldt: de doeltoestanden van het probleem zijn impliciet omschreven; een oplossing van het probleem is dan een enkele doeltoestand. Voorbeeld Gegeven zijn een landkaart en drie kleuren: Een representatie van het kleuringsprobleem Het kleuringsprobleem kan als volgt als een zoekprobleem geformuleerd worden: een toestand van de landkaart is een toekenning van een kleur aan elk land op de kaart: Een doeltoestand is een kleuring van de landen zodanig dat aangrenzende landen verschillend gekleurd zijn. de toestandsruimte van het probleem is de verzameling van alle mogelijke toestanden van de kaart; Zoekalgoritmen: Beperkt geheugen Impliciete doeltoestanden 161 / 353 Zoekalgoritmen: Beperkt geheugen Impliciete doeltoestanden 162 / 353

Een representatie vervolg Een representatie vervolg een begintoestand is een willekeurige toestand van de landkaart; een doeltoestand is een toestand van de kaart waarin aangrenzende landen verschillend gekleurd zijn: de ene toestand van de landkaart wordt in de andere getransformeerd door van één land de kleur te wijzigen: Zoekalgoritmen: Beperkt geheugen Impliciete doeltoestanden 163 / 353 Zoekalgoritmen: Beperkt geheugen Impliciete doeltoestanden 164 / 353 Hill climbing inleiding Hill climbing Hill climbing is sterk gerelateerd aan best-first search: beide algoritmen maken gebruik van heuristische waarden van toestanden om het zoekproces te sturen. De belangrijkste verschillen zijn: hill climbing houdt slechts de huidige toestand bij; hill climbing selecteert nooit een toestand met een slechtere heuristische waarde dan de huidige toestand. Verder gebruikt hill climbing meestal een kwaliteitsbegrip als heuristische functie. De essentie van hill climbing is in pseudocode procedure hill-climb(t,h) returns t: t argmax{h(s) s in successors(t)}; while h(t ) h(t) do t t ; t argmax{h(s) s in successors(t)} enddo endprocedure De procedure hill-climb wordt aangeroepen met een begintoestand t en een te maximaliseren heuristische kwaliteitsfunctie h. Zoekalgoritmen: Beperkt geheugen Hill climbing 165 / 353 Zoekalgoritmen: Beperkt geheugen Hill climbing 166 / 353

Een voorbeeld De vier eigenschappen Beschouw nogmaals het kleuringsprobleem en de volgende toestand: De heuristische waarde van een toestand is het aantal landen met anders gekleurde buren. Het hill-climbing algoritme construeert bijvoorbeeld: Als de toestandsruimte van een zoekprobleem tenminste één doeltoestand bevat, dan geldt: hill climbing vindt niet noodzakelijk een doeltoestand; als hill climbing met een toestand termineert, dan is dit niet noodzakelijk een doeltoestand; hill climbing kost constant veel ruimte; hill climbing kost in de praktijk polynomiaal veel tijd. Zoekalgoritmen: Beperkt geheugen Hill climbing 167 / 353 Zoekalgoritmen: Beperkt geheugen Hill climbing: Eigenschappen 168 / 353 Een heuristisch landschap Globale en lokale maxima De heuristische functie voor een zoekprobleem definieert een landschap op de toestandsruimte van het probleem: heuristische waarde globaal maximum lokaal maximum huidige toestand toestanden Beschouw de toestandsruimte T van een zoekprobleem en een heuristische functie h op T: een globaal maximum voor h is een toestand t waarvoor geldt dat h(t) h(t ) voor alle t T; een lokaal maximum voor h is een toestand t waarvoor geldt dat er is een t T met h(t ) > h(t); voor alle successors s van t geldt dat h(s) < h(t). Hill climbing beklimt een berg in het landschap. Zoekalgoritmen: Beperkt geheugen Heuristisch landschap 169 / 353 Zoekalgoritmen: Beperkt geheugen Heuristisch landschap 170 / 353

Een voorbeeld Beschouw nogmaals de te maximaliseren heuristische functie voor de 8-puzzel. Veronderstel dat het hill-climbing algoritme de volgende tussentoestand heeft gegenereerd: Plateaus Beschouw de toestandsruimte T van een zoekprobleem en een heuristische functie h op T. Een toestand t bevindt zich op een voor h als geldt dat 1 2 5 8 4 7 6 3 1 2 3 8 4 7 6 5 h(s) h(t) voor alle successors s van t; er is tenminste één successor s met h(s ) = h(t). heuristische waarde globaal maximum tussentoestand doeltoestand lokaal maximum Toepassing van elke mogelijke operator op de toestand verkleint het aantal correct gepositioneerde tegels: de tussentoestand is een lokaal maximum. huidige toestand toestanden Zoekalgoritmen: Beperkt geheugen Heuristisch landschap 171 / 353 Zoekalgoritmen: Beperkt geheugen Heuristisch landschap 172 / 353 Een voorbeeld Het gedrag van hill climbing Beschouw nogmaals de te maximaliseren functie voor het kleuringsprobleem. Veronderstel dat het hill-climbing algoritme de volgende toestand heeft gegenereerd: Beschouw een landschap op de toestandsruimte van een zoekprobleem: zodra hill climbing een maximum bereikt, termineert het; hill climbing kan het lokale maximum niet onderscheiden van het globale maximum; hill climbing kan niet uit een lokaal maximum ontsnappen; op een vertoont hill climbing onsystematisch zoekgedrag. Toepassing van de operatoren laat het aantal landen met anders gekleurde buren onveranderd of verkleint dit aantal: de toestand bevindt zich op een. Hill climbing hanteert een onherroepelijke zoekstrategie. Zoekalgoritmen: Beperkt geheugen Heuristisch landschap 173 / 353 Zoekalgoritmen: Beperkt geheugen Heuristisch landschap 174 / 353

De effectiviteit van hill climbing De invloed van probleemrepresentatie De grilligheid van het landschap op de toestandsruimte van een zoekprobleem bepaalt de effectiviteit van het hill-climbing algoritme: h(t) De grilligheid van het heuristische landschap voor hill climbing wordt bepaald door attractieveld t de representatie van het praktijkprobleem als een zoekprobleem: de definitie van de verzameling van toestanden van het probleem; de definitie van de operatoren; hoe meer lokale maxima, hoe kleiner de kans dat hill climbing het globale maximum vindt; hoe kleiner het attractieveld van het globale maximum, hoe kleiner de kans dat hill climbing het vindt. de gekozen heuristische functie. Zoekalgoritmen: Beperkt geheugen Heuristisch landschap 175 / 353 Zoekalgoritmen: Beperkt geheugen Representatie 176 / 353 Een alternatieve representatie Een alternatieve representatie vervolg Het kleuringsprobleem kan ook als volgt als een zoekprobleem geformuleerd worden: een toestand van de landkaart is een partiële toekenning van kleuren aan de landen op de kaart: de begintoestand is de lege toestand waarin geen enkele kleur is toegekend: de toestandsruimte is de verzameling van alle mogelijke toestanden van de kaart; een doeltoestand is een toestand waarin alle landen een kleur hebben en aangrenzende landen verschillend gekleurd zijn; Zoekalgoritmen: Beperkt geheugen Representatie 177 / 353 Zoekalgoritmen: Beperkt geheugen Representatie 178 / 353

Een alternatieve representatie vervolg De twee representaties vergeleken Vergelijk nu de volgende operatoren: een toestand van de landkaart wordt in een andere getransformeerd door aan een nog ongekleurd land een kleur toe te kennen; een toestand wordt in een andere getransformeerd door aan een nog ongekleurd land een kleur toe te kennen die ongelijk is aan de kleuren van de buren. Beschouw nogmaals de oorspronkelijke representatie van het kleuringsprobleem en veronderstel dat de landkaart een oplossing heeft: als het hill climbing algoritme termineert, dan heeft het een doeltoestand gevonden; het hill climbing algoritme kan een pad van exponentiële lengte in de toestandsruimte doorlopen; het hill climbing algoritme vindt een doeltoestand met een kans die nadert naar 1.00. Zoekalgoritmen: Beperkt geheugen Representatie 179 / 353 Zoekalgoritmen: Beperkt geheugen Representatie 180 / 353 De twee representaties vergeleken vervolg Convergentie versus diversiteit Beschouw nu de alternatieve representatie van het kleuringsprobleem en veronderstel dat de landkaart een oplossing heeft: als het hill climbing algoritme termineert, dan heeft het niet noodzakelijk een doeltoestand gevonden; het hill climbing algoritme doorloopt een pad van lineaire lengte in de toestandsruimte; de kans dat hill climbing een doeltoestand vindt is sterk afhankelijk van de specifieke landkaart. Algoritmen en representaties voor zoeken met beperkt geheugen moeten een afweging maken van: convergentie: het zoekproces wordt gestuurd naar een maximum; diversiteit: een verscheidenheid aan alternatieven wordt onderzocht. Sterke convergentie gaat meestal ten koste van diversiteit, en vice versa. Zoekalgoritmen: Beperkt geheugen Representatie 181 / 353 Zoekalgoritmen: Beperkt geheugen Convergentie en diversiteit 182 / 353