„Massive Parallelität“: Neuronale Netze „Massive Parallelität“: Neuronale Netze e1 e3 w13 w35 w14 e2 w23 e4 w45 w24 • Knoten: Neuronen Neuronen können erregt („aktiviert“) sein • Kanten: Übertragung von Aktivierungen an Nachbar-Neuronen PI2 Sommer-Semester 2007 Hans-Dieter Burkhard • Kanten sind gewichtet • Übertragene Aktivierung abhängig von Gewicht wij 1 w13 w35 e2 w23 e4 Sommer-Semester 2007 e1 1 e2 0 e5 -1 e4 1 e e15 1 Sommer-Semester 2007 Hans-Dieter Burkhard 1 -1 1 e2 0 Aktivierung zum Zeitpunkt t : actt : E → R 1 -1 1 -1 e1 e3 1 e4 0 1 1 e2 3 PI2 Sommer-Semester 2007 Hans-Dieter Burkhard -1 • Beschreibung statischer Zusammenhänge PI2 - Semantisches Netz - Klassendiagramm - Zustandsdiagramm (als Struktur) - Neuronales Netz (als Struktur) • Beschreibung dynamischer Abläufe Hans-Dieter Burkhard 4 Modell: Graph e e 1 3 e e 2 4 e 5 Unterscheiden! e 5 PI2 Sommer-Semester 2007 Hans-Dieter Burkhard e5 1 1 - Aktueller Zustand im Zustandsdiagramm 1 - Aktivierung im Neuronalen Netz Modell: 1 Wechselnde Beschriftungen des Graphen Erfordert Angaben für Übergänge (Transitionen) zwischen Zuständen, Aktivierungen usw. e5 wRekurrente e4 Netze: mit Rückkopplungen, 23 w45 können z.B. Schwingungen erzeugen w24 (Theorie nichtlinearer dynamischer Systeme) Sommer-Semester 2007 1 e4 0 1 Komplexere Propagierung von Aktivierungen: actt+1 (ei) = f (w1i∗actt(e1)+w21∗actt(e2) + ... + w5i∗actt(e5) ) z.B. mit f(x) = tanh(x) = (ex – e-x ) / (ex + e-x ) oder f(x) = sig(x) = 1 / (1 + e-x ) e1 e3 w13 e2 e3 1 Statische/dynamische Modelle w35 e5 1 „Massive Parallelität“: Neuronale Netze w14 1 -1 Einfache Propagierung von Aktivierungen z.B. gemäß: actt+1 (ei) = 1 , falls w1i∗actt(e1)+w21∗actt(e2) + ... + w5i∗actt(e5) > 0 actt+1 (ei) = 0 , sonst PI2 2 e3 w45 w24 Hans-Dieter Burkhard -1 wij = 0 , falls keine Kante zwischen ei und ej e3 w14 PI2 1 Parallelität“: Neuronale Netze „Massive 1 „Massive Parallelität“: Neuronale Netze e1 e5 e 1 3 e e 2 4 e 5 6 •1 Darstellungsformen für Graphen Darstellungsformen Adjazenz-Matrix: Inzidenz-Matrix: – Knoten v als Zeilen – Kanten e als Spalten Matrix-Elemente: - Ausgangs-Knoten v als Zeilen - Eingangs-Knoten v′ als Spalten Matrix-Elemente: mv,e = +1, falls e= [v ,v′] ∈ E mv,e = -1, falls e= [v′,v ] ∈ E mv,e = 0 , sonst mv,v′ = 1, falls [v,v′] ∈ E mv,v′ = 0, falls [v,v′] ∉ E bzw. bei Kanten-Beschriftungen auch: mv,v′ = β([v,v′]) dabei spezieller Wert für [v,v′] ∉ E , z.B. β([v,v′])=0 PI2 Sommer-Semester 2007 Hans-Dieter Burkhard 7 PI2 Sommer-Semester 2007 Hans-Dieter Burkhard 8 Weitere Definitionen zu Graphen Weg (Pfad) in einem Graphen G‘ = [V‘,E‘] ist Teilgraph von G=[V,E] , falls V‘⊆V und E‘⊆E mit E‘⊆ V‘×V‘ Gerichteter Weg Als Folge von Knoten p = vo, ..., vn mit ∀i ( i ∈ { 1,...,n} → [vi−1,vi] ∈ E) n ist die Länge des Weges (n ≥ 0) vo = Anfang(p) vn =Ende(p) Als Folge von Kanten p = e1, ..., en mit ∀i( i∈{1,...,n-1} → target(ei)=source(ei+1) ) Einschränkung von G=[V,E] auf V‘⊆V : G|V‘ =Def [V‘, E ∩V‘×V‘ ] Für e = [v,v′] ∈ E : source(e) =Def v , target(e)= Def v′ Eingangsvalenz (fan-in), Ausgangsvalenz (fan-out) fan-in(v) = Def card ( { e | ∃ v′∈V: e= [v′,v] ∈ E }) = card ( { e∈ E | target(e) = v } ) fan-out(v) = Def card ( { e | ∃ v′∈V: e= [v,v′] ∈ E }) = card ( { e∈ E | source(e) = v } ) PI2 Sommer-Semester 2007 Hans-Dieter Burkhard Ungerichteter Weg: p = vo, ..., vn mit ∀i(i∈{1,...,n} → [vi−1,vi]∈E ∨ [vi,vi-1]∈E ) 9 PI2 Sommer-Semester 2007 Hans-Dieter Burkhard 10 Weg (Pfad) in einem Graphen Erreichbarkeit, Zusammenhang Einfacher Weg: p = v0, ..., vn mit v′ ist erreichbar von v, falls ein gerichteter Weg p existiert ∀i ∀j ∈ { 0,...,n }: vi = vj → i = j mit Anfang(p)=v , Ende(p)=v′ . Masche: Zwei unterschiedliche einfache Wege p und q der Länge >0 mit Anfang(p)=Anfang(q) , Ende(p)=Ende(q) („Einfache“ Masche: Teilwege bilden keine Masche) Zyklus in gerichteten Graphen: Einfacher Weg p der Länge >0 mit Ausnahmebedingung Anfang(p)=Ende(p) d.h. ∀i ∀j ∈ { 0,...,n }: vi = vj → i = j ∨ {i,j} = {0,n} ) G heißt zusammenhängend, wenn zu je zwei Knoten v,v′∈ V ein ungerichteter (!) Weg p existiert mit Anfang(p)=v , Ende(p)=v′ G heißt stark zusammenhängend, wenn zu je zwei Knoten v,v′∈ V ein gerichteter (!) Weg p existiert mit Anfang(p)=v , Ende(p)=v′ DAG (directed acyclic Graph): gerichteter Graph ohne Zyklen PI2 Sommer-Semester 2007 Hans-Dieter Burkhard Die Relation „Erreichbarkeit“ ist die reflexive, transitive Hülle der Relation E . 11 PI2 Sommer-Semester 2007 Hans-Dieter Burkhard wenn jeder Knoten v′ ∈ V von jedem Knoten v∈ V erreichbar ist. 12 •2 Probleme für Graphen Konstruktion der erreichbaren Knoten Ist ein Knoten v von einem Knoten v0 erreichbar? Sei G=[V,E] ein Graph, v0 ∈V . M(v0) =Def { v | v erreichbar von v0 } Ist G (stark) zusammenhängend? Ist G azyklisch? Mi(v0) sind die mit Wegen der Länge kleiner gleich i erreichbaren v Konstruktion: Existiert ein Hamilton-Kreis? (Hamilton-Kreis: Zyklus, der ganz V umfaßt). • Schritt 0: M0(v0) := { v0 } Existiert ein Euler-Kreis? (Euler-Kreis: Zyklus, der jede Kante genau einmal enthält). • Abbruch, falls Mi(v0) = Mi-1(v0) • Schritt i: Mi(v0) := Mi-1(v0) ∪ { v‘ | ∃ v∈Mi-1(v0) : [v,v‘]∈E } Satz: k-Färbungsproblem: Existiert eine Knotenbeschriftung α: V → {1,...,k} mit ∀v ∀v′([v,v′] ∈ E → α(v) ≠ α(v′) ) PI2 Sommer-Semester 2007 Hans-Dieter Burkhard Der Algorithmus bricht nach höchstens card(V) Schritten ab. Beim Abbruch gilt Mi-1(v0) = M(v0) . 13 PI2 Sommer-Semester 2007 Hans-Dieter Burkhard Konstruktion der erreichbaren Knoten Baum Folgerungen (Gerichteter) Baum: T = [V,E,r] 14 Eingangsvalenzen stets 1 oder 0 (Wurzel) ist ein gerichteter Graph [V,E] Für endliche Graphen G ist entscheidbar, - ob ein Knoten v‘ von einem Knoten v erreichbar ist. - ob G stark zusammenhängend ist. - ob G zusammenhängend ist. Wenn v‘ von einem Knoten v erreichbar ist, so auch mit einem Weg der Länge l < card(V). Weitere Sätze und Komplexitätsbetrachtungen in Theoretischer Informatik PI2 Sommer-Semester 2007 Hans-Dieter Burkhard mit speziellem Knoten (Wurzel) r ∈V , von dem aus alle anderen Knoten auf genau einem Weg erreichbar sind. –gerichtet –zusammenhängend –ohne Zyklen, ohne Maschen –Wurzelknoten r eindeutig bestimmt „Ungerichteter Baum“: jeder Knoten könnte Wurzelknoten sein 15 Bäume PI2 Sommer-Semester 2007 Hans-Dieter Burkhard 16 Bäume Hierarchien: Suchbaum Beschriftungen analog zu Graphen RoboCup n<90 ? Absichten und Unterabsichten ja nein n<50 ? ja n<1500 ? nein n<25 ? ja ja PI2 Sommer-Semester 2007 Hans-Dieter Burkhard 17 n<70 ? ja nein n<20 ja n<30 n<600? ja nein n<62 n<80 n<200 nein ja nein ja nein ja nein ja 11 23 61 81 PI2 Sommer-Semester 2007 28 45 62 76 nein n<1100 nein n<3000 ? ja n<2000 nein n<4000 nein ja nein ja nein ja nein 112 256 1002 1211 1744 2006 3007 5002 Hans-Dieter Burkhard 18 •3 mother_in_law(gaea,gaea) Baum: Rekursive Definition Bäume Anfang: Ein Knoten v ist ein Baum: T=[ {v}, ∅, v ] Beweisbaum mother(gaea,uranus) parent(uranus,gaea,cronus) father(uranus,cronus) parent(gaea,uranus) female(gaea) Rekursionsschritt: Wenn v ein Knoten ist und wenn Ti = [Vi,Ei, wi ] (i=1,...,n) Bäume sind, deren Knotenmengen paarweise disjunkt sind, so ist T = [ V1∪...∪Vn ∪ {v} , E1∪...∪En ∪ { [v, wi ] | i = 1,...,n } , v ] ein Baum. PI2 Sommer-Semester 2007 Hans-Dieter Burkhard 19 mother(gaea,cronus) parent(uranus,cronus) parent(gaea,cronus) male(uranus) female(gaea) Knoten ohne Nachfolger: Blätter. Knoten mit Nachfolger: innere Knoten. Der Knoten ohne Vorgänger: Wurzel. Tiefe: Entfernung von der Wurzel PI2 Sommer-Semester 2007 Hans-Dieter Burkhard 20 mother_in_law(gaea,gaea) Bäume mother(gaea,uranus) parent(gaea,uranus) Für Knoten v, v′ mit [v,v′] ∈ E heißt v der Vorgänger (Vater) von v′ , female(gaea) v′ ein Nachfolger (Sohn) von v . parent(uranus,gaea,cronus) Binärer Suchbaum father(uranus,cronus) mother(gaea,cronus) n<90 ? parent(uranus,cronus) Geschwister: Knoten mit gleichem Vorgänger. parent(gaea,cronus) male(uranus) female(gaea) n<50 ? Geordnete Bäume: Geschwister geordnet (Darstellung: von links nach rechts) n<25 ? binäre Bäume: - innere Knoten haben genau 2 Nachfolger - weiterhin bei Ordnung der Beschriftungen: geordnet bzgl. linker/rechter Nachfolger, Unterbäume konsistent mit Ordnung) PI2 Sommer-Semester 2007 Hans-Dieter Burkhard n<20 21 n<70 ? n<30 28 n<1500 ? 45 n<62 11 23 61 PI2 Sommer-Semester 2007 62 n<600? n<80 76 81 n<200 n<1100 112 256 1002 1211 Hans-Dieter Burkhard n<3000 ? n<2000 n<4000 1744 2006 3007 5002 22 Bäume Bei Tiefe d und Verzweigungszahl b in den Knoten: bd Knoten in jeder Schicht Baum der Tiefe d hat dann insgesamt 1 + b + b2 + ... + bd Knoten letzte Schicht hat mehr Knoten als der ganze vorherige Baum (falls b >1 ) PI2 Sommer-Semester 2007 Hans-Dieter Burkhard 23 •4