Friendly Chess (Programul Prietenos de Şah) - Utilizare

 

  1. Introducere

 

Şahul programat a apărut după anul 1950 când au fost create primele calculatoare capabile să gestioneze o aplicaţie complexă precum este şahul programat. Deja în anii 1970 existau campionate de programe de şah, iar în anii 1980 au apărut campionate de roboţi de jucat şah.

 

      La început, jocul calculatoarelor era modest, însă, cu timpul, ca urmare a creşterii performanţelor calculatoarelor, dar şi a muncii asidue a unor echipe de programatori renumiţi, programele de şah au început să joace la fel de bine ca maeştrii de şah.

 

      După anul 2000, a apărut şi minunea, s-a putut crea un program de şah (BLUE DEPTH - rulat pe un supercomputer care făcea miliarde de mutări pe secundă) să bată, în premieră pe Kasparov, campion mondial de şah en titre la acea vreme.

 

      S-a întâmplat însă şi fenomenul că, odată cu atingerea performanţei maxime a programelor de şah, cea a câştigării unei dispute în faţa unui campion mondial de şah, programarea şahului, la fel şi dezvoltarea de roboţi de jucat şah, să intre într-un con de umbră, astăzi lumea se preocupă din ce în ce mai mult de alte aplicaţii pe calculator, şi mai puţin de jocul de şah pe calculator.

 

      De ce se întâmplă acest lucru ? Din cauza că, creatorii de programe de şah au uitat de unde au plecat, au uitat pentru ce a fost inventat şahul. Ei au cautat, mai degrabă, să învingă campionul mondial de şah, uitând că 99% din populaţie nu poate juca cu acele programe, din cauză ca sunt prea puternice pentru ei.

 

      Întradevăr, şahul fost inventat în India, care apoi a fost perfecţionat continuu, de arabi, dar şi în Europa, constituind timp de secole cea mai curată preocupare intelectuală.

 

      Pe lângă o petrecere placută a timpului, şahul este o preocupare care dezvoltă intelectul copiilor şi al adulţilor, face ca ei să gândească mai temeinic, să nu acţioneze impulsiv la condiţiile exterioare, ci să reflecteze temeinic la calea cea mai bună de urmat, să prevadă ce se întâmplă cu o afacere care evoluează după o succesiune de multe evenimente.

 

      Acest program, după cum spune şi numele lui “Friendly Chess - Program Prietenos de Şah”, este destinat, în primul rând, să redea şahul ca o plăcere de joc pentru toţi, pentru fiecare copil, sau fiecare adult, care să-şi găseasca posibilitatea să caştige în faţa calculatoarelor performante chiar când de abia învaţă şah. E mai placut să învingi un calculator care e prieten cu tine, decât să joci cu un program superpeformant pe care să nu-l poţi învinge niciodată.


  1. Cum se instaleaza programul de şah

 

 

 

Friendly Chess.zip, odată procurat de pe internet sau pe un CD, are nevoie de circa 500Mb de spaţiu pe disc, de un calculator cu cel putin 128 Mb de memorie, cu un procesor oarecare, dar cu cât procesorul este mai rapid, cu atât programul gândeste mai repede. În fine, e de preferat ca ecranul sa fie color, setat pe rezolutia de 1024 x 768, sau altele cu care tabla este patrata, pixelii să aibă 32 biţi culoare. Cam toate calculatoarele care se vând astazi au aceste caracteristici.

 

Copiati intr-un director dorit continutul ZIP-ului, apoi alegeti fisierul « Friendly Chess.exe » şi creaţi un shortcut pe ecran.

 

  1. Prezentarea ecranului Programului Prietenos de Şah

 

Odată lansat, Programul Prietenos de Şah afişează un ecran de joc, cu toate piesele puse în poziţia lor iniţiala, aşteptând doar ca Dvs. să faceţi prima mutare. Mutarea Dvs este indicată calculatorului cu ajutorul mouse-ului, făcând “click” în pătratul de unde se mută o piesa, iar apoi “click” în pătratul în care trebuie mutată o piesă.

      Dacă mutarea este incorecta, programul emire un “beep” sonor, şi trebuie să indicaţi încă odată mutarea corecta.

      Dacă mutarea este corectă, acea mutare este afişată pe ecran. Acum Dvs trebuie să aşteptaţi răspunsul calculatorului, care poate veni imediat, în aceiaşi secundă, sau după mai multe secunde, sau mai multe minute de aşteptare, funcţie de timpul ales de gândire. NU DAŢI ALTĂ MUTARE PÂNĂ NU RĂSPUNDE CALCULATORUL.

 

 

Figura 1. Ecranul principal al Programului Prietenos de Sah.

 

După cum se vede în acestă figură, pe ecran sunt afişate mai multe zone: zona tablei de şah, zona butoanelor de opţiuni, zona de mutări efectuate, zona de comenzi în timpul jocului, zona de rezumat al gîndirii calculatorului, şi, jos de tot, zona de piese luate în timpul partidei.

 


a)      Zona de opţiuni:

 

Figura 2. Opţiunile Programului Prietenos de Şah.

 

În acestă zonă a ecranului Programul Prietenos de Şah oferă posibilitatea  să alegeţi parametrii de joc care vi se potrivesc cel mai bine, ca să reuşiţi să câştigaţi în faţa calculatorului. Dar să explicam semnificatia acestor “başi ca de acordeon”. Faceţi “click” pe unul din aceste butoane pentru a vă alege opţiunile.

 

Nivelul şahist - este nivelul Dvs de pregătire şahistă. Primele nivele 1,2,3 sunt pentru cei care învaţa să mute şi se chinuie să-i ia  calculatorului piesele ca sa-i dea mat. Calculatorul este foarte prietenos la aceste nivele, nu vă penalizează pentru orice greşeală, încât vă oferă placerea să găsiţi drumul spre mat, când regele advers este înghesuit şi nu mai poate muta. Pentru următoarele nivele 4,5,6  calculatorul va solicită să fiţi din ce în ce mai atent, şi mai pregatit în şah, ca să-l învingeţi. În fine, ultimele nivele 8,9,T sunt pentru jucători versaţi, care gresesc rar, având deja calificare de jucator de şah. La nivelul 9 calculatorul nu vă mai face nicio concesie, se va lupta cu toate cunoştinţele programate, ca să vă învingă.

 

Nivelul de timp – Deşi, în şah, cu cât gândeşti mai mult, cu atât jocul tău este mai bun, totuşi, un jucator începător, chiar dacă gândeşte 3 minute la o mutare, nu va găsi mutări la fel de bune ca un maestru de şah care gândeşte doar o secundă. Deci, noţiunile “nivelul şahist” şi “timpul de gândire” nu sunt unul şi acelaşi lucru. Acest fapt este valabil chiar şi pentru programe de şah, un program slabuţ, chiar dacă va gândi o ora la fiecare mutare, tot nu va scoate mutări pe care alte programe ultra performante le vor scoate într-o secundă.

            Nivelele 0,1,2,3 sunt fracţiuni de timp din ce în ce mai mari, insesizabile pentru om, sunt însă diferite intre ele, oferă puteri de gândire sporite calculatorului. Deabia începând cu nivelele 4,5,6 veţi vedea ca programul începe sa gândească. Nu toate mutările sunt gândite de calculator la fel de repede, timpul de calcul al unei mutări depinde şi de complexitatea pozitţei pe tabla de şah în acel moment.

            Ultimele nivele de timp 9,T durează multe minute, ele sunt prevăzute pentru rezolvarea unor poziţii de şah foarte grele.

 

            Agresivitate – este o agresivitate privita in sens pozitiv, adică placerea Dvs de a ataca exuberant poziţia adversarului, sau, mai degrabă, să vă aparaţi cât mai bine propria poziţie, şi să vă aventuraţi în atac doar când aveţi avantaj material.

            Notaţi totuşi, că o agresivitate excesivă vă poate duce la pierderea forţelor cu care atacaţi, iar o teamă excesivă de a ieşi la atac, îndeamnă adversarul să vă atace, şi s-ar putea să aveţi mari dificultaţi în apărare. În fine, fiecare poate încerca stilul care i se potriveşte cel mai bine.

 

b)      Zona cu lista de mutări efectuate

 

Figura 3. Zona din ecran în care sunt afişate ultimele  mutări efectuate

 

După cum se vede, albul şi negrul mută alternativ, mutările sunt afişate pe tablă, dar sunt scrise şi în caseta de mutări efectuate. Programul scrie mutările în notaţia algebrică.

 

Priviţi tabla de şah din Figura 1. Există nişte notaţii pe marginea tablei. Coloanele tablei de şah sunt numerotate cu litere mari de la A la H (de la stânga spre dreapta), iar liniile tablei de şah sunt numeroate cu cifre de la 1 la 8 ( de jos în sus).

 

În exemplul nostru, mutarea a 8-a este alcătuită din mutarea albului “Df3-f5” urmată imediat de mutarea negrului “Pg7-g6”.

 

“Df3-f5” înseamnă că piesa de tip “D = dama” (regina) a mutat din pătratul “f3” (coloana F, linia 3 – uitaţi-vă la Figura 1) în pătratul “f5” (coloana F şi linia 5). Notaţia mutărilor foloseşte două coordonate : coloane şi linii, motiv pentru care această notaţie se numeste notaţie algebrică.

 

Mai putem vedea în listă de mutări notaţii de genul “ 0 – 0 “ – rocada mică (regele inversează poziţia cu turnul din dreapta, dacă nici regele nici turnul cu care vrem să facem rocada încă nu au mutat, iar regele nu e în şah, şi nici nu trece prin câmpuri atacate de piesele advresarului), sau “ 0-0-0 “ – rocada mare (regele inverseaza poziţia cu turnul din stânga). Rostul acestor inversari este de a ascunde regele, piesa cea mai valoroasă, de atacul advers, în timpul jocului de mijloc.

 

 

 

 

Mai sunt şi alte mutări mai complexe în şah:

 

            En passant – când pionul alb se află pe linia 5 iar pionul negru vrea sa treacă pe lângă el, mutând doi paşi, atunci pionul alb are dreptul sa ia poinul negru, ca şi cum acesta ar muta doar un pas. De exemplu, dacă pionul alb este în pătratul “e5”, iar pionul negru vrea sa mute pionul din “d7” doi paşi: “Pd7-d5”, atunci, doar imediat ca răspuns la mutarea pionului negru, poinul alb poate lua poinul negru din “d5” şi pune pionul alb în “d6”.

Negrul, în mod analog, aflat pe linia 4, poate lua pionul alb care muta doi paşi înainte pe lângă el, de exemplu, este un pion negru în “d4” iar pionul alb vrea să mute doi paşi din “c2” în “c4”, atunci pionul negru poate lua pionul alb en-passant din “c4” şi pune pionul propriu în “c3”.

 

            Transformare -  pionul are regulile de mutare cele mai complicate. Când pionul alb ajunge pe penultima linie, linia 7, el poate muta pe linia 8 transformându-se într-o figură mai valoroasă: D=Damă, T=Turn, N= Nebun sau C=Cal. De obicei transformarea se face în Damă, dar se pot găsi cazuri cand transformarea sa se facă în altă piesă, de exemplu în C=cal.

Un exemplu de transformare este mutarea “Pb7-b8D”  adică pionul ajuns pe linia 7 mută pe linia 8 şi se transformă, în exemplul nostru în D=damă.

O trasnsformare poate fi şi cu luarea de către pionul care transformă a unei piese adverse pe linia 8. De exemplu, daca pionul din “f7” ia un turn din “g8”si se transformă în regină, atunci acest lucru se scrie “Pf7xg8D”.

Observaţi că unele mutări se scriu cu “-“ între pătratul de plecare şi pătratul de sosire a piesei care mută, pe când alte mutări se scriu cu semnul “x”. Liniuţa se scrie când la acea mutare nu se ia nimic (de exemplu Pb2-b4 pionul din b2 mută în b4 fără să ia o piesa, pe cand “x” se scrie atunci acea mutare ia ceva în pătratul se sosire (exemplu Cc3xd5 – calul din c3 ia o piesa din d5).

În fine, daca veţi vedea mutarile de genul “Nf1-b5+”, acel plus înseamnă că acea mutare dă şah regelui advers.

 

c)      Zona de afişare a gândirii calculatorului

 

 

 

Figura 4. Gândirea calculatorului care este la mutare

 

Opţional, calculatrul vă poate oferi secretele gândirii sale, uneori chiar o distracţie pentru Dvs, asupra a cât de adânc gândeşte calculatorul ca să vă ofere mutarea optimă. Stadiul acestei gândiri este afisat într-o zonă  pe ecran. Semnificaţia acestei zone este urmatoarea:

-         linia întâi-a arată rezumatul gândirii calculatorului: -

o       nivel - la ce nivel gandeşte în acel moment calculatorul ( nivelul afişat este numarul de mutări (gândite anticipat de calculator) care este obligatoriu, la acest nivel se adaugă multe alte prelungiri ale gândirii calculatorului, invizibile pe ecran),

o       număr mutări efectuate - câte mutări a facut calculatorul până în acel moment pentru a calcula mutarea de răspuns,

o       valoarea poziţiei - este aprecierea poziţiei în acest moment (valoare cu două zecimale, care dacă este pozitivă înseamnă  că albul stă mai bine, iar dacă este negativă înseamnă că negrul stă mai bine; în această valoare, un pion valorează 1.00 puncte, dama valorează 10.00 puncte, plus alte fracţiuni zecimale ca bonusuri pentru nişte activităţi ale pieselor, de exemplu 0.15 când un pion atacă (dar încă n-a luat) un cal advers

o       la a câta mutare gândeşte calculatorul şi câte mutări sunt in total de analizat, de exemplu 14/34

o       care este cea mai lungă variantă din joc pe care a analizat-o calculatorul pentru acea mutare

-         varianta curentă la care gandeşte calculatorul în acel moment

-         varianta optimă deja gasită de calculator până în acel moment, ea poate fi schimbată când mutarea va fi calculată complet

 

d)      Zona de desenare a pieselor luate în timpul partidei

 

 

Figura 5. Zona de afişare a pieselor luate în timpul partidei

 

Pentru un începator este greu de văzut cât de bine stă în partida pe care o joacă, afişarea pieselor luate ajută la evaluarea avantajelor/dezavatajelor materiale pe care le are pe tabla de şah în momentul respectiv.


 

e)      Zona funcţiilor din timpul partidei

 

În fine, prezentăm şi principalele funcţii disponibile în Programul Prietenos de Şah, care pot fi folosite în timpul jocului.

 

Figura 6. Principale funcţii din timpul partidei de şah ale Programului Prietenos de Şah

 

-         butonul Partida Nouă este folosit pentru părăsirea partidei curente şi aşezarea pieselor pentru o partidă nouă; se întreabă dacă partida curentă se doreşte a fi memorată într-un fişier în directorul “PartideSalvate”;

 

-         butonul Mutare Înapoi permite să vă  întoarceţi cu una sau mai multe mutări înapoi, fie că aţi greşit ultima mutare, fie că (dacă nu sunteţi în concurs de şah oficial) nu aţi făcut numări cele mai bune şi vreţi să reveniţi la mutările anterioare, să reparaţi o eroare şi să continuaţi partida;

 

 

-         butonul Mutare Înainte este inversul butonului Mutare Înapoi, dacă vreţi să reveniţi la poziţii deja jucate după ce aţi făcut cateva mutări înapoi; nu puteţi muta înainte, decât până acolo unde aţi jucat ultima mutare în timpul partidei, când aţi început să mutaţi înapoi;

 

-         butonul Mutare Calculator înseamnă că programul vă poate sfătui ce să mutaţi când sunteţi Dvs la mutare; puteţi repeta acest buton Mutare Calculator, pas cu pas, până se ajunge la un mat, sau la o remiză; este util pentru învaţare şah;

 

 

-         butonul Propun Remiza – adică Dvs vedeţi că poziţia e cam remiză, durează mutări multe, vreţi să propuneţi remiză; calculatorul vă poate accepta remiza, sau nu, funcţie de cum apreciază el situaţia pe tabla de şah;

 

-         butonul SETARI – Este folosit pentru a efectua diferite configurări ale afisării datelor pe ecranul de joc, sau pentru îndeplinirea unor funcţii; a se vedea capitolul special pentru SETARI de mai jos

 

 

-         butonul Program vs. Program – înseamnă ca vreţi ca Programul să joace şi cu albele şi cu negrele, adică să joace el cu el însuşi, lucru extrem de interesant, mai ales dacă setaţi timpul de gândire mai mare ca să aveţi timp să analizaţi ce joacă calculatorul. La sfârşit, puteţi salva partida prin File – Save Game

 

 

  1. Cum se fac SETARI

 

Din tabloul funcţiilor de bază din timpul jocului, puteţi alege butonul SETARI, care are ca rezultat afişarea unui ecran pentru setări, ca cel de mai jos:

 

 

Figura 7 – Ecranul de efectuare setări în programul de şah

 

Pe lângă setările curente disponibile pe ecranul de joc (Nivelul Şahist, Nivelul de Timp, Agresivitate) pe care le-am descris deja, există posibilitatea efectuării şi a altor setări, şi anume :

-         încărcarea pe tabla de şah a unei poziţii dorite pentru analiză

-         alegerea fundalului ecranului care vă place cel mai mult dintr-un set disponibil

-         alegerea unui set de forme de piese care vă place din setul disponibil

-         beep-ul să fie setat pe ON/OFF

-         afişarea gândirii calculatorului sa fie permisă sau inhibată

-         afişarea pieselor luate sa fie permisă sau inhibată

 

 

Setarea unei poziţii pe tabla de şah – după ce apasaţi cu mouse butonul SETARI din ecranul principal, apare un ecran particular pentru SETARI. În acest ecran apar deja active mai multe posibilitaţi de setare. Pentru a seta o anumită poziţie pe tabla de şah, alegeţi butonul : Setare poziţie, după care programul permite sa modificati poziţia pe tabla de şah :

 

Aici sunt disponibile 2 butoane suplimentare :

-         Şterge tabla şi butonul ( setare pornind de la tabla goală)

-         Poziţia iniţială (setare poziţie începând cu poziţia iniţială – util pentru joc cu handicap, de ex Dvs începeţi jocul fara un pion)

 

După cum este scris şi pe ecran, mai întâi alegeţi un tip de piesa şi culoare din caseta cu tipuri de piese, apoi faceţi click în toate pătratele de pe tablă unde vreţi să aşezaţi acel tip de piesă. Dupa care alegeţi alt tip de piesă şi repetaţi procedura de aşezare de piese pe tablă. Dacă aţi greşit aşezarea unei piese pe tablă, atunci alegeţi pătratul gol din caseta cu tipuri de piese şi faceţi click pe tabla de şah unde vreţi să ştergeţi o piesă.

 

Nu uitaţi, inainte de a începe jocul cu poziţia setată, apăsaţi butonul Setat OK din caseta de funcţii de setare. După apăsarea acestui buton se intră în ecranul principal de joc, unde puteţi juca/analiza poziţia încărcată.

 

 

Figura 8 – Procedura de setare a unei poziţii pe tabla de şah.

 

Acestă posibilitate de încărcare poziţii este deosebit de utilă pentru exersarea finalurilor de partidă.

 

Alegerea fundalului pe ecranul de joc : În ecranul de setări, foarte simplu, faceti click cu mouse pe un model de fundal din caseta cu modele de fundaluri. Ecranul va fi imediat redesenat cu noul fundal ales.

 

Perminterea/Inhibarea sunetelor de BEEP – Din ecranul de SETARI, alegeţi butonul Sunet ON/OFF. Funcţie foarte utilă când jucaţi şah cu calculatorul noaptea şi nu vreţi să treziţi pe cei care dorm.

 

Alegerea setului de piese – Din ecranul de SETARI, având caseta cu tipuri de piese, apasaţi butonul xx şi se vor redesena piesele, succesiv, cu toate tipurile disponibile (funcţie încă neimplementată acum).

 

Cum jucaţi cu negrele – Implicit Dvs jucaţi cu albele. Vă e mai comod aşa. Dar, dacă sunteţi şahist, trebuie să jucaţi şi cu negrele, şi puteţi alege negrele astfel :

-         din ecranul de joc alegeţi butonul SETARI

-         din ecranul de SETARI alegeţi butonul Jucaţi cu Negrele

-         este reafişat ecranul de joc, în care calculatorul deja începe să gândească mutarea pentru alb, pe care o va afişa când e gata.

-         Dvs veţi muta piesele negre

 

Permitere/Inhibare afisare gândirii calculatorului – Procesul de gândire a calculatorului vă este foarte util/distractiv în timpul jocului, chiar puteţi să ţineţi cont de ceea ce vede calculatorul în timpul gândirii mutării sale. Dar sunt cazuri când nu vreţi, sau nu aveţi voie să vedeţi mutarea anticipată de calculator, pentru a pune baza mai mare pe gândirea Dvs proprie. În aceste situaţii puteţi inhiba gândirea calculatorului în două moduri :

-         fie alegeţi ‘x’ din dreapta casetei de afişare a gândirii

-         fie, din ecranul SETARI alegeţi butonul  Gandire ON/OFF

 

Permiterea/Inhibarea desenării pieselor luate în timpul partidei – Se face prin alegerea butonului din ecranul STARI Piese luate ON/Off

 

 

  1. Sfaturi, concluzii

 

a)      Vă oferim acest progam nu pentru a vă lega şi mai mult de calculator. Vă oferim ca o unealtă onestă de a vă exersa intelectul, de a vă crea satisfacţia unor victorii în partide şah cu celebrul Dvs rival – calculatorul. De aceea vă sugerăm să nu jucaţi mai mult de 3 partide la rând într-o zi, pentru a vă fi cât mai folositoare aceste lecţii intelectuale, atât mental cât şi fizic.

 

b)      Încercaţi  să evoluaţi, să progresaţi. Încercaţi să nu vă grăbiţi, să fiţi atenţi la mutările pe care le faceţi.

 

c)      Încercaţi să vă consolidaţi cunoştinţele de strategie în şah, care, de multe ori, au analogii cu strategii din viaţă. Fără concepte de strategie sănătoase nu veţi progresa prea mult.

 

d)      Încercaţi să jucaţi partide puţine, dar de calitate. Dacă sunteţi obosiţi, mai bine vă duceţi la o partidă de fotbal, lăsaţi şahul pe altă zi.

 

e)      Mai bine jucaţi pe un nivel şahist mai mic, dar să caştigaţi, decăt să jucaţi veşnic pe un nivel prea mare, unde să nu câstigaţi niciodată.

 

Sperăm că v-am oferit un instrument de un real folos pentru educaţie intelectuală, dar şi pentru o utilă petrecere a timpului liber.


 

  1. Finalurile cu piese puţine implementate în programul Friendly Chess

 

Dificultatea în jocul de şah constă în faptul că variantele în arborele de joc proliferează exponenţial pe masură ce anticiparea mutării optime creşte în adâncime.

 

În jocul de final, ramificările sunt mai puţine, dar totuţi arborii generaţi chiar pentru câteva mutări depăşesc capacitatea calculatorului de a le parcurge pe toate.

 

Ideea de bază a bazei de date în Friendly Chess constă în faptul că, deşi ramurile în arborele de joc cresc  astronomic ca număr, numarul poziţiilor pe tabla de şah devine limitat. De exemplu, în mat cu 4 piese, numărul maxim de poziţii este 64 * 64 * 64 * 64, însă nu toate sunt legale.

 

Există un modul special al lui Friendly Chess (necomercializat, se comercializeaza doar baza de date creata de el, acestă creere dureaza 24 de ore) care tabelează toate maturile cu piese puţine, folosind nişte analize retrograde, recursive, plecând de la toate maturile în zero mutări, apoi, recursiv, mat-uri în 1 mutare, apoi 2 mutări, etc

 

Aceste date sunt stocate în fişiere binare care acum au 0,5 Gb (fără a se face comprimări de simetrizare). Sunt posibile comprimări de simetrizare pentru a reduce aceste masive sub 128Mb.

 

Aceste maturi foarte lungi precalculate când sunt piese puţine pe tabla sunt un punct de atractie în jocul de şah  Friendly Chess. Când în timpul jocului Friendly Chess ajunge la 4 sau 3 piese, programul consultă baza de date, vede în câte mutări este mat acea poziţie, dacă este mat afişeaza că este mat în nn mutări. Din acel moment, programul joacă optim, căt timp adversarul joacă şi el optim.

 

De exemplu, daca programul găseşte că în poziţia cutare este mat în 40 de mutări (40 de mutări !!!), el afişează acest lucru pe ecran şi cere mutarea adversarului. Dacă mutarea adversarului este optimă, la următoarea mutare programul spune ca e mat în 39 de mutări. ş.a.m.d.  Dacă adversarul nu mută optim, atunci programul poate spune ca este mai în 27 de mutări.

 

Cu aceste finaluri cu piese puţine se poate face o adevarată carte. Poate se va face în viitor.

 

Ideea de a tabela maturile cu piese puţine, folosind metode de analiză recursivă retrograde, mi-a venit în minte acum mulţi ani, am lucrat la ea. Recent am citit că autorii actualului program de şah campion mondial (Rybka) deja au folosit aceiaşi tehnică, au facut baze de date cu 5 piese de joc, şi chiar, pentru anumite seturi interesante, de 6 piese pe tabla de şah !. Pentru 6 piese, au calculat ca-i trebuie 1 TeraByte pe disc ! Ceea ce s-ar găsi pentru un supercampion de şah, dar nu se poate comercializa uzual.

 

Dar am alte idei acum, plecând de la tabele de mat cu 4 piese, să se facă extinderi pentru calcul de mat cu mai multe piese prin metode :

-         căutarea simplificării cât mai rapide a poziţiilor pentru a ajunge la 4 piese, sau

-         folosirea seturilor cu 4 piese ca template în poziţii cu mai multe (puţine totuşi) piese, prin ignorarea pieselor care nu influenţeaza prea mult finalul

 

Să ilustrăm mai jos un mat văzut foarte multe mutări înainte în lupta turnului contra cal.

Nu în orice poziţie turnul învinge calul. Curios, uneori nici dama nu poate învinge calul, dacă calul este lipit de propiul rege în mijlocul tablei !!

 

 

Să încărcăm în program poziţia cu un turn alb contra cal negru, poziţia cu cel mai lung traseu optim de mat turn contra cal :

 

 

Incepe jocul, la care muta albul şi răspunde :

 

Jocul continua (automat – calculator / calculator) si se obţin mutările :

 

Lupta turn/cal este deabia la început. După încă 10 mutări avem :

 

 

Mai facem încă 10 mutări :

 

 

În fine, calul a fost învins şi capturat. Acum începe mat-ul cu turnul :

 

 

Acum mat-ul este vizibil şi pentru un începător :

 

Greu e să dai mat pe lumea asta !

 

Este în experimente şi modulul de extindere mat cu piese puţine (5, 6  etc) prin exploatarea unor template-uri tabelate deja cu 3 si 4 piese.

 

 

Vă dorim numai succese

 

Friendly Chess – Proiect de viitor

 

În completarea manualului (provizoriu) pe care l-am făcut pentru descrierea programului Friendly Chess, mai scriu cateva explicaţii.

 

Scopul

 

Arta programării şahului şi-a atins apogeul, şi odată cu acesta şi interesul mediatic a scazut, şi chiar populaţia este mai puţin receptivă la aplicaţiile de şah pe calculator, datorită altor multe oferte moderne în domeniul preocupărilor cotidiene.

 

Totuşi, şahul e inventat în vechime şi nu se va stinge aşa de uşor. Asta deoarece este un mijloc ideal de a dezvolta intelectul uman, fie la nivelul copiilor, fie la nivelul adulţilor.

 

Problema este doar să ne întoarcem la menirea iniţiala a şahului, cea de punere în funcţiune a capacităţilor de raţionare a intelectului uman.

 

Şahul programat a ajuns în conul de umbră datorită faptului că, programatorii, s-au luptat cu înverşunare să învingă cotele cele mai înalte ale artei, să învingă un campion mondial de şah. Şi au reuşit acest lucru. Apoi au încercat să comercializeze în masă programele campioane mondial, difuzându-le pe piaţă. Şi au reuşit. Doar că, orice copil, orice om obişnuit poate beneficia prea puţin de un program ultraperformant de şah: aceste programme sunt prea tari pentru un începator, sunt descurajant de tari, nu-i poţi învinge nicicum. Şi atunci omul de rând nu le foloseşte.

 

Ideea de bază a programului Frendly Chess este aceea de a reda oamenilor plăcerea de a juca şah, chiar la nivelul lor, să ofere oricărui copil, sau adult, şanse reale de a învinge programul de şah, bineinţeles, alegând un nivel adecvat.

 

Pentru copii lucrurile sunt mai complexe decât par. O aplicaţie pentru copii este bună atunci când utilizează multe ilustraţii, sunete plăcute, adaptare la situaţie şi la caracterul fiecărui copil. Ceea ce presupune eforturi de programare speciale pentru realizarea acestor obiective.

 

Facilităţi generale implementate deja

 

Aşa cum se poate vedea din manualul de faţă, sunt realizate funcţiile de bază ale unui program de şah, dar mai sunt multe de modificat, de completat, pentru un desing valoros, comercial.

 

Un capitol de atracţie al acestui program sunt tabelele precalculate de mat-uri în multe mutări, cand sunt putine piese (3 sau 4, de exemplu cei doi regi, un turn alb şi un cal negru). Ideea acestor tabelări de finaluri cu piese puţine mi-a venit în minte acum mulţi ani, am tot realizat câte ceva cand am avut timp, însă deabia acum le-am folosit într-un program de şah, cu efecte spectaculoase (a se vedea finalul în 40 de mutări din acest material despre finaluri).

 

M-am străduit cât se poate sa dau şi o tarie de joc programului Friendly Chess, pentru orice eventualitate, atunci când se organizează meciuri demonstrative cu alte programe de şah. Frendly Chess încă nu este competitiv în concursuri tari de joc (acele programe de şah super tari s-au obţinut ca rod al efortului de decenii de muncă îndârjită, a celor mai buni programatori, având toată teoria din domeniu la dispoziţie şi toate experienţele pe plan mondial).

 

Dar, pe cât este de greu să faci un program tare  de joc, pe atât de greu este să şi diluezi tăria jocului programului, adica să-l faci cât mai adaptat la utilizatorii lui: copii, adulţi obisnuiţi, ne şahişti. Adică programul sa fie şi accesibil, dar şi didactic, în acelaşi timp.

 

Frendly Chess are doar nişte pregătiri de bază pentru a fi utilizat ca şah pentru copii, restul trebuie dezvoltat de acum înainte.

 

Dintre pregatirile de bază enumerăm :

-         posibilitatea de a alege un fundal dorit al ecranului de joc

-         posibilitatea de a alege un anumit set de piese, dupa preferinţă

-         posibilitatea de analiza pas cu pas anumite pozitii, în special finaluri ; traseul optim spre mat în finaluri este chiar foarte didactic pentru cei care învaţă şah

-         posibilitatea salvarii/reluarii de partide jucate şi vizualizarea pas cu pas (de realizat)

-         utilizarea unor deschideri clasice, afişând pe ecran numele acelor deschideri

 

Aceste pregătiri ar trebui  completate/amplificate prin:

 

-         obtinerea unor fundaluri cât mai frumoase şi adecvate copiilor

-         realizarea unor seturi de piese cât mai variate, de atracţie pentru copii

-         un set de interacţiuni plăcute pentru copii: sunete, mesaje, mici animaţii, gadgeturi, etc

 

Mecanismul de seturi de piese este implementat, dar trebuie realizate seturile de piese.

 

Aceste seturi de piesa, pentru copii, pot avea şi un rol educativ. Seturile pot fi inspirate din lumea naturala: seturi de peştisori, păsări, animale, flori, copaci etc.

 

Iar un copil, când trece cu mouse deasupra unei piese, să se afiseze numele acelei plante sau animal. Deci setul de piese sa fie şi un album colorat pentru copii. Atunci tabla de şah trebuie să ocupe mai tot ecranul, ca piesele sa fie bine vizibile.

 

Sau altă idee, dupa ce un copil joacă şah mai mult de 30 minute, când se văd semne de oboseală, atunci programul să-i propună să spună o poveste (adecvată setului de piese), cu pagini ilustrate, mesaje şi sunete.

Pentru oamenii maturi, se pot face diverse lucruri atractive în program: diverse gadget-uri, funcţie de ocupaţia cotidiană a jucătorului. Nici aceste gadgeturi nu sunt implementate, dar se pot crea multe, daca ar există un proiect.

 

Mai e de lucru