13a. Zoekproblemen
2021-03-22
slides.com/jod/pt_13a
Docent: Jo Devriendt
Assistent: Ann Philips
Coördinator: Joost Vennekens
voornaam.achternaam@kuleuven.be
Programmeertechnieken [B-KUL-YI0855]
De Nayer, IIW, E-ICT, 2Ba + schakel, 2020-2021
Programmeertechnieken [B-KUL-YI0855]
De Nayer, IIW, E-ICT, 2Ba + schakel, 2020-2021
Zoekprobleem
- Probleem met een collectie kandidaatoplossingen, en een deelcollectie (finale) oplossingen
- Heel "vage" definitie: je kan veel problemen als een zoekprobleem karakteriseren
- Typische eigenschappen:
- je moet verschillende kandidaten testen om aan een oplossing te raken
- meerdere oplossingen zijn mogelijk
- soms ook een optimaliteits-criterium
Programmeertechnieken [B-KUL-YI0855]
De Nayer, IIW, E-ICT, 2Ba + schakel, 2020-2021
Toy example
Mini-sudoku: vul in onderstaand rooster de getallen "1" en "0" in zodat elke rij en kolom elk getal exact 1 keer bevat
1 | 1 |
0 | 1 |
-
Kandidaten: alle mogelijk manieren om 0 en 1 in te vullen, bvb:
- Twee oplossingen:
1 | 0 |
0 | 1 |
0 | 1 |
1 | 0 |
Programmeertechnieken [B-KUL-YI0855]
De Nayer, IIW, E-ICT, 2Ba + schakel, 2020-2021
Klassiek voorbeeld
NQueens: Op een N x N schaakbord, vul N koninginnen in die elkaar niet mogen aanvallen (staan niet op dezelfde rij, kolom of diagonaal)
https://en.wikipedia.org/wiki/Eight_queens_puzzle
- Kandidaten: alle mogelijke plaatsingen van N koninginnen op het bord
- 92 oplossingen voor N=8
Programmeertechnieken [B-KUL-YI0855]
De Nayer, IIW, E-ICT, 2Ba + schakel, 2020-2021
Complex voorbeeld
Robot: gegeven een N x N rooster, bereken een pad voor een robot van het vakje linksboven naar rechtsonder dat niet door muurtjes # gaat, en dat een minimale afstand heeft (gedefinieerd als de som van de getallen op de vakjes op het pad) ten opzichte van alle andere paden
1 | 1 | 1 | 1 | 1 |
5 | # | # | # | 1 |
1 | 2 | 1 | 1 | 1 |
1 | 3 | 10 | # | # |
1 | 15 | 1 | 1 | 1 |
- Kandidaten: sequenties van vakjes, beginnend linksboven en eindigend rechtsonder
- Oplossingen: opeenvolgingen van vakjes die niet door muurtjes gaan
- Optimaliteit: oplossing met de kortste totale afstand
Programmeertechnieken [B-KUL-YI0855]
De Nayer, IIW, E-ICT, 2Ba + schakel, 2020-2021
Samenvatting
- Zoekprobleem wordt gekarakteriseerd door een collectie kandidaatoplossingen, en een deelcollectie (finale) oplossingen, potentieel met een optimaliteitscriterium
- NQueens is een klassiek voorbeeld
- Mini-sudoku en Robot gebruiken we in de rest van de presentaties van dit hoofdstuk
13a. Zoekproblemen
By Jo Devriendt
13a. Zoekproblemen
- 669