69
Evolution¨ are Optimierung von Sortiernetzwerken Florian Forster 20. M¨ arz 2011 Zusammenfassung Sortiernetzwerke erweisen sich als sehr schwieriges Optimierungsproblem. Zwar ist das Konzept leicht verst¨ andlich und schnell erkl¨ art, effiziente und schnelle Sortiernetz- werke zu finden oder zu konstruieren bleibt aber eine Herausforderung. Diese Arbeit verwendet Schnitte“ oder Leitungselimination“ und Mischer-Netz- werke, um evolution¨ are Algorithmen anzugeben, deren Individuen die Menge der g¨ ulti- gen Sortiernetzwerke nie verlassen. Bisherige Ans¨ atze bewegten sich in der Regel in der Menge aller Komparatornetzwerke und suchten dort nach Sortiernetzwerken. Nach dem Vorstellen der zwei Algorithmen SN-Evolution und SN-Evolution-Cut so- wie einiger Ergebnisse, die mit diesen Algorithmen erzielt werden konnten, wird – basierend auf dem evolution¨ aren Algorithmus SN-Evolution – eine Markov-Kette ur Sortiernetzwerke angegeben. 1

Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

Evolutionare Optimierung von Sortiernetzwerken

Florian Forster

20. Marz 2011

Zusammenfassung

Sortiernetzwerke erweisen sich als sehr schwieriges Optimierungsproblem. Zwar istdas Konzept leicht verstandlich und schnell erklart, effiziente und schnelle Sortiernetz-werke zu finden oder zu konstruieren bleibt aber eine Herausforderung.

Diese Arbeit verwendet”Schnitte“ oder

”Leitungselimination“ und Mischer-Netz-

werke, um evolutionare Algorithmen anzugeben, deren Individuen die Menge der gulti-gen Sortiernetzwerke nie verlassen. Bisherige Ansatze bewegten sich in der Regel inder Menge aller Komparatornetzwerke und suchten dort nach Sortiernetzwerken. Nachdem Vorstellen der zwei Algorithmen SN-Evolution und SN-Evolution-Cut so-wie einiger Ergebnisse, die mit diesen Algorithmen erzielt werden konnten, wird –basierend auf dem evolutionaren Algorithmus SN-Evolution – eine Markov-Kettefur Sortiernetzwerke angegeben.

1

Page 2: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

Eidesstattliche Erklarung

Ich versichere, dass ich die vorliegende wissenschaftliche Arbeit selbststandig verfasst undkeine anderen als die angegebenen Hilfsmittel verwendet habe. Die Stellen der Arbeit, dieanderen Werken dem Wortlaut oder dem Sinn nach entnommen sind, wurden unter Angabeder Quelle als Entlehnung deutlich gemacht. Das Gleiche gilt auch fur beigegebene Skizzenund Darstellungen. Diese Arbeit hat in gleicher oder ahnlicher Form meines Wissene nachnoch keiner Prufungsbehorde vorgelegen.

Munchen, den 20. Marz 2011,

Florian Forster

2

Page 3: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

INHALTSVERZEICHNIS INHALTSVERZEICHNIS

Inhaltsverzeichnis

1 Motivation und Einleitung 41.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.2 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2.1 Sortiernetzwerke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.2.2 Evolutionare Algorithmen . . . . . . . . . . . . . . . . . . . . . . . . 7

2 Konstruktionsverfahren 102.1 Das Odd-Even-Transpositionsort-Netzwerk . . . . . . . . . . . . . . . . . . 102.2 Das bitone Mergesort-Netzwerk . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.2.1 Der bitone Mischer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.2.2 Das bitone Mergesort-Netzwerk . . . . . . . . . . . . . . . . . . . . . 13

2.3 Das Odd-Even-Mergesort-Netzwerk . . . . . . . . . . . . . . . . . . . . . . . 142.3.1 Der Odd-Even-Mischer . . . . . . . . . . . . . . . . . . . . . . . . . . 142.3.2 Das Odd-Even-Mergesort-Netzwerk . . . . . . . . . . . . . . . . . . . 17

3 Transformation von Sortiernetzwerken 183.1 Komprimieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.2 Normalisieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.3 Zwei Netzwerke kombinieren . . . . . . . . . . . . . . . . . . . . . . . . . . . 193.4 Leitungen entfernen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.4.1 Anzahl moglicher und unterschiedlicher Schnittmuster . . . . . . . . 21

4 Der SN-Evolution-Algorithmus 254.1 Bewertungsfunktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254.2 Selektion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264.3 Rekombination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274.4 Mutation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274.5 Bitoner Mischer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284.6 Odd-Even-Mischer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284.7 Zufalliger Mischer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

5 Der SN-Markov-Algorithmus 37

6 SN-Evolution-Cut 406.1 Bitones Mergesort-Netzwerk . . . . . . . . . . . . . . . . . . . . . . . . . . . 406.2 Odd-Even-Mergesort-Netzwerk . . . . . . . . . . . . . . . . . . . . . . . . . 506.3 Pairwise-Sorting-Netzwerk . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

7 Fazit und Ausblick 667.1 Ausblick: Das Pairwise-Sorting-Netzwerk und SN-Evolution . . . . . . . 667.2 Ausblick: Kooperation von SN-Evolution und SN-Evolution-Cut . . . 67

8 Implementierung 68

3

Page 4: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

1 MOTIVATION UND EINLEITUNG

Abbildung 1: Einfaches Komparatornetzwerk mit 4 Ein- beziehungsweise Ausgangen, be-stehend aus 5 Komparatoren.

1 Motivation und Einleitung

1.1 Motivation

Sortiernetzwerke sind ein theoretisches Konstrukt, dass auch von Personen ohne Zugangzum Thema, beziehungsweise der theoretischen Informatik, schnell verstanden werdenkann. Eine Einfuhrung wird in Abschnitt 1.2.1 gegeben. Nichtsdestotrotz ist das Findenvon Sortiernetzwerken sowie das Beweisen, dass ein Komparatornetzwerk jede beliebigeEingabe sortiert, im Allgemeinen sehr schwierig und nach heutigem Kenntnisstand nurmit exponentiellem Aufwand zu bewaltigen.

Einfacher ist der Korrektheitsbeweis bei konstruktiven Verfahren, da hier die Kon-struktionsvorschrift genutzt werden kann, um die Korrektheit fur beliebige Eingabegroßenzu beweisen. Im Abschnitt 2 geschieht dies beispielsweise fur zwei von Kenneth E. Batcher1968 gefundene Konstruktionsvorschriften.

Um effiziente und schnelle Sortiernetzwerke zu finden, wurden schon wiederholt Com-puter und automatische Suchverfahren eingesetzt. Bisherige Ansatze versuchen meist inder Menge aller Komparatornetzwerke jene zu finden, die die Sortiereigenschaft besit-zen und aus wenigen Komparatoren bestehen. Die Eigenschaft, jede Eingabepermutationzu sortieren, ist also ein Optimierungsziel und nicht durch das Vorgehen gewahrleistet.Dafur konnen theoretisch alle Sortiernetzwerke durch diese Algorithmen gefunden werden– genugend Laufzeit vorausgesetzt.

In dieser Arbeit werden Methoden verwendet, die die Menge der Sortiernetzwerke nieverlassen, dafur aber auch nicht alle existierenden Sortiernetzwerke erzeugen konnen. Somuss fur ein gefundenes Komparatornetzwerk nicht mehr nachgewiesen werden, dass esjede beliebige Eingabe sortiert, weil diese Eigenschaft durch das Verfahren sichergestelltist.

1.2 Einleitung

1.2.1 Sortiernetzwerke

Komparatoren sind die Bausteine, die Komparatornetzwerken zugrunde liegen. Sie habenzwei Eingange uber die sie zwei Zahlen erhalten konnen und zwei Ausgange, auf denendie Zahlen wieder ausgegeben werden. Dabei sind die Ausgange im Gegensatz zu denEingangen unterscheidbar, da die großere der beiden Zahlen immer auf dem einen, diekleinere der beiden Zahlen immer auf dem anderen Ausgang ausgegeben wird.

Kombiniert man mehrere Komparatoren in der Form miteinander, dass die Ausgangeeines Komparators mit Eingangen weiterer Komparatoren verbunden sind, erhalt man einKomparatornetzwerk.

Abbildung 1 zeigt ein einfaches Komparatornetzwerk aus funf Komparatoren. Insge-samt gibt es vier verschiedene Eingange und vier Ausgange. Die Ein- und Ausgange wer-

4

Page 5: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

1.2 Einleitung 1 MOTIVATION UND EINLEITUNG

Abbildung 2: Ein Komparatornetzwerk mit 9 Eingangen und 24 Komparatoren, die in8 Schichten angeordnet sind. Das Netzwerk sortiert alle Eingaben, bei denen das Minimumnicht auf dem mittleren Eingang liegt.

den durch eine horizontale Linie dargestellt und als Leitung bezeichnet. Die Komparato-ren sind durch vertikale Pfeile dargestellt und verbinden je zwei verschiedene Leitungenmiteinander. Die Verbindungsstellen von Leitungen und Komparatoren sind zur besserenUbersichtlichkeit durch schwarze Punkte symbolisiert.

Auf der linken Seite befinden sich die Eingange. Hier wird eine Zahlenfolge in das Netz-werk hinein gegeben. Jeder Komparator vergleicht die Zahlen

”auf“ den beiden Leitungen,

die er verbindet. Nach einem Komparator befindet sich die kleinere Zahl immer auf derLeitung, auf die der Pfeil zeigt, die großere Zahl befindet sich auf der Leitung, auf der derPfeil seinen Ursprung hat. Wenn in einem Komparatornetzwerk alle Komparatoren in diegleiche Richtung zeigen – die Konvention in dieser Arbeit ist, dass das Minimum auf derunteren Leitung ausgegeben wird – werden die Pfeile durch einfache Linien ersetzt. Zudiesen sogenannten Standard-Netzwerken siehe auch Abschnitt 3.2.

Komparatoren, die unterschiedliche Leitungen miteinander vergleichen, konnen gleich-zeitig angewendet werden. Das Beispiel in Abbildung 1 verwendet diesen Umstand undvergleicht die zwei oberen und die zwei unteren Leitungen gleichzeitig. Eine Gruppe vonKomparatoren, die gleichzeitig angewendet werden konnen, nennt man eine Schicht desKomparatornetzwerks. Die Geschwindigkeit eines Komparatornetzwerks ist gleichbedeu-tend mit der Anzahl der Schichten, in die sich die Komparatoren mindestens gruppierenlassen, da sie die Anzahl der benotigten parallelen Schritte darstellt.

Komparatornetzwerke, die fur jede Eingabefolge eine Ausgabe erzeugen, die der Sortie-rung der Eingabe entspricht, heißen Sortiernetzwerke. Das in Abbildung 1 gezeigte Kom-paratornetzwerk ist kein Sortiernetzwerk: Die Eingabefolge (1, 2, 3, 4) fuhrt zur Ausgabe(2, 1, 3, 4) – die bestehenden Sortierung wird also sogar zerstort.

Zu beweisen, dass ein gegebenes Komparatornetzwerk die Sortiereigenschaft nicht hat,

5

Page 6: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

1.2 Einleitung 1 MOTIVATION UND EINLEITUNG

ist mit einem gegebenen Gegenbeispiel einfach moglich. Das Komparatornetzwerk wird aufdas Gegenbeispiel angewendet und anschließend wird uberpruft, ob die Ausgabe sortiertist. Ist sie es nicht, heißt das, dass es mindestens eine Eingabefolge gibt, die nicht sortiertwird. Entsprechend der Definition handelt es sich bei dem Komparatornetzwerk folglichnicht um ein Sortiernetzwerk. Ein solches Gegenbeispiel fur ein gegebenes Komparator-netzwerk zu finden ist nach heutigem Kenntnisstand jedoch nicht effizient1 moglich.

Beispielsweise sortiert das im Rahmen dieser Arbeit entdeckte Komparatornetzwerk inAbbildung 2 viele der 362.880 moglichen Eingabepermutationen. Mit dem Gegenbeispiel(3, 5, 2, 1, 0, 7, 4, 8, 6) lasst sich jedoch leicht beweisen, dass das Komparatornetzwerk dieSortiereigenschaft nicht besitzt, da es in diesem Fall die Folge (1, 0, 2, 3, 4, 5, 6, 7, 8) ausgibt.

Insgesamt gibt es n! Permutationen von n Elementen. Wenn ein Komparatornetz-werk die Sortiereigenschaft besitzt, bildet es alle diese Permutationen auf die sortierteReihenfolge ab. Allerdings wachst n! so schnell, dass ein Ausprobieren aller moglichenPermutationen schon bei 16 Leitungen praktisch nicht mehr zu bewerkstelligen ist.2

Glucklicherweise reicht es aus, alle moglichen 0-1-Folgen zu uberprufen, wie Donald E.Knuth in [9] zeigt. Die Beweisidee ist folgende: Angenommen ein Komparatornetzwerksortiert alle 0-1-Folgen und es gibt eine Permutation E = (e0, . . . , en−1) beliebiger Zahlen,die nicht sortiert wird. Die Ausgabefolge sei A = (a0, . . . , an−1). Sei i eine Position in derAusgabe, die die Sortierbedingung verletzt:

a0 5 a1 5 · · · 5 ai−1 > ai . . .

Die Eingabe kann mittels

ej =

{0 ej 5 ai1 ej > ai

auf eine 0-1-Folge abgebildet werden, die entsprechend der Annahme vom Komparator-netzwerk sortiert wird. Allerdings verandert diese Abbildung das Verhalten jedes einzelnenKomparators nicht: Wenn bei der Permutation eine Zahl großer als ai und eine Zahl kleineroder gleich ai verglichen wurden, liegen jetzt entsprechend eine Null und eine Eins an, diegenauso vertauscht werden oder nicht, wie das bei der Permutation der Fall war. Liegenzwei Nullen oder zwei Einsen an, entsprechen sie zwei Zahlen kleiner als ai, beziehungs-weise zwei Zahlen großer oder gleich ai. Da im Fall der 0-1-Folge zwei gleiche Zahlen amKomparator anliegen, durfen wir davon ausgehen, dass sich der Komparator so verhalt,wie er sich bei der Permutation verhalten hat – ohne das Ergebnis zu beeinflussen. Ent-sprechend mussen an den Ausgangen i − 1 und i eine Null und eine Eins in der falschenReihenfolge ankommen. Das steht im Widerspruch zu der Annahme, dass alle 0-1-Folgensortiert werden.

Im Gegensatz zum Uberprufen aller moglichen Permutationen, was mit dem AufwandΘ(√n(ne

)n)verbunden ist, besitzt das Uberprufen aller 0-1-Folgen

”nur“ den Aufwand

Θ(2n). Entsprechend ist dieses Verfahren nicht effizient – ein schnelleres Verfahren istbisher allerdings nicht bekannt.

Um zu uberprufen, ob ein Komparatornetzwerk mit 16 Leitungen die Sortiereigen-schaft besitzt, sind mit dieser Methode nur 65.536 Tests notwendig – eine Zahl, die furaktuelle Prozessoren keine Herausforderung darstellt. Fur die Uberprufung eines Kompa-ratornetzwerks mit 32 Leitungen sind jedoch bereits etwa 4,3 Milliarden Tests notwendig,die einen Rechner durchaus mehrere Stunden beschaftigen. Das ist deshalb problema-tisch, weil die im Folgenden vorgestellten Evolutionaren Algorithmen eine entsprechende

1In diesem Zusammenhang heißt effizient, dass keine Algorithmen bekannt sind, die eine polynomielleLaufzeit (in Abhangigkeit von der Eingabelange) haben.

21.307.674.368.000 Permutationen

6

Page 7: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

1.2 Einleitung 1 MOTIVATION UND EINLEITUNG

Uberprufung in jeder Iteration durchfuhren mussten. Wenn die Uberprufung eines Zwi-schenergebnisses drei Stunden in Anspruch nimmt, sind fur eine Million Iterationen etwa340 Jahre Rechenzeit notwendig. Selbst wenn die Berechnung auf 1000 Computern mit je4 Prozessoren verteilt wird, wird etwa ein Monat fur einen Lauf benotigt.

1.2.2 Evolutionare Algorithmen

Viele kombinatorische Optimierungsprobleme sind schwer zu losen – die entsprechendenEntscheidungsprobleme liegen oft in der Komplexitatsklasse NP-vollstandig. Das heißt,dass keine Verfahren bekannt sind, die diese Probleme effizient exakt losen. Sollte sichherausstellen, dass diese Probleme außerhalb der Komplexitatsklasse P liegen, ware eineKonsequenz, dass es fur diese Probleme keine effizienten exakten Algorithmen gibt. Stelltsich hingegen heraus, dass diese Probleme neben NP-vollstandig auch in der Komple-xitatsklasse P liegen, gibt es effiziente Algorithmen. Es ist jedoch wahrscheinlich, dassdie Zeitkonstanten solcher Algorithmen sehr groß waren, so dass der praktische Nutzenfraglich bleibt.

Aus diesem Grund besteht die Notwendigkeit, einen Kompromiss einzugehen: Statt dieoptimale Losung, beziehungsweise eine der optimalen Losungen als einzige Ausgabe desAlgorithmus zuzulassen, wird eine

”moglichst gute“ Losung ausgegeben. Dafur verringert

sich die Laufzeit des Algorithmus. Viele dieser Optimierungsalgorithmen orientieren sichan Vorgangen in der Natur. Beispielsweise imitieren die

”Ameisenalgorithmen“ das Ver-

halten von Ameisen auf der Futtersuche, um kurze Rundreisen auf Graphen zu berechnen.Bei Evolutionaren Algorithmen stand die Evolution Pate. Die Grundidee ist, bekannte

Losungen zu neuen – unter Umstanden besseren – Losungen zu kombinieren. Dabei be-dient man sich der in der Evolutionstheorie etablierten Nomenklatur, beispielsweise werdenkonkrete Losungen fur ein Problem als Individuen bezeichnet.

Die Vorgehensweise lasst sich abstrakt wie folgt beschreiben: Aus einer bestehendenLosungsmenge, der Population, werden zufallig Losungen ausgesucht (Selektion) und zueiner neuen Losung kombiniert (Rekombination). Unter Umstanden wird die neue Losungnoch zufallig verandert (Mutation), bevor sie in die bestehende Losungsmenge eingefugtwird. Die verwendeten Wahrscheinlichkeiten, beispielsweise bei der Selektion, sind dabeinicht zwangslaufig gleichverteilt – ublicherweise werden bessere Losungen bevorzugt. ZurBewertung dient die sogenannte Gutefunktion.

Nicht alle Probleme eignen sich fur diese Strategie. Zum einen muss es moglich sein, eineinitiale Population zur Verfugung zu stellen, da diese als Basis aller weiteren Operationendient. Das ist haufig keine große Einschrankung, da es oft einfach ist, irgendeine Losunganzugeben. Die angegebenen Algorithmen verwenden als einfache initiale Losung haufigdas Odd-Even-Transpositionsort-Netzwerk, das in Abschnitt 2.1 beschrieben wird. Zumanderen muss eine Methode fur die Rekombination existieren. Das ist insbesondere dannproblematisch, wenn Nebenbedingungen eingehalten werden mussen. Die in dieser Arbeitverwendeten Rekombinationsmethoden sind so gewahlt, dass die Nebenbedingungen nichtverletzt werden.

Beim Aussuchen von zufalligen Losungen aus der Population, der Selektion, werdengute Losungen bevorzugt. Wie sehr diese Losungen bevorzugt werden, hat einen starkenEinfluss auf das Verhalten des Algorithmus. Werden gute Losungen stark bevorzugt, kon-vergiert der Algorithmus schnell gegen ein (lokales) Optimum. Dieses Exploitation (Eng-lisch fur

”Ausnutzung“) genannte Verhalten sorgt dafur, dass sich der Algorithmus schnell

auf eine Losung festlegt und andere, moglicherweise bessere lokale Optima nicht mehrfindet. Werden gute Losungen hingegen nur wenig bevorzugt, erforscht der Algorithmusden Losungsraum in viele Richtungen. Dieses Exploration (Englisch fur

”Erforschung“)

7

Page 8: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

1.2 Einleitung 1 MOTIVATION UND EINLEITUNG

genannte Verhalten sorgt zwar dafur, dass der Algorithmus langsamer auf ein Optimumzusteuert, dafur findet er aber in der Regel bessere Losungen. Die Rolle, die Exploitationund Exploration bei evolutionaren Optimierungsalgorithmen spielen, wird von Eiben undSchippers in [4] untersucht.

Die Parameter evolutionarer Algorithmen so einzustellen, dass sich ein guter Mittelwegzwischen den beiden Extremen einstellt, ist eine Aufgabe, die sich nur experimentell losenlasst. Die genauen Parameter hangen nicht nur vom eigentlichen Algorithmus, sondernauch vom konkreten Problem ab, so dass sich beispielsweise bei der Optimierung von Sor-tiernetzwerken die Parameter zwischen verschiedenen Leitungszahlen stark unterscheiden.Einen Uberblick geben Kalyanmoy Deb und Samir Agrawal in [3].

Die Erforschung (Exploration) kann von einem weiteren Mechanismus unterstutzt wer-den, der ebenfalls der Evolutionslehre entliehen ist, der Mutation. Dabei werden Losungenzufallig verandert, so dass auch andere Losungen

”in der Nahe“ von direkten Nachfolgern

erreicht werden konnen. Das hilft insbesondere bei der intensiven Suche in der Nahe ei-nes lokalen Optimums aber auch beim

”Ausbrechen“ aus lokalen Optima und finden noch

besserer Losungen.Bei Sortiernetzwerken ist eine Mutation leider immer damit verbunden, dass anschlie-

ßend die Sortiereigenschaft des resultierenden Komparatornetzwerks wieder uberpruft wer-den muss, da selbst das Hinzufugen eines zufalligen Komparators diese Eigenschaft zer-storen kann. Beim Suchen moglichst effizienter Netzwerke ist das zufallige Entfernen vonKomparatoren interessanter, was die Sortiereigenschaft fast immer aufhebt.

Die im Folgenden beschriebenen Algorithmen mutieren (verandern) daher nicht dieSortiernetzwerke selbst, sondern verzichten entweder ganz auf Mutation oder mutieren le-diglich Transformationen von Sortiernetzwerken, die die Sortiereigenschaft erhalten. Trans-formationen von Sortiernetzwerken werden in Abschnitt 3 beschrieben, ein Algorithmus,der Mutation einsetzt, wird in Abschnitt 6 vorgestellt.

Evolutionare Algorithmen wurden bereits mehrfach eingesetzt, um Sortiernetzwerke zuuntersuchen. W. Daniel Hillis verwendete Co-Evolution um neben Komparatornetzwerkenauch

”schwierige Eingaben“ zu optimieren [7]. Diese Parasiten genannten Eingaben wur-

den daran gemessen, bei wie vielen Komparatornetzwerken sie beweisen konnten, dass siekeine Sortiernetzwerke sind. So mussten bei neuen Individuen (Komparatornetzwerken)nicht alle 0-1-Folgen, sondern nur erfolgreiche Parasiten (schwierige Eingaben) uberpruftwerden. Auf diese Art und Weise gelang es Hillis ein 16-Sortiernetzwerk mit 61 Kompa-ratoren anzugeben, das in Abbildung 3 zu sehen ist.

Michael L. Harrison und James A. Foster nutzten ebenfalls Co-Evolution in [6], um dieStabilitat von Sortiernetzwerken zu erhohen. Die zweite Population bestand aus Fehlern –der Information, welche Komparatoren defekt, beziehungsweise inaktiv sind. So generierteSortiernetzwerke konnen auch dann noch fur viele Eingaben eine korrekt sortierte Ausgabeerzeugen, wenn ein oder mehrere Komparatoren (zufallig) entfernt werden.

Hugues Juille entwickelte ein Verfahren, das er Evolving Non-Determinism (END)nannte [8]. Dabei handelt es sich nicht um einen der Evolutionaren Algorithmen, wie siehier vorgestellt wurden, sondern um eine verteilte, probabilistische Breitensuche, die andie Strahlsuche (englisch: beam search), ein Verfahren der Kunstlichen Intelligenz, an-gelehnt ist. Die aufwendigste Operation bei diesem Ansatz ist die Bewertungsfunktion,die abschatzt, wie viele Komparatoren zu einem Komparatornetzwerk hinzugefugt werdenmussen, um ein Sortiernetzwerk zu erhalten. Mit diesem Ansatz gelang es Juille zwei 13-Sortiernetzwerke anzugeben, die mit 45 Komparatoren effizienter sind als alle bis dahinbekannten (Abbildung 4).

8

Page 9: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

1.2 Einleitung 1 MOTIVATION UND EINLEITUNG

Abbildung 3: Das 16-Sortiernetzwerk, das Hillis in [7] angibt. Es besteht aus 61 Kompa-ratoren in 11 Schichten.

Abbildung 4: 13-Sortiernetzwerke, die von Hugues Juille mithilfe des END-Algorithmusgefunden wurden. Sie bestehen jeweils aus 45 Komparatoren in 10 Schichten.

9

Page 10: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

2 KONSTRUKTIONSVERFAHREN

Abbildung 5: Das Odd-Even-Transpositionsort-Netzwerk mit 8 Eingangen.

2 Konstruktionsverfahren fur Sortiernetzwerke

Die bekannten Konstruktionsverfahren fur Sortiernetzwerke, insbesondere ein haufig ver-wendeter Baustein, sogenannte Mischer3, bilden die Grundlage fur die beschriebenen evo-lutionaren Algorithmen beziehungsweise dienen als initiale Eingabe. Im Folgenden werdendaher drei Konstruktionsverfahren vorgestellt.

2.1 Das Odd-Even-Transpositionsort-Netzwerk

Das Sortiernetzwerk Odd-Even-Transpositionsort (OET) ist eines der einfachsten Sortier-netzwerke. Es besteht aus n Schichten, die jede

”Leitung“ abwechselnd mit den benach-

barten Leitungen verbindet. Abbildung 5 zeigt das OET-Netzwerk fur n = 8 Leitungen.Dass das Odd-Even-Transpositionsort-Netzwerk tatsachlich jede beliebige Eingabe sor-

tiert, ist nicht offensichtlich. Leicht zu sehen ist jedoch, dass sowohl das Minimum als auchdas Maximum durch das im Netzwerk enthaltene Treppenmuster auf die unterste bezie-hungsweise oberste Leitung gelangt.

Die Sortiereigenschaft großerer OET-Netzwerke lasst sich rekursiv beweisen, indemman OET(n) auf OET(n − 1) durch Herausschneiden einer Leitung reduziert. In Ab-schnitt 3.4 wird das Vorgehen im Detail beschrieben, Abbildung 13 zeigt das Herausschnei-den einer Leitung aus OET(8). Die Rekursion endet beim Odd-Even-Transpositionsort-Netzwerk mit drei Eingangen, bei dem das Minimum auf der untersten, das Maximumauf der obersten und der mittlere Wert auf der mittleren Leitung landet. Folglich ist dieAusgabe bei OET(3) sortiert.

Das Odd-Even-Transpositionsort-Netzwerk ist weder in Bezug auf die Anzahl der Kom-paratoren noch in Bezug auf die Anzahl der Schichten, in denen sich die Komparatorenanordnen lassen, effizient. Es benotigt 1

2n(n− 1) = Θ(n2) Komparatoren, die in n Schich-ten angeordnet sind. Die im Folgenden vorgestellten Sortiernetzwerke benotigen deutlichweniger Komparatoren, (Θ(n log(n)2)), die in weniger Schichten, (Θ(log(n)2)), angeordnetsind.

Das Interessante am OET-Netzwerk ist seine einfache Konstruktion. Einige der folgen-den Algorithmen benotigen ein moglichst einfaches Sortiernetzwerk als Starteingabe, auf

3Eine Fehlubersetzung aus dem Englischen, von to merge (Deutsch: zusammenfugen). Da der Begriff des

”mischens“ beziehungsweise der

”Mischer“ in der Literatur sehr weit verbreitet ist, werden diese Begriffe

in dieser Arbeit trotzdem verwendet.

10

Page 11: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

2.2 Das bitone Mergesort-Netzwerk 2 KONSTRUKTIONSVERFAHREN

dessen Basis sie versuchen optimierte Sortiernetzwerke zu finden. Haufig dient OET(n) alsEingabe fur diese Algorithmen.

Außerdem bedienen sich die Algorithmen der Technik des Herausschneidens einer,beziehungsweise mehrerer Leitungen, um die Anzahl der Leitungen eines Sortiernetzwerkszu reduzieren. Die Technik wird in Detail im Abschnitt 3.4 beschrieben.

2.2 Das bitone Mergesort-Netzwerk

Das bitone Mergesort-Netzwerk (BS(n)) ist ein Sortiernetzwerk, das 1968 von Kenneth E.Batcher in [2] veroffentlicht wurde. Es ist deutlich effizienter als das Odd-Even-Transposi-tionsort-Netzwerk – sowohl in Bezug auf die Anzahl der Komparatoren als auch derbenotigten Zeit, also der Anzahl der Schichten.

Das Sortiernetzwerk basiert auf einem Komparatornetzwerk, welches zwei sortierteListen zusammenfugen (Englisch: to merge) kann. Dieser

”bitone Mischer“ (Englisch:

bitonic merger) genannte Baustein verleiht dem Sortiernetzwerk seinen Namen.Da das Sortiernetzwerk rekursiv definiert ist, betrachten wir hier nur die Instanzen des

Netzwerks, deren Leitungszahl n = 2d eine Zweierpotenz ist. Es ist jedoch moglich, dasSortiernetzwerk fur beliebige n zu erzeugen.

2.2.1 Der bitone Mischer

Das bitone Mergesort-Netzwerk basiert auf dem sogenannten bitonen Mischer BM(n),einem Komparator-Netzwerk, das eine beliebige bitone Folge in eine sortierte Liste um-ordnen kann. Eine bitone Folge ist eine monoton steigende Folge, gefolgt von einer monotonabsteigenden Folge, oder ein zyklischer Shift davon. Abbildung 6 zeigt die vier prinzipiel-len Moglichkeiten, die durch zyklische Shifts entstehen konnen. Die wichtigsten Variantenfur das bitone Mergesort-Netzwerk zeigen die Abbildungen 6(a) und 6(b). Sie erhalt man,wenn man eine aufsteigend und eine absteigend sortierte Liste aneinanderhangt. Bei denanderen beiden Formen ist wichtig zu beachten, dass das letzte Element nicht großer (Ab-bildung 6(c)) beziehungsweise kleiner (Abbildung 6(d)) als das erste Element der Folgesein darf.

Der Mischer funktioniert folgendermaßen: Gegeben sind zwei Folgen mit je m = n2

Elementen, U = (u0, u1, . . . , um−1) und V = (v0, v1, . . . , vm−1). Die Folge U sei aufsteigendsortiert, die Folge V sei absteigend sortiert:

u0 5 u1 5 . . . 5 um−1

v0 = v1 = . . . = vm−1

Im ersten Schritt werden nun jeweils die Elemente an den gleichen relativen Positionenverglichen und ggf. vertauscht:

ui ←→ vi, 0 5 i < m

Sei j ∈ {0 . . .m} der Index der ersten Elemente uj und vj , die durch den gemeinsamenKomparator vertauscht werden. Unter der Annahme, dass Elemente nur vertauscht werdenwenn, sie ungleich sind, muss uj > vj gelten. Mit uj 5 uj+1 und vj = vj+1 folgt darausuj+1 > vj+1. Es werden also alle Elemente uk und vk mit k = j vertauscht. j = mbezeichnet den Fall, in dem das großte Element der

”linken“ Folge um−1 kleiner ist als das

kleinste Element der”rechten“ Folge vm−1. Daraus folgt, dass sich das Resultat in zwei

bitone Folgen aufteilen lasst: Eine aufsteigende / absteigende Folge und eine absteigende /

11

Page 12: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

2.2 Das bitone Mergesort-Netzwerk 2 KONSTRUKTIONSVERFAHREN

(a) aufsteigend, absteigend (b) absteigend, aufsteigend (c) aufsteigend, abstei-gend, aufsteigend

(d) absteigend, aufstei-gend, absteigend

Abbildung 6: Beispiele bitoner Folgen.

w0

u0

w1

u1

w2

u2

w3

u3

w4

v0

w5

v1

w6

v2

w7

v3

BM(n2

)BM

(n2

)

(a) normal

w0

u0

w1

u1

w2

u2

w3

u3

w4

v0

w5

v1

w6

v2

w7

v3

BM(n2

)BM

(n2

)

(b) trichter

Abbildung 7: Schematischer Aufbau des bitonen Mischers: Jedes Element der aufsteigen-den Folge u0, u1, . . . wird mit dem entsprechenden Element der absteigend sortierten Folgev0, v1, . . . verglichen. Die beiden resultierenden Teilfolgen sind wiederum biton.

12

Page 13: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

2.2 Das bitone Mergesort-Netzwerk 2 KONSTRUKTIONSVERFAHREN

Abbildung 8: BS (8), Batchers bitones Mergesort-Netzwerk fur 8 Eingange. Markiert sinddie beiden Instanzen von BS (4) (rot), die beiden bitonen Mischer BM (4) (blau) und dieKomparatoren, die im letzten rekursiven Schritt hinzugefugt wurden (grun).

aufsteigende Folge. Abbildung 7(a) zeigt die Situationen vor und nach diesem Schritt desMischers schematisch.

Um die Folge vollstandig zu sortieren, mussen anschließend die beiden resultierendenbitonen Folgen sortiert werden. Die geschieht ebenfalls mithilfe des bitonen Mischers, mitzwei Instanzen von BM(n2 ). Diese rekursive Definition endet mit dem bitonen Mischer mitzwei Leitungen, BM(2), der als Komparator-Netzwerk mit einem Komparator zwischenden beiden Leitungen definiert ist.

Der bitone Mischer kann auch zwei aufsteigende Folgen sortieren. Dazu ist lediglicheine etwas modifizierte Vergleichs-Kaskade im ersten Schritt notwendig. Die folgenden,kleineren Mischer erhalten als Eingabe wieder eine

”echte“ bitone Folge. Abbildung 7(b)

zeigt das Schema des bitonen Mischers fur zwei aufsteigend sortierte Folgen. Durch dasUmdrehen einer Folge verandert sich das Muster der Komparatoren ein wenig: Statt aneine Treppe erinnert das Muster nun an einen Trichter.

Da sich die Anzahl der Leitungen in jedem Rekursionsschritt halbiert, endet die Rekur-sion nach log(n) Schritten. In jedem Rekursionsschritt werden n

2 Komparatoren eingefugt,so dass der gesamte Mischer aus 1

2n log(n) = Θ (n log(n)) Komparatoren besteht, die inlog(n) Schichten angeordnet werden konnen.

2.2.2 Das bitone Mergesort-Netzwerk

Ebenso wie der bitone Mischer BM(n) ist auch das bitone Mergesort-Netzwerk BS(n)rekursiv definiert. Es setzt sich zusammen aus zwei Instanzen des bitonen Mergesort-Netzwerks halber Große BS

(n2

)fur je die Halfte der Eingange, sowie dem bitonen Mischer

fur n Leitungen BM(n). Das Rekursionsende ist das bitone Mergesort-Netzwerk mit nureiner Leitung BS(1), welches als leeres Komparatornetzwerk definiert ist. Entsprechendsind die Komparatornetzwerke BM(2) und BS(2) identisch.

Bei der Konstruktion kommt die trichterformige Anordnung der Komparatoren (Abbil-dung 7(b)) gelegen, weil so die beiden rekursiven Sortiernetzwerke in die gleiche Richtungsortieren konnen und so alle Komparatoren in die gleiche Richtung zeigen.

Das Sortiernetzwerk BS(8) ist in Abbildung 8 zu sehen. Eingezeichnet sind ebenfallsdie beiden Instanzen des Netzwerks BS(4) (rot) sowie der bitone Mischer BM(8) (blau).Die trichterformige Komparator-Kaskade, die die bitone Eingabefolge in zwei bitone Aus-

13

Page 14: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

2.3 Das Odd-Even-Mergesort-Netzwerk 2 KONSTRUKTIONSVERFAHREN

gabefolgen transformiert, ist grun hinterlegt.Das bitone Mergesort-Netzwerk mit einer Leitungszahl n = 2d, die eine Zweierpotenz

ist, besteht aus 14n log(n) log(n+1) = Θ

(n(log(n))2

)Komparatoren, die in 1

2 log(n) log(n+1) = Θ(log(n)2) Schichten angeordnet sind.

2.3 Das Odd-Even-Mergesort-Netzwerk

Obwohl der Name ahnlich klingt, haben das Odd-Even-Mergesort-Netzwerk (OES) unddas Odd-Even-Transpositionsort-Netzwerk (siehe Abschnitt 2.1) wenig gemein. Vielmehrist OES dem bitonen Mergesort-Netzwerk, das im vorherigen Abschnitt vorgestellt wurde,ahnlich: Auch dieses Sortiernetzwerk ist von Kenneth E. Batcher gefunden worden undist ebenfalls in [2] beschrieben und initial analysiert worden. Eine weitere Gemeinsamkeitbesteht darin, dass es ebenfalls rekursiv durch einen Mischer definiert ist.

2.3.1 Der Odd-Even-Mischer

Der Odd-Even-Mischer OEM(n,m) ist ein Komparatornetzwerk, das zwei sortierte Folgenmit n beziehungsweise m Elementen zu einer sortierten Ausgabefolge mit N = n+m Ele-menten zusammenfugen kann. Dabei kommt es mit weniger Vergleichen aus als der bitoneMischer, der im Abschnitt 2.2.1 vorgestellt wurde. Im allgemeinen Fall, wenn die Anzahlder Leitungen keine Zweierpotenz ist, kann das bitonic-Merge-Netzwerk schneller sein alsdas Odd-Even-Merge-Netzwerk. [9]

Der Odd-Even-Mischer selbst ist ebenfalls rekursiv aufgebaut: Die Eingabe fur den Mi-scher mitN = n+m Leitungen besteht aus den beiden sortierten Folgen U = (u0, u1, . . . , un−1)und V = (v0, v1, . . . , vm−1). Die gesamte Eingabe sei W = (w0, w1, . . . , wN−1) mit:

wi =

{ui, i < nvi−n, i = n

, 0 5 i < N

Diese werden in insgesamt vier sortierte Folgen aufgeteilt, je eine Liste der geradenIndizes und je eine Liste der ungeraden Indizes.

Ugerade = (u0, u2, u4, . . .)

Uungerade = (u1, u3, u5, . . .)

Vgerade = (v0, v2, u4, . . .)

Vungerade = (v1, v3, u5, . . .)

Die geraden Folgen Ugerade und Vgerade, beziehungsweise die ungeraden Folgen Uungerade

und Vungerade werden rekursiv von kleineren Odd-Even-Mischern zusammengefugt, so dasssich am Ausgang der Mischer die Folgen

Wgerade = (w0, w2, w4, . . .)

Wungerade = (w1, w3, w5, . . .)

ergeben.Anschließend werden die Komparatoren zwischen benachbarten Leitungen hinzugefugt,

w2i−1 ←→ w2i, 1 5 i <N

2

die die Folge W sortieren. Den schematischen Aufbau des Odd-Even-Mischers zeigt Ab-bildung 9.

14

Page 15: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

2.3 Das Odd-Even-Mergesort-Netzwerk 2 KONSTRUKTIONSVERFAHREN

u0 u1 u2 u3 v0 v1 v2 v3

w0 w1 w2 w3 w4 w5 w6 w7

OEM(⌈

n2

⌉,⌈m2

⌉)OEM

(⌊n2

⌋,⌊m2

⌋)

Abbildung 9: Schematischer Aufbau des Odd-Even-Merge-Netzwerks. Die beiden Dreieckesymbolisieren die beiden sortierten Folgen U und V , die Blocke darunter die rekursivenMischer mit etwa der Halfte der Leitungen. Im Vergleich zum bitonen Mischer fur 8 Lei-tungen kommt dieses Schema mit einem Komparator weniger aus. Der Effekt wird durchden rekursiven Aufbau verstarkt.

Leider bricht die Rekursion nicht so schon ab, wie das beim bitonen Mischer der Fall ge-wesen ist. Insbesondere fur n = m = 1 wurde – entsprechend der Konstruktionsvorschrift– ein leeres Netzwerk entstehen, was offensichtlich nicht korrekt ware. Die Abbruchbedin-gungen fur den rekursiven Aufbau lauten:

• Falls n = 0 oder m = 0: Das Netzwerk ist leer.

• Falls n = 1 und m = 1: Das Netzwerk besteht aus einem einzelnen Komparator.

Mit dem 0-1-Prinzip lasst sich zeigen, dass die resultierende Folge sortiert ist. Da U undV sortiert sind, ist die Anzahl der Nullen in den geraden Teilfolgen Ugerade, beziehungsweiseVgerade großer oder gleich der Anzahl der Nullen in den ungeraden Teilfolgen Uungerade

beziehungsweise Vungerade – die Einsen verhalten sich entsprechend umgekehrt. Das trifftdemnach auch auf die Folgen Wgerade und Wungerade entsprechend zu:

|Wgerade|0 = |Ugerade|0 + |Vgerade|0 =

⌈1

2|U |0

⌉+

⌈1

2|V |0

⌉|Wungerade|0 = |Uungerade|0 + |Vungerade|0 =

⌊1

2|U |0

⌋+

⌊1

2|V |0

⌋Daraus folgt, dass Wgerade 0, 1 oder 2 Nullen mehr enthalt als Wungerade. In den erstenbeiden Fallen ist die

”verzahnte“ Ausgabe der beiden kleineren Mischer bereits sortiert.

Nur im letzten Fall, wenn Wgerade zwei Nullen mehr enthalt als Wungerade, muss genau eineVertauschung stattfinden, um die Ausgabe zu sortieren. Diese wird von den Komparatorenausgefuhrt, die benachbarte Leitungen miteinander vergleichen. Die jeweiligen Situationensind in Abbildung 10 dargestellt.

15

Page 16: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

2.3 Das Odd-Even-Mergesort-Netzwerk 2 KONSTRUKTIONSVERFAHREN

0 1 1 1

0 1 1 1

(a) |Wgerade|0 − |Wungerade|0 = 0

0 0 1 1

0 1 1 1

(b) |Wgerade|0 − |Wungerade|0 = 1

0 0 0 1

0 1 1 1

(c) |Wgerade|0 − |Wungerade|0 = 2

Abbildung 10: Die drei Situationen, die nach dem Verzahnen der Ausgaben der kleinerenOdd-Even-Mischer entstehen konnen. Ist die Differenz der Anzahl der Nullen gleich 0 oder1, ist die Folge bereits sortiert. Im letzten Fall stellt einer der Komparatoren sicher, dassdas Ergebnis sortiert ist.

Da die Teilfolgen U und V in jedem Rekursionsschritt etwa halbiert werden, brichtdie Rekursion nach Θ (log(n) + log(m)) Schritten ab. Die exakte Anzahl der benotigtenRekursionsschritte (und damit Schichten im Mischer-Netzwerk), hangt von der langerender beiden Eingabefolgen ab und betragt 1 + dlog (max(n,m))e.

Die Anzahl der Komparatoren K(n,m), die OEM(n,m) im allgemeinen Fall verwendet,hangt gemaß der rekursiven Definition von der Lange der Eingabefolgen, n und m ab:

K(n,m) =

{nm, falls nm 5 1K(⌈

n2

⌉,⌈m2

⌉)+K

(⌊n2

⌋,⌊m2

⌋)+⌊12(m+ n− 1)

⌋falls nm > 1

Leider ist es schwierig, diese allgemeine Formel in einer geschlossenen Form anzugeben. Ausder Anzahl der Rekursionsschritte ist jedoch leicht erkennbar, dassK(n,m) in Θ(N log(N))enthalten ist.

Fur den wichtigen Spezialfall, dass n = m = 2d−1 betragt, lasst sich die Anzahl derKomparatoren im Vergleich zum bitonen Mischer angeben: Der erste Rekursionsschritt derOEM-Konstruktion fugt

⌊12(m+ n− 1)

⌋= N

2 − 1 Komparatoren ein – einen Komparatorweniger als der bitone Mischer in diesem Schritt. Das selbe gilt fur die rekursiv verwendetenkleineren Mischer OEM(n2 ,

n2 ) und so weiter bis einschließlich OEM(2, 2), von denen es

2, 4, . . . , N4 = 2log(N)−2 Instanzen gibt. Insgesamt werden

log(N)−2∑i=0

2i = 2log(N)−1 − 1 =N

2− 1 = n− 1

Komparatoren eingespart. Damit ergibt sich

K(n = 2d−1, n = 2d−1

)=

1

2N log(N)− N

2+ 1

fur die Anzahl der Komparatoren, die von OEM(N = 2d) benotigt werden.

16

Page 17: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

2.3 Das Odd-Even-Mergesort-Netzwerk 2 KONSTRUKTIONSVERFAHREN

Abbildung 11: Das Odd-Even-Mergesort-Netzwerk fur 8 Eingange. Markiert sind die In-stanzen von OES(4) (rot), die beiden Odd-Even-Mischer OEM(4) fur gerade und ungeradeLeitungen (blau) und die im ersten Rekursionsschritt hinzugefugten Komparatoren zwi-schen benachbarten Leitungen (grun).

2.3.2 Das Odd-Even-Mergesort-Netzwerk

Das Odd-Even-Mergesort-Netzwerk OES(n) besteht, wie das bitone Mergesort-Netzwerk,rekursiv aus kleineren Varianten von sich selbst und einem abschließenden Odd-Even-Mischer. Die effizientesten Sortiernetzwerke in Bezug auf Komparator- und Schichtzahlentstehen, wenn die Anzahl der Leitungen jeweils halbiert wird. Somit besteht OES (n)aus OES

(⌈n2

⌉), OES

(⌊n2

⌋)und OEM

(⌈n2

⌉,⌊n2

⌋). Die Rekursion endet mit OES(1) und

OES(0), die als leere Komparatornetzwerke definiert sind.In Abbildung 11 ist das OES (8)-Sortiernetzwerk zu sehen. Rot markiert sind die bei-

den rekursiven Instanzen OES(4). Die anderen Blocke stellen den Odd-Even-Mischer fur8 Leitungen dar: die beiden blauen Blocke sind die rekursiven Instanzen von OEM(4),der grune Block markiert die Komparatoren, die im ersten Rekursionsschritt hinzugefugtwerden.

Im Allgemeinen ist die Anzahl der Komparatoren, die vom Odd-Even-Mergesort-Netz-werk verwendet wird, k(n), direkt aus der Definition, beziehungsweise der Konstruktions-anleitung abzulesen:

k(n) = k(⌈n

2

⌉)+ k

(⌊n2

⌋)+K

(⌈n2

⌉,⌊n

2

⌋)Da es schwierig ist fur K(n,m) eine geschlossene Form anzugeben, ist eine geschlosseneDarstellung von k(n) ebenfalls nicht ohne weiteres moglich. Es ist allerdings bekannt, dass

k(n) in Θ(n (log(n))2

)enthalten ist.

Fur den wichtigen Spezialfall, dass n = 2d eine Zweierpotenz ist, kann die Anzahl derKomparatoren wieder explizit angegeben werden. Kenneth Batcher zeigt in [2], dass indiesem Fall

k(n = 2d) =1

4n (log(n))2 − 1

4n log(n) + n− 1

gilt.

17

Page 18: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

3 TRANSFORMATION VON SORTIERNETZWERKEN

(a) S(8) (nach Konstruktion) (b) S(8) (normalisiert)

Abbildung 12: Jedes Sortiernetzwerk kann in ein Standard-Sortiernetzwerk transformiertwerden. Gezeigt ist das bitone Sortiernetzwerk nach der intuitiven Konstruktion und dienormalisierte Variante.

3 Transformation von Sortiernetzwerken

3.1 Komprimieren

Komparatoren, die unterschiedliche Leitungen miteinander vergleichen, konnen gleichzei-tig ausgewertet werden, wie bereits in Abschnitt 1.2.1 beschrieben. Durch manche Trans-formationen, insbesondere das Entfernen einer Leitung wie in Abschnitt 3.4 beschrieben,kann es vorkommen, dass die Komparatoren eines Sortiernetzwerks nicht mehr in derkleinstmoglichen Anzahl von Schichten angeordnet sind. Unter Komprimierung wird ei-ne (Neu-)Gruppierung der Komparatoren verstanden, die jeden Komparator so fruh wiemoglich ausfuhrt. So entsteht die kleinstmogliche Anzahl von Schichten, in die sich einSortiernetzwerk unterteilen lasst.

Diese Anzahl ist insbesondere beim automatisierten Bewerten von Komparatornetz-werken interessant, wie in Abschnitt 4.1 beschrieben. Die Anzahl der Schichten kann kunst-lich vergroßert werden, indem Komparatoren spater angewendet werden. Deshalb solltevor einer Bewertung, die die Anzahl der Schichten als Bewertungskriterium verwendet,immer eine Komprimierung durchgefuhrt werden.

3.2 Normalisieren

Ein Standard-Sortiernetzwerk oder normalisiertes Sortiernetzwerk ist ein Sortiernetzwerk,dessen Komparatoren alle in die selbe Richtung zeigen.4 Jedes Sortiernetzwerk kann in einenormaliesierte Variante transformiert werden. Dazu gibt beispielsweise Donald E. Knuthin [9] einen Algorithmus an.

Abbildung 12 stellt das bitone Mergesort-Netzwerk in zwei Varianten dar. Abbil-dung 12(a) zeigt das Netzwerk nach der Konstruktionsvorschrift, siehe auch Abbildung 7(a):In den ersten drei Schichten werden die untere und die obere Halfte gegenlaufig sortiert.Das heißt, dass nach drei Schritten die eine Halfte auf- und die andere Halfte absteigendsortiert ist. In den Schichten 4 bis 6 folgt der bitone Mischer entsprechend der rekursivenDefinition.

In Abbildung 12(b) ist die normalisierte Version des bitonen Mergesort-Netzwerks zusehen. Alle Komparatoren zeigen hier in die selbe Richtung. Statt dem typischen

”Trep-

penmuster“ sind abwechselnd das Treppen- und das Trichtermuster zu sehen.

4Die Konvention in dieser Arbeit ist, dass in diesem Fall alle Pfeile nach unten zeigen. Das Minimumwird auf der untersten, das Maximum auf der obersten Leitung ausgegeben.

18

Page 19: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

3.3 Zwei Netzwerke kombinieren3 TRANSFORMATION VON SORTIERNETZWERKEN

3.3 Zwei Netzwerke kombinieren

Um Sortiernetzwerke als Individuen evolutionarer Algorithmen verwenden zu konnen,muss es moglich sein, zwei Sortiernetzwerke zu einem neuen Sortiernetzwerk zusammen-zufassen.

Diese Technik wurde in den vorangegangen Abschnitten bereits verwendet, beispiels-weise um zwei bitone Mergesort-Netzwerke mit jeweils der halben Leitungszahl, BS

(n2

),

zu einem einzigen Sortiernetzwerk BS(n) zu kombinieren. Auch das Odd-Even-Mergesort-Netzwerk OES(n) wurde auf diese Art und Weise rekursiv aufgebaut.

Die vorgestellten Mischer erwarten als Eingabe zwei bereits sortierte Folgen. Wie dieseFolgen sortiert wurden ist unerheblich. Entsprechend konnen wir beliebige Sortiernetzwer-ke einsetzen, um die beiden Eingabefolgen zu sortieren und die Ausgaben mit einem derbeschriebenen Mischer zusammenfugen.

Beispielsweise kann die Ausgabe von zwei bitonen Mergesort-Netzwerken BS(8) mit je8 Leitungen mit dem Odd-Even-Merge-Netzwerk OEM(8,8) zu einer sortierten Gesamtfol-ge zusammengefugt werden. Das resultierende Sortiernetzwerk besitzt 73 Komparatoren(zum Vergleich: BS(16) benotigt 80 Komparatoren, OES(16) nur 63).

Verbesserungen der Effizienz (die Anzahl der benotigten Komparatoren), beziehungs-weise der Geschwindigkeit (die Anzahl der Schichten) eines

”kleinen“ Sortiernetzwerks,

ubertragen sich direkt auf das resultierende Gesamtnetzwerk. Das Odd-Even-Mergesort-Netzwerk OES(9) benotigt beispielsweise 26 Komparatoren, die in 9 Schichten angeordnetsind. Es sind allerdings Sortiernetzwerke mit 9 Eingangen bekannt, die lediglich 25 Kom-paratoren in 7 Schichten benotigen. Wenn zwei dieser Netzwerke mit dem Odd-Even-Mischer kombiniert werden, entsteht ein 18-Sortiernetzwerk, das aus 80 Komparatoren in11 Schichten besteht. Damit ist das resultierende Netzwerk genauso schnell wie das Sor-tiernetzwerk mit 18 Eingangen, das Sherenaz W. Al-Haj Baddar und Kenneth E. Batcherin ihrer Arbeit

”An 11-Step Sorting Network for 18 Elements“ [1] vorstellen, benotigt aber

6 Komparatoren weniger. OES(18) benotigt 82 Komparatoren in 13 Schichten.Das Zusammenfassen von zwei Sortiernetzwerken durch Hintereinanderausfuhrung ist

nicht sinnvoll: Da die Ausgabe des ersten Sortiernetzwerks bereits sortiert ist, ist das zwei-te Sortiernetzwerk uberflussig. Eine Aneinanderreihung der Art

”die ersten x Schichten des

einen, dann die letzten y Schichten des anderen Sortiernetzwerks“ zerstoren im Allgemei-nen die Sortiereigenschaft. Die Sortiereigenschaft des resultierenden Komparatornetzwerksmusste uberpruft werden, was nach heutigem Wissensstand nur mit exponentiellem Auf-wand moglich ist.

3.4 Leitungen entfernen

Im vorherigen Abschnitt wurde gezeigt, dass es mithilfe von Mischern moglich ist, auszwei Sortiernetzwerken mit je n Eingangen ein neues Sortiernetzwerk mit 2n Eingangenzu erzeugen. Fur einen beabsichtigen evolutionaren Algorithmus ist es jedoch notwendig,dass sich die Anzahl der Eingange nicht verandert. Es soll wieder ein Sortiernetzwerk mitn Eingangen entstehen.

Man kann ein gegebenes Sortiernetzwerk mit n Eingangen auf ein Sortiernetzwerk mitn− 1 Leitungen verkleinern, indem man eine Leitung

”eliminiert“. Dazu wird angenom-

men, dass das Minimum oder das Maximum an einem bestimmten Eingang anliegt. DerWeg, den das Minimum beziehungsweise das Maximum durch das Sortiernetzwerk nimmt,ist eindeutig bestimmt und endet an einem der

”Rander“, also auf der Leitung mit dem

hochsten oder dem niedrigsten Index. Insbesondere ist bekannt, welche Komparatoren

”beruhrt“ werden und welche dafur sorgen, dass der Wert die Leitung wechselt, da das

19

Page 20: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

3.4 Leitungen entfernen 3 TRANSFORMATION VON SORTIERNETZWERKEN

(a) Auf der Leitung 4 wird −∞ angelegt. Da-durch ist der Pfad durch das Sortiernetzwerk ein-deutig festgelegt.

(b) Komparatoren, die einen Wechsel der Leitun-gen bewirken, werden durch sich kreuzende Lei-tungen ersetzt.

(c) Leitung 4 wurde entfernt. Ubrig bleibt einSortiernetzwerk mit 7 Leitungen.

(d) Die Leitungen wurden wieder gerade einge-zeichnet und die Komparatoren regelmaßig an-geordnet. Blau eingezeichnet ist OET (7).

Abbildung 13: Eine Leitung wird aus dem Odd-Even-Transpositionsort-Netzwerk OET (8)entfernt: Auf der rot markierten Leitung wird −∞ angelegt. Da der Wert bei jedem Kom-parator nach unten weiter gegeben wird, ist der Pfad fest vorgegeben. Da die restlichenWerte trotzdem noch richtig sortiert werden mussen, kann dieser Pfad heraus getrenntwerden. In der letzten Abbildung ist OET (7) markiert.

Minimum jeden Vergleich”verliert“ und das Maximum jeden Vergleich

”gewinnt“. Die

Abbildung 13(a) zeigt den Weg eines Maximums durch das Odd-Even-Transpositionsort-Netzwerk.

Im ersten Schritt wird eine Leitung ausgewahlt und Maximum oder Minimum aufdieser Leitung angenommen. Dadurch ist der Weg durch das Sortiernetzwerk eindeutigfestgelegt.

Im nachsten Schritt werden alle beteiligten Komparatoren geloscht, beziehungsweiseersetzt: Komparatoren, die nicht zu einem Wechsel der Leitung gefuhrt haben, werdenersatzlos geloscht. Diese Komparatoren sind in Abbildung 13(a) grun markiert. Die Kom-paratoren, die zum Wechsel der Leitung gefuhrt haben, werden durch sich kreuzende Lei-tungen ersetzt. Das Resultat ist eine Leitung, auf der das Minimum beziehungsweise dasMaximum angenommen wird, die an unterster oder oberster Stelle endet und die keineKomparatoren mehr beruhrt (Abbildung 13(b)).

Die Werte auf den verbleibenden (n− 1) Leitungen mussen vom restlichen Kompara-tornetzwerk immer noch sortiert werden: Es wurde lediglich die Position des Minimumsoder des Maximums in der Eingabe angenommen. Ein Sortiernetzwerk muss die Eingabesortieren, unabhangig davon auf welcher Leitung das Minimum oder das Maximum liegt.Das Sortiernetzwerk unter diese Annahme auszuwerten – uber die verbleibenden Eingangewurde keine Aussage getroffen. Entsprechend mussen die verbleibenden Ausgange eine sor-tierte Liste mit (n− 1) Elementen darstellen.

20

Page 21: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

3.4 Leitungen entfernen 3 TRANSFORMATION VON SORTIERNETZWERKEN

Wird die Minimum- beziehungsweise Maximum-Leitung entfernt, wie in Abbildung 13(c)dargestellt, bleibt das Sortiernetzwerk fur (n−1) Leitungen ubrig. Je nachdem, ob auf einerLeitung ein Minimum oder ein Maximum angenommen wird, wird das eliminieren einerLeitung auf diese Art und Weise als Minimum-Schnitt, beziehungsweise Maximum-Schnittbezeichnet.

Die letzte Abbildung, 13(d), zeigt das Sortiernetzwerk wieder mit den ublichen geradenLeitungen und die rot markierten Komparatoren sind verschoben, so dass sich eine kom-paktere Darstellung ergibt. Außerdem ist das Odd-Even-Transpositionsort-Netzwerk fursieben Werte markiert. Der zusatzliche Komparator vor dem OET (7) hat keinen Einflussauf die Ausgabe und kann entfernt werden.

Durch das Ersetzen von Komparatoren durch gekreuzte Leitungen werden haufig Nicht-Standard-Sortiernetzwerke erzeugt. Im Anschluss an einen Schnitt empfiehlt es sich des-halb, das Sortiernetzwerk zu normalisieren, wie in Abschnitt 3.2 beschrieben.

3.4.1 Anzahl moglicher und unterschiedlicher Schnittmuster

Der Eliminierungsschritt kann iterativ angewendet werden, um aus einem Sortiernetzwerkmit n Eingangen Sortiernetzwerke mit n − 1, n − 2, n − 3, . . . Eingangen zu erzeugen.Insbesondere konnen auf diese Art und Weise Sortiernetzwerke mit 2n Eingangen auf Sor-tiernetzwerke mit n Eingangen reduziert werden. Als k-Schnittmuster bezeichnet man diek Minimum- und Maximum-Schnitte, die nacheinander angewendet ein n-Sortiernetzwerkauf ein (n− k)-Sortiernetzwerk reduzieren.

Zwei Schnittmuster heißen aquivalent bezuglich S, wenn ihre Anwendung auf das Sor-tiernetzwerk S das selbe Ergebnis liefert. Ansonsten heißen die Schnittmuster unterschied-lich bezuglich S.

Bei einem Sortiernetzwerk mit n Eingangen gibt es 2n Moglichkeiten eine Leitung zuentfernen: Auf jeder der n Leitungen kann sowohl das Minimum als auch das Maximumangenommen werden. Wendet man das Verfahren iterativ an, um ein n-Sortiernetzwerkauf ein (n− k)-Sortiernetzwerk zu reduzieren, ergeben sich insgesamt

1+n−k∏i=n

2i = 2k · n!

(n− k)!(n > m)

mogliche Schnittmuster. Diese Schnittmuster sind nicht alle unterschiedlich. Wird bei-spielsweise das Minimum auf der untersten Leitung und das Maximum auf der oberstenLeitung eines Standard-Sortiernetzwerks angenommen, fuhren beide moglichen Schnitt-Reihenfolgen zum selben Ergebnis.

Moritz Muhlenthaler zeigt in seiner Arbeit [10], dass es moglich ist, mehrere Eingangegleichzeitig mit Minimum beziehungsweise Maximum vorzubelegen, ohne die Menge dererreichbaren Sortiernetzwerke einzuschranken. Dadurch wird die Anzahl der moglichenSchnittmuster reduziert, die Menge der so erzeugbaren Sortiernetzwerke bleibt aber un-verandert. Die Anzahl der moglichen Schnittmuster setzt sich zusammen aus der An-zahl von Moglichkeiten, k Leitungen aus n Leitungen auszuwahlen, und die moglichenMinimum- / Maximum-Muster. Damit ergibt sich folgende Formel fur die Anzahl dermoglichen Schnittmuster:

2k ·(nk

)= 2k · n!

k!(n− k)!= 2k · n!

(n− k)!· 1

k!(1 5 k < n) (11)

Die Anzahl der moglichen Schnittmuster wird mit der Anzahl der zu entfernendenLeitungen sehr schnell sehr groß. Um ein Sortiernetzwerk mit 32 Eingangen auf ein Sor-

21

Page 22: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

3.4 Leitungen entfernen 3 TRANSFORMATION VON SORTIERNETZWERKEN

0

2000

4000

6000

8000

10000

12000

14000

16000

18000

20000

0 200000 400000 600000 800000 1e+06

Unte

rsch

ied

liche N

etz

werk

e

Zufaellige Schnitte

PS(16) BS(16) OES(16)

Abbildung 14: Anzahl der unterschiedlichen Sortiernetzwerke, die durch 8-Schnittmusteraus OES(16), BS(16) und PS(16) hervorgegangen sind. Die Anzahl der unterschiedlichenNetzwerke nach 106 Iterationen ist 3519 fur das Odd-Even-Mergesort-Netzwerk, 4973 furdas bitone Mergesort-Netzwerk und 18764 fur das Pairwise-Sorting-Netzwerk.

tiernetzwerk mit 16 Eingangen zu reduzieren, ist ein Schnittmuster mit 16 Schnitten not-wendig, fur das es bereits etwa 3,939 · 1013 Moglichkeiten gibt. Ein Ausprobieren allerMoglichkeiten ist fur große Netzwerke nicht oder nur unter erheblichem Ressourcenauf-wand moglich.

Die Anzahl der unterschiedlichen Schnittmuster ist allerdings kleiner als die Anzahl dermoglichen Schnittmuster. Fur jeden Komparator auf der ersten Stufe gibt es neun verschie-dene Eingangskonfigurationen: Fur beide Eingange gibt es drei mogliche Eingangswerte,Minimum, Maximum und unspezifiziert. Es gibt drei Konfigurationen, bei denen an beidenEingangen der gleiche Wert angelegt wird, und sechs Konfigurationen, bei denen sich dieWerte unterscheiden.

Bei diesen letzten sechs Konfigurationen werden je zwei auf das selbe Ausgangsmusterabgebildet, weil die Position des Minimums beziehungsweise des Maximums durch denKomparator vorgegeben wird. Das heißt, dass die neun unterschiedlichen Eingangsmusternur sechs unterschiedliche Ausgangsmuster erzeugen. In der zweiten und allen folgendenSchichten kann man diesen Unterschied nicht mehr erkennen. In allen sechs Fallen, indenen sich die Eingange unterscheiden, wird anschließend der Komparator entfernt, sodass sich die Resultate auch in der ersten Schicht nicht unterscheiden.

Alleine durch Betrachten der ersten Schicht von Komparatoren konnte die Anzahl derunterschiedlichen Schnittmuster auf hochstens 2

3 der moglichen Schnittmuster reduziertwerden. Um die Anzahl der unterschiedlichen Schnittmuster experimentell zu ermitteln,wurden je eine Million zufallige 8-Schnittmuster auf die 16-Sortiernetzwerke OES (16),BS (16) und PS (16) angewandt. Anschließend wurde mithilfe einer Hashtabelle uberpruft,ob das resultierende Sortiernetzwerk schon von einem aquivalenten Schnittmuster erzeugt

22

Page 23: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

3.4 Leitungen entfernen 3 TRANSFORMATION VON SORTIERNETZWERKEN

wurde. Falls das Sortiernetzwerk noch nicht in der Hashtabelle enthalten war, wurde derZahler fur unterschiedliche Schnittmuster erhoht und das Sortiernetzwerk eingefugt.

Abbildung 14 tragt die Anzahl der unterschiedlichen Schnittmuster gegen die Anzahlder zufalligen Schnittmuster auf. Klar zu sehen ist, dass sich die Anzahl der erzeugtenSortiernetzwerke nach 500.000 Iterationen nur noch gering verandert und der Wert nach1.000.000 Iterationen allem Anschein nach dem Endwert schon sehr nahe ist.

Die Anzahl der moglichen 8-Schnittmuster ist entsprechend der Formel (11) 3.294.720.Diese moglichen Schnittmuster fuhren aber nur zu wenigen unterschiedlichen Sortiernetz-werken: 3519 (≈ 0,1%) im Fall des Odd-Even-Mergesort-Netzwerks, 4973 (≈ 0,15%) beimbitonen Mergesort-Netzwerk und 18764 (≈ 0,57%) beim Pairwise-Sorting-Netzwerk. Zwarist es moglich, dass mehr Iterationen die Anzahl der unterschiedlichen Schnittmuster nochwachsen lasst. Die Graphen in Abbildung 14 geben jedoch Grund zu der Annahme, dassdie Anzahl dieser zusatzlichen, unterschiedlichen Schnittmuster vernachlassigbar klein ist.

Bedingt durch die sehr große Anzahl moglicher Schnittmuster ist dieses Experimentfur großere Sortiernetzwerke nicht sinnvoll durchfuhrbar. Die Hashtabelle wurde mehrArbeitsspeicher benotigen als in derzeitigen Rechnern vorhanden ist, bevor ein entspre-chender Graph den linearen Bereich fur

”kleine“ x-Werte verlasst.

Um die Anzahl der unterschiedlichen Schnittmuster trotzdem abschatzen zu konnen,kann man sich einer stochastischen Methode bedienen, der sogenannten Monte-Carlo-Methode, die Rolf Wanka in [14] fur schwierige Zahlprobleme vorstellt. Zunachst gene-riert man eine Menge S von k unterschiedlichen Schnittmustern. Anschließend werdenn Schnittmuster zufallig erzeugt und uberpruft, ob sie in der Menge S enthalten sind. Un-ter der Annahme, dass auf diese Art und Weise Sortiernetzwerke zufallig und gleichverteilterzeugt werden, entspricht das Verhaltnis der zufalligen Schnittmuster, die in S enthaltensind, und n gleich dem Verhaltnis von k und der Anzahl der unterschiedlichen Schnitt-muster insgesamt. Damit kann die Anzahl der unterschiedlichen Schnittmuster abgeschatztwerden.

In Abbildung 15 ist das Ergebnis des Monte-Carlo-Algorithmus fur 16-Schnittmuster zusehen, die auf OES(32) und BS(32) angewandt wurden: Von jedem Sortiernetzwerk wurdenzunachst eine Menge S von 10.000 unterschiedlichen Schnittmustern erzeugt. Anschließendwurden 1.000.000 zufallige Schnittmuster erzeugt und der Anteil der zufalligen Schnittmus-ter, die aquivalent zu einem in S enthalten Schnittmuster sind, berechnet. Fur OES(32)war dieser Anteil etwa 0,19%, fur BS(32) etwa 0,29%. Das ergibt eine Abschatzung von5,2 · 106 unterschiedlichen 16-Schnittmustern fur OES(32) und 3,4 · 106 fur BS(32).

Im vorherigen Abschnitt wurde das Pairwise-Sorting-Netzwerk PS(32) nicht betrach-tet, da es fur dieses Netzwerk viel mehr unterschiedliche 16-Schnittmuster gibt als furOES(32) und BS(32). In Anbetracht der Tatsache, dass die Anzahl der unterschiedlichen8-Schnittmuster fur PS(16) in Abbildung 14 bereits mehr als dreimal großer war als dieAnzahl fur OES(16) beziehungsweise BS(16), ist dieser Umstand wenig verwunderlich.Entsprechend hatte man in einem kombinierten Graphen keine Details mehr erkennenkonnen. Aufgrund der hohen Anzahl unterschiedlicher Schnittmuster, wurde fur das glei-che Experiment mit PS(32) eine initiale Menge von 100.000 unterschiedlichen Schnittmus-tern erzeugt. Trotzdem wurden nach 1.000.000 Iterationen nur 385 Schnittmuster gefun-den, die zu einem Schnittmuster in der Menge aquivalent waren. Daraus ergibt sich eineAbschatzung von 2,6 · 108 unterschiedlichen Schnittmustern – zwei Zehnerpotenzen mehrals bei den vorherigen Sortiernetzwerken, aber immer noch funf Zehnerpotenzen kleinerals die Anzahl der moglichen Schnittmuster.

23

Page 24: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

3.4 Leitungen entfernen 3 TRANSFORMATION VON SORTIERNETZWERKEN

2e+06

3e+06

4e+06

5e+06

6e+06

0 200000 400000 600000 800000 1e+06

OES(32) BS(32)

Abbildung 15: Abschatzung der unterschiedlichen Schnittmuster mit der Monte-Carlo-Methode fur OES(32) und BS(32).

1.5e+08

2e+08

2.5e+08

3e+08

3.5e+08

4e+08

4.5e+08

0 100000 200000 300000 400000 500000 600000 700000 800000 900000 1e+06

PS(32)

Abbildung 16: Abschatzung der unterschiedlichen Schnittmuster mit der Monte-Carlo-Methode fur PS(32). 385 von 1.000.000 zufalligen Schnittmustern waren aquivalent zueinem Schnittmuster in einer Menge von 100.000. Daraus ergibt sich eine Schatzung von2,6 · 108 unterschiedlichen Schnittmustern.

24

Page 25: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

4 DER SN-EVOLUTION-ALGORITHMUS

(a) 16-Sortiernetzwerk aus 60 Komparatoren in10 Schichten. Das Netzwerk wurde von M. W.Green konstruiert und 1969 in [5] veroffentlicht.

(b) 16-Sortiernetzwerk aus 61 Komparatoren in9 Schichten. Das Netzwerk wurde von D. Van Voor-his 1974 in [13] veroffentlicht.

Abbildung 17: Das effizienteste und das schnellste Sortiernetzwerk fur 16 Leitungen, dasderzeit bekannt ist.

4 Der SN-Evolution-Algorithmus

Der SN-Evolution-Algorithmus ist ein evolutionarer Algorithmus, der die in den vorhe-rigen Abschnitten beschriebenen Mischer (Abschnitt 2) und Schnittmuster (Abschnitt 3.4)verwendet, um

”moglichst gute“ Sortiernetzwerke zu erzeugen. Was ein

”gutes“ Sortier-

netzwerk ausmacht, wird in Abschnitt 4.1 behandelt. Informationen zur Implementierungvon SN-Evolution befinden sich in Abschnitt 8.

4.1 Bewertungsfunktion

Um Sortiernetzwerke uberhaupt optimieren zu konnen, muss zunachst die Gute eines Netz-werks definiert werden. Prinzipiell gibt es zwei Ziele, die bei Sortiernetzwerken verfolgtwerden konnen:

• Moglichst wenige Komparatoren (”effizient“)

• Moglichst wenige Schichten (”schnell“)

Diese Ziele fuhren im Allgemeinen zu unterschiedlichen Netzwerken. Beispielsweisebesteht das effizienteste bekannte Sortiernetzwerk fur 16 Eingange aus 60 Kompara-toren in 10 Schichten. Es ist in Abbildung 17(a) dargestellt. Das schnellste bekannte16-Sortiernetzwerk besteht aus 61 Komparatoren in nur 9 Schichten und ist in Abbil-dung 17(b) zu sehen.

SN-Evolution verwendet eine Gutefunktion, die die beiden Ziele”effizient“ und

”schnell“ berucksichtigen kann. Sie hat die folgende generelle Form:

Guete(S) = wBasis + wKomparatoren · |S|Komparatoren + wSchichten · |S|Schichten

Die Parameter wKomparatoren und wSchichten dienen dabei der Festlegung des Optimierungs-ziels. Wenn einer der beiden Parameter gleich Null ist, wird nur das jeweils andere Zielverfolgt. Sind beide Parameter gleich Null, werden alle Netzwerke mit der gleich Gutebewertet – jegliche Ergebnisse sind dann rein zufalliger Natur.5

5Dass dies nicht so schlecht ist wie man intuitiv vermuten konnte, zeigt der SN-Markov-Algorithmusin Abschnitt 5.

25

Page 26: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

4.2 Selektion 4 DER SN-EVOLUTION-ALGORITHMUS

Da moglichst effiziente und schnelle Sortiernetzwerke gefunden werden sollen, ist einkleiner Wert von Guete(S) besser als ein großer Wert. Das heißt, dass das Ziel von SN-Evolution ist, Guete(S) zu minimieren.

Mit dem Parameter wBasis kann auf die Selektion Einfluss genommen werden. Ist ergroß, wird der relative Unterschied der Guten verschiedener Netzwerke kleiner, was dieExploration, das Absuchen des gesamten Losungsraums, begunstigt. Wahlt man wBasis

hingegen klein – in Abhangigkeit von den anderen beiden Parametern sind auch negativeWerte moglich – werden die relativen Unterschiede groß. Dadurch wird die Exploitation,das Streben zu (lokalen) Optima, verstarkt. In [15] geben Karsten und Nicole Weickereinen Uberblick uber Selektionsmethoden und Rekombinationsmoglichkeiten.

Diese Parameter haben einen großen Einfluss auf die Geschwindigkeit, mit der der SN-Evolution-Algorithmus konvergiert und ob er tatsachlich gute Losungen findet oder sichin lokalen Optima

”verfangt“. Leider gibt es kein Patentrezept fur die Wahl der Parameter,

so dass fur verschiedene Leitungszahlen und Mischer-Typen experimentiert werden muss.Als guter Standardansatz fur SN-Evolution haben sich die folgenden Werte heraus-

gestellt:

wBasis = 0

wKomparatoren = 1

wSchichten = |S|Leitungen

Sofern nicht anders angegeben, werden diese Werte im Folgenden zur Bewertung vonSortiernetzwerken verwendet. Die Bewertungsfunktion bevorzugt mit diesen Konstantenschnelle Sortiernetzwerke, da das Einsparen einer Schicht ein hoheres Gewicht als dasEinsparen von Komparatoren hat.

Wenn der SN-Evolution-Algorithmus nach effizienten Sortiernetzwerken suchen soll,werden alternative Werte fur die Konstanten der Bewertungsfunktion verwendet. Die Wer-te

wBasis = 0

wKomparatoren = 2

wSchichten = 1

geben dem Einsparen eines Komparators ein hoheres Gewicht als dem Einsparen einerSchicht.

4.2 Selektion

Als Selektion wird der Vorgang bezeichnet, der zwei Individuen zufallig aus der Popula-tion auswahlt. Sie werden im folgenden Schritt miteinander rekombiniert. Die Auswahlder Individuen erfolgt zufallig, aber nicht gleichverteilt. So sorgt die Selektion dafur, dassbessere Individuen eine großere Wahrscheinlichkeit haben zur nachsten Generation beizu-tragen. Diese Ungleichbehandlung von Individuen verschiedener Gute ist der Grund furdas Streben des Algorithmus nach besseren Losungen.

Obwohl dieser Vorteil fur gute Individuen intuitiv als sehr gering erscheint, passiertes haufig, dass die Ausnutzung (Exploitation) uberhand gewinnt und der Algorithmusvorschnell in Richtung eines lokalen Optimums optimiert.

Die in SN-Evolution implementierte Selektion eines Individuums lasst sich mit Pseu-docode wie folgt beschreiben:

26

Page 27: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

4.3 Rekombination 4 DER SN-EVOLUTION-ALGORITHMUS

Gutesumme := 0

Auswahl := (leer)

fur jedes Individuum in Population

{

reziproke Gute := 1.0 / Guete(Individuum)

Wahrscheinlichkeit P := reziproke Gute / (Gutesumme + reziproke Gute)

Gutesumme := Gutesumme + reziproke Gute

mit Wahrscheinlichkeit P

{

Auswahl := Individuum

}

}

gib Auswahl zuruck

Diese Auswahl wird zweimal ausgefuhrt, um zwei Individuen fur die Rekombinationzu erhalten. Das heißt, dass die Individuen bei SN-Evolution stochastisch unabhangigvoneinander ausgewahlt werden.

4.3 Rekombination

Bei der Rekombination werden zwei Individuen – hier Sortiernetzwerke – zu einer neuenLosung kombiniert. Geeignete Mischer, um die beiden Netzwerke zu einem Netzwerk mit2n Leitungen zusammenzufugen, sind zum Beispiel der bitonen Mischer (Abschnitt 2.2.1)und der Odd-Even-Mischer (Abschnitt 2.3.1), Anschließend werden n Leitungen mit einemzufalligen n-Schnittmuster wie in Abschnitt 3.4 beschrieben entfernt.

Dieses Verfahren hat den großen Vorteil, dass es die Sortiereigenschaft erhalt. Entspre-chend muss nicht aufwendig uberpruft werden, ob das Komparatornetzwerk die Sortie-reigenschaft besitzt. Der Nachteil ist, dass nicht alle Sortiernetzwerke auf diese Art undWeise erzeugt werden konnen.

4.4 Mutation

Zu einem vollstandigen evolutionaren Algorithmus gehort außerdem die Mutation – einezufallige Veranderung einer Losung. Leider ist es nicht moglich ein Sortiernetzwerk zufalligzu verandern und dabei die Sortiereigenschaft zu erhalten. Selbst das Hinzufugen eineszufalligen Komparators kann diese Eigenschaft zerstoren.

Nach einer Mutation musste man uberprufen, ob das neue Komparatornetzwerk dieSortiereigenschaft noch besitzt. Nach heutigem Wissenstand ist diese Uberprufung nurmit exponentiellem Aufwand moglich, etwa durch das Ausprobieren aller 2n Bitmuster,wie in Abschnitt 1.2.1 beschrieben.

Um das Potenzial einer Mutation abzuschatzen wurde in SN-Evolution eine Uber-prufung eingebaut: Unmittelbar vor dem Einfugen in die Population uberpruft eine Funk-tion die Notwendigkeit jedes einzelnen Komparators. Dazu wird nacheinander jeder Kom-parator entfernt und uberpruft, ob das verbleibende Netzwerk die Sortiereigenschaft nochbesitzt. Trotz des hohen Rechenaufwands – bei 16-Sortiernetzwerken sind gut 4 MillionenTests notwendig, um alle Komparatoren zu uberprufen – waren die Ergebnisse ernuchternd:Nach circa 1 Million Iterationen mit 16-Sortiernetzwerken fand der so modifizierte Algo-rithmus keinen einzigen Komparator, den er hatte entfernen konnen. Daher wurde beimSN-Evolution-Algorithmus auf eine Mutation verzichtet.

27

Page 28: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

4.5 Bitoner Mischer 4 DER SN-EVOLUTION-ALGORITHMUS

Leitungen SN-EV mit BM (n) BS (n)(n) Komp. Schichten Komp. Schichten

8 20 6 24 69 26 8 28 8

10 31 8 33 911 37 9 39 1012 42 9 46 1013 48 10 53 1014 54 10 61 1015 61 10 70 1016 67 10 80 1017 76 12 85 1218 87 12 91 1319 93 13 98 1420 104 13 106 1421 109 14 114 1522 118 14 123 1523 129 14 133 1524 133 15 144 15

Tabelle 1: Ubersicht uber die Ergebnisse des SN-Evolution-Algorithmus unter Ver-wendung des bitonen Merge-Netzwerks BM (n). Der Algorithmus wurde mit dem Odd-Even-Transpositionsort-Netzwerk OET (n) gestartet und nach 2.500.000 Iterationen be-endet. Die Bewertungsfunktion nutzte die Konstanten wBasis = 0, wKomparatoren = 1,wSchichten = n.

4.5 Versuche mit dem bitonen Mischer

Wenn SN-Evolution mit dem Odd-Even-Transpositionsort-Netzwerk als Eingabe ge-startet wird und in der Rekombinationsphase den bitonen Mischer verwendet, gibt derAlgorithmus effiziente und in einigen Fallen schnelle Sortiernetzwerke aus. Die Ergeb-nisse des SN-Evolution-Algorithmus unter Verwendung des bitonen Mischers sind inTabelle 4.5 zusammengefasst.

Alle Sortiernetzwerke, die von SN-Evolution in dieser Konfiguration gefunden wur-den, waren effizienter als das bitone Mergesort-Netzwerk BS (n), das ebenfalls auf dembitonen Merge-Netzwerk BM (n) beruht. Zum Beispiel benotigt das in Abbildung 18 dar-gestellte 16-Sortiernetzwerk 67 Komparatoren, 13 Komparatoren weniger als BS (n).

Wenn die Gutefunktion so gewahlt ist, dass sie schnelle Sortiernetzwerke bevorzugt,werden in einigen Fallen Netzwerke zuruckgegeben, die schneller und effizienter als BS (n)sind. Das 19-Sortiernetzwerk in Abbildung 19 besitzt beispielsweise nur 13 Schichten undbenotigt damit einen parallelen Schritt weniger als BS (19).

4.6 Versuche mit dem Odd-Even-Mischer

Die folgenden Ergebnisse wurden erzielt, indem SN-Evolution mit dem Odd-Even-Transpositionsort-Netzwerk als Eingabe gestartet wurde und in der Rekombinationsphasedas Odd-Even-Merge-Netzwerk verwendete. So erzeugt der Algorithmus entweder Sortier-netzwerke, die genauso schnell und effizient wie das OES (n)-Netzwerk, oder Sortiernetz-werke, die schneller aber weniger effizient als das OES (n)-Netzwerk sind. Die Ergebnisse

28

Page 29: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

4.6 Odd-Even-Mischer 4 DER SN-EVOLUTION-ALGORITHMUS

Abbildung 18: Sortiernetzwerk mit 16 Leitungen und 67 Komparatoren in 10 Schichten.Das Netzwerk wurde von dem Algorithmus SN-Evolution unter Verwendung des bitonenMischers erzeugt.

29

Page 30: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

4.6 Odd-Even-Mischer 4 DER SN-EVOLUTION-ALGORITHMUS

Abbildung 19: Sortiernetzwerk mit 19 Leitungen und 93 Komparatoren in 13 Schichten.Das Netzwerk wurde von dem Algorithmus SN-Evolution unter Verwendung des bitonenMischers erzeugt.

30

Page 31: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

4.7 Zufalliger Mischer 4 DER SN-EVOLUTION-ALGORITHMUS

Leitungen SN-EV mit OEM (n) OES (n)Komp. Schichten Komp. Schichten

8 19 6 19 69 26 8 26 8

10 31 9 31 911 38 9 37 1012 43 9 41 1013 48 10 48 1014 53 10 53 1015 59 10 59 1016 63 10 63 1017 74 12 74 1218 82 13 82 1319 93 13 91 1420 97 14 97 1421 108 14 107 1522 117 14 114 1523 127 14 122 1524 128 15 127 15

Tabelle 2: Ubersicht uber die Ergebnisse des SN-Evolution-Algorithmus unter Verwen-dung des Odd-Even-Merge-Netzwerks OEM (n). Der Algorithmus wurde mit dem Odd-Even-Transpositionsort-Netzwerk OET (n) gestartet und nach 2.500.000 Iterationen be-endet. Die Bewertungsfunktion nutzte die Konstanten wBasis = 0, wKomparatoren = 1,wSchichten = n.

von SN-Evolution mit dem Odd-Even-Mischer sind in Tabelle 4.6 zusammengefasst.Im vorherigen Abschnitt wurde gezeigt, dass der SN-Evolution-Algorithmus unter

Verwendung des bitonen Mischers Sortiernetzwerke erzeugen kann, die effizienter als dasrekursiv aus dem bitonen Mischer aufgebaute bitone Mergesort-Netzwerk sind. Dieses Er-gebnis lies sich mit dem Odd-Even-Merge-Netzwerk nicht erzielen. Die Sortiernetzwerke,die SN-Evolution unter Verwendung des Odd-Even-Merge-Netzwerks findet, erreichendas Odd-Even-Mergesort-Netzwerk bezuglich Effizienz, ubertreffen es aber nicht. Ein Bei-spiel fur ein entsprechendes Sortiernetzwerk ist in Abbildung 20 dargestellt.

Mit einer Gutefunktion, die schnelle Sortiernetzwerke bevorzugt, ist es auch mit demOdd-Even-Mischer moglich, dass SN-Evolution Sortiernetzwerke zuruck gibt, die schnel-ler als OES (n) sind. Beispielsweise benotigt das 19-Sortiernetzwerk, das in Abbildung 21dargestellt ist, nur 13 Schichten, wahrend OES (19) 14 Schichten benotigt.

4.7 Zufalliger Mischer

Die Ergebnisse der beiden vorhergehenden Abschnitte zeigen, dass fur einige Leitungs-zahlen der bitone Mischer und fur andere Leitungszahlen der Odd-Even-Mischer bessereErgebnisse liefert. Beispielsweise hat das Netzwerk fur n = 18 bei Verwendung des bi-tone Mischers nur 12 Schichten, bei Verwendung des Odd-Even-Mischers hingegen nur82 Komparatoren. Daher liegt die Idee nahe, beide Mischer-Netzwerke zu nutzen, um dasbeste Ergebnis beider Konstruktionen zu erreichen. SN-Evolution kann zu diesem Zweckbeim Zusammenfugen zweier Individuen zufallig zwischen dem bitonen Mischer und demOdd-Even-Mischer wahlen. Die Ergebnisse von SN-Evolution bei einer zufalligen Wahl

31

Page 32: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

4.7 Zufalliger Mischer 4 DER SN-EVOLUTION-ALGORITHMUS

Abbildung 20: Sortiernetzwerk mit 16 Leitungen und 63 Komparatoren in 10 Schichten.Das Netzwerk wurde von dem Algorithmus SN-Evolution unter Verwendung des Odd-Even-Mischers erzeugt.

32

Page 33: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

4.7 Zufalliger Mischer 4 DER SN-EVOLUTION-ALGORITHMUS

Abbildung 21: Sortiernetzwerk mit 19 Leitungen und 93 Komparatoren in 13 Schichten.Das Netzwerk wurde von dem Algorithmus SN-Evolution unter Verwendung des Odd-Even-Mischers erzeugt.

33

Page 34: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

4.7 Zufalliger Mischer 4 DER SN-EVOLUTION-ALGORITHMUS

Leitungen SN-EV mit BM (n) SN-EV mit OEM (n) SN-EV mit Zufall(n) Komp. Schichten Komp. Schichten Komp. Schichten

8 20 6 19 6 19 69 26 8 26 8 26 8

10 31 8 31 9 31 811 37 9 38 9 37 912 42 9 43 9 41 913 48 10 48 10 48 1014 54 10 53 10 53 1015 61 10 59 10 59 1016 67 10 63 10 64 1017 76 12 74 12 74 1218 87 12 82 13 83 1219 93 13 93 13 92 1320 104 13 97 14 101 1321 109 14 108 14 107 1422 118 14 117 14 116 1423 129 14 127 14 128 1424 133 15 128 15 130 15

Tabelle 3: Ubersicht uber die Ergebnisse des SN-Evolution-Algorithmus unter Ver-wendung der beiden Mischer-Netzwerke. Der Algorithmus wurde mit dem Odd-Even-Transpositionsort-Netzwerk OET (n) gestartet und nach 2.500.000 Iterationen beendet.Die Bewertungsfunktion nutzte die Konstanten wBasis = 0, wKomparatoren = 1 undwSchichten = n.

des Mischers in der Rekombinationsphase sind in Tabelle 4.7 zusammengefasst.Bei einigen Leitungszahlen kann der Algorithmus durch die Verfugbarkeit beider Mi-

scher-Netzwerke Sortiernetzwerke zuruckgeben, die effizienter als die vorherigen Ergebnissesind. Beispielsweise ist das 19-Sortiernetzwerk in Abbildung 22 mit 92 Komparatoreneffizienter als die 19-Sortiernetzwerke, die mit nur einem der beiden Mischer-Netzwerkeerreicht wurden (Abbildungen 19 und 21).

Die Ergebnisse anderer Leitungszahlen erreichen die Geschwindigkeit der Ergebnisse,die mit dem bitonen Mischer erzielt wurden. Die Effizienz liegt zwischen den Ergebnissen,die mit dem bitonen Mischer erzielt wurden, und den Ergebnissen, die mit dem Odd-Even-Mischer erzielt wurden. Beispielsweise ist das 18-Sortiernetzwerk in Abbildung 23 so schnellwie das Ergebnis, das mit dem bitonen Mischer ausgegeben wurde. Mit 83 Komparatorenliegt die Effizienz des Sortiernetzwerks zwischen den Ergebnissen, die mit dem bitonenMischer (87 Komparatoren), beziehungsweise dem Odd-Even-Mischer (82 Komparatoren)erreicht werden konnten.

In einigen Fallen hat SN-Evolution in dieser Konfiguration Sortiernetzwerke aus-gegeben, die weniger effizient und genauso schnell wie die bisherigen Ergebnisse unterVerwendung des Odd-Even-Mischers sind. Prinzipiell konnte der Algorithmus in jederIteration zufallig den Odd-Even-Mischers auswahlen, um die selektierten Individuen zurekombinieren. Das heißt, das die Ergebnisse auch bei einer zufalligen Wahl des Mischer-Netzwerks theoretisch erreicht werden konnen. Allerdings sind unter Umstanden mehrIterationen notwendig, bis die gleiche Effizienz erreicht wird.

34

Page 35: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

4.7 Zufalliger Mischer 4 DER SN-EVOLUTION-ALGORITHMUS

Abbildung 22: Sortiernetzwerk mit 19 Leitungen und 92 Komparatoren in 13 Schichten.Das Netzwerk wurde von dem Algorithmus SN-Evolution unter Verwendung des bitonenMischers und des Odd-Even-Mischers erzeugt.

35

Page 36: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

4.7 Zufalliger Mischer 4 DER SN-EVOLUTION-ALGORITHMUS

Abbildung 23: Sortiernetzwerk mit 18 Leitungen und 83 Komparatoren in 12 Schichten.Das Netzwerk wurde von dem Algorithmus SN-Evolution unter Verwendung des bitonenMischers und des Odd-Even-Mischers erzeugt.

36

Page 37: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

5 DER SN-MARKOV-ALGORITHMUS

5 Der SN-Markov-Algorithmus

Der evolutionare SN-Evolution-Algorithmus aus dem vorherigen Abschnitt verwendetimmer zwei zufallige Sortiernetzwerke (

”Individuen“) aus einer Population. Da die beiden

”Eltern“ zufallig und unabhangig voneinander ausgewahlt werden, kann es vorkommen,

dass das selbe Sortiernetzwerk zweimal verwendet und mit sich selbst kombiniert wird.Macht man diesen Spezialfall zum Regelfall, kombiniert das aktuelle Netzwerk immer

mit sich selbst und eliminiert anschließend die Halfte aller Leitungen, lassen sich einigeinteressante Beobachtungen anstellen. Netzwerke, die aus einem Netzwerk S0 durch diebeschriebene Kombination von S0 mit sich selbst und anschließendem Eliminieren derHalfte der Leitungen hervorgehen konnen, heißen Nachfolger von S0.

Beim beschriebenen Vorgehen kann man die Sortiernetzwerke als Knoten in einem(gerichteten) Graphen betrachten. Zwei Knoten V0 und V1, die zwei Sortiernetzwerke S0und S1 reprasentieren, sind genau dann mit einer Kante E0,1 = (V0, V1) verbunden, wennS1 ein Nachfolger von S0 ist, das heißt, dass S1 durch die Rekombination von S0 mit sichselbst erzeugt werden kann.

Wie in Abschnitt 3.4.1 beschrieben, ist die Anzahl der unterschiedlichen Schnittmusterund damit die Anzahl der Nachfolger sehr groß. Bei den untersuchten 16-Sortiernetzwerkenlag die Anzahl der Nachfolger zwar noch unter 20.000, bei den untersuchten 32-Sortier-netzwerken wurden jedoch bereits bis zu 2,6 ·108 unterschiedliche Schnittmuster geschatzt.

Der Algorithmus SN-Markov legt auf diesem Nachfolger-Graph einen zufalligen Weg(englisch: random walk) zuruck. Er startet auf einem gegebenen Sortiernetzwerk. Umvon einem Sortiernetzwerk zum Nachsten zu gelangen, rekombiniert der Algorithmus dasaktuelle Sortiernetzwerk mit sich selbst und erhalt so einen zufalligen Nachfolger. In Pseu-docode lasst sich der Algorithmus wie folgt beschreiben:

Netzwerk := Eingabe

fur n Iterationen

{

Nachfolger := kombiniere (Netzwerk, Netzwerk)

Netzwerk := Nachfolger

}

gib Netzwerk zuruck

Die Graphen in Abbildung 24 zeigen die Anzahl der Komparatoren der Sortiernetzwer-ke, die SN-Markov auf seinem zufalligen Pfad durchlauft (rot). Fur jeden Graphen wur-de der SN-Markov-Algorithmus auf einem entsprechenden Odd-Even-Transpositionsort-Netzwerk gestartet und hat mindestens 1.000.000 Iterationen durchlaufen. In jedem Schrittwurde die Anzahl der Komparatoren des Sortiernetzwerks bestimmt und ein entsprechen-der Zahler erhoht. In Abbildung 24 ist die resultierende prozentuale Verteilung zu sehen.

Ebenfalls in die Graphen der Abbildung 24 eingezeichnet ist eine Gamma-Verteilung(grun), die die gemessenen Daten gut annahert. Die Gamma-Verteilung verwendet einenOffset δ, der um Eins kleiner als die kleinste erreichte Komparatorzahl gewahlt wurde.Beispielsweise war die kleinste erreichte Komparatorzahl bei 16-Sortiernetzwerken 63, ent-sprechend wurde der Offset δ = 63 − 1 gesetzt und die Gamma-Verteilung g(x − 62)eingezeichnet. Die Parameter k und θ, die eine Gamma-Verteilung charakterisieren, wur-den mit einem Fitting-Algorithmus bestimmt. Der konkrete Offset ist als Parameter δunter den Graphen angegeben.

37

Page 38: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

5 DER SN-MARKOV-ALGORITHMUS

0

2

4

6

8

10

12

14

16

45 50 55 60 65 70 75 80

Pro

zent

Komparatoren

Gemessene Daten Gamma-Verteilung

(a) 12 Leitungen, k = 8,267, θ = 0,962, δ = 40

0

2

4

6

8

10

12

55 60 65 70 75 80 85 90 95 100

Pro

zent

Komparatoren

Gemessene Daten Gamma-Verteilung

(b) 14 Leitungen, k = 9,522, θ = 0,867, δ = 52

0

2

4

6

8

10

12

70 80 90 100 110

Pro

zent

Komparatoren

Gemessene Daten Gamma-Verteilung

(c) 16 Leitungen, k = 17,939, θ = 1,091, δ = 62

0

1

2

3

4

5

6

7

8

9

10

90 100 110 120 130

Pro

zent

Komparatoren

Gemessene Daten Gamma-Verteilung

(d) 18 Leitungen, k = 10,724, θ = 0,766, δ = 81

Abbildung 24: Anzahl der Komparatoren von Sortiernetzwerken, die von SN-Markovdurchlaufen wurden (rot). Ebenfalls eingezeichnet ist jeweils eine Gamma-Verteilung(grun), die eine gute Naherung der gemessenen Daten darstellt.

0

2

4

6

8

10

12

70 80 90 100 110 120

Pro

zent

Komparatoren

SN-Markov SN-Evolution (BM) SN-Evolution (OEM)

Abbildung 25: Anzahl der Komparatoren, die 16-Sortiernetzwerke von SN-Markov undSN-Evolution (mit dem Odd-Even-Mischer und dem bitonen Mischer) besaßen.

38

Page 39: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

5 DER SN-MARKOV-ALGORITHMUS

Der Graph in Abbildung 25 zeigt, dass der SN-Markov-Algorithmus nicht schlech-ter ist als der SN-Evolution-Algorithmus. Analog zu dem Versuch mit SN-Markov,wurde beim SN-Evolution-Algorithmus die Anzahl der Komparatoren jedes neuen In-dividuums ermittelt und gespeichert. Als Startnetzwerk diente bei beiden Algorithmendas Odd-Even-Transpositionsort-Netzwerk OET (16). Der Graph zeigt auf der x-Achsedie Anzahl der Komparatoren, auf der y-Achse die Haufigkeit, mit der ein Sortiernetzwerkmit dieser Komparatorzahl durch die Rekombination erzeugt wurde. Die Ergebnisse vonSN-Evolution unterscheiden sich außerdem je nach verwendetem Mischer-Netzwerk –OEM (32), beziehungsweise BM (32).

Sowohl der SN-Markov-Algorithmus, der das Odd-Even-Merge-Netzwerk verwendet,als auch SN-Evolution mit OEM (32) erreichen eine Komparatorzahl von 63 und fin-den Sortiernetzwerke, die bezuglich Effizienz und Geschwindigkeit identisch zu OES (16)sind. Interessanterweise erzeugt SN-Markov derartige Netzwerke haufiger: Wahrend nur0,000017% der Individuen von SN-Evolution mit 63 Komparatoren auskamen, ist dieRate bei SN-Markov mit 0,000335% rund 20 mal hoher.

Erwartungsgemaß sind die besten Netzwerke, die SN-Evolution mit dem bitonenMischer findet, aus 67 Komparatoren aufgebaut. Uberraschend ist jedoch, dass in die-ser Konfiguration Sortiernetzwerke auftreten konnen, die mehr Komparatoren besitzenals Odd-Even-Transpositionsort. OET (16) ist aus 120 Komparatoren aufgebaut. Bei demLauf, der die Daten fur Abbildung 25 lieferte, trat auch jeweils ein Sortiernetzwerk mit121 und 124 Komparatoren auf. Dass Sortiernetzwerke mit so vielen Komparatoren imVerlauf des Experiments selbst nach uber 100 Millionen Iterationen nicht noch einmalerzeugt wurden, ist vermutlich ein Phanomen, das mit der Initialisierung durch das Odd-Even-Transpositionsort-Netzwerk zusammenhangt.

39

Page 40: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

6 SN-EVOLUTION-CUT

6 Der SN-Evolution-Cut-Algorithmus

Das Programm SN-Evolution-Cut implementiert einen evolutionaren Algorithmus, derzu einem gegebenen Sortiernetzwerk und einer gewunschten Leitungszahl ein Schnittmus-ter sucht, dass ein Sortiernetzwerk mit einer moglichst geringen Anzahl von Komparatorenund Schichten ergibt. Zur Bewertung von Sortiernetzwerken siehe auch Abschnitt 4.1.

Der SN-Evolution-Cut-Algorithmus verwendet Schnittmuster, die in Abschnitt 3.4.1definiert wurden, als Individuen. Ein Individuum besteht aus einer Liste von n Zahlen, dieentweder 1, −1 oder 0 sind. Dieser Werte entsprechen Maximum, Minimum und unbelegt.Bei einem k-Schnittmuster sind genau k Zahlen ungleich Null.

Um zwei Individuen zu rekombinieren werden die ersten r Werte des einen Schnitt-musters und die letzten n− r Schnitte des zweiten Schnittmusters verwendet. r ist eineZufallsvariable mit 0 5 r 5 n. Anschließend werden zufallig Werte auf Null beziehungs-weise 1 oder −1 gesetzt, um die Anzahl der Schnitte zu korrigieren.

Die Mutation vertauscht entweder die Werte von zwei zufalligen Positionen oder mul-tipliziert den Wert einer Leitung mit −1, um die Schnittrichtung zu invertieren.

Die Eingabe fur SN-Evolution-Cut ist ein n-Sortiernetzwerk und eine Zahl k, 1 5k < n, die angibt wie viele Leitungen entfernt werden sollen. Der Ruckgabewert desSN-Evolution-Cut-Algorithmus ist ein k-Schnittmuster. Wird das Schnittmuster aufdas Sortiernetzwerk, mit dem der Algorithmus gestartet wurde, angewendet, entsteht einmoglichst schnelles und effizientes Sortiernetzwerk mit m = n − k Leitungen. Da mitdem Eingabe-Netzwerk und dem zuruckgegebenen k-Schnittmuster das m-Sortiernetzwerkeindeutig bestimmt ist, werden im Folgenden sowohl das k-Schnittmuster als auch das m-Sortiernetzwerk als Ausgabe von SN-Evolution-Cut bezeichnet.

6.1 Versuche mit dem bitonen Mergesort-Netzwerk

Wenn der SN-Evolution-Cut-Algorithmus mit dem bitonen Mergesort-Netzwerk BS (n)gestartet wird und k Leitungen entfernen soll, ergeben die gefundenen Schnittmuster invielen Fallen effizientere Netzwerke als BS (n− k). Wird SN-Evolution-Cut beispiels-weise mit BS (22) und k = 6 gestartet, resultiert das gefundene Schnittmuster in einemSortiernetzwerk mit 67 Komparatoren, 13 Komparatoren weniger als BS (16) benotigt. Ei-nes der Sortiernetzwerke, die auf diese Art und Weise generiert wurde, ist in Abbildung 26zu sehen.

Eine Ubersicht uber die Effizienz der Ergebnisse, die mit dem bitonen Mergesort-Netzwerk als Eingabe fur SN-Evolution-Cut erzielt wurden, gibt Tabelle 4. SN-Evo-lution-Cut wurde mit BS (n), n = 9 . . . 24 und k = 1 . . . (n−8) gestartet. Die Konstantender Bewertungsfunktion waren wBasis = 0, wKomparatoren = 1 und wSchichten = n. In jederZeile befinden sich die Ergebnisse fur ein Eingabenetzwerk, in den Spalten befinden sichdie Ergebnisse fur eine Leitungszahl m = n−k des Ausgabenetzwerks. In den Zellen stehenjeweils die Anzahl der Komparatoren des resultierenden Netzwerks. Die letzte Zeile enthaltdie Anzahl der Komparatoren, die BS (m) benotigt, um die Ergebnisse besser einordnenzu konnen.

Zu sehen ist, dass jedes einzelne Ergebnis von SN-Evolution-Cut mindestens soeffizient wie das bitone Mergesort-Netzwerk mit der gleichen Leitungszahl ist. Außerdementhalt jede Spalte (mit Ausnahme von m = 23) ein Ergebnis, das effizienter als BS (m)ist.

In zahlreichen Fallen reicht das Entfernen einer einzigen Leitung aus, um ein effizientesErgebnis zu erzielen. Das Ergebnis, das SN-Evolution-Cut gestartet mit BS (20) undk = 1 erreicht, benotigt mit 95 Komparatoren 3 weniger als BS (19).

40

Page 41: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

6.1 Bitones Mergesort-Netzwerk 6 SN-EVOLUTION-CUT

Abbildung 26: Sortiernetzwerk mit 16 Leitungen und 67 Komparatoren in 10 Schichten.Das Netzwerk wurde von dem Algorithmus SN-Evolution-Cut aus dem bitonen Merge-sort-Netzwerk BS(22) durch das 6-Schnittmuster MIN(4, 10, 17), MAX(7, 15, 20) erzeugt.

41

Page 42: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

6.1 Bitones Mergesort-Netzwerk 6 SN-EVOLUTION-CUT

8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

9 2110 20 2711 20 27 3212 20 26 32 3913 20 26 32 39 4514 20 26 32 39 45 5315 20 26 32 39 45 53 6116 20 26 32 39 45 53 61 7017 20 26 32 37 43 50 57 65 7418 20 26 31 37 43 49 56 63 71 8219 20 26 31 37 43 48 55 62 70 79 8820 20 26 32 37 44 48 55 61 68 77 86 9521 20 26 32 37 44 48 55 61 68 77 85 94 10322 20 26 31 37 42 48 54 61 67 77 84 93 102 11223 20 26 31 37 42 48 54 61 68 76 84 93 102 112 12224 20 26 32 37 42 48 54 61 68 76 84 93 102 112 122 133

BS (m) 24 28 33 39 46 53 61 70 80 85 91 98 106 114 123 133

Tabelle 4: Anzahl der Komparatoren der Ergebnisse von SN-Evolution-Cut mit ver-schiedenen Großen des bitonen Mergesort-Netzwerks und unterschiedlichen Werten fur k.Jede Zeile gibt die Ergebnisse fur ein Eingabenetzwerk BS (n) an, jede Spalte enthalt dieErgebnisse fur m = n− k, die Anzahl der Leitungen des Ausgabenetzwerks.

Bei anderen Großen ergeben erst großere k effiziente Sortiernetzwerke, beispielsweisebei m = 10: erst fur n = 18, k = 8 wird ein Sortiernetzwerk mit 31 Komparatorengefunden.

Bei einigen Werten fur die Ziel-Leitungsanzahl m kann der SN-Evolution-Cut-Algorithmus Ergebnisse erzielen, die schneller als das entsprechende bitone Mergesort-Netzwerk BS (m) sind. In Tabelle 5 ist die Anzahl der Schichten, die die Ergebnissevon SN-Evolution-Cut benotigen, um die Eingabe zu sortieren, aufgelistet. Jede Zeileenthalt die Ergebnisse fur ein Eingabenetzwerk BS (n), jede Spalte enthalt die Ergebnissefur eine Ziel-Leitungszahl m = n − k. Die Zellen enthalten die Anzahl der Schichten desjeweiligen Ergebnis-Netzwerks.

Fur die Ziel-Leitungszahlen 9, 10 und 11 wurden Schnittmuster gefunden, die schnelleSortiernetzwerke erzeugen. Beispiele fur schnelle Sortiernetzwerke, die mit den von SN-Evolution-Cut ausgegebenen Schnittmustern erzeugt werden konnen, sind in Abbil-dung 27 dargestellt.

Bei der Betrachtung der Effizienz wurde festgestellt, dass oft schon das Entfernen einereinzigen Leitung zu eines effizienteren Ergebnis als BS (m) fuhrt. Bei der Geschwindigkeitist die Anzahl der Leitungen, die entfernt werden mussen, um schnellere Netzwerke zuerzielen, großer. Um eine Schicht einzusparen waren bei m = 10 und m = 11 k = 6Schnitte notwendig. Bei m = 9 war sogar ein 7-Schnittmuster notwendig, um die Anzahlder Schichten zu reduzieren. Fur schnelle und effiziente Netzwerke musste k teilweise nochgroßer gewahlt werden.

Die Effizienz und Geschwindigkeit der Sortiernetzwerke, die von SN-Evolution-Cutaus dem bitonen Mergesort-Netzwerk erzeugten werden, ist fur m = 19 und n = 20 . . . 38(k = 1 . . . 19) in Tabelle 6 aufgelistet. Erst, wenn k = 6 ist, wird im Vergleich zu BS (19)

42

Page 43: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

6.1 Bitones Mergesort-Netzwerk 6 SN-EVOLUTION-CUT

(a) 10-Sortiernetzwerk aus 31 Komparatoren in8 Schichten. Das Netzwerk wurde von SN-Evolution-Cut aus BS (19) erzeugt.

(b) 11-Sortiernetzwerk aus 37 Komparatoren in9 Schichten. Das Netzwerk wurde von SN-Evolution-Cut aus BS (18) erzeugt.

(c) 12-Sortiernetzwerk aus 42 Komparatoren in9 Schichten. Das Netzwerk wurde von SN-Evolution-Cut aus BS (22) erzeugt.

(d) 19-Sortiernetzwerk aus 92 Komparatoren in13 Schichten. Das Netzwerk wurde von SN-Evolution-Cut aus BS (37) erzeugt.

Abbildung 27: Fur einige Ziel-Leitungszahlen, unter anderem m ∈ {10, 11, 12, 19}, kannder SN-Evolution-Cut-Algorithmus Sortiernetzwerke erzeugen, die schneller und effi-zienter als BS (m) sind.

43

Page 44: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

6.1 Bitones Mergesort-Netzwerk 6 SN-EVOLUTION-CUT

8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

9 610 6 811 6 8 912 6 8 9 1013 6 8 9 10 1014 6 8 9 10 10 1015 6 8 9 10 10 10 1016 6 8 9 10 10 10 10 1017 6 8 8 9 10 10 10 10 1018 6 8 8 9 9 10 10 10 10 1219 6 8 8 9 9 10 10 10 10 12 1320 6 8 8 9 9 10 10 10 10 12 13 1421 6 8 8 9 9 10 10 10 10 12 13 14 1422 6 8 8 9 9 10 10 10 10 12 13 14 14 1523 6 8 8 9 9 10 10 10 10 12 13 14 14 15 1524 6 8 8 9 9 10 10 10 10 12 13 14 14 15 15 15

BS (m) 6 8 9 10 10 10 10 10 10 12 13 14 14 15 15 15

Tabelle 5: Anzahl der Schichten der Ergebnisse von SN-Evolution-Cut mit verschiede-nen Großen des bitonen Mergesort-Netzwerks und unterschiedlichen Werten fur k. JedeZeile gibt die Ergebnisse fur ein Eingabenetzwerk BS (n) an, jede Spalte enthalt die Er-gebnisse fur m = n− k, die Anzahl der Leitungen des Ausgabenetzwerks.

eine Schicht eingespart. Fur n = 36 (k = 17) und n = 37 (k = 18) werden Sortiernetzwerkeausgegeben, die schneller als BS (19) und OES (19) sind und nur einen Komparator mehrals OES (19) benotigen. Ein Beispiel fur ein solches Netzwerk ist in Abbildung 27(d) zusehen.

Moritz Muhlenthaler und Rolf Wanka zeigen in [11], wie ein bitoner Mischer BM(n = 2d

),

der nach Batchers Methode konstruiert wurde, durch systematisches Entfernen von Leitun-gen in einen ebenfalls bitonen Mischer mit der Halfte der Leitungen transformiert werdenkann, so dass dieser alternative Mischer im Vergleich zu BM

(n2 = 2d−1

)Komparatoren

einspart.Basierend auf diesen alternativen Mischern geben Muhlenthaler und Wanka eine Kon-

struktionsvorschrift fur Sortiernetzwerke an, die gegenuber BS (n) 14n(log n− 1) Kompa-

ratoren einspart. Beispielsweise wird ein 16-Sortiernetzwerk angegeben, das nur 68 Kom-paratoren benotigt. Dieses Netzwerk ist in Abbildung 28 dargestellt.

Startet man SN-Evolution-Cut mit dem bitonen Mergesort-Netzwerk BS(32) undder Vorgabe 16 Leitungen zu entfernen, liefert der Algorithmus Sortiernetzwerke, die eben-falls aus 68 Komparatoren bestehen. Ein 16-Sortiernetzwerk, das auf diese Weise gene-riert wurde, ist in den Abbildungen 29 und 30 zu sehen. Abbildung 29 zeigt BS(32) unddas Schnittmuster MIN(0, 5, 9, 11, 15, 17, 20, 22, 26, 29, 30), MAX(2, 4, 13, 19, 24), das durchSN-Evolution-Cut gefunden wurde. Abbildung 30 zeigt das 16-Sortiernetzwerk nach-dem das Schnittmuster angewendet und das Netzwerk normalisiert wurde.

Wenn SN-Evolution-Cut mit dem BS (64)-Netzwerk und k = 32 gestartet wird, fin-det der Algorithmus 32-Sortiernetzwerke, die effizienter sind als 32-Sortiernetzwerke, dienach Muhlenthalers und Wankas Methode konstruiert werden. Ein von SN-Evolution-Cut aus BS (64) generiertes 32-Sortiernetzwerk ist in Abbildung 31 dargestellt. Das bi-

44

Page 45: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

6.1 Bitones Mergesort-Netzwerk 6 SN-EVOLUTION-CUT

n Komp. Schichten

20 95 1421 94 1422 93 1423 93 1424 93 1425 96 1326 96 1327 96 1328 96 1329 95 1330 96 1331 95 1332 96 1333 93 1334 94 1335 93 1336 92 1337 92 1338 93 13

BS (19) 98 14OES (19) 91 14

Tabelle 6: Anzahl der Komparatoren und Schichten von 19-Sortiernetzwerken, die vonSN-Evolution-Cut aus BS (n), n = 20, . . . , 38 erzeugt wurden. Fur k = 6 ergebensich Sortiernetzwerke, die schneller als BS (19) sind. Mit k ∈ {14, 16, 19} erreichen dieErgebnisse mit 13 Schichten die Effizienz der vorherigen Ergebnisse mit 14 Schichten, mitk = 17 und k = 18 wird diese Effizienz noch ubertroffen. Ein 19-Sortiernetzwerk, das ausBS (37) auf diese Art erzeugt wurde, ist in Abbildung 27(d) dargestellt.

45

Page 46: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

6.1 Bitones Mergesort-Netzwerk 6 SN-EVOLUTION-CUT

Abbildung 28: Sortiernetzwerk mit 16 Leitungen und 68 Komparatoren in 10 Schichten.Das Netzwerk wurde 2010 von Muhlenthaler und Wanka aus optimierten bitonen Mischernkonstruiert und in [11] veroffentlicht.

46

Page 47: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

6.1 Bitones Mergesort-Netzwerk 6 SN-EVOLUTION-CUT

Abbildung 29: Visualisierung eines 16-Schnittmusters, das von SN-Evolution-Cut furdas bitone Mergesort-Netzwerk BS (32) berechnet wurde. Das resultierende Sortiernetz-werk besteht aus 68 Komparatoren in 10 Schichten und ist in Abbildung 30 als Standard-Sortiernetzwerk dargestellt.

47

Page 48: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

6.1 Bitones Mergesort-Netzwerk 6 SN-EVOLUTION-CUT

Abbildung 30: Sortiernetzwerk mit 16 Leitungen und 68 Komparatoren in 10 Schichten.Das Netzwerk wurde mit einem 16-Schnittmuster, das von SN-Evolution-Cut berechnetwurde, aus dem bitone Mergesort-Netzwerk BS (32) erzeugt. Das Schnittmuster ist inAbbildung 29 dargestellt.

48

Page 49: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

6.1 Bitones Mergesort-Netzwerk 6 SN-EVOLUTION-CUT

Abbildung 31: Sortiernetzwerk mit 32 Leitungen und 206 Komparatoren in15 Schichten. Das Netzwerk wurde von dem Algorithmus SN-Evolution-Cut aus dem bitonen Mergesort-Netzwerk BS(64) durch 32 Schnitte er-zeugt. Das zugehorige Schnittmuster ist MIN(4, 14, 23, 30, 31, 36, 46, 54, 58),MAX(0, 1, 6, 9, 11, 15, 18, 19, 21, 24, 25, 32, 34, 37, 40, 43, 47, 48, 49, 55, 56, 60, 63).

49

Page 50: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

6.2 Odd-Even-Mergesort-Netzwerk 6 SN-EVOLUTION-CUT

tone Mergesort-Netzwerk BS (32) benotigt 240 Komparatoren, ein aus den optimiertenMischern aufgebautes Netzwerk verbessert die Effizienz auf 208 Komparatoren. Das Ergeb-nis von SN-Evolution-Cut kommt mit nur 206 Komparatoren aus. Die Geschwindigkeitaller genannten Sortiernetzwerke ist mit 15 parallelen Schritten identisch.

Wenn die Leitungszahl des Eingabenetzwerks keine Zweierpotenz ist, kann SN-Evo-lution-Cut auch 16-Sortiernetzwerke erzeugen, die diese Effizienz unterbieten. Das gehtaus den Daten in Tabelle 4 hervor. Ein 16-Sortiernetzwerk mit 67 Komparatoren, das vonSN-Evolution-Cut generiert wurde, ist in Abbildung 26 dargestellt.

Leider sind die Schnittmuster, die SN-Evolution-Cut ausgibt, sehr unregelmaßig.Bisher ist es nicht gelungen eine Konstruktionsanweisung fur gute Schnittmuster anzuge-ben.

Entscheidend fur das Ergebnis eines Schnittmusters scheint beim bitonen Mergesort-Netzwerk die Aufteilung der Minimum- und Maximumschnitte zu sein. Von Hundert 16-Schnittmustern fur BS(32), die in Sortiernetzwerken mit 68 Komparatoren in 10 Schichtenresultieren, hatten 73 ein Verhaltnis von 5/11, 13 hatten ein Verhaltnis von 4/12 und 14hatten ein Verhaltnis von 3/13 Minimum- beziehungsweise Maximumschnitten. Da sich dieSchnittmuster aufgrund der Symmetrie des bitonen Mergesort-Netzwerks leicht invertierenlassen, ist eine Fallunterscheidung – mehr Minimum- oder mehr Maximumschnitte – nichtnotwendig.

Dass die Sortiernetzwerke, die mit den Schnittmustern von SN-Evolution-Cut ent-stehen, keine erkennbare Struktur haben, ist jedoch kein Eigenschaft des Algorithmus,sondern hangt insbesondere von der Eingabe ab. Wird SN-Evolution-Cut beispielswei-se mit dem Odd-Even-Transpositionsort-Netzwerk OET(n) und k Schnitten gestartet, soist das beste Ergebnis immer das OET(n− k)-Netzwerk.

6.2 Versuche mit dem Odd-Even-Mergesort-Netzwerk

Wird SN-Evolution-Cut mit dem Odd-Even-Mergesort-Netzwerk OES (n) gestartet,gibt der Algorithmus meist Sortiernetzwerke zuruck, die genauso effizient und schnell wiedas entsprechende Odd-Even-Mergesort-Netzwerk OES (m) sind. Die Effizienz der Sor-tiernetzwerke, die mit Schnittmustern von SN-Evolution-Cut aus OES (n) entstehenkonnen, zeigt Tabelle 7 tabellarisch.

Die Bewertungsfunktion, die SN-Evolution-Cut verwendet, bevorzugt schnelle Sor-tiernetzwerke. Dadurch kann es vorkommen, dass ein m-Sortiernetzwerk, das durch einvon SN-Evolution-Cut ausgegebenes Schnittmuster entsteht, schneller als OES (m) ist.Diese Geschwindigkeit war allerdings in allen beobachteten Fallen nur dann moglich, wennzusatzliche Komparatoren in Kauf genommen wurden. In den Tabellen 7 und 8 ist dieserFall fur m = 11 und k = 6, beziehungsweise m = 12 und k = 6 zu beobachten. Dieentsprechenden schnellen Sortiernetzwerke sind in Abbildung 32 dargestellt.

Wie beim bitonen Mergesort-Netzwerk reicht auch beim Odd-Even-Mergesort-Netzwerkein einziger Schnitt nicht aus, um die Geschwindigkeit gegenuber OES (m) zu verbessern.Bei m = 11 und m = 12 war jeweils mindestens ein 6-Schnittmuster notwendig, um einehohere Geschwindigkeit zu erreichen.

In Tabelle 9 sind die Ergebnisse von SN-Evolution-Cut fur OES (n), n = 20 undm = 19 (k = 1 . . . 19) aufgelistet. Mit k = 10 wird das erste mal ein schnelles 19-Sortiernetzwerk mit 13 Schichten ausgegeben. Mit k = 11 sind die resultierenden Netz-werke mit 93 Komparatoren effizienter als das Ergebnis mit k = 10, das 95 Komparatorenbenotigt. Das Ergebnis, das auf Basis des bitonen Mergesort-Netzwerks erreicht wurde(92 Komparatoren in 13 Schichten, siehe Tabelle 6), wird nicht erreicht.

50

Page 51: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

6.2 Odd-Even-Mergesort-Netzwerk 6 SN-EVOLUTION-CUT

8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

9 1910 19 2611 19 26 3112 19 26 31 3713 19 26 31 37 4114 19 26 31 37 41 4815 19 26 31 37 41 48 5316 19 26 31 37 41 48 53 5917 19 26 31 38 41 48 53 59 6318 19 26 31 38 43 48 53 59 63 7419 19 26 31 38 43 48 53 59 63 74 8220 19 26 31 38 43 48 53 59 63 74 82 9121 19 26 31 38 43 48 53 59 63 74 82 91 9722 19 26 31 38 43 48 53 59 63 74 82 91 97 10723 19 26 31 38 43 48 53 59 63 74 82 91 97 107 11424 19 26 31 38 43 48 53 59 63 74 82 91 97 107 114 122

OES (m) 19 26 31 37 41 48 53 59 63 74 82 91 97 107 114 122

Tabelle 7: Anzahl der Komparatoren der Ergebnisse von SN-Evolution-Cut mit ver-schiedenen Großen des Odd-Even-Mergesort-Netzwerks und unterschiedlichen Wertenfur k. Jede Zeile gibt die Ergebnisse fur ein Eingabenetzwerk OES (n) an, jede Spalteenthalt die Ergebnisse fur m = n− k, die Anzahl der Leitungen des Ausgabenetzwerks.

(a) 11-Sortiernetzwerk aus 38 Komparatoren in9 Schichten. Das Netzwerk wurde von SN-Evolution-Cut aus OES (17) erzeugt.

(b) 12-Sortiernetzwerk aus 43 Komparatoren in9 Schichten. Das Netzwerk wurde von SN-Evolution-Cut aus OES (18) erzeugt.

Abbildung 32: Fur einige Ziel-Leitungszahlen, unter anderem m = 10 und m = 11, kannder SN-Evolution-Cut-Algorithmus Sortiernetzwerke erzeugen, die schneller aber we-niger effizient als OES (m) sind.

51

Page 52: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

6.2 Odd-Even-Mergesort-Netzwerk 6 SN-EVOLUTION-CUT

8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

9 610 6 811 6 8 912 6 8 9 1013 6 8 9 10 1014 6 8 9 10 10 1015 6 8 9 10 10 10 1016 6 8 9 10 10 10 10 1017 6 8 9 9 10 10 10 10 1018 6 8 9 9 9 10 10 10 10 1219 6 8 9 9 9 10 10 10 10 12 1320 6 8 9 9 9 10 10 10 10 12 13 1421 6 8 9 9 9 10 10 10 10 12 13 14 1422 6 8 9 9 9 10 10 10 10 12 13 14 14 1523 6 8 9 9 9 10 10 10 10 12 13 14 14 15 1524 6 8 9 9 9 10 10 10 10 12 13 14 14 15 15 15

OES (m) 6 8 9 10 10 10 10 10 10 12 13 14 14 15 15 15

Tabelle 8: Anzahl der Schichten der Ergebnisse von SN-Evolution-Cut mit verschie-denen Großen des Odd-Even-Mergesort-Netzwerks und unterschiedlichen Werten fur k.Jede Zeile gibt die Ergebnisse fur ein Eingabenetzwerk OES (n) an, jede Spalte enthaltdie Ergebnisse fur m = n− k, die Anzahl der Leitungen des Ausgabenetzwerks.

In Abschnitt 3.4.1 wurde bereits untersucht, wie viele unterschiedliche 16-Schnittmusterdie konstruierten Sortiernetzwerke OES(32), BS(32) und PS(32) besitzen. Eines der Er-gebnisse war, dass von diesen Sortiernetzwerken das Odd-Even-Mergesort-Netzwerk diewenigsten unterschiedlichen 16-Schnittmuster besitzt – nur etwa 5,2 Millionen. Entspre-chend ist es wenig verwunderlich, dass SN-Evolution-Cut gestartet mit OES(32) sehrschnell6 ein gutes 16-Schnittmuster findet.

Eines der 16-Schnittmuster fur OES (32), die ein Sortiernetzwerk erzeugen, das bezuglichEffizienz und Geschwindigkeit identisch zu OES (16) ist, ist MIN(1, 6, 11, 14, 17, 23, 26, 29),MAX(2, 7, 8, 13, 18, 21, 27, 31). Das Schnittmuster ist in Abbildung 33 veranschaulicht, dasresultierende Netzwerk ist in Abbildung 34 zu sehen.

Bei diesem Schnittmuster fallt auf, dass es fur jeweils vier Eingange (0–3, 4–7, . . . ,28–31) einen Minimum- und einen Maximumschnitt gibt. Aus dieser Beobachtung kanndas regelmaßige Schnittmuster

Eingangi =

∞ falls i mod 4 = 0−∞ falls i mod 4 = 3

? sonst

abgeleitet werden. Es entfernt die Halfte der Leitungen, vorausgesetzt die Anzahl derLeitungen ist durch Vier teilbar. Das Schnittmuster erzeugt effiziente Netzwerke, wenndie Anzahl der Leitungen n = 2d eine Zweierpotenz ist. Ein 32-Sortiernetzwerk, das mitdiesem Schnittmuster aus OES (64) erzeugt wurde, ist in Abbildung 35 zu sehen.

6Ein entsprechendes Ergebnis wird meist nach 20.000 bis 100.000 Iterationen geliefert. Bei dieser Pro-blemgroße erreicht die Implementierung (siehe Abschnitt 8) etwa 20.000 Iterationen pro Sekunde auf der-zeitigen Computern.

52

Page 53: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

6.2 Odd-Even-Mergesort-Netzwerk 6 SN-EVOLUTION-CUT

n Komp. Schichten

20 91 1421 91 1422 91 1423 91 1424 91 1425 91 1426 91 1427 91 1428 91 1429 95 1330 93 1331 93 1332 93 1333 93 1334 93 1335 93 1336 93 1337 93 1338 93 13

BS (19) 98 14OES (19) 91 14

Tabelle 9: Komparatoren und Schichten von Sortiernetzwerken, die von SN-Evolution-Cut mit OES (n) und k = n − 19 ermittelt wurden. Erst mit k = 10 ist es moglichgegenuber OES (19) eine Schicht einzusparen. Dafur ist die Effizienz von 91 Komparatorennicht mehr erreichbar.

53

Page 54: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

6.2 Odd-Even-Mergesort-Netzwerk 6 SN-EVOLUTION-CUT

Abbildung 33: Visualisierung eines 16-Schnittmusters, das auf OES(32) angewendet einSortiernetzwerk ergibt, das bezuglich Geschwindigkeit und Effizienz identisch zu OES (16)ist. Das resultierende Sortiernetzwerk ist in Abbildung 34 dargestellt.

54

Page 55: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

6.2 Odd-Even-Mergesort-Netzwerk 6 SN-EVOLUTION-CUT

Abbildung 34: 16-Sortiernetzwerk mit 63 Komparatoren in 10 Schichten. Das Netzwerkwurde aus dem Odd-Even-Mergesort-Netzwerk OES (32) mit einem 16-Schnittmuster er-zeugt, das von SN-Evolution-Cut berechnet wurde. Das Schnittmuster ist in Abbil-dung 33 dargestellt.

55

Page 56: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

6.2 Odd-Even-Mergesort-Netzwerk 6 SN-EVOLUTION-CUT

Abbildung 35: 32-Sortiernetzwerk mit 191 Komparatoren in 15 Schichten. Das Netzwerkwurde mit einem regelmaßigen Schnittmuster aus dem Odd-Even-Mergesort-NetzwerkOES (64) erzeugt.

56

Page 57: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

6.3 Pairwise-Sorting-Netzwerk 6 SN-EVOLUTION-CUT

(a) Effizientes 12-Sortiernetzwerk aus 41 Kompa-ratoren in 10 Schichten, das von SN-Evolution-Cut aus dem Odd-Even-Mergesort-Netzwerk gene-riert wurde.

(b) Schnelles 12-Sortiernetzwerk aus 43 Kompara-toren in 9 Schichten, das von SN-Evolution-Cutaus dem Odd-Even-Mergesort-Netzwerk generiertwurde.

Abbildung 36: Startet man SN-Evolution-Cut mit OES (24), hangt das Ergebnis vonder Bewertungsfunktion ab.

Wenn die Anzahl der Leitungen keine Zweierpotenz ist, erreichen die durch dieses re-gelmaßige Schnittmuster erzeugten Sortiernetzwerke die Effizienz des Odd-Even-Mergesort-Netzwerks nicht. Wendet man das Schnittmuster beispielsweise auf OES (24) an, so erhaltman ein Sortiernetzwerk mit 43 Komparatoren – OES (12) kommt mit 41 Komparatorenaus. Die Geschwindigkeit beider Sortiernetzwerke ist mit 10 Schichten identisch.

Wird der SN-Evolution-Cut-Algorithmus mit OES (n), n = 22, 23, 24 und k =10, 11, 12 gestartet, hangt die Ausgabe von der verwendeten Gutefunktion ab. Werden effi-ziente Netzwerke bevorzugt, findet der Algorithmus Schnittmuster wie das 12-Schnittmus-ter MIN(6, 7, 8, 9, 16, 17, 20, 22), MAX(2, 4, 12, 14) fur OES (24), dessen Ergebnis in Abbil-dung 36(a) zu sehen ist. Das resultierende Sortiernetzwerk besteht aus 41 Komparato-ren, die in 10 Schichten angeordnet werden konnen. Damit ist das Netzwerk bezuglichEffizienz und Geschwindigkeit gleichauf mit OES (12). Werden hingegen schnelle Sor-tiernetzwerke bevorzugt, werden stattdessen Schnittmuster wie MIN(6, 7, 11, 12, 15, 16),MAX(1, 3, 10, 17, 20, 23) ausgegeben. Das Ergebnis dieses Schnittmusters ist in Abbil-dung 36(b) zu sehen, weitere Ergebnisse fur diese Gutefunktion sind in den Tabellen 7und 8 zusammengefasst. Das resultierende 12-Sortiernetzwerk besteht aus 43 Komparato-ren, die in 9 Schichten angeordnet sind. Das resultierende Netzwerk zwar nicht so effizientwie OES (12), dafur aber schneller als OES (12) und BS (12).

6.3 Versuche mit dem Pairwise-Sorting-Netzwerk

Eine weitere interessante Eingabe fur SN-Evolution-Cut ist das Pairwise-Sorting-NetzwerkPS (n), das Ian Parberry in seiner Arbeit

”The Pairwise Sorting Network“ [12] definiert.

Einerseits wurde in Abschnitt 3.4.1 gezeigt, dass es fur PS (n) sehr viele unterschiedlicheSchnittmuster gibt. Andererseits sind die Sortiernetzwerke, die nach Parberrys Metho-de erzeugt werden, genauso schnell und effizient wie das Odd-Even-Mergesort-Netzwerk,wenn die Leitungszahl n = 2d eine Zweierpotenz ist.

Fur viele Kombinationen von PS (n) und k sind die Sortiernetzwerke, die SN-Evolution-Cut ausgibt, weniger effizient als das entsprechende PS (m)-Netzwerk. Fur einige Kom-binationen werden jedoch auch effizientere Netzwerke generiert, beispielsweise fur m = 11und m = 20. Die Effizienz der Sortiernetzwerke, die SN-Evolution-Cut auf Basis desPairwise-Sorting-Netzwerks berechnet, ist tabellarisch in Tabelle 10 dargestellt.

57

Page 58: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

6.3 Pairwise-Sorting-Netzwerk 6 SN-EVOLUTION-CUT

8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

9 2010 20 2711 20 28 3212 20 28 32 3813 19 27 31 37 4114 19 27 31 37 41 4815 19 27 31 37 41 48 5316 19 27 31 37 41 48 53 5917 21 29 32 39 43 51 57 64 6818 22 29 32 39 43 52 58 65 69 8019 23 29 32 39 43 52 58 65 69 80 8820 23 29 32 39 43 52 58 65 69 80 88 9721 20 30 34 38 44 51 57 64 74 82 87 96 10222 20 30 34 38 46 51 57 64 72 82 89 96 102 11223 20 27 34 38 42 51 57 66 72 83 89 97 102 112 11924 20 27 34 38 42 51 57 64 72 82 89 96 102 112 119 127

PS (m) 19 27 32 38 42 48 53 59 63 79 88 97 103 112 119 127

Tabelle 10: Anzahl der Komparatoren der Ergebnisse von SN-Evolution-Cut mit ver-schiedenen Großen des Pairwise-Sorting-Netzwerks und unterschiedlichen Werten fur k.Jede Zeile gibt die Ergebnisse fur ein Eingabenetzwerk PS (n) an, jede Spalte enthalt dieErgebnisse fur m = n− k, die Anzahl der Leitungen des Ausgabenetzwerks.

Zwei Ergebnisse, die effizienter als die entsprechenden Pairwise-Sorting-Netzwerkesind, zeigt Abbildung 37. Sie erreichen die Geschwindigkeit und Effizienz des Odd-Even-Mergesort-Netzwerks mit der entsprechenden Leitungszahl. Bei großeren Netzwerken, bei-spielsweise m = 19, ist dies mit der in Tabelle 10 dargestellten Große der Schnittmusternoch nicht zu beobachten.

Bei welchen Parametern SN-Evolution-Cut effiziente 19-Sortiernetzwerke findet,ist Tabelle 11 zu entnehmen. Fur n = 31, k = 12 und n = 32, k = 13 werden 19-Sortiernetzwerke mit der selben Effizienz und Geschwindigkeit wie OES (19) erzeugt. Das19-Sortiernetzwerk, das auf diese Art und Weise aus PS (32) erzeugt wurde, ist in Abbil-dung 38 dargestellt.

An den Daten in Tabelle 11 fallt auf, dass die Effizienz und Geschwindigkeit der Er-gebnisse fur n > 32 schlechter werden. Das Pairwise-Sorting-Netzwerk ist Leitungszahlen,die Zweierpotenzen sind, besonders effizient und schnell. Um der Vermutung nachzugehen,dass der SN-Evolution-Cut-Algorithmus fur PS

(n = 2d

)besonders effiziente Schnitt-

muster findet, wurde SN-Evolution-Cut mit PS (32) und k = 1 . . . 16 gestartet. DieErgebnisse sind in Tabelle 12 zusammengefasst.

Die Schnittmuster, die SN-Evolution-Cut fur das Pairwise-Sorting-Netzwerk be-rechnet, konnen zu schnelleren Sortiernetzwerken als PS (m) fuhren. Beispielsweise konnteaus PS (24) ein 18-Sortiernetzwerk erzeugt werden, das mit 13 Schichten zwei paralleleSchritte im Vergleich zu PS (18) einspart. Eine Darstellung dieses Sortiernetzwerks befin-det sich in Abbildung 39. Fur andere m wurde die Geschwindigkeit des Pairwise-Sorting-Netzwerks nicht ubertroffen und im Fall von m = 16 wurde die Geschwindigkeit nichteinmal erreicht.

Die Ergebnisse, die SN-Evolution-Cut erzielte, wenn das gegebene Sortiernetzwerk

58

Page 59: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

6.3 Pairwise-Sorting-Netzwerk 6 SN-EVOLUTION-CUT

(a) 11-Sortiernetzwerk aus 37 Komparatorenin 10 Schichten. Das Netzwerk wurde vonSN-Evolution-Cut aus dem Pairwise-Sorting-Netzwerk PS (13) erzeugt.

(b) 12-Sortiernetzwerk aus 41 Komparatorenin 10 Schichten. Das Netzwerk wurde vonSN-Evolution-Cut aus dem Pairwise-Sorting-Netzwerk PS (16) erzeugt.

Abbildung 37: Zwei effiziente Sortiernetzwerke, die durch Schnittmuster, die von SN-Evolution-Cut berechnet wurden, aus dem Pairwise-Sorting-Netzwerk PS (n) erzeugt wur-den.

n Komp. Schichten

20 97 1521 96 1522 96 1523 97 1424 96 1425 93 1426 92 1427 94 1428 94 1429 92 1430 92 1431 91 1432 91 1433 101 1534 104 1535 106 1536 107 1537 106 1538 102 15

PS (19) 97 15OES (19) 91 14

Tabelle 11: Anzahl der Komparatoren und Schichten von 19-Sortiernetzwerken, die vonSN-Evolution-Cut aus PS (n), n = 20, . . . , 38 erzeugt wurden.

59

Page 60: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

6.3 Pairwise-Sorting-Netzwerk 6 SN-EVOLUTION-CUT

Abbildung 38: Sortiernetzwerk mit 19 Leitungen und 91 Komparatoren in 14 Schich-ten. Das Netzwerk wurde von dem Algorithmus SN-Evolution-Cut aus dem Pairwise-Sorting-Netzwerk PS(32) erzeugt.

m Komp. Schichten

16 69 1117 77 1318 89 1319 91 1420 97 1421 107 1522 114 1523 122 1524 127 1525 138 1526 146 1527 155 1528 161 1529 171 1530 178 1531 186 15

Tabelle 12: Anzahl der Komparatoren und Schichten von m-Sortiernetzwerken, die vonSN-Evolution-Cut nach 5.000.000 Iterationen aus PS (32) erzeugt wurden.

60

Page 61: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

6.3 Pairwise-Sorting-Netzwerk 6 SN-EVOLUTION-CUT

Abbildung 39: Sortiernetzwerk mit 18 Leitungen und 89 Komparatoren in 13 Schich-ten. Das Netzwerk wurde von dem Algorithmus SN-Evolution-Cut aus dem Pairwise-Sorting-Netzwerk PS(24) erzeugt.

61

Page 62: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

6.3 Pairwise-Sorting-Netzwerk 6 SN-EVOLUTION-CUT

8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

9 610 6 1011 6 9 1012 6 8 9 1013 6 8 9 10 1014 6 8 9 10 10 1015 6 8 9 10 10 10 1016 6 8 9 10 10 10 10 1017 7 8 9 10 10 11 11 11 1118 7 8 9 10 10 11 11 11 11 1519 7 8 9 10 10 11 11 11 11 15 1520 7 8 9 10 10 11 11 11 11 15 15 1521 6 8 9 10 10 11 11 11 12 14 15 15 1522 6 8 9 10 10 11 11 11 12 14 14 15 15 1523 6 9 9 10 10 10 11 11 11 13 14 14 15 15 1524 6 9 9 10 10 10 11 11 11 13 13 14 14 15 15 15

PS (m) 6 10 10 10 10 10 10 10 10 15 15 15 15 15 15 15

Tabelle 13: Anzahl der Schichten der Ergebnisse von SN-Evolution-Cut mit verschie-denen Großen des Pairwise-Sorting-Netzwerks und unterschiedlichen Werten fur k. JedeZeile gibt die Ergebnisse fur ein Eingabenetzwerk PS (n) an, jede Spalte enthalt die Er-gebnisse fur m = n− k, die Anzahl der Leitungen des Ausgabenetzwerks.

das bitone Mergesort-Netzwerk war (Abschnitt 6.1), waren sehr wirr. Beispielsweise ist beidem Netzwerk in Abbildung 31 nicht ersichtlich, wie und warum es jede beliebige Eingabesortiert.

Bei dem Pairwise-Sorting-Netzwerk PS(n = 2d

)ist das anders. Startet man SN-

Evolution-Cut mit PS(32) und der Vorgabe, 16 Leitungen zu entfernen, kann der Al-gorithmus ein Sortiernetzwerk zuruckgeben, das die gleiche Anzahl Komparatoren undSchichten wie PS(16) und OES(16) hat. Eines dieser Sortiernetzwerke ist in Abbildung 40dargestellt. Dieses Ergebnis demonstriert, dass sich die Ergebnisse in den gezeigten Tabel-len oft durch zusatzliche Iterationen verbessern lassen.

Obwohl das Pairwise-Sorting-Netzwerk den Odd-Even-Mischer nicht einsetzt und auchnicht auf einem Mischer basiert, ist das Odd-Even-Merge-Netzwerk OEM(8,8) im Sortier-netzwerk in Abbildung 40 eindeutig erkennbar (Schichten 7–10). In den Schichten 1–6erkennt man zwei unabhangige Sortiernetzwerke, die strukturell sehr ahnlich zu PS(8)sind – lediglich die Schichten 1 und 2 sowie 4 und 5 sind vertauscht.

Fur das Pairwise-Sorting-Netzwerk ist es vergleichsweise einfach regelmaßige Schnitt-muster anzugeben, die aus dem Netzwerk ein kleineres schnelles und effizientes Sortier-netzwerk erzeugen. Beispielsweise fuhrt das einfache Schnittmuster

Eingangi =

−∞ falls i < 1

4n∞ falls i = 3

4n? sonst

fur PS(n = 2d

)zum Sortiernetzwerk PS

(12n). Die Art und Weise, mit der dieses Schnitt-

muster Komparatoren eliminiert und welche Komparatoren das verbleibende Netzwerkausmachen, ist in Abbildung 41 dargestellt. Die matt blauen und roten Leitungen und

62

Page 63: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

6.3 Pairwise-Sorting-Netzwerk 6 SN-EVOLUTION-CUT

Abbildung 40: Sortiernetzwerk mit 16 Leitungen und 63 Komparatoren in 10 Schich-ten. Das Netzwerk wurde von dem Algorithmus SN-Evolution-Cut aus dem Pairwise-Sorting-Netzwerk PS(32) durch 16 Schnitte erzeugt.

63

Page 64: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

6.3 Pairwise-Sorting-Netzwerk 6 SN-EVOLUTION-CUT

Abbildung 41: Das PS (32)-Netzwerk mit 8 Maximum- und 8 Minimumschnitten. Gut zusehen sind die verbleibenden Komparatoren, die das PS (16)-Netzwerk bilden.

64

Page 65: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

6.3 Pairwise-Sorting-Netzwerk 6 SN-EVOLUTION-CUT

Abbildung 42: Das PS(16)-Sortiernetzwerk mit 8 Schnitten(MIN(0, 2, 4, 6),MAX(9, 11, 13, 15)). Das resultierende 8-Sortiernetzwerk ist OES(8).

Komparatoren sind diejenigen, die Aufgrund eines Minimums oder eines Maximums imresultierenden Netzwerk nicht mehr enthalten sind. Da die Minima und Maxima bereitsauf den

”richtigen“ Leitungen angelegt werden, mussen keine Leitungen vertauscht werden

und das Ergebnis ist bereits normalisiert. Daher ist das resultierende Netzwerk in schwarzgut zu erkennen.

Ein Spezialfall ergibt sich, wenn SN-Evolution-Cut auf PS(16) angewendet wird:In diesem Fall kann ein 8-Schnittmuster ausgegeben werden, das Odd-Even-Mergesort-Netzwerk OES (8) aus PS (16) erzeugt.. Fur großere Sortiernetzwerke ist dies hingegennicht mehr moglich, beispielsweise kann PS(32) nicht durch ein 16-Schnittmuster in OES (16)konvertiert werden. Die Verwandtschaft von PS(n) und OES (n) untersucht Moritz Muhlentha-ler ausfuhrlich in [10].

65

Page 66: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

7 FAZIT UND AUSBLICK

7 Fazit und Ausblick

Mit dem Entfernen von Leitungen aus bekannten Sortiernetzwerken lassen sich interessanteErgebnisse erzielen. Dies zeigte Moritz Muhlenthaler bereits in [10]. Die in dieser Arbeitvorgestellten Methoden und Resultate machen deutlich, dass sich mit diesem Verfahrennoch weitere interessante Beobachtungen machen lassen.

Das Odd-Even-Mergesort-Netzwerk wird sowohl von SN-Evolution, SN-Evolution-Cut und SN-Markov erreicht. Wenn die Anzahl der Leitungen keine Zweierpotenzist, kann gegebenenfalls ein schnelleres Sortiernetzwerk erzeugt werden. Einige Beispie-le hierfur wurden in Abschnitt 6.2 aufgezeigt.

Das bitone Mergesort-Netzwerk kann in Bezug auf Effizienz von den vorgestellten Al-gorithmen ubertroffen werden. Der Algorithmus SN-Evolution-Cut kann das Ergebnisvon Muhlenthaler und Wanka ([11]) fur ein 16-Sortiernetzwerk reproduzieren und furein 32-Sortiernetzwerk sogar noch ubertreffen. Der SN-Evolution-Algorithmus fand 16-Sortiernetzwerke, die gegenuber dem Ergebnis von SN-Evolution-Cut beziehungswei-se [11] einen weiteren Komparator einsparen.

Leider weisen die Sortiernetzwerke, die von den angegebenen Algorithmen zuruckgege-ben werden, keine Struktur auf, die sich zur Angabe einer Konstruktionsanweisung eigenenwurde. Fur das Pairwise-Sorting- und das Odd-Even-Mergesort-Netzwerk mit Zweierpo-tenzen als Leitungszahl wurden regelmaßige Schnittmuster angegeben. Diese ergeben Sor-tiernetzwerke, die so schnell und effizient sind wie die vergleichbaren OES (n) und PS (n)Netzwerke.

Die Anzahl der unterschiedlichen Schnitte von verschiedenen Sortiernetzwerken wurdeexperimentell bestimmt und gezeigt, dass es deutlich weniger unterschiedliche als moglicheSchnittmuster gibt. Das bedeutet im Umkehrschluss, dass die gewonnenen Sortiernetzwer-ke mit mehreren Schnittmustern erreicht werden konnen.

Die Moglichkeiten der Optimierung von Sortiernetzwerken mit Evolutionaren Algo-rithmen sind durch die in dieser Arbeit vorgestellten Herangehensweisen bei weitem nichterschopft. Im Folgenden werden Ansatze umrissen, mit denen an die Untersuchungen indieser Arbeit nahtlos angeknupft werden konnte.

7.1 Ausblick: Das Pairwise-Sorting-Netzwerk und SN-Evolution

Die aktuelle Implementierung von SN-Evolution (Abschnitte 4 beziehungsweise 8) kannsowohl den bitonen Mischer als auch den Odd-Even-Mischer verwenden, um zwei Indivi-duen zu rekombinieren. Das Pairwise-Sorting-Netzwerk verwendet zwar keinen Mischer,es ist aber ebenfalls rekursiv uber kleinere Versionen von sich selbst definiert. Das heißt,dass PS (n) aus zwei Instanzen von PS

(n2

)und zusatzlichen Komparatoren besteht, die die

Eingabe fur die kleineren Sortiernetzwerke vorbereiten und anschließend fur eine sortierteAusgabe sorgen. Anstelle von PS

(n2

)konnen beliebige Sortiernetzwerke mit n

2 Leitungenverwendet werden.

Dies ließe sich fur SN-Evolution nutzen, um zwei Individuen zu rekombinieren. Daes fur das Pairwise-Sorting-Netzwerk sehr viele unterschiedliche Schnittmuster gibt (Ab-schnitt 3.4.1), ist es moglich, dass die Verwendung dieser Rekombinationsmethode neueErgebnisse ermoglicht. Leider wird die Aussicht auf Erfolg durch die Tatsache geschmalert,dass keine n-Schnittmuster fur PS (2n) gefunden werden konnten, die zu besseren n-Sortiernetzwerken als PS (n) fuhren.

66

Page 67: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

7.2 Ausblick: Kooperation von SN-Evolution und SN-Evolution-Cut7 FAZIT UND AUSBLICK

7.2 Ausblick: Kooperation von SN-Evolution und SN-Evolution-Cut

Ahnlich zu der parasitaren Co-Evolution, die W. Daniel Hillis in [7] beschreibt, konnteman versuchen, die Algorithmen SN-Evolution und SN-Evolution-Cut zu kombi-nieren. Nach dem Zusammenfugen von zwei n-Sortiernetzwerken konnte der AlgorithmusSN-Evolution-Cut beispielsweise einen moglichst guten Schnitt fur dieses Netzwerkermitteln. Da sich die Losungen, die Evolutionare Algorithmen in ihre Population auf-nehmen, in den ersten Schritten rasch verbessern, konnten selbst weniger Iterationen vonSN-Evolution-Cut die Zwischenlosungen von SN-Evolution deutlich verbessern.

Alternativ konnte man – analog zur Herangehensweise von Hillis – eine zweite Po-pulation von Schnittmustern evolvieren, die fur die Sortiernetzwerke in der Populationvon SN-Evolution besonders gut funktionieren. In jeder Iteration wendet man alle odereine zufallige Menge Schnittmuster auf das zusammengefuhrte Netzwerk an und gibt dembesten Ergebnis den Zuschlag. Anschließend erfahrt das entsprechende Schnittmuster ei-ne Aufwertung, so dass es wahrscheinlicher wird, dass dieses Schnittmuster zur nachstenGeneration beitragt. Im Gegensatz zum Ansatz der parasitaren Eingaben entsteht eineSynergie zweier Populationen, die das Gesamtergebnis oder zumindest die Konvergenzge-schwindigkeit verbessern konnte.

67

Page 68: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

8 IMPLEMENTIERUNG

8 Implementierung

Alle in dieser Arbeit beschriebenen Versuche wurden mit einer eigens entwickelten C-Bibliothek, libsortnetwork, und zugehorigen Kommandozeilen-Programmen durchgefuhrt.Die Bibliothek wurde unter der GNU Lesser General Public License (LGPL) in der Versi-on 2.1 veroffentlicht; die Kommandozeilen-Programme, die in vielen Fallen lediglich Funk-tionalitat der Bibliothek auf der Kommandozeile zur Verfugung stellen, stehen unter derGNU General Public License, Version 2. Diese Lizenzen raumen einem Benutzer weitrei-chende Rechte ein, unter anderem das Programm beliebig zu verwenden, zu studieren, zuverandern sowie veranderte und unveranderte Kopien zu veroffentlichen.

Die Programmierschnittstelle (API) der Bibliothek orientiert sich an Paradigmen derobjektorientierten Programmierung. Beispielsweise kann mit der Funktion sn network

create() ein neues Zustands-Objekt erzeugt werden, fur das mehrere Manipulations-Methoden, zum Beispiel sn network comparator add(), zur Verfugung stehen. Auf dieseArt und Weise kann die Bibliothek leicht erweitert werden, ohne dass bestehende Pro-gramme angepasst werden mussen.

Die meisten Kommandozeilen-Programmen lesen ein Komparatornetzwerk von derStandard-Eingabe und schreiben ihr Ergebnis auf die Standard-Ausgabe. Um Beispiels-weise eine normalisierte Variante des bitonen Mergesort-Netzwerks BS (42) zu erzeugen,kann folgendes Kommando verwendet werden:

$ sn-bitonicsort 42 | sn-normalize >sn-42

Dieses Prinzip, kleine Programme eine Aufgabe erledigen zu lassen und es einfach zuermoglichen, Programme zu verketten, ist eines der Grundprinzipien des UNIX-Betriebs-systems. Es hat sich in den letzten Jahrzehnten und beim Verfassen dieser Arbeit als sehrflexibel und machtig erwiesen.

Funktionen, die von Kommandozeilen-Programmen zur Verfugung gestellt werden, sindunter anderem das Erzeugen des Odd-Even-Mergesort-, bitonen Mergesort- und Pairwise-Sorting-Netzwerks, das Normalisieren von Sortiernetzwerken, Anwendung von Schnitt-mustern auf Sortiernetzwerke und Anwendung eines Komparatornetzwerks auf eine Ein-gabepermutation. Das Darstellen von Sortiernetzwerken wird ebenfalls angeboten, bei-spielsweise wurden die Sortiernetzwerke in dieser Arbeit mit dem Kommando sn-tex

visualisiert.libsortnetwork kann unter der Web-Adresse http://octo.it/libsortnetwork/ un-

entgeltlich heruntergeladen werden.

68

Page 69: Evolution are Optimierung von Sortiernetzwerkenverplant.org/uni/diplomarbeit.pdf · Selbst wenn die Berechnung auf 1000 Computern mit je 4 Prozessoren verteilt wird, wird etwa ein

LITERATUR LITERATUR

Literatur

[1] Sherenaz W. Al-Haj Baddar and Kenneth E. Batcher. An 11-step sorting networkfor 18 elements. Parallel Processing Letters, 19(1):97–104, 2009.

[2] Kenneth E. Batcher. Sorting networks and their applications. In Proc. AFIPS SpringJoint Comput. Conf., Vol. 32, pages 307–314, New York, NY, USA, 1968. ACM.

[3] Kalyanmoy Deb and Samir Agrawal. Understanding interactions among genetic algo-rithm parameters. In Proceedings of the Fifth Workshop on Foundations of GeneticAlgorithms, pages 265–286, 1998.

[4] A. E. Eiben and C. A. Schippers. On evolutionary exploration and exploitation.Fundamenta Informaticae, 35:35–50, August 1998.

[5] M. W. Green. Some improvements in non-adaptive sorting algorithms. In Proc. 6thPrinceton Conference on Information Sciences and Systems (CISS), pages 387–391,1972.

[6] Michael L. Harrison and James A. Foster. Co-evolving faults to improve the fault tole-rance of sorting networks. In Proc. 7th European Conference on Genetic Programming(EuroGP), pages 57––66, 2004.

[7] W. Daniel Hillis. Co-evolving parasites improve simulated evolution as an optimiza-tion procedure. Physica D: Nonlinear Phenomena, 42:228–234, 1990.

[8] Hugues Juille. Evolution of non-deterministic incremental algorithms as a new ap-proach for search in state space. In Proc. 6th International Conference on GeneticAlgorithms (ICGA), pages 351–358, 1995.

[9] Donald E. Knuth. Sorting and Searching, volume 3 of The Art of Computer Program-ming, chapter 5.3.4 Networks for Sorting, pages 219–247. Addison-Wesley, secondedition, 2007.

[10] Moritz Muhlenthaler. Konstruktion von Sortiernetzwerken durch Leitungseliminati-on. Diplomarbeit, Friedrich-Alexander-Universitat Erlangen-Nurnberg, Lehrstuhl furInformatik 12, Marz 2009.

[11] Moritz Muhlenthaler and Rolf Wanka. Improving bitonic sorting by wire elimination.In Proc. 23rd PARS-Workshop on Parallel Systems and Architectures of the 23rdInternational Conference on Architecture of Computing Systems (ARCS), pages 15–22, Berlin, Offenbach, 2010. VDE Verlag.

[12] Ian Parberry. The pairwise sorting network. Parallel Processing Letters, 2(2,3):205–211, 1992.

[13] David C. Van Voorhis. An economical construction for sorting networks. In Procee-dings of the May 6–10, 1974, national computer conference and exposition, AFIPS’74, pages 921–927, New York, NY, USA, 1974. ACM.

[14] Rolf Wanka. Approximationsalgorithmen, chapter 8 Approximate Counting und dieMonte-Carlo-Methode, pages 151–186. Teubner Verlag, Wiesbaden, 2006.

[15] Karsten Weicker and Nicole Weicker. Basic principles for understanding evolutionaryalgorithms. Fundamenta Informaticae, 55:387–403, September 2002.

69