2012-03-24 3 views
2

Ich habe ein paar Probleme mit der Lösung von Puzzle. Ich habe nirgendwo eine Lösung für dieses Puzzle gefunden, aber ich habe versucht, es in Prolog zu schreiben, aber ich denke, dass meine Lösung nicht schnell sein wird (ich erzeuge jede Lösung und lösche sie, wenn sie nicht möglich oder richtig ist). Das ist mein Problem: (Ich habe einen Namen dieses Puzzles gefunden, hier ist der Link zu allen Regeln dieses Puzzles: http://en.wikipedia.org/wiki/Kuromasu). Nun habe ich eine andere Frage, welche Methode wäre die recht einfach zu schreiben und recht schnell in Prolog zu lösen. Ich habe überlegt, meine Liste von Feldern in eine ungerichtete Grafik umzuwandeln, oder vielleicht gibt es eine andere Methode, um meine Liste vertikal (Kopf nach Kopf) zu durchsuchen?Lösen eines Logikpuzzles (Kuromasu, wo ist schwarze Zellen) in Prolog

In:

0, 0, 0, 5, 0, 0, 0 
0, 5, 0, 0, 0, 0, 2 
0, 0, 0, 0, 7, 0, 4 
0, 0, 0, 0, 0, 0, 0 
8, 0, 13,0, 0, 0, 0 
5, 0, 0, 0, 0, 6, 0 
0, 0, 0, 8, 0, 0, 0 

Ergebnis:

0, #, 0, 5, 0, 0, # 
0, 5, 0, 0, 0, #, 2 
0, #, 0, #, 7, 0, 4 
#, 0, 0, 0, 0, 0, # 
8, 0, 13,0, 0, 0, 0 
5, 0, 0, 0, #, 6, 0 
#, 0, 0, 8, 0, 0, # 
+0

Haben Sie einen Namen oder einen Link für das Puzzle? Der Titel ist nicht sehr gut .. –

+0

Ich habe versucht, einen Namen dieses Puzzles zu finden, aber ich weiß es nicht. Wie kann ich den Titel ändern, um ihn klarer zu machen? –

+0

Der Name des Puzzles wäre ein Anfang :-) "Lösen von XYZ in Prolog?" Wo XYZ ist der Name des Puzzles oder Puzzle-Archetyp. –

Antwort

4

Diese Art von Rätsel ist Kuromasu genannt. Hier ist eine Seite, die es mit SWI-Prolog und endlichen Domain-Einschränkungen löst: http://jfoutelet.developpez.com/articles/kuromasu/

+1

Vielen Dank, diese Information ist sehr nützlich. Aber es gibt ein anderes Problem, ich verstehe Französisch nicht und ich denke, ich kann #_ wie Prädikate nicht verwenden. –