PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Wstęp do sieci neuronowych, wykład 12Wykorzystanie sieci rekurencyjnych w optymalizacji
grafowej
Maja Czoków, Jarosław Piersa
Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika
2013-12-17
Projekt pn. „Wzmocnienie potencjału dydaktycznego UMK w Toruniu w dziedzinach matematyczno-przyrodniczych”realizowany w ramach Poddziałania 4.1.1 Programu Operacyjnego Kapitał Ludzki
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
1 PrzypomnienieSieci Hopfielda
2 Sieci Hopfielda w optymalizacji grafowejDwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
3 UwagiZłożoność pamięciowaDynamika stochastyczna
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
UwagiSieci Hopfielda
1 PrzypomnienieSieci Hopfielda
2 Sieci Hopfielda w optymalizacji grafowejDwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
3 UwagiZłożoność pamięciowaDynamika stochastyczna
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
UwagiSieci Hopfielda
Model sieci rekurencyjnej
każda jednostka ma przypisanyswój spin σi ∈ {−1,+1} — jestto aktualna aktywacja neuronu i ,która może się zmieniać podczasdynamiki,
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ściustalone w trakcie procesuuczenia.M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
UwagiSieci Hopfielda
Energia sieci
Określmy energię sieci zależną od bieżącej konfiguracji spinówneuronów:
energia
E (σ̄) = −12
∑i 6=jwijσiσj −
∑i
hiσi
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
UwagiSieci Hopfielda
Dynamika Glaubera
Losujemy neuron σi ,
Przypisujemyσi = sign(
∑j
wijσj + hi )
Powtarzamy 1 i 2 aż do ustabilizowania się sytuacji.
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
UwagiSieci Hopfielda
Dynamika Little’a
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 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
1 PrzypomnienieSieci Hopfielda
2 Sieci Hopfielda w optymalizacji grafowejDwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
3 UwagiZłożoność pamięciowaDynamika stochastyczna
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
Dwupodział Grafu
Problem:
Dany jest graf ważony G = (V, E), v : E → R≥0.
Cel:
Podzielić V na dwa podzbiory V = U1 ∪ U2, takie że sumarycznawaga krawędzi pomiędzy U1 a U2 będzie minimalna.
Krawędzie w obrębie jednej klasy (z U1 do U1 oraz z U2 do U2) sądarmowe. ∑
(u,v)∈E:u∈U1,v∈U2
v((u, v))→ min
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
Dwupodział Grafu
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
Konfiguracja sieci
Oznaczenia:
spin neuronu σi = +1:przynależność do zbioru U1,vi ∈ U1,spin σi = −1: vi ∈ U2.konfiguracja ¯sigmajednoznacznie odpowiadapodziałowi V na dwapodzbiory.
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
Energia sieci
Składnik optymalizujący:
E1(σ̄) = −∑i 6=j
σiσjv(ij)
Składnik penalizujący:
E2(σ̄) = (|U1| − |U2|)2 =
(∑i
σi
)2Pomiń obliczenia
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
Energia sieci
Składnik optymalizujący:
E1(σ̄) = −∑i 6=j
σiσjv(ij)
Składnik penalizujący:
E2(σ̄) = (|U1| − |U2|)2 =
(∑i
σi
)2Pomiń obliczenia
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
Energia sieci
EnergiaE (σ̄) = c1E1 + c2E2
Gdzie c1, c2 > 0 są skalarami. Powinno przy tym zachodzić:c1E1 ' c2E2.W efekcie:
E (σ̄) = −c1
∑i 6=j
σiσjv(i , j)
+ c2∑i 6=j
σiσj +∑i
σ2i
ponieważ
∑i σ2i =
∑i 1 = const
E (σ̄) = −12
∑i 6=j
σiσj 2 (c1 · v(i , j)− c2)
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
Energia sieci
EnergiaE (σ̄) = c1E1 + c2E2
Gdzie c1, c2 > 0 są skalarami. Powinno przy tym zachodzić:c1E1 ' c2E2.W efekcie:
E (σ̄) = −c1
∑i 6=j
σiσjv(i , j)
+ c2∑i 6=j
σiσj +∑i
σ2i
ponieważ
∑i σ2i =
∑i 1 = const
E (σ̄) = −12
∑i 6=j
σiσj 2 (c1 · v(i , j)− c2)
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
Energia sieci
EnergiaE (σ̄) = c1E1 + c2E2
Gdzie c1, c2 > 0 są skalarami. Powinno przy tym zachodzić:c1E1 ' c2E2.W efekcie:
E (σ̄) = −c1
∑i 6=j
σiσjv(i , j)
+ c2∑i 6=j
σiσj +∑i
σ2i
ponieważ∑i σ2i =
∑i 1 = const
E (σ̄) = −12
∑i 6=j
σiσj 2 (c1 · v(i , j)− c2)
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
Energia sieci
EnergiaE (σ̄) = c1E1 + c2E2
Gdzie c1, c2 > 0 są skalarami. Powinno przy tym zachodzić:c1E1 ' c2E2.W efekcie:
E (σ̄) = −c1
∑i 6=j
σiσjv(i , j)
+ c2∑i 6=j
σiσj +∑i
σ2i
ponieważ∑i σ2i =
∑i 1 = const
E (σ̄) = −12
∑i 6=j
σiσj 2 (c1 · v(i , j)− c2)
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
Energia sieci
EnergiaE (σ̄) = c1E1 + c2E2
Gdzie c1, c2 > 0 są skalarami. Powinno przy tym zachodzić:c1E1 ' c2E2.W efekcie:
E (σ̄) = −c1
∑i 6=j
σiσjv(i , j)
+ c2∑i 6=j
σiσj +∑i
σ2i
ponieważ
∑i σ2i =
∑i 1 = const
E (σ̄) = −12
∑i 6=j
σiσj 2 (c1 · v(i , j)− c2)
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
Energia sieci
EnergiaE (σ̄) = c1E1 + c2E2
Gdzie c1, c2 > 0 są skalarami. Powinno przy tym zachodzić:c1E1 ' c2E2.W efekcie:
E (σ̄) = −c1
∑i 6=j
σiσjv(i , j)
+ c2∑i 6=j
σiσj +∑i
σ2i
ponieważ
∑i σ2i =
∑i 1 = const
E (σ̄) = −12
∑i 6=j
σiσj 2 (c1 · v(i , j)− c2)
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział 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 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
Kolorowanie wierzchołkowe
Problem:
Dany graf G = (V, E) oraz k kolorów {1, .., k}.
Cel:
Chcemy każdemu z wierzchołków v ∈ V przypisać jeden z k kolorów,tak aby sąsiadujące wierzchołki otrzymały różne kolorowania. Tzn.znaleźć funkcję F : V → {1, .., k} spełniającą:
∀(u,v)∈EF (u) 6= F (v)
Jeżeli graf jest planarny, to k ≤ 4.
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
Konfiguracja sieci
N = k |V| neuronów, indeksowanych podwójnym oznaczeniemσiα,
i — numer wierzchołka w grafie, α — numer koloru,
σiα ∈ {0,+1},σiα = +1 — wierzchołek i ma przypisany kolor α,
σiα = 0 — wierzchołek i nie ma przypisanego koloru α,
konfiguracja dopuszcza przypisanie więcej niż jednego kolorujednocześnie.
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
Konfiguracja sieci
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
Energia sieci
Pomiń obliczenia
Oznaczmy
vij ={
+1 (i , j) ∈ E0 wpw
δαβ =
{+1 α = β0 wpw
Składnik optymalizujący energii:
E1(σ̄) = c1∑i 6=j
∑α,β
vij · σiα · σjβ · δαβ
E1(σ̄) = −12
∑i ,j ,α,β
−2c1vij · δαβ · σiα · σjβ
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
Energia sieci
Pomiń obliczenia
Oznaczmy
vij ={
+1 (i , j) ∈ E0 wpw
δαβ =
{+1 α = β0 wpw
Składnik optymalizujący energii:
E1(σ̄) = c1∑i 6=j
∑α,β
vij · σiα · σjβ · δαβ
E1(σ̄) = −12
∑i ,j ,α,β
−2c1vij · δαβ · σiα · σjβ
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
Energia sieci
Pomiń obliczenia
Oznaczmy
vij ={
+1 (i , j) ∈ E0 wpw
δαβ =
{+1 α = β0 wpw
Składnik optymalizujący energii:
E1(σ̄) = c1∑i 6=j
∑α,β
vij · σiα · σjβ · δαβ
E1(σ̄) = −12
∑i ,j ,α,β
−2c1vij · δαβ · σiα · σjβ
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
Energia sieci
Pomiń obliczenia
Oznaczmy
vij ={
+1 (i , j) ∈ E0 wpw
δαβ =
{+1 α = β0 wpw
Składnik optymalizujący energii:
E1(σ̄) = c1∑i 6=j
∑α,β
vij · σiα · σjβ · δαβ
E1(σ̄) = −12
∑i ,j ,α,β
−2c1vij · δαβ · σiα · σjβ
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
Energia sieci
Pomiń obliczenia
Oznaczmy
vij ={
+1 (i , j) ∈ E0 wpw
δαβ =
{+1 α = β0 wpw
Składnik optymalizujący energii:
E1(σ̄) = c1∑i 6=j
∑α,β
vij · σiα · σjβ · δαβ
E1(σ̄) = −12
∑i ,j ,α,β
−2c1vij · δαβ · σiα · σjβ
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
Energia sieci
Składnik penalizujący energii:
E2(σ̄) = c2∑i
(−1 +
∑α
σiα
)2
E2(σ̄) = c2∑i
1− 2∑α
σiα +∑α6=β
σiασiβ +∑α
σ2iα
= c2
N −∑i
∑α
σiα +∑i
∑α 6=β
σiασiβ
= c2
N −∑iα
σiα +∑j
δij∑i
∑α6=β
σiασiβ
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
Energia sieci
Składnik penalizujący energii:
E2(σ̄) = c2∑i
(−1 +
∑α
σiα
)2
E2(σ̄) = c2∑i
1− 2∑α
σiα +∑α6=β
σiασiβ +∑α
σ2iα
= c2
N −∑i
∑α
σiα +∑i
∑α 6=β
σiασiβ
= c2
N −∑iα
σiα +∑j
δij∑i
∑α6=β
σiασiβ
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
Energia sieci
Składnik penalizujący energii:
E2(σ̄) = c2∑i
(−1 +
∑α
σiα
)2
E2(σ̄) = c2∑i
1− 2∑α
σiα +∑α6=β
σiασiβ +∑α
σ2iα
= c2
N −∑i
∑α
σiα +∑i
∑α 6=β
σiασiβ
= c2
N −∑iα
σiα +∑j
δij∑i
∑α6=β
σiασiβ
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
Energia sieci
Składnik penalizujący energii:
E2(σ̄) = c2∑i
(−1 +
∑α
σiα
)2
E2(σ̄) = c2∑i
1− 2∑α
σiα +∑α6=β
σiασiβ +∑α
σ2iα
= c2
N −∑i
∑α
σiα +∑i
∑α 6=β
σiασiβ
= c2
N −∑iα
σiα +∑j
δij∑i
∑α 6=β
σiασiβ
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
Energia sieci
Składnik penalizujący energii:
E2(σ̄) = −c22
−2∑iα
σiα + 2∑ijαβ
δij(1− δαβ)σiασiβ
E = E1 + E2
E (σ̄) = −12
∑i ,j ,α,β
(−2c1vijδαβ − 2c2δij(1− δαβ))σiασjβ +∑iα
σiαc2
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
Energia sieci
Składnik penalizujący energii:
E2(σ̄) = −c22
−2∑iα
σiα + 2∑ijαβ
δij(1− δαβ)σiασiβ
E = E1 + E2
E (σ̄) = −12
∑i ,j ,α,β
(−2c1vijδαβ − 2c2δij(1− δαβ))σiασjβ +∑iα
σiαc2
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
Energia sieci
Składnik penalizujący energii:
E2(σ̄) = −c22
−2∑iα
σiα + 2∑ijαβ
δij(1− δαβ)σiασiβ
E = E1 + E2
E (σ̄) = −12
∑i ,j ,α,β
(−2c1vijδαβ − 2c2δij(1− δαβ))σiασjβ +∑iα
σiαc2
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
Wagi
Otrzymujemy zależności na:
wagi
wijαβ = −2c1vijδαβ − 2c2δij(1− δαβ)
oraz
pola zewnętrzne
hiα = c2
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
Cykl Hammiltona
Problem:
Dany jest graf ważony G = (V, E) oraz wagi krawędzi v : V × V → R.Jeżeli (u1u2) /∈ E , to jej waga jest duża v((u1u2))� N ·maxe∈Ev(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−1∑i=1
v((uτ(i)uτ(i+1))) + v(uτNuτ1)→ min
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
Konfiguracja sieci
sieć składa się z N2 = |V|2 neuronów indeksowanych podwójnymoznaczeniem σ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łekmoże być odwiedzony więcej niż raz,
dopuszamy też odwiedzenie dwóch lub więcej wierzchołków naraz.
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
Cykl Hammiltona
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
Energia sieci
Składnik optymalizujący energii:
E1(σ̄) = c1∑iµ
∑jν
vij · (δµ,ν−1 + δµ−1,ν) · σiµσjν
Składnik penalizujący energii:
E2(σ̄) = c2∑µ
(∑i
σiµ − 1
)2+ c2
∑i
(∑µ
σiµ − 1
)2Pomiń obliczenia
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
Energia sieci
Składnik optymalizujący energii:
E1(σ̄) = c1∑iµ
∑jν
vij · (δµ,ν−1 + δµ−1,ν) · σiµσjν
Składnik penalizujący energii:
E2(σ̄) = c2∑µ
(∑i
σiµ − 1
)2+ c2
∑i
(∑µ
σiµ − 1
)2Pomiń obliczenia
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
Energia sieci
E2(σ̄) = c2∑
µ
(∑i σ2iµ +
∑i 6=j σiµσjµ − 2
∑i σiµ + 1
)+ c2
∑i
(∑µ σ2iµ +
∑µ 6=ν σiµσiν − 2
∑µ σiµ + 1
)
E2(σ̄) = c2∑
µν δµν∑ij (1− δij)σiµσjν − c2
∑iµ σiµ
+ c2∑i ,j δij
∑µν (1− δµν)σiµσjν − c2
∑iµ σiµ
E2(σ̄) = c2∑ijµν
(δµν(1− δij) + δij(1− δµν))σiµσjν − 2c2∑iµ
σiµ
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
Energia sieci
E2(σ̄) = c2∑
µ
(∑i σ2iµ +
∑i 6=j σiµσjµ − 2
∑i σiµ + 1
)+ c2
∑i
(∑µ σ2iµ +
∑µ 6=ν σiµσiν − 2
∑µ σiµ + 1
)E2(σ̄) = c2
∑µν δµν
∑ij (1− δij)σiµσjν − c2
∑iµ σiµ
+ c2∑i ,j δij
∑µν (1− δµν)σiµσjν − c2
∑iµ σiµ
E2(σ̄) = c2∑ijµν
(δµν(1− δij) + δij(1− δµν))σiµσjν − 2c2∑iµ
σiµ
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
Energia sieci
E2(σ̄) = c2∑
µ
(∑i σ2iµ +
∑i 6=j σiµσjµ − 2
∑i σiµ + 1
)+ c2
∑i
(∑µ σ2iµ +
∑µ 6=ν σiµσiν − 2
∑µ σiµ + 1
)E2(σ̄) = c2
∑µν δµν
∑ij (1− δij)σiµσjν − c2
∑iµ σiµ
+ c2∑i ,j δij
∑µν (1− δµν)σiµσjν − c2
∑iµ σiµ
E2(σ̄) = c2∑ijµν
(δµν(1− δij) + δij(1− δµν))σiµσjν − 2c2∑iµ
σiµ
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
Energia sieci
E2(σ̄) = c2∑
µ
(∑i σ2iµ +
∑i 6=j σiµσjµ − 2
∑i σiµ + 1
)+ c2
∑i
(∑µ σ2iµ +
∑µ 6=ν σiµσiν − 2
∑µ σiµ + 1
)E2(σ̄) = c2
∑µν δµν
∑ij (1− δij)σiµσjν − c2
∑iµ σiµ
+ c2∑i ,j δij
∑µν (1− δµν)σiµσjν − c2
∑iµ σiµ
E2(σ̄) = c2∑ijµν
(δµν(1− δij) + δij(1− δµν))σiµσjν − 2c2∑iµ
σiµ
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
Energia sieci
E (σ̄) = −12
∑ijµν
σiµσjν · (−c2(δµν(1− δij) + δij(1− δµν))−
−c1vij(δµ,ν−1 + δµ−1,ν))− c2∑iµ
σiµ
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
Wagi
Otrzymujemy zależności na:
wagi
wijµν = −c2(δµν(1− δij) + δij(1− δµν))− c1vij(δµ,ν−1 + δµ−1,ν))
oraz na
pola zewnętrzne
hiµ = c2
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział 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żdezadanie zostało wykonane oraz każdy wykonawca wykonał zadanie.Szukamy najtańszego przydziału (permutacji τ ∈ SN):∑
i
vi ,τi → min
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
Konfiguracja sieci
sieć liczy N2 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 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
Energia sieci
Składnik optymalizujący energii:
E1(σ̄) = c1∑iα
viασiα
Składnik penalizujący energii:
E2(σ̄) = c2∑α
(∑i
σiα − 1
)2+ c2
∑i
(∑α
σiα − 1
)2
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
Energia sieci
Składnik optymalizujący energii:
E1(σ̄) = c1∑iα
viασiα
Składnik penalizujący energii:
E2(σ̄) = c2∑α
(∑i
σiα − 1
)2+ c2
∑i
(∑α
σiα − 1
)2
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
Energia sieci
Po przeliczeniach (analogicznie jak przy cyklu Hammiltona):
E2(σ̄) = c2∑ijαβ
(δαβ(1− δij) + δij(1− δαβ))σiασjβ − 2c2∑iα
σiα
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Dwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
Wagi
Zależności na:
wagi
wijαβ = −2c2 (δαβ(1− δij) + δij(1− δαβ))
oraz na
pola zewnętrzne
hiα = 2c2 − c1viα
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Złożoność pamięciowaDynamika stochastyczna
1 PrzypomnienieSieci Hopfielda
2 Sieci Hopfielda w optymalizacji grafowejDwupodział grafuKolorowanie wierzchołkoweCykl HammiltonaPrzydział zadań
3 UwagiZłożoność pamięciowaDynamika stochastyczna
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Złożoność pamięciowaDynamika stochastyczna
Reprezentacja naiwna
int N=100;float wagi[N][N][N][N];
Niech |V| = N = 100,Sieć liczy N2 = 104 neuronów,
Ilość krawędzi synaptycznych (N2)2 = 108,
Tablica float-ów (4B) — 400MB na sieć...
Wagi są symetryczne wijαβ = wjiβα, więc tablice dynamiczneredukują o połowę.
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Złożoność pamięciowaDynamika stochastyczna
Jak oszczędzić?
Wagi w autoasocjatorze Hopfielda:
wij = −1N
P∑µ=1
ξµi ξµj ,
∑Pµ=1 ξ
µi ξ
µj ∈ −P, ...,+P,
P � N2, więc 1B wystarczy na 127 wzorców,
zamiast tablicy wag przetrzymujemy P � N2 tablic z wzorcamiuczącymi,
wymaga to PN2 = 100 · 10000(·4B) = 4MB (za cenę liczeniawag za każdym razem).
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Złożoność pamięciowaDynamika stochastyczna
Jak oszczędzić?
Wagi w problemie kolorowania wierzchołków:
wijαβ = −2c1vijδαβ − 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 N2 · 4B = 40kB
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Złożoność pamięciowaDynamika stochastyczna
Dynamika stochastyczna
1 Rozpoczynamy ze startowego lub losowego układu spinów σ̄,2 Powtarzamy wielokrotnie:
1 Próbujemy zmienić spin losowo wybranej jednostki,2 Jeżeli redukuje to energię, to przyjmujemy tą zmianę,3 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 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Złożoność pamięciowaDynamika 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 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Złożoność pamięciowaDynamika 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 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda w optymalizacji grafowej
Uwagi
Złożoność pamięciowaDynamika stochastyczna
Zadania
Przedstaw sposób kodowania problemu grafowego (dwupodział,kolorowanie, cykl Hammiltona) na konfigurację sieci neuronowej.
Zaimplementuj sieć neuronową do rozwiązywania problemugrafowego (jeden z powyższych).
Przemodeluj reprezentację, aby sieć mogła pracować nawiększych danych.
Zapoznaj się z zagadnieniem symulowanego wyżarzania(simmulated annealing). Dodaj ten mechanizm doimplementacji.
M. Czoków, J. Piersa WSN 2013/2014 Wykład 12
PrzypomnienieSieci Hopfielda
Sieci Hopfielda w optymalizacji grafowejDwupodzial grafuKolorowanie wierzcholkoweCykl HammiltonaPrzydzial zadan
UwagiZlozonosc pamieciowaDynamika stochastyczna
Top Related