Podobne pytanie pyta, czy komputer może nauczyć się grać optymalnie w szachach analizując tysiące gier.
Jeśli maszyna może sprawdzić stan planszy na kilka gier w szachy (lub kilka gier w warcaby) na początku i po każdym ruchu, czy można ją zaprogramować do nauki zasad gry?
Jeśli tak, to w jakim stopniu (np. Czy byłby w stanie wziąć pod uwagę castling lub promocję), czy to zadziałałoby? Jakie algorytmy uczenia maszynowego umożliwiłyby to?
On the 8th turn the knight may not turn right.
On a sunny day the pawns may jump over bishops.
Komputer nie może powiedzieć, dlaczego ten pionek nie poruszał się w określonym momencie. Może istniała reguła, by nie poruszać się w tej konkretnej sytuacji. Dlatego komputer powinien być w stanie odtworzyć tylko podobne (właściwie dokładne) wzorce, ale nigdy nie będzie w stanie wydedukować reguł ze 100% pewnością.On a sunny day the pawns may jump over bishops.
jeśli nigdy mu tego nie pokazałeś.Odpowiedzi:
Z pewnością nie dla kilku gier w szachy; musisz przeanalizować niewiarygodnie dużą ich liczbę, aby powstrzymać się od wykonywania nieprawidłowych ruchów. Ile nie wiem; problem ten należy do obszaru teorii uczenia obliczeniowego, uczenia się PAC i problemu uczenia się na granicy .
Algorytmy klasyfikacji sugerowane przez inne plakaty mogą być w stanie dyskryminacyjnie nauczyć się zasad szachowych: biorąc pod uwagę dwie konfiguracje planszy, mogą odpowiedzieć „tak” lub „nie” na pytanie, czy prawidłowy ruch przekształca jeden w drugi. Z pewnym wysiłkiem można je również wykorzystać do generowania ruchów. Będą jednak wtedy generować tylko ruchy, które widzieli w grach, w których zostali przeszkoleni, lub kombinację ruchów prawidłowych i nieprawidłowych, każdy z wynikiem określającym prawdopodobieństwo, że uważają dany ruch za niewłaściwe reguły mam nadzieję, że dostanie bardzo małe prawdopodobieństwo.
(Tj. Albo program nie rozpoznaje niektórych ważnych ruchów, którymi może dysponować; możesz być w stanie oszukiwać, nie zauważając tego; albo będziesz musiał trenować tak długo, aby stracić zainteresowanie grą.)
Aby poznać techniki, które potrafią nauczyć się zasad, sprawdź programowanie logiki indukcyjnej i programowanie genetyczne . Nie jestem pewien, czy ktokolwiek kiedykolwiek próbował zastosować je do nauki gry w szachy; ponieważ reguły szachowe są ustalone, o wiele bardziej interesujące (nawet dla środowisk akademickich) jest budowanie dobrych programów szachowych niż tych, które muszą uczyć się podstawowych zasad od zera.
źródło
Zasady gry w szachy są dość złożone, a niektóre bardzo rzadko wykonywane w grze.
Na przykład zasada en passant . Ile gier musisz obserwować, aby wywnioskować, że dozwolony jest tylko pierwszy ruch po ruchu dwustopniowym?
Inny przykład. Kwadrat b można atakować podczas długiej roszady. Ile gier widzisz, gdzie to się dzieje?
Innymi słowy, będziesz potrzebował wielu, wielu gier, aby poprawnie wyprowadzić wszystkie reguły.
Być może jednak Google znajdzie „chmurkę” pełnego archiwum gier szachowych „wkrótce” ...
źródło
Tak i nie
Nie jestem pewien, czy pytasz, czy można nauczyć się zasad gry w szachy za pomocą uczenia maszynowego / sieci neuronowych, czy też można trenować maszynę do gry w szachy na poziomie „wielkiego mistrza”.
Korzystając z nich, z pewnością możesz nauczyć komputer zasad i pewnego poziomu szachów. Nie sądzę jednak, aby można było z niego korzystać na wyższym poziomie. Informatyka do tej pory nie zdołała wyprodukować maszyny, która „rozumie” szachy z pozycyjnego / intuicyjnego punktu widzenia. Wszystkie obecne komputery szachowe korzystają z obszernej bazy danych, obliczeń brutalnej siły i ewentualnie uczenia maszynowego.
Zgadnij, czy zależy to od tego, czy liczysz, że korzystasz z referencyjnej bazy danych jako oszustwo, czy nie :) Trudno też stwierdzić, czy naprawdę potrafisz oddzielić wiedzę od wielu gier od bycia w tym dobrym. Ludzie, którzy są dobrzy w szachach, są dobrzy właśnie dlatego, że widzieli tyle gier, do których odwołuje się część mózgu, która zazwyczaj rozpoznaje twarze. Z tego przypomnienia wydaje się, że ludzcy szachy są w stanie rozwinąć „intuicję” siły pozycji.
źródło
Jak napisano w wielu komentarzach, jest to niemal filozoficzne pytanie dotyczące definicji „uczenia się”. Większość programów sztucznej inteligencji polega na ustalaniu racjonalnych rozwiązań. Biorąc pod uwagę wystarczającą ilość danych, program do nauki szachów ai określi listę ruchów, które można racjonalnie wykonać w określonych sytuacjach. Nie oznacza to, że zna zasady gry w szachy, po prostu rozumie, które ruchy są korzystne, a które nie. Nawet jeśli zestaw danych obejmuje graczy wykonujących nielegalne ruchy, nielegalny ruch spowoduje natychmiastową stratę, więc ai zignoruje go i nigdy nie użyje tego ruchu, ponieważ nigdy nie jest to korzystne.
Nie ma znaczenia, czy używane są sieci neuronowe, algorytmy ewolucyjne, czy jakikolwiek inny algorytm uczenia się, ai nigdy nie może wyraźnie nauczyć się reguł na podstawie oglądania czegoś, może jedynie ustalić listę racjonalnie korzystnych opcji.
źródło
Jeśli myślisz o regułach szachowych jako o silniku fizyki gry, a prawach fizyki jako o stałych i nieugiętych przyjętych regułach wszechświata, pomyśl o tym, jak mało rzeczywistych „praw” istnieje w naszym wszechświecie naturalnym. TWORZENIE twardej i szybkiej ZASADY jest BARDZO trudne, jeśli nie niemożliwe, ale możemy opracować szereg sprawdzonych i zaakceptowanych teorii na określony moment.
MOŻE BYĆ możliwe, zakładając, że komputer obserwuje i rejestruje ruchy, ale NIE czyni bezpośrednich stwierdzeń dotyczących prawidłowych ruchów.
Na przykład obserwowałby pionka poruszającego się o jeden kawałek do przodu i wysuwał nowe hipotezy, że wszystkie pionki mogą poruszać się tylko o jedno pole do przodu, a drugi, że pionek może poruszać się tylko o jedno pole do przodu. Będzie tworzyć tyle restrykcyjnych hipotez, ile to możliwe, dopóki nie pojawi się następny ruch, a wiele z nich można rzucić naszym lub uczynić bardziej liberalnymi.
Ostatecznie po tylu ruchach będziesz miał zestaw solidnych teorii, ale będzie to żywy zestaw danych stale zbliżający się do 0, ale nigdy go nie osiągający.
Odpowiedź brzmi: komputer może zgadywać, ale na pewno (EDYCJA: NIE) z pewnością zna reguły.
źródło
Teoretycznie - tak, może. Może nawet zostać arcymistrzem w szachach. Odpowiedź, której szukasz, to sieci neuronowe . Sieci neuronowe to w zasadzie to samo, co dzieje się w naszym mózgu. Co więcej, biorąc pod uwagę doskonale (odczytywaną - niemożliwie idealną) zaprojektowaną sieć neuronową i doskonały sprzęt - może nauczyć się wszystkiego, czego człowiek może się nauczyć w ten sam lub nawet lepszy sposób.
Przeczytaj więcej na ten temat:
źródło
Wydaje mi się, że może nauczyć się ruchów, które może wykonywać tylko poprzez analizę, ale w jaki sposób może nauczyć się ruchów, których nie wolno wykonywać? Na przykład pionek nigdy nie przesuwa się o jedno pole do przodu, gdy przed nim stoi element przeciwny. Skąd komputer wie, czy dzieje się tak z wyboru gracza, czy nie wolno tego robić? Możesz wymyślić jakiś algorytm, który mówi, że jeśli 99,99% czasu lub dłużej wydarzenie się nie wydarzy, oznacza to, że nie możesz tego zrobić, ale może to być również 99,99% czasu, który jest uważany za zły ruch, ale w 0,01% przypadków wygrywa ten ruch. Tak więc, moja odpowiedź brzmi: nie, nie może nauczyć się wszystkich zasad po prostu analizując gry, ale prawdopodobnie może nauczyć się wystarczająco dużo, aby grać w grę.
źródło
To jest pytanie filozoficzne. Równie dobrze możesz zapytać, czy dana osoba może nauczyć się grać w szachy, obserwując ludzi podczas gry w szachy. W rzeczywistości jest to w zasadzie to samo pytanie, jakie zadaje Nelson Goodman w swojej wielkiej książce Fakt, fikcja i prognoza : w jaki sposób możemy przejść od skończonego zestawu już poczynionych obserwacji do przewidywania przyszłych obserwacji. Dotychczasowe obserwacje byłyby obserwowanymi ruchami szachowymi, a przyszłe obserwacje byłyby wszystkimi ruchami szachowymi, które jeszcze się nie wydarzyły. Pytanie brzmi: czy istnieje związek nomologiczny między obserwacjami z przeszłości a obserwacjami w przyszłości (w przeciwieństwie do czysto przyczynowego związku między przeszłymi wydarzeniami a przyszłymi wydarzeniami)?
Jeśli interpretujemy słowo nomologiczne jako przez prawo natury lub logiki i nic nigdy nie może się wydarzyć w sprzeczności z tym prawem , to z pewnością nie ma takiego związku, ponieważ pierwsza osoba, która porusza zamkiem po przekątnej, złamałaby prawo natury i wszechświat, jaki znamy, upadłby.
Ale nawet jeśli w rzeczywistości przez jakiś dziwaczny wypadek natury, każdy ruch, który wykonałby każdy szachista na świecie, byłby ważny (nikt nigdy nie popełniłby żadnych błędów ani nie próbowałby oszukiwać, a nawet ludzie nie mieli pojęcia o regułach szachowych zaczną pchać szachy losowo po planszy, ale przypadkowo zawsze zgodnie z zasadami), co nie przekonałoby nas, że istnieje prawo natury (lub prawo logiki), które wymusza to wszystko. Uznalibyśmy to za przypadkowe.
Ludwig Wittgenstein opisał podobny grunt w swoich badaniach filozoficznych . Podkreśla, że każdy zestaw obserwacji jest zgodny z dowolnie wieloma, a nawet sprzecznymi zasadami. Na przykład, jeśli wszystkie obserwowane przeze mnie szachy miałyby miejsce po południu, to moją zasadą może być po południu, że biskupa można przenosić tylko po przekątnej . To, że pora dnia jest nieistotna dla gry, jest czymś, czego nie mogłem zaobserwować, ponieważ nie widziałem szachów w różnych porach dnia. Lub, nawiasem mówiąc, jeśli nigdy nie widziałem kobiety grającej w szachy, zasadą może być to, że biskupa mogą poruszać tylko mężczyźni. Co jest istotne dla obserwacji, a co nie jest określone jako warunek wstępny obserwacji i nie może być częścią samej obserwacji.
BTW: Rozwiązanie problemu Wittgensteina jest dość podobne do rozwiązania Goodmana. Nie zepsuję jednak niespodzianki
;-)
Uzupełnienie:
źródło
Nie
Ponieważ zwyczajne uczenie się wzorców (za pomocą którejkolwiek metody) nie jest tym samym, co „uczenie się optymalnego grania w szachy”.
Wymaga to planowania i strategii, co bardzo różni się od zwykłego uczenia się ustalonych wzorców.
źródło