9 - Organic Computing [ID:10835]
50 von 466 angezeigt

Schönen guten Morgen. Nachdem wir jetzt beim letzten Mal das Hauptaugenmerk darauf gelegt hatten,

wie man was beweist bei genetischen Algorithmen, ist es heute so, dass wir eben nicht mal dem

Spielbeispiel des Sortierens uns genetische Algorithmen anschauen wollen, sondern halt

wirklich an einem ganz normalen kombinatorischen Problem, nämlich dem Rundreiseproblem.

Und das, was wir uns da bei uns anschauen wollen, ist eben jetzt, dass wir wirklich

mal so einen Evolutionsprozess nachahmen.

Wir hatten ja noch bei dem Sortieren nicht, dass wir eine Elternpopulation hatten, die

dann Nachkommen generiert hat, sondern wir haben halt ausschließlich ein Individuum

gehabt, das dann halt mutiert wurde.

Jetzt wird halt auch weiter geschaut, dass man halt sozusagen zwei Eltern nimmt, aus

den beiden Eltern ein neues Individuum kreiert und dann halt den besten von all denen nimmt.

Also das, was man da dann halt als Oberbegriff sieht, ist dann halt das Survival of the fittest.

Ja, das, was wir uns anschauen wollen, ist ja auch schon ein uns bekanntes Problem, nämlich

das Rundreiseproblem.

Da ist halt gegeben ein Graf, Sie sehen es hier, ein sehr komplizierter Graf, nur vier

Knoten.

Der Graf ist kantengewichtet und so, wie wir es jetzt an der Stelle uns vorstellen, ist

es so, dass alle mit allen verbunden sind.

Wir werden am Ende nochmal dann schauen, wie wir damit umgehen, wenn nicht alle mit allen

verbunden sind, sondern wir einen ganz normalen Graf nahmen, wo ein paar Knoten mit ein paar

anderen verbunden sind, die wieder mit ein paar anderen verbunden sind und so weiter.

Da ist es halt so, dass man dann halt sagt, ja, die sind auch wieder alle untereinander

verbunden, aber die, wo wir keine direkte Kante haben, die sind halt über den kürzesten

Weg über schon vorhandene Knoten verbunden und wenn wir jetzt dann eine Rundreise haben,

dann werden eben doch Knoten doppelt besucht, aber beim zweiten Mal fahren wir einfach auf

der Umgehungsstraße an dem Ort vorbei.

So haben wir dann eben doch wieder einen vollständigen Grafen und wir ignorieren dann, dass wir

dann Knoten nochmal besuchen, sondern wie gesagt, wir fahren einfach an der Stadt dann vorbei.

Also das ist das, was die Eingabe ist und gesucht ist eben, wie wir das bei den Ameisen

ja auch schon hatten, eine kürzeste Rundreise da drauf und ja, jetzt nehmen wir mal alles,

was wir schon gelernt haben.

Also wir müssen uns jetzt überlegen, wie wir eine Rundreise da drauf codieren.

Das hatten wir ja schon als Genotyp bezeichnet, also ein Genotyp für eine Rundreise ist jetzt,

wenn wir bei der Mutation hinschreiben und zwar so, da wo wir starten, wir starten jetzt

hier beim Knoten 1 und dann haben wir den Scham 1, 3, 4, 2, dann ist halt unsere Rundreise

1, 3, 4, 2 und dann müssen wir wieder zurück und das ist dann halt das, was wir ausgeben

und die Länge der Rundreise ist dann natürlich das, was an den Kanten steht, also 1, 3 hat

die Länge 2, dann 3, 4 hat die Länge 10, also bisher haben wir 12 zurückgelegt, wenn

wir dann nach oben gehen 14 und nochmal 2 sind dann 16.

Das wäre also eine Rundreise der Länge 16 und unser Ziel ist es, eine kürzeste Rundreise

zu machen.

An der Stelle sage ich auch immer ganz gerne, natürlich könnte man es genauso gut formulieren

als längste Rundreise, da ist dann eben das, was hier an den Kanten dran steht, nicht so

Kilometer, sondern da ist das dann Gewinn.

Also wenn ich zuerst nach da fahre und dann nach da, dann ist der Gewinn halt 10 und wenn

ich hier langfahre, ist dann der Gewinn nur 4, also auch das Problem an der längste Rundreise

zu finden ist ein interessantes Problem, aber es ist von der Komplexität her genauso

schwierig, also das Entscheidungsproblem dazu ist halt NP-vollständig, das heißt wir werden

ganz sicher keinen, ganz sicher sollte man nie sagen, wir werden vermutlich keinen Polynomenzeit-Algorithmus,

einen schnellen Algorithmus für das Rundreiseproblem angeben können, der auch wirklich die beste

Teil einer Videoserie :

Zugänglich über

Offener Zugang

Dauer

00:44:37 Min

Aufnahmedatum

2013-06-18

Hochgeladen am

2019-04-28 20:19:03

Sprache

de-DE

Unter Organic Computing (OC) versteht man den Entwurf und den Einsatz von selbst-organisierenden Systemen, die sich den jeweiligen Umgebungsbedürfnissen dynamisch anpassen. Diese Systeme zeichnen sich dadurch aus, dass sie die sog. Self-*-Eigenschaft besitzen, d.h. sie sind selbst-konfigurierend, selbst-optimierend, selbst-heilend, selbst-schützend, selbst-erklärend, ...
Als Vorbild für solche technischen Systeme werden Strukturen und Methoden biologischer und anderer natürlicher Systeme gewählt.

Literatur:

 

  • Ch. Müller-Schloer, Ch. von der Malsburg, R. P. Würt. Organic Computing. Informatik-Spektrum, Band 27, Nummer 4, S. 332-336. (LINK)
  • I. C. Trelea. The particle swarm optimization algorithm: convergence analysis and parameter selection. Information Processing Letters 85 (2003) 317-325. (LINK)

  • J. M. Kleinberg. Authoritative sources in a hyperlinked environment. Journal of the ACM 46 (1999) 604-632. (LINK)

  • M. Dorigo. V. Maniezzo. A Colorni. Ant system: an autocatalytic optimizing process. Technical Report 91-016, Politecnico di Milano, 1991. (LINK)

  • A. Badr. A. Fahmy. A proof of convergence for Ant algorithms. Information Sciences 160 (2004) 267-279.

  • M. Clerc. J. Kennedy. The particle swarm - Explosion, stability, and convergence in a multidimensional complex space. IEEE Transactions on Evolutionary Computation 8 (2002) 58-73.

Einbetten
Wordpress FAU Plugin
iFrame
Teilen