1 / 21

Teoretyczne i praktyczne aspekty realizacji komputerowego systemu do  licytacji i rozgrywki brydzowej - czesc II

Teoretyczne i praktyczne aspekty realizacji komputerowego systemu do  licytacji i rozgrywki brydzowej - czesc II . Szymon Piądłowski. Agenda. Przypomnienie Brydż w 3 częściach Licytacja Ocena liczby lew (DD problem) Rozgrywka Literatura. Przypomnienie. Brydż w informatyce

patricia
Download Presentation

Teoretyczne i praktyczne aspekty realizacji komputerowego systemu do  licytacji i rozgrywki brydzowej - czesc II

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Teoretyczne i praktyczne aspekty realizacji komputerowego systemu do licytacji i rozgrywki brydzowej - czesc II SzymonPiądłowski

  2. Agenda • Przypomnienie • Brydż w 3 częściach • Licytacja • Ocena liczby lew (DD problem) • Rozgrywka • Literatura Plan prezentacji

  3. Przypomnienie Brydż w informatyce • 3 silne programy brydżowe (JackBridge, GIB, Bridge Baron 16) • Stworzenie programu brydżowego – praca magisterska Szymon Piądłowskina Wydziale MiNI promotor prof. nzw. dr hab. Jacek Mańdziuk Historia

  4. Przyjęte założenia Założenia związane z punktacją • 52 karty – • cała talia 13 kart (2,3,…,10,J,Q,K,A) • 4 kolory (Pik, Kier, Karo, Trefl) • 40punktów w talii : • Walet (J)=1, Królowa (2) Q=2, Król (K)=3, As(A)=4, reszta 0 • 4 graczy– 2 pary po 2 graczy (NS i WE), każdy po 13 losowych kart • 38odzywek w licytacji Brydż podstawy

  5. Przyjęte założenia • Podział gry: • Licytacja – uzgadnianie kontraktu (para z wyższym kontraktem wygrywa licytację) • Rozgrywka + obrona – para, wygrana z licytacji próbuje obronić kontrakt, przeciwna próbuje przeszkodzić • 3x35 + 1 – max liczba możliwych kontraktów do wylicytowania • 5,36 x1028 – rozdań kart • 5,55 x1044 – możliwości rozegrania kart (średnio 1024) • ∞ – teoretycznych możliwych znaczeń odzywki licytacji ( w praktyce skończona) Brydż podstawy

  6. Licytacja – znaczenie odzywki • Algorytm określania znaczenia odzywki • jeśli odzywka jest znana jako odpowiedz na wcześniejsze idź do 2, jeśli nie idź do 5 • odczytaj ograniczenie związane z odzywką idź do 4 • wyszukaj wszystkie znaczenia odzywki, które spełniają wcześniejsze ograniczenia • jeśli nie możesz znaleźć znaczenia zapytaj partnera osoby licytującej (zapisz do danych) • jeśli partner nie zna znaczenia pytaj osobę licytującą (zapis, ale nie uwzględniaj teraz) • nałóż odgraniczenie na karty licytującego • uwzględniając odzywkę zredukuj ograniczenia partnera do możliwych • Algorytm minimalizuje liczbę ograniczeń tak, aby uwzględniane zostały te ograniczenia, które mają sens z punktu widzenia licytacyjnego. • Algorytm działa jako monitor odzywek wspólny dla wszystkich graczy Licytacja

  7. Licytacja – parametry ograniczeń • Uwzględniane parametry ograniczeń: • Liczba kart (>=)w treflu, karo, kier, piku • Czy rozkład pozostałych (wszystkich) kart jest równomierny,tzn. 4414,4333,4432, (333,444,222,323,121,434,itd.) • Liczba asów • Liczba króli • Liczba punków w granicach (z uwzględnienie więcej niż, mniej niż) • czy otwarcie, czy zakończenie • Potrzeba dodania: • Czy odzywka forsująca • Przedziały w liczbie kart (da to dodatkowo określenia, czy jest fit, transfery, może znacznie poprawić licytację) Licytacja

  8. Licytacja – znaczenie odzywki • Rezultaty: • Znaczna redukcja ograniczeń (m na rundę) • Mała liczba niejednoznaczności (mniej światów kart do sprawdzenia) • Znacznie przyspieszyło działanie algorytmu (pamięciowo n-krotnie , czasowo trudno ocenić) • Nauczanie nowych odzywek poprawia licytację • Mało odzywek większe błędy przy ustalaniu kontraktu • Wady: • Ograniczony sposób komunikacji (można wprowadzać rozszerzenia) WAŻNE (n >> m) !!! Licytacja

  9. Licytacja – ustalenie kart graczy • Algorytm: • Usuń zapamiętane rozkłady • jeśli każdy już licytował idź dalej, jeśli nie wyjdź • Utwórz listę ostatnich (po nałożeniu) ograniczeń dla każdego z graczy • Weź po największym ograniczeniu (w sensie punktowym) dla każdego z graczy • Rozdziel karty punktowe pomiędzy graczami tak, aby spełniały ograniczenia • Rozdziel pozostałe karty pomiędzy graczami tak, aby spełniały ograniczeni • Ponieważ staram się rozkładać karty w miarę równomiernie oznacza to najbardziej prawdopodobny rozkład • Zapamiętaj rozkład kart • Dla wszystkich kombinacji ograniczeń zmień ograniczenie dla jednego z graczy i wykonaj punkty 5 - 8 Licytacja

  10. Licytacja – ustalenie kart graczy • Wady przyjętego rozwiązania: • Nie uwzględniam wszystkich światów (tylko te najbardziej prawdopodobne) • Może dawać całkowicie błędne wyniki (w fazie testów) • Zdarza się, że się pogubi i nie wybierze ograniczenia, które było zgłoszone • Zaleta przyjętego rozwiązania: • Szybkość • Mała zajętość pamięciowa (max kilkaset światów) Licytacja

  11. Licytacja – następna odzywka • Algorytm: • jeśli istnieje ostatnia odzywka partnera to idź do 2, jeśli nie idź do 4 • wyznacz dopuszczalne odzywki ,które partner rozumie • wybierz odzywki, które pokrywają się z ograniczeniami dotychczas zgłoszonymi, idź do 5 • znajdź otwarcia, które są ograniczeniami naszej karty, idź do 6 • wyznacz odzywki, które są ograniczeniami naszej karty • jeśli jest po pierwszej rundzie wyznacz karty przeciwników, idź do 7, jeśli nie idź do 9 • sprawdź maksymalną liczbę lew jaką ugramy dla wszystkich możliwych wariantów uwzględniając zgłoszone odzywki (max 20) • wybierz odzywki, które są <= niż liczba lew możliwa do ugrania na danym atu, idź do 10 • wybierz odzywki dopuszczalne z ograniczeń oraz większe, niż ostatnia odzywka • jeśli mamy dopuszczalne odzywki wybierz tą najbliższą (szacowanie punktowe z ograniczeń) ,idź do 12, jeśli nie idź do 11 • ustaw PAS jako odzywkę wybraną • zgłoś odzywkę Licytacja

  12. Licytacja – następna odzywka • Wyniki: • Przy małej liczbie wprowadzonych znaczeń odzywek, szybko pasuje • Jeśli są wprowadzone otwarcia do poziomu 4 (texas) wówczas szybko podbija w górę (licytuje otwarciami) – system zbliżony do naturalnego • Przy wprowadzeniu pełnych sekwencji odgaduje co mówimy i licytuje poprawnie, istnieją sytuacje, w których się gubi i podbija stawkę • Niestety nie udało mi się zmusić algorytmu do stworzenia generalizacji, opiera się raczej o kanony licytacyjne, nie szuka nowych rozwiązań Licytacja

  13. Licytacja - podsumowanie • Licytacja jest wieloznaczna • 3 z 4 problemów trzeba rozwiązać • Nie ma rozwiązań szybkich, są tylko pamięciochłonne • Dobrze by było jakoś nauczać Licytacja

  14. Licytacja – DD solver • Sieć: • 52x4-26x4-26-13-4 z czego warstwa 52x4 jest warstwą wejściową • Dane do nauczania biblioteka GIB 717 102 rozdania z wyliczonymi optymalną liczbą lew (20 przypadków) • Sieć Feed Forward • Nauczanie Backpropagation z stępującym krokiem • Ustalenia parametrów do nauczania: • 25000 losowo wybranych próbek • 85% nauczanych • 5% weryfikacja • Testowane kroki r0=(0.005,0.01,0.025, 0.05, 0.1, 0.25 oraz zstępujący ustalany zgodnie z wzorem r=r0/(r0+krok) ) Licytacja

  15. Licytacja – DD solver • Nauczanie finalne: • 82% z wszystkich losowo wybranych próbek (nie powtarzalne) • 5% weryfikacja (nie powtarzalne z wyższymi) • Krok zstępujący zgodny z wcześniej podanym wzorem zaczynając od r0=0.1 • Wyniki końcowe: • błąd 45% • błąd 15% różnica < +/-1 lewa • 1-3% różnica < +/- 2 lewe • Czas nauczania końcowego: • 11 min na iterację • 600 iteracji Licytacja

  16. Licytacja – wyniki nauczania Wykres pokazuje zależność ilości poprawnych wyników od iteracji w procesie nauczania Licytacja

  17. Licytacja – wyniki nauczania Wykres pokazuje zależność ilości poprawnych wyników od iteracji w procesie nauczania gdzie różnica liczby lew <= 1 Licytacja

  18. Licytacja – wyniki nauczania Wykres pokazuje zależność ilości poprawnych wyników od iteracji w procesie nauczania gdzie różnica liczby lew <= 2 Licytacja

  19. Licytacja – DD solver • Nauczanie finalne: • 82% z wszystkich losowo wybranych próbek (nie powtarzalne) • 5% weryfikacja (nie powtarzalne z wyższymi) • Wyniki końcowe dla nauczania trefli: • błąd 45% (wyjątek „bez atu”) • błąd 15% różnica < +/-1 lewa • 1-3% różnica < +/- 2 lewe • Wyjątek stanowi „bez atu”, prawdopodobnie inny parametry uczące • Czas nauczania końcowego: • 11 min na iterację • 600 iteracji Licytacja

  20. Działający program Program w ramach pracy magisterskiej

  21. Literatura [1]„GIB:ImperfectInformationin a ComputationalluChallengingGame” Mathew L. Ginsberg, Journal of AI Research 2001 [2] „ControlStrategiesin HTN Planning” - Dana S. Nau, Stephen J. J. Smith, KuthluhanErol, IAAI Conference 1998 [3] „HandEvaluationintheGame of Contract Bridge” Richard Cowan, Sydney 1986 [4] „ArtificiaNeural Networks for Solving Double Dummy Bridge Problems” Krzysztof Mossakowski, Jacek Mańdziuk, ICAISC 2004 [5] „Heurystyki w stochastyczno-statystycznym modelu gry w brydża” - Andrzej Matuszewski, IPIPAN 2007 (przed publikacją) Literatura wprowadzająca

More Related