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

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

Computationele Intelligentie

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

Computationale Intelligentie Dirk Thierens

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

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

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

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

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

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

Vorig college. IN2505-II Berekenbaarheidstheorie College 4. Opsommers versus herkenners (Th. 3.21) Opsommers

Stochastische Modellen in Operations Management (153088)

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

Tweede college algoritmiek. 12 februari Grafen en bomen

Artificiële Intelligentie Project 2 - Constraint Processing

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

Het Queens n 2 graafkleuring probleem

Uitwerkingen opgaven Kunstmatige intelligentie

Discrete Structuren. Piter Dykstra Opleidingsinstituut Informatica en Cognitie

Transport-, Routing- en Schedulingproblemen. Wi4062TU / Wi487TU / a86g. Uitwerkingen

Twaalfde college algoritmiek. 12 mei Branch & Bound

Uitgebreide uitwerking tentamen Algoritmiek Dinsdag 2 juni 2009, uur

V = {a, b, c, d, e} Computernetwerken: de knopen zijn machines in het netwerk, de kanten zijn communicatiekanalen.

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

INLEIDING. Definitie Stochastisch Proces:

Zoek de unieke oplossing van het stelsel π = π P waarvoor bovendien geldt dat i S π i = 1.

Deel I Hoofdstuk 4: Modelleren van Toestand

MARKOV MODEL MET KOSTEN In Markov modellen zijn we vaak geïnteresseerd in kostenberekeningen.

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

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

Tentamen Kunstmatige Intelligentie (INFOB2KI)

Logisch programmeren 2012

SAMENVATTING IN HET NEDERLANDS

Het minimale aantal sleutels op niveau h is derhalve

Doorzoeken van grafen. Algoritmiek

Twaalfde college complexiteit. 11 mei Overzicht, MST

Opgaven Kunstmatige Intelligentie 1 maart 2017

Onafhankelijke verzamelingen en Gewogen Oplossingen, door Donald E. Knuth, The Art of Computer Programming, Volume 4, Combinatorial Algorithms

Woningplattegrond Borrendamme in Zierikzee Gebouw 1 Woningtype A

Talen & Automaten. Wim Hesselink Piter Dykstra Opleidingsinstituut Informatica en Cognitie 9 mei 2008

Twaalfde college algoritmiek. 23 mei Branch & Bound, Heapsort

P (X n+1 = j X n = i, X n 1,..., X 0 ) = P (X n+1 = j X n = i). P (X n+1 = j X n = i) MARKOV KETENS. Definitie van Markov keten:

Hertentamen Biostatistiek 3 / Biomedische wiskunde

3 De stelling van Kleene

Examen Datastructuren en Algoritmen II

1e Deeltentamen Inleiding Taalkunde

Algoritmiek. 15 februari Grafen en bomen

Twaalfde college algoritmiek. 11/12 mei Branch & Bound

Zesde college algoritmiek. 22 maart Backtracking

Twaalfde college algoritmiek. 17 mei Branch & Bound

ALGORITMIEK: antwoorden werkcollege 5

Opgaven Kunstmatige intelligentie 4 mei 2012

Uitgebreide uitwerking tentamen Algoritmiek Dinsdag 5 juni 2007, uur

Automaten & Complexiteit (X )

Datastructuren Uitwerking jan

ALGORITMIEK: antwoorden werkcollege 5

ALGORITMIEK: antwoorden werkcollege 5

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

De bouwstenen van het programmeren 1

Datastructuren en Algoritmen

Oplossingen uit het vorige nummer

Oplossingen uit het vorige nummer

Oplossingen uit het vorige nummer

Oplossingen uit het vorige nummer

Oplossingen uit het vorige nummer

Oplossingen uit het vorige nummer

2DD50: Tentamen. Tentamen: 26 januari 2016 Hertentamen: 5 april 2016

P (X n+1 = j X n = i, X n 1,..., X 0 ) = P (X n+1 = j X n = i). P (X n+1 = j X n = i) MARKOV KETENS. Definitie van Markov keten:

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

Discrete Wiskunde 2WC15, Lente Jan Draisma

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

Het omzetten van reguliere expressies naar eindige automaten, zie de vakken Fundamentele Informatica 1 en 2.

Logica voor Informatica

Vijfde college algoritmiek. 17 maart Exhaustive search Graafwandelingen Backtracking

FP-theorie. 2IA50, Deel B. Inductieve definities 1/19. / department of mathematics and computer science

Uitwerking tentamen Analyse van Algoritmen, 29 januari

MARKOV MODEL MET KOSTEN In Markov modellen zijn we vaak geïnteresseerd in kostenberekeningen.

Tentamen Inleiding Kansrekening 16 juni 2017, 14:00 17:00 Docent: Prof. dr. F. den Hollander

Modeluitwerking Tentamen Computationele Intelligentie Universiteit Leiden Informatica Vrijdag 11 Januari 2013

Oude tentamens Kunstmatige intelligentie Universiteit Leiden Informatica 2005

Deel 2 van Wiskunde 2

Transport-, Routing- en Schedulingproblemen. Wi4062TU / Wi487TU / a86g. Uitwerkingen

Opdracht 1 Topics on Parsing and Formal Languages - fall 2010

1 In deze opgave wordt vijftien maal telkens drie beweringen gedaan waarvan er één juist is. Kruis de juiste bewering aan. (2pt. per juist antwoord).

RuG-Informatica-cursus Discrete Structuren, versie 2009/2010

Uitgebreide uitwerking tentamen Algoritmiek Dinsdag 3 juni 2008, uur

Addendum bij hoofdstuk 5 Generieke implementatie van de zoekalgoritmen

Examenvragen Toegepast Operationeel Onderzoek (D0178a)

Oefeningen voor de oefeningenles. Oefening 1

Uitwerking tentamen Algoritmiek 10 juni :00 13:00

Tentamen Discrete Wiskunde 1 10 april 2012, 14:00 17:00 uur

Tree traversal. Bomen zijn overal. Ferd van Odenhoven. 15 november 2011

Transport, Routing- en Schedulingproblemen. ir. H.N. Post

Grafen deel 1. Zesde college

Software Engineering: SCRUM 2

Kortste Paden. Algoritmiek

Transcriptie:

Constraint satisfaction Zoekalgoritmen (2009 2010) College 11: Constraint Satisfaction Dirk Thierens, Tekst: Linda van der Gaag Een constraint satisfaction probleem (CSP) bestaat uit: een verzameling variabelen; een domein van waarden voor elke variabele; een verzameling constraints op waardetoekenningen aan de variabelen. Een oplossing van een constraint satisfaction probleem is een waardetoekenning aan alle variabelen waarmee aan alle constraints is voldaan. Zoekalgoritmen: 278 / 297 Zoekalgoritmen: CSP Inleiding en definities 279 / 297 Voorbeelden Een constraint satisfaction probleem Roosteringsproblemen zijn meestal te formuleren als constraint satisfaction problemen: het maken van een lesrooster voor een middelbare school; het inroosteren van inkomende en vertrekkende vluchten voor Schiphol. Configuratieproblemen zijn ook meestal te formuleren als constraint satisfaction problemen: het ergonomisch verantwoord inrichten van een operatiezaal; het bekabelen van een computernetwerk. Een (binair) constraint satisfaction probleem is een drietupel CSP = (V, D, C) met V = {,..., V n }, n 1, is de niet-lege eindige verzameling variabelen van het probleem; D = {D 1,..., D n }, n 1, is de verzameling van niet-lege eindige domeinen van het probleem, waarin D i het domein is van de variabele V i, i = 1,..., n; C = {C i,j i, j = 1,..., n} is de verzameling binaire constraints van het probleem met C i,j D i D j en C i,j = C j,i, i, j = 1,..., n. Zoekalgoritmen: CSP Inleiding en definities 280 / 297 Zoekalgoritmen: CSP Inleiding en definities 281 / 297

: het kleuringsprobleem De constraint graaf Het kleuringsprobleem is als een constraint satisfaction probleem CSP = (V, D, C) te formuleren: V = {,..., } is de verzameling van variabelen, waarin elke variabele een in te kleuren land representeert; het domein D i = {blauw, groen, rood} van een variabele V i bevat de mogelijke kleuren voor het corresponderende land; als constraints C i,j, i, j = 1,..., 7, bevat het probleem bijvoorbeeld: C1,3 = {(kleur 1, kleur 3 ) kleur 1 kleur 3 } D 1 D 3 ; De constraints van een constraint satisfaction probleem worden in een ongerichte graaf weergegeven, waarin elke knoop een variabele van het probleem representeert; elke kant een niet-universele constraint van het probleem representeert. Zo n graaf wordt een constraint graaf of afhankelijkheidsgraaf genoemd. C1,6 = D 1 D 6 (dit noemen we een universele constraint) Zoekalgoritmen: CSP Inleiding en definities 282 / 297 Zoekalgoritmen: CSP Inleiding en definities 283 / 297 De toestanden van een CSP De constraint graaf van het probleem is de volgende ongerichte graaf: een instantiatie van een variabele V i V is een waardetoekenning V i = d, d D i ; een toestand van het probleem CSP is een samengestelde waardetoekenning s Di DD i aan alle variabelen van V; een partiële toestand van CSP voor V V is een samengestelde waardetoekenning s Di D D i aan alle variabelen van V ; de nultoestand van CSP is de partiële toestand voor. Zoekalgoritmen: CSP Inleiding en definities 284 / 297 Zoekalgoritmen: CSP Inleiding en definities 285 / 297

Projectie en uitbreiding een (partiële) toestand s voor V is een projectie van een (partiële) toestand s voor V op V als V V ; s (V i ) = s (V i ), voor alle V i V ; omgekeerd heet s een uitbreiding van s. Zoekalgoritmen: CSP Inleiding en definities 286 / 297 De waardetoekenningen s 1 = ( = blauw) s 2 = ( = groen, = blauw) s 3 = ( = blauw, = groen, = blauw) zijn partiële toestanden van het probleem. Er geldt dat s 1 is een projectie van s 3 en s 3 is een uitbreiding van s 1 ; s 2 is geen uitbreiding van s 1 ; s 2 is geen projectie van s 3. Zoekalgoritmen: CSP Inleiding en definities 287 / 297 Schending van constraints Zij s een (partiële) toestand van CSP voor V V. aan een constraint C i,j C is voldaan door s als V i, V j V en (s(v i ), s(v j )) C i,j ; een constraint C i,j C is geschonden door s als V i, V j V en (s(v i ), s(v j )) / C i,j. Zoekalgoritmen: CSP Inleiding en definities 288 / 297 s = ( = blauw, = groen, = blauw) aan de constraint C 1,2 = {(kleur 1, kleur 2 ) kleur 1 kleur 2 } is voldaan door s; de constraint C 1,3 = {(kleur 1, kleur 3 ) kleur 1 kleur 3 } is geschonden door s; aan de constraint C 1,4 is niet voldaan door s, maar de constraint is ook niet geschonden door s. Zoekalgoritmen: CSP Inleiding en definities 289 / 297

Een oplossing een oplossing van CSP is een toestand die aan alle constraints van CSP voldoet; een partiële oplossing is een partiële toestand die geen enkele constraint van CSP schendt. s = ( = blauw, = groen, = groen) de partiële toestand s is een partiële oplossing van het probleem; de partiële toestand s heeft een uitbreiding die een oplossing is voor het probleem: ( = blauw, = groen, = groen, = rood, = blauw, = blauw, = groen). Zoekalgoritmen: CSP Inleiding en definities 290 / 297 Zoekalgoritmen: CSP Inleiding en definities 291 / 297 Nog een voorbeeld Een CSP als zoekprobleem s = ( = blauw, = groen, = rood) de partiële toestand s is een partiële oplossing van het probleem; de partiële toestand s heeft echter geen uitbreiding die een oplossing is van het probleem. Een constraint satisfaction probleem CSP kan als een zoekprobleem worden geformuleerd: de toestandsruimte van het zoekprobleem is de verzameling van alle (partiële) toestanden van CSP; de begintoestand van het zoekprobleem is de nultoestand van CSP; een doeltoestand van het zoekprobleem is een oplossing van CSP; de operator van het zoekprobleem is het uitbreiden van een partiële toestand door een waarde aan een nog ongeïnstantieerde variabele toe te kennen. Zoekalgoritmen: CSP Inleiding en definities 292 / 297 Zoekalgoritmen: CSP Inleiding en definities 293 / 297

Chronologische backtracking kleuringsprobleem: Met backtracking wordt de volgende zoekboom dynamisch gegenereerd: ( ) (V1=blauw) V2=blauw) V2=blauw, V3=blauw) Chronologische backtracking is een variant van backtracking. De overeenkomst is: de zoekboom wordt dynamisch gegenereerd door knopen in een depth-first volgorde te expanderen. Het belangrijkste verschil is: een knoop wordt alleen geëxpandeerd als deze een (partiële) oplossing van het probleem is. Chronologische backtracking is daardoor alleen geschikt voor constraint satisfaction problemen. V2=blauw, V3=blauw, V4=blauw) Zoekalgoritmen: CSP Inleiding en definities 294 / 297 Zoekalgoritmen: CSP Inleiding en definities 295 / 297 Nogmaals het voorbeeld Thrashing kleuringsprobleem: Met chronologische backtracking wordt de volgende zoekboom dynamisch gegenereerd: V2=blauw) (V1=blauw) V3=blauw) ( ) V2=groen) V3=groen, V4=blauw) V3=groen) V3=groen, V3=groen, V4=groen) V4=rood) Zoekalgoritmen: CSP Inleiding en definities 296 / 297 kleuringsprobleem, maar nu met V D 4 = {blauw, groen} en 3 D i = {blauw, groen, rood}, V 6 i = 1, 2, 3, 5, 6, 7: Chronologische backtracking genereert achtereenvolgens de volgende niet succesvolle partiële toestanden: ({ = blauw, = blauw}) ({ = blauw, = groen, = blauw}) ({ = blauw, = groen, = groen, = blauw}) ({ = blauw, = groen, = groen, = groen}) ({ = blauw, = groen, = rood, = blauw}) ({ = blauw, = groen, = rood, = groen})... Het steeds opnieuw proberen van niet succesvolle combinaties van waardetoekenningen wordt thrashing genoemd. Zoekalgoritmen: CSP Inleiding en definities 297 / 297