Avem la şahPGN un "browser" propriu pentru partide de şah. Un asemenea instrument ar trebui să poată fi configurat pentru a fi utilizat în mai multe contexte posibile; vizăm aici posibilitatea de a-l integra într-o pagină Web care angajează partide de şah.
Pe de altă parte, partida analizată reflectă corelaţia dintre centralizare şi atacul pe flanc (specifică de altfel nu numai pentru şah, dar de exemplu şi în tenis, sau alte jocuri).
Introducere practică în Prolog (II)
Structuri de date în Prolog (termeni compuşi, liste, operatorul "univ") şi două exemplificări: problema rucsacului şi plata unei sume în unităţi monetare date.
Introducere practică în Prolog (I)
În programarea logică, ideea de bază este exprimată prin Algorithm = Logic + Control. Componenta Logic vizează descrierea problemei: ce fapte se cunosc şi ce reguli trebuie folosite de către "Control" pentru a deduce ulterior alte fapte (noi).
Componenta Control reprezintă însuşi interpretorul - ori fiinţa raţională - care va "executa" programele; interpretorul de Prolog "aplică" metoda deducerii (plecând de la baza de date furnizată de program) şi un mecanism intern de backtracking recursiv - căutând sistematic valori cu care să "înlocuiască" necunoscutele implicate în scopul satisfacerii clauzelor curente.
În jurul unei probleme de echilibru (II)
Vizăm generarea s-partiţiilor angajând metode generale: căutare "brute force" şi backtracking. Formulăm în C++ şi în Prolog (incluzând un mecanism intern de backtracking, Prolog permite "rezumarea" programului la specificarea condiţiilor necesare pentru soluţii).
În jurul unei probleme de echilibru (I)
Se poate partiţiona {1,2,...,n} în două submulţimi pentru care sumele corespunzătoare să aibă diferenţa dată? Care ar fi minimul acestei diferenţe? Câte astfel de partiţii există (teoremă, program C++) şi cum pot fi generate într-o anumită ordine?
Simpla verificare directă a unui rezultat este mai degrabă neinteresantă şi de obicei încercăm să corelăm verificarea manuală cu aspecte de context; putem găsi astfel posibilităţi de simplificare în program, dar poate rezulta (mai interesant!) şi ideea de a o lua de la capăt…
vezi Cărţile mele (de programare)