Interessante e umorismo - pagina 3970

 
Vladimir Suschenko:

Per chiarire un accenno - abbiamo bisogno non solo di un algoritmo generale (probabilmente ce ne sono più di uno), ma esattamente di un algoritmo che permetta ai computer moderni di risolvere un problema con grandi dimensioni della tavola in tempo reale. Per risolvere un problema con un gran numero di campi con gli algoritmi esistenti, i computer moderni potrebbero aver bisogno di troppi anni (e memoria)...

Oggi è di moda usare solutori SAT/SMT per risolvere tali problemi. Per la massima velocità il problema dovrebbe essere espresso da funzioni booleane in forma cnf, e poi in qualche modo seguire l'esempio di questo articolo http://www.cs.cmu.edu/~hjain/papers/sudoku-as-SAT.pdf

Tranne che il sat solver risponderà solo se il problema può essere risolto, in forma sì/no. Non ho idea di come ottenere la risposta stessa (disposizione delle forme) da lì, non sono bravo in questa tecnologia.

 

Grisha guarda... ora...

 

è sia umoristico che interessante

 

IMHO

 

Ecco una soluzione abbastanza veloce al problema delle Otto Regine, in Python mi ci vogliono 36 millisecondi: http://www.cs.tau.ac.il/~msagiv/courses/asv/z3py/guide-examples.htm(trova il titolo "Eight Queens")

Avete bisogno di questa libreria pythonhttps://github.com/Z3Prover/z3/releases e nel codice stesso prima di tutto eseguite "from z3 import *" e solo dopo il codice del primo link.

Non c'è modo di fare un milione, il tempo per risolvere il problema cresce esponenzialmente a seconda del numero di regine, per esempio il problema con 100 regine viene risolto in circa mezzo minuto.

 
geratdc:

Il problema non ha soluzione. 7 regine coprono l'intera area della scacchiera.


Lo fa:


 

in un tempo quasi epico... eh?


 
Dr. Trader:

Ecco una soluzione abbastanza veloce al problema delle Otto Regine, in Python mi ci vogliono 36 millisecondi: http://www.cs.tau.ac.il/~msagiv/courses/asv/z3py/guide-examples.htm(trova il titolo "Eight Queens")

Avete bisogno di questa libreria pythonhttps://github.com/Z3Prover/z3/releases e nel codice stesso prima di tutto eseguite "from z3 import *" e solo dopo il codice del primo link.

Non c'è modo di fare un milione, il tempo per risolvere il problema cresce esponenzialmente a seconda del numero di regine, per esempio il problema con 100 regine viene risolto in circa mezzo minuto.

Stiamo parlando di un campo con un lato di 1000 o più celle. Il tuo algoritmo non può gestirlo, basandosi sul fatto che il campo di 100 * 100 richiede già mezzo minuto.

Saluti.
 


P.S. Apple usa l'infusione endovenosa automatica di grappa.