Aleks855 skrev:Dette gjør (i min mening) at det ikke finnes noe beste-trekk, fordi det krever at motspilleren til enhver tid gjør SITT beste-trekk. Hvis han ser at du vinner den, så kan han gjøre et ikke-beste-trekk, så er man tilbake på å spille fra evner, og ikke minne fordi det er helt uaktuelt at en person memoriserer to eller flere perfekte partier med alle beste-trekk for begge spillere.
Der er jeg uenig. Ihvertfall om vi har samme definisjon på "beste trekk".
"Beste trekk" kan vel ses på som et lokalt eller globalt problem.
I det lokale problemet har du en eller annen evalueringsfunksjon $f$ som tar en sjakkposisjon som input og gir tilbake et reellt tall, som et mål på "hvor god er denne posisjonen for meg?". Det beste trekket er det som maksimerer denne funksjonen. Dette er i prinsippet lett å utføre hvis man har en grei måte å evaluere $f$ på.
Vi kan se på "tilstandsrommet" til sjakk som et tre som begynner i startposisjonen, og hvert mulige trekk fra en gitt posisjon starter en ny gren. La oss si at treet "over" en posisjon $p$ består av alle posisjoner som kan nås fra $p$ (Dette kalles filteret utspent av $p$ i ordenteori).
Det lokale problemet kan gjøret til et globalt problem ved å la $f(p)$ være en funksjon av hele treet over $p$. Dvs. du må ta hensyn til alle mulige mottrekk fra motspilleren, samt alle dine mulige resulterende trekk, etc., i motsetning til det lokale problemet, der vi kun der på treet ett nivå over $p$.
Vi kan selvfølgelig lage "semi-lokale" evalueringsfunksjoner $f_n(p)$ som tar hensyn til treet $n$ nivåer over $p$. Hvis vi har en lokal evalueringsfunksjon $f$, kan vi iterere denne for å lage en semilokal funksjon, eller en global funksjon hvis du ikke bryr deg om regnetiden. Det vanskelige er å lage en god evalueringsfunksjon. Det er tross alt ikke lett å beskrive noe så komplekst og nyansert som en sjakkposisjon med ett enkelt tall. Man må ta hensyn til både taktiske bidrag og strategiske bidrag. Begge implementasjonene er høyst ikketrivielle.
Moderne sjakkmaskiner maksimerer semilokale evalueringsfunksjoner når de utfører trekk. Krav til regnetid osv. setter selvfølgelig grenser for hvor nøye datamaskinen kan lete gjennom tilstandsrommet, og mye forsking går ut på nettopp å optimalesere søketiden ved hjelp av ulike heuristikker.