Post by Aa Il mantovanoHo una curiosità, provo a scrivere qui: in quali linguaggi
è possibile implementare un sudoku?
Magari ti hanno già risposto, ma credo che la risposta sia:
puoi usare un qualsiasi linguaggio.
Perché le possibili
Post by Aa Il mantovanodisposizioni dei numeri sono 9^81, che è un numero di
60 e più cifre, mentre da una ricerca che ho fatto il totale
si tratta di numeri che con il linguaggio java non sono
gestibili,
Nemmeno con altri. Non c'entra molto il linguaggio.
Credo sia più un problema di algoritmi.
Non conosco gli algoritmi che si possono usare per implementare il
sudoku, ma se usi degli algoritmi a complessità esponenziale
probabilmente non riesci a uscirne fuori con nessun linguaggio.
Se invece l'algoritmo che usi ha complessità inferiore puoi usare il
linguaggio che vuoi.
Altrimenti non potrebbero esistere ad esempio software che giocano a
scacchi o a go (a scacchi si stima che il numero di posizioni legali sia
dell'orgine di 10^43, il go ha probabilmente complessità molto maggiore).
e penso nemmeno con il C, che sono gli unici
Post by Aa Il mantovanodue linguaggi che conosco (e il C molto meno del java).
Molti software che giocano a scacchi sono implementati in C/C++,
anche quelli non basati su tecniche di AI (e la maggior parte dei
software esistenti per giocare a scacchi non è basato su AI).
Post by Aa Il mantovanoEsistono linguaggi che arrivano a gestire numeri così
grandi? E se non esistono, come si può implementare un
algoritmo per il sudoku?
è la complessità dell'algoritmo che conta, non il linguaggio.
Devi trovare un modo per risolvere il problema con un algoritmo di
complessità non esponenziale, poi lo implementi con qualsiasi
linguaggio. Però gli algoritmi per il sudoku non li conosco
(non so nemmeno esattamente cosa sia il sudoku. Me lo avevano
mostrato anni fa, ma me ne sono sempre altamente strafottuto).
Comunque da una semplice ricerca, ad esempio qui:
https://it.quora.com/Tutti-i-Sudoku-sono-risolvibili-con-un-algoritmo-o-codice#:~:text=Un%20algoritmo%20molto%20semplice%20(e,una%20soluzione%20accettabile%20del%20sudoku.
uno dice questa cosa (che non so che voglia dire perché nemmeno so
esattamente come funziona il sudoku):
"[..] Per risolvere (o creare) un sudoku basta un semplice algoritmo che
funziona così: parti dalla cella in alto a sinistra e se è piena vai
avanti, altrimenti posiziona un numero e vai avanti. Se non puoi
posizionare nessun numero (perché sono tutti già presenti nella riga,
colonna o quadrato) torna alla cella precedente e posiziona un altro
numero. Se hai finito le celle, hai riempito il sudoku. Questo algoritmo
funziona ricorsivamente piazzando un numero in una cella volta per volta
e verificando che la cella dopo sia riempibile. Se si arriva alla fine,
il sudoku è finito, altrimenti si torna indietro e si cambia numero e si
ritorna avanti. L'algoritmo funziona con ogni griglia (ammesso che non
sia già riempita male) indipendentemente da quanto sia già riempita"
--
Questa email è stata esaminata alla ricerca di virus dal software antivirus Avast.
www.avast.com