1 / 30

Heuristieken – kennisbits 2

Heuristieken – kennisbits 2. Guszti Eiben. 8 koninginnen oplossen versie 3. Methode: Alle koninginnen tegelijk Verbeter configuratie door Maak K > 1 nieuwe configuraties door een paar random veranderingen (“mutaties”) Gooi de slechtste K- 1 “mutanten” weg Itereer. Dit algoritme.

damon
Download Presentation

Heuristieken – kennisbits 2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Heuristieken – kennisbits 2 Guszti Eiben

  2. 8 koninginnen oplossen versie 3 • Methode: • Alle koninginnen tegelijk • Verbeter configuratie door • Maak K > 1 nieuwe configuraties door een paar random veranderingen (“mutaties”) • Gooi de slechtste K- 1 “mutanten” weg • Itereer

  3. Dit algoritme • Gericht op verbetering(iterative improvement method) • Heuristiek: maximaliseer verbetering via blinde “mutatie” en kwaliteitgestuurde selectie • Oplossingstraject via volledige maar incorrecte configuraties

  4. “Definitie” van heuristiek • Leer van het vinden, de wetenschap die langs methodische weg tot oplossingen leert komen. • De kunst om door logisch redeneren stap voor stap tot een bepaalde waarheid te komen. • Leer van het methodisch zoeken, gebruikmakend van een bepaald aantal vuistregels in een acceptabele rekentijd. Het resultaat is bruikbaar in de praktijk, maar niet altijd optimaal. • Heuristics rapidly come to a solution that is hoped to be close to the best possible answer. Heuristics are "rules of thumb", educated guesses, intuitive judgments or simply common sense. Welke heuristieken waren er in de voorbeelden?

  5. Oplossingmethoden • Constructive vs. iterative improvement • Zoeken via • Correct maar onvolledig • Volledig maar incorrect kandidaat-oplossingen • Deterministische vs. stochastische methoden • Heuristische methode ≠ stochastische methode • Manieren, maten om onvolledigheid, incorrectheid te meten  heuristiek sturen

  6. Concepten bij probleem- definities • Concept 1: constraints, beperkingen, eisen, voorwaarden, … zijn Boolean: waar of onwaar • Voorbeeld 1: N koninginnen probleem • Één constraint per tweetal koninginnen: niet slaan • N * (N-1) / 2 constraints in totaal (lokaal – globaal) • Voorbeeld 2: graafkleuringsprobleem • Één constraint per edge: nodes met andere kleuren • # constraints in totaal = # edges (lokaal – globaal) • Praktijk: hard constraints vs. soft constraints

  7. Concepten bij probleem- definities • Concept 2: optimalisatie-criterium, doelfunctie, kwaliteitsfunctie, … heeft een schaal (“graded”) • Voorbeeld 1: • Voorbeeld 2: lengte vd route bij handelsreiziger • Er kunnen meer optimalisatie-criteria zijn, bij voorbeeld: prijs, kwaliteit, energieverbruik, looks

  8. Probleemtypes

  9. Probleemtypes

  10. Probleemtypes

  11. Probleemtypes

  12. Probleemtypes & oplossingen FOP = Free Optimization Problem: (S, . , f) • Oplossing: s S zdd f (s) is optimaal in S CSP = Constraint Satisfaction Problem: (S, Φ, . ) • Oplossing: s  S zdd Φ(s) = true COP = Constrained Optimization Problem: (S, Φ, f ) • Oplossing: s  S zdd • Φ(s) = true en • f(s) is optimaal in SΦ (SΦ = {s  S | Φ (s) = true} )

  13. Constraints ↔ optimalisatiecriteria Neem het 8 koninginnen probleem: • Strafpunten voor een koningin q: s(q) = # koninginnen die zij kan slaan • Foute koningin: q is fout als s(q) > 0 • Kwaliteit van een configuratie c : • Q1(c) = som van strafpunten voor alle koninginnen • Q2(c) = aantal foute koninginnen • Voor beide geldt: • Qi(c) = 0  alle constraints OK, dus oplossing • Qi minimaliseren = aantal fouten reduceren • Constraint satisfaction via optimalisatie

  14. Constraint satisfaction via optimalisatie

  15. COP voorbeeld: Handelsreiziger • Gegeven N steden, incl. “thuis” vind de route die • A: Alle steden één keer aandoet • B: Terugkeert naar “thuis” • C: Minmaal is qua lengte / tijd / benzineverbruik … • A en B zijn constraints • C is een doelfunctie Alle routes van lengte N Alle “A routes” van lengte N Alle “B routes” van lengte N

  16. Eenmalige applicaties Voorbeeld: Optimaliseren van wegennetwerk rondom een nieuw vliegveld • Totale kosten: 100en miljoenen euro’s, rekenkosten verwaarloosbaar in vergelijking • De taak is eenmalig • Veel tijd om algoritme te runnen (meerdere runs) • Moet maar één keer een superieure oplossing vinden

  17. Terugkerende applicaties Voorbeeld: Optimaliseren van Internet shopping bezorg-routes • Iedere dag verschillende adressen • Toch min of meer dezelfde taak • Beperkte tijd om algoritme te runnen • Moet altijd een redelijke oplossing binnen redelijke tijd vinden

  18. Real-time applicaties Voorbeeld: Optimaliseren van groentijden van verkeerslichten • Steeds verschillende toevoer van auto’s • Toch min of meer dezelfde taak • Beperkte tijd om algoritme te runnen • Moet altijd een redelijke oplossing binnen een zéér korte tijd vinden • Special case van terugkerende applicaties?

  19. Applicaties en algoritmen • Type applicatie bepaalt • de eisen jegens een oplossing en • de eisen jegens de oplossingsmethode • Uitspraken over oplossingsmethodes moeten rekening houden met de applicatie • B.v., voorkeur voor een bepaalde methode verschilt per applicatie

  20. Welk stochastisch algoritme is beter? Waarom?

  21. Algoritmen vergelijken • Theorie vs. praktijk (bewijs vs. empirische data) • Belangrijkste dimensies: • Kwaliteit van de oplossing • Hoeveelheid rekenwerk – inspanning, snelheid • Robuustheid • Verbanden tussen dimensies • Fix (max) hoeveelheid werk, meet kwaliteit • Fix (min) kwaliteit, meet hoeveelheid werk • Fix beide, meet succes (ja of nee)

  22. Hoeveelheid werk vs. kwalitiet Algoritme A Algoritme B Kwaliteit van de oplossing Hoeveelheid werk (tijd, # stappen, …) NB Dit is de zgn “anytime behaviour”

  23. Hoeveelheid rekenwerk meten • Afhankelijk van fysieke opstelling • “Echte” tijd (wall clock time) • Computer tijd, CPU time, user time • Onafhankelijk van fysieke opstelling • Aantal rekenstappen • Aantal pogingen • Aantal punten bekeken in de zoekruimte • Appels met peren vergelijken • Scale-up

  24. Scale-up vergelijking Welk algoritme is beter? Waarom?

  25. Testproblemen • Gedrag van het algoritme hangt af van de probleeminstantie • Beoordeling van het algoritme hangt af van het gedrag  hangt af van de probleeminstantie • Test suite: collectie van probleeminstanties gebruikt om een algoritme te beoordelen • Opties: probleeminstanties • uit de echte praktijk • academische collecties (internet) • uit problem instance generators • uit eigen makelij

  26. Experimenteren • Vergelijkend vs. beschrijvend • Doelen en/of vragen • Factoren om te bestuderen / te negeren • Design (opstelling, ontwerp) vd experimenten, incl. • Wat & hoe vast te leggen, variëren • Wat & hoe te meten • Test problemen (instanties) • Rapporteren !

  27. NP en zo … Probleem X hoort bij de klasse • P:  alg. dat X oplost in polynomiale tijd • NP: •  alg. dat X oplost & •  alg. dat oplossingen van X verifieert in polyn. tijd • NP-complete: • hoort bij NP & • elk probleem Y in NP kan getransformeerd worden naar X in polynomiale tijd • NP-hard: elk probleem Y in NP kan getransformeerd worden naar X

  28. GROTE VRAAG P = NP ?

  29. NP-complete P NP NP-hard

  30. P = NP = NP-complete NP-hard

More Related