Post by YodaAh ecco dove sbagliavo forse anche per il sorgente di python che ho
preso in rete e che non mi riesce di far andare! ognuno ha il suo
modo di scrivere la griglia.
Se io volessi farlo col prolog, dovrei installare prolog? penso di
si' perche' il comando prolog qui da me non esiste, ma te lo chiedo
perche' ad esempio per python non c'e' bisogno, perche' c'e' un
minimo installato gia' di default.
Sui repo di Ubuntu (e di altri linux) c'è SWI-PROLOG che è lo stesso
usato dal playground online. Via command line, ovviamente, non avrai le
routine di grafica. Se dal sorgente togli "use_rendering(sudoku)."
funziona esattamente come la versione online.
Carichi il programma con:
prolog -s sorgente.pl
Poi dall'interfaccia testuale inserisci i predicati (quelli che
inserisci nella finestrella in basso a destra).
Per esempio:
problem(5, Rows), sudoku(Rows), maplist(label, Rows),
maplist(portray_clause, Rows), !.
Il punto esclamativo alla fine blocca il backtracking dopo il primo
risultato.
Sono almeno vent'anni che non uso più Prolog ma una volta mi ci
divertivo. Un esercizio classico era il programmino per calcolare le
derivate simboliche ... dove in pratica scrivi le regole di derivazione
pari pari! Tipo questo, che con swi prolog funziona perfettamente (a
parte un warning):
https://github.com/wjur/sym-diff-prolog/blob/master/sym-diff.pl
Una volta c'erano ambienti molto user friendly come Turbo Prolog,
Arity32 Prolog e tanta altra roba. C'era addirittura un Visual Prolog,
con tanto di compilatore (e questo vedo che c'è ancora: l'hanno reso
gratuito per uso personale, una volta era solo a pagamento).