|
Z logicznego punktu widzenia szachy są grą mało skomplikowaną - reguły są ściśle określone i stosunkowo proste. Takie gry logiczne jak z pozoru są tylko proste do pewnego poziomu. Rozgrywając partię szachową można więc stosować następującą strategię: rozważamy wszystkie swoje posunięcia, następnie posunięcia przeciwnika i tak na zmianę, aż uzyskany zostanie jeden z trzech rezultatów - remis, wygrana lub porażka. Niestety liczba pozycji przewijająca się przez tego typu ,,siłowe" podejście jest tak duża, że dzisiaj żaden komputer, więc tym bardziej człowiek, nie jest w stanie jej ogarnąć. Wiadomo jednak, że sposób myślenia szachistów przebiega nieco inaczej i jest zależny od siły gry. Generalnie polega to na tym, że przeglądane są szczegółowo tylko posunięcia najbardziej obiecujące (subiektywny czynnik oceny pozycji), na zmianę dla białych i czarnych, z głębokością kilku (kil- kunastu) ruchów do przodu. Tego typu strategii przeszukiwania komputer trzeba nauczyć i w tym jest największy problem.
Każdy program szachowy powinien się składać, z grubsza mówiąc, z następujących funkcjonalnych części:
o sprawdzającej poprawność wykonywanych posunięć,
o oceniającej aktualną pozycję,
o zapamiętującej uzyskaną wiedzę na temat pozycji.
Opis każdej z części wymaga odpowiedniej reprezentacji figur, pozycji oraz wiedzy na ich temat w języku zrozumiałym dla komputera. Taka reprezentacja nie jest wygodna dla człowieka, ale dla maszyny jest niezbędna, gdyż potrzebuje ona dokładnej, formalnej definicji rzeczywistości, w której ma się poruszać.
|
|