Teoria gier Jakub Cisło Programowanie z pasją http://programowaniezpasja.pl jakub@programowaniezpasja.pl 10 maja 2019 Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 1 / 18
Plan wykładu 1 Wstęp 2 Nim na dwóch stosach Zasady Strategia Pojęcia Podobne gry 3 Więcej stosów XOR Pozycje wygrywające Jak grać? Wspólna gra 4 Podsumowanie Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 2 / 18
Wstęp Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 3 / 18
Nim na dwóch stosach Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 4 / 18
Zasady Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 5 / 18
Zasady Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 5 / 18
Zasady 2 stosy kamieni Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 5 / 18
Zasady 2 stosy kamieni 2 graczy Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 5 / 18
Zasady 2 stosy kamieni 2 graczy wykonują ruchy na przemian Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 5 / 18
Zasady 2 stosy kamieni 2 graczy wykonują ruchy na przemian zabierają dowolną liczbę kamieni z jednego wybranego przez siebie stosu Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 5 / 18
Zasady 2 stosy kamieni 2 graczy wykonują ruchy na przemian zabierają dowolną liczbę kamieni z jednego wybranego przez siebie stosu wygrywa ten, który zabierze ostatni lub ostatnie kamienie Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 5 / 18
Strategia Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 6 / 18
Strategia Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 6 / 18
Strategia wyrównywanie Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 6 / 18
Pojęcia Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 7 / 18
Pojęcia Pozycja wygrywająca Stan gry, w którym gracz wykonujący ruch ma serię zagrań prowadzącą do jego wygranej niezależnie od poczynań przeciwnika. Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 7 / 18
Pojęcia Pozycja wygrywająca Stan gry, w którym gracz wykonujący ruch ma serię zagrań prowadzącą do jego wygranej niezależnie od poczynań przeciwnika. Pozycja przegrywająca Stan gry, w którym gracz wykonujący ruch nie ma możliwości wygrać, jeśli jego przeciwnik gra optymalnie. Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 7 / 18
Czekolada Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 8 / 18
Czekolada Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 8 / 18
Czekolada n m Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 8 / 18
Klocki Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 9 / 18
Klocki Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 9 / 18
Klocki 101... Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 9 / 18
Więcej stosów Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 10 / 18
XOR Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 11 / 18
XOR 0 1 0 0 1 1 1 0 Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 11 / 18
Pozycje wygrywające Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 12 / 18
Pozycje wygrywające h 1 h 2... h n 0 Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 12 / 18
Jak grać? Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 13 / 18
Jak grać? 1 Zamień wysokości na liczby w systemie dwójkowym. Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 13 / 18
Jak grać? 1 Zamień wysokości na liczby w systemie dwójkowym. 2 Policz xor wysokości. Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 13 / 18
Jak grać? 1 Zamień wysokości na liczby w systemie dwójkowym. 2 Policz xor wysokości. 3 Wybierz stos, który ma bit 1 na pozycji odpowiadającej pierwszej od lewej 1 w xorze. Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 13 / 18
Jak grać? 1 Zamień wysokości na liczby w systemie dwójkowym. 2 Policz xor wysokości. 3 Wybierz stos, który ma bit 1 na pozycji odpowiadającej pierwszej od lewej 1 w xorze. 4 Zamień w nim na przeciwne bity te, którym odpowiadają bity 1 w xorze. Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 13 / 18
Jak grać? 1 Zamień wysokości na liczby w systemie dwójkowym. 2 Policz xor wysokości. 3 Wybierz stos, który ma bit 1 na pozycji odpowiadającej pierwszej od lewej 1 w xorze. 4 Zamień w nim na przeciwne bity te, którym odpowiadają bity 1 w xorze. 5 Powstała liczba jest docelową wysokością stosu. Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 13 / 18
Jak grać? 1 Zamień wysokości na liczby w systemie dwójkowym. 2 Policz xor wysokości. 3 Wybierz stos, który ma bit 1 na pozycji odpowiadającej pierwszej od lewej 1 w xorze. 4 Zamień w nim na przeciwne bity te, którym odpowiadają bity 1 w xorze. 5 Powstała liczba jest docelową wysokością stosu. 6 Zabierz tyle kamieni, aby otrzymać docelową wysokość. Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 13 / 18
Wspólna gra Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 14 / 18
Wspólna gra Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 14 / 18
Podsumowanie Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 15 / 18
Podsumowanie Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 16 / 18
Podsumowanie gra Nim Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 16 / 18
Podsumowanie gra Nim pozycja wygrywająca i przegrywająca Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 16 / 18
Podsumowanie gra Nim pozycja wygrywająca i przegrywająca strategia na dwóch stosach Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 16 / 18
Podsumowanie gra Nim pozycja wygrywająca i przegrywająca strategia na dwóch stosach zamiana na sytem dwójkowy i operacja xor Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 16 / 18
Podsumowanie gra Nim pozycja wygrywająca i przegrywająca strategia na dwóch stosach zamiana na sytem dwójkowy i operacja xor strategia na wielu stosach Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 16 / 18
Podsumowanie gra Nim pozycja wygrywająca i przegrywająca strategia na dwóch stosach zamiana na sytem dwójkowy i operacja xor strategia na wielu stosach Matematyka się przydaje i można się nią bawić! Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 16 / 18
Dziękuję za uwagę! Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 17 / 18
Dziękuję za uwagę! Teoria gier Jakub Cisło Programowanie z pasją http://programowaniezpasja.pl jakub@programowaniezpasja.pl 10 maja 2019 Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 17 / 18
Bibliografia 1 Wykłady z Algorytmiki Stosowanej - Wykład 6. Teoria gier (strona www) 2 B. Szreder, Elementarz chakiera (skrypt) 3 W. Kuropatwa, W. Nadara, O trzech grach na trzech stosach (Delta 6/2013) 4 J. Cisło, Teoria gier (strona www) Jakub Cisło (Programowanie z pasją) Teoria gier 10 maja 2019 18 / 18