Sudoku Solver

    • Release
    • Open Source

    Es gibt 39 Antworten in diesem Thema. Der letzte Beitrag () ist von Plexian.

      Sudoku Solver

      Sudoku Solver

      Beschreibung:
      Diese Software ist, wie der Name schon sagt, dafür gedacht Sudokus zu lösen. Momentane Funktionen sind das Einlesen von Sudokus aus reinen Textdateien, das Speichern als TXT oder BMP und das Lösen selbstverständlich. Die momentane Version ist 1.0, und es werden "Human Solving Techniques" oder "BackTracking" genutzt. Die Erfolgsquote liegt bei 49/50 (einfachen) Sudokus (wie aus Zeitschriften o.Ä.) und bei 319 / 1011 von allen möglichen Sudokus. Bei BackTracking logischerweise bei 100%.
      Testdateien: 1Sudoku.txt - 2Sudoku.txt - 1Sudoku.xml - 2Sudoku.xml

      Screenshots:


      Verwendete Programmiersprache und IDE:
      C# (IDE: VS 2015 Community)

      Systemanforderungen:
      .NET Framework 4.0

      Download:
      Binaries: Sudoku Solver 1.1.zip (35,66kB)
      GitHub: github.com/ThePlexian/Sudoku-Solver

      Versionslog

      Version 1.0: Sudoku Solver 1.0.zip (37,03 kB)
      Version 0.9: Sudoku Solver 0.9.zip (33,45 kB)
      Version 0.8: Sudoku Solver 0.8.zip (19,09 kB)



      Lizenz/Weitergabe:
      Freeware, OpenSource

      ToDo Liste:



      Kritik ist wie immer erwünscht, und viel Spaß damit!
      »There's no need to "teach" atheism. It's the natural result of education without indoctrination.« — Ricky Gervais

      Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „Plexian“ ()

      Echt ne coole sache :)
      habs mal mit dem erst besten aus dem inet getestet, hat wunderbar geklappt!

      Was mir aufgefallen ist:
      - Num Block beim selbst befüllen funktioniert nicht
      - würde gerne mit den pfeiltasten zwischen den blöcken wählen, aber die richtung stimmt garnicht (wenn ich pfel nach unten klicke fahr er nach rechts usw..)
      @windowsfan :
      Thx für testen :) Das mit dem NumBlock kann ich schnell fixen, ich dachte das ginge schon. Und das mit den pfeiltasten, ja, da hab ich wohl was mit dem enum verhauen ^^
      Upload kommt nachher.

      EDIT: Update ist da, beides geht jz, hatte beides auch mal funktioniert bis ich was geändert hatte bei den Indices, und hatte es dann auch nicht mehr geprüft. Danke ^^
      »There's no need to "teach" atheism. It's the natural result of education without indoctrination.« — Ricky Gervais

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ThePlexian“ ()

      ThePlexian schrieb:

      319 / 1011

      Lass doch alle Zeilen vom Programm gegenprüfen ob zb bei3x3 Sudoku in jeder Zeile zusammen 45 rauskommt somit kannst du vor der Ausgabe immerhin grob auf Reichlichkeit Prüfen
      Unfortunately, this Signature is not available in Germany because it may contain music for which GEMA
      has not granted the respective music rights. Sorry about that.

      Zum überprüfen ob die Lösung richtig ist kannst du es doch direkt so testen ?!
      Natürlich jede Zeile


      Sonst Gut gelungen.
      Jedoch könntest du noch eine Umsetzung für 2x2 und 4x4 Felder usw. Integrieren
      Bilder
      • SS.PNG

        69,46 kB, 404×281, 420 mal angesehen
      Unfortunately, this Signature is not available in Germany because it may contain music for which GEMA
      has not granted the respective music rights. Sorry about that.

      So, hier mal eine geupdatete Version:
      - Es ist nun die Lösungsmethode auswählbar
      - Es gibt einige Funktionen, die angedeutet werden aber noch nicht implementiert sind (Sprache ändern etc.)
      - Geschwindigkeitsoptimierung

      Alles im Startpost!
      »There's no need to "teach" atheism. It's the natural result of education without indoctrination.« — Ricky Gervais
      So, als kleiner Vorgeschmack ;) :
      Demnächst werde ich 1.0 veröffentlichen, mit der dann neue Funktionen hinzukommen:
      1. Alle Sudokus lösbar (wenn auch mit backtracking) - Check
      2. Kleine Anzeige beim Lösen mit Infos
      3. Neuer MenuStrip - Check
      4. UI friert nicht ein - Check
      5. Deutsch wird hinzugefügt (mal sehen, wenn überhaupt dann 1.1)
      6. Farben einstellbar
      7. About Form

      Zu 1.:
      Letzter Benchmark: 1011 von 1011 gelöst, max. time = 834ms, min. time = 10ms, average time = 86ms. (Durchschnittssudokus)
      Letzter Benchmark 2: 95 von 95 gelöst, max. time = 4540ms, min. time 30ms, average time = 266ms ((Sehr) schwere Sudokus - extra für benchmarks gedacht)
      »There's no need to "teach" atheism. It's the natural result of education without indoctrination.« — Ricky Gervais

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „ThePlexian“ ()

      ist dann auch folgendes dabei:

      vergleiche das hinzugefügte Bild mit den kleinen Hilfszahlen...

      Das 3*3 Feld oben links in der Ecke... die 5 passt nur in das mittlere Feld in der oberen Reihe...

      wenn das der Falls ist, dass eine Zahl nur in ein einziges Feld (eines 3*3 Feldes) passt, dass dann keine anderen kleinen Hilfszahlen erscheinen...weil die sind in dem Fall dann falsch...weil eben nur diese eine Zahl, die sonst nirgends hineinpasst richtig ist...
      @Runshak

      War eigentlich nicht geplant, ich meine wozu sollte dass gut sein ?
      Also das ganze passiert bei dem Lösen ja sowieso, nenn mir nur einen triftigen Grund wozu ich das einbaue und ich machs ^^
      »There's no need to "teach" atheism. It's the natural result of education without indoctrination.« — Ricky Gervais

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „ThePlexian“ ()

      Meiner Meinung nach ist es eben falsch da weitere Zahlen einzutragen, außer der 5 (hier im Bild)...Da in dieses Feld NUR die 5 gehört...aber keine 1,7 oder 8...Diese Zahlen könnten zwar theoretisch drin stehen, aber in dem Fall ist es meiner Meinung nach falsch sie reinzuschreiben...ich würde das nur machen, wenn es nicht eindeutig ist...
      @Runshak

      Ausgangssituation:
      --> shot1

      Habs jetzt einmal implementiert, dann haben wir das, ich sehe nur noch keinen Vorteil:
      --> shot2
      Bilder
      • shot1.JPG

        55,43 kB, 431×538, 310 mal angesehen
      • shot2.JPG

        50,81 kB, 431×538, 346 mal angesehen
      »There's no need to "teach" atheism. It's the natural result of education without indoctrination.« — Ricky Gervais
      naja ich hätte auch nicht alle hilfszahlen rausgeworfen sondern nur die, die absolut nicht dahin gehören...im oberen linken 3*3 Feld passt die 7 in quasi jedes Feld...erst einmal...aber die 5 passt nur in ein einziges Feld...jetzt hätte ich das so gelöst, dass wenn in einem Feld eine Zahl drin steht, die nur in diesem Feld stehen kann, dann gehören da keine anderen Hilfszahlen mit hinein...aber wenn in einem Feld mehrere Zahlen drin stehen und diese Zahlen auch noch in einem anderen Feld stehen können, dann würde ich das lassen...mir gings nur um die 5 (hier im bild)
      @Runshak

      Okay, aber ich würde dann nur eine Methode anwenden, einfach willkürlich ist das...

      Ich meine:

      C#-Quellcode

      1. public void DeleteDeletableCandidates()
      2. {
      3. while (HiddenSubset(1))
      4. { }
      5. }

      ?
      »There's no need to "teach" atheism. It's the natural result of education without indoctrination.« — Ricky Gervais
      @Runshak :
      Ich habe 8 Methoden um Kandidaten zu entfernen, warum sollte ich dann, noch vor dem Lösen, eine, und nur eine anwenden?

      @ErfinderDesRades : Das ist ja nun ein Sudoku Löser. Sinn der Sache ist es ja selbst einzugeben und dann zu lösen. Wenn du dennoch irgendein Sudoku haben willst, nimm das aus dem Startpost, also das hier. Ansonsten guck dir mal diese Seite hier an, da sind, wenn du etwas runterscrollst, ein paar txt-Dateien mit zig Sudokus darin. Nimm dir eine Zeile raus, und speicher diese ab und die kannst du dann Laden.
      Ich merke selbst, da muss ich noch was machen, schlag mir was vor wenn du was weißt ^^
      »There's no need to "teach" atheism. It's the natural result of education without indoctrination.« — Ricky Gervais
      Gut, mit der einen TextDatei gehts.
      Aber wenn ich in ein leeres Sudoku iwelchen Mist eingebe (ich bin doch zu faul, eine gültige Sudoku-Aufgabe da einzutippen), und lösen klicke, dann stürzt er ab oder tut einfach nix.

      Aber das selbstgebastelte Control ist sehr kunstvoll: Eingeben, löschen, ändern, Focus-Handling - du lieberHimmel.
      Bisserl überrascht ist man, wenn auf einmal eine Zahleneingabe ohne jedes Feedback abgelehnt wird. Da würde ich unbeding

      C#-Quellcode

      1. System.Media.SystemSounds.Hand.Play();
      abspielen.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ErfinderDesRades“ ()