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