Przedmiot: Metody Inżynierii Wiedzy Projekt Tytuł: Szachy komputerowe
|
|
- Ignacy Chrzanowski
- 9 lat temu
- Przeglądów:
Transkrypt
1 Przedmiot: Metody Inżynierii Wiedzy Projekt Tytuł: Szachy komputerowe Piotr Miązek Piotr Michalak Dawid Ostrowski AiR, IV rok, lato
2 SPIS TREŚCI 2 Spis treści 1 Sformułowanie problematyki projektu 3 2 Cel projektu 4 3 Opis realizacji Koncepcja Wybrane narzędzia Realizacja Generowanie możliwych posunięć Przeszukiwanie drzewa gry Funkcja oceniająca Podsumowanie Wnioski Obserwacje Przyszłe prace
3 3 1 SFORMUŁOWANIE PROBLEMATYKI PROJEKTU 1. Sformułowanie problematyki projektu Programowanie gier jest jednym z klasycznych tematów badań nad sztuczną inteligencją, a szachy zajmują wśród programowanych gier ważne miejsce. Owo szczególne miejsce zawdzięczają szachy swojej popularności, a także względom historycznym 1. Przez ponad 50 lat programowanie szachów dorobiło się swojej pokaźnej teorii i praktyki. Mimo to, nikomu do tej pory nie udało się skonstruować programu, którego zasady działania opierałyby się na zasadach funkcjonowania intelektu gracza-człowieka. Udało się natomiast skonstruować silnie grające programy, wykorzystując matematyczne modele gry w szachy. Obecnie najlepsze programy szachowe opierają się na zasadzie brutalnej siły (ang. brute force) tzn. na wykorzystaniu szybkości komputera przy zastosowaniu pewnego relatywnie nieskomplikowanego algorytmu. Przy tym wszystkim nastąpił ogromny rozwój wielu dziedzin sztucznej inteligencji, a programowanie gier stało się samoistną gałęzią badań. Opierając się na teorii gier, szachy można traktować jako grę dwuosobową, skończoną, z pełną informacją, o sumie zerowej. Poniżej przedstawione są krótko powody takiego zaklasyfikowania szachów: W grze bierze udział dwóch graczy (gra dwuosobowa). Każda rozgrywka musi się kiedyś skończyć (gra skończona). Obaj gracze mają dokładną informację o sytuacji w grze (gra z pełną informacją). Cele przeciwników są dokładnie przeciwstawne, zwycięstwo jednego oznacza porażkę drugiego (gra o sumie zerowej). Do tej samej kategorii przynależy wiele popularnych gier: GO, warcaby, kółko i krzyżyk, reversi itp. Wszystkie te gry programowane są najczęściej z pomocą algorytmów minimaksowych. Jednak każda z nich jest w końcu inną grą, stąd odmiennie dla każdej gry konstruuje się jej funkcję heurystyczną. Nadto zasadniczym wyróżnikiem każdej z gier jest liczba możliwości, które można podjąć przy każdym posunięciu. Dla gier małych, takich jak warcaby, udało się już dość dawno metodą brutalnej siły pokonać człowieka - mistrza świata. Dla gry bogatszej możliwościami - szachów ten poziom uzyskano dopiero niedawno. Natomiast dla GO, gdzie na każdym posunięciu trzeba wybierać pomiędzy ok. 300-ma możliwościami nie udało się nawet zbliżyć do poziomu gracza-pasjonata. Gry dwuosobowe, skończone, z pełną informacją, o sumie zerowej stanowią jeden z najprostszych przypadków gry w ogóle. Dla porównania brydż będąc grą bez pełnej informacji jest już znacznie trudniejszy do zaprogramowania. Obecnie zawieszono większość prób skonstruowania programów przypominających swym działaniem rozumowanie człowieka, a skupiono się na uzyskaniu coraz wyższej wydajności modułów elektronicznych oraz udoskonalaniu istniejących algorytmów. 1 Często uznaje się pracę C.Shannona Programming computer for playing chess z roku 1950-go za jedną z fundamentalnych prac nad sztuczną inteligencją
4 3 OPIS REALIZACJI 4 2. Cel projektu Głównym celem projektu było praktyczne zaznajomienie się autorów z problematyką tworzenia programów grających i rozwinięcie umiejętności zdobytych wcześniej - podczas tworzenia komputerowej wersji gry kółko i krzyżyk (2 rok studiów). Na drodze do osiągnięcia powyższego celu należało pogłębić znajomość następujących zagadnień: Reprezentacja planszy i figur. Generowanie możliwych posunięć. Przeszukiwanie drzewa gry. Funkcja oceniająca. Interakcja z użytkownikiem. 3. Opis realizacji 3.1. Koncepcja Przez lata, powstało wokół szachów wiele opracowań dotyczących sposobu rozgrywki, strategii, rozwiązań poszczególnych etapów gry (debiut, gra środkowa, końcówka). Ponadto ludzie chcący doskonalić swoje umiejętności gry, przeprowadzają dokładną analizę partii rozgrywanych przez arcymistrzów. Wszystko to tworzy ogromną bazę wiedzy, której chyba żaden człowiek nie przyswoił w całości. Od ilości tej wiedzy zawartej w programie, bezpośrednio zależy jakość funkcji oceniającej, a co za tym idzie - zaawansowanie komputerowego gracza. Algorytm Minimaks na podstawie symulacji ruchów obu przeciwników można łatwo przerobić na program rozgrywania gry w szachy. Szachy są jednak zbyt skomplikowaną grą do bezpośredniego zastosowania Minimaksu (można by to zrobić na przykład w przypadku dziewięciopolowego kółka i krzyżyka), gdyż drzewo gry w szachy ma ok węzłów. Można jednak dokonać przeglądu jedynie fragmentu drzewa gry. Algorytm alfa-beta wspomagający wybór odpowiedniego fragmentu drzewa gry, opiera się na obserwacji, że dla wyznaczenia minimaksowej wartości pewnego drzewa nie potrzeba znać minimaksowych wartości wszystkich jego węzłów. W algorytmie tym nie rozpatruje się tych pozycji, które nie wpłyną na ocenę sytuacji. Procedura Alfabeta działa przy założeniu, że mamy do czynienia z sekwencyjnymi obliczeniami, istnieje jednak jej odpowiednik dla obliczeń równloległych. Do oceny układu bierek na planszy potrzebna jest funkcja oceniająca (zwana też funkcją heurystyczną). Człowiek-szachista w swym procesie myślenia dokonuje pewnych ocen końcowych pozycji wariantów, które obliczył: łatwa wygrana, co najmniej remis, przegrana pozycja z szansami na remis ok. 30 proc itp. Funkcja oceniająca przyporządkowuje danej pozycji wartość z pewnego zbioru - w przypadku algorytmów minimaksowych wartość
5 5 3 OPIS REALIZACJI liczbową. W założeniu implementacja programowa funkcji oceniającej nie dokonuje żadnych obliczeń drzewa gry. Idealną funkcją oceniającą jest taka funkcja, która zawsze zwraca jako wynik dokładną wartość minimaksową pozycji. Oczywiście skonstruowanie takiej funkcji na ogół nie jest możliwe. Konieczne jest zatem konstruowanie funkcji oceniających opartych na przesłankach heurystycznych Wybrane narzędzia Projekt zaimplementowano przy użyciu języków C / C++. następujące fakty: Za tym wyborem przemawiały Doświadczenie autorów zdobyte podczas prac nad grą kółko i krzyżyk, która została napisana przy użyciu C / C++. Wydajność wspomnianych języków - jest sprawą kluczową dla szybkości przeszukiwania drzew rozwiązań, a co za tym idzie, dla szybkości programu. Dostępność wielu materiałów oraz przykładowych implementacji, na których autorzy mogli się wzorować Realizacja W niniejszym rozdziale opisano bardziej szczegółowo poszczególne decyzje projektowe i implementacyjne Generowanie możliwych posunięć Działanie modułu opiera się na listowych strukturach danych. Wybór listowych struktur danych jest dla algorytmów grafowych naturalny. Generator posunięć programu przegląda szachownicę po kolei od lewego górnego rogu do prawego dolnego wierszami i przy napotkaniu figury gracza będącego na posunięciu generuje wszystkie możliwe ruchy tej figury. Generator udostępnia trzy procedury: generator posunięć zgodnych z regułami gry, znacznie szybszy generator pseudoposunięć oraz generator pseudoposunięć-bić. Dla list posunięć generowanych przez poszczególne procedury generujące zdefiniowane są odpowiednie procedury sortujące. (a) Generator posunięć zgodnych z regułami gry Procedura ta generuje wszystkie posunięcia zgodne z regułami szachów. Wykorzystywana jest jedynie przez funkcje logiczne określające, czy dana pozycja jest matem lub patem lub szachem. (b) Generator pseudoposunięć Pseudoposunięcia to wszystkie zgodne z przepisami posunięcia, oraz takie, które pozostawiają króla pod biciem lub podstawiają króla pod bicie. Dopuszczenie podstawki króla czyni generator pseudoposunięć kilkakrotnie szybszym od generatora posunięć zgodnych z przepisami. Generator pseudoposunięć wykorzystywany jest w rejonie pełnego przeszukiwania drzewa gry. W regionie tym lista psuedoposunięć jest sortowana w kolejności:
6 3 OPIS REALIZACJI 6 Bicia w kolejności wartości materialnej zdobytego materiału Pozostałe posunięcia Wszystkie bicia sortowane są według wartości zysku materialnego. Zyskiem materialnym związanym z danym posunięciem nazywać będę wartość materialną zbitej bierki, a w przypadku promocji wartość promowanej bierki minus wartość znikającego z szachownicy pionka. (c) Procedura generująca pseudoposunięcia-bicia Procedura generująca psudoposunięcia-bicia wykorzystywana jest w regionie selektywnego przeszukiwania drzewa. Z procedurą tą związany jest jej parametr M oraz stała TOLERANCJA. Do listy pseudoposunięć-bić zdefiniowana jest procedura usuwająca wszystkie bicia nie dające zysku materialnego równego co najmniej: ( M - TOLERANCJA ). Ma ona za zadanie wymusić, by w trakcie przeszukiwania ciągów wymian na zabicie np. skoczka, przeciwnik odpowiadał również zabiciem co najmniej skoczka. Parametr M pokazuje dotychczasowy bilans materialny od rozpoczęcia przeszukiwania ciągów wymian (chodzi o przeszukiwanie selektywne, czyli wariant forsowny). Należy jednak przy tym narzucić pewną tolerancję, pozwalającą kontynuować przeszukiwanie, nawet jeśli nie da się wyrównać bilansu materialnego. Innymi słowy, dopuszczalne jest, by na zbicie wieży odpowiedzieć zbiciem tylko skoczka. W przeciwnym razie program nie byłby w stanie obliczyć nawet prostych kombinacji z poświęceniem niewielkiej ilości materiału. Nie potrafiłby się nawet pogodzić z wymianą gońca na skoczka, gdyż goniec ma w programie nieco wyższą wartość materialną niż skoczek. Aktualnie wartość stałej TOLER- ANCJA ustawiona jest na 125, czyli wartość materialną jednego i jednej czwartej pionka. Dla trzech specyficznych sytuacji szachów: szacha, mata i pata, zdefiniowane zostały odpowiednie funkcje logiczne. Zdefiniowane zostały także różne procedury niezbędne w programie: wykonywanie posunięcia, sprawdzanie czy dane posunięcie jest w danej pozycji możliwe, porównywanie dwóch pozycji itp Przeszukiwanie drzewa gry Przeszukiwanie w programie jest oparte na standardowej zasadzie regionów. Program dzieli drzewo na trzy regiony przeszukiwania. Pierwszy z nich to oczywiście region pełnego przeszukiwania drzewa gry. Po nim następują dwa regiony selektywnego przeszukiwania. Region przeszukiwania pełnego będzie dalej nazywany bazowym. W przeszukiwaniu program korzysta z generatora pseudoposunięć. Podstawka króla wykrywana jest dopiero w trakcie dalszego przeszukiwania w momencie, gdy wykryta zostanie możliwość bicia króla. Sterowanie powraca wtedy do poprzedniej pozycji na ścieżce przeszukiwania i uruchamiana jest procedura rozpoznająca, czy dopuszczenie do bicia króla nastąpiło z powodu mata, pata czy też zwykłej podstawki. Funkcja oceniająca programu składa się z dwóch części: funkcji oceniającej materialnie, oraz funkcji oceniającej pozycyjnie. Przeszukiwanie działa według następującej zasady. W
7 7 3 OPIS REALIZACJI pozycjach końcowych regionu bazowego obliczana jest funkcja oceniająca pozycyjnie, następnie do wyniku tej funkcji dodawany jest wynik przeszukiwania selektywnego, przy czym przeszukiwanie selektywne korzysta z funkcji oceniającej materialnie. Drugi z regionów przeszukiwania selektywnego, stanowi wariant forsowny programu. Wariant forsowny nie może dać w wyniku mniej niż ocena materialna pozycji, w której rozpoczęto przeszukiwanie selektywne. W regionie tym brane są pod uwagę jedynie bicia. Natomiast pierwszy region przeszukiwania selektywnego ma głębokość jednego półruchu i stanowi jakby płynną granicę między przeszukiwaniem pełnym a selektywnym. W zależności od danej pozycji w regionie tym dokonuje się albo przeszukiwanie pełne jak w regionie bazowym albo selektywne jak w wariancie forsownym. Program korzysta z iteracyjnie pogłębianego przeszukiwania. Pogłębiana jest jednak jedynie głębokość regionu bazowego począwszy od głębokości 2. Maksymalne głębokości regionów selektywnych są stałe i wynoszą 1 dla regionu pierwszego i 6 dla drugiego. Pierwsza iteracja musi zawsze zostać wykonana, niezależnie od ewentualnego przekroczenia limitu czasu. Przeszukiwanie kończy się z chwilą upłynięcia limitu czasowego, który jest jednym z parametrów programu wprowadzanym przez użytkownika Funkcja oceniająca Funkcja oceniająca korzysta z własnych struktur danych opisujących własności pozycji z aktualnego stanu przeszukiwania. Struktury te pozwalają na szybsze obliczenie wyniku f.o. Przykładem tych struktur są listy zawierające pozycje wszystkich poszczególnych typów bierek. Struktury te modyfikowane są w trakcie przeszukiwania za pomocą dwóch funkcji: MoveFunOcen oraz UnMoveFunOcen. Jedna z nich służy do modyfikacji struktur danych f.o. przy wykonaniu posunięcia, druga przy cofnięciu. Tak więc schemat modyfikowania struktur danych funkcji oceniającej odpowiada zasadzie działania metod inkrementalnodekrementalnych. Sam wynik f.o. jest liczbą całkowitą z zakresu <-32768, >. Jak wspomniano wcześniej f.o. składa się zasadniczo z dwóch części: oceny materialnej i oceny pozycyjnej. F.o. jest funkcją symetryczną, tzn. w pozycjach powstałych przez zamianę figur białych na czarne, czarnych na białe i odbiciu symetrycznym wzdłuż linii środkowej szachownicy funkcja oceniająca zmienia jedynie znak. Jak wspomniano w poprzednim rozdziale ocena pozycyjna obliczana jest w pozycjach końcowych obszaru pełnego przeszukiwania, natomiast ocena materialna jest zadaniem przeszukiwania selektywnego. Prowadzi to do powstania efektu efektem odkładania gróźb. Otóż program odkłada możliwie jak najdalej posunięcia wygrywające materiał, o ile tylko możliwość ich wykonania nie wykracza poza zasięg jej przeszukiwania selektywnego. Na przykład jeżeli w końcówce pionowej program ma możliwość promowania hetmana, ale może to odłożyć o jedno posunięcie, to najpierw wykona posunięcie poprawiające ocenę pozycyjną. Rzecz w tym, że promując hetmana jeszcze w rejonie pełnego przeszukiwania program pozbawiłaby się dodatkowych punktów za zaawansowaną pozycję pionka i dlatego preferuje wykonanie promocji dopiero w obszarze selektywnym. Prowadzi to czasem do podejmowania błędnych decyzji. Dla przykładu w pewnym rodzaju końcówek pionowych zwanym przez szachistów wyścigami, jak najszybsze promowanie hetmana ma decydujące znaczenie.
8 3 OPIS REALIZACJI 8 (a) Ocena materialna Ocena materialna jest sumą wartości materialnej znajdujących się na szachownicy bierek. Wartości poszczególnych bierek zostały ustalone na: pionek = 100 skoczek = 290 goniec = 310 wieża = 500 hetman = 950 król = Oczywiście wartość czarnych bierek należy brać z minusem. Wartość materialna króla wykorzystywana jest jedynie w sytuacji, gdy w trakcie przeszukiwania selektywnego program natrafi na pozycję z możliwością zbicia króla w jednym posunięcia. program wartościuje taką pozycję na i następuje powrót sterowania. Ponadto zostały wprowadzone dodatkowe specjalne wartościowania liczby pionków na szachownicy oraz wartościowanie przewagi materialnej w stosunku do sumy pozostałego na szachownicy materiału. Celem tych wartościowań jest z jednej strony zachęcenie programu do wymian w sytuacji posiadania przewagi materialnej (unikania wymian w przeciwnym wypadku), z drugiej strony zniechęcenie do wymian pionków w tejże sytuacji, gdyż pionki stanowią wtedy potencjalne hetmany. Wartościowanie to wyraża się poniższymi wzorami. (1) LP 30000/(LP + 1) M (2) MA 590/M We wzorach tych poszczególne identyfikatory oznaczają: LP - liczba pionków strony mającej przewagę materialną M - suma wartości materiału na szachownicy, biorąc czarne bierki wyjątkowo z plusem, nie licząc króli. M A - wartość przewagi materialnej (z plusem). Jeśli przewagę materialną mają białe, to wartości powyższe dodaje się do wyniku funkcji oceniającej materialnie, a jeśli przewagę mają czarne odejmuje. Liczba 590 we wzorze (2) została tak dobrana, aby z jednej strony wartość wyrażenia była jak największa, a z drugiej strony aby w pozycji: K+G+S : K+p strona silniejsza nie wymieniła skoczka na pionka przeciwnika. Powstaje oczywiście pytanie, czy nie należałoby traktować tych własności jako pozycyjnych i włączyć raczej w ocenę pozycyjną. Jednak takie rozwiązanie wzmogłoby jeszcze efekt opóźniania gróźb. (b) Ocena pozycyjna Klasyfikacja pozycji wyjściowej. Program klasyfikuje pozycję wyjściową. Nie ma jednak żadnej bazy funkcji oceniających - jak to jest sugerowane w niektórych przykładach - a jedynie bezpośrednio w kodzie programu poszczególne składniki oceny pozycyjnej zależą od wyniku klasyfikacji. Program przyjmuje podział możliwych pozycji na pięć rodzajów:
9 9 3 OPIS REALIZACJI (1) debiut (2) gra środkowa (3) wczesna końcówka (4) końcówka (5) matowanie (ad 1) Pozycja jest klasyfikowana jako debiut, jeżeli co najmniej czternaście bierek, nie licząc króli, znajduje się na swoich pozycjach wyjściowych. (ad 2) Pozycja jest klasyfikowana jako gra środkowa, jeżeli nie jest debiutem, oraz suma materiału na szachownicy, nie licząc króli i licząc czarne bierki na plus, wynosi co najmniej (ad 3) Pozycja jest klasyfikowana jako wczesna końcówka, jeśli na szachownicy jest pomiędzy a p. materiału. (ad 4) Pozycja jest klasyfikowana jako końcówka, jeżeli na szachownicy pozostało mniej niż materiału. (ad 5) Pozycja jest klasyfikowana jako matowanie, jeżeli jedna ze stron osiągnęła przewagę materialną co najmniej 450, ma co najmniej jednego hetmana lub wieżę, ewentualnie jeśli ich nie ma, to nie ma przy tym ani jednego pionka. Ten ostatni warunek wynika z założenia, że mając jedynie lekkie figury i piony, łatwiej jest najpierw promować hetmana, a dopiero potem matować. Matowanie jest fazą posiadającą własną, specyficzną ocenę pozycyjną. Omawiane dalej składowe oceny pozycyjnej nie odnoszą się do fazy matowania. Ze względu na oszczędność czasu, program dokonuje jedynie klasyfikacji pozycji wyjściowej. Bywa to przyczyną błędnych ocen pozycji końcowych przeszukanego drzewa, jeżeli na ścieżce przeszukiwania nastąpiła zupełna zmiana sytuacji na szachownicy. Położenie poszczególnych bierek. Większość składników oceny pozycyjnej to wartościowanie położenia poszczególnych figur względem środka szachownicy oraz względem innych bierek. Działanie funkcji oceniającej jest takie, że dla każdej bierki liczone jest wartościowanie jej położenia i wynik dodawany jest do pewnej zmiennej globalnej. Poniżej podano dwa używane dalej wzory. BliskoscCentrum([i, j]) = 7 ( 3.5 i j ) We wzorze powyższym i oraz j oznaczają współrzędne pola na szachownicy. W programie przyjmuje się, że współrzędne szachownicy są liczbami z przedziału < 0, 7 >. Tak więc np. pole c-6, to w programie program pole 2-5. Jak widać powyższy wzór przyjmuje wartości z przedziału < 0, 6 >. BliskoscP ol([i1, j1], [i2, j2]) = 7 ( i1 i2 + j1 j2 ) gdzie [i,j] oznaczają współrzędne pola, podobnie jak w podanym wyżej wzorze. Wzór na bliskość pól przyjmuje wartości z przedziału < 7, 6 > ( nie ma sensu obliczanie odległości dwóch identycznych pól ).
10 3 OPIS REALIZACJI 10 Pionki Jak wiadomo struktura pionowa 2 jest duszą szachów. Program rozpoznaje następujące cechy struktury pionowej: (1) Pionki izolowane (2) Pionki zdwojone (3) Pionki w centrum (4) Dochodzące pionki (5) Specjalna ocena debiutowa (ad 1) Za każdego izolowanego białego pionka program odejmuje wartość 20. Oczywiście w przypadku czarnych bierek program postępuje przeciwnie niż w przypadku białych, tzn. np. za izolowanego czarnego pionka program dodaje 20 do oceny pozycji. (ad 2) Za każdego zdublowanego pionka program odejmuje wartość 10. (ad 3) W debiucie i grze środkowej dla każdego pionka program wartościuje jego odległość od centrum szachownicy wg. wzoru: BliskoscCentrum([i, j]) Dodatkowo za każdego pionka znajdującego się na jednym z pól d4, d5, e4, e5 program dolicza do oceny 15, a za pionki znajdujące się na polach c4, c5, d3, d6, e3, e6, f4, f5 dolicza 10. (ad 4) W końcówkach dla każdego pionka obliczane jest jego zawansowanie wg. wzoru: W SP CZY NNIK (j 1)2 dla białych pionków W SP CZY NNIK (6 j)2 dla czarnych pionków gdzie j oznacza współrzędną poziomą pionka na szachownicy. Powyższa wartość dodawana jest do oceny pozycyjnej. W SP CZY N N IK przyjmuje wartość 2 we wczesnej końcówce i 4 w końcówce. Ponadto program oblicza liczbę dokonanych na aktualnej ścieżce promocji pionków i za każdą promocję dodaje/odejmuje do/od oceny wartość: 30 * W SP CZY NNIK W przeciwnym razie program odkładałaby możliwe jak najdalej promowanie pionków, aby nie stracić pozycyjnego zysku z pionka na siódmej linii ( efekt opóźniania gróźb ). (ad 5) Jeżeli w debiucie, oba z pionków sprzed hetmana i króla nie zostały rozwinięte, to program odejmuje od oceny 50. Skoczki Program rozpoznaje tylko jedną własność położenia skoczka: 2 Struktura pionowa - rozmieszczenie pionów na szachownicy
11 11 3 OPIS REALIZACJI (1) Odległość od centrum. Własność jest badana we wszystkich fazach gry (oprócz matowania) i do oceny dodaje sięwartość: 4 BliskoscCentrum Gońce Dla gońców ocena liczona jest według następującego wzoru: ABB = EM + OM + DL + OW gdzie: EM - punkty za obecność bierek przeciwnika na diagonalach gońca: Skoczek=3, Goniec=4, Wieża=5, Hetman=9, Król=10 OM - punkty za obecność własnych bierek na diagonalach gońca: Skoczek=1, Goniec=1, Wieża=2, Hetman=3 DL - długość diagonali gońca (Liczba możliwych posunięć gońca z danego pola na pustej szachownicy) - 7 OW - punkty za własne pionki na diagonali gońca Za każdego pionka z tyłu gońca: +1 Za każdego pionka z przodu gońca: jeśli pionek jest na własnej połowie: -5 jeśli pionek jest na połowie przeciwnika: +1 Tak obliczona ocena związana z danym gońcem mnożona jest przez współczynnik i dodawana do oceny całkowitej. Współczynnik zależy od fazy gry i wynosi: 3 dla gry środkowej i 1 dla wczesnej końcówki. W końcówkach i w debiucie pozycja gońca nie jest wartościowana. Wieże Dla wieży rozpatrywane są następujące elementy oceny pozycyjnej: (1) Wieża na otwartej linii. (2) Bliskość króla przeciwnika. (3) Mobilność wieży. (4) Wieże złączone. (5) Wieża na siódmej linii. (ad 1) Dla każdej wieży na otwartej linii dodawane jest do oceny 10, a dla wieży na półotwartej linii 4.Własność nie jest brana pod uwagę w końcówkach.
12 3 OPIS REALIZACJI 12 (ad 2) W grze środkowej i końcówce wartościowana jest odległość wieży od króla przeciwnika zgodnie ze wzorem: 2 BliskoscP ol(w ieza, KrolW roga) Wartość ta dodawana do oceny pozycji (wartość powyższa może być ujemna). Własność nie jest brana pod uwagę w debiucie. (ad 3) Mobilność wieży oblicza się ze wzoru: 2 Liczba atakowanych przez wieżę pól Wartość powyższa dodawana jest do oceny. (ad 4) Za każdą parę złączonych wież doliczane jest 20 punktów. (ad 5) Dla wieży na siódmej linii dodaje się do oceny 27 punktów. Jeżeli wieża na siódmej linii odcina króla na ósmej to dodaje się jeszcze 13. Hetmany Dla hetmanów rozpatrywane są następujące elementy oceny pozycyjnej: (1) Hetman w centrum. (2) Bliskość króla przeciwnika. (ad 1) Punkty za odległość od centrum liczone są według wzoru: W SP CZY NNIK BliskoscCentrum i dodawane do oceny, przy czym w debiucie W SP CZY NNIK przyjmuje wartość -2, w grze środkowej 0, we wczesnej końcówce 2, i w końcówce 4. (ad 2) Odległość hetmana od króla przeciwnika liczona jest według wzoru: 3 BliskoscP ol(hetman, KrolP rzeciwnika) Wartość powyższa dodawana jest do oceny w grze środkowej i w końcówce. Król Rozpatrywane są następujące elementy oceny pozycji króla:
13 13 4 PODSUMOWANIE (1) Bezpieczeństwo króla. (2) Centralizacja króla. (ad 1) Bezpieczeństwo króla jest bardzo ważnym czynnikiem w debiucie i w grze środkowej. Nie jest ono wartościowane w końcówkach, gdzie znaczenia nabiera centralizacja króla. Program ocenia bezpieczeństwo króla na podstawie dwóch własności: położenia króla i obecności pionków przed królem. Niżej podane są wartości dodawane przez program do oceny w zależności od położenia białego króla (dla czarnego króla należy brać przeciwne wartości dla przeciwległych pól). b1,g1 : 25b2,a1,g2,h1 : 15c1,a2,h2 : 10 f1 : 5 d1 : -5 c2-f2 : - 40 a3-h3 : a4-h4 : pozostałe : Ponadto za każdego pionka znajdującego się na jednym z trzech pól bezpośrednio przed królem ( lub dwóch, jeżeli król stoi na bandzie ) program dolicza do oceny 15. Jeżeli jednak wszystkie trzy pola przed królem znajdującym się na pierwszej linii są zajęte przez pionki. to program odlicza od oceny 45, niwelując punkty za obecność tych pionków. Chodzi o uniknięcie słabości pierwszej linii i wymuszenie na programie zrobienia królowi furtki. (ad 2) W końcówkach miejsce wartościowania bezpieczeństwa króla zajmuje wartościowanie odległości od centrum szachownicy. Dodawana do oceny wartość obliczana jest według wzoru: W SP CZY NNIK BliskoscCentrum gdzie W SP CZY NNIK przyjmuje wartość 3 dla wczesnej końcówki i 8 dla końcówki. 4. Podsumowanie 4.1. Wnioski Realizacja projektu okazała się dużym wyzwaniem, wymagającym znacznego wysiłku w następujących aspektach: Wyszukiwanie informacji z dziedziny gier, a w szczególności szachów. Wyszukiwanie informacji z dziedziny modelowania matematycznego gry w szachy, algorytmów generowania posunięć, funkcji oceniających itp. Próby implementacyjne w C / C++ / Java. Sporządzenie dokumentacji (LATEX). Jednym z głównych, pozytywnych efektów projektu, było poznanie i zgromadzenie w jednym miejscu dość szerokiej wiedzy z zakresu komputerowego modelowania gry w szachy. Przytoczone w niniejszym dokumencie analizy, algorytmy i inne rozwiązania, stanowią dobry punkt
14 4 PODSUMOWANIE 14 wyjściowy przy rozpoczynaniu prac nad implementacjami szachów. Sama implementacja, stworzona na potrzeby projektu, pozostawia niestety wiele do życzenia. Osiągnięto co prawda rezultat w postaci programu potrafiącego rozgrywać partię w sposób nietrywialny, lecz należy otwarcie stwierdzić, iż program posiada wciąż liczne błędy i niedoróbki. Interfejs użytkownika jest bardzo ubogi - jak większość interfejsów tekstowych. Nie ma możliwości zapisu czy odczytu rozgrywki oraz innych możliwości, których użytkownik zwykle oczekuje od gry Obserwacje Podczas działania programu zdarzają się problemy z pamięcią. W zależności od ilości dostępnej pamięci operacyjnej oraz ilości analizowanych poziomów drzewa rozwiązań, zdarzają się przypadki zawieszenia programu. Wykorzystanie języka C / C++ dało z jednej strony szybkość przetwarzania, a z drugiej niejako umożliwiło wystąpienie problemów z pamięcią. Nieliczne próby implementacyjne z wykorzystaniem języka Java ujawniły znany skądinąd fakt, że w porównaniu do kodu w C / C++, kod Javy wykonuje się od kilku do kilkunastu razy wolniej. W zastosowaniach wymagających wielu obliczeń - takich jak gra w szachy - powyższego faktu nie można pominąć Przyszłe prace Rezultaty uzyskane podczas prac nad niniejszym projektem stanowią mocną podstawę pod rozwój aplikacji szachowej. Można rozważyć wydzielenie jądra systemu stanowiącego jedynie jednostkę odpowiadającą za ruchy gracza - komputera oraz określenie przejrzystych interfejsów komunikacji z takim jądrem. Uzyskując w ten sposób niezależność jądra decyzyjnego, umożliwiamy swobodny rozwój aplikacji użytkownika końcowego bez narzucania konkretnej technologii. Jako przykład konkretnego zastosowania można podać aplikację udostępniającą poprzez sieć możliwość zagrania w szachy z komputerem lub innym człowiekiem. Schemat takiego rozwiązania zaprezentowano poniżej:
15 15 4 PODSUMOWANIE Stacja robocza Komputery przenos ne Szachy - aplikacja WEB Warstwa pos rednia np. EJB Komponenty encji Komponenty sesji JNI - Java Native Interface - Interfejs javy dla je zykow natywnych Baza danych Jadro aplikacji szachowej (kod C / C++) Rysunek 1: Propozycja schematu systemu
Szachy INSTRUKCJA. rekwizyty: 1) Bierki - 32 szt. 2) plansza - 1 szt.
INSTRUKCJA Szachy rekwizyty: 1) Bierki - 32 szt. 2) plansza - 1 szt. Partia szachowa jest rozgrywana między dwoma przeciwnikami, którzy wykonują posunięcia bierkami na kwadratowej tablicy, zwanej szachownicą.
Szachy - Samouczek. Maciek Nowak
Szachy - Samouczek Maciek Nowak Co to w ogóle są szachy? Szachy strategi czna gra pl anszowych rozgrywana przez dwóch graczy na 64- pol owej szachowni cy, za pomocą zestawu pi onów i f i gur. Mi ędzynarodowy
SZACHY mini INSTRUKCJA. rekwizyty: 1) Bierki - 32 szt. 2) plansza - 1 szt.
INSTRUKCJA SZACHY mini rekwizyty: 1) Bierki - 32 szt. 2) plansza - 1 szt. Partia szachowa jest rozgrywana między dwoma przeciwnikami, którzy wykonują posunięcia bierkami na kwadratowej tablicy, zwanej
Podstawowe zasady gry w szachy. Ustawienie bierek na szachownicy w pozycji wyjściowej.
Podstawowe zasady gry w szachy Ustawienie bierek na szachownicy w pozycji wyjściowej. Bierki o d lewej: Wieża, Skoczek, Goniec, Hetman, Król, Goniec, Skoczek, Wieża oraz 8 pionków w na drugiej linii. Cel
Szachowisko Żywe Szachy (zapraszamy do znajomych) www.szachowisko.wordpress.com Szachowisko co to takiego? Szachowisko żywe szachy w Lublinie to projekt realizowany przez młodzież przy wsparciu Fundacji
Grupa nowicjuszy (A) - 1 godz. w tygodniu (zajęcia pozalekcyjne)
Gra w szachy droga do sukcesu. Zajęcia pozalekcyjne dla nowicjuszy i wprawnych graczy. Cel główny: Stymulowanie wszechstronnego rozwoju uczniów, a w szczególności ich funkcji poznawczych, poprzez naukę
Wyznaczanie strategii w grach
Wyznaczanie strategii w grach Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 Politechnika Wrocławska Definicja gry Teoria gier i konstruowane na jej podstawie programy stanowią jeden z głównych
Karty pracy Matematyka
Karty pracy Matematyka Imię i nazwisko ucznia... Klasa... Numer w dzienniku... GSP015 Instrukcja Uważnie czytaj teksty zadań i polecenia. rozwiązania wpisuj długopisem lub piórem. Nie używaj długopisu
Szukając nazwy pola zaczynamy od litery strzałki pionowe potem dopisujemy cyfry strzałki poziome
Figura stojąca na szachownicy zajmuje pole a1 Każde pole na szachownicy posiada własną NAZWĘ pochodzącą od litery i cyfry Szukając nazwy pola zaczynamy od litery strzałki pionowe potem dopisujemy cyfry
Przykłady szacha-mata
Cel gry w szachy jest nim wygranie z przeciwnikiem. Można wyróżnić trzy sposoby na wygranie partii w szachach: Pierwszy szach-mat lub poddanie partii przez przeciwnika, Drugi wygrana poprzez trzy nieprawidłowe
Algorytm obejścia drzewa poszukiwań i zadanie o hetmanach szachowych
Algorytm obejścia drzewa poszukiwań i zadanie o hetmanach szachowych 1 Algorytm obejścia drzewa poszukiwań i zadanie o hetmanach szachowych Alexander Denisjuk Prywatna Wyższa Szkoła Zawodowa w Giżycku
Tworzenie gier na urządzenia mobilne
Katedra Inżynierii Wiedzy Teoria podejmowania decyzji w grze Gry w postaci ekstensywnej Inaczej gry w postaci drzewiastej, gry w postaci rozwiniętej; formalny opis wszystkich możliwych przebiegów gry z
ATOLL. Wykonali: Aleksandra Kuchta, Łukasz Wójcik, Sztuczna Inteligencja, Semestr trzeci, Kierunek Informatyka, Wydział Informatyki i Zarządzania,
Sztuczna Inteligencja, Semestr trzeci, Kierunek Informatyka, Wydział Informatyki i Zarządzania, Politechnika Poznańska ATOLL Wykonali: Aleksandra Kuchta, WFT, PP, nr 76690, rok IV Łukasz Wójcik, WIiZ,
3. MINIMAX. Rysunek 1: Drzewo obrazujące przebieg gry.
3. MINIMAX. Bardzo wygodną strukturą danych pozwalającą reprezentować stan i przebieg gry (szczególnie gier dwuosobowych) jest drzewo. Węzły drzewa reprezentują stan gry po wykonaniu ruchu przez jednego
METODY SZTUCZNEJ INTELIGENCJI 2 Opis projektu
Kamil Figura Krzysztof Kaliński Bartek Kutera METODY SZTUCZNEJ INTELIGENCJI 2 Opis projektu Porównanie metod uczenia z rodziny TD z algorytmem Layered Learning na przykładzie gry w warcaby i gry w anty-warcaby
D. Miszczyńska, M.Miszczyński KBO UŁ 1 GRY KONFLIKTOWE GRY 2-OSOBOWE O SUMIE WYPŁAT ZERO
D. Miszczyńska, M.Miszczyński KBO UŁ GRY KONFLIKTOWE GRY 2-OSOBOWE O SUMIE WYPŁAT ZERO Gra w sensie niżej przedstawionym to zasady którymi kierują się decydenci. Zakładamy, że rezultatem gry jest wypłata,
Marcel Stankowski Wrocław, 23 czerwca 2009 INFORMATYKA SYSTEMÓW AUTONOMICZNYCH
Marcel Stankowski Wrocław, 23 czerwca 2009 INFORMATYKA SYSTEMÓW AUTONOMICZNYCH Przeszukiwanie przestrzeni rozwiązań, szukanie na ślepo, wszerz, w głąb. Spis treści: 1. Wprowadzenie 3. str. 1.1 Krótki Wstęp
Heurystyczne metody przeszukiwania
Heurystyczne metody przeszukiwania Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 Politechnika Wrocławska Pojęcie heurystyki Metody heurystyczne są jednym z ważniejszych narzędzi sztucznej inteligencji.
Adam Meissner. SZTUCZNA INTELIGENCJA Gry dwuosobowe
Instytut Automatyki i Inżynierii Informatycznej Politechniki Poznańskiej Adam Meissner Adam.Meissner@put.poznan.pl http://www.man.poznan.pl/~ameis SZTUCZNA INTELIGENCJA Gry dwuosobowe Literatura [1] Sterling
Propozycje tematów zadań
Propozycje tematów zadań 1. WARCABY Opracować program do gry w warcaby dla dwu graczy. Program ma umożliwiać przesuwanie kursora na zmianę po polach białych lub czarnych, wskazywanie początku końca ruchu.
Wyciąg z przepisów obowiązujących na XII Ogólnopolski Turniej Szachowy o Puchar Związku Banków Polskich Warszawa, 20 listopada 2016r.
Wyciąg z przepisów obowiązujących na XII Ogólnopolski Turniej Szachowy o Puchar Związku Banków Polskich Warszawa, 20 listopada 2016r. Szachy szybkie A.4. We wszystkich innych sytuacjach, należy stosować
Pawnographic chess. (Sztuczna inteligencja) Wydzia ł Informatyki i Zarządzania Informatyka. Pozna ń, 25 lutego 2008 r.
Pozna ń, 25 lutego 2008 r. Pawnographic chess (Sztuczna inteligencja) Wydzia ł Informatyki i Zarządzania Informatyka Bartosz Królikowski, 80081, crulik@poczta.onet.pl Fabian Frąckowiak, 80054, fabian.frackowiak@gmail.com
ORION 6 w 1. Instrukcja obsługi
ORION 6 w 1 Instrukcja obsługi WKŁADANIE BATERII: Urządzenie położyć spodem do góry na płaskiej powierzchni (np. na stole) Otworzyć pojemnik na baterie poprzez naciśnięcie zamknięcia i podniesienie klapki
GRY I ZABAWY UMYSŁOWO- LOGICZNE JAKO FORMA UPOWSZECHNIANIA KULTURY. Donata Fraś
GRY I ZABAWY UMYSŁOWO- LOGICZNE JAKO FORMA UPOWSZECHNIANIA KULTURY Donata Fraś Gry umysłowe To gry towarzyskie, których rezultat zależy wyłącznie od świadomych decyzji podejmowanych przez partnera Wymagają:
I. WPROWADZENIE I PODSTAWOWE ZASADY GRY W SZACHY
I. WPROWADZENIE I PODSTAWOWE ZASADY GRY W SZACHY 1. Wprowadzenie do gry w szachy, uczeń: 1.1 Potrafi poprawnie przygotować szachownicę do gry, 1.2 Zna cel rozgrywania partii szachowej, 1.3 Wymienia wartość
Szachy, backgammon (tryktrak) i warcaby
Szachy, backgammon (tryktrak) i warcaby pl Zasady gry Tchibo GmbH D-22290 Hamburg 92630AB6X6VII 2017-07 Drodzy Klienci! Trzy klasyczne gry w praktycznym, ozdobnym pudełku z drewna. Już od wieków gry te
SZACHY SOLO. Szachowa gra logiczna! Instrukcja, wskazówki i rozwiązania! 1 gracz
SZACHY SOLO Szachowa gra logiczna! Instrukcja, wskazówki i rozwiązania! 8-108 lat 1 gracz Trenuj swoje zwoje! SZACHY SOLO Szachy solo to łamigłówka dla jednego gracza. Zawiera zestaw zróżnicowanych zadań
0 + 0 = 0, = 1, = 1, = 0.
5 Kody liniowe Jak już wiemy, w celu przesłania zakodowanego tekstu dzielimy go na bloki i do każdego z bloków dodajemy tak zwane bity sprawdzające. Bity te są w ścisłej zależności z bitami informacyjnymi,
ZARZĄDZANIE PROJEKTAMI I PROCESAMI. Mapowanie procesów AUTOR: ADAM KOLIŃSKI ZARZĄDZANIE PROJEKTAMI I PROCESAMI. Mapowanie procesów
1 ZARZĄDZANIE PROJEKTAMI I PROCESAMI MAPOWANIE PROCESÓW 2 Tworzenie szczegółowego schematu przebiegu procesu, obejmujące wejścia, wyjścia oraz działania i zadania w kolejności ich występowania. Wymaga
10. Wstęp do Teorii Gier
10. Wstęp do Teorii Gier Definicja Gry Matematycznej Gra matematyczna spełnia następujące warunki: a) Jest co najmniej dwóch racjonalnych graczy. b) Zbiór możliwych dezycji każdego gracza zawiera co najmniej
Temat 1: Pojęcie gry, gry macierzowe: dominacje i punkty siodłowe
Temat 1: Pojęcie gry, gry macierzowe: dominacje i punkty siodłowe Teorię gier można określić jako teorię podejmowania decyzji w szczególnych warunkach. Zajmuje się ona logiczną analizą sytuacji konfliktu
MODELOWANIE RZECZYWISTOŚCI
MODELOWANIE RZECZYWISTOŚCI Daniel Wójcik Instytut Biologii Doświadczalnej PAN Szkoła Wyższa Psychologii Społecznej d.wojcik@nencki.gov.pl dwojcik@swps.edu.pl tel. 022 5892 424 http://www.neuroinf.pl/members/danek/swps/
Algorytmy sztucznej inteligencji
www.math.uni.lodz.pl/ radmat Przeszukiwanie z ograniczeniami Zagadnienie przeszukiwania z ograniczeniami stanowi grupę problemów przeszukiwania w przestrzeni stanów, które składa się ze: 1 skończonego
Konspekt zajęć Kółka Szachowego dla grupy uczniów Szkoły Podstawowej zaawansowanych z serii analizy szachowe: DIEBIUTY OTWARTE
Konspekt zajęć Kółka Szachowego dla grupy uczniów Szkoły Podstawowej zaawansowanych z serii analizy szachowe: DIEBIUTY OTWARTE Debiuty te, zwłaszcza grupa gambitów charakteryzujących się ofiarowaniem we
B.VII USTALANIE KOLEJNOŚCI MIEJSC W TURNIEJACH PZSZACH. q Ustalanie kolejności miejsc (PZSzach) Część B.VII str. 1
q Ustalanie kolejności miejsc (PZSzach) Część B.VII str. 1 q B.VII USTALANIE KOLEJNOŚCI MIEJSC W TURNIEJACH PZSZACH 1. WSTĘP 1.1. O kolejności zajętych miejsc rozstrzyga zawsze liczba punktów zdobytych
PROGRAM PRACY KOŁA SZACHOWEGO
PROGRAM PRACY KOŁA SZACHOWEGO GIMNAZJUM NR 15 W WAŁBRZYCHU Nauczyciel: Krystian Machowczyk SPIS TREŚCI Wstęp...... 3 Charakterystyka programu.... 3 Założenia programowe i warunki realizacji... 3 Ogólne
PROGRAM ZAJĘĆ KOŁA SZACHOWEGO. W ZESPOLE SZKOLNO PRZEDSZKOLNYM w MESZNEJ rok szkolny 2018/2019
PROGRAM ZAJĘĆ KOŁA SZACHOWEGO W ZESPOLE SZKOLNO PRZEDSZKOLNYM w MESZNEJ rok szkolny 2018/2019 klasa 1b Opracowała Beata Jakubiec WSTĘP Program jest skierowany do uczniów klasy 1b Zespołu Szkolno Przedszkolnego
Autorzy: Heinrich Glumpler i Matthias Schmitt
Autorzy: Heinrich Glumpler i Matthias Schmitt ChessMe rozgrywa się jak szachy bez planszy. W stosunku do szachów ChessMe ma lekko zmienione zasady i pozwala dzięki temu na nowe strategie oraz taktyki bez
wagi cyfry 7 5 8 2 pozycje 3 2 1 0
Wartość liczby pozycyjnej System dziesiętny W rozdziale opiszemy pozycyjne systemy liczbowe. Wiedza ta znakomicie ułatwi nam zrozumienie sposobu przechowywania liczb w pamięci komputerów. Na pierwszy ogień
Kognitywne podejście do gry w szachy kontynuacja prac
Kognitywne podejście do gry w szachy kontynuacja prac Stanisław Kaźmierczak Opiekun naukowy: prof. dr hab. Jacek Mańdziuk 2 Agenda Motywacja Kilka badań Faza nauki Wzorce Generowanie ruchów Przykłady Pomysły
Wykład 2: Arkusz danych w programie STATISTICA
Wykład 2: Arkusz danych w programie STATISTICA Nazwy przypadków Numer i nazwa zmiennej Elementy arkusza danych Cechy statystyczne Zmienne (kolumny) Jednostki statystyczne Przypadki (wiersze) Tworzenie
Algorytmy i schematy blokowe
Algorytmy i schematy blokowe Algorytm dokładny przepis podający sposób rozwiązania określonego zadania w skończonej liczbie kroków; zbiór poleceń odnoszących się do pewnych obiektów, ze wskazaniem porządku,
Partition Search i gry z niezupełną informacją
MIMUW 21 stycznia 2010 1 Co to jest gra? Proste algorytmy 2 Pomysł Algorytm Przykład użycia 3 Monte Carlo Inne spojrzenie Definicja Co to jest gra? Proste algorytmy Grą o wartościach w przedziale [0, 1]
Inspiracje kognitywne w procesie analizy pozycji szachowej
Inspiracje kognitywne w procesie analizy pozycji szachowej C. Dendek J. Mańdziuk Warsaw University of Technology, Faculty of Mathematics and Information Science Abstrakt Główny cel Poprawa efektywności
Automatyczne Diagnozy Partii Szachowych nowa funkcja Zestawienie Ruchów.
Kalkulator Szachowy 2na2 - Nowości Wersji 1.1 Automatyczne Diagnozy Partii Szachowych nowa funkcja Zestawienie Ruchów. Program Kalkulator Szachowy 2na2 umożliwia: - rozwiązywanie logicznych zadań szachowych,
Mechanika i Budowa Maszyn. Przykład obliczeniowy geometrii mas i analiza wytrzymałości
Mechanika i Budowa Maszyn Materiały pomocnicze do laboratorium Przykład obliczeniowy geometrii mas i analiza wytrzymałości Środek ciężkości Moment bezwładności Wskaźnik wytrzymałości na zginanie Naprężenia
PRZEDMIOTOWY SYSTEM OCENIANIA Z MATEMATYKI W KLASACH IV VI
PRZEDMIOTOWY SYSTEM OCENIANIA Z MATEMATYKI W KLASACH IV VI (STANDARDY WYMAGAŃ w roku szkolnym 2014/2015) I. Obszary aktywności ucznia podlegające ocenie. Na lekcjach matematyki oceniane będą następujące
(x j x)(y j ȳ) r xy =
KORELACJA. WSPÓŁCZYNNIKI KORELACJI Gdy w badaniu mamy kilka cech, często interesujemy się stopniem powiązania tych cech między sobą. Pod słowem korelacja rozumiemy współzależność. Mówimy np. o korelacji
Tworzenie prezentacji, PowerPoint
Tworzenie prezentacji, PowerPoint PowerPoint jest programem służącym do tworzenia multimedialnych prezentacji. Prezentacja multimedialna to forma przedstawienia treści (konkretnego zagadnienia), wykorzystująca
Algorytmy z powrotami. Algorytm minimax
Algorytmy z powrotami. Algorytm minimax Algorytmy i struktury danych. Wykład 7. Rok akademicki: 2010/2011 Algorytm z powrotami rozwiązanie problemu budowane jest w kolejnych krokach, po stwierdzeniu (w
Podstawy programowania, Poniedziałek , 8-10 Projekt, część 3
Podstawy programowania, Poniedziałek 13.05.2015, 8-10 Projekt, część 3 1. Zadanie Projekt polega na stworzeniu logicznej gry komputerowej działającej w trybie tekstowym o nazwie Minefield. 2. Cele Celem
Dla dzieci od 5 lat. Wymiary pudełka 20x20x5 cm. Backgammon
11122629 Zestaw gier w metalowym pudełku "8 w 1" W podróż, na wycieczkę, na deszczowe dni. Zestaw zawiera wszystko (plansze, pionki, kości), co jest potrzebne, by rozegrać wiele emocjonujących partii następujących
Metody numeryczne w przykładach
Metody numeryczne w przykładach Bartosz Ziemkiewicz Wydział Matematyki i Informatyki UMK, Toruń Regionalne Koło Matematyczne 8 kwietnia 2010 r. Bartosz Ziemkiewicz (WMiI UMK) Metody numeryczne w przykładach
TEORIA GIER W EKONOMII WYKŁAD 2: GRY DWUOSOBOWE O SUMIE ZEROWEJ. dr Robert Kowalczyk Katedra Analizy Nieliniowej Wydział Matematyki i Informatyki UŁ
TEORIA GIER W EKONOMII WYKŁAD 2: GRY DWUOSOBOWE O SUMIE ZEROWEJ dr Robert Kowalczyk Katedra Analizy Nieliniowej Wydział Matematyki i Informatyki UŁ Definicja gry o sumie zerowej Powiemy, że jest grą o
Algorytmy dla gier dwuosobowych
Algorytmy dla gier dwuosobowych Wojciech Dudek Seminarium Nowości Komputerowe 5 czerwca 2008 Plan prezentacji Pojęcia wstępne (gry dwuosobowe, stan gry, drzewo gry) Algorytm MiniMax Funkcje oceniające
Teoria gier. dr Przemysław Juszczuk. Wykład 2 - Gry o sumie zero. Instytut Informatyki Uniwersytetu Śląskiego
Instytut Informatyki Uniwersytetu Śląskiego Wykład 2 - Gry o sumie zero Gry o sumie zero Dwuosobowe gry o sumie zero (ogólniej: o sumie stałej) były pierwszym typem gier dla których podjęto próby ich rozwiązania.
Szachy G860. Art. Nr Instrukcja obsługi Opis przycisków konsoli gier. Opis funkcji tylnej części urządzenia
Art. Nr 95 05 31 Szachy G860 www.conrad.pl Instrukcja obsługi Opis przycisków konsoli gier Zmiana gry Wybór poziomu gry Wskazówka / Podpowiedź Unieważnienie poprzedniego ruchu Obszar pól Nowa gra Start
Złożoność obliczeniowa zadania, zestaw 2
Złożoność obliczeniowa zadania, zestaw 2 Określanie złożoności obliczeniowej algorytmów, obliczanie pesymistycznej i oczekiwanej złożoności obliczeniowej 1. Dana jest tablica jednowymiarowa A o rozmiarze
Dodatkowo planowane jest przeprowadzenie oceny algorytmów w praktycznym wykorzystaniu przez kilku niezależnych użytkowników ukończonej aplikacji.
Spis Treści 1. Wprowadzenie... 2 1.1 Wstęp... 2 1.2 Cel pracy... 2 1.3 Zakres pracy... 2 1.4 Użyte technologie... 2 1.4.1 Unity 3D... 3 2. Sztuczna inteligencja w grach komputerowych... 4 2.1 Zadanie sztucznej
Alfa-beta Ulepszenie minimax Liczba wierzchołk ow w drzewie gry. maksymalnie wd. minimalnie wbd/2c + wdd/2e Algorytmy przeszukiwania drzewa gry 5
Zastosowanie metody Samuela doboru współczynników funkcji oceniajacej w programie grajacym w anty-warcaby Daniel Osman promotor: dr hab. inż. Jacek Mańdziuk 1 Spis treści Algorytmy przeszukiwania drzewa
LEKCJA 1. Diagram 1. Diagram 3
Diagram 1 LEKCJA 1 - zaawansowanie czarnych zdecydowanie lepsze, - szansa dojścia czarnych do damki, - przynajmniej jeden kamień białych ginie, ale od czego jest ostatnia deska ratunku - KOMBINACJA! Ale
Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni
Akademia Morska w Gdyni Gdynia 2004 1. Podstawowe definicje Baza danych to uporządkowany zbiór danych umożliwiający łatwe przeszukiwanie i aktualizację. System zarządzania bazą danych (DBMS) to oprogramowanie
INSTRUMENTY POCHODNE ARKUSZ DO SYMULACJI STRATEGII INWESTYCYJNYCH. Instrukcja obsługi
INSTRUMENTY POCHODNE ARKUSZ DO SYMULACJI STRATEGII INWESTYCYJNYCH Instrukcja obsługi * * * Giełda Papierów Wartościowych w Warszawie nie ponosi odpowiedzialności za skutki decyzji podjętych na podstawie
Rozdział 2 PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE
Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 2 PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE 2.2 Ćwiczenia komputerowe Ćwiczenie
Gra planszowa stwarza jeszcze więcej możliwości!
Gra planszowa stwarza jeszcze więcej możliwości! Steffen Benndorf Reinhard Staupe Gracze: 2-4 osób Wiek: powyżej 8 lat Czas trwania: ok.20 minut Uwaga: W przypadku, gdy Państwo znają już wielokrotnie nagradzaną
Zadanie 1. Zmiana systemów. Zadanie 2. Szyfr Cezara. Zadanie 3. Czy liczba jest doskonała. Zadanie 4. Rozkład liczby na czynniki pierwsze Zadanie 5.
Zadanie 1. Zmiana systemów. Zadanie 2. Szyfr Cezara. Zadanie 3. Czy liczba jest doskonała. Zadanie 4. Rozkład liczby na czynniki pierwsze Zadanie 5. Schemat Hornera. Wyjaśnienie: Zadanie 1. Pozycyjne reprezentacje
5. Rozwiązywanie układów równań liniowych
5. Rozwiązywanie układów równań liniowych Wprowadzenie (5.1) Układ n równań z n niewiadomymi: a 11 +a 12 x 2 +...+a 1n x n =a 10, a 21 +a 22 x 2 +...+a 2n x n =a 20,..., a n1 +a n2 x 2 +...+a nn x n =a
ZAJĘCIA EDUKACYJNE: EDUKACJA PRZEZ SZACHY NAUCZYCIELE PROWADZĄCY: mgr Mariola Szymańska-Kukuczka
ZAJĘCIA EDUKACYJNE: EDUKACJA PRZEZ SZACHY NAUCZYCIELE PROWADZĄCY: mgr Mariola Szymańska-Kukuczka I. Informacje ogólne 1. Ocenianiu podlegają osiągnięcia edukacyjne ucznia, tj. poziom i postępy w opanowaniu
Rozdział 1 PROGRAMOWANIE LINIOWE
Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 1 PROGRAMOWANIE LINIOWE 1.2 Ćwiczenia komputerowe Ćwiczenie 1.1 Wykorzystując
Aproksymacja funkcji a regresja symboliczna
Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(x), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(x), zwaną funkcją aproksymującą
Przedmiotowe zasady oceniania i wymagania edukacyjne
Agnieszka Kamińska, Dorota Ponczek Matematyka na czasie Gimnazjum, klasa 3 Przedmiotowe zasady oceniania i wymagania edukacyjne Przed przystąpieniem do omawiania zagadnień programowych i przed rozwiązywaniem
Wymagania edukacyjne z matematyki dla klasy III gimnazjum
Wymagania edukacyjne z matematyki dla klasy III gimnazjum Poziomy wymagań edukacyjnych: K konieczny dotyczą zagadnień elementarnych, stanowiących swego rodzaju podstawę, powinien je zatem opanować każdy
Roboty grają w karty
Roboty grają w karty Wstęp: Roboty grają w karty - to propozycja lekcji łączącej edukację matematyczną z programowaniem i elementami robotyki. Uczniowie będą tworzyć skrypty w aplikacji Blockly, jednocześnie
Algorytm SAT. Marek Zając 2012. Zabrania się rozpowszechniania całości lub fragmentów niniejszego tekstu bez podania nazwiska jego autora.
Marek Zając 2012 Zabrania się rozpowszechniania całości lub fragmentów niniejszego tekstu bez podania nazwiska jego autora. Spis treści 1. Wprowadzenie... 3 1.1 Czym jest SAT?... 3 1.2 Figury wypukłe...
Przeszukiwanie z nawrotami. Wykład 8. Przeszukiwanie z nawrotami. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279
Wykład 8 J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279 sformułowanie problemu przegląd drzewa poszukiwań przykłady problemów wybrane narzędzia programistyczne J. Cichoń, P. Kobylański
PLAN KIERUNKOWY. Liczba godzin: 180
Klasa V Matematyka Liczba godzin: 180 PLAN KIERUNKOWY Wstępne Wykonuje działania pamięciowo i pisemnie w zbiorze liczb naturalnych Zna i stosuje reguły kolejności wykonywania działań Posługuje się ułamkami
Innowacja Pedagogiczna. Temat: Edukacja przez szachy w szkole. Jolanta Iwańczak Ewa Pelc
Innowacja Pedagogiczna Temat: Edukacja przez szachy w szkole. Jolanta Iwańczak Ewa Pelc Data wprowadzenia.09.08 r. Data zakończenia.06.09 r. . Motywacja i zakres innowacji. Innowacja Edukacja przez szachy
SUKNIE ŚLUBNE - MODA I MODELKI
INSTRUKCJA SUKNIE ŚLUBNE - MODA I MODELKI Zabawa układanka dla 1-4 osób rekwizyty: 96 elementów tworzących 24 modelki Umieszczone w pudełku 24 kreacje zostały stworzone na wielki pokaz mody sukni ślubnych.
Laboratorium Programowanie Obrabiarek CNC. Nr H6
1 Politechnika Poznańska Instytut Technologii Mechanicznej Laboratorium Programowanie Obrabiarek CNC Nr H6 Programowanie podprogramów i pętli Opracował: Dr inŝ. Wojciech Ptaszyński Poznań, 18 marca 2010
WYMAGANIA na poszczególne oceny-klasa I Gimnazjum
WYMAGANIA na poszczególne oceny-klasa I Gimnazjum Oceny z plusem lub minusem otrzymują uczniowie, których wiadomości i umiejętności znajdują się na pograniczu wymagań danej oceny głównej. (Znaki + i -
MATEMATYKA - WYMAGANIA EDUKACYJNE NA POSZCZEGÓLNE OCENY
MATEMATYKA - WYMAGANIA EDUKACYJNE NA POSZCZEGÓLNE OCENY KLASA III GIMNAZJUM Wymagania konieczne (K) dotyczą zagadnień elementarnych, podstawowych; powinien je opanować każdy uczeń. Wymagania podstawowe
OGÓLNA CHARAKTERYSTYKA GRY PLANSZA
OGÓLNA CHARAKTERYSTYKA GRY Na bezdrożach Afryki to gra planszowa przeznaczona dla 2 4 osób. W niniejszej książce zamieszczono 4 komplety gry, tak aby w rozgrywce mogło naraz uczestniczyć 16 uczniów (jeśli
WYMAGANIA EDUKACYJNE
GIMNAZJUM NR 2 W RYCZOWIE WYMAGANIA EDUKACYJNE niezbędne do uzyskania poszczególnych śródrocznych i rocznych ocen klasyfikacyjnych z MATEMATYKI w klasie I gimnazjum str. 1 Wymagania edukacyjne niezbędne
8. Neuron z ciągłą funkcją aktywacji.
8. Neuron z ciągłą funkcją aktywacji. W tym ćwiczeniu zapoznamy się z modelem sztucznego neuronu oraz przykładem jego wykorzystania do rozwiązywanie prostego zadania klasyfikacji. Neuron biologiczny i
WYMAGANIA EDUKACYJNE Z MATEMATYKI DLA KL.I
WYMAGANIA EDUKACYJNE Z MATEMATYKI DLA KL.I a w roku szkolnym 2015/2016 na poszczególne stopnie w oparciu o PROGRAM MATEMATYKA Z PLUSEM i podręcznik nr w wykazie 168/1/2015/z1 Prowadzący zajęcia: mgr Elżbieta
Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15
Technologie cyfrowe Artur Kalinowski Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15 Artur.Kalinowski@fuw.edu.pl Semestr letni 2014/2015 Zadanie algorytmiczne: wyszukiwanie dane wejściowe:
NAJWAŻNIEJSZE ZMIANY w Przepisach gry turniejowej FIDE od 1 lipca 2014
NAJWAŻNIEJSZE ZMIANY w Przepisach gry turniejowej FIDE od 1 lipca 2014 Opracował IA Andrzej Filipowicz Szczegóły i pełna wersja nowych Przepisów Gry FIDE witryna PZSzach NOWY KODEKS PZSZACH 2014 Wstęp
15. Macierze. Definicja Macierzy. Definicja Delty Kroneckera. Definicja Macierzy Kwadratowej. Definicja Macierzy Jednostkowej
15. Macierze Definicja Macierzy. Dla danego ciała F i dla danych m, n IN funkcję A : {1,...,m} {1,...,n} F nazywamy macierzą m n ( macierzą o m wierszach i n kolumnach) o wyrazach z F. Wartość A(i, j)
LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q
LABORAORIUM PROCESORY SYGAŁOWE W AUOMAYCE PRZEMYSŁOWEJ Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q 1. Zasady arytmetyki stałoprzecinkowej. Kody stałopozycyjne mają ustalone
Metody teorii gier. ALP520 - Wykład z Algorytmów Probabilistycznych p.2
Metody teorii gier ALP520 - Wykład z Algorytmów Probabilistycznych p.2 Metody teorii gier Cel: Wyprowadzenie oszacowania dolnego na oczekiwany czas działania dowolnego algorytmu losowego dla danego problemu.
Metoda Karnaugh. B A BC A
Metoda Karnaugh. Powszechnie uważa się, iż układ o mniejszej liczbie elementów jest tańszy i bardziej niezawodny, a spośród dwóch układów o takiej samej liczbie elementów logicznych lepszy jest ten, który
SCENARIUSZ ZAJĘĆ SZKOLNEGO KOŁA NAUKOWEGO Z PRZEDMIOTU MATEMATYKA PROWADZONEGO W RAMACH PROJEKTU AKADEMIA UCZNIOWSKA. Temat lekcji: Liczby firankowe
SCENARIUSZ ZAJĘĆ SZKOLNEGO KOŁA NAUKOWEGO Z PRZEDMIOTU MATEMATYKA PROWADZONEGO W RAMACH PROJEKTU AKADEMIA UCZNIOWSKA Temat lekcji: Liczby firankowe Na podstawie pracy Joanny Jędrzejczyk oraz jej uczniów.
Wstęp do programowania
Wieczorowe Studia Licencjackie Wrocław, 28.11.2006 Wstęp do programowania Wykład nr 9 (w oparciu o notatki K. Lorysia z modyfikacjami) Sortowanie szybkie (Quicksort) Sortowanie przez scalanie opierało
System zarządzający grami programistycznymi Meridius
System zarządzający grami programistycznymi Meridius Instytut Informatyki, Uniwersytet Wrocławski 20 września 2011 Promotor: prof. Krzysztof Loryś Gry komputerowe a programistyczne Gry komputerowe Z punktu
Przyszłe rozporządzenia UE
Przyszłe rozporządzenia UE Jak korzystać z funkcji wyszukiwania zaawansowanego w serwisie EUR-Lex Od czego zacząć Podręcznik użytkownika Wejdź na stronę serwisu EUR-Lex: http://eur-lex.europa.eu/homepage.html?locale=pl.
gry na planszy do WARCABÓW WARCABY TRADYCYJNE WARCABY NAROŻNIKOWE gra dla 2 osób rekwizyty: - plansza - 12 pionków białych i 12 pionków czarnych
gry na planszy do WARCABÓW WARCABY TRADYCYJNE Celem gry jest zbicie lub zablokowanie pionków przeciwnika. Grę prowadzi się na ciemnych polach szachownicy. Plansza jest tak ułożona, aby obaj gracze mieli
Teoria gier. Wykład7,31III2010,str.1. Gry dzielimy
Wykład7,31III2010,str.1 Gry dzielimy Wykład7,31III2010,str.1 Gry dzielimy ze względu na: liczbę graczy: 1-osobowe, bez przeciwników(np. pasjanse, 15-tka, gra w życie, itp.), Wykład7,31III2010,str.1 Gry
Zaawansowane algorytmy i struktury danych
Zaawansowane algorytmy i struktury danych u dr Barbary Marszał-Paszek Opracowanie pytań teoretycznych z egzaminów. Strona 1 z 12 Pytania teoretyczne z egzaminu pisemnego z 25 czerwca 2014 (studia dzienne)
Algorytm. Krótka historia algorytmów
Algorytm znaczenie cybernetyczne Jest to dokładny przepis wykonania w określonym porządku skończonej liczby operacji, pozwalający na rozwiązanie zbliżonych do siebie klas problemów. znaczenie matematyczne
2. Charakterystyki geometryczne przekroju
. CHRKTERYSTYKI GEOMETRYCZNE PRZEKROJU 1.. Charakterystyki geometryczne przekroju.1 Podstawowe definicje Z przekrojem pręta związane są trzy wielkości fizyczne nazywane charakterystykami geometrycznymi