Flussdiagramm des Programms LINASSOZ.C
Nach Aufruf des Programms wird die C-Funktion "veraendern" gestartet;
durch sie wird die Anzahl der Ein- und Ausgabe-Neuronen abgefragt und alle
veränderlichen Netzparameter mit Null initialisiert. Daran anschließend
meldet sich das Programm durch den Ausdruck der Zeile
lernen ausfuehren zeigen veraendern speichern einlesen beenden:
Es erwartet nun die Eingabe des Anfangsbuchstabens der jeweils anzustoßenden
Routine, um dann entsprechend zu verzweigen, also z. B. "l (ENTER)"
für den Start der Lern-Regel (hier: Hebb-Lernregel) oder "a (ENTER)",
um im Ausführ-Modus für einen einzugebenden Eingabevektor den
jeweiligen Ausgabevektor zu berechnen. Entsprechend liefert "z (ENTER)"
die Bildschirmausgabe der aktuellen Gewichte und Schwellwerte,
"v (ENTER)" die Option, auch bei bereits laufendem Programm das Netz neu
zu konfigurieren, "s (ENTER)" das Abspeichern der Netzparameter,
Gewichte und Schwellwerte in eine zu benennende Datei sowie schließlich
"e (ENTER)" das Einlesen von zuvor abgespeicherten Netzparametern,
Gewichten und Schwellwerten aus
einer Datei. Mit "b (ENTER)" wird im eigentlichen Sinne keine C-Funktion
aufgerufen, sondern lediglich das Programm beendet. Basierend auf dem
Flussdiagramm sollte es keine Schwierigkeiten machen, auch das C-Programm
selbst in seinem modularen Aufbau zu verstehen und prinzipiell vom Ablauf
her zu durchschauen.
Von besonders zentraler
Bedeutung in Hinblick auf ihre konkrete Realisierung sind dabei
die Funktionen "lernen"
(Hebb-Lern-Modus) und "ausfuehren" (Ausführ-Modus für zweischichtige
Feed-Forward-Netze) sowie die implizit benutzte Funktion
"T" (Transferfunktion, hier die Identität).
Die übrigen Funktionen (neben den bereits beschriebenen Funktionen kommen
noch zwei Leseroutinen für Ein- und Ausgabeassoziationen hinzu,
"lese_x" und "lese_y", die -- wie auch die Transferfunktion -- nur
implizit benutzt werden) erleichtern lediglich den
praktischen Umgang mit dem Netz und sind insofern nur von marginalem
Interesse. Weitere Details entnehme man dem nachfolgenden Listing, wobei man
beim Lesen am Ende mit dem eigentlichen Hauptprogramm "main" beginnen
möge und stets das Flussdiagramm im Auge behalten sollte.
Burkhard Lenze
Im Februar 2009