🏆 Progetto Storico

Risolviamo la Dama Italiana

Un progetto ambizioso per risolvere completamente la Dama Italiana 8×8 e dimostrare matematicamente il suo risultato teorico, come è stato fatto per la Dama Americana nel 2007.

15.6M
Posizioni Risolte
Database Ed Gilbert
6,521
Aperture Analizzate
Opening Book
10^20
Posizioni Totali
Da esplorare
Gloria Eterna
Per chi contribuisce

🧠 Arsenale Algoritmico

Un sistema completo già operativo, pronto per essere potenziato

Motore Minimax Alpha-Beta (Rust, regole FID) con 19 tecniche attive: PVS, LMR, Null Move, History, Aspiration Windows, Futility, Razoring, IID, Delta Pruning, Lazy SMP e altro.

📐

Valutazione ricca

Alle foglie e in quiescence: parametri ottimizzati da 1000+ generazioni di self-play (materiale, centro, avanzamento, mobilità, pedine connesse, centralizzazione re).

Euristica geneticaFoglie + Quiescence
🎯

Quiescence Search

A profondità 0: esplora fino a +20 livelli solo catture e promozioni. Elimina l'effetto orizzonte.

Depth +20No Horizon Effect
📋

Move ordering

Ordine mosse: catture (più pezzi prima), promozioni, Killer moves (2 per profondità), bonus centro. Più cutoff, ricerca più veloce.

Killer movesAlpha-Beta
💾

Transposition Table

Zobrist hash: posizioni già valutate in cache. Probe all'ingresso, store in uscita con bound (Exact/Upper/Lower). Zero ricalcoli per trasposizioni.

ZobristO(1) lookup
📏

Profondità effettiva

Profondità selettiva: catture → profondità piena; posizione che peggiora molto → -2; altrimenti -1. Approfondisci le tattiche, pota i rami deboli.

Selective search

Late move reductions (LMR)

Dalla 5ª mossa (non cattura), depth≥3: prima ricerca a profondità ridotta; se serve, ricerca piena. Meno nodi senza perdere correttezza.

LMRRiduzione tardiva
🏆

Database Finali Ed Gilbert

15.6 milioni di posizioni con ≤10 pezzi completamente risolte. AI PERFETTA nei finali. Indicizzazione combinatoriale per lookup O(1).

15.6M PosizioniPerfetto
📖

Opening Book

6,521 posizioni di apertura analizzate. Tecnica Dropout Expansion in esecuzione continua su server dedicato per espandere la conoscenza.

Dropout ExpansionIn Crescita
🧬

Algoritmo Genetico

Self-play optimization: 30 agenti competono tra loro per 1000 generazioni. I parametri euristici evolvono automaticamente verso l'ottimo.

Self-Play1000 GenLIVE
🇮🇹

Regole FID Complete

Implementazione certificata delle regole ufficiali della Federazione Italiana Dama: cattura obbligatoria, cattura massima, pedina non cattura dama.

FID UfficialeCertificato
🦀

Solver Rust

Calcolo posizioni con Rust: 50x più veloce di Python, parallelizzazione nativa su tutti i core, zero overhead, memory-safe.

50x Faster16 CoresNUOVO
☁️

Infrastruttura Cloud

Server Hetzner dedicato + Mac locale 64GB RAM per calcoli massivi. API FastAPI. Frontend Vercel global edge.

HetznerVercel64GB RAM
ATTIVO
🚫

Null Move Pruning

Quando il giocatore è in vantaggio, prova a "passare il turno": se resta in vantaggio, taglia l'intero sottoalbero. Riduzione adattiva R=2/3. Riduce l'albero del 30-50%.

-30/50% nodi+2-3 profondità
ATTIVO
📊

History Heuristic

Tabella history[from][to] che conta i cutoff di ogni mossa. Bonus depth², decay automatico. Porta alpha-beta da O(b^d) verso O(b^(d/2)).

+30-50 EloMove ordering
ATTIVO
🪟

Aspiration Windows

Finestra stretta [score±50] centrata sul risultato precedente. Re-search su fail-low/fail-high, max 3 tentativi. Ricerca 2-3x più veloce.

+20-40 Elo2-3x faster
ATTIVO
🧵

Lazy SMP (Multi-Thread)

N thread cercano la stessa posizione con profondità staggered, condividendo TT, Killers e History. Configurabile via SMP_THREADS. +100-200 Elo.

+100-200 EloShared TT
ATTIVO
🔬

PVS (Principal Variation)

Prima mossa cercata con finestra piena; le successive con zero-window (α, α+1). Se falliscono alto, ri-cerca con finestra piena. Combinato con LMR per massima efficienza.

+30-50 EloZero-Window
ATTIVO
✂️

Futility Pruning

A depth 1-2, salta mosse quiet se eval + margine < alpha. Le mosse tranquille non possono recuperare il gap. Taglia migliaia di nodi inutili alle foglie.

+20-30 EloLeaf pruning
ATTIVO
🔄

Reverse Futility Pruning

A depth 1-3, se eval - margine ≥ beta, la posizione è così buona che nessuna mossa dell'avversario può peggiorarla abbastanza. Pruna l'intero nodo.

+10-15 EloStatic NMP
ATTIVO
🔁

IID (Internal Iterative Deep.)

Se la TT non ha una mossa migliore e depth ≥ 4, fa una mini-ricerca a depth-2 per trovare un buon ordine mosse. Popola la TT per il move ordering. +15-25 Elo.

+15-25 EloTT ordering
ATTIVO
🪒

Razoring

A depth 1-3, se eval è molto sotto alpha, scende direttamente in quiescence. Se neanche le catture salvano la posizione, pruna. Margine adattivo per profondità.

+15-20 EloDrop to QS
ATTIVO
⏭️

Late Move Pruning

A depth 1-2, le mosse quiet oltre la 5ª-7ª posizione vengono saltate: se il move ordering è buono, le mosse tardive non sono mai la migliore. Soglia adattiva.

+10-15 EloDepth-adaptive
ATTIVO
🎯

Delta Pruning

In quiescence, salta catture il cui guadagno stimato non può alzare alpha. Se eval + valore_cattura + margine < alpha, la cattura è inutile. Velocizza la quiescence search.

+5-10 EloQS pruning
2.3M PRONTO
📚

Opening Book 2.3M

Libro aperture espanso a 2.312.677 posizioni via Dropout Expansion automatica. Supera Kingsrow (1.7M). In produzione: 5.446; deploy del libro completo imminente.

2.3M posizioni> Kingsrow

🎯 La Sfida

Nel 2007, Jonathan Schaeffer e il suo team hanno dimostrato che la Dama Americana (8×8) è una patta con gioco perfetto da entrambe le parti.

La Dama Italiana è ancora IRRISOLTA. Con regole più complesse (pedina non cattura dama, cattura massima obbligatoria), rappresenta una sfida computazionale ancora più grande.

🏆 Chi la risolverà entrerà nella storia della matematica e dell'informatica

🤝 Come Contribuire

Ogni contributo, grande o piccolo, ti garantisce un posto nella storia

💰

Finanzia

Anche €5 aiutano a pagare CPU e storage per i calcoli

  • • €5 = 1 ora di calcolo
  • • €50 = 1 giorno di calcolo
  • • €500 = 1 mese di calcolo
🖥️

Dona CPU

Hai un server o PC potente? Esegui i nostri calcoli distribuiti

  • • Client leggero
  • • Calcolo in background
  • • Statistiche personali
🧪

Testa

Gioca contro l'AI e segnala bug o comportamenti strani

  • • Trova bug
  • • Segnala mosse sospette
  • • Migliora l'euristica
Gioca Ora
💻

Sviluppa

Sei un programmatore? Il codice è open source

  • • Ottimizza algoritmi
  • • Migliora l'euristica
  • • Parallelizza i calcoli

🏛️ Hall of Fame

Chi contribuisce sarà ricordato per sempre

👑

Fondatori

Contributi > €1000

Il tuo nome qui...
🥈

Sostenitori

Contributi €100-€999

Il tuo nome qui...
🥉

Contributori

Qualsiasi contributo

Il tuo nome qui...

🙏 Ringraziamenti Speciali

Ed Gilbert (Database Finali)Jonathan Schaeffer (Ispirazione)Francesco Marinuzzi (Sviluppo)

🚀 Fai Parte della Storia

La Dama Italiana aspetta di essere risolta. Sarà merito anche tuo.

🎮 Prova l'AI