{"id":54,"date":"2006-01-04T13:02:35","date_gmt":"2006-01-04T13:02:35","guid":{"rendered":"https:\/\/hostadm.lithium.selfhost.de\/?p=54"},"modified":"2020-09-09T20:07:52","modified_gmt":"2020-09-09T20:07:52","slug":"sudoku-ii","status":"publish","type":"post","link":"https:\/\/martin-seewaldt.de\/?p=54","title":{"rendered":"Sudoku II"},"content":{"rendered":"<p><b>Gestelltes Problem<\/b><br \/>\nDas Sudoku war also prinzipiell gel\u00f6st. Es zeigte sich jedoch, dass f\u00fcr manche R\u00e4tsel recht viele Kombinationen ausprobiert werden mussten. Bei einem R\u00e4tsel waren es 45253, was f\u00fcr die heutige Hardware ein Witz ist, aber in Zusammenhang mit der Ausgabe jeder Position auf dem Monitor dann doch zu Laufzeiten von \u00fcber 10 Minuten f\u00fchrte. Da kann man dann nat\u00fcrlich tricksen und nur jede f\u00fcnfte oder zehnte Position ausgeben. Es zeigte sich jedoch dass bei einer vertikal gespiegelten Version des obigen R\u00e4tsels statt 45253 Versuchen nur noch 199 n\u00f6tig waren. Die Methode, die jeweils erste freie Zelle von links oben durchzuiterieren war offensichtlich suboptimal.<\/p>\n<p><b>Algorithmus<\/b><br \/>\nDer Grundalgorithmus blieb gleich, freie Zelle suchen und f\u00fcr jede m\u00f6gliche Ziffer Rekursion mit der n\u00e4chsten freien Zelle. Ge\u00e4ndert wurde lediglich das Auffinden dieser Zelle. Unter allen noch freien Zellen wird die genommen, deren Kasten, Zeile und Spalte am meisten gef\u00fcllt sind. Bei der Optimierung von rekursiven Programmen habe ich immer eine gewisse Scheu, zus\u00e4tzliche Anweisungen einzuf\u00fcgen, aber letzten Endes h\u00e4ngt die Gesamtlaufzeit nur von einer m\u00f6glichst niedrigen Anzahl Rekursionen ab. Mein Referenzr\u00e4tsel wird jetzt jedenfalls mit 315 Versuchen gel\u00f6st.<\/p>\n<p><b>Screenshot:<\/b><br \/>\n<img decoding=\"async\" src=\"https:\/\/martin-seewaldt.de\/Programme\/Sudoku2.gif\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Gestelltes Problem Das Sudoku war also prinzipiell gel\u00f6st. Es zeigte sich jedoch, dass f\u00fcr manche R\u00e4tsel recht viele Kombinationen ausprobiert werden mussten. Bei einem R\u00e4tsel waren es 45253, was f\u00fcr die heutige Hardware ein Witz ist, aber in Zusammenhang mit der Ausgabe jeder Position auf dem Monitor dann doch zu Laufzeiten von \u00fcber 10 Minuten [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[3],"tags":[],"class_list":["post-54","post","type-post","status-publish","format-standard","hentry","category-programme_apps"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Sudoku II - Martin Seewaldt<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/martin-seewaldt.de\/?p=54\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Sudoku II - Martin Seewaldt\" \/>\n<meta property=\"og:description\" content=\"Gestelltes Problem Das Sudoku war also prinzipiell gel\u00f6st. Es zeigte sich jedoch, dass f\u00fcr manche R\u00e4tsel recht viele Kombinationen ausprobiert werden mussten. Bei einem R\u00e4tsel waren es 45253, was f\u00fcr die heutige Hardware ein Witz ist, aber in Zusammenhang mit der Ausgabe jeder Position auf dem Monitor dann doch zu Laufzeiten von \u00fcber 10 Minuten [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/martin-seewaldt.de\/?p=54\" \/>\n<meta property=\"og:site_name\" content=\"Martin Seewaldt\" \/>\n<meta property=\"article:published_time\" content=\"2006-01-04T13:02:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-09-09T20:07:52+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/martin-seewaldt.de\/Programme\/Sudoku2.gif\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/martin-seewaldt.de\\\/?p=54#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/martin-seewaldt.de\\\/?p=54\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\\\/\\\/martin-seewaldt.de\\\/#\\\/schema\\\/person\\\/a1a6571321f54991629bb99be16f5e5f\"},\"headline\":\"Sudoku II\",\"datePublished\":\"2006-01-04T13:02:35+00:00\",\"dateModified\":\"2020-09-09T20:07:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/martin-seewaldt.de\\\/?p=54\"},\"wordCount\":205,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/martin-seewaldt.de\\\/?p=54#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/martin-seewaldt.de\\\/Programme\\\/Sudoku2.gif\",\"articleSection\":[\"Programme\\\/Apps\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/martin-seewaldt.de\\\/?p=54#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/martin-seewaldt.de\\\/?p=54\",\"url\":\"https:\\\/\\\/martin-seewaldt.de\\\/?p=54\",\"name\":\"Sudoku II - Martin Seewaldt\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/martin-seewaldt.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/martin-seewaldt.de\\\/?p=54#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/martin-seewaldt.de\\\/?p=54#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/martin-seewaldt.de\\\/Programme\\\/Sudoku2.gif\",\"datePublished\":\"2006-01-04T13:02:35+00:00\",\"dateModified\":\"2020-09-09T20:07:52+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/martin-seewaldt.de\\\/#\\\/schema\\\/person\\\/a1a6571321f54991629bb99be16f5e5f\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/martin-seewaldt.de\\\/?p=54#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/martin-seewaldt.de\\\/?p=54\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/martin-seewaldt.de\\\/?p=54#primaryimage\",\"url\":\"https:\\\/\\\/martin-seewaldt.de\\\/Programme\\\/Sudoku2.gif\",\"contentUrl\":\"https:\\\/\\\/martin-seewaldt.de\\\/Programme\\\/Sudoku2.gif\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/martin-seewaldt.de\\\/?p=54#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/martin-seewaldt.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Sudoku II\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/martin-seewaldt.de\\\/#website\",\"url\":\"https:\\\/\\\/martin-seewaldt.de\\\/\",\"name\":\"Martin Seewaldt\",\"description\":\"Einige meiner Projekte\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/martin-seewaldt.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/martin-seewaldt.de\\\/#\\\/schema\\\/person\\\/a1a6571321f54991629bb99be16f5e5f\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8c382657803c93429dee7a228c33968728e6adc9a850a0b0488abd4e9c466179?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8c382657803c93429dee7a228c33968728e6adc9a850a0b0488abd4e9c466179?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8c382657803c93429dee7a228c33968728e6adc9a850a0b0488abd4e9c466179?s=96&d=mm&r=g\",\"caption\":\"admin\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Sudoku II - Martin Seewaldt","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/martin-seewaldt.de\/?p=54","og_locale":"en_US","og_type":"article","og_title":"Sudoku II - Martin Seewaldt","og_description":"Gestelltes Problem Das Sudoku war also prinzipiell gel\u00f6st. Es zeigte sich jedoch, dass f\u00fcr manche R\u00e4tsel recht viele Kombinationen ausprobiert werden mussten. Bei einem R\u00e4tsel waren es 45253, was f\u00fcr die heutige Hardware ein Witz ist, aber in Zusammenhang mit der Ausgabe jeder Position auf dem Monitor dann doch zu Laufzeiten von \u00fcber 10 Minuten [&hellip;]","og_url":"https:\/\/martin-seewaldt.de\/?p=54","og_site_name":"Martin Seewaldt","article_published_time":"2006-01-04T13:02:35+00:00","article_modified_time":"2020-09-09T20:07:52+00:00","og_image":[{"url":"https:\/\/martin-seewaldt.de\/Programme\/Sudoku2.gif","type":"","width":"","height":""}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"admin","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/martin-seewaldt.de\/?p=54#article","isPartOf":{"@id":"https:\/\/martin-seewaldt.de\/?p=54"},"author":{"name":"admin","@id":"https:\/\/martin-seewaldt.de\/#\/schema\/person\/a1a6571321f54991629bb99be16f5e5f"},"headline":"Sudoku II","datePublished":"2006-01-04T13:02:35+00:00","dateModified":"2020-09-09T20:07:52+00:00","mainEntityOfPage":{"@id":"https:\/\/martin-seewaldt.de\/?p=54"},"wordCount":205,"commentCount":0,"image":{"@id":"https:\/\/martin-seewaldt.de\/?p=54#primaryimage"},"thumbnailUrl":"https:\/\/martin-seewaldt.de\/Programme\/Sudoku2.gif","articleSection":["Programme\/Apps"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/martin-seewaldt.de\/?p=54#respond"]}]},{"@type":"WebPage","@id":"https:\/\/martin-seewaldt.de\/?p=54","url":"https:\/\/martin-seewaldt.de\/?p=54","name":"Sudoku II - Martin Seewaldt","isPartOf":{"@id":"https:\/\/martin-seewaldt.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/martin-seewaldt.de\/?p=54#primaryimage"},"image":{"@id":"https:\/\/martin-seewaldt.de\/?p=54#primaryimage"},"thumbnailUrl":"https:\/\/martin-seewaldt.de\/Programme\/Sudoku2.gif","datePublished":"2006-01-04T13:02:35+00:00","dateModified":"2020-09-09T20:07:52+00:00","author":{"@id":"https:\/\/martin-seewaldt.de\/#\/schema\/person\/a1a6571321f54991629bb99be16f5e5f"},"breadcrumb":{"@id":"https:\/\/martin-seewaldt.de\/?p=54#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/martin-seewaldt.de\/?p=54"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/martin-seewaldt.de\/?p=54#primaryimage","url":"https:\/\/martin-seewaldt.de\/Programme\/Sudoku2.gif","contentUrl":"https:\/\/martin-seewaldt.de\/Programme\/Sudoku2.gif"},{"@type":"BreadcrumbList","@id":"https:\/\/martin-seewaldt.de\/?p=54#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/martin-seewaldt.de\/"},{"@type":"ListItem","position":2,"name":"Sudoku II"}]},{"@type":"WebSite","@id":"https:\/\/martin-seewaldt.de\/#website","url":"https:\/\/martin-seewaldt.de\/","name":"Martin Seewaldt","description":"Einige meiner Projekte","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/martin-seewaldt.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/martin-seewaldt.de\/#\/schema\/person\/a1a6571321f54991629bb99be16f5e5f","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/8c382657803c93429dee7a228c33968728e6adc9a850a0b0488abd4e9c466179?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/8c382657803c93429dee7a228c33968728e6adc9a850a0b0488abd4e9c466179?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/8c382657803c93429dee7a228c33968728e6adc9a850a0b0488abd4e9c466179?s=96&d=mm&r=g","caption":"admin"}}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/martin-seewaldt.de\/index.php?rest_route=\/wp\/v2\/posts\/54","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/martin-seewaldt.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/martin-seewaldt.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/martin-seewaldt.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/martin-seewaldt.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=54"}],"version-history":[{"count":3,"href":"https:\/\/martin-seewaldt.de\/index.php?rest_route=\/wp\/v2\/posts\/54\/revisions"}],"predecessor-version":[{"id":511,"href":"https:\/\/martin-seewaldt.de\/index.php?rest_route=\/wp\/v2\/posts\/54\/revisions\/511"}],"wp:attachment":[{"href":"https:\/\/martin-seewaldt.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=54"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/martin-seewaldt.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=54"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/martin-seewaldt.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=54"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}