From: Florian Forster Date: Tue, 24 Nov 2009 12:57:58 +0000 (+0100) Subject: Ein paar Zeilen zur Mutation eingefügt. X-Git-Url: https://git.octo.it/?a=commitdiff_plain;h=ac6c0633b5c7507132bab54e33e57d8ddc3db967;p=diplomarbeit.git Ein paar Zeilen zur Mutation eingefügt. --- diff --git a/diplomarbeit.tex b/diplomarbeit.tex index 980d052..146cc11 100644 --- a/diplomarbeit.tex +++ b/diplomarbeit.tex @@ -592,9 +592,22 @@ erhält. \subsection{Mutation} -{\em Mutation ist schwierig, weil es die Sortiereigenschaft eben nicht -erhält.} - +Zu einem vollständigen evolutionären Algorithmus gehört außerdem eine Mutation +--~eine zufällige Veränderung einer Lösung. Leider ist es nicht möglich ein +Sortiernetzwerk zufällig zu verändern aber trotzdem die Sortiereigenschaft zu +erhalten. Selbst das \emph{Hinzufügen} eines zufälligen Komparators kann diese +Eigenschaft zerstören. + +Nach einer Mutation müsste man überprüfen, ob das neue Komparatornetzwerk die +Sortiereigenschaft noch besitzt. Nach heutigem Wissenstand ist diese +Überprüfung nur mit exponentiellem Aufwand möglich, etwa durch das +Ausprobieren aller $2^n$~Bitmuster. + +Um das Potenzial einer Mutation abzuschätzen habe ich in den evolutionären +Algorithmus eine Überprüfung eingebaut. Unmittelbar vor dem Einfügen in die +Population überprüft das Programm die Notwendigkeit jedes einzelnen +Komparators. Dazu wurde nacheinander jeder Komparator entfernt und überprüft, +ob das verbleibende Netzwerk die Sortiereigenschaft noch besitzt. \begin{itemize} \item Güte von Sortiernetzwerken (Anzahl der Komparatoren, Anzahl der