momente şi schiţe de informatică şi matematică
To attain knowledge, write. To attain wisdom, rewrite.

Şah cu Fruit şi Crafty

PGN | javaScript
2011 aug

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)

Prolog | plata sumei în monede | problema rucsacului
2011 jun

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)

Prolog | backtracking | partiţii | triplete pitagoreice primitive
2011 jun

Î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)

C++ | Prolog | backtracking | partiţii
2011 may

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)

C++ | STL | combinatorică | partiţii | vector
2011 may

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…


Prev
Next
ALL (349 titluri)

vezi Cărţile mele (de programare)

despre acesta ~ Home
(sau https://vlad.bazon.net/

Factoriale | Graficul funcţiilor

PGN browser | chess JS engine

Load

in /slightchess

/slightchess

626 partide analizate cu Crafty

(R) Computer Art | Decoraţiuni

Aplicaţii şcolare (javaScript)

Sinteze: