<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Solving Nonograms</title>
	<atom:link href="http://www.somethinkodd.com/oddthinking/2005/06/11/solving-nonograms/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.somethinkodd.com/oddthinking/2005/06/11/solving-nonograms/</link>
	<description>A blog for odd things and odd thoughts.</description>
	<lastBuildDate>Wed, 01 Feb 2012 22:21:16 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: OddThinking &#187; Message-Passing in my Puzzle-Solving Architecture</title>
		<link>http://www.somethinkodd.com/oddthinking/2005/06/11/solving-nonograms/comment-page-1/#comment-85589</link>
		<dc:creator>OddThinking &#187; Message-Passing in my Puzzle-Solving Architecture</dc:creator>
		<pubDate>Fri, 04 Jan 2008 02:47:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.somethinkodd.com/oddthinking/?p=33#comment-85589</guid>
		<description>[...] the past, I have blogged about a several projects to solve some puzzles with a common theme: Nonograms, Kakuro, Sudoku, Solitaire Battleships and Slitherlinks [in [...]</description>
		<content:encoded><![CDATA[<p>[...] the past, I have blogged about a several projects to solve some puzzles with a common theme: Nonograms, Kakuro, Sudoku, Solitaire Battleships and Slitherlinks [in [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: OddThinking &#187; Pursuing other Puzzles</title>
		<link>http://www.somethinkodd.com/oddthinking/2005/06/11/solving-nonograms/comment-page-1/#comment-85583</link>
		<dc:creator>OddThinking &#187; Pursuing other Puzzles</dc:creator>
		<pubDate>Fri, 04 Jan 2008 02:15:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.somethinkodd.com/oddthinking/?p=33#comment-85583</guid>
		<description>[...] proved that Sudoku was NP-complete. That paper distracted me when it referred to my old friends, Nonograms, as well as Slitherlinks. Slitherlinks led me to play at Puzzle Japan before wandering off after [...]</description>
		<content:encoded><![CDATA[<p>[...] proved that Sudoku was NP-complete. That paper distracted me when it referred to my old friends, Nonograms, as well as Slitherlinks. Slitherlinks led me to play at Puzzle Japan before wandering off after [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: OddThinking &#187; The No-Nos and Yes-Yeses of the Nonogram solution</title>
		<link>http://www.somethinkodd.com/oddthinking/2005/06/11/solving-nonograms/comment-page-1/#comment-475</link>
		<dc:creator>OddThinking &#187; The No-Nos and Yes-Yeses of the Nonogram solution</dc:creator>
		<pubDate>Thu, 11 Aug 2005 04:54:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.somethinkodd.com/oddthinking/?p=33#comment-475</guid>
		<description>&lt;!-- UnMarkedDown_2_01132522622--&gt;&lt;p&gt;[...] Previously, I described a general approach to solving Nonograms. I didn&#8217;t go into many details about the actual implementation. Here I go further, in an effort to win back some of the sunk cost involved in the development. [...]&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p><!-- UnMarkedDown_2_01132522622-->
<p>[...] Previously, I described a general approach to solving Nonograms. I didn&#8217;t go into many details about the actual implementation. Here I go further, in an effort to win back some of the sunk cost involved in the development. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: OddThinking &#187; The No-Nos and Yes-Yeses of the Nonogram solution</title>
		<link>http://www.somethinkodd.com/oddthinking/2005/06/11/solving-nonograms/comment-page-1/#comment-88</link>
		<dc:creator>OddThinking &#187; The No-Nos and Yes-Yeses of the Nonogram solution</dc:creator>
		<pubDate>Sun, 12 Jun 2005 08:14:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.somethinkodd.com/oddthinking/?p=33#comment-88</guid>
		<description>&lt;!-- UnMarkedDown_2_01132522586--&gt;&lt;p&gt;I give more details about the software and address Alastair&#039;s questions in the next section of this series of posts about Nonograms.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p><!-- UnMarkedDown_2_01132522586-->
<p>I give more details about the software and address Alastair&#8217;s questions in the next section of this series of posts about Nonograms.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alastair</title>
		<link>http://www.somethinkodd.com/oddthinking/2005/06/11/solving-nonograms/comment-page-1/#comment-86</link>
		<dc:creator>Alastair</dc:creator>
		<pubDate>Sat, 11 Jun 2005 06:05:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.somethinkodd.com/oddthinking/?p=33#comment-86</guid>
		<description>&lt;!-- UnMarkedDown_2_01132522586--&gt;&lt;p&gt;Nice work. http://sourceforge.net/projects/nonogramsolver is free.&lt;/p&gt;

&lt;p&gt;Some observations:&lt;/p&gt;

&lt;p&gt;Firstly it seems that object-oriented analysis is the real winner here. I&#039;m sure it would be possible to code this in a strictly procedural (or even functional?) programming language but I wouldn&#039;t want to try it. I think the key benefit here of OO is to separate the task of modelling the rules of the puzzle from the task of solving it. Just curious whether you enforced this separation in the code itself?&lt;/p&gt;

&lt;p&gt;Secondly with regard to the domain modelling, I&#039;m interested why you chose the white segment maximum length to be the grid size, when it plainly could never get to this size? Does it affect your analysis if you put a more realistic upper limit on the white segment sizes (eg grid size minus coloured segment sizes at least)? I suspect it doesn&#039;t but it stuck out as an anomaly to me.&lt;/p&gt;

&lt;p&gt;Perhaps you can tolerate some inaccuracy in the domain modelling (eg in the maximum length of the white segments), on the assumption that you&#039;re not going to require it at puzzle solving time. This breaks the modelling/solving separation mentioned above, but it&#039;s the 80/20 rule, and that should be the software engineering mantra. Another way of looking at it is just-in-time modelling - adding accuracy to the model as you know you need it and not before. The trick of course is knowing when you need it.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p><!-- UnMarkedDown_2_01132522586-->
<p>Nice work. <a href="http://sourceforge.net/projects/nonogramsolver" rel="nofollow" class="liexternal">http://sourceforge.net/projects/nonogramsolver</a> is free.</p>
<p>Some observations:</p>
<p>Firstly it seems that object-oriented analysis is the real winner here. I&#8217;m sure it would be possible to code this in a strictly procedural (or even functional?) programming language but I wouldn&#8217;t want to try it. I think the key benefit here of OO is to separate the task of modelling the rules of the puzzle from the task of solving it. Just curious whether you enforced this separation in the code itself?</p>
<p>Secondly with regard to the domain modelling, I&#8217;m interested why you chose the white segment maximum length to be the grid size, when it plainly could never get to this size? Does it affect your analysis if you put a more realistic upper limit on the white segment sizes (eg grid size minus coloured segment sizes at least)? I suspect it doesn&#8217;t but it stuck out as an anomaly to me.</p>
<p>Perhaps you can tolerate some inaccuracy in the domain modelling (eg in the maximum length of the white segments), on the assumption that you&#8217;re not going to require it at puzzle solving time. This breaks the modelling/solving separation mentioned above, but it&#8217;s the 80/20 rule, and that should be the software engineering mantra. Another way of looking at it is just-in-time modelling &#8211; adding accuracy to the model as you know you need it and not before. The trick of course is knowing when you need it.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

