Bun instinct venind aici. Avertisment corect, nu știu ce este acest joc, dar. Lăsați jucătorul să trăiască la $(p_x, p_y)$ iar AI trăiește la $(a_x, a_y)$. Și presupunem o grilă de 10 pe 10 celule.
Astfel, există 100 de poziții posibile per jucător, și deci 10.000 de combinații posibile ale celor doi jucători.Presupun că AI poate fi deasupra jucătorului, altfel ai avea 10.000 - 100 de combinații posibile dacă nu pot partaja o celulă.
Pentru toate jocurile, precalculați $H(p_x||p_y||a_x||a_y)$, și, de asemenea, distanța Manhattan $D$ între $(p_x, p_y)$ și $(a_x, a_y)$. $H$ este o funcție hash criptografică. Sugerez SHA-1 deoarece valorile hexazecimale de 40 de caractere nu sunt prea lungi pentru căutarea manuală. Fel $H$ în ordine numerică pentru a ușura și mai mult căutarea. Apoi publicați $(H, D)$ perechi într-o carte groasă. Cu 50 de hasheuri pe pagină, înseamnă ~200 de pagini.
Când AI sau jucătorul se mișcă, „jocul” iese $H$ care poate fi căutat în cartea groasă pentru a obţine $D$. Nu ai vrut stocare digitală, altfel jocul ar putea doar să calculeze și să iasă $D$ direct. Jucătorul va ști distanța, dar inversarea este imposibil din punct de vedere computațional $H$ pentru a obține poziția AI fără forțare/trișare brută. Această tehnică permite, de asemenea, recalcularea unilaterală a $(H, D)$ perechi dacă este necesar pentru a audita procesul și a preveni înșelăciunea.
Acest lucru ar trebui să fie realizabil pentru o placă de 10 pe 10, dar în mod clar devine ridicol pentru cele mult mai mari.
Notă 1: Fiți conștienți de granularitatea unei plăci de 10 pe 10. Din moment ce vă cunoașteți propria poziție, oricare $D$ creează un cerc de locații potențiale ale AI în jurul jucătorului. Dacă calculul distanței s-a bazat pe centrele celulelor, doar câteva celule se vor potrivi exact $D$. Deci, există o scurgere de informații poziționale. Această slăbiciune nu este o caracteristică exclusivă a soluției mele, ci matematica și grila mică.
Nota 2: Comentariu de inversare. Da, ați putea să vă creați o carte de coduri și să le găsiți pe toate $H$ preimagini. Asta e insa inselat. Dacă a existat un arbitru independent imparțial pentru joc, un dungeon master (???) dacă vrei, ai putea adapta hash-ul ca $H = \text{SHA-1}(p_x||p_y||a_x||a_y||piper)$ unde ardeiul este cunoscut doar de arbitru. Acest lucru ar facilita totuși auditul în timpul unei dispute.Ar putea AI să țină ardeiul dacă ai încredere în el pentru a juca un joc corect?
Nota 3: Ar trebui să fie posibilă statistic trunchierea $|H|$ de la 40 de caractere hexazecimale la mult mai puțin. 10.000 de combinații ocupă doar 14 biți. Dacă alegem un nivel de securitate al poziției de joc de încă 10.000, am putea folosi 28 de biți pentru hashurile publicate. Aceasta ar fi publicată ca șapte caractere hexazecimale; opt dacă vrei perechi. Și, prin urmare, mai puține pagini.