Není vůbec třeba přenášet celou šachovnici ani všechny tahy, stačí přenášet jeden tah. Pak stačí mít jednu globální šachovnici a seznam tahů.
var sachovnice;
var seznamtahu;
procedure jedentah(tah);
begin
udelejtah(tah);
if hodnocenipozice > starehodnoceni
then ulozit seznam tahu
//pro vsechny mozne odpovedi soupere udelat
jedentah(tah_odpoved_soupere)
vratjedentahzpatky;
end;
Ohodnocení pozice je tak složité, že náklady na přenášení v podstatě jakýchkoli dat jsou vedle toho zcela zanedbatelné. Třeba jen zjišťování, jestli není šach. A vyhledání všech přípustných odpovědí soupeře. A potom rozhodování, jestli variantu ukončit nebo ještě pár tahů pokračovat.
// edit na tah stačí jeden word - byte odkud a byte kam