Sudoku lösen

OP #3264307
Lesenswert?

Hallo in die Runde!

Ich habe ein spezielles Sudoku welches ich nicht zu Fuß lösen möchte ;-)
( Geocaching-Rätsel )

Hier ein Beispiel:
http://2.bp.blogspot.com/-49uYhXVUThA/Tejbsm3h97I/AAAAAAAAARQ/fHzIAI6qcVo/s1600/0006.png

Das ganze nennt sich Frame Sudoku oder auch Outside Sum Sudoku.

Die Zahl die außen steht ist die Summe der nächsten 3 Zahlen in der 
jeweiligen Richtung.

Kennt jemand von Euch einen Online-Solver für diese Variante.
3h Google habe ich schon hinter mir und selber proggen mag ich net.

Danke und Gruß

Stefan
#3267069
Lesenswert?

...also ich weiss nicht, ob das wirklich so einfach zu programmieren 
ist...

Für jedes 9er-Feld erhalte ich ja aus den Summen zunächst nur 6 
Gleichungen.
Also für alle neun Bereiche 54 Gleichungen.
Benötigt werden 81 Gleichungen.

Die fehlenden 27 Stück kommen aus den 9 Feldsummen und den 9 
Reihensummen und den 9 Spaltensummen von jeweils 45

Ingesamt würde es also ein 81x81 Gleichungssystem werden, wenn ich 
daraus ein LGS bilde... Das System wäre regulär und damit lösbar.
Alleine das Einhacken in Matlab würde aber sicher mehr als 2 Stunden 
benötigen...

Matlab würde aufgrund der Regularität auf jeden Fall eine Lösung finden, 
aber im Aufwand von O².

Kann man aufgrund der sudokuspezifischen Regelsätze den Aufwand 
reduzieren?


VG
Persönliche Seite #3267112
Lesenswert?

Großes Fragezeichen schrieb:
> Kann man aufgrund der sudokuspezifischen Regelsätze
> den Aufwand reduzieren?

Naja die "Randzahlen" muss man so oder so abtippen, die Gleichungen für 
Mathlab könnte man sich dann mit etwas Geschick ggf. generieren lassen.

Oder dann halt gleich einen kompletten solver schreiben. Das das ggf. 
ein paar Minuten bis zur Lösung dauert ist erst mal unerheblich wenn man 
nicht Millionen der Dinger lösen will oder eine der Ehrgeiz packt ;-)

Großes Fragezeichen schrieb:
> Alleine das Einhacken in Matlab würde aber sicher mehr
> als 2 Stunden benötigen

Er hat ja nun schon 3h gegoggelt, hier Beiträge verfasst, ... und Sinn 
des "Spiels" ist es doch das Rätsel eigenständig zu lösen. Wenn man 
halt keine Lust dazu hat zwingt einen ja niemand, da er auch nicht 
"selber proggen mag"...
Gast #3267416
Lesenswert?

Großes Fragezeichen schrieb:
> Wenn ja, wird sicherlich eine ganze Menge Speicherplatz benötigt, um
> falsche Lösungen nicht versehentlich zu wiederholen...

Häh? Das ist ja der Witz bei der Rekursion, dass quasi jedes Feld auf 
jede Variable getestet wird. Da wird nichts wiederholt.

Die Kunst ist, die Abbruchbedingungen clever zu definieren, so dass das 
Programm recht schnell nicht zielführende Wege erkennt und nicht weiter 
verfolgt.
Persönliche Seite #3267487
Lesenswert?

Siebzehn mal Fuenfzehn schrieb:
> Backtracking muss im schlechtesten Fall alles abklapprn,
> quasi Brute-force

Für ein beliebiges Problem ja, für Sudoku und die hier vorgestellte 
Variante gibt es aber ungültige Züge, d.h. gewisse Pfade enden vorzeitig 
bevor man alles durchsuchen musste. Der Trick ist also möglichst gute 
Abbruchkriterien zu finden, ein "normales" Sudoku kann man innerhalb 
weniger Sekunden auf einem Standard PC lösen (lassen).
Gast #3267510
Lesenswert?

bei einem 9x9 Sudoku dauert Backtracking ein paar ms. Sudoku ist 
NP-vollständig, also kann man machen was man will schneller als 
exponentiell wirds nicht selbst wenn man mit Regeln den Rekursionsbaum 
prunt. Diese Variante kann man aber auch zügig lösen, ist ja nur 9x9.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren