Author Archive
Nabaztag e Playlist.com
Sunday, December 21st, 2008Per chi ancora non conoscesse i due termini che compongono il titolo di questo articolo ecco una breve introduzione:
Ruby-dlx, le otto regine e le colonne secondarie
Tuesday, December 16th, 2008Eravamo rimasti al seguente quesito: “Come implementiamo l’insieme di costrizioni che abbiamo evinto in modo da risolvere il problema delle 8 regine con i Dancing Links ?”
Le otto regine e ruby-dlx
Monday, December 8th, 2008Il problema delle otto regine rientra a far parte di quell’insieme di sfide che da molti anni interessano ed incuriosiscono matematici ed appassionati (questo problema è stato proposto nel 1848).
Risolvere i Sudoku in Ruby con i Dancing Links: ruby-dlx
Tuesday, December 2nd, 2008Ho appena effettuato il commit della prima release funzionante di ruby-dlx. Ruby dlx è una piccola libreria che implementa in Ruby l’algoritmo dei Dancing Links descritto nel post di settimana scorsa.
Knuth e i dancing links
Sunday, November 23rd, 2008Nel post precedente cercando di trovare un algoritmo interessante per la generazione di Sudoku mi sono imbattuto nei Dancing Links.
L’algoritmo DLX è stato inventato da Donald Knuth (il pdf originale è disponibile gratuitamente) ed è essenzialmente un’implementazione performante di un algoritmo di backtracking (Algoritmo X).
Un algoritmo per creare Sudoku?
Friday, November 14th, 2008Da un paio di settimane stò studiando un pò il mondo che contorna questi simpatici puzzles con l’obiettivo di creare un generatore di Sudoku in Ruby.
La prima cosa che ho scoperto è che non è stato ancora dimostrato il numero minimo di cifre che è necessario esporre (cioè visualizzare ‘completate’ all’inizio del puzzle) per garantire al Sudoku una soluzione univoca; al momento sono stati trovati Sudoku validi con 17 cifre esposte.
Ma come si determina quando un Sudoku ha una soluzione univoca?
Effetto zoom con Scriptaculo.us e Layout Liquido
Friday, November 7th, 2008Combinando dimensioni in percentuali e l’effetto morph di Scriptacolous è possibile ottenere un simpatico effetto come questo: