Niektóre pomysły na pisanie sztucznego intelektu na szachy. SHAH i MAT, Sztuczna inteligencja: To, co uczymy doświadczenia w projekcie szkolenia Harry'ego Casparava i sztucznej inteligencji




Rok temu Program Alphago Sensational Beat najsilniejszy gracz na świecie, a teraz sztuczna inteligencja Alphazero pokonała najsilniejszy silnik szachowy.

Sztokfisz, który jest używany do przygotowania domu większość graczy, zwycięzca mistrzostw TCEC 2016 i Mistrzostwa Chess.com wśród programów komputerowych 2017, okazały się wyraźnie słabsze. W meczu ze 100 stron Alphazero zdobył 28 zwycięstw przy 72 rysunkami i nigdy nie zgubili.

Nawiasem mówiąc, alfazerko wydał tylko cztery godziny na "studiowanie" szachy. Przepraszam, ludzie, ale nie jesteś zły.

Wszystkie programiści Alphazero opracowane przez Deepmind, Google, stworzyli go w oparciu o mechanizm "uczenia maszynowego", dokładniej, "uczenia się ze wzmocnieniem". Mówiąc prosto, alfazero nie studiował szachów w tradycyjnym znaczeniu. Nie ma debiutanckiej książki, ani stołów końcowych, żadnych złożonych algorytmów do oceny siły pionków centralnych i flankowanych.

Jego prace mogą być porównywane z robotem, który może używać tysięcy części zamiennych, ale nie zna zasady działania silnika spalinowego, - przechodzi przez możliwe kombinacje, aż buduje Ferrari, a dla tego potrzebuje mniej czasu niż trylogia władcy pierścieni. Przez cztery godziny program odgrywał z tobą wiele imprez, stając się własnym nauczycielem.

Do tej pory zespół programistów ciągle cisza. Nie podawali komentarzy Chess.com, odnosząc się do faktu, że raport "podczas rozpatrywania", ale tutaj możesz przeczytać swój pełny tekst. Zespół badawczy obejmuje demisa Hassabis, kandydata głównego z Anglii i współzałożyciela Deepmind (zakupione Google w 2014 r.). Hassabis, który uczestniczył w turniejach Tandem Tandems na otwarciu London Chess Classic, jest obecnie na konferencji systemów przetwarzania informacji neuronowych (systemy przetwarzania informacji neuronowych) w Kalifornii, jako współpracownika raportu na innym temacie.

Ale z Chess.com z niecierpliwością udostępnił swoje osądy szachy, który ma wielkie osobiste doświadczenia gry przeciwko komputerom szachowym. MG Harry Kasparov nie jest zaskoczony, że Deepmind przeniósł się z iść do szachy.

"Jest to zauważalne osiągnięcie, chociaż oczekiwano po Alphago" - powiedział Chess.com. "Zbliża się do" type-b ", ludzkim podejściem do szachy, które kanałowy Shannon i Alan Turing marzyli o zastąpieniu solidnego biustu."

Podobnie jak osoba, alfazero rozważa mniej pozycji niż jego poprzedników. Raport stwierdził, że szacuje, że "suma" 80 tysięcy pozycji na sekundę w porównaniu z 70 milionami na sekundę od Smackafish.

MG Peter-Heine Nielsen, długoterminowy drugi mistrza świata MG Magnus Karlsen, otworzył swoją pasję, przynosząc mu bliżej prezesa FIDE: kosmitów. Powiedział Chess.com: "Po przeczytaniu raportu, aw szczególności, po przejrzeniu partii, pomyślałem:" Byłem zawsze ciekawy, że byłoby to, gdyby na naszej planecie sadzono na naszej planecie i pokazał nam swoją sztukę gra w szachy. Wydaje się, że teraz wiem, co to jest.

Nauczyliśmy się również o znaczeniu zalet łodygi, przynajmniej dla sztucznej inteligencji. 25 z 28 zwycięstw Alphazero wygrał biały (chociaż wynik + 3 \u003d 47-0 czarny przeciwko Sztokfiszie, którego ocena przekracza 3400, również nie zły).

Raport pokazuje i jak często silnik wybrał pewne debiuty, gdy uczą. Przepraszamy, kochankowie Ochrony Old-Indian, ale nie jesteś na korzyść. Zainteresowanie francuską jest również UGA w czasie, ale pragnienie grania w felu Gambit, a zwłaszcza, że \u200b\u200bangielski początek właśnie wzrosły.

Co byś zrobił w miejscu niezbędnego zmęczenia stworzenia, tylko kto opanował grę z historią 1400 lat? Przejmie drugą. Po meczu Stockfish Alphazero spędzony na "szkoleniu" tylko dwie godziny i pokonał Elmo, najsilniejszy z silników komputerowych do gry w SyoM.

Korzystanie z tego innowacyjnego programu samokształcenia nie ogranicza się do gier.

"Zawsze uważano, że istnieje zbyt wiele wiedzy empirycznej w szachach z maszyny, aby mogli grać silnie" od podstaw ", bez użycia wiedzy w ogóle" - powiedział Casparov. "Oczywiście będę zainteresowany, by zobaczyć Co możemy dowiedzieć się o szachach. Z pomocą Alphazero, która otwiera ogromne perspektywy uczenia się maszyny w całej maszynie, mogą znaleźć regularności niedostępne dla ludzi. Jest oczywiste, że konsekwencje rozszerzają się daleko poza szachy i inne gry. Zdolność Maszyna do otwarcia i przekracza znajomość złożonych systemów zamkniętych, nagromadzonych przez ludzkość przez wieki, - jest to narzędzie zmieniające świat. "

Chess.com Dziennikarzy przeprowadzali wywiad z ośmioma z dziesięciu uczestników turniejów w Londynie na swoim stosunku do dopasowania programu. Wideo z wywiadem zostanie opublikowany na stronie później.

Najbardziej ostro skrytykował warunki meczu MG Hikar Nakamura. Teraz istnieje gorąca dyskusja na temat siły komputerowej przeciwników, ale Nakamura uważa, że \u200b\u200binny jest ważniejszy.

Amerykański grandmaster zwany mecze "nieuczciwe", określając, że dla optymalnej pracy silnik, Ekokfish powinien używać debiutanckiej książki. Nakamura nie uważa, że \u200b\u200bwraz z jej pomoc stockfisz wygrał mecz, ale luka na koncie byłaby znacznie mniejsza.

"Jestem pewien, że sam Pan sam nie zyskałby 75 procent okularów z białym bez żadnego foowu", skomentował wynik alfazero biały: 25 zwycięstw i 25 rysunków.

MG Larry Kaufman, wiodący konsultant w szachy Komodo silnik, ma nadzieję zobaczyć, jak dobrze nowy program działa na komputerach osobistych, bez korzystania z kamienic obliczeniowych Google. Powtórzył także zastrzeżenia wyrażone przez Nakakurę o fakcie, że Łupka gra bez zwykłej wiedzy debiutycznej.

"Oczywiście, że jest prawie niesamowite", powiedział: "Tak, usłyszałem o osiągnięciach zero Alphago w grze i spodziewałem się czegoś takiego, biorąc pod uwagę, że zespół deweloperów miał szachy Demis Hassabis. Jednak nie jest jasne, czy program Alphazero może grać w szachy na zwykłym komputerze i jak dobrze się odnosi. Być może współczesna rozpowszechnianie silników szachowych za pomocą funkcji Minimax jest zbliża się do końca, ale do tej pory jest zbyt wcześnie, aby go głosić. Warto wskazać, że podczas szkolenia Alphazero de facto stworzył własną debiutancką książkę, więc byłoby bardziej sprawiedliwe, aby używać go do silnika z dobrą debiutancką książką. "

Nie dotykając warunków meczu, Nielsen jest pomyślany, w jakichkolwiek obszarach można zastosować ten typ uczenia się.

"[Ten] Nowoczesny sztuczny intelekt" - powiedział Grossmaster. "Pochodzi z czegoś takiego jak szachy do problemów godnych nagród Nobla i jeszcze więcej. Myślę, że mieliśmy szczęście, że postanowili spędzić cztery godziny na szachy, ale konsekwencje tego odkrycia są znacznie bardziej znaczące.

Wyślij dobrą pracę w bazie wiedzy jest proste. Użyj poniższego formularza

Studenci, studiach studentów, młodych naukowców, którzy korzystają z bazy wiedzy w swoich badaniach i pracach, będą ci bardzo wdzięczni.

Wysłane przez http://www.allbest.ru/

Rozwójoprogramowaniemodułsztucznyintelektdlagrywszachy

algorytm intelektalny komputera szachowego

  • Wprowadzenie

Koncepcja "szachy komputerowej" jest rówieśnikiem nauki o cybernetyce i jej sekcji "sztuczny intelekt". Szachy jest idealnym modelem do badania złożonych zadań, zwłaszcza tych, w których potrzebujesz opcji biustu. Rozwój programu szachowego odnosi się do problemu rozwijania sztucznej inteligencji z następujących powodów:

* Istnieje ogólne zaufanie, że zadanie jest związane z problemem sztucznej inteligencji, ponieważ szachy jest uważane za najbardziej intelektualną grę

* Wykonano obiektywne kryterium pracy - siłę programu szachowego

* Duże zróżnicowanie tego kryterium reprezentuje możliwość stopniowego poprawy programu.

Jeden z założycieli cybernetyki i teorii informacji - Claude Shannon - w latach 50. najpierw sformułował zasady wyboru udaru na szachownicy. W analizowanej pozycji przez określoną głębokość, wszystkie możliwe opcje są przenoszone, a całkowite pozycje za pomocą funkcji docelowych są przypisane ocenę numeryczną. Następnie wykonywana jest procedura minimax, aby włączyć do pozycji początkowej, wskazuje, że jego ocena i najlepiej, zgodnie z samochodem.

Rolą osoby jest oszacowanie pozycji, jak najdokładniej, aby ustawić funkcje docelowe. Funkcje te mają dwa elementy - materiał i pozycyjny. Od pierwszego wszystkiego jest jasne - przewaga materiałowa (na rysunkach i pionkach) jest z reguły, bardzo poważnym argumentem oceny stanowiska jako najlepszego. Ponadto, im mniejszy materiał na pokładzie po obu stronach, tym dokładniejsza ocena.

Ale z elementem pozycyjnym wszystko jest znacznie bardziej skomplikowane: wiele czynników jest brane pod uwagę, na przykład cechy lokalizacji poszczególnych kształtów i pionków, przestrzeni na pokładzie, czas na przegrupowanie sił i innych. Umiejętność doceniania Rola wszystkich czynników w określonej pozycji zawsze została uznana za jedno ze znaków odpieniaczów szachowych. - Ludzie.

Słabość gry komputerowej była dokładnie w nadużyciu materiałów i niemożności wdrażania "absolutnej brutalnej siły" opcji. W Książkach w Chessach z lat 70. i 80. można znaleźć znaczną liczbę przykładowych przykładów gry z maszynami, gdy Master lub Grandmaster wygrał przyjęcie z pomocą pięknych poświęconych figur i pionków. Sekret jest już czysty: dla ludzkiej inteligencji, w przeciwieństwie do sztucznego, dominacja czynników pozycyjnych jest oczywista w tych momentach, gdy ofiary materiału zostały przeprowadzone.

Lata minęły, ze wzrostem prędkości komputera, głębokość obliczeń wzrosła, a jednocześnie algorytmy poprawiły się, co poprawia kompilację funkcji oceny położenia. W drugiej połowie lat 90. komputery stały się już z powodzeniem konkurując z grasistami dodatkowej klasy. Epokal dla "Cybernetyki szachowej" wydarzenie miało miejsce w maju 1997 r. Stworzony przez IBM Corporation Deep Blue w meczu od 6 stron wygrał Harry Kasparov. Komputer został wyposażony w specjalny chip szachowy, a samochód spojrzał przez około 200 milionów pozycji na sekundę. IBM Corporation dla swojego projektu przyciągnęła wielu babci, najnowsze osiągnięcia teorii szachowej były używane do tworzenia jak najwięcej doskonałych algorytmów. I tak, jak już zauważył, w latach 90., programy szachowe dla komputerów pulpitu zaczęły zamknąć specjalistyczne komputery.

Każdego miesiąca siłę programów szachowych i moc komputerów wzrasta nieubłaganie, a nawet najbardziej odważne założenia optymistów. Kolejne 12-15 lat temu na ten temat "Kiedy samochód będzie mógł pokonać Brandmaster?" Zasadniczo został zredukowany do pytania "Czy jest w stanie tego robić w zasadzie?". A jeśli odpowiedź "może" nadal udało się uzyskać, czas oszacowano w przedziale 15-25 lat.

Rzeczywistość obaliła te prognozy. Wszystko stało się znacznie szybciej! Już w połowie lat 90. stwierdzono, że synteza "programu gier + komputera" może konkurować z Brandmaster.

Celem pracy jest opracowanie i wdrożenie modułu oprogramowania sztucznego wywiadu do gry w szachy, które obejmuje:

1. Badanie istniejących algorytmów gier Dokładne szachy

2. Rozwój algorytmu zachowania przeciwnika komputerowego

3. Określenie parametrów algorytmu zachowania przeciwnika komputerowego

4. Wdrożenie oprogramowania, które obejmuje wdrażanie algorytmu gry i rozwój interfejsu graficznego

5. Porównanie opracowanego oprogramowania z istniejącymi analogami.

1 . Historiarozwójszachyprogram

W 1951 r. Alan Turing napisał algorytm, z którym samochód może grać w szachy. Tylko w tym czasie sam inventor występował w roli samochodu. W tym samym 1951 r. Matematyk Claude Shannon pisze swój pierwszy artykuł o programowaniu szachowym. Opisał dwie strategie dla znalezienia lepszej obrotu, oba są oparte na heurystycznej funkcji oszacowania punktów końcowych:

* Wpisz A - biust Wszystkie możliwe ruchy do stałej głębokości, z połączeniem na końcu szacowanej funkcji (ponieważ niemożliwe jest rozszerzenie do końca)

* Typ B - wykonuje tylko selektywną rozszerzenie niektórych wierszy przy użyciu zgromadzonej wiedzy szachowej do przycinania nieinteresownych gałęzi

Pierwszy komputer został zaprojektowany przez Neumanna Tło do utrzymania złożonych obliczeń podczas tworzenia broni jądrowej. W 1950 roku pojawiła się pierwsza próbka, zdolna do wytwarzania 10 000 operacji na sekundę. Jednym z pierwszych eksperymentów z aparatem było pisanie programu szachowego, jednak szachy były niestandardowe - na tablicy 6 * 6 bez słoni.

Kilka lat później komputer ("Maniak") grał z ludźmi: silny szachy wygrał pewne zwycięstwo, a przybysz stracony w 23 udaru.

W 1957 r. IBM704 (42 kHz, 7 KBYTES-stały) wdrożono w programie na pełnym wyżywieniu, z udziałem wszystkich danych. Samochód wierzył 4 dni w 8 minut. Poziom gry jest amator.

W 1962 r. Newel, Simon i Shaw otworzył algorytm o nazwie Alpha-Beta (Alpha-Beta), dał wynik nie gorzej niż pełny biust, bez zbadania wszystkich opcji. Nie wymagał specjalnej wiedzy szachowej i można go zastosować do rozwiązania jakichkolwiek zadań transmisji. Istotą algorytmu jest to, że w każdym rzędzie gry, na białe i czarne ich maksymalne wyniki są śledzone, a jeśli w pewnym momencie czarny otrzymał już wynik, który został już wykonany z maksymalnie białego, osiągniętego wcześniej, Wtedy nie ma sensu wyeliminować. Gdy biust wraca do punktu, w którym osiągnięto biel maksimum, wynik, nadal zostanie odrzucony. Podstawą wszystkich nowoczesnych programów szachowych jest jedną z zaawansowanych wersji tego algorytmu.

Około 1973 r. Wszystkie programy szachowe były typu V. Są głównie na podstawie generatorów wiarygodnych przemieszczeń, które odcinają statyczną oceną małego działania. Wraz z pojawieniem się bardziej potężnych procesorów programiści zaczęli przełączać się na typ A. Pierwszy byli nauczyli i szachy4, były to programy "szorstki", gdy tylko dotarli do głębokości 5 staranności środkowego etapu, zaczęli wygrać W konkursach z programami V.

W 1975 r. Robert Hyat zaczyna rozwijać Crayblitz, który od dawna był najszybszy program szachowy przez długi czas i od 1983 do 1989 roku. - Mistrzowie świata wśród programów szachowych. Szukał około 40-50 tysięcy pozycji na sekundę (w 1983 roku), że za jego czas był świetnym osiągnięciem.

W 1977 r. Thompson i Condon z Bell Laboratory tworzy pierwszą specjalistyczną społeczność szachową. Podstawowa idea była w realizacji niektórych części programu szachowego (generator skoków, funkcje oszacowania pozycji, detektora Shakhowa itp.) Na poziomie sprzętu, który zapisał opóźnienia programu w każdej pozycji bez czekania na zwiększenie moc procesorów. Najlepsze komputery z tego czasu mogły zbadać do 5000 pozycji na sekundę, a maszyna Tompson Ken, która Belle o imieniu, przetworzyła 180 tysięcy wierszy na sekundę. Belle mógł pomyśleć o pozycjach 8-9 Dipów do przodu, które umieszczają na poziomie kreatora. Wygrał wiele turniejów szachowych komputerowych. Ale pomimo faktu, że wyspecjalizowane żelazo jest rzędem wielkości szybszym niż zwykły samochód, program Crayblitz w przełożonym, wciąż samochód nadal grał lepiej.

W latach 90. Richard Lang, napisanie wyłącznie na asemblerze, wykonał bardzo silny genius selektywnego programu wyszukiwania. Do tej pory program ten stale trzymał 5-6 miejsce na globalnych mistrzostwach szachowych komputerowych. Również w latach 90. algorytmy szachowe zaczęły rozwijać się silnie, eurystyki pustego skoku pojawił się (Nullmove), selektywne odcięte oddziały graniczne z rozwojem drzewa.

Oddzielnie warto rozważyć najsłynniejszy program szachowy, super komputerowy - głęboki niebieski. W 1987 r. Głębokie niebieski rozpoczął się jako rozwój studentów - był interesujący, że ma grupę zdolnych uczniów wypróbować ich siłę, a temat dla dyplomu jest doskonały. Postęp technologii pozwolił, aby pierwsza wersja procesorów (zwana Chiptest) bardzo szybko. Następująca, zaawansowana wersja, o której następuje głęboka myśl. W tym momencie Grupa odnotowała Departament Marketingu IBM i skierowany do niej z propozycją, z której nie można odmówić. Wynikiem stali głębokiego niebieskiego i głębokiego niebieskiego II. W ten sposób Głębokie Blue II jest wynikiem ponad 10 lat działania bardzo zdolnej grupy, w którym zarówno programiści / koleje, jak i ciężkie babci. Wszystkie prace były finansowane przez IBM, więc grupa miała zasoby, które nie marzy o organizacjach akademickich. Deep Blue II jest wykonany na podstawie potężnego serwera IBM RS / 6000. Serwer ma 31 zwykłych procesorów; Jeden zadeklarował główną rzecz, podlega 30 innych. 16 Specjalistycznego procesora szachowego jest podłączony do każdego procesora "pracownika", w ten sposób istnieje 480 procesorów szachowych. Cały kompleks przetworzony ponad miliard stanowisk na sekundę.

W dniu 11 maja 1997 r. Deep Blue II wygrał mistrz świata szachy Garry Kasparov w meczu z 6 stron. Po meczu z mistrzem, głęboki niebieski został zdemontowany.

Jak widać, począwszy od pierwszego, a kończąc się z najnowocześniejszymi programami, programy szachowe zostały zbudowane na podstawie integralności możliwych ruchów, ale były próby zbudowania więcej "intelektualnych" algorytmów innych niż przytłaczający. Wielu znanych szachowców próbowało rozwinąć takie algorytmy, ale wyniki nie spełniają wymagań. Na przykład Botvinnik M.m., będąc mistrzem świata i autorem licznych dzieł na teorii szachów, od ponad 20 lat, był zaangażowany w tworzenie programu szachowego, ale program nigdy nie grał.

Wszystkie algorytmy przeciążeń do znalezienia najlepszego kursu budują drzewo gry i szuka najlepszego ruchu.

2. Generałkoncepcjeteoriagry

2.1 Drewnomożliwypozycje

Niech ostatnie zorientowane drzewo G, zestaw w swoich wierzchołkach składa się z dwóch podzbiorów non-cyklowych B0 i B1, a każdy wierzchołek pb, który nie jest początkiem jakiegokolwiek ogniska z tego drzewa, umieścić zgodność z rzeczywistą liczbą OE (P). Określa grę dwóch przeciwników z pełną informacją. Wierzchołki zorientowanego drzewa G, należące do podzbioru B0, nazywane są pozycjami z białym i podzbiorem B1 - pozycje z czarnymi ruchami; Linki tego drzewa nazywane są białe lub czarne uderzenia, w zależności od których podzbiory B0 lub B1 należy do ich początku. Jeśli pozycja pb jest umieszczona zgodnie z numerem OE (P), nazywa się to final, a OE (P) nazywana jest oceną statyczną tej pozycji.

Zorientowany drzewo G Nazwał drzewo gry.

Zgodnie z definicją dla każdej pozycji PB, istnieje jedyna ścieżka L (P0\u003e P1, P1\u003e P2, ..., PK\u003e P) z początkiem na drzewie zorientowanym z korkiem ROOT R i końcu w rozważanej pozycji Ta ścieżka nazywana jest imprezą prowadzącą do pozycji p.

Gra roota P0 Drzewa G to podświetlona pozycja. Jest to pozycja zaproponowana przez program, a zadaniem jest znalezienie najlepszego kursu w nim. Aby to zrobić, wystarczy zdefiniować OEP0 i OEPI dla wszystkich pozycji uzyskanych z P0 na kurs. Definicje oceny pozycji początkowej P0 są przeprowadzane przez schemat całkowitych gaśni, aw teorii gier, algorytm ten nazywa się algorytmem Negamax.

Złożoność drzewa do gier oblicza się o wzorze: W ^ D, gdzie W jest średnia liczba możliwych ruchów, a D-Głębokość drzewa.

Rysunek 1 - Drzewo możliwych pozycji

2.2 Zasadaminimax

Ten algorytm jest przeprowadzany przez poszukiwanie głębokości. Oznacza to, że dla każdego głoszonego wierzchołka konieczne jest znalezienie wszystkich sąsiednich wierzchołków i powtarzają ich wyszukiwanie. Wracamy na szczyt ostatniej głębi i oczekujemy wygranych pierwszego gracza. Następnie, z węzła macierzystego, przejdź do następnego węzła dziecka (jeśli w ogóle) i spodziewamy się tam wygranych okularów. Jeśli liczba węzłów pomocniczych się skończy, szukamy minimum wygranych (jeśli poziom węzła macierzystego jest nieparzyste) lub maksimum (jeśli nawet). Węzeł rodzicielski ma zysk. Wykonujemy podobne wyszukiwanie, ale biorąc pod uwagę już, że węzeł macierzysty jest już spółka zależna.

W liściach drzewa obliczanie punktów występuje w stosunku do pierwszego gracza, tj. Uważa się, że pierwszy gracz dąży do maksymalizacji jego wygranych, a drugi gracz, aby zminimalizować wygrane zwycięskie wygrane gracza. Pierwszy gracz wygrywa w przypadku, gdy liczba punktów na górze drzewa na poziomie jest większa niż zero.

Rysunek 2 - Wyszukaj algorytm algorytmu drzewa Minimax

W rezultacie proces stosowany przez program odpowiada rozwiązaniom przemiennym (komputerowi / osobiście), na każdym kursie komputer wybiera maksymalną ocenę. Rozwiązanie powróciło do korzenia drzewa niewątpliwie okazuje się najlepszym wyborem, w ramach założenia, że \u200b\u200bwroga w każdym przypadku również wykonuje najsilniejsze ruchy. Szacowanie statyczne wykonywane jest tylko w węzłach ostatniego poziomu (liście drzew) dla pozycji komputera.

Ten algorytm zapewnia pełne wyszukiwanie wszystkich opcji. Liczba rozważanych pozycji zostanie oceniona jako w do stopnia D, gdzie W jest przybliżoną liczbą ruchów w jednej pozycji, d jest głębokością błędnej W przypadku szachy w około 40 oznacza to, że liczenie na głębokość 4, musimy nadeprzeć 40 ^ 4 \u003d 2560 tysięcy pozycji, a na głębokość 5 - 10240 tysięcy pozycji.

Rozbijające drzewo rośnie wykładniczo. Do tej pory na najpotężniejszych procesorach, z najbardziej optymalnym kodem, możliwe jest, aby być uważanym za głębokość 6 w prawdziwym szacowanym okresie czasu. Jest to główny problem rozwoju algorytmów gier w szachy, a wszystkie zmiany mają na celu zmniejszenie połączonych kombinacji.

Figura 3 przedstawia schemat blokowy algorytmu Minimax do wyboru lepszego postępu, algorytm przedstawiony przez algorytm zwraca najlepsze postępy w ocenie uzyskanej z głębszą analizą. Schemat blokowy algorytmu do znalezienia oceny w głębokości przedstawiono na rysunku 4.

Rysunek 3 - Diagram blokowania do wyboru lepszego udaru

Rysunek 4 - Diagram blokowania, aby wyszukać ocenę

Kiedy nazywasz algorytm do znalezienia oceny na głębokość z bardzo dużą wymaganą głębokością, otrzymujemy ocenę z pełną integralnością wszystkich możliwych ruchów.

2.3 metodanegatywnymaksymalny(Negamax)

W tym algorytmie statyczne oszacowanie pozycji dla jednej ze stron jest równe statycznej ocenie drugiej strony z przeciwnym znakiem.

Rysunek 5 - Metoda ujemnego maksimum

2.4 Statycznyocenapozycjaikonserwacjawymaganiadoszacowanyfunkcje

Oszacowanie statyczne położenia jest metodą obiektywnej, ilościowej ekspresji subiektywnego odczucia, które występuje u osoby patrzącej na stanowisko, bez analizowania możliwych sposobów rozwoju gry. W grach programistycznych ocena pozycji statycznej nazywana jest funkcją jakości pozycji.

Jeśli znalezienie lepszego ruchu za pomocą drzewa gry można zastosować z tym samym sukcesem dla wszystkich gier, a następnie ocena pozycji statycznej jest częścią specjalistyczną dla określonej gry. Jego specjalizacja definiuje styl gry sztucznego gracza, czynniki określone w szacowanej funkcji określają cel zgiełku.

Porównanie liczby z pozycją umożliwia odróżnienie samochodu złych i dobrych kombinacji. Zdolność do odróżnienia dobrych kombinacji ze złego, określa siłę wirtualnego gracza. W grach dwóch osób, oszacowanie jest wykonane przez jednego z graczy. Jeśli szacunkowa funkcja zwraca dobre oszacowanie dla jednego gracza, musi zwrócić źle dla przeciwnika. Zasada ta jest kryterium stosowania dowolnej funkcji wyceny w algorytmach, które wdrażają sztuczną inteligencję.

Podstawowym wymogiem funkcji oceny jest jego symetria w stosunku do graczy, tj. Stan musi być wykonany - co jest dobre dla jednego gracza, złego dla drugiego. Dobra szacunkowa funkcja powinna uwzględniać podstawowe zasady strategii gry i odpowiedzieć na następujące cechy:

* Materiał - obliczony bezpośrednio jako różnicę w liczbie kształtów graczy, możliwe jest dodanie współczynników wagowych dla każdej konkretnej figury

* Pozycjonowanie - pokazuje jakość liczb odtwarzacza

* Rozwój pozycji - pokazuje liczbę możliwych ruchów graczy. Im lepsza pozycja jest opracowana, bardziej możliwe strategie ma gracza. Z tego powodu konieczne jest kontrolowanie i zmniejszenie stanu wroga

* Śledzenie końca gry - w przypadkach wygranej (biorąc król przeciwnika), powinien dać maksymalną rating, zwykle + nieskończoność, w przypadkach utraty (utrata króla), musi zwrócić minimalną ocenę, zwykle nieskończoność

Aby grać w szachy, konieczne jest uwzględnienie zmiany oceny pozycji, w zależności od etapu strony.

Klasyczna szacunkowa funkcja jest funkcją niektórych powyższych cech położenia gry, czyli, że szacowana funkcja jest łącznym wynikiem oszacowania pozycji z różnych punktów widzenia.

Szacowana funkcja dla wszystkich gier jest inna, ponieważ odzwierciedla specyfikę gry. Funkcje oceny są wybrane Eksperymentalnie.

Znaczenie wybranej charakterystyki jest niezbędne. Znaczenie jest określane przez pomnożenie wybranej charakterystyki do odpowiedniego, współczynnika. Współczynnik ten musi mieć uzasadnienie statystyczne.

W związku z tym szacowana funkcja może być reprezentowana w następującym formularzu:

F (P) - Funkcja Szacowana według pozycji p,

Współczynnik ważności charakterystyki I-OH,

Charakterystyka pozycji I-Aya P.

2.5 Inscenizacjazadania

Podczas wykonywania pracy konieczne jest zbadanie istniejących metod i algorytmów do wdrożenia komputerowego gry w szachy, określić ich główne zalety i wady, w celu oparte na zdobyciu wiedzy, wybierz algorytm, który zapewnia najlepszą obsługę ten system.

Po pracy dyplomowej konieczne jest:

wdrażam badane algorytmy w języku programowania C #

wdrażam różne modyfikacje przy użyciu dodatkowych modułów

b Przeprowadzić eksperymenty numeryczne, aby oszacować jakość opracowanych modeli, porównują wdrożone modyfikacje, aby wybrać najlepsze

le Opracuj wygodny i intuicyjny interfejs

3. Zbadanyalgorytmyisuplementy

3.1 Alpha betakontyntynuj

Czyszczenie alfa-beta (angielski alfa-beta przycinanie) jest algorytm wyszukiwania, który wydaje się zmniejszyć liczbę węzłów ocenianych w drzewie wyszukiwania algorytmu Minimax. Główna idea jest następująca: jeśli jeden z twoich ruchów, przeciwnik ma dla ciebie niekorzystną odpowiedź, jest bez znaczenia, że \u200b\u200banalizuje inne możliwe odpowiedzi na ten ruch, ponieważ nawet jeśli wśród nich są dla ciebie bardziej korzystne, przeciwnik będzie nie wybieraj ich. Clipping Alpha-Beta jest optymalizacją, ponieważ wyniki zoptymalizowanego algorytmu nie są zmieniane.

Rysunek 6 - Algorytm wycięcia alfa-beta

Zaleta odcięcia alfa-beta faktycznie polega na tym, że niektóre gałęzie drzewa wyszukiwania mogą być wyłączone po całkowitym uwzględnieniu przynajmniej jednej z gałęzi poziomu. Ponieważ odcięcie występuje na każdym poziomie zagnieżdżania (z wyjątkiem ostatnich), efekt może być dość znaczący. Skuteczność sposobu znacząco wpływa na wstępne sortowanie opcji (bez rzucania lub mniejszej głębokości) - podczas sortowania większych opcji "dobrych", tym większe są odcinki "złe" gałęzie można odciąć bez wyczerpującej analizy. Wyszukiwanie Minimax jest wykonywane w głębi, więc w dowolnym momencie wystarczy rozważyć węzły wzdłuż jedynej ścieżki na drzewie.

Kluczową ideą przycinania Alpha - Beta jest znalezienie kursu niekoniecznie najlepszego, ale "wystarczająco dobrego" w celu podjęcia właściwej decyzji.

Na wejściem tego algorytmu serwowane są parametry alfa i beta, nazywane są one okno. Parametry te są odpowiedzialne za granice odcięcia na pierwszym poziomie, podczas pogłębiania się do drzewa gry, te parametry zmieniają się. Algorytm alfa-beta z parametrami alfa \u003d + nieskończoność i beta \u003d nieskończoność (brutalna siła z pełnym oknem) daje wynik dokładnie taki sam jak algorytm Negamax, to jest pełne biust. Figura 7 przedstawia schemat blokowy algorytmu algorytmu alfa-beta, aby policzyć oszacowanie pozycji w głębokości.

Rysunek 7 - Schemat Alpha-Beta, aby wyszukać ocenę

3.1.1 Przykładstandardodciąć

Rysunek 8 - Przykład standardowych przycinania

Rozważmy przykład standardowej odcięcia Alpha Beta. Na stanowiskach wybieramy więc ruch, dlatego wybramy największą wartość z pozycji w i C. Wartość w już obliczonej - jest to 10. Przy obliczaniu pozycji z jej wyróżniającym się, jeden z węzłów ma wartość 5 . W pozycji z ruchem nasz przeciwnik zrobi, a zatem wybrał najmniejszą wartość. Z tego wynika, że \u200b\u200bwartość pozycji C będzie od 5 i poniżej, dlatego zawsze wybieramy w opcji. Dlatego obliczanie reszty węzłów, które nie prowadzimy.

3 .1.2 Przykładdogłębnyodciąć

Rysunek 9 - Przykład klipu dogłębnego

Rozważmy przykład głębokiego przycinania. Na stanowiskach wybierzemy między podróżami w pozycji i C. Wartość B \u003d 15. Rozpoczynamy obliczenie C. W pozycji E jeden z węzłów dał wartość 5. W pozycji E, wybór skoku należy do przeciwnika, co oznacza, że \u200b\u200bkońcowa wartość E będzie od 5 i niższa. Jeśli wartość C jest równa E, wybierzemy opcję, ponieważ jest bardziej atrakcyjna. Dlatego niekoniecznie znamy dokładną wartość pozycji E, więc wszystkie inne gałęzie są odcięte z niego.

3 .2 Wielokrotnyzanurzenie(IterowanyPoglądający.)

Znaczenie ucieczki wydechowej lub iteracyjnej wnęki leży w powtarzającym się wezwaniu do ustalonej procedury głębokości przy rosnącej głębokości, aż określony termin nie zostanie przekroczony lub głębokość wyszukiwania nie zostanie osiągnięta. Zaletą tej metody jest to, że nie powinieneś wybrać głębokości wyszukiwania z góry; Ponadto zawsze możesz używać wyniku ostatniego zakończonego wyszukiwania. Wartości zwracane z każdego wyszukiwania mogą być używane do regulacji żądanego okna wyszukiwania.

Ogólnie rzecz biorąc, klip alfa-beta jest spowodowany z górnej części drzewa w przedziale (- ?; +?). Jednak przy użyciu iteracyjnego zanurzenia możemy go zmienić.

Przypuśćmy, że X - wartość optymalnego ruchu znalezionego na poprzedniej iteracji, a liczba Epsilon oznaczy szacowaną różnicę w wynikach między poszukiwaniem głębokości D-1 i głębokości D. Dalej, po prostu zadzwonić do alfa -Beta cięcia z górnej części drzewa z szacowanym przedziałem: Alphabeta (D, X-Epsilon, X + Epsilon).

1. Wartość zwraca w przedziale (X-Epsilon, X + Epsilon) jest poprawną wartością, możemy go użyć.

2. Wartość powróci z interwału (X-Epsilon, X + Epsilon) konieczne jest powtórzenie obliczeń ze zmodyfikowanym interwałem.

Nawet jeśli zakładamy, że metoda alfa-beta odcięcia nie daje żadnej zwycięstwa, ogólny wzrost analizy czasu rzeczywiście okaże się stosunkowo mały. Rzeczywiście, zakładając, że średnia liczba opcji na każdym poziomie jest D, a liczba analizowanych poziomów jest p, a następnie iteracyjne wyszukiwanie na pierwszy poziomie, a następnie drugi itp. do poziomu PO, odpowiednik (bez przycinania alfa-beta) Widok D + + ... + Pozycje.

Kwota ta jest równa, podczas gdy liczba pozycji oglądanych w konwencjonalnej analizie jest równa. Stosunek między tymi dwoma liczbami w dużym stopniu p jest mniej więcej taki sam, a zatem blisko 1 w przypadkach, gdy D jest wystarczająco duży

Ponadto, przy użyciu wyszukiwania iteracyjnego można wprowadzić kontrolę czasu, co pozwoli na komputer w dowolnym momencie, aby zaoferować zadowalające rozwiązanie. W ten sposób, jeśli czas myślenia jest ograniczony do 5 sekund, rozważy wszystkie pozycje do poziomu 2, na przykład, w 0,001 sekundy, do poziomu 3 - w 0,01 sekundy, do poziomu 4 - w 1 sekundzie, a następnie po Rozpoczęcie analizy na poziomie 5 zostanie zmuszony do przerwania z powodu braku czasu. Jednak w tym samym czasie komputer ma już dość dobre rozwiązanie znalezione na 4 poziomie.

W rezultacie komputer jest w stanie udzielić odpowiedzi w określonym czasie (na przykład, aby wykonać 50 ruchów w ciągu 2 godzin). Jest również oczywiste, że program, który obsługuje taką metodę, będzie grać z różnymi stronami na różnych komputerach.

Pomimo faktu, że kilka gałęzi drzewa będą musieli sprawdzić kilka razy, ta metoda daje wystarczającą ilość odcięcia.

3.3 Sortowanieruchy

Wyniki odcięcia alfa-beta są bardzo pod wpływem, w jakiej kolejności sprawdzane są ruchy. Rozważ to na przykładach:

W pierwszym przypadku przeprowadzimy obliczenia sortowanie ruchów "z najgorszego na lepsze"

Rysunek 10 - Alpha-beta odcinając ruchy "z najgorszego na lepsze"

Jak widać z przykładu, nie odcięto gałęzi drzewa.

Teraz uporządkuj ruchy "z najlepszych do najgorszego"

Rysunek 11 - Alpha-beta wycinanie ruchów "z najlepszych do najgorszego"

W optymalnych okolicznościach brutalna siła z odcięcia alfa-beta powinna być oglądana przez w ^ ((D + 1) / 2) + w ^ (D / 2) - 1 pozycja. Jest znacznie mniejszy niż minimam.

Aby zwiększyć wydajność odcięcia alfa-beta, musisz pomyśleć o tym, jakie ruchy należy zbadać najpierw. W tych celach stosuje się tak zwane heurystyki zabójcy.

Chodzi o to, że jeśli ruch był dobry w jednej części drzewa, a jeśli jest to możliwe, warto spróbować go sprawdzić w innych (na tej samej głębokości). W tym celu wprowadzono tablicę, w którym wprowadza się kilka najlepszych ruchów dla każdej głębokości, jeśli istnieją ruchy z tej tabeli w pozycji dla bieżących głębokości - są one najpierw sprawdzane.

W przypadku innych ruchów algorytm woli porusza się z Shaghasem i przyjmuje.

3 .4 Nega Scout.(Negascicout)

Negascicout - dodatek na Alpha Beta. Jest to skierowany algorytm wyszukiwania, aby obliczyć wartość węzła Minimax.

Negascicel jest najpopularniejszym algorytmem wysiłku brutto dzisiaj. Jest to niezwykle proste i zapewnia akcelerację (do 50%) bez podejmowania dodatkowego błędu w obliczeniach. Łączy bardzo dobrze z nowoczesnymi atrybutami programów szachowych - stoły Hash.

Ten algorytm ma zaletę, że nigdy nie zbadamy węzłów, które można odciąć alfa-beta, ale niektóre gałęzie można traktować kilka razy.

Algorytm Negalizacji sprawdza pierwszy węzeł za pomocą pełnego okna (Alpha, Beta), biorąc pod uwagę tę opcję jest najlepsza. Następujące węzły, które próbuje odciąć się z zerowym oknem, tj. Okno (alfa, alfa + 1). Jeśli wynik konta poprawia alfa, oznacza to, że 1 węzeł nie był najlepszy, a ten węzeł musi być sprawdzany za pomocą pełnego okna, ale zamiast alfa, możemy wziąć wartość (wartość, beta). Kod tej metody jest poniżej:

public Int Negascicout (komórka [,] Kopiaboard, Int Głębokość, int finalDepth, int alfa, int beta, int możliwości, bool ismy)

int Value \u003d 0, Maxvalue \u003d -1000, Leight \u003d 0;

Komórka [,] Board \u003d nowa komórka;

Punkt [,] ruchy \u003d nowy punkt;

Punkt ruchu \u003d nowy punkt;

FindMoves (ruchy, Ref Leight, Board, True, True);

Możliwe \u003d Leight;

FindMoves (ruchy, Ref Leight, Board, False, True);

Możliwości + \u003d Leight;

jeśli ((głębokość \u003d\u003d finaldepth) || Gameisover (deska, ismy))

wróć eval (deska, możliwości);

powrót -1 * Eval (deska, możliwości);

FindMoves (ruchy, Ref Leight, Board, HaversquiredMove (Board, ISMY), ISMY);

int a \u003d alfa, b \u003d beta;

dla (int i \u003d 0; ja< leight; i++)

Copymove (ruch, ruchy, i);

Domove (deska, ruch);

Wartość \u003d -1 * Negascicout (deska, głębokość + 1, finaldepth, -1 * b, -1 * a, możliwe,! Ismy);

jeśli (wartość\u003e wartość A && 0 && (głębokość

a \u003d -1 * Negascicout (deska, głębokość + 1, finalDepth, -1 * beta, -1 * Wartość, możliwości ,! ISMY);

jeśli (wartość\u003e a)

Copyposition (Board, Copyboard);

Jak widać z powyższego opisu dla negatywnego harcerza, przejście ruchów jest ważną funkcją. Jeśli zorganizujesz wszystkie ruchy "z najgorszego na lepsze", popiersie może potrwać jeszcze więcej czasu niż minimax.

3 .5 Tabela Hash.

3 .5 .1 Teoria

W szachach podczas wyszukiwania okazuje się, że nie ma drzewa gry, ale wykres jest bardzo często po ruchach ruchów, które otrzymujemy tę samą pozycję. Metoda używania tabel Hash jest utrzymanie oceny już uważanych za pozycje. Dla każdej pozycji konieczne jest przechowywanie jego oceny (dokładniej, uznania w tej pozycji), głębokość rozwojem, najlepszy ruch. Teraz, zaczynając demontować pozycję, musisz wyglądać - i czy nie spotkaliśmy już tego? Jeśli się nie spotkałeś, to robimy to jak wcześniej. Gdybyśmy poznali, patrzymy na głębokość, którą wcześniej byliśmy zdemontowani. Jeśli tak samo, jak potrzebujemy teraz, albo głębiej, możesz użyć starego szacunku i oszczędzać czas. Jeśli jest mniej, nadal możemy używać części informacji, a mianowicie najlepszy ruch.

Najlepszy ruch na głębokość N może być najlepszy i dla głębokości N + 1. Oznacza to, że oprócz jej początkowego miejsca docelowego, stół Hash okazuje się przydatny do usprawniania ruchów. Nadal nieoczekiwanie pomaga iteracyjnej wgłębieniu - gdy rozpoczynamy następną iterację, stół Hash okazuje się być wypełniona informacjami z poprzedniego, a do chwili (na głębokość 1), wszystkie pozycje po prostu mają w nim, z najlepszym sposobem do głębokości N-1.

Program przy użyciu iteracyjnej wnęki i stole Hash często wykonuje wszystkie iteracje od 1 do N kilkakrotnie szybciej niż gdyby słusznie zaczyna się iteracja n, ponieważ Z prawdopodobieństwem 75%, zawsze jest to pierwszy wybór najlepszego kursu, a z prawdopodobieństwem ~ 90% najlepszy ruch należy do pierwszych trzech rozpatrywanych.

3 . 5 .2 Sprzedaż

Hashing jest jednym z najpotężniejszych sposobów zwiększenia wydajności komputera. Korzystanie ze stołów Hash jest głównym narzędziem w programowaniu gier w szachy.

Tabela Hash - reprezentuje dużą tabelę indeksowaną w komórkach, z których przechowywane są następujące informacje:

· 2 Indeks Hesh

· Głębokość błędu do tego ruchu

· Ocena tego ruchu

Wybór algorytmu obudowy indeksu obudowy jest istotnym punktem przy użyciu algorytmów mieszania. Wybierając algorytm do obliczania indeksu Hash, należy wziąć pod uwagę 2 najważniejszych punktów:

Indeks musi najbardziej odzwierciedlać unikalne informacje o postępach, aby zminimalizować liczbę kolizji.

Indeks Hese powinien być prosty do liczenia

Złożony algorytm daje najlepsze wskaźniki liczby kolizji, ale są trudne do przeliczenia, a zatem zajmują dużo czasu procesora. Konieczne jest zbudowanie algorytmu, łatwe do liczenia, ale mając minimalnie liczbę kolizji.

Aby obliczyć indeks, wybrano operacje z niektórymi losowo wygenerowanymi maskami.

Początkowo maski Hash są wypełnione losowymi liczbami. Dla każdej pozycji oblicza się 2 indeks HESH, pierwszy służy do wyszukiwania pozycji w tabeli Hash, drugi, aby sprawdzić zderzenia.

Przed użyciem informacji z tabeli Hash, zbieg okoliczności drugiego indeksów Hash zostanie sprawdzone, jeśli nie zbiegły, a następnie wystąpiła kolizja, a informacje są ignorowane.

Aktualizowanie informacji o pozycji powinny być wykonywane tylko wtedy, gdy głębokość niedoboru prądu jest większa niż ta już przechowywana w tabeli Hash.

Informacje z Wath, możliwe jest zaufanie tylko wtedy, gdy głębokość znajduje się w Haheus, więcej niż obecna głębokość aklującego.

3.6 Za pomocąbibliotekideutov.

Algorytm przy użyciu bibliotek debiutów jest wykorzystanie wstępnie obliczonych baz danych z debiutami stron, ponieważ na początku strony największa liczba możliwych ruchów tych samych szacunków.

3 .7 Ocenapozycja

Podczas opracowywania algorytmu oceny stanowiska statycznego (funkcja jakościowa) istnieje niepewność wyboru między jakością a szybkością. Jakościowe funkcje szacunkowe oparte na podstawie podstawy statystycznej powoli, ale zapewniają bardzo dokładne szacunki, niektóre nawet bez użycia depozytu wywiadowcze.

Znacznie szybsza, proste funkcje pracują, biorąc pod uwagę najprostsze zasady gry, nie podają dokładnej oceny, ale pozwalają na głębokie wyszukiwanie. Tak więc dokładny, ale powolny wynik, może dać się głupi, ale szybko.

Jakość oceny jest określona przez wiedzę o grze, na podstawie której pozycja jest porównywana. Jakość oceny jest bezpośrednio proporcjonalna do prędkości działania i objętości wiedzy. Ponieważ 40-letnia praktyka tworzenia programów ze sztuczną inteligencją pokazuje, wielkość znajomości funkcji oceny jest odwrotnie proporcjonalna do jego prędkości.

Graficzny, ta zależność jest pokazana na rysunku w postaci rodziny hiperballa.

Rysunek 12 - Przykład klipu dogłębnego

Podczas opracowywania funkcji oceny szachy należy pamiętać, że w zakresie oceny w szachy wszystkich parametrów zależą od etapu gry.

Szansa jest udostępniana na scenie: Debiut - otwarcie imprezy, Mittelspil - środek gry, Endgame jest ostatnim etapem. W przypadku algorytmu postanowiono podzielić strony na 3 etapy o liczbie liczb pozostawionych na desce z odtwarzaczem komputera. Początkowo na tablicy na 16 postaciach na graczy. Tabela przedstawia zależność etapu gry z liczby pozostałych liczb:

Tabela 1 - Etapy gry

3 . 7 .1 Materiałocena

Zaletą materiału jednego z graczy uważa się za najważniejszy parametr w teorii szachowej, dlatego ocena materiałów ma największy wpływ na ogólną ocenę stanowiska. Ocena materiału jest uważana za sumę współczynników wagowych wszystkich kształtów na pokładzie. Król nie jest wliczony w oszacowanie materiału, jak w przypadku utraty Króla, gracz automatycznie traci. Ocena skal danych jest głównym zadaniem w konstruowaniu funkcji oceny. Aby określić łuski liczb, postanowiono skorzystać z samodzielnego algorytmu na podstawie algorytmu genetycznego. Ciężary figur nie zależą od etapu gry. Algorytm genetyczny jest heurystycznym algorytmem wyszukiwania używany do rozwiązywania problemów optymalizacyjnych i symulacyjnych przez wybór losowy, kombinację i zmienność pożądanych parametrów przy użyciu mechanizmów przypominających ewolucję biologiczną po raz pierwszy zaproponowany przez Holland (1975).

3 . 7 . 2 Opispracagenetycznyalgorytm

Początkowe zadanie jest zakodowane w taki sposób, że jego roztwór może być reprezentowany jako wektor ("chromosom"). Losowo tworzy wiele wstępnych wektorów ("populacja początkowa"). Są one oceniane przy użyciu "funkcji adaptacyjnej", w wyniku której każdy wektor jest przypisany pewną wartość ("fitness"), co określa prawdopodobieństwo przeżycia ciała reprezentowanego przez ten wektor.

Po tym, używając uzyskanych wartości sprawności, wektor (wybór), pozostawiono do "kuszenia". "Operatorzy genetyczne" (zwykle "przekraczanie" i "mutacja") są stosowane do tych wektorów), tworząc w ten sposób następujące "pokolenia". Oceniane są również osobniki następnej generacji, wykorzystywane są wybór, wykorzystywane są operatorzy genetycznymi itp.

W ten sposób symulowany jest "proces ewolucyjny", który kontynuuje kilka cykli życia (generacji), aż do wykonywania kryterium zatrzymania algorytmu. Takie kryterium może być:

Znalezienie optymalnego rozwiązania;

Wyczerpanie liczby pokoleń uwalnianych na ewolucji;

Wyczerpanie czasu wydanego do ewolucji.

Algorytmy genetyczne służą głównie do znalezienia rozwiązań w bardzo dużych, złożonych przestrzeniach wyszukiwania.

W ten sposób można pracować algorytm genetycznym w następnym schorzeniu:

Rysunek 13 - Przykład klipu dogłębnego

3 . 7 . 3 Gradacjapracagenetycznyalgorytm

Powstanie początkowej populacji - początkową populację jest losowo utworzona; Nawet jeśli okaże się, że jest całkowicie niekonkurencyjny, algorytm genetyczny nadal szybko przetłumaczy na realną populację. W pierwszym kroku można w szczególności nie próbować zbyt dopasowanych osób, wystarczająco, aby dopasować format populacji.

Wybór (wybór) - z całej populacji jest wybrana pewna proporcja, która pozostanie "żywa" na tym etapie ewolucji. Przekraczanie (reprodukcja) - w celu uzyskania potomku, potrzebujesz kilku rodziców; Zwykle, oczywiście potrzebujemy dokładnie dwóch. Reprodukcja w różnych algorytmach jest określona na różne sposoby - oczywiście zależy od prezentacji danych. Głównym wymogiem reprodukcji jest to, że potomek lub potomkowie mają okazję dziedziczyć cechy obu rodziców ", mieszając" ich w dość rozsądny sposób.

Mutacje są stochastyczną zmianą częściami osób (chromosomy).

3 . 7 . 4 Definicjaważyfigi.zwsparciegenetycznyalgorytm

Chromosom algorytmu genetycznego obejmuje ciężary postaci szachowych, z wyjątkiem króla.

Aby ustawić początkową populację, wartość chromosoma jest ustawiona losowo w przedziale, z wyjątkiem pionków i ciężarów królowej, wartości ich skali są stałe, pionek - 100, królowa - 1000.

Do wyboru używany jest wybór turnieju. Istnieją wśród siebie losowe 2 chromosomy, do czterech zwycięstw, idą najpierw z kolei. Zwycięzca pozostałości pojedynku, przegrany jest usuwany z populacji.

Podczas przejścia używany jest metoda przekraczania pojedynczego punktu.

Trwa losowo 2 rodziców, liczba chromosomów jest wybierana przez przypadek, diagram jest pokazany na rysunku nr 14. W rezultacie każdy potomek będzie działać zarówno od pierwszego, jak iz drugi rodzic.

Rysunek 14 - Przykład klipu dogłębnego

Mutacje są wykonywane w następujący sposób: wybiera z pewnym prawdopodobieństwem chromosomu, a one, każdy "gen" zmienia się przez liczbę losową w zakresie [-50; 50], Z wyjątkiem wartości oceny statycznych królowej i pionków.

W przypadku wartości końcowych otrzymane wagi są podzielone przez 100.

3 . 7 . 5 Całkowityocena

Przy ocenie pozycji narysowanej uwagi na 8 składników:

1. Materiał siły rywali

2. Liczba pól pod bitwą

3. Kluczowe pola

4. Przechodząc spodnie

5. Podwójne pionki

6. Rocking.

7. Promocja pionku

8. Łańcuchy Hound [* 1]

Liczba pól pod bitwą oblicza się na głębokości drewna 2, ze względu na duże koszty produkcyjne. Dla każdego pola bije figurę komputera, aby oszacować pozycję dodaje się 1 punkt, dla pól walczących z liczbami gracza są usuwane przez punkty. Wynikowa wartość jest przesyłana do dna drzewa jako parametru. Również na głębokości 2 obliczone punkty dla łańcuchów morskich, przechodzących i podwójnych pionków. Na obecność przybycia na lewe lub prawe pionki, strona otrzymuje 1 punkt. Pionek jest uważany za przejście, jeśli na pionowym, a także na sąsiednim z nią, nie ma rywalowych pionków, którzy mogą uniemożliwić jej przejście do końca. Podwójne pionki - 2 pionki jednego koloru stojącego na jednym pionie. W przypadku obecności podwójnych pionków usuwa się 4 punkty, 5 punktów są dodawane dla obecności każdego pionka przechodzącego. Szachy mają kluczowe pola:

Rysunek 15 - Kluczowe pola

Dla okupacji każdego z nich to dodatkowe 4 punkty.

Dlatego Po złożeniu króla Król jest w bardzo zrównoważonym stanowisku, strona otrzymuje 3 punkty za idealne odlewanie.

Im bliżej pionka do ostatniego poziomego, tym bliżej transformacji. Dla każdej komórki dodaje się do wartości pionków dodaje się 1.

Po obliczeniu liczby punktów dla obu stron otrzymuje się końcowe oszacowanie pozycji, odejmując punkty gracza z kieliszków przeciwnika komputera.

4 . Rozwójprograms.

4 .1 Wymaganiadoszachyalgorytm

Podczas opracowania modelu modułu oprogramowania do grania w szachy należy wziąć pod uwagę następujące parametry:

* Algorytmy w szachy są bardzo wymagające wydajności, a wytrzymałość programu Programu bezpośrednio zależy od wykonania programu

* Moduły oprogramowania powinny być łatwe do opracowania i testowania

* Interfejs użytkownika powinien być łatwy, łatwy do konfigurowalny i skalowalny

4 .2 Wyświetleniaszachyalgorytm

Większość nowoczesnych programów można podzielić na 3 kategorie:

* Pierwsza kategoria szybkich poszukiwaczy jest to, że pomysł jest to, że upraszczając limit funkcji oceny i dokładnie z optymalizacją całego programu jako całość (zazwyczaj osiągany przez zapisanie programu na asemblerze), możesz przynieść Liczba pozycji rozpatrywanych przez program (NPS - węzły na sekundę) do numeru astronomicznego, na przykład do 150-200k NPS na P / 200. Oznacza to, że program spędza około jednego lub dwóch tysięcy komend maszynowych do każdej pozycji. Numer ten obejmuje postęp poprzedniego stanowiska, oszacowanie pozycji, wytwarzanie ruchów z tej pozycji, logiki zarządzania itp. Ogólnie rzecz biorąc, szacowana funkcja pozostaje na wszystkich okruchach - około setek zespołów. Programy prowadzone są szaleńczo szybkie i doskonale zachowują się w złożonych pozycjach taktycznych, a także doskonale rozwiązywać zadania kombinacyjne, ale mają słabą grę pozycyjną

* Druga kategoria to program oparty na wiedzy. Tutaj wszystkie siły są rzucane do pisania złożonej funkcji wyceny. Oddziaływanie liczb ze sobą, a okładka Króla oraz kontrola pozycji i prawie faza księżyca jest prawie. Jeśli chodzi o NPS, program działa 10-100 razy wolniej niż szybkie wyszukiwania, ale odtwarza dobre szachy pozycyjne. Dokładniej, te szachy są dobre, tylko wtedy, gdy istnieją głębokie taktyki na tablicy lub czas kontroli jest taki, że program ma wystarczająco dużo czasu, aby obliczyć tę taktykę.

4 .3 Kontrolaczasuwszachyalgorytmy

Najważniejszym parametrem w konstruowaniu sztucznej inteligencji przeciwnika szachownicy jest kontrolowanie czasu udaru. System gry programu szachowego zależy od kontroli czasowej. Przed komputerem "myślenia", należy obliczyć czas dostępny do komputera.

Przy obliczaniu czasu dostępnego na kursie konieczne jest kontynuowanie z dwóch parametrów:

* Algorytm poszukiwania lepszej kolejności ma być zbudowany na CrossPower wszystkich możliwych ruchów na pewnej głębokości, a zatem bezpośrednio zależy od czasu spędzonego na popiersie. Im więcej czasu używamy, tym silniejszy jest granie

* Czas oczekiwania na odpowiedź przeciwnika komputera nie powinna być zbyt duża. Na przykład, można podjąć międzynarodowe przepisy dotyczące szachów, w których istnieje kilka rodzajów stron: Blitz - 15 minut na imprezę, szybko - 60 minut na partię, klasyczny - ponad 60 minut na imprezie.

Na podstawie wymaganych parametrów zdecyduje się obliczyć czas dostępny do ruchu przed następującym wzorem: gdzie: czas na kursie; Full_game_time - Total Party Time; AVG_MOVES - średnia liczba uderzeń gracza na imprezie; Collect_Time - dodatkowo nagromadzony czas; D - Niewielkie zmniejszenie czasu wymagane do dodatkowych obliczeń. Całkowity czas imprezy i średnia liczba ruchów gracza na imprezie są dwa główne parametry zewnętrzne, zmiana, którą można zmienić moc gry. Według statystyk portalu szachowego thechess.ru, średnia liczba graczy dla partii jest równa 30, dlatego postanowiono podjąć średnią liczbę ruchów graczy na imprezie równej 30. Zatem spoza całkowitego czasu ze stron jest ustawiony. Podczas opracowywania algorytmu do zachowania komputerowego przeciwnika (sztuczna inteligencja) zastosowano następujące algorytmy:

* Algorytm wyszukiwania iteracyjnego, z kontrolą czasu

* Algorytm Alpha-Beta Clipping i Nega-Scout

* Biblioteki Debutov.

* Stół Hash.

* Aby posortować ruchy, wykorzystano heurystyki zabójcy i historii.

4 .4 Rozwiniętyprogram

W programie w języku programowania wszystkie powyższe algorytmy i dodatki zostały wdrożone.

Zrzuty ekranu programu przedstawiono poniżej:

Rysunek 16-kolorowy wybór

Rysunek 17 - Screenshot programu

Rysunek 18 - Screenshot programu

Kiedy najeżdżasz na kształt swojego koloru, jest podświetlony z białym. Przy wyborze figury dla skoku, jego kolor pola staje się pomarańczowy i wszystkie komórki, które postać może iść, wyróżnia się przez biały. Kiedy najeżdżasz na taką komórkę, jego kolor staje się pomarańczowy.

Podczas gry idealne ruchy są wyświetlane na tablecie po lewej, gracz może zapisać historię w osobnym pliku.

4 .5 Bazacyklszukajlepszyudar mózgu

Głównym zadaniem podstawowego cyklu wyszukiwania najlepszego udaru jest znalezienie i wykonywanie najlepszej drogi do komputera przeciwnika. Cykl wykorzystuje debiutanckie biblioteki i wyszukiwanie iteracyjne z kontrolą czasu. Rysunek 12 pokazuje proces znalezienia lepszego sposobu:

Rysunek 19 - Podstawowy cykl wyszukiwania najlepszego kursu

4 .6 Szukajlepszyudar mózgupierwszypoziom

Głównym zadaniem algorytmu pracy do poszukiwania najlepszego ruchu pierwszego poziomu (odpowiedź wroga) jest znalezienie najlepszego ruchu przeciwnika na pierwszym poziomie. Algorytm jest zbudowany na algorytmie Negoriitm przy użyciu głębokości oszacowania, aby określić oszacowanie bieżącego skoku. Rysunek 13 przedstawia pracę algorytmu:

Rysunek 20 - Szukaj lepszego pierwszego poziomu

4 .7 Odkryciegłębokośćszacunkiudar mózgu

Głównym zadaniem znalezienia ocenę głębokości jest znalezienie oceny bieżącego kursu przy użyciu algorytmu Negchout, heurystyki zera, dane z tabeli ma tabelę i oceną pozycji statycznej. Rysunek 14 przedstawia proces liczenia oceny kursu dogłębnej:

Rysunek 21 - Znalezienie głębokiej oceny skoku

4.8 Inni.modeleiwykres

Model matematyczny programu jest następujący:

Rysunek 22 - Model matematyczny

Z abstrakcyjnej klasy obliczają 7 klas spadkobierców opisujących działania i właściwości danych liczbowych. Istnieje również klasa pustych, oznaczająca, że \u200b\u200bkomórka jest pusta. Płyta jest tablicą 64 elementów figury, z których każdy może stać się dowolnym z klas dziedzic. Kurs w komputerze jest reprezentowany w postaci 4 cyfr - współrzędnych (od 1 do 8) punktu rozpoczęcia i współrzędnych końca końca. Poniżej znajduje się diagram statusu dla programu:

Rysunek 23 - Wykres warunku

5 . Eksperymentalnyocenajakośćr.ealiz.anno.algorytm

Wdrożone algorytmy poddano analizie porównawczej w celu określenia optymalnej prędkości i jakości konfiguracji. Podczas eksperymentu odbyło się wiele turniejów między każdą parą różnych implementacji.

5 .1 OcenapracaAlpha betaodciąć

Dzięki temu eksperymentowi było konieczne, aby dowiedzieć się, czy czynnik rozgałęzienia został zmniejszony, a w wyniku poprawy prędkości algorytmu, bez utraty jakości decyzji w sprawie kursu zleconego.

Aby ocenić jakość końcowego algorytmu, algorytm wyszukiwania był eksperymentalnie w porównaniu z zasadą minimax.

Tabele przedstawiają współczynniki wykazujące ocenę liczby elementów do algorytmów, a także stosunek czasów przypisanych do tego przeglądania.

Tabela 1 - Porównanie wskaźników algorytmu algorytmu algorytmu odcięcia z algorytmem Minimax.

Wyniki eksperymentów pokazują, że przycinanie Alpha-Beta jest znacznie lepsze niż proste wyszukiwanie Minimax.

5 .2 Ocenapracawielokrotnynurkowaćisortowanieruchy

Aby ocenić jakość algorytmu, ten algorytm wyszukiwania z odcięcia ALFA-Beta i po prostu odcięcia alfa-beta jest porównywane doświadczalnie.

Podobne dokumenty

    Opis zasad gry "Battle morskie". Cechy nowoczesnych komputerów i sztucznej inteligencji. Tworzenie wspólnego diagramu bloku programu, jego wygląd. Wymagane zmienne, procedury i funkcje. Charakterystyka obiektów używanych w aplikacji.

    zajęcia, dodane 05.11.2012

    Rozwój oparty na grze "punkt" podejście do programowania "sztucznej inteligencji" w grach pozycyjnych i możliwości zastosowania tego podejścia do rozwiązywania problemów w dziedzinie ekonomii, zarządzania i innych regionów naukowych. Model sytuacji do gier.

    teza, dodano 07/21/2013

    Strukturalny diagram modułu oprogramowania. Opracowanie modułu oprogramowania i schematu interfejsu użytkownika. Wdrożenie modułu programu: Kod programu; Opis używanych operatorów i funkcji. Widok niestandardowej formy z wypełnioną matrycą.

    praca kursu, dodano 01.09.2010

    Badanie ogólnych zasad gry w warcaby, instrukcji obsługi i programista. Charakterystyka głównych algorytmów wykonujących zadania klasowe widgetów życia. Ocena ruchów komputera i człowieka. Budowanie drzewa wyszukiwania drzewa na podstawie oceny funkcji.

    egzamin, dodano 12/20/2012

    Główne etapy rozwoju, zasady testowania i debugowanie modułu Software VFS. Funkcje projektowania w UML. Metody "zgrubnej mocy" i ich zastosowania podczas debugowania programu. Szkodliwe czynniki obecne w miejscu pracy programisty.

    teza, dodano 03/07/2012

    Analiza modeli i metod wdrażania inteligentnych gier w systemie osoby robota. Środowisko rozwoju Choreographe. Algorytmy modułu rozpoznawania, przetwarzania danych, funkcji modułu gry. Testowanie pakietu oprogramowania, poprawiania i energii.

    teza dodana 12.08.2017

    Esencja i problem określenia sztucznej inteligencji, głównych zadań i funkcji. Problemy filozoficzne tworzenia sztucznej inteligencji i zapewnienie bezpieczeństwa ludzkiego podczas pracy z robotem. Wybór sposobu na tworzenie sztucznej inteligencji.

    egzaminowanie dodane 07.12.2009

    Program gier "warcaby" do gry między mężczyzną a komputerem. Rozwój algorytmów, historyczny rozwój zadań. Różne podejścia do systemów budowlanych. Skrócona lista programów i opisu algorytmu. Składniki sztucznej inteligencji.

    praca kursu, dodano 03/26/2009

    Budowanie i analizowanie modelu matematycznego gry. Określenie prawdopodobieństwa wykrywania statków o wszystkich możliwych lokalizacjach i różnych systemach wyszukiwania. Rozwój algorytmów do sztucznej inteligencji. Struktura programu i jego składników.

    zajęcia, dodano 12/22/2012

    Koncepcja sztucznej inteligencji jako właściwości automatycznych systemów do podjęcia poszczególnych funkcji ludzkiej inteligencji. Systemy eksperckie w dziedzinie medycyny. Różne podejścia do budowania sztucznych systemów inteligencji. Tworzenie sieci neuronowych.




Przedmiotem badań i cel rozwoju przedmiotu nauki "sztucznego intelektu" jest ludzkie myślenie. Naukowcy szukają odpowiedzi na pytanie: jak myśli człowiek? Celem tych badań jest stworzenie modelu ludzkiego intelektu i wdrożenie go na komputerze. Przedmiotem studiów "sztuczna inteligencja" jest ludzkim myśleniem. Naukowcy szukają odpowiedzi na pytanie: jak myśli człowiek? Celem tych badań jest stworzenie modelu ludzkiego intelektu i wdrożenie go na komputerze.


Przykładami regionów Istnieje wiele innych rodzajów działalności człowieka, której nie można zaprogramować z wyprzedzeniem. Na przykład: szachy i inne gry, pisanie wierszy i muzyki, tłumaczenie tekstów z jednego języka do drugiej, robotyki, przestępstwa (identyfikacja odcisków palców), diagnostyka medyczna. Istnieje wiele innych rodzajów działalności człowieka, której nie można zaprogramować wcześniej. Na przykład: szachy i inne gry, pisanie wierszy i muzyki, tłumaczenie tekstów z jednego języka do drugiej, robotyki, przestępstwa (identyfikacja odcisków palców), diagnostyka medyczna.


Nieformalnych programistów Systemów sztucznych inteligencji próbują nauczyć samochodu, jak osobę, niezależnie zbudować program swoich działań, w oparciu o warunki zadania. Nadal możesz powiedzieć: Celem obracania komputera z formalnego wykonawcy w artystce intelektualnym. Deweloperzy sztucznych systemów wywiadowczych po prostu próbują nauczyć samochodu, jak osobę, niezależnie zbudować program swoich działań w oparciu o warunki zadania. Nadal możesz powiedzieć: Celem obracania komputera z formalnego wykonawcy w artystce intelektualnym.








Modelowanie dwóch głównych zadań podczas tworzenia inteligentnych systemów na komputerze: dwa główne zadania podczas tworzenia inteligentnych systemów na komputerze: -Modelizacji wiedzy (opracowywanie metod formalizacji wiedzy do wprowadzania ich do pamięci komputerowej jako bazy wiedzy); -modelowanie wiedzy (rozwój metod formalizacji wiedzy do wprowadzania ich do pamięci komputerowej jako bazy wiedzy); - Modelowanie rozumowania (tworzenie programów komputerowych, które naśladują logikę ludzkiego myślenia podczas rozwiązywania różnych zadań). - Modelowanie rozumowania (tworzenie programów komputerowych, które naśladują logikę ludzkiego myślenia podczas rozwiązywania różnych zadań).


Systemy eksperckie są jednym z rodzajów sztucznych systemów inteligencji to systemy eksperckie. Jednym z rodzajów sztucznych systemów inteligencji to systemy eksperckie. Powołanie systemów ekspertów - konsultacje dla użytkowników, pomoc podejmowania decyzji. Powołanie systemów ekspertów - konsultacje dla użytkowników, pomoc podejmowania decyzji.

Kultura. Temat. Cand. Ped nauki. Rostov-on-don. 2003.

2.AZAROVA E.A. Niszczące formy edukacji rodzinnej, aktualne problemy współczesności, przestępstwa ostatnich czasów: aspekty duchowe i moralne i przestępstwa. - Rostov-on-Don: Wydawnictwo RGPU, 2005.

3.gabdreva GS. Główne aspekty problemu niepokoju w psychologii psychologii //. - 2004. - nr 8. - P. 9.

4.Nikolopov s.n. Problemy przemocy rodzinnej // Problemy psychologii. -2002. -Cie5-6.

5.Koluyko v.m. Psychologia rodziny w niekorzystnej sytuacji: książka dla nauczycieli i rodziców. - M.: Wydawnictwo Vlados-Press, 2003.

6.Sapar V.B. Praktyczna psychologia. Psychodiagnostyka stosunków między rodzicami a dziećmi. -Rostov n / d: Phoenix, 2006.

© Azarova E.A., Zhulin G.n., 2016

A.i. Alifiki

cand. Ped. Nauki, profesor RGSU, Moskwa, RF

I.V. Mikhailova Cand. Ped. Nauki, profesor RGSU, Moskwa, RF

"Sztuczny intelekt" w szachy

adnotacja

Artykuł omawia geneza korzystania z oprogramowania i sprzętu zdolnego do przeprowadzenia działalności intelektualnej porównywalnej z działalnością ludzką intelektualną.

Słowa kluczowe

Technologia komputerowa w szachach, programach szachowych, szachy.

Dziś, w ramach terminu "sztuczna inteligencja" (AI) jest rozumiana jako teoria tworzenia oprogramowania i sprzętu zdolnego do wykonywania działań intelektualnych porównywalnych z działalnością ludzką intelektualną. Podczas rozwiązywania zadań praktycznych, najczęściej używaj zadania z listy, biorąc pod uwagę, że jeśli system komputerowy jest w stanie rozwiązać te zadania, jest to system AI. Często lista ta obejmuje grę w szachy, twierdzenia, rozwiązywanie problemów diagnostycznych na oryginalnym niepełnym zestawie danych, zrozumienie języka naturalnego, zdolność do nauczania i samodzielnego badania, zdolność do klasyfikowania obiektów, a także możliwość wygenerowania nowych obiektów Wiedza na podstawie generowania nowych zasad i modeli regularyzacji wiedzy.

Jednym z najważniejszych problemów nowej nauki - Cybernetyka stała się problemem, jak poprawić zarządzanie, jak poprawić podejmowanie decyzji. Jeden z założycieli Cybernetyki K. Shannon (Shannon C.) zaproponował sformalizowanie i programowanie szachów do korzystania z komputera szachowego jako model do rozwiązania podobnych zadań zarządzania. Władza K. Shannon była tak wielka, że \u200b\u200bjego pomysły natychmiast oznaczały początek nowego kierunku naukowego. Pomysły K. Shannon były wykorzystywane w dziełach A. Tyurring, K. Tsuze, D. Prince.

Autor teorii informacji. K. Shannon, napisał: "Samochód szachowy jest idealny do rozpoczęcia od niego, ponieważ (1) Zadanie jest wyraźnie określone przez dopuszczalne operacje (ruchy) i ostateczny cel (mat); (2) nie jest zbyt proste Bądź trywialny, a nie za bardzo trudno jest uzyskać zadowalające rozwiązanie; (3) Uwierz, że szachy wymaga "myślenia" na umiejętną grę, rozwiązanie tego zadania doprowadzi nas lub na fakt, że podziwimy umiejętności Myślenie zmechanizowane lub ograniczenie naszej koncepcji "myślenia"; (4) dyskretna struktura szachów jest dobrze ułożona w cyfrowej naturze nowoczesnych komputerów. "

W przyszłości szachy stał się przedmiotem konkursu inteligencji naturalnej i sztucznej, a wiele meczów wiodących światowych graczy szachowców zagrali na komputerach. W 1995 r. W wywiadzie z popularnym magazynem przewodowym G.K. Kasparov przedstawił swój widok na grę w szachy: "Szachy nie jest matematyką. Jest to fantazja i wyobraźnia, jest to ludzka logika, a nie gra z przewidywalnym wynikiem. Nie sądzę, aby teoretycznie gra w szachy może być pasują do Zestaw formuł lub algorytmów. " Dwa lata później głębokie niebieski superkomputer, pokonując 13. mistrz świata G. Kasparov w meczu zemsty z sześciu imprez, usunął kwestię możliwości sztucznej inteligencji szachowej z porządku obrad. Głęboka Niebieska utrzymywana w pamięci pełna baza danych we wszystkich stronach i przeanalizowała obliczenie strategii. Po meczu G.K. Kasparov zmienił swój punkt widzenia, uznając, że: "Szachy jest jedynym polem, na którym intuicja ludzka może porównać i zdolności twórcze z siłą i maszyną". Mecz zmienił rozwój zarówno klasycznych, jak i komputerowych szachy. System szkoleniowy stał się szeroko stosowany przez pomoc sztucznej inteligencji. Di. Bronstein w swojej książce "David vs. Goliat" (2003) napisał: "Botvinnik wierzył, że szachy jest sztuką analizy, a czas samotnych improwizatorów takich jak Andersen, Morphy, Zuckers poszedł na zawsze. Patrząc na nowoczesne szachy, musisz przyznać że botvinnik miał rację. "Chłopcy komputerowe" przyniosły pomysł na potrzeby analizy domowej do absurdu. Nawet nie ukrywają, że przerzedzą opcje debiutów do wyraźnego wyniku. W turnieju w Linares (2000) Węgry LEKO bez Cień zażenowania uznał, że cała impreza z Ananda stała na swoim komputerze! ".

Lista referencji:

1. Alifires A.I. Profesjonalne prowadzenie pracy w szkołach średnich za pomocą szachów / otybów A.I. // Problemy rozwoju nauki i edukacji: teoria i praktyka. Kolekcja prac naukowych w oparciu o materiały międzynarodowej konferencji naukowej i praktycznej w dniu 31 sierpnia 2015 r.: W 3 częściach. Część druga. M.: "Ar-Consult", 2015 - P. 13-14.

2. Mikhailova I.v., Alifires A.I. Taktyczne działania szachów / Mikhailova I.v., Alifires A.I. // Wyniki zbierania badań naukowych artykułów międzynarodowej konferencji naukowej i praktycznej. Odpowiedzialny redaktor: Sukisyan Asatura Albertovich (15 lutego 2016 r.) W 4 godzinach. H / 3 - UFA: Aerna. -2016.S. 119-121.

3. Mikhailova I.v., Alifires A.I. Teoretyczne i metodologiczne fundamenty metody myślenia przez schematy szachów / Mikhailova I.v., alifires A.I. // Wyniki zbierania badań naukowych artykułów międzynarodowej konferencji naukowej i praktycznej. Odpowiedzialny redaktor: Sukisyan Asatura Albertovich (15 lutego 2016 r.) W 4 godzinach. H / 3 - UFA: Aerna. - 2016. P. 123-125.

4. Mikhailova I.v. Przygotowanie młodych wysoko wykwalifikowanych szachowców za pomocą komputerowych programów szachowych i "Internet": autora. dez. ... Cand. Ped. Nauki: 13.00.04 / Mikhailova Irina Vitalevna; Rgufk. - M., 2005. - 24 p.

© alifires A.I., Mikhailova I.v., 2016

UDC 378.046.2.

A.i. Alifiki

Ph.D., profesor nadzwyczajny Rsu, Moskwa, RF V.V. Fedchuk, Ph.D.

LLC "Dobrobyt", Starszy Instruktor Metodysta, Moskwa, Badanie RF na poziomie zdrowia fizycznego młodzieży

adnotacja

W artykule omówiono problem zdrowia fizycznego młodzieży i wpływ różnych czynników