SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Downloaden Sie, um offline zu lesen
Zufallsgesteuerte Algorithmen,
       g            g        ,
    der Natur abgeschaut

                      Roland Mittermeir
                Institut für Informatik Systeme
                             Informatik-Systeme
                     Universität Klagenfurt




Gliederung
• Algorithmische Komplexität und NP-vollständige
  Probleme
• Optimal oder gut genug –
               Heuristiken und Metaheuristiken
• Swarm Intelligence und Stigmerie
• Kooperationsstrategien von Ameisen
• Wie künstliche Ameisen das Traveling Salesman
  Problem lösen


R. Mittermeir                 -2-                          © Mittermeir
                                                  Universität Klagenfurt




                             Seite 1
Algorithmische Komplexität
Frage:
  Wie lange dauert es im schlechtesten Fall, bis dieser
  Algorithmus das Ergebnis berechnet hat?


Antwort:
         • Das hängt von der Anzahl n der zu verarbeitenden
           Daten ab!
         • Das hängt davon ab, wie oft der Algorithmus ein
           einzelnes Datum „anschauen“ muss.
                          ⇒ Dauer ist eine Funktion von n.


R. Mittermeir                                 -3-                                       © Mittermeir
                                                                               Universität Klagenfurt




Komplexitätsklassen
• Die (maximale) Bearbeitungsdauer ist durch ein Polynom in n beschreibbar.
            ⇒ Polynomielle Komplexität:
                           C = a*nk + b*nk-1 + … + c*n2 + d*n1 + e
                         ⇒ O(f(n)) = O(nk)


• Behandelbare Probleme (tractable problems) haben niedere polynomielle
  Komplexität
         z.B.: kürzeste Wege … O(n2),     Bubblesort … O(n2),    Quicksort … (O(n*ld n)


• Ni ht b h d lb
  Nicht-behandelbare P bl
                     Probleme (i t t bl problems) h b exponentielle
                              (intractable bl   ) haben      ti ll
  Komplexität.
                         . C = O(constn)
                z.B.: Traveling Salesman… O(n!),    Teilmengensumme (Rucksackproblem)… O(2i),


R. Mittermeir                                 -4-                                       © Mittermeir
                                                                               Universität Klagenfurt




                                            Seite 2
Besichtigungs-Rundreise
Sie wollen Ihrem Gast die Sehenswürdigkeiten Kärntens zeigen.


Dabei wollen Sie
         – nichts auslassen,
         – nichts doppelt besuchen,
         – insgesamt möglichst wenig Zeit für die Reise zwischen den einzelnen
           Sehenswürdigkeiten vergeuden.


 In welcher Reihenfolge sollten Sie Kärntens Highlights besuchen?




R. Mittermeir                          -5-                                     © Mittermeir
                                                                      Universität Klagenfurt




R. Mittermeir                          -6-                                     © Mittermeir
                                                                      Universität Klagenfurt




                                      Seite 3
Metnitz
           Heiligenblut
                                                                                                                               Friesach
                                   Obervellach


                                                                                                                 Gurk                                                Wolfs
                                                                                                                                                                     berg
                                                           Spittal                       Kleinkirchheim
Lienz
                                                                       Millstatt
                                                                       Mill t tt                                                     Hochosterwitz.
                                                                                                                                     Hochosterwitz
                                   Greifenburg
                                                                                                                                                                        St.
                                          Weissensee                                                                                                                   Paul
    M-Luggau
                                                                                                       Ossiach


                                                Hermagor                                    Villach
                                                                                                                        Klagenfurt                                 Bleiburg
                                                                      Nötsch
                                                                                                 Faak


                                                                                                                                              B.Eisenkappel




             R. Mittermeir                                                         -7-                                                           © Mittermeir
                                                                                                                                        Universität Klagenfurt




             Ein Netz von Straßen
                                                                                                                    Metnitz
         Heiligenblut
                                                                                                                               Friesach
                                  Obervellach

                                                                                                                                                                 Wolfsberg

                                                                                                                 Gurk
                                                           Spittal                       Kleinkirchh
 Lienz
                                                                      Millstatt                                                       Hochosterw.
                                       Greifenburg
                                                                                                                                                                      St.
                          Weissensee
    M-Luggau                                                                                                                                                         Paul
                                                                                                       Ossiach
                                              Hermagor
                                                                                            Villach                     Klagenfurt                                 Bleiburg
                                                                     Nötsch
                                                                                              Faak
                                                                                                                                            Eisenkappel




             R. Mittermeir                                                         -8-                                                           © Mittermeir
                                                                                                                                        Universität Klagenfurt




                                                                               Seite 4
Reisedauer in Viertelstunden

    Heiligenblut                                                                                                                           Metnitz
                        4                                                                                                                              Friesach
                                     O.Vell                                                                                                    1
                                                                                                                                    3
    2                                             3                                                                                                                                      Wolfsberg
                                                                                                                 6                        2
                                                            Spittal
                                                                                                                                        Gurk                                  5
                                                                                  2              Kleinkirchheim
                                                                                                                                                         1
Lienz                                         3                    2                                                                           3
                                                                           Millstatt                                                                           Hochosterw.
                    4                                                                                                                                                                       2
2                                     Greifenburg
                                                                                                     4           5                  6
                                 1                                     2                                                  3                                                                     St.
    M-Luggau                Weissensee                                                4                                         7                  3                                           Paul
                                      2                          10                                                  Ossiach
                        6                     Hermagor                                                                                                                            3        2
                                                                                                             2              6                                      6
                                                                                                     Villach                                   Klagenfurt
                                                        2                              1                 1                                                                               Bleiburg
                                                                       Nötsch                                                   7                                               2
                                                                                       2                 Faak
                                                                                                                                                     5
                                                                                                                                9
                                                                                                                                                                  Eisenkappel




          Graph mit 22 Knoten (Städten) … 22! Wege wären zu berechnen!
                                         ~ 1,124 * 1021 Wege
           R. Mittermeir                                                                   -9-                                                                           © Mittermeir
                                                                                                                                                                Universität Klagenfurt




           Zentralkärnten
                                                                                                                                Metnitz
                                                                                                                                           1
                                                                                                                                                         Friesach
                                                                                                                            3
                                                                                                                     Gurk           2
                                                                                       6                                                                   1
          Spittal
                                              2                 Kleinkirchheim                                                  4
                        2
                                  Millstatt                                                                                               3                     Hochosterwitz

                                                                       4                   5
                            2                                                                            3             6
                                                  4                                                                                                  3
                                                                                                                            7
                                                                                          Ossiach
                                                                              2
                                                                                                             6
                                                      Villach                                                                           Klagenfurt
                                                                                                 2
                                                                  1                                                   7
                                                                                                                                                       5

                                                                       Faak
                                                                                                                          9
        Graph mit 12 Knoten (Städten) … „nur mehr 12! Wege zu berechnen
                                                                                = 479.001.600 Wege                                                                        Eisenkappel
           R. Mittermeir                                                                   - 10 -                                                                        © Mittermeir
                                                                                                                                                                Universität Klagenfurt




                                                                                      Seite 5
Mögliche Besichtigungsfolgen
Rundreise: (Kl, .. Liste aller anderen Städte .. , Kl)                                                      Dauer:

(Kl, Vi, Fa, Ei,
(Kl Vi Fa Ei ---                       )                                                                    bleibe stecken


(Kl, Ho, Fr, Gu, Kk, … )                                                                                    ?? Metnitz verpasst !!


(Kl, Os, Ho, Fr, Me, Gu, Kk, Mi, Sp, Vi, Fa, Ei, Kl)
     6 + 6 + 1 + 1 + 3 + 6 + 2 + 2 + 2 +1 + 9 + 5                                                       Dauer: 44
(Kl, Ho, Fr, Me, Gu, Os, Kk, Mi, Sp, Vi, Fa, Ei, Kl)
    3 +1+1+3 +3+4+2+2+2+1+9+5                                                                               Dauer: 36
(Kl, Ei, Fa, Vi, Sp, Mi, Kk, Os, Gu, Me, Fr, Ho, Kl)
    5 +9+1+2+2+2+4+3+ 3+1+1+3                                                                               Dauer: 36

R. Mittermeir                                                   - 11 -                                                             © Mittermeir
                                                                                                                          Universität Klagenfurt




verbotene Kanten/Wege                                                                                        1000

                                                                                              Metnitz

Ergänzter Graph:                                                                                        1
                                                                                                                      Friesach
                                                                                          3
                                                                                   Gurk          2
Spittal                                                        6
                                                                                                                  1
                                              Kleinkirchheim                                    4
                2
                                2                                                                       3
                    Millstatt                                                                                              Hochosterwitz

                                                    4              5
                2                                                          3
                                                                                          6
                                4                                                                              3
                                                                                          7
                                                                Ossiach
                                                         2
                                                                               6
                                    Villach                                                          Klagenfurt
                                                                       2
                                                1                                         7
                                                                                                                  5
                                                  Faak

                                                                                          9                                             Eisenkappl

R. Mittermeir                                                   - 12 -                                                             © Mittermeir
                                                                                                                          Universität Klagenfurt




                                                               Seite 6
Kürzester Rundweg (Kreis)
•      Initialisiere
         – bilde Liste aller Sehenswürdigkeiten
         – berechne die Reisedauer, nimm an sie sei die Kleinste
•      Verbessere
         – berechne Permutation der Sehenswürdigkeitenliste
         – berechne zugehörige Reisedauer
         – ist diese kleiner als die bisher berechnete (kleinste) Reisedauer
           dann
                * merke Dir die Reihenfolge der eben berechneten Sehenswürdigkeitenliste
                * merke Dir die zugehörige Reisedauer

      solange bis alle Permutationen durchprobiert sind!
               Liefert mit Sicherheit die optimale Lösung!
       Aber das dauert noch immer zu lang! (12*11*10*…*3*2*1 Durchläufe).
R. Mittermeir                                - 13 -                                     © Mittermeir
                                                                               Universität Klagenfurt




Systematische Vorgangsweise
Permutiere (L, anf, end)
 von i := anf bis end mache:
    tausche (L[anf], L[i]);
    wenn anf < end
                 dann
                       Permutiere(L, anf+1, end)
                 sonst
                       gib aktuelle Lösung aus;
    tausche(L[i], L[anf])
    tausche(L[i] L[anf]).

Aufruf mit Permutiere (Sehenswürdigkeitenliste, 1, 12)
                                           Prüfe auf Zulässigkeit der Lösung
R. Mittermeir                                - 14 -                                     © Mittermeir
                                                                               Universität Klagenfurt




                                           Seite 7
Permutiere ([ A, B, C, D]; 1, 4)
anf i           A B C D
1 1             a B C D
                  permutiere([B, C, D]; 2, 4)
                          anf i         B C D
                          2     2     b C D
                                           permutiere [C, D]; 3, 4)
                                                   anf i         B C D
                                                   3     3          c D
                                                                     permutiere [D]; 4, 4)   A B C D
                                                   3     4          d c
                                                                     permutiere [C]; 4, 4)   A B D C
                          2     3     c b D
                                           permutiere [b, D]; 3, 4)
                                                   3    3           b D
                                                                     permutiere [D]; 4, 4)   A C B D
                                                   3     4          d b
                                                                     permutiere [C]; 4, 4)   A C D B
                          2     4     d C b
                                           permutiere [C, b]; 3, 4)
                                                   3    3           C b
                                                                     permutiere [b]; 4, 4)   A D C B
                                                   3     4          b c
                                                                     permutiere [C]; 4 4)
                                                                                     4,      A D B C
1    2          b a C D
                  permutiere([a, C, D]; 2, 4)
                  …
1    3          c B a D
                  permutiere([B, a, D]; 2, 4)
                  …
1    4          d B C d
                  permutiere([a, C, D]; 2, 4)
                  …
Aufwand: 2 => 2; 3 => 3x2 = 6; 4 => 4x(3x2) = 4x6 = 24; …; 100 => 100x99x .. x 2 = 100 !                also n!
R. Mittermeir                                                 - 15 -                                            © Mittermeir
                                                                                                       Universität Klagenfurt




                           Heuristischer Ansatz




                                                            Seite 8
Heuristiken

• Da intractable problems bei entsprechender Größenordnung
      in
      i vernünftiger Z it nicht exakt lö b sind, b
            ü fti    Zeit i ht     kt lösbar i d begnügt man sich
                                                     ü t      i h
      mit Näherungslösungen (Approximationsalgorithmen,
      Heuristiken).


• Diese liefern in der Regel Ergebnisse in der Nähe der
  optimalen Lösung.
          – Unklar, ob das berechnete Ergebnis tatsächlich optimal ist.
          – Unbekannt, wie weit das berechnete Ergebnis vom Optimum abweicht.

R. Mittermeir                                                       - 17 -                                                        © Mittermeir
                                                                                                                         Universität Klagenfurt




Minimaler spannender Baum 1
                                                                                                  Metnitz
                                                                                                            1
                                                                                                                    Friesach
                                                                                              3
                                                                                       Gurk           2
Spittal
S itt l
                                                                   6
                                                                                                                    1
                                2                 Kleinkirchheim                                  4
           2
                    Millstatt                                                                               3           Hochosterwitz

                                                        4              5
                2                                                              3
                                                                                        6
                                    4                                                                           3
                                                                                              7
                                                                    Ossiach
                                                             2

                                                                                   6
                                        Villach                                                       Klagenfurt
                                                                           2
                                                    1                                  7
                                                                                                                    5

                                                         Faak
                                                                                              9                                      Eisenkappel


R. Mittermeir                                                       - 18 -                                                        © Mittermeir
                                                                                                                         Universität Klagenfurt




                                                                   Seite 9
Minimaler spannender Baum 1,2
                                                                                                              Metnitz
                                                                                                                        1
                                                                                                                                    Friesach
                                                                                                          3
                                                                                                 Gurk             2
     Spittal
     S itt l
                                                                         6
                                                                                                                                   1
                                     2                 Kleinkirchheim                                         4
                2
                         Millstatt                                                                                      3              Hochosterwitz

                                                             4               5
                     2                                                               3
                                                                                                  6
                                         4                                                                                   3
                                                                                                          7
                                                                         Ossiach
                                                                  2

                                                                                             6
                                             Villach                                                              Klagenfurt
                                                                                 2
                                                         1                                       7
                                                                                                                                   5

                                                              Faak
                                                                                                        9                                            Eisenkappel


     R. Mittermeir                                                       - 19 -                                                                   © Mittermeir
                                                                                                                                         Universität Klagenfurt




     Minimaler spannender Baum 1,2,3,++
                                                                                                              Metnitz
                                                                                                                        1
                                                                                                                                   Friesach
                                                                                                          3
                                                                                                 Gurk             2
                                                                         6
     Spittal                                                                                                                       1
                                     2                 Kleinkirchheim                                         4
                2
                         Millstatt                                                                                      3              Hochosterwitz

                                                             4               5
                     2                                                                   3              6
                                         4                                                                                   3
                                                                                                          7
                                                                         Ossiach
                                                                  2

                                                                                             6
                                             Villach                                                                  Klagenfurt
                                                                                 2
                                                         1                                            7
                                                                                                                                   5

                                     Faak
Gewicht:                                                                                                9                                             Eisenkappel
  ((((1)+2+2+2)+2)+2)+3+5)+(2+(1+1)) = 23
     R. Mittermeir                                                       - 20 -                                                                   © Mittermeir
                                                                                                                                         Universität Klagenfurt




                                                                        Seite 10
Minimaler Weg über
     minimalem spannendem Baum
                                                                                                        Metnitz
                                                                                                                  1
                                                                                                                             Friesach
                                                                                                    3
                                                                                             Gurk           2
                                                                         6
     Spittal                                                                                                                 1
                                     2                 Kleinkirchheim                                   4
                2
                         Millstatt                                                                                3              Hochosterwitz

                                                             4               5
                     2                                                               3              6
                                         4
                                                                                                    7                  3
                                                                         Ossiach
                                                                  2

                                                                                         6
                                             Villach                                                            Klagenfurt
                                                                                 2
                                                         1
                                                                                              7                              5

                                                          Faak
Gewicht:                                                           9                                                                           Eisenkappel
((((1)+2+2+2)+2)+2)+3+5)+(2+(1+1)) = 23 - (2+2+2) + (4+9+3)+3 = 36
     R. Mittermeir                                                       - 21 -                                                            © Mittermeir
                                                                                                                                  Universität Klagenfurt




                                              Metaheuristiken




                                                                        Seite 11
Metaheuristiken

• Eine Metaheuristik ist ein Satz algorithmischer Konzepte,
      der
      d verwendet werden k
              d t    d kann, um H i tik
                                Heuristiken, di auf ein
                                             die f i
      breites Problemfeld anwendbar sind, zu definieren.



• Durch Parametrisierung wird das metaheuristische
      Konzept für konkrete Problemlösungen zugeschnitten.




R. Mittermeir                 - 23 -                           © Mittermeir
                                                      Universität Klagenfurt




Von Natur inspirierte Metaheuristiken

• Genetische Algorithmen

• Evolutionary Programming

• Simulated Annealing



• Bakteriologische Algorithmen

• Bienenstock-Algorithmen

• Ant Systems / Ant Colony Systems
R. Mittermeir                 - 24 -                           © Mittermeir
                                                      Universität Klagenfurt




                             Seite 12
Wie lösen Ameisen
         das Problem „kurze Reisen“?




Futtersuche von Ameisen
Deneubourg‘s 1. Brückenexperiment mit Iridomyrex humilis:
 [1987 – 1990]

          Futter




                   • Auf welchem der beiden Wege
                     wird sich eine Ameisenstraße bilden?

                   • Warum bildet sie sich?
        Bau


R. Mittermeir                 - 26 -                          © Mittermeir
                                                     Universität Klagenfurt




                            Seite 13
Futtersuche von Ameisen
Deneubourg‘s Brückenexperiment mit Lasius Niger:
       Futter         4 min     Futter              8 min   Futter




        Bau                     Bau                         Bau
R. Mittermeir                     - 27 -                                 © Mittermeir
                                                                Universität Klagenfurt




Der Ameisen-Trick:
Kommunikation über Stigmerie
• Duftstoff Pheromon markiert die eigene Spur.
• Rasch gefundenes Futter ⇒ rasch am (eigenen !) Rückweg.
• Dies verstärkt die Pheromonspur.


• Dies lockt andere Ameisen an, der schon markierten Spur zu folgen.
• Auf verlassenen Spuren verdunstet das Pheromon mit der Zeit.
ABER
• Eine Futterstelle ist ja irgendwann erschöpft
             (oder vielleicht gibt es noch eine nähere/bessere):
• Daher wird nicht strikt der stärksten Pheromonspur gefolgt,
            sondern auch zufällig andere Wege erprobt.


R. Mittermeir                     - 28 -                                 © Mittermeir
                                                                Universität Klagenfurt




                               Seite 14
Algorithmische Simulation des
         Verhaltens von Ameisen




Simulation des
Deneubourg Experiments
            Futter   Wahrscheinlichkeit pkurz bzw. plang
                     dass Ameise a
                     zum Zeitpunkt t
                               p
                     den kurzen bzw. langen Weg wählt,
                     hängt von der aktuellen Pheromon-Intensität
                     PhIa,w(t) ab:


                     pa,kurz(t) = PhIv,kurz(t)α / (PhIa,kurz(t)α + PhIa,lang(t)α )

       pk
        kurz plang
                     pa,lang(t) = PhIa,lang(t)α / (PhIa,kurz(t)α + PhIa,lang(t)α )


          Bau
                     Pheromon-Ablagerung auf Hin- und Rückweg!

R. Mittermeir                - 30 -                                        © Mittermeir
                                                                  Universität Klagenfurt




                          Seite 15
Problemlösungsprinzip
• Verstehe das Problemlösungsverhalten des biologischen Systems
• Baue ein entsprechendes mathematisches/algorithmisches Modell
• Prüfe, ob dieses das biologische System darstellen kann


• Wende das so erlernte Problemlösungsverhalten auf klassisch schwer
  lösbare Probleme an
• Verbessere diese
         – durch geeignete Parameter-Wahl
         – durch Variation von Details der Problemlösungsstrategie
         – durch algorithmische Optimierung

      Dies kann zu einer Entfremdung von der biologischen Analogie führen.

R. Mittermeir                            - 31 -                                 © Mittermeir
                                                                       Universität Klagenfurt




Anwendung: Rundreiseproblem
• Modelliere Städte und Verbindungen dazwischen als Graph
• Stelle Städte-Graph als Distanzmatrix D(i,j) dar
• Platziere Ameisen in Ausgangsstädten
• Belege Graphen mit einer Ausgangsmenge von Pheromon t0
• Lass Ameisen laufen:
       Diese wählen die noch nicht besuchte nächste Stadt nach
         – Pheromonkonzentration auf der Wegstrecke dorthin ti,j und
         – „Erfolgserwartung eines kurzen Weges hii,jj
            Erfolgserwartung“
         – unter Berücksichtigung grundsätzlicher Randbedingung Ω aus.
• Sichere, dass
         – keine Kreise begangen werden,
         – Pheromon entsprechend der Nutzung und Güte der Wege aktualisiert wird.
R. Mittermeir                            - 32 -                                 © Mittermeir
                                                                       Universität Klagenfurt




                                      Seite 16
Matrix d. Distanzen zw. Städten
                          j           1           2           3           4           5           6           7           8           9          10           11          12

   i     Städte               Fa          Fr          Gu          Ho          Kl          Kk          Me          Mi          Ob          Os          Sp           Vi

   1     Faak                         0        1000        1000        1000          7         1000        1000        1000          9         1000        1000           1

   2     Friesach                  1000           0          2           1           3         1000          1         1000        1000        1000        1000         1000

   3     Gurk                      1000          2            0        1000        1000          6           3         1000        1000          3         1000           5

   4     Hochosterwitz             1000          1         1000           0          3         1000        1000        1000        1000          6         1000           7

   5     Klagenfurt                  7           3         1000          3            0        1000        1000        1000          5           6         1000           2

   6     Kleinkirchheim            1000        1000          6         1000        1000           0        1000          2         1000          4         1000         1000

   7     Metnitz                   1000          1           3         1000        1000        1000           0        1000        1000        1000        1000         1000

   8     Millstatt                 1000        1000        1000        1000        1000          2         1000           0        1000        1000            2          4

   9     Obirhöhle                   9         1000        1000        1000          5         1000        1000        1000           0        1000        1000         1000

  10     Ossiach                   1000        1000          3           6           6           4         1000        1000        1000           0        1000           2

  11     Spittal                   1000        1000        1000        1000        1000        1000        1000          2         1000        1000            0          2

  12     Villach                     1         1000          5           7           2         1000        1000          4         1000          2             2           0



R. Mittermeir                                                             - 33 -                                                                                    © Mittermeir
                                                                                                                                                           Universität Klagenfurt




Erstes mathematisches Modell
Grundmodell: AS – Ant System                                                                                                        [Dorigo 1992]
• Rundreiseproblem wird als Suchproblem aufgefaßt.
• Optimierungsziel (Suchziel) des Rundreiseproblems ist Weg mit
  geringsten Kosten C (kürzester Weg) .
• Randbedingung Ω:
   – Alle Sehenswürdigkeiten müssen besucht werden.
   – Letztlich muss man zum Ausgangspunkt zurückkehren.

• Ameisen machen sich auf den Weg, um den kürzesten zu finden.
• Sie wählen in Stadt i die jeweils nächste Stadt j zufällig
   – in Abhängigkeit von Pheromon τij auf den Ausgangswegen
   – und heuristischer Attraktivität ηij.

R. Mittermeir                                                             - 34 -                                                                                    © Mittermeir
                                                                                                                                                           Universität Klagenfurt




                                                                       Seite 17
Umsetzung der Routenoptimierung
  Konstruktionsgraph:
                  Problemgraph, erweitert um „teure“ verbotene Kanten fl vollständiger Graph,
                  Distanzmatrix zwischen Städten

  Randbedingung:
                  Alle Städte müssen besucht werden fl vollständiges Durchwandern,
                  Liste noch zu besuchender Städte oder Tabuliste

  Auswahlhilfe für Ameise:
          ti,j .. Pheromonspur zwischen Knoten (Stadt) i und j
          hi,j .. lokale Attraktivität von Knoten (Stadt) i nach j zu gehen
                             Meist: hi,j = 1/di,j … Kehrwert der Distanz zwischen zwei Städten.

  Lösungsansatz:
       g
          – Jede Ameise wird initial in eine zufällig gewählte Stadt gesetzt.
          – In jedem Verfahrensschritt besucht sie eine von ihr noch nicht besuchte Stadt.
          – Nachdem alle Städte besucht wurden, läuft sie ihren Weg zurück und aktualisiert die
            Pheromonwerte.

  Abbruch des Verfahrens:
                  Wenn sich längere Zeit keine Verbesserungen der besten Lösung mehr ergeben.
 R. Mittermeir                                                     - 35 -                                                        © Mittermeir
                                                                                                                        Universität Klagenfurt




Heuristische Attraktivität ηij
                                                                                              Metnitz
                                                                                                        1/1
                                                                                                                  Friesach
                                                                                      1/3
                                                                                     Gurk       1/2
                                                                  1/6                                             1/1
Spittal
                              1/2              Kleinkirchheim
          1/2
                                                                                                   1/3
                       Millstatt                                                                                        Hochosterw.

                                                     1/4           1/5
                 1/2                                                          1/3     1/6
                               1/4                                                                              1/3
                                                                                        1/7
                                                                   Ossiach
                                                            1/2
                                                                               1/6
                                     Villach                                                       Klagenfurt
                                                                        1/2
                                               1/1                                   1/7
                                                                                                                1/5

                                                     Faak
                                                                                       1/9                                           Obirhöhle


 R. Mittermeir                                                     - 36 -                                                        © Mittermeir
                                                                                                                        Universität Klagenfurt




                                                                  Seite 18
Gerüst des AS Algorithmus
  Prozedur AS {
  Initialisiere das System;
  über tmax Zyklen do {
        berechne für jede Ameise zufällig deren Weg;
        ist einer davon kürzer als bisher gefundener Kürzester,
                    dann merk in dir;
        akutalisiere Pheromon-Matrix
        }
  gib beste Lösung aus
  }




  R. Mittermeir                                        - 37 -                                         © Mittermeir
                                                                                             Universität Klagenfurt




 Auswahl und Pheromon-Update
• lokale Auswahlentscheidung für nächste Stadt
            pijjk = [ti,j]a x [hi,j ]b / S <l e Jik> ([ti,l]a x [hi,l ]b)
                       ,j        ,j                      ,         ,        wenn j e Jik ; sonst 0
              Jik ⊆ Nik … Jene Städte in der Nachbarschaft von Stadt i, die von Ameise k
                                                                noch nicht besucht wurden.
            a, b     ...    Parameter

• Pheromon-Initialisierung:
              t0 = # Ameisen / CTour_nächsterNachbar                             C .. Kosten der Rundreise
   (Tour)


• Pheromon-Aktualisierung:
      ti,j(t‘) ≠ (1 - r) ti,j (t)                          für alle Kanten (i, j) im Graph (Verdunstung)
            ti,j(t+1) ≠ ti,j(t‘) + S    k Dti,j (t‘)
                                               k          für alle Kanten (i, j) im Graph (Aktualisierung)
            Dti,jk (t‘) = 1/ Ck                          wenn (i,j) auf der Tour Tk von Ameise k; liegt;
  R. Mittermeir
                          sonst 0                      - 38 -                                         © Mittermeir
                                                                                             Universität Klagenfurt




                                                   Seite 19
AS Algorithmus
{ Initialisiere jede Kante (i,j) mit ti,j(0) = t0};
  for k = 1 to m do {platziere Ameise k in eine zufällig gewählte Stadt};
  {initialisiere L+ als Länge der bisher g
  {                        g                 gefundenen kürzesten Tour T+}
    for t = 1 to tmax do {
      for k = 1 to m do
         while Stadt # Ausgangsstadt do
                {konstruiere Tour Tk(t) durch Wanderung von Ameise k in die
                nächste noch nicht besuchte Stadt gemäß pijk};
        for k = 1 to m do {berechne Länge Lk(t) der Tour Tk(t) von Ameise k}
        wenn Minimum der Längen Lk(t) < L+ dann {L+ := Lk(t)min; T+ := Tk(t)min};
        for jede Kante (i,j) do {aktualisiere Pheromon-Markierung mittels
                  ti,j (t+1) ≠ (1-ρ)ti,j + S1..m Dti,jk (t) + Dti,je (t) }
    }
    drucke kürzeste Tour T+ und ihre Länge L+
}
    R. Mittermeir                       - 39 -                                 © Mittermeir
                                                                      Universität Klagenfurt




    Verbessertes Modell
    ACS – Ant Colony System                        [Dorigo, Gambardella 1997]



    • Ziel:
      Vermeiden von Konvergenz zu lokalen Optimum.


    • Zur Lösung von Konvergenzproblemen bei großen
      Problemstellungen Änderungen bei
                    g          g
             – Tour-Konstruktion, Wahl der nächsten Stadt
             – geänderte (lokale) Pheromon-Aktualisierung
             – globale Pheromon-Aktualisierung durch globalen Dämonen

    R. Mittermeir                       - 40 -                                 © Mittermeir
                                                                      Universität Klagenfurt




                                      Seite 20
Tour-Konstruktion bei ACS
 Lokale Auswahlentscheidung in i für nächste Stadt j hängt von neuem
 Parameter q0 [0 ≤ q0 ≤ 1] ab.
 An Stelle von:
            pijk = [ti,j]a x [hi,j ]b / S <l e Jik> ([ti,l]a x [hi,l ]b)        wenn j e Jik ; sonst 0
                 Jik ⊆ Nik … Jene Städte in der Nachbarschaft von Stadt i, die von Ameise k
                                                              noch nicht besucht wurden.
                 a, b     ...     Parameter


 gilt:
         j = argmax l ∈ Nik{tii,ll x [hi,l ]b } wenn Zufallszahl q ≤ q0
               g           {
         sonst
         j = J gemäß pijk = [ti,j]1x [hi,j ]b / S <l e Jik> ([ti,l]1 x [hi,l ]b)                  wenn j e Jik ;
                                      sonst 0


 R. Mittermeir                                       - 41 -                                         © Mittermeir
                                                                                           Universität Klagenfurt




 Pheromon-Update bei ACS
• Bereits nach jeder Verwendung einer Kante führen die Ameisen eine lokale
  Pheromon-Aktualisierung durch:
                  ti,j‘ ≠ (1 - ξ) ti,j + ξ t0 mit P
                                               it Parameter 0 < ξ < 1
                                                        t
          Konsequenz: Verwendung einer Kante reduziert ihre Attraktivität für künftige
          Ameisen.


• Nachdem alle Ameisen die aktuelle Tour beendet haben, führt ein Dämon
  eine globale Pheromon-Aktualisierung durch:
                  tii,jj‘ ≠ tii,jj + Dtii,jjbeste
          mit Dti,jbeste = 1/Cbs oder Dti,jbeste = 1/Cbi
          wobei Cbs bzw, Cbi die günstigsten Kosten seit Start der Analyse bzw. innerhalb
          der aktuellen Tour sind.

• Gesamtkonseqenz: bessere Streuung und geringere algorithm. Komplexität
 R. Mittermeir                                       - 42 -                                         © Mittermeir
                                                                                           Universität Klagenfurt




                                                    Seite 21
Struktur der ACS Metaheuristik
ACS – Ant Colony System                       [Dorigo, Gambardella 1997]



Prozedur ACS_Metaheuristik
      definiere Lösungsansatz
                konstruiere Ameisen-Lösung;
                aktualisiere Pheromonwerte;
                setze Aktionen globaler Dämonen
      beende Optimierungsverfahren.


R. Mittermeir                       - 43 -                             © Mittermeir
                                                              Universität Klagenfurt




Grundprinzipien von AS/ACS
• Finde Problemrepräsentation, die Ameisen den schrittweisen
  Aufbau (Modifikation) einer Lösung auf Grundlage einer
  wahrscheinlichkeitsgesteuerten Übergangsregel erla ben und
   ahrscheinlichkeitsgeste erten                 erlauben nd
  der indirekten Kommunikation über Pheromon erhalten.
• Bestimme ein Maß für die heuristische Wünschbarkeit η von
  Übergängen.
• Bestimme eine wahrscheinlichkeitsgesteuerte Übergangsregel.
• Finde eine Constraint-Satisfaction-Methode um die Zulässigkeit
             Constraint Satisfaction Methode,
  von Lösungen zu erzwingen.
• Definiere Pheromon-Aktualisierungs-Regel.


R. Mittermeir                       - 44 -                             © Mittermeir
                                                              Universität Klagenfurt




                                  Seite 22
Things to Remember
• Generalisierung von Problemen führt oft erst zur
  effizienten Lösbarkeit.
• Wahrscheinlichkeitsbasierte Algorithmen sind nicht
  „exakt“, aber bei NP-vollständigen Problemen sehr
  effizient und effektiv.
• Kooperationsstrategie schlägt Einzelkämpfertum.
• Biologische Lösung diente der Inspiration,
  realer (Simulations-)Algorithmus weicht von der
           (Simulations )Algorithmus
  Initiallösung ab.
• Zu starker Fokus auf rasche Konvergenz führt zu
  suboptimalen Lösungen.

R. Mittermeir              - 45 -                             © Mittermeir
                                                     Universität Klagenfurt




                 Danke für die
                Aufmerksamkeit !




R. Mittermeir              - 46 -                             © Mittermeir
                                                     Universität Klagenfurt




                         Seite 23
Referenzen
[BoDoTh 99]     Bonabeau E., Dorigo M., Theraulaz G.: Swarm Intelligence –
                From Natural to Artificial Systems; Oxford University Press, 1999.
[
[BlRo 03]
        ]       Blum C., Roli A.: Metaheuristics in combinatorial optimization:
                       ,                                           p
                Overview and conceptual comparison. ACM Computing
                Surveys, 35(3), pp. 268 – 308.
[DeAGP 90]      Deneubourg J.-L., Aron S., Goss S., Pasteels J.-M.: The Self-
                Organizing Exploratory Pattern of the Argentine Ant. Journal of
                Insect Behavior, 3, (1990), pp. 159 - 168.
[Dorigo 92]     Dorigo M.: Optimization, Learning and Natural Algorithms. PhD
                thesis, Dipartimento di Elettronica, Politechnico di Milano, Milan.
[DoGa 97a]      Dorigo M., Gambardella L.M.: Ant colonies for the traveling
                salesman problem. BioSystems, 43 (2)pp 73 – 81.
[DoGa 97b]       Dorigo M., Gambardella L.M.: Ant Colony System: A cooperative
                learning approach to the traveling salesman problem. IEEE Trans
                on Evolutionary Computation, 6(4), pp. 31- 365.
[DoSt 04]       Dorigo M, Stützle T.: Ant Colony Optimization, MIT Press, 2004.

R. Mittermeir                          - 47 -                                       © Mittermeir
                                                                           Universität Klagenfurt




R. Mittermeir                          - 48 -                                       © Mittermeir
                                                                           Universität Klagenfurt




                                     Seite 24

Weitere ähnliche Inhalte

Andere mochten auch

Wir sind das Netz – Kommunikationspsychologische Faktoren für den Erfolg in s...
Wir sind das Netz – Kommunikationspsychologische Faktoren für den Erfolg in s...Wir sind das Netz – Kommunikationspsychologische Faktoren für den Erfolg in s...
Wir sind das Netz – Kommunikationspsychologische Faktoren für den Erfolg in s...Webmontag MRN
 
Rech ctrl folien kap10 95 102
Rech ctrl folien kap10 95 102Rech ctrl folien kap10 95 102
Rech ctrl folien kap10 95 102denkbar media
 
presentación final
presentación finalpresentación final
presentación finalFatima Meza
 
Ganzheitliche Betriebsorganisation für Fertigungsunternehmen im Web
Ganzheitliche Betriebsorganisation für Fertigungsunternehmen im WebGanzheitliche Betriebsorganisation für Fertigungsunternehmen im Web
Ganzheitliche Betriebsorganisation für Fertigungsunternehmen im Webguest1099bb
 
Social Media bei Reisebueros
Social Media bei ReisebuerosSocial Media bei Reisebueros
Social Media bei ReisebuerosMichael Faber
 
W H A T A R E T H E Y D O I N G
W H A T  A R E  T H E Y  D O I N GW H A T  A R E  T H E Y  D O I N G
W H A T A R E T H E Y D O I N Gguest7c26bb0
 
ALGUNOS SEÑALAMIENTOS
ALGUNOS SEÑALAMIENTOSALGUNOS SEÑALAMIENTOS
ALGUNOS SEÑALAMIENTOSfelipeschz
 

Andere mochten auch (15)

Bsr6
Bsr6Bsr6
Bsr6
 
Wir sind das Netz – Kommunikationspsychologische Faktoren für den Erfolg in s...
Wir sind das Netz – Kommunikationspsychologische Faktoren für den Erfolg in s...Wir sind das Netz – Kommunikationspsychologische Faktoren für den Erfolg in s...
Wir sind das Netz – Kommunikationspsychologische Faktoren für den Erfolg in s...
 
Rech ctrl folien kap10 95 102
Rech ctrl folien kap10 95 102Rech ctrl folien kap10 95 102
Rech ctrl folien kap10 95 102
 
EconDesk - Die Online-Auskunft für die Wirtschaftswissenschaften
EconDesk -   Die Online-Auskunft für die WirtschaftswissenschaftenEconDesk -   Die Online-Auskunft für die Wirtschaftswissenschaften
EconDesk - Die Online-Auskunft für die Wirtschaftswissenschaften
 
presentación final
presentación finalpresentación final
presentación final
 
MANUAL
MANUALMANUAL
MANUAL
 
Brayan y carrillo
Brayan y carrilloBrayan y carrillo
Brayan y carrillo
 
VWLB07 107 119
VWLB07 107 119VWLB07 107 119
VWLB07 107 119
 
Ganzheitliche Betriebsorganisation für Fertigungsunternehmen im Web
Ganzheitliche Betriebsorganisation für Fertigungsunternehmen im WebGanzheitliche Betriebsorganisation für Fertigungsunternehmen im Web
Ganzheitliche Betriebsorganisation für Fertigungsunternehmen im Web
 
Social Media bei Reisebueros
Social Media bei ReisebuerosSocial Media bei Reisebueros
Social Media bei Reisebueros
 
Ots 20091130 ots0176
Ots 20091130 ots0176Ots 20091130 ots0176
Ots 20091130 ots0176
 
W H A T A R E T H E Y D O I N G
W H A T  A R E  T H E Y  D O I N GW H A T  A R E  T H E Y  D O I N G
W H A T A R E T H E Y D O I N G
 
ALGUNOS SEÑALAMIENTOS
ALGUNOS SEÑALAMIENTOSALGUNOS SEÑALAMIENTOS
ALGUNOS SEÑALAMIENTOS
 
Madrid2
Madrid2Madrid2
Madrid2
 
Tabla de funciones de excel
Tabla de funciones de excelTabla de funciones de excel
Tabla de funciones de excel
 

Mehr von Förderverein Technische Fakultät

The Digital Transformation of Education: A Hyper-Disruptive Era through Block...
The Digital Transformation of Education: A Hyper-Disruptive Era through Block...The Digital Transformation of Education: A Hyper-Disruptive Era through Block...
The Digital Transformation of Education: A Hyper-Disruptive Era through Block...Förderverein Technische Fakultät
 
Engineering Serverless Workflow Applications in Federated FaaS.pdf
Engineering Serverless Workflow Applications in Federated FaaS.pdfEngineering Serverless Workflow Applications in Federated FaaS.pdf
Engineering Serverless Workflow Applications in Federated FaaS.pdfFörderverein Technische Fakultät
 
The Role of Machine Learning in Fluid Network Control and Data Planes.pdf
The Role of Machine Learning in Fluid Network Control and Data Planes.pdfThe Role of Machine Learning in Fluid Network Control and Data Planes.pdf
The Role of Machine Learning in Fluid Network Control and Data Planes.pdfFörderverein Technische Fakultät
 
Nonequilibrium Network Dynamics_Inference, Fluctuation-Respones & Tipping Poi...
Nonequilibrium Network Dynamics_Inference, Fluctuation-Respones & Tipping Poi...Nonequilibrium Network Dynamics_Inference, Fluctuation-Respones & Tipping Poi...
Nonequilibrium Network Dynamics_Inference, Fluctuation-Respones & Tipping Poi...Förderverein Technische Fakultät
 
East-west oriented photovoltaic power systems: model, benefits and technical ...
East-west oriented photovoltaic power systems: model, benefits and technical ...East-west oriented photovoltaic power systems: model, benefits and technical ...
East-west oriented photovoltaic power systems: model, benefits and technical ...Förderverein Technische Fakultät
 
Advances in Visual Quality Restoration with Generative Adversarial Networks
Advances in Visual Quality Restoration with Generative Adversarial NetworksAdvances in Visual Quality Restoration with Generative Adversarial Networks
Advances in Visual Quality Restoration with Generative Adversarial NetworksFörderverein Technische Fakultät
 
Industriepraktikum_ Unterstützung bei Projekten in der Automatisierung.pdf
Industriepraktikum_ Unterstützung bei Projekten in der Automatisierung.pdfIndustriepraktikum_ Unterstützung bei Projekten in der Automatisierung.pdf
Industriepraktikum_ Unterstützung bei Projekten in der Automatisierung.pdfFörderverein Technische Fakultät
 

Mehr von Förderverein Technische Fakultät (20)

Supervisory control of business processes
Supervisory control of business processesSupervisory control of business processes
Supervisory control of business processes
 
The Digital Transformation of Education: A Hyper-Disruptive Era through Block...
The Digital Transformation of Education: A Hyper-Disruptive Era through Block...The Digital Transformation of Education: A Hyper-Disruptive Era through Block...
The Digital Transformation of Education: A Hyper-Disruptive Era through Block...
 
A Game of Chess is Like a Swordfight.pdf
A Game of Chess is Like a Swordfight.pdfA Game of Chess is Like a Swordfight.pdf
A Game of Chess is Like a Swordfight.pdf
 
From Mind to Meta.pdf
From Mind to Meta.pdfFrom Mind to Meta.pdf
From Mind to Meta.pdf
 
Miniatures Design for Tabletop Games.pdf
Miniatures Design for Tabletop Games.pdfMiniatures Design for Tabletop Games.pdf
Miniatures Design for Tabletop Games.pdf
 
Distributed Systems in the Post-Moore Era.pptx
Distributed Systems in the Post-Moore Era.pptxDistributed Systems in the Post-Moore Era.pptx
Distributed Systems in the Post-Moore Era.pptx
 
Don't Treat the Symptom, Find the Cause!.pptx
Don't Treat the Symptom, Find the Cause!.pptxDon't Treat the Symptom, Find the Cause!.pptx
Don't Treat the Symptom, Find the Cause!.pptx
 
Engineering Serverless Workflow Applications in Federated FaaS.pdf
Engineering Serverless Workflow Applications in Federated FaaS.pdfEngineering Serverless Workflow Applications in Federated FaaS.pdf
Engineering Serverless Workflow Applications in Federated FaaS.pdf
 
The Role of Machine Learning in Fluid Network Control and Data Planes.pdf
The Role of Machine Learning in Fluid Network Control and Data Planes.pdfThe Role of Machine Learning in Fluid Network Control and Data Planes.pdf
The Role of Machine Learning in Fluid Network Control and Data Planes.pdf
 
Nonequilibrium Network Dynamics_Inference, Fluctuation-Respones & Tipping Poi...
Nonequilibrium Network Dynamics_Inference, Fluctuation-Respones & Tipping Poi...Nonequilibrium Network Dynamics_Inference, Fluctuation-Respones & Tipping Poi...
Nonequilibrium Network Dynamics_Inference, Fluctuation-Respones & Tipping Poi...
 
Towards a data driven identification of teaching patterns.pdf
Towards a data driven identification of teaching patterns.pdfTowards a data driven identification of teaching patterns.pdf
Towards a data driven identification of teaching patterns.pdf
 
Förderverein Technische Fakultät.pptx
Förderverein Technische Fakultät.pptxFörderverein Technische Fakultät.pptx
Förderverein Technische Fakultät.pptx
 
The Computing Continuum.pdf
The Computing Continuum.pdfThe Computing Continuum.pdf
The Computing Continuum.pdf
 
East-west oriented photovoltaic power systems: model, benefits and technical ...
East-west oriented photovoltaic power systems: model, benefits and technical ...East-west oriented photovoltaic power systems: model, benefits and technical ...
East-west oriented photovoltaic power systems: model, benefits and technical ...
 
Machine Learning in Finance via Randomization
Machine Learning in Finance via RandomizationMachine Learning in Finance via Randomization
Machine Learning in Finance via Randomization
 
IT does not stop
IT does not stopIT does not stop
IT does not stop
 
Advances in Visual Quality Restoration with Generative Adversarial Networks
Advances in Visual Quality Restoration with Generative Adversarial NetworksAdvances in Visual Quality Restoration with Generative Adversarial Networks
Advances in Visual Quality Restoration with Generative Adversarial Networks
 
Recent Trends in Personalization at Netflix
Recent Trends in Personalization at NetflixRecent Trends in Personalization at Netflix
Recent Trends in Personalization at Netflix
 
Industriepraktikum_ Unterstützung bei Projekten in der Automatisierung.pdf
Industriepraktikum_ Unterstützung bei Projekten in der Automatisierung.pdfIndustriepraktikum_ Unterstützung bei Projekten in der Automatisierung.pdf
Industriepraktikum_ Unterstützung bei Projekten in der Automatisierung.pdf
 
Introduction to 5G from radio perspective
Introduction to 5G from radio perspectiveIntroduction to 5G from radio perspective
Introduction to 5G from radio perspective
 

Zufallsgesteuerte Algorthmen - der Natur abgeschaut

  • 1. Zufallsgesteuerte Algorithmen, g g , der Natur abgeschaut Roland Mittermeir Institut für Informatik Systeme Informatik-Systeme Universität Klagenfurt Gliederung • Algorithmische Komplexität und NP-vollständige Probleme • Optimal oder gut genug – Heuristiken und Metaheuristiken • Swarm Intelligence und Stigmerie • Kooperationsstrategien von Ameisen • Wie künstliche Ameisen das Traveling Salesman Problem lösen R. Mittermeir -2- © Mittermeir Universität Klagenfurt Seite 1
  • 2. Algorithmische Komplexität Frage: Wie lange dauert es im schlechtesten Fall, bis dieser Algorithmus das Ergebnis berechnet hat? Antwort: • Das hängt von der Anzahl n der zu verarbeitenden Daten ab! • Das hängt davon ab, wie oft der Algorithmus ein einzelnes Datum „anschauen“ muss. ⇒ Dauer ist eine Funktion von n. R. Mittermeir -3- © Mittermeir Universität Klagenfurt Komplexitätsklassen • Die (maximale) Bearbeitungsdauer ist durch ein Polynom in n beschreibbar. ⇒ Polynomielle Komplexität: C = a*nk + b*nk-1 + … + c*n2 + d*n1 + e ⇒ O(f(n)) = O(nk) • Behandelbare Probleme (tractable problems) haben niedere polynomielle Komplexität z.B.: kürzeste Wege … O(n2), Bubblesort … O(n2), Quicksort … (O(n*ld n) • Ni ht b h d lb Nicht-behandelbare P bl Probleme (i t t bl problems) h b exponentielle (intractable bl ) haben ti ll Komplexität. . C = O(constn) z.B.: Traveling Salesman… O(n!), Teilmengensumme (Rucksackproblem)… O(2i), R. Mittermeir -4- © Mittermeir Universität Klagenfurt Seite 2
  • 3. Besichtigungs-Rundreise Sie wollen Ihrem Gast die Sehenswürdigkeiten Kärntens zeigen. Dabei wollen Sie – nichts auslassen, – nichts doppelt besuchen, – insgesamt möglichst wenig Zeit für die Reise zwischen den einzelnen Sehenswürdigkeiten vergeuden. In welcher Reihenfolge sollten Sie Kärntens Highlights besuchen? R. Mittermeir -5- © Mittermeir Universität Klagenfurt R. Mittermeir -6- © Mittermeir Universität Klagenfurt Seite 3
  • 4. Metnitz Heiligenblut Friesach Obervellach Gurk Wolfs berg Spittal Kleinkirchheim Lienz Millstatt Mill t tt Hochosterwitz. Hochosterwitz Greifenburg St. Weissensee Paul M-Luggau Ossiach Hermagor Villach Klagenfurt Bleiburg Nötsch Faak B.Eisenkappel R. Mittermeir -7- © Mittermeir Universität Klagenfurt Ein Netz von Straßen Metnitz Heiligenblut Friesach Obervellach Wolfsberg Gurk Spittal Kleinkirchh Lienz Millstatt Hochosterw. Greifenburg St. Weissensee M-Luggau Paul Ossiach Hermagor Villach Klagenfurt Bleiburg Nötsch Faak Eisenkappel R. Mittermeir -8- © Mittermeir Universität Klagenfurt Seite 4
  • 5. Reisedauer in Viertelstunden Heiligenblut Metnitz 4 Friesach O.Vell 1 3 2 3 Wolfsberg 6 2 Spittal Gurk 5 2 Kleinkirchheim 1 Lienz 3 2 3 Millstatt Hochosterw. 4 2 2 Greifenburg 4 5 6 1 2 3 St. M-Luggau Weissensee 4 7 3 Paul 2 10 Ossiach 6 Hermagor 3 2 2 6 6 Villach Klagenfurt 2 1 1 Bleiburg Nötsch 7 2 2 Faak 5 9 Eisenkappel Graph mit 22 Knoten (Städten) … 22! Wege wären zu berechnen! ~ 1,124 * 1021 Wege R. Mittermeir -9- © Mittermeir Universität Klagenfurt Zentralkärnten Metnitz 1 Friesach 3 Gurk 2 6 1 Spittal 2 Kleinkirchheim 4 2 Millstatt 3 Hochosterwitz 4 5 2 3 6 4 3 7 Ossiach 2 6 Villach Klagenfurt 2 1 7 5 Faak 9 Graph mit 12 Knoten (Städten) … „nur mehr 12! Wege zu berechnen = 479.001.600 Wege Eisenkappel R. Mittermeir - 10 - © Mittermeir Universität Klagenfurt Seite 5
  • 6. Mögliche Besichtigungsfolgen Rundreise: (Kl, .. Liste aller anderen Städte .. , Kl) Dauer: (Kl, Vi, Fa, Ei, (Kl Vi Fa Ei --- ) bleibe stecken (Kl, Ho, Fr, Gu, Kk, … ) ?? Metnitz verpasst !! (Kl, Os, Ho, Fr, Me, Gu, Kk, Mi, Sp, Vi, Fa, Ei, Kl) 6 + 6 + 1 + 1 + 3 + 6 + 2 + 2 + 2 +1 + 9 + 5 Dauer: 44 (Kl, Ho, Fr, Me, Gu, Os, Kk, Mi, Sp, Vi, Fa, Ei, Kl) 3 +1+1+3 +3+4+2+2+2+1+9+5 Dauer: 36 (Kl, Ei, Fa, Vi, Sp, Mi, Kk, Os, Gu, Me, Fr, Ho, Kl) 5 +9+1+2+2+2+4+3+ 3+1+1+3 Dauer: 36 R. Mittermeir - 11 - © Mittermeir Universität Klagenfurt verbotene Kanten/Wege 1000 Metnitz Ergänzter Graph: 1 Friesach 3 Gurk 2 Spittal 6 1 Kleinkirchheim 4 2 2 3 Millstatt Hochosterwitz 4 5 2 3 6 4 3 7 Ossiach 2 6 Villach Klagenfurt 2 1 7 5 Faak 9 Eisenkappl R. Mittermeir - 12 - © Mittermeir Universität Klagenfurt Seite 6
  • 7. Kürzester Rundweg (Kreis) • Initialisiere – bilde Liste aller Sehenswürdigkeiten – berechne die Reisedauer, nimm an sie sei die Kleinste • Verbessere – berechne Permutation der Sehenswürdigkeitenliste – berechne zugehörige Reisedauer – ist diese kleiner als die bisher berechnete (kleinste) Reisedauer dann * merke Dir die Reihenfolge der eben berechneten Sehenswürdigkeitenliste * merke Dir die zugehörige Reisedauer solange bis alle Permutationen durchprobiert sind! Liefert mit Sicherheit die optimale Lösung! Aber das dauert noch immer zu lang! (12*11*10*…*3*2*1 Durchläufe). R. Mittermeir - 13 - © Mittermeir Universität Klagenfurt Systematische Vorgangsweise Permutiere (L, anf, end) von i := anf bis end mache: tausche (L[anf], L[i]); wenn anf < end dann Permutiere(L, anf+1, end) sonst gib aktuelle Lösung aus; tausche(L[i], L[anf]) tausche(L[i] L[anf]). Aufruf mit Permutiere (Sehenswürdigkeitenliste, 1, 12) Prüfe auf Zulässigkeit der Lösung R. Mittermeir - 14 - © Mittermeir Universität Klagenfurt Seite 7
  • 8. Permutiere ([ A, B, C, D]; 1, 4) anf i A B C D 1 1 a B C D permutiere([B, C, D]; 2, 4) anf i B C D 2 2 b C D permutiere [C, D]; 3, 4) anf i B C D 3 3 c D permutiere [D]; 4, 4) A B C D 3 4 d c permutiere [C]; 4, 4) A B D C 2 3 c b D permutiere [b, D]; 3, 4) 3 3 b D permutiere [D]; 4, 4) A C B D 3 4 d b permutiere [C]; 4, 4) A C D B 2 4 d C b permutiere [C, b]; 3, 4) 3 3 C b permutiere [b]; 4, 4) A D C B 3 4 b c permutiere [C]; 4 4) 4, A D B C 1 2 b a C D permutiere([a, C, D]; 2, 4) … 1 3 c B a D permutiere([B, a, D]; 2, 4) … 1 4 d B C d permutiere([a, C, D]; 2, 4) … Aufwand: 2 => 2; 3 => 3x2 = 6; 4 => 4x(3x2) = 4x6 = 24; …; 100 => 100x99x .. x 2 = 100 ! also n! R. Mittermeir - 15 - © Mittermeir Universität Klagenfurt Heuristischer Ansatz Seite 8
  • 9. Heuristiken • Da intractable problems bei entsprechender Größenordnung in i vernünftiger Z it nicht exakt lö b sind, b ü fti Zeit i ht kt lösbar i d begnügt man sich ü t i h mit Näherungslösungen (Approximationsalgorithmen, Heuristiken). • Diese liefern in der Regel Ergebnisse in der Nähe der optimalen Lösung. – Unklar, ob das berechnete Ergebnis tatsächlich optimal ist. – Unbekannt, wie weit das berechnete Ergebnis vom Optimum abweicht. R. Mittermeir - 17 - © Mittermeir Universität Klagenfurt Minimaler spannender Baum 1 Metnitz 1 Friesach 3 Gurk 2 Spittal S itt l 6 1 2 Kleinkirchheim 4 2 Millstatt 3 Hochosterwitz 4 5 2 3 6 4 3 7 Ossiach 2 6 Villach Klagenfurt 2 1 7 5 Faak 9 Eisenkappel R. Mittermeir - 18 - © Mittermeir Universität Klagenfurt Seite 9
  • 10. Minimaler spannender Baum 1,2 Metnitz 1 Friesach 3 Gurk 2 Spittal S itt l 6 1 2 Kleinkirchheim 4 2 Millstatt 3 Hochosterwitz 4 5 2 3 6 4 3 7 Ossiach 2 6 Villach Klagenfurt 2 1 7 5 Faak 9 Eisenkappel R. Mittermeir - 19 - © Mittermeir Universität Klagenfurt Minimaler spannender Baum 1,2,3,++ Metnitz 1 Friesach 3 Gurk 2 6 Spittal 1 2 Kleinkirchheim 4 2 Millstatt 3 Hochosterwitz 4 5 2 3 6 4 3 7 Ossiach 2 6 Villach Klagenfurt 2 1 7 5 Faak Gewicht: 9 Eisenkappel ((((1)+2+2+2)+2)+2)+3+5)+(2+(1+1)) = 23 R. Mittermeir - 20 - © Mittermeir Universität Klagenfurt Seite 10
  • 11. Minimaler Weg über minimalem spannendem Baum Metnitz 1 Friesach 3 Gurk 2 6 Spittal 1 2 Kleinkirchheim 4 2 Millstatt 3 Hochosterwitz 4 5 2 3 6 4 7 3 Ossiach 2 6 Villach Klagenfurt 2 1 7 5 Faak Gewicht: 9 Eisenkappel ((((1)+2+2+2)+2)+2)+3+5)+(2+(1+1)) = 23 - (2+2+2) + (4+9+3)+3 = 36 R. Mittermeir - 21 - © Mittermeir Universität Klagenfurt Metaheuristiken Seite 11
  • 12. Metaheuristiken • Eine Metaheuristik ist ein Satz algorithmischer Konzepte, der d verwendet werden k d t d kann, um H i tik Heuristiken, di auf ein die f i breites Problemfeld anwendbar sind, zu definieren. • Durch Parametrisierung wird das metaheuristische Konzept für konkrete Problemlösungen zugeschnitten. R. Mittermeir - 23 - © Mittermeir Universität Klagenfurt Von Natur inspirierte Metaheuristiken • Genetische Algorithmen • Evolutionary Programming • Simulated Annealing • Bakteriologische Algorithmen • Bienenstock-Algorithmen • Ant Systems / Ant Colony Systems R. Mittermeir - 24 - © Mittermeir Universität Klagenfurt Seite 12
  • 13. Wie lösen Ameisen das Problem „kurze Reisen“? Futtersuche von Ameisen Deneubourg‘s 1. Brückenexperiment mit Iridomyrex humilis: [1987 – 1990] Futter • Auf welchem der beiden Wege wird sich eine Ameisenstraße bilden? • Warum bildet sie sich? Bau R. Mittermeir - 26 - © Mittermeir Universität Klagenfurt Seite 13
  • 14. Futtersuche von Ameisen Deneubourg‘s Brückenexperiment mit Lasius Niger: Futter 4 min Futter 8 min Futter Bau Bau Bau R. Mittermeir - 27 - © Mittermeir Universität Klagenfurt Der Ameisen-Trick: Kommunikation über Stigmerie • Duftstoff Pheromon markiert die eigene Spur. • Rasch gefundenes Futter ⇒ rasch am (eigenen !) Rückweg. • Dies verstärkt die Pheromonspur. • Dies lockt andere Ameisen an, der schon markierten Spur zu folgen. • Auf verlassenen Spuren verdunstet das Pheromon mit der Zeit. ABER • Eine Futterstelle ist ja irgendwann erschöpft (oder vielleicht gibt es noch eine nähere/bessere): • Daher wird nicht strikt der stärksten Pheromonspur gefolgt, sondern auch zufällig andere Wege erprobt. R. Mittermeir - 28 - © Mittermeir Universität Klagenfurt Seite 14
  • 15. Algorithmische Simulation des Verhaltens von Ameisen Simulation des Deneubourg Experiments Futter Wahrscheinlichkeit pkurz bzw. plang dass Ameise a zum Zeitpunkt t p den kurzen bzw. langen Weg wählt, hängt von der aktuellen Pheromon-Intensität PhIa,w(t) ab: pa,kurz(t) = PhIv,kurz(t)α / (PhIa,kurz(t)α + PhIa,lang(t)α ) pk kurz plang pa,lang(t) = PhIa,lang(t)α / (PhIa,kurz(t)α + PhIa,lang(t)α ) Bau Pheromon-Ablagerung auf Hin- und Rückweg! R. Mittermeir - 30 - © Mittermeir Universität Klagenfurt Seite 15
  • 16. Problemlösungsprinzip • Verstehe das Problemlösungsverhalten des biologischen Systems • Baue ein entsprechendes mathematisches/algorithmisches Modell • Prüfe, ob dieses das biologische System darstellen kann • Wende das so erlernte Problemlösungsverhalten auf klassisch schwer lösbare Probleme an • Verbessere diese – durch geeignete Parameter-Wahl – durch Variation von Details der Problemlösungsstrategie – durch algorithmische Optimierung Dies kann zu einer Entfremdung von der biologischen Analogie führen. R. Mittermeir - 31 - © Mittermeir Universität Klagenfurt Anwendung: Rundreiseproblem • Modelliere Städte und Verbindungen dazwischen als Graph • Stelle Städte-Graph als Distanzmatrix D(i,j) dar • Platziere Ameisen in Ausgangsstädten • Belege Graphen mit einer Ausgangsmenge von Pheromon t0 • Lass Ameisen laufen: Diese wählen die noch nicht besuchte nächste Stadt nach – Pheromonkonzentration auf der Wegstrecke dorthin ti,j und – „Erfolgserwartung eines kurzen Weges hii,jj Erfolgserwartung“ – unter Berücksichtigung grundsätzlicher Randbedingung Ω aus. • Sichere, dass – keine Kreise begangen werden, – Pheromon entsprechend der Nutzung und Güte der Wege aktualisiert wird. R. Mittermeir - 32 - © Mittermeir Universität Klagenfurt Seite 16
  • 17. Matrix d. Distanzen zw. Städten j 1 2 3 4 5 6 7 8 9 10 11 12 i Städte Fa Fr Gu Ho Kl Kk Me Mi Ob Os Sp Vi 1 Faak 0 1000 1000 1000 7 1000 1000 1000 9 1000 1000 1 2 Friesach 1000 0 2 1 3 1000 1 1000 1000 1000 1000 1000 3 Gurk 1000 2 0 1000 1000 6 3 1000 1000 3 1000 5 4 Hochosterwitz 1000 1 1000 0 3 1000 1000 1000 1000 6 1000 7 5 Klagenfurt 7 3 1000 3 0 1000 1000 1000 5 6 1000 2 6 Kleinkirchheim 1000 1000 6 1000 1000 0 1000 2 1000 4 1000 1000 7 Metnitz 1000 1 3 1000 1000 1000 0 1000 1000 1000 1000 1000 8 Millstatt 1000 1000 1000 1000 1000 2 1000 0 1000 1000 2 4 9 Obirhöhle 9 1000 1000 1000 5 1000 1000 1000 0 1000 1000 1000 10 Ossiach 1000 1000 3 6 6 4 1000 1000 1000 0 1000 2 11 Spittal 1000 1000 1000 1000 1000 1000 1000 2 1000 1000 0 2 12 Villach 1 1000 5 7 2 1000 1000 4 1000 2 2 0 R. Mittermeir - 33 - © Mittermeir Universität Klagenfurt Erstes mathematisches Modell Grundmodell: AS – Ant System [Dorigo 1992] • Rundreiseproblem wird als Suchproblem aufgefaßt. • Optimierungsziel (Suchziel) des Rundreiseproblems ist Weg mit geringsten Kosten C (kürzester Weg) . • Randbedingung Ω: – Alle Sehenswürdigkeiten müssen besucht werden. – Letztlich muss man zum Ausgangspunkt zurückkehren. • Ameisen machen sich auf den Weg, um den kürzesten zu finden. • Sie wählen in Stadt i die jeweils nächste Stadt j zufällig – in Abhängigkeit von Pheromon τij auf den Ausgangswegen – und heuristischer Attraktivität ηij. R. Mittermeir - 34 - © Mittermeir Universität Klagenfurt Seite 17
  • 18. Umsetzung der Routenoptimierung Konstruktionsgraph: Problemgraph, erweitert um „teure“ verbotene Kanten fl vollständiger Graph, Distanzmatrix zwischen Städten Randbedingung: Alle Städte müssen besucht werden fl vollständiges Durchwandern, Liste noch zu besuchender Städte oder Tabuliste Auswahlhilfe für Ameise: ti,j .. Pheromonspur zwischen Knoten (Stadt) i und j hi,j .. lokale Attraktivität von Knoten (Stadt) i nach j zu gehen Meist: hi,j = 1/di,j … Kehrwert der Distanz zwischen zwei Städten. Lösungsansatz: g – Jede Ameise wird initial in eine zufällig gewählte Stadt gesetzt. – In jedem Verfahrensschritt besucht sie eine von ihr noch nicht besuchte Stadt. – Nachdem alle Städte besucht wurden, läuft sie ihren Weg zurück und aktualisiert die Pheromonwerte. Abbruch des Verfahrens: Wenn sich längere Zeit keine Verbesserungen der besten Lösung mehr ergeben. R. Mittermeir - 35 - © Mittermeir Universität Klagenfurt Heuristische Attraktivität ηij Metnitz 1/1 Friesach 1/3 Gurk 1/2 1/6 1/1 Spittal 1/2 Kleinkirchheim 1/2 1/3 Millstatt Hochosterw. 1/4 1/5 1/2 1/3 1/6 1/4 1/3 1/7 Ossiach 1/2 1/6 Villach Klagenfurt 1/2 1/1 1/7 1/5 Faak 1/9 Obirhöhle R. Mittermeir - 36 - © Mittermeir Universität Klagenfurt Seite 18
  • 19. Gerüst des AS Algorithmus Prozedur AS { Initialisiere das System; über tmax Zyklen do { berechne für jede Ameise zufällig deren Weg; ist einer davon kürzer als bisher gefundener Kürzester, dann merk in dir; akutalisiere Pheromon-Matrix } gib beste Lösung aus } R. Mittermeir - 37 - © Mittermeir Universität Klagenfurt Auswahl und Pheromon-Update • lokale Auswahlentscheidung für nächste Stadt pijjk = [ti,j]a x [hi,j ]b / S <l e Jik> ([ti,l]a x [hi,l ]b) ,j ,j , , wenn j e Jik ; sonst 0 Jik ⊆ Nik … Jene Städte in der Nachbarschaft von Stadt i, die von Ameise k noch nicht besucht wurden. a, b ... Parameter • Pheromon-Initialisierung: t0 = # Ameisen / CTour_nächsterNachbar C .. Kosten der Rundreise (Tour) • Pheromon-Aktualisierung: ti,j(t‘) ≠ (1 - r) ti,j (t) für alle Kanten (i, j) im Graph (Verdunstung) ti,j(t+1) ≠ ti,j(t‘) + S k Dti,j (t‘) k für alle Kanten (i, j) im Graph (Aktualisierung) Dti,jk (t‘) = 1/ Ck wenn (i,j) auf der Tour Tk von Ameise k; liegt; R. Mittermeir sonst 0 - 38 - © Mittermeir Universität Klagenfurt Seite 19
  • 20. AS Algorithmus { Initialisiere jede Kante (i,j) mit ti,j(0) = t0}; for k = 1 to m do {platziere Ameise k in eine zufällig gewählte Stadt}; {initialisiere L+ als Länge der bisher g { g gefundenen kürzesten Tour T+} for t = 1 to tmax do { for k = 1 to m do while Stadt # Ausgangsstadt do {konstruiere Tour Tk(t) durch Wanderung von Ameise k in die nächste noch nicht besuchte Stadt gemäß pijk}; for k = 1 to m do {berechne Länge Lk(t) der Tour Tk(t) von Ameise k} wenn Minimum der Längen Lk(t) < L+ dann {L+ := Lk(t)min; T+ := Tk(t)min}; for jede Kante (i,j) do {aktualisiere Pheromon-Markierung mittels ti,j (t+1) ≠ (1-ρ)ti,j + S1..m Dti,jk (t) + Dti,je (t) } } drucke kürzeste Tour T+ und ihre Länge L+ } R. Mittermeir - 39 - © Mittermeir Universität Klagenfurt Verbessertes Modell ACS – Ant Colony System [Dorigo, Gambardella 1997] • Ziel: Vermeiden von Konvergenz zu lokalen Optimum. • Zur Lösung von Konvergenzproblemen bei großen Problemstellungen Änderungen bei g g – Tour-Konstruktion, Wahl der nächsten Stadt – geänderte (lokale) Pheromon-Aktualisierung – globale Pheromon-Aktualisierung durch globalen Dämonen R. Mittermeir - 40 - © Mittermeir Universität Klagenfurt Seite 20
  • 21. Tour-Konstruktion bei ACS Lokale Auswahlentscheidung in i für nächste Stadt j hängt von neuem Parameter q0 [0 ≤ q0 ≤ 1] ab. An Stelle von: pijk = [ti,j]a x [hi,j ]b / S <l e Jik> ([ti,l]a x [hi,l ]b) wenn j e Jik ; sonst 0 Jik ⊆ Nik … Jene Städte in der Nachbarschaft von Stadt i, die von Ameise k noch nicht besucht wurden. a, b ... Parameter gilt: j = argmax l ∈ Nik{tii,ll x [hi,l ]b } wenn Zufallszahl q ≤ q0 g { sonst j = J gemäß pijk = [ti,j]1x [hi,j ]b / S <l e Jik> ([ti,l]1 x [hi,l ]b) wenn j e Jik ; sonst 0 R. Mittermeir - 41 - © Mittermeir Universität Klagenfurt Pheromon-Update bei ACS • Bereits nach jeder Verwendung einer Kante führen die Ameisen eine lokale Pheromon-Aktualisierung durch: ti,j‘ ≠ (1 - ξ) ti,j + ξ t0 mit P it Parameter 0 < ξ < 1 t Konsequenz: Verwendung einer Kante reduziert ihre Attraktivität für künftige Ameisen. • Nachdem alle Ameisen die aktuelle Tour beendet haben, führt ein Dämon eine globale Pheromon-Aktualisierung durch: tii,jj‘ ≠ tii,jj + Dtii,jjbeste mit Dti,jbeste = 1/Cbs oder Dti,jbeste = 1/Cbi wobei Cbs bzw, Cbi die günstigsten Kosten seit Start der Analyse bzw. innerhalb der aktuellen Tour sind. • Gesamtkonseqenz: bessere Streuung und geringere algorithm. Komplexität R. Mittermeir - 42 - © Mittermeir Universität Klagenfurt Seite 21
  • 22. Struktur der ACS Metaheuristik ACS – Ant Colony System [Dorigo, Gambardella 1997] Prozedur ACS_Metaheuristik definiere Lösungsansatz konstruiere Ameisen-Lösung; aktualisiere Pheromonwerte; setze Aktionen globaler Dämonen beende Optimierungsverfahren. R. Mittermeir - 43 - © Mittermeir Universität Klagenfurt Grundprinzipien von AS/ACS • Finde Problemrepräsentation, die Ameisen den schrittweisen Aufbau (Modifikation) einer Lösung auf Grundlage einer wahrscheinlichkeitsgesteuerten Übergangsregel erla ben und ahrscheinlichkeitsgeste erten erlauben nd der indirekten Kommunikation über Pheromon erhalten. • Bestimme ein Maß für die heuristische Wünschbarkeit η von Übergängen. • Bestimme eine wahrscheinlichkeitsgesteuerte Übergangsregel. • Finde eine Constraint-Satisfaction-Methode um die Zulässigkeit Constraint Satisfaction Methode, von Lösungen zu erzwingen. • Definiere Pheromon-Aktualisierungs-Regel. R. Mittermeir - 44 - © Mittermeir Universität Klagenfurt Seite 22
  • 23. Things to Remember • Generalisierung von Problemen führt oft erst zur effizienten Lösbarkeit. • Wahrscheinlichkeitsbasierte Algorithmen sind nicht „exakt“, aber bei NP-vollständigen Problemen sehr effizient und effektiv. • Kooperationsstrategie schlägt Einzelkämpfertum. • Biologische Lösung diente der Inspiration, realer (Simulations-)Algorithmus weicht von der (Simulations )Algorithmus Initiallösung ab. • Zu starker Fokus auf rasche Konvergenz führt zu suboptimalen Lösungen. R. Mittermeir - 45 - © Mittermeir Universität Klagenfurt Danke für die Aufmerksamkeit ! R. Mittermeir - 46 - © Mittermeir Universität Klagenfurt Seite 23
  • 24. Referenzen [BoDoTh 99] Bonabeau E., Dorigo M., Theraulaz G.: Swarm Intelligence – From Natural to Artificial Systems; Oxford University Press, 1999. [ [BlRo 03] ] Blum C., Roli A.: Metaheuristics in combinatorial optimization: , p Overview and conceptual comparison. ACM Computing Surveys, 35(3), pp. 268 – 308. [DeAGP 90] Deneubourg J.-L., Aron S., Goss S., Pasteels J.-M.: The Self- Organizing Exploratory Pattern of the Argentine Ant. Journal of Insect Behavior, 3, (1990), pp. 159 - 168. [Dorigo 92] Dorigo M.: Optimization, Learning and Natural Algorithms. PhD thesis, Dipartimento di Elettronica, Politechnico di Milano, Milan. [DoGa 97a] Dorigo M., Gambardella L.M.: Ant colonies for the traveling salesman problem. BioSystems, 43 (2)pp 73 – 81. [DoGa 97b] Dorigo M., Gambardella L.M.: Ant Colony System: A cooperative learning approach to the traveling salesman problem. IEEE Trans on Evolutionary Computation, 6(4), pp. 31- 365. [DoSt 04] Dorigo M, Stützle T.: Ant Colony Optimization, MIT Press, 2004. R. Mittermeir - 47 - © Mittermeir Universität Klagenfurt R. Mittermeir - 48 - © Mittermeir Universität Klagenfurt Seite 24