Zastosowanie sieci rekurencyjnych w optymalizacji grafowej
Transkrypt
Zastosowanie sieci rekurencyjnych w optymalizacji grafowej
Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Wstęp do sieci neuronowych, wykład 11 Wykorzystanie sieci rekurencyjnych w optymalizacji grafowej Maja Czoków, Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2011-12-20 M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi 1 Przypomnienie Sieci Hopfielda 2 Sieci Hopfielda w optymalizacji grafowej Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań 3 Uwagi Złożoność pamięciowa Dynamika stochastyczna M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Sieci Hopfielda 1 Przypomnienie Sieci Hopfielda 2 Sieci Hopfielda w optymalizacji grafowej Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań 3 Uwagi Złożoność pamięciowa Dynamika stochastyczna M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Sieci Hopfielda Model sieci rekurencyjnej każda jednostka ma przypisany swój spin σi ∈ {−1, +1} — jest to aktualna aktywacja neuronu i, która może się zmieniać podczas dynamiki, połączenia synaptyczne mają przypisane wagi wij = wji ∈ R, przyjmujemy wii = 0, jeżeli krawędzi nie ma w grafie, to przyjmujemy w = 0, ponadto neurony otrzymują swoje pole zewnętrzne hi ∈ R — podobnie jak wagi są to wartości ustalone w trakcie procesu M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Sieci Hopfielda Energia sieci Określmy energię sieci zależną od bieżącej konfiguracji spinów neuronów: E (σ̄) = − X 1X wij σi σj − hi σi 2 i6=j M. Czoków, J. Piersa i WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Sieci Hopfielda Dynamika Glaubera Losujemy neuron σi , Przypisujemy σi = sign( X wij σj + hi ) j Powtarzamy 1 i 2 aż do ustabilizowania się sytuacji. M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Sieci Hopfielda Dynamika Little’a Alternatywne sformułowanie: Rozpoczynamy z losowego σ̄ 0 Powtarzamy wielokrotnie: Przypisujemy σ̄ t+1 := sign(W · σ̄ t + h̄) gdzie W = [wij ]i,j=1..N — macierz wag, h̄ — wektor pól zewnętrznych, σ̄ t — wektor spinów w t-tym kroku. M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań 1 Przypomnienie Sieci Hopfielda 2 Sieci Hopfielda w optymalizacji grafowej Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań 3 Uwagi Złożoność pamięciowa Dynamika stochastyczna M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań Dwupodział Grafu Problem: Dany jest graf ważony G = (V, E), v : E → R≥0 . Cel: Chcemy podzielić V na dwa rozłączne podzbiory i równoliczne V = U1 ∪ U2 , takie że sumaryczna waga krawędzi pomiędzy U1 a U2 będzie jak najmniejsza. Krawędzie w obrębie jednej klasy (tj. z U1 do U1 oraz z U2 do U2 ) traktujemy jako darmowe. X v ((u, v )) → min (u,v )∈E:u∈U1 ,v ∈U2 M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań Dwupodział Grafu M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań Konfiguracja sieci Oznaczmy: spin neuronu σi = +1 — przynależność do zbioru U1 , spin σi = −1 — do U2 . Taka konfiguracja spinów jednoznacznie odpowiada podziałowi V na dwa rozłączne podzbiory. M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań Energia sieci Składnik optymalizujący energii: E1 (σ̄) = − X σi σj v (ij) i6=j M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań Energia sieci Składnik optymalizujący energii: E1 (σ̄) = − X σi σj v (ij) i6=j Składnik penalizujący energii: !2 2 E2 (σ̄) = (|U1 | − |U2 |) = X σi i M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań Energia sieci Energia E (σ̄) = c1 E1 + c2 E2 Gdzie c1 , c2 > 0 są skalarami. Powinno przy tym zachodzić: c1 E1 ' c2 E2 . W efekcie: M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań Energia sieci Energia E (σ̄) = c1 E1 + c2 E2 Gdzie c1 , c2 > 0 są skalarami. Powinno przy tym zachodzić: c1 E1 ' c2 E2 . W efekcie: X X X E (σ̄) = −c1 σi σj v ((i, j)) + c2 σi σj + σi2 i6=j M. Czoków, J. Piersa i6=j WSN 2011/2012 Wykład 11 i Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań Energia sieci Energia E (σ̄) = c1 E1 + c2 E2 Gdzie c1 , c2 > 0 są skalarami. Powinno przy tym zachodzić: c1 E1 ' c2 E2 . W efekcie: X X X E (σ̄) = −c1 σi σj v ((i, j)) + c2 σi σj + σi2 i6=j M. Czoków, J. Piersa i6=j WSN 2011/2012 Wykład 11 i Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań Energia sieci Energia E (σ̄) = c1 E1 + c2 E2 Gdzie c1 , c2 > 0 są skalarami. Powinno przy tym zachodzić: c1 E1 ' c2 E2 . W efekcie: X X X E (σ̄) = −c1 σi σj v ((i, j)) + c2 σi σj + σi2 i6=j E (σ̄) = − i6=j 1X σi σj 2 (c1 · v (i, j) − c2 ) 2 i6=j M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 i Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań Wagi Otrzymujemy zależności na wagi wij = 2 (c1 · v (i, j) − c2 ) oraz pola zewnętrzne hi = 0 M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań Kolorowanie wierzchołkowe Problem: Dany jest graf G = (V, E) oraz k kolorów {1, .., k}. Zakładamy, że graf jest planarny, co za tym idzie k ≤ 4. Cel: Chcemy każdemu z wierzchołków v ∈ V przypisać jeden z k kolorów, tj. znaleźć funkcję F : V → {1, .., k}, tak aby sąsiadujące wierzchołki otrzymały różny kolor. ∀(u,v )∈E F (u) 6= F (v ) M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań Konfiguracja sieci sieć liczy N = k|V| neuronów indeksowanych podwójnym oznaczeniem σiα , i — numere wierzchołka w grafie, α — numer koloru, Niech σiα ∈ {0, +1}, σiα = +1 — wierzchołek i ma przypisany kolor α, σiα = 0 — wierzchołek i nie ma przypisanego koloru α, konfiguracja dopuszcza przypisanie wierzchołkom więcej niż jednego koloru jednocześnie. M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań Konfiguracja sieci M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań Energia sieci Oznaczmy vij = +1 (i, j) ∈ E 0 wpw M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań Energia sieci Oznaczmy vij = δαβ +1 (i, j) ∈ E 0 wpw +1 α = β = 0 wpw M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań Energia sieci Oznaczmy vij = δαβ +1 (i, j) ∈ E 0 wpw +1 α = β = 0 wpw Składnik optymalizujący energii: XX E1 (σ̄) = c1 vij · σiα · σjβ · δαβ i6=j α,β M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań Energia sieci Oznaczmy vij = δαβ +1 (i, j) ∈ E 0 wpw +1 α = β = 0 wpw Składnik optymalizujący energii: XX E1 (σ̄) = c1 vij · σiα · σjβ · δαβ i6=j α,β E1 (σ̄) = − 1 X −2c1 vij · δαβ · σiα · σjβ 2 i,j,α,β M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań Energia sieci Składnik penalizujący energii: !2 E2 (σ̄) = c2 X i M. Czoków, J. Piersa −1 + X σiα α WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań Energia sieci Składnik penalizujący energii: !2 E2 (σ̄) = c2 X −1 + X σiα α i E2 (σ̄) = c2 X i 1 − 2 X α M. Czoków, J. Piersa σiα + X σiα σiβ + X α6=β WSN 2011/2012 Wykład 11 α 2 σiα Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań Energia sieci Składnik penalizujący energii: !2 E2 (σ̄) = c2 X −1 + X σiα α i E2 (σ̄) = c2 X 1 − 2 X σiα + α i X σiα σiβ + X α α6=β = c 2 N − XX i α M. Czoków, J. Piersa σiα + XX i σiα σiβ α6=β WSN 2011/2012 Wykład 11 2 σiα Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Energia sieci Składnik penalizujący energii: !2 E2 (σ̄) = c2 X X −1 + σiα α i E2 (σ̄) = c2 X 1 − 2 X σiα + α i X σiα σiβ + X α α6=β = c 2 N − XX i σiα + XX α i σiα σiβ α6=β = c2 N − X σiα + iα M. Czoków, J. Piersa X j δij XX i σiα σiβ α6=β WSN 2011/2012 Wykład 11 2 σiα Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań Energia sieci Składnik penalizujący energii: X X c2 σiα + 2 δij (1 − δαβ )σiα σiβ E2 (σ̄) = − −2 2 iα M. Czoków, J. Piersa ijαβ WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań Energia sieci Składnik penalizujący energii: X X c2 σiα + 2 δij (1 − δαβ )σiα σiβ E2 (σ̄) = − −2 2 iα ijαβ E = E1 + E2 M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań Energia sieci Składnik penalizujący energii: X X c2 σiα + 2 δij (1 − δαβ )σiα σiβ E2 (σ̄) = − −2 2 iα ijαβ E = E1 + E2 E (σ̄) = − X 1 X (−2c1 vij δαβ − 2c2 δij (1 − δαβ ))σiα σjβ + σiα c2 2 iα i,j,α,β M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań Wagi Otrzymujemy zależności na wagi wijαβ = −2c1 vij δαβ − 2c2 δij (1−δαβ ) oraz pola zewnętrzne hiα = c2 M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań Cykl Hammiltona Problem: Dany jest graf ważony G = (V, E) oraz wagi krawędzi v : V × V → R. Jeżeli (uw ) ∈ / E, to jej waga jest duża v ((uw )) N · maxe∈E v (e). Cel: Chcemy znaleźć kolejność wierzchołków (permutację τ ∈ SN ), taką by odwiedzenie wierzchołków w jej kolejności, dało minimalny koszt. N X v ((uτ (i) uτ (i+1) )) + v (uτN uτ1 ) → min i=1 M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań Konfiguracja sieci sieć składa się z N 2 = |V|2 neuronów indeksowanych podwójnym oznaczeniem σiµ , σiµ = +1 — µ-tym elementem cyklu jest wierzchołek vi , σiµ = 0 — że wierzchołek vi nie został odwiedzony w kroku µ-tym cyklu, konfiguracja σ̄ dopuszcza sytuacje, w których jakiś wierzchołek może być odwiedzony więcej niż raz, dopuszamy też odwiedzenie dwóch lub więcej wierzchołków na raz. M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań Cykl Hammiltona M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań Energia sieci Składnik optymalizujący energii: XX vij · (δµ,ν−1 + δµ−1,ν ) · σiµ σjν E1 (σ̄) = c1 iµ jν M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Energia sieci Składnik optymalizujący energii: XX vij · (δµ,ν−1 + δµ−1,ν ) · σiµ σjν E1 (σ̄) = c1 iµ jν Składnik penalizujący energii: !2 E2 (σ̄) = c2 X X µ σiµ − 1 i M. Czoków, J. Piersa !2 + c2 X X i σiµ − 1 µ WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań Energia sieci P P 2 P P c2 µ σ + σ σ − 2 σ + 1 iµ jµ iµ i iµ i6=j i P P P P 2 σ + σ σ − 2 σ + 1 + c2 i iµ iν iµ µ iµ µ6=ν µ E2 (σ̄) = M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań Energia sieci P P 2 P P c2 µ σ + σ σ − 2 σ + 1 iµ jµ iµ i iµ i6=j i P P P P 2 σ + σ σ − 2 σ + 1 + c2 i iµ iν iµ µ iµ µ6=ν µ E2 (σ̄) = P P P E2 (σ̄) = c2 µν δµν ij (1 − δij )σiµ σjν − c2 iµ σiµ P P P + c2 i,j δij µν (1 − δµν )σiµ σjν − c2 iµ σiµ M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań Energia sieci P P 2 P P c2 µ σ + σ σ − 2 σ + 1 iµ jµ iµ i iµ i6=j i P P P P 2 σ + σ σ − 2 σ + 1 + c2 i iµ iν iµ µ iµ µ6=ν µ E2 (σ̄) = P P P E2 (σ̄) = c2 µν δµν ij (1 − δij )σiµ σjν − c2 iµ σiµ P P P + c2 i,j δij µν (1 − δµν )σiµ σjν − c2 iµ σiµ M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań Energia sieci P P 2 P P c2 µ σ + σ σ − 2 σ + 1 iµ jµ iµ i iµ i6=j i P P P P 2 σ + σ σ − 2 σ + 1 + c2 i iµ iν iµ µ iµ µ6=ν µ E2 (σ̄) = P P P E2 (σ̄) = c2 µν δµν ij (1 − δij )σiµ σjν − c2 iµ σiµ P P P + c2 i,j δij µν (1 − δµν )σiµ σjν − c2 iµ σiµ E2 (σ̄) = c2 X (δµν (1 − δij ) + δij (1 − δµν )) σiµ σjν − 2c2 ijµν X iµ M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 σiµ Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań Energia sieci E (σ̄) = − 1X σiµ σjν · (−c2 (δµν (1 − δij ) + δij (1 − δµν ))− 2 ijµν −c1 vij (δµ,ν−1 + δµ−1,ν )) − c2 X σiµ iµ M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań Wagi Otrzymujemy zależności na wagi wijµν = −c2 (δµν (1 − δij ) + δij (1 − δµν )) − c1 vij (δµ,ν−1 + δµ−1,ν )) oraz na pola zewnętrzne hiµ = c2 M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań Przydział zadań Problem: Danych jest N zadań oraz N wykonawców. Koszt wykonania zadania α przez wykonawcę i wynosi viα , gdzie i, α = 1..N. Cel: Chcemy przyporządkować zadania wykonawcom tak, aby każde zadanie zostało wykonane oraz każdy wykonawca wykonał zadanie. Szukamy najtańszego przydziału (permutacji τ ∈ SN ): X vi,τi → min i M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań Konfiguracja sieci sieć liczy N 2 neuronów indeksowanych podwójnym oznaczeniem σiα , i — numer pracy, α — numer wykonawcy, Niech σiα ∈ {0, +1}, σiα = +1 — zadanie i wykonuje pracownik α, σiα = 0 — zadania i nie wykonuje pracownik α, M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań Energia sieci Składnik optymalizujący energii: E1 (σ̄) = c1 X viα σiα iα M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Energia sieci Składnik optymalizujący energii: E1 (σ̄) = c1 X viα σiα iα Składnik penalizujący energii: !2 E2 (σ̄) = c2 X X α σiα − 1 i M. Czoków, J. Piersa !2 + c2 X X i σiα − 1 α WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań Energia sieci Po przeliczeniach (analogicznie jak przy cyklu Hammiltona): X X E2 (σ̄) = c2 (δαβ (1 − δij ) + δij (1 − δαβ )) σiα σjβ − 2c2 σiα iα ijαβ M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań Wagi Zależności na wagi wijαβ = −2c2 (δαβ (1 − δij ) + δij (1 − δαβ )) oraz na pola zewnętrzne hiα = 2c2 − c1 viα M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Złożoność pamięciowa Dynamika stochastyczna 1 Przypomnienie Sieci Hopfielda 2 Sieci Hopfielda w optymalizacji grafowej Dwupodział grafu Kolorowanie wierzchołkowe Cykl Hammiltona Przydział zadań 3 Uwagi Złożoność pamięciowa Dynamika stochastyczna M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Złożoność pamięciowa Dynamika stochastyczna Reprezentacja naiwna int N=100; float wagi[N][N][N][N]; Niech |V| = N = 100, Sieć liczy N 2 = 104 neuronów, Ilość krawędzi synaptycznych (N 2 )2 = 108 , Tablica float-ów (4B) — 400MB na sieć... Wagi są symetryczne wijαβ = wjiβα , więc tablice dynamiczne redukują o połowę. M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Złożoność pamięciowa Dynamika stochastyczna Jak oszczędzić? Wagi w autoasocjatorze Hopfielda: P 1 X µ µ wij = − ξi ξj , N µ=1 µ µ µ=1 ξi ξj ∈ −P, ..., +P, N 2 , więc 1B wystarczy PP P na 127 wzorców, zamiast tablicy wag przetrzymujemy P N 2 tablic z wzorcami uczącymi, wymaga to PN 2 = 100 · 10000(·4B) = 4MB (za cenę liczenia wag za każdym razem). M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Złożoność pamięciowa Dynamika stochastyczna Jak oszczędzić? Wagi w problemie kolorowania wierzchołków: wijαβ = −2c1 vij δαβ − 2c2 δij (1 − δαβ ) c1 i c2 są stałe, δαβ , δij ∈ {0, 1} i można je policzyć w czasie stałym, vij jest jedyną informacją, którą trzeba przechować, tablica (symetryczna) v zajmie N 2 · 4B = 40kB M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Złożoność pamięciowa Dynamika stochastyczna Dynamika stochastyczna 1 2 Rozpoczynamy ze startowego lub losowego układu spinów σ̄, Powtarzamy wielokrotnie: 1 2 3 Próbujemy zmienić spin losowo wybranej jednostki, Jeżeli redukuje to energię, to przyjmujemy tą zmianę, Jeżeli zwiększa to energię o ∆E , to przyjmujemy zmianę z prawdopodobieństwem P = exp(−β∆E ) i odrzucamy z komplementarnym. β > 0 jest temperaturą odwrotną i rośnie w trakcie dynamiki. M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Złożoność pamięciowa Dynamika stochastyczna Ewolucja sieci Hopfielda w wysokiej temperaturze Uwaga. Animacja jest znacznie przyśpieszona i może powodować zmęczenie wzroku! click M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Złożoność pamięciowa Dynamika stochastyczna Ewolucja sieci Hopfielda w niskiej temperaturze Uwaga. Animacja jest znacznie przyśpieszona i może powodować zmęczenie wzroku! click M. Czoków, J. Piersa WSN 2011/2012 Wykład 11 Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Złożoność pamięciowa Dynamika stochastyczna Zadania Przedstaw sposób kodowania problemu grafowego (dwupodział, kolorowanie, cykl Hammiltona) na konfigurację sieci neuronowej. Zaimplementuj sieć neuronową do rozwiązywania problemu grafowego (jeden z powyższych). Przemodeluj reprezentację, aby sieć mogła pracować na większych danych. Zapoznaj się z zagadnieniem symulowanego wyżarzania (simmulated annealing). Dodaj ten mechanizm do implementacji. M. Czoków, J. Piersa WSN 2011/2012 Wykład 11