Wstep do sieci neuronowych, wyklad 12 Wykorzystanie sieci … · 2013. 12. 17. · Title: Wstep do...

61
Przypomnienie Sieci Hopfielda w optymalizacji grafowej Uwagi Wstęp do sieci neuronowych, wyklad 12 Wykorzystanie sieci rekurencyjnych w optymalizacji grafowej Maja Czoków, Jaroslaw Piersa Wydzial Matematyki i Informatyki, Uniwersytet Mikolaja Kopernika 2013-12-17 Projekt pn. „Wzmocnienie potencjalu dydaktycznego UMK w Toruniu w dziedzinach matematyczno-przyrodniczychrealizowany w ramach Poddzialania 4.1.1 Programu Operacyjnego Kapital Ludzki M. Czoków, J. Piersa WSN 2013/2014 Wyklad 12

Transcript of Wstep do sieci neuronowych, wyklad 12 Wykorzystanie sieci … · 2013. 12. 17. · Title: Wstep do...

  • 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