282
Rozdział 12, Czy komputery mogą myśleć?
przewyższa najbardziej nawet złożony komputer. Pamiętajmy jednak, że wcale nie jest powiedziane, iż za kilka lat nie powstanie technologia, która pozwoli skonstruować ideowy odpowiednik ludzkiego mózgu i nauczyć go rozwiązywania problemów niedostępnych nawet dla człowieka!
Proszę traktować ten rozdział jedynie, jako zachęcający wstęp do dalszego studiowania bardzo rozleglej dziedziny sztucznej inteligencji. Bardzo polecam lekturę [Nil82], na rynku polskim jest również dostępne ciekawe opracowanie [BC89] dotyczące metod przeszukiwania, odgrywających tak istotną rolę w dziedzinie sztucznej inteligencji.
Najważniejszym bodajże zagadnieniem przy pisaniu programów „inteligentnych” jest właściwe modelowanie rozwiązywanego zagadnienia. Przykładowo, pisząc program do giy w szachy, musimy sobie zadać następujące pytania:
• Jaki język najlepiej się nadaje do naszego zadania?
• Jakich struktur danych należy użyć do reprezentowania szachownicy i pionków?
• Jakich struktur danych należy użyć do reprezentowania loku myślenia gracza?
Są to pytania niebagatelne i czasami od odpowiedzi na nie zależy możliwość rozwiązania danego zadania!
Przykład:
Dysponujemy szachownicą 3x3, na której chcemy zamienić miejscami „koniki” białe z czarnymi (patrz rysunek 12 - 1). Możliwe ruchy konika znajdującego się na pozycji o numerze S są przedstawione przy pomocy strzałek.
• |
i |
[• |
3 |
4 |
SN |
0 |
J7_ |
0 |
Rys. 12-1.
Problem konika szachowego (I).
Reprezentacja zadania w tej postaci, w jakiej jest przedstawiona na rysunku, wcale nie ułatwia nam rozwiązania: nie widać klarownie jakie aichy są dozwolone.