230 likes | 421 Views
Heuristieken – kennisbits 1. Guszti Eiben. I can't find an efficient algorithm, I guess I'm just too dumb. I can't find an efficient algorithm, because no such algorithm is possible. I can't find an efficient algorithm, but neither can all these famous people. Onderwerpen. Problemen
E N D
Heuristieken – kennisbits 1 Guszti Eiben
I can't find an efficient algorithm, I guess I'm just too dumb. I can't find an efficient algorithm, because no such algorithm is possible. I can't find an efficient algorithm, but neither can all these famous people.
Onderwerpen • Problemen • Oplossingsmethodes • Applicaties • Evalueren en vergelijken van oplossings-methodes • Statistieken • Experimenteren • Rapporteren
Goed of fout ? (#1) • Waarom? • Hoe goed / fout?
Goed of fout ? (#2) • Waarom? • Hoe goed / fout?
Goed of fout ? (#3) • Waarom? • Hoe goed / fout?
Algemeen vs. specifiek • Algemeen: N > 1 koninginnen • Specifiek: N = 8 • Eigenschap “grootte” is voldoende specifiek • Tegeltjes probleem? • Vliegtuig probleem? • Probleem ≠ probleem instantie
Wat is de (een) oplossing? • 8-konninginnen • Configuratie van koninginnen • Mokum Air • Dienstregeling • Tegels • Configuratie van tegels • Algoritme
Wat is de (een) oplossing? • Freecell • Configuratie van kaarten ? • Reeks stappen (kaartverplaatsingen) • Algoritme
Een oplossing is … Afhankelijk van de probleemformulering: • Een object • Een traject (tussen objecten) • Een algoritme om objecten / trajecten te vinden Vraag: • Zijn er goede / slechte oplossingen? • Zijn er betere / slechtere oplossingen? • Waar hang dat vanaf? • Hoe meten we dat?
Algoritme • Algoritme generaliseert de zoektocht naar een object of traject. • Niet oplossing voor een probleeminstantie, maar voor een hele klasse van problemen. • Herbruikbaar • Vraag: wat is een “algoritme” ?
Representatie • (3, 14, 24, 25, 36, 47, 53, 58) • (5, 1, 8, 4, 2, 7, 3, 6) • Zijn er goede / slechte representaties? • Waar hangt dat vanaf?
Probleem, oplossing, oplosser • Probleem, probleem instantie versus • Oplossingsmethode, algoritme • Oplossing (≠ representatie) • Representatie: hoort bij probleem of algoritme? • Vraag: heuristiek = algoritme?
Gevraagde oplossingen bij dit vak Volgens de presentaties van de opdrachten • Mokum Air: “Stel een dienstregeling op voor … ” • Amstelhaege: “Lever twee plattegronden af …” • Tegels: “Verzin een algoritme om …” • Free cell: “Maak een solver die ...”
Waarom is het oplossen moeilijk? • Probleem nieuw • Probleem onoverzichtelijk • Niet helder gespecificeerd • Helder maar complex (complicated?) • Probleem instantie te groot (grootte = ?)
8 koninginnen oplossen versie 1.a • Methode: • Koninginnen één voor één • Positiekeuze: eerste de beste • Bij vastlopen backtracken
8 koninginnen oplossen versie 1.b • Methode: • Koninginnen één voor één • Positiekeuze: bezet zo min mogelijk vrije velden • Bij vastlopen backtracken
Effect van strategie Eerste de beste Bezet zo min mogelijk
Dit algoritme • Gericht op uitbreiding (vanaf leeg, één voor één) – constructive method • Recursief geprogrammeerd (?) • Heuristiek: verminder kans op backtracks • Oplossingstraject via correcte maar onvolledige configuraties
8 koninginnen oplossen versie 2 • Methode: • Alle koninginnen tegelijk • Verminder fouten door • Kies koningin met de meeste conflicten • Verplaats die naar het beste vak in dezelfde rij • “beste vak”= met de minste conflicten • Bij vastlopen: random verplaatsing
8 koninginnen oplossen versie 2 1 2 3 4 5 6
Dit algoritme • Gericht op verbetering(iterative improvement method) • Heuristiek: maximaliseer verbetering via “educated guess” • Oplossingstraject via volledige maar incorrecte configuraties