Interessant und humorvoll - Seite 3970

 
Vladimir Suschenko:

Um einen Hinweis zu geben - wir brauchen nicht nur einen allgemeinen Algorithmus (es gibt wahrscheinlich mehr als einen), sondern einen Algorithmus, der es modernen Computern ermöglicht, ein Problem mit großer Tafelgröße in Echtzeit zu lösen. Um ein Problem mit einer großen Anzahl von Feldern mit bestehenden Algorithmen zu lösen, benötigen moderne Computer möglicherweise zu viele Jahre (und Speicher)...

Heutzutage ist es in Mode, SAT/SMT-Löser zur Lösung solcher Probleme einzusetzen. Um es so schnell wie möglich zu lösen, müssen Sie das Problem durch boolesche Funktionen in cnf-Form ausdrücken und dann irgendwie dem Beispiel dieses Artikels folgen http://www.cs.cmu.edu/~hjain/papers/sudoku-as-SAT.pdf

Nur dass der Sat-Solver nur die Frage beantwortet, ob das Problem gelöst werden kann, und zwar in Form von Ja/Nein. Ich habe keine Ahnung, wie ich von dort aus die Antwort selbst (Anordnung der Formen) bekomme, ich bin nicht gut in dieser Technik.

 

Grischa schauen...jetzt...

 

es ist sowohl humorvoll als auch interessant

 

IMHO

 

Hier ist eine ziemlich schnelle Lösung für das Problem der acht Königinnen, in Python brauche ich dafür 36 Millisekunden: http://www.cs.tau.ac.il/~msagiv/courses/asv/z3py/guide-examples.htm(suche den Titel "Eight Queens")

Sie benötigen diese Python-Bibliothekhttps://github.com/Z3Prover/z3/releases und führen im Code selbst zunächst "from z3 import *" aus und erst dann den Code aus dem ersten Link.

Es gibt keine Möglichkeit, eine Million zu machen, die Zeit zur Lösung des Problems wächst exponentiell mit der Anzahl der Königinnen, z.B. ist das Problem mit 100 Königinnen in etwa einer halben Minute gelöst.

 
geratdc:

Für das Problem gibt es keine Lösung. 7 Königinnen bedecken die gesamte Fläche des Schachbretts.


Das tut sie:


 

in einer Zeit, die fast episch war... oder?


 
Dr. Trader:

Hier ist eine ziemlich schnelle Lösung für das Problem der acht Königinnen, in Python brauche ich dafür 36 Millisekunden: http://www.cs.tau.ac.il/~msagiv/courses/asv/z3py/guide-examples.htm(suche den Titel "Eight Queens")

Sie benötigen diese Python-Bibliothekhttps://github.com/Z3Prover/z3/releases und führen im Code selbst zunächst "from z3 import *" aus und erst dann den Code aus dem ersten Link.

Es gibt keine Möglichkeit, eine Million zu machen, die Zeit zur Lösung des Problems wächst exponentiell mit der Anzahl der Königinnen, z.B. ist das Problem mit 100 Königinnen in etwa einer halben Minute gelöst.

In dem Artikel ist von einem Feld mit einer Seite von 1000 oder mehr Zellen die Rede, was Ihr Algorithmus nicht bewältigen kann, da er für ein Feld von 100 * 100 bereits eine halbe Minute benötigt.

Herzliche Grüße.
 


P.S. Apple verwendet eine automatische intravenöse Infusion von Schnaps.