Jeśli komputer był w stanie ocenić każdą linię gry aż do końca gry, ocena nigdy się nie zmieni. Rzeczywiście, ocena każdego ruchu byłaby albo „wygrana”, „przegrana” lub „remis”. Zasadniczo dzieje się to w bazach tabel gier końcowych. * Gdyby komputery mogły to zrobić dla każdej pozycji, każda gra przeciwko komputerowi składałaby się z rezygnacji komputera bez wykonania ruchu, oferując remis na pozycji początkowej lub zirytowania, że nie zrezygnowałeś lub nie zaakceptowałeś tej oferty losowania.
Jednak komputery nie mogą ocenić tak daleko, ponieważ zajęłoby to niemożliwie długo, zarówno dlatego, że gry mogą być bardzo długie (w zasadzie setki ruchów), a także dlatego, że przy każdym ruchu istnieje wiele możliwości. Komputery muszą więc mieć wiele skrótów. Obejmuje to próbę szybkiego odgadnięcia, jakie są najważniejsze ruchy kandydata (zabranie niechronionego elementu jest prawdopodobnie świetnym ruchem; zawieszenie twojej królowej jest prawdopodobnie okropnym ruchem; ...), a także zatrzymanie poszukiwania po kilku ruchach i użycie heurystyki zamiast więcej szukać, aby dowiedzieć się, czy wynikowa pozycja wygląda dobrze, czy nie.
Problem polega na tym, że te skróty mogą pójść nie tak. Komputer może uznać, że zawieszenie kawałka jest złe, gdy jest to naprawdę genialna ofiara. Może zdecydować, że pozycja ustabilizowała się, a tak naprawdę nie. Może po prostu nie mieć wystarczającej mocy, aby spojrzeć wystarczająco daleko w przyszłość, aby zobaczyć prawdziwy punkt konkretnego ruchu.
Oto prosty przykład, choć nie jest już bardzo realistyczny. Załóżmy, że masz zamiar mnie matować, ale mam serię dziesięciu czeków, które mogę zrobić, aby cię opóźnić. Jeśli spojrzę tylko dziesięć ruchów z góry, pomyślę, że sobie radzę: może nawet jestem pionkiem w górę, więc oceniam: „Po dziesięciu ruchach wciąż jestem pionkiem w górę, więc jestem dobry , Zdobądź +1 "Zagrywam mój pierwszy czek, odpowiadasz, a teraz widzę, że jest on za dziesięć i rezygnuję. Jest to tak zwany „efekt horyzontu”, którego współczesne programy próbują uniknąć (np. Patrząc głębiej wzdłuż linii, które mają wiele wymuszonych ruchów), ale ilustruje to ogólną zasadę.
Jeśli silnik widzi, powiedzmy, dziesięć ruchów w przyszłość, oznacza to, że wraz z każdym ruchem wykonuje się dalsze kroki w grze. W początkowej pozycji może zobaczyć, jak będzie wyglądać plansza przy ruchu 10; po jednym ruchu widać ruch 11 i tak dalej. (Ponownie, jest to uproszczenie, ponieważ komputery nie wyglądają obecnie na stały dystans w przyszłość, ale daje ogólny pomysł).
Podany przez ciebie przykład jest po prostu mniej dramatyczną wersją przykładów, które podałem. W miarę wykonywania większej liczby ruchów komputer może zagłębić się w grę, dzięki czemu może dokonać dokładniejszej oceny. Innym sposobem na dostrzeżenie tego jest informacja: im więcej ruchów jest odtwarzanych, tym więcej informacji ma komputer. Kiedyś zgadywałeś, jaka byłaby twoja odpowiedź na 1.e4, ale teraz wie, że grasz na Sycylii i tak dalej.
* Istnieje tutaj niewielka niuans, że tak naprawdę musisz policzyć liczbę ruchów do wygranej, aby uniknąć powtarzania pozycji. Rozważmy na przykład grę końcową KQ kontra K. Każdy ruch, który nie pateluje ani nie poddaje się królowej, wygrywa, więc potrzebujesz mechanizmu, by podążać w stronę mat, zamiast tylko losowego poruszania się i mówienia: „Wow, całkowicie idę wygrać - prawie każdy ruch wygrywa! ”