Zastosowanie sieci neuronowych do oceny liczby lew w rozdaniach brydżowych

27
Zastosowanie sieci neuronowych do oceny liczby lew w rozdaniach brydżowych Studium przypadku mgr inż. Krzysztof Mossakowski Wydział Matematyki i Nauk Informacyjnych Politechniki Warszawskiej Warszawa, 3 grudnia 2003

description

Zastosowanie sieci neuronowych do oceny liczby lew w rozdaniach brydżowych. Studium przypadku. mgr inż. Krzysztof Mossakowski Wydział Matematyki i Nauk Informacyjnych Politechniki Warszawskiej. Warszawa, 3 grudnia 2003. Zagadnienie. - PowerPoint PPT Presentation

Transcript of Zastosowanie sieci neuronowych do oceny liczby lew w rozdaniach brydżowych

Page 1: Zastosowanie sieci neuronowych do oceny liczby lew w rozdaniach brydżowych

Zastosowanie sieci neuronowych do oceny liczby lew w rozdaniach brydżowych

Studium przypadku

mgr inż. Krzysztof MossakowskiWydział Matematyki i Nauk Informacyjnych

Politechniki WarszawskiejWarszawa, 3 grudnia 2003

Page 2: Zastosowanie sieci neuronowych do oceny liczby lew w rozdaniach brydżowych

Zagadnienie Dane są rozdania brydżowe z

obliczoną liczbą lew wziętych przez parę NS (przy założeniu optymalnej gry obu stron)

Stworzyć sieć neuronową, która na podstawie podanych wszystkich rąk poda spodziewaną liczbę lew dla pary NS

Page 3: Zastosowanie sieci neuronowych do oceny liczby lew w rozdaniach brydżowych

Pochodzenie danych GIB (Ginsberg Intelligent

Bridgeplayer) - najsilniejszy program brydżowy [http://www.gibware.com]

GIB Library - zbiór rozdań brydżowych z obliczoną liczbą lew wziętych przez parę NS przy optymalnej grze obu stron [http://www.cirl.uoregon.edu/ginsberg/gibresearch.html]

Page 4: Zastosowanie sieci neuronowych do oceny liczby lew w rozdaniach brydżowych

Dane 717102 rozdania Pojedyncze rozdanie:

karty wszystkich rąkW: AT85432.4.J32.K9 N: Q6.AJ2.Q98764.JT E: KJ.953.T5.AQ8643 S: 97.KQT876.AK.752

liczba lew pary NS dla wszystkich możliwości koloru atutowego i osoby wistującego

01201203039129128128120303

wist Wwist Nwist Ewist S

BEZ

ATU

PIKI

KIERY

KARA

TREFLE

Page 5: Zastosowanie sieci neuronowych do oceny liczby lew w rozdaniach brydżowych

Oczekiwane rezultaty W ilu procentach przypadków

pomyłka nie będzie większa niż 2 lewy?

W ilu procentach przypadków pomyłka nie będzie większa niż 1 lewa?

W ilu procentach przypadków nie będzie pomyłki?

?

Page 6: Zastosowanie sieci neuronowych do oceny liczby lew w rozdaniach brydżowych

Wykorzystane narzędzie JNNS 1.1 - Java Neural Network

Simulator następca SNNS - Stuttgart Neural

Network Simulator

Page 7: Zastosowanie sieci neuronowych do oceny liczby lew w rozdaniach brydżowych

Testowane sieci neuronowe Jednokierunkowe wielowarstwowe Losowa inicjalizacja wag z przedziału

[-1.0, 1.0] Neurony

funkcja aktywacji: sigmoidalna unipolarna (logistyczna)

funkcja wyjściowa: identyczność

Page 8: Zastosowanie sieci neuronowych do oceny liczby lew w rozdaniach brydżowych

Algorytm uczący RProp (Resilient Propagation)

przy zmianie wag uwzględniany jest tylko znak składowej gradientu

współczynnik gradientu jest dobierany w każdym cyklu dla każdej wagi na podstawie zmian wartości gradientu

zgodny znak zmiany gradientu w dwóch kolejnych krokach zwiększa wsp. uczenia, przeciwny - zmniejsza

parametry0 = 0.1 max = 50.0 = 4.0

Page 9: Zastosowanie sieci neuronowych do oceny liczby lew w rozdaniach brydżowych

Reprezentacja danych Liniowe przekształcenie danych do

przedziału [min, max] dla danych: wartość karty [dwójka, as] kolor: [bez atu, trefle] wistujący: [nie, tak] liczba lew: [0, 13]

Testowane przedziały: min: 0 0.1 0.2 max: 1 0.9 0.8

Page 10: Zastosowanie sieci neuronowych do oceny liczby lew w rozdaniach brydżowych

Najczęściej stosowane zbiory danych Uczący - 10 tys. rozdań

numery od 1 do 10000 Walidacyjny - 1 tys. rozdań

numery od 500001 do 501000 charakter wyłącznie informacyjny

Testowy - 1 tys. rozdań numery od 600001 do 601000

Page 11: Zastosowanie sieci neuronowych do oceny liczby lew w rozdaniach brydżowych

Pierwsza sieć neuronowa (26x4)-(7x4)-13-1

Wyniki (37 tys. iteracji): uczący: [92%, 71%, 28%]

walidacyjny: [86%, 59%, 22%]testowy: [87%, 63%, 23%]

...

W(13 par neuronów)

...26 x 4

7 x 4

... ... ...

N E S

... ... ......13

1

Page 12: Zastosowanie sieci neuronowych do oceny liczby lew w rozdaniach brydżowych

Pomysł:Zgrupować karty (26x4)-(13x4)-(7x4)-13-1

Wyniki (20 tys. iteracji): uczący: [95%, 78%, 32%] [+3,+7,+4]

walidacyjny: [93%, 73%, 29%] [+7,+14,+7]testowy: [93%, 76%, 33%][+6,+13,+10]

...

...

26 x 4

7 x 4

... ... ...

... ... ......13

1

13 x 4 ... ... ... ...

Page 13: Zastosowanie sieci neuronowych do oceny liczby lew w rozdaniach brydżowych

Pomysł:Połączyć ręce parami (26x4)-(13x4)-(7x4)-(7x2)-7-1

Wyniki (20 tys. iteracji): uczący: [92%, 71%, 28%] [-3,-7,-4]

walidacyjny: [88%, 64%, 24%] [-5,-9,-5]testowy: [89%, 68%, 27%] [-4,-8,-6]

...26 x 4

7 x 4

... ... ...

...7

1

13 x 4 ... ... ... ...

... ... ......

... ...7 x 2

Page 14: Zastosowanie sieci neuronowych do oceny liczby lew w rozdaniach brydżowych

Pomysł:Powiększyć sieć (26x4)-(13x4)-(13x4)-26-13-1

Wyniki (20 tys. iteracji): uczący: [95%, 77%, 31%] [0,-1,-1]

walidacyjny: [89%, 67%, 26%] [-4,-6,-3]testowy: [90%, 70%, 29%] [-3,-6,-4]

...26 x 4

13 x 4

... ... ...

...13

1

13 x 4 ... ... ... ...

... ... ......

...26

Page 15: Zastosowanie sieci neuronowych do oceny liczby lew w rozdaniach brydżowych

Pomysł:Zmniejszyć sieć (26x4)-(13x4)-(3x4)-5-1

Wyniki (20 tys. iteracji): uczący: [94%, 75%, 29%] [-1,-3,-3]

walidacyjny: [92%, 71%, 28%] [-1,-2,-1]testowy: [91%, 73%, 28%] [-2,-3,-5]

...

...

26 x 4

7 x 4

... ... ...

... ... ......5

1

13 x 4 ... ... ... ...

Page 16: Zastosowanie sieci neuronowych do oceny liczby lew w rozdaniach brydżowych

Zestawienie wyników

Sieć Uczący Walidacyjny Testowy

(26x4)-(7x4)-13-1[37 tys. iteracji]

92%71%28%

86%59%22%

87%63%23%

(26x4)-(13x4)-(7x4)-13-1[20 tys. iteracji]

95%78%32%

93%73%29%

93%76%33%

(26x4)-(13x4)-(7x4)-(7x2)-7-1[20 tys. iteracji]

92%71%28%

88%64%24%

89%68%27%

(26x4)-(13x4)-(13x4)-26-13-1[20 tys. iteracji]

95%77%31%

89%67%26%

90%70%29%

(26x4)-(13x4)-(3x4)-5-1[20 tys. iteracji]

94%75%29%

92%71%28%

91%73%28%

Page 17: Zastosowanie sieci neuronowych do oceny liczby lew w rozdaniach brydżowych

Eksperyment:Mała sieć, dużo iteracji (26x4)-(13x4)-(3x4)-5-1

Dla 150 tys. i 175 tys. iteracji nie ma różnic w wartościach wyjściowych

Liczba iteracji Uczący Walidacyjny Testowy

1 tys. 87%, 63%, 24% 86%, 61%, 22% 86%, 61%, 23%

10 tys. 92%, 72%, 28% 90%, 69%, 26% 90%, 69%, 27%

20 tys. 94%, 75%, 29% 92%, 71%, 28% 91%, 73%, 28%

50 tys. 93%, 75%, 30% 92%, 73%, 29% 94%, 73%, 29%

100 tys. 94%, 76%, 30% 93%, 74%, 29% 93%, 73%, 30%

150 tys. 94%, 76%, 30% 93%, 74%, 29% 93%, 73%, 30%

175 tys. 94%, 76%, 30% 93%, 74%, 29% 93%, 73%, 30%

Page 18: Zastosowanie sieci neuronowych do oceny liczby lew w rozdaniach brydżowych

Eksperyment:Duża sieć, dużo iteracji (26x4)-(13x4)-(13x4)-26-13-1

Od ok. 55 tys. iteracji maleje błąd dla zbioru uczącego, a wzrasta dla zbioru walidacyjnego

Liczba iteracji Uczący Walidacyjny Testowy

1 tys. 87%, 64%, 23% 85%, 60%, 23% 85%, 61%, 21%

5 tys. 92%, 71%, 28% 89%, 66%, 26% 90%, 67%, 25%

20 tys. 95%, 77%, 31% 89%, 67%, 26% 90%, 70%, 29%

50 tys. 97%, 81%, 34% 90%, 68%, 29% 91%, 72%, 28%

80 tys. 97%, 82%, 35% 90%, 68%, 27% 91%, 70%, 29%

Page 19: Zastosowanie sieci neuronowych do oceny liczby lew w rozdaniach brydżowych

Eksperyment:Najlepsza sieć, dużo iteracji (26x4)-(13x4)-(7x4)-13-1

Wykresy błędów dla zbiorów uczącego i walidacyjnego wciąż miały tendencję malejącą

Liczba iteracji Uczący Walidacyjny Testowy

20 tys. 95%, 78%, 32% 93%, 73%, 29% 93%, 76%, 33%

50 tys. 95%, 79%, 32% 93%, 75%, 30% 93%, 74%, 30%

100 tys. 96%, 80%, 33% 94%, 75%, 30% 93%, 75%, 31%

115 tys. 96%, 80%, 34% 94%, 76%, 30% 93%, 76%, 30%

Page 20: Zastosowanie sieci neuronowych do oceny liczby lew w rozdaniach brydżowych

Eksperyment na danych:Przedział wartości danych Sieć (26x4)-(13x4)-(7x4)-13-1

20 tys. iteracji

Przedział Uczący Walidacyjny Testowy

<0, 1> 95%, 79%, 32% 91%, 71%, 28% 93%, 75%, 29%

<0.1, 0.9> 95%, 78%, 32% 93%, 73%, 29% 93%, 76%, 33%

<0.2, 0.8> 93%, 74%, 31% 91%, 71%, 28% 92%, 72%, 29%

Page 21: Zastosowanie sieci neuronowych do oceny liczby lew w rozdaniach brydżowych

Eksperyment na danych:Zamiana rąk w parach Sieć (26x4)-(13x4)-(7x4)-13-1

20 tys. iteracji Podwojenie liczby rozdań -

zduplikowanie rozdań przez zamianę rąk w parach

Rozdania Uczący Walidacyjny Testowy

Pojedyncze(10 tys.)

95%, 79%, 32% 91%, 71%, 28% 93%, 75%, 29%

Podwójne(20 tys.)

95%, 77%, 31% 93%, 73%, 28% 94%, 76%, 31%

Page 22: Zastosowanie sieci neuronowych do oceny liczby lew w rozdaniach brydżowych

Eksperyment na danych:Nie tylko bez atu Sieć (26x4)-(13x4)-(7x4)-13-1 Sieć (26x4;1)-(13x4)-(7x4)-13-1

dodatkowe wejście z wartością atu pięciokrotne zwiększenie liczby danych

20 tys. iteracji

Rozdania Uczący Walidacyjny Testowy

bez atu 95%, 79%, 32% 91%, 71%, 28% 93%, 75%, 29%

wszystkie (5) 97%, 82%, 35% 96%, 79%, 33% 96%, 81%, 35%

Page 23: Zastosowanie sieci neuronowych do oceny liczby lew w rozdaniach brydżowych

Analiza:Liczba punktów na rękach Sieć (26x4)-(13x4)-(7x4)-13-1

115 tys iteracji zbiór uczący: 96%, 80%, 34%

Szacunek:LiczbaLew = 13/40 * punktyNS zbiór uczący: 96%, 70%, 24%

Page 24: Zastosowanie sieci neuronowych do oceny liczby lew w rozdaniach brydżowych

Analiza:Punkty, układy, wisty

DIFF # %Med( StdDev( POINTS ))

Med( StdDev( COLORS ))

Med( StdDev( NT TRICKS ))

-4 23 0% 3,783968 1,801436 0,344414-3 150 2% 4,320747 1,597275 0,355326-2 834 8% 4,390149 1,428514 0,294703-1 2354 24% 4,483401 1,354568 0,3535300 3357 34% 4,537989 1,322999 0,5047591 2303 23% 4,445004 1,388238 0,7973442 754 8% 4,511918 1,490400 1,2468213 178 2% 4,388856 1,640246 2,0408664 40 0% 4,655450 1,766998 3,3102365 6 0% 3,660006 1,660928 2,6943016 1 0% 1,632993 1,959824 6,928203

TOTAL: 10000 Med: 4,183520 1,363043

Page 25: Zastosowanie sieci neuronowych do oceny liczby lew w rozdaniach brydżowych

Analiza:Najgorsze rozdanie Rozdanie (S-H-D-C):

W: AT85432 - 4 - J32 - K9 N: Q6 - AJ2 - Q98764 - JT E: KJ - 953 - T5 - AQ8643 S: 97 - KQT876 - AK - 752

Liczba lew NS przy grze w bez atu: wist N lub S: 12 wist E lub W: 0 odpowiedź sieci: 6

Page 26: Zastosowanie sieci neuronowych do oceny liczby lew w rozdaniach brydżowych

Problemy

Czas

zbiór uczący 40 tys. danych sieć (26,1x4)-(13x4)-(7x4)-13-1 1 tys. iteracji 1 godzina

Page 27: Zastosowanie sieci neuronowych do oceny liczby lew w rozdaniach brydżowych

PomysłyDyskusja

?