<?xml version="1.0" encoding="utf-8" ?>
<rss version='2.0'><channel><title>パズル問題自動生成時代</title
><link>http://karetta.jp/book/puzzle-generator-age</link
><description></description
><lastBuildDate>Tue, 28 Aug 2007 15:00:00 +0900</lastBuildDate
><item><title>乱数の乱用だけでは限界</title
><link>http://karetta.jp/book-node/puzzle-generator-age/009305</link
><pubDate>Wed, 20 Feb 2008 19:45:21 +0900</pubDate
><description>&lt;div&gt;&lt;node-set&gt;&lt;blockquote&gt;&lt;p&gt;パズル問題自動生成時代の「ナンプレ ＞ 乱数の乱用だけでは限界」は、
&lt;/p
&gt;&lt;p&gt;&lt;a href=&#39;http://puzzle.gr.jp/&#39;&gt;http://puzzle.gr.jp/&lt;/a
&gt;
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/puzzle_gr_jp_logo.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;Puzzle Generator Japan
&lt;/p
&gt;&lt;p&gt;内の
&lt;a href=&#39;http://puzzle.gr.jp/show/Japanese/GeneratorAge/NumberPlace&#39;&gt;『パズル問題自動生成時代』のナンプレ&lt;/a
&gt;
&lt;/p
&gt;&lt;p&gt;に移動になりました。
&lt;/p
&gt;&lt;/blockquote
&gt;&lt;/node-set
&gt;&lt;node-set&gt;&lt;h2 id=&#39;H-x82tz&#39;&gt;内容
&lt;/h2
&gt;&lt;ul&gt;&lt;li&gt;まず答を作ろう
&lt;/li
&gt;&lt;li&gt;白マスをどんどん抜く
&lt;/li
&gt;&lt;li&gt;数字をどんどん入れ替える
&lt;/li
&gt;&lt;li&gt;海外での自動生成
&lt;/li
&gt;&lt;/ul
&gt;&lt;/node-set
&gt;&lt;/div
&gt;</description
></item
><item><title>プログラムで問題を自動生成</title
><link>http://karetta.jp/book-node/puzzle-generator-age/009176</link
><pubDate>Fri, 28 Dec 2007 17:35:51 +0900</pubDate
><description>&lt;div&gt;&lt;node-set&gt;&lt;blockquote&gt;&lt;p&gt;パズル問題自動生成時代の「ナンプレ ＞ プログラムで問題を自動生成」は、
&lt;/p
&gt;&lt;p&gt;&lt;a href=&#39;http://puzzle.gr.jp/&#39;&gt;http://puzzle.gr.jp/&lt;/a
&gt;
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/puzzle_gr_jp_logo.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;Puzzle Generator Japan
&lt;/p
&gt;&lt;p&gt;内の
&lt;a href=&#39;http://puzzle.gr.jp/show/Japanese/GeneratorAge/NumberPlace&#39;&gt;『パズル問題自動生成時代』のナンプレ&lt;/a
&gt;
&lt;/p
&gt;&lt;p&gt;に移動になりました。
&lt;/p
&gt;&lt;/blockquote
&gt;&lt;/node-set
&gt;&lt;node-set&gt;&lt;h2 id=&#39;H-x82tz&#39;&gt;内容
&lt;/h2
&gt;&lt;ul&gt;&lt;li&gt;手作りの方法
&lt;ul&gt;&lt;li&gt;白マスが決まるように空色マスを決める
&lt;/li
&gt;&lt;li&gt;効率的な決め方
&lt;/li
&gt;&lt;li&gt;バランス
&lt;/li
&gt;&lt;/ul
&gt;&lt;/li
&gt;&lt;li&gt;破綻の判定が欲しい
&lt;ul&gt;&lt;li&gt;人間が調べ尽くすのは困難
&lt;/li
&gt;&lt;li&gt;馬鹿独の活用
&lt;/li
&gt;&lt;li&gt;馬鹿独の有効性と限界
&lt;/li
&gt;&lt;/ul
&gt;&lt;/li
&gt;&lt;li&gt;序盤の数字のばらまき方
&lt;ul&gt;&lt;li&gt;序盤の考え方
&lt;/li
&gt;&lt;li&gt;何マスか決めてみよう
&lt;/li
&gt;&lt;li&gt;哀しい結末
&lt;/li
&gt;&lt;li&gt;白マスを積極的に決める
&lt;/li
&gt;&lt;li&gt;早めに序盤を終らそう
&lt;/li
&gt;&lt;/ul
&gt;&lt;/li
&gt;&lt;li&gt;中盤は統計的にごまかそう
&lt;ul&gt;&lt;li&gt;中盤の考え方
&lt;/li
&gt;&lt;li&gt;終盤に繋げられるか
&lt;/li
&gt;&lt;li&gt;終盤処理
&lt;/li
&gt;&lt;/ul
&gt;&lt;/li
&gt;&lt;li&gt;良い問題を目指して
&lt;ul&gt;&lt;li&gt;表出個数と作りにくさ
&lt;/li
&gt;&lt;li&gt;最少表出問題
&lt;/li
&gt;&lt;/ul
&gt;&lt;/li
&gt;&lt;li&gt;終盤は問題の選択
&lt;ul&gt;&lt;li&gt;ユニーク解の数
&lt;/li
&gt;&lt;li&gt;レベルの指定
&lt;/li
&gt;&lt;/ul
&gt;&lt;/li
&gt;&lt;li&gt;見かけが大切
&lt;ul&gt;&lt;li&gt;空色マスの配置
&lt;/li
&gt;&lt;li&gt;問題の数字を指定して作る
&lt;/li
&gt;&lt;li&gt;解は数字が奇麗に並んでいる
&lt;/li
&gt;&lt;li&gt;何となく気になる問題にする
&lt;/li
&gt;&lt;/ul
&gt;&lt;/li
&gt;&lt;li&gt;面白さの実現について
&lt;ul&gt;&lt;li&gt;人間のように解いて評価する
&lt;/li
&gt;&lt;li&gt;見逃しやすさ
&lt;/li
&gt;&lt;li&gt;手筋の多様性
&lt;/li
&gt;&lt;li&gt;意外な手筋 (2)
&lt;/li
&gt;&lt;/ul
&gt;&lt;/li
&gt;&lt;li&gt;自動生成プログラムのススメ
&lt;/li
&gt;&lt;/ul
&gt;&lt;/node-set
&gt;&lt;/div
&gt;</description
></item
><item><title>プログラムで問題を解く</title
><link>http://karetta.jp/book-node/puzzle-generator-age/009174</link
><pubDate>Wed, 05 Dec 2007 14:32:31 +0900</pubDate
><description>&lt;div&gt;&lt;node-set&gt;&lt;blockquote&gt;&lt;p&gt;パズル問題自動生成時代の「ナンプレ ＞ プログラムで問題を解く」は、
&lt;/p
&gt;&lt;p&gt;&lt;a href=&#39;http://puzzle.gr.jp/&#39;&gt;http://puzzle.gr.jp/&lt;/a
&gt;
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/puzzle_gr_jp_logo.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;Puzzle Generator Japan
&lt;/p
&gt;&lt;p&gt;内の
&lt;a href=&#39;http://puzzle.gr.jp/show/Japanese/GeneratorAge/NumberPlace&#39;&gt;『パズル問題自動生成時代』のナンプレ&lt;/a
&gt;
&lt;/p
&gt;&lt;p&gt;に移動になりました。
&lt;/p
&gt;&lt;/blockquote
&gt;&lt;/node-set
&gt;&lt;node-set&gt;&lt;h2 id=&#39;H-x82tz&#39;&gt;内容
&lt;/h2
&gt;&lt;ul&gt;&lt;li&gt;消去法のパズル
&lt;ul&gt;&lt;li&gt;可能性が１つのマスから決定
&lt;/li
&gt;&lt;li&gt;こんな解き方をするのか
&lt;/li
&gt;&lt;li&gt;消せるボールペン
&lt;/li
&gt;&lt;/ul
&gt;&lt;/li
&gt;&lt;li&gt;人間の解き方
&lt;ul&gt;&lt;li&gt;解法教室
&lt;/li
&gt;&lt;li&gt;手始め
&lt;/li
&gt;&lt;li&gt;完全確定マス
&lt;/li
&gt;&lt;li&gt;不完全確定マス
&lt;/li
&gt;&lt;li&gt;仮定で解く
&lt;/li
&gt;&lt;/ul
&gt;&lt;/li
&gt;&lt;li&gt;有効な問題とは
&lt;ul&gt;&lt;li&gt;解が存在しない
&lt;/li
&gt;&lt;li&gt;解が複数存在する
&lt;/li
&gt;&lt;li&gt;ミスなんだけれど
&lt;/li
&gt;&lt;li&gt;なぜ出題ミスが存在するか
&lt;/li
&gt;&lt;/ul
&gt;&lt;/li
&gt;&lt;li&gt;しらみ潰しでも解ける
&lt;ul&gt;&lt;li&gt;しらみ潰しの方法
&lt;/li
&gt;&lt;li&gt;馬鹿独
&lt;/li
&gt;&lt;li&gt;しらみ潰しと正当性
&lt;/li
&gt;&lt;/ul
&gt;&lt;/li
&gt;&lt;li&gt;解法テクニック
&lt;ul&gt;&lt;li&gt;中級テクニック
&lt;/li
&gt;&lt;li&gt;上級テクニック
&lt;/li
&gt;&lt;li&gt;結
&lt;/li
&gt;&lt;/ul
&gt;&lt;/li
&gt;&lt;li&gt;難易度判定
&lt;ul&gt;&lt;li&gt;難易度判定の必要性
&lt;/li
&gt;&lt;li&gt;個々のテクニックの難易度
&lt;/li
&gt;&lt;li&gt;アルゴリズムの概要
&lt;/li
&gt;&lt;li&gt;難易度の計算
&lt;/li
&gt;&lt;li&gt;難易度のチューニング
&lt;/li
&gt;&lt;li&gt;レベル分け
&lt;/li
&gt;&lt;/ul
&gt;&lt;/li
&gt;&lt;li&gt;人間とコンピュータの難易度感覚の差
&lt;ul&gt;&lt;li&gt;可能な数字が１つのマスを見つける
&lt;/li
&gt;&lt;li&gt;仮定して解く
&lt;/li
&gt;&lt;/ul
&gt;&lt;/li
&gt;&lt;li&gt;面白さの要因
&lt;ul&gt;&lt;li&gt;理詰めで解ける
&lt;/li
&gt;&lt;li&gt;難易度の変化
&lt;/li
&gt;&lt;li&gt;数字配置の美しさ
&lt;/li
&gt;&lt;li&gt;対称性
&lt;/li
&gt;&lt;li&gt;数字のない空間
&lt;/li
&gt;&lt;li&gt;数字の少なさ
&lt;/li
&gt;&lt;li&gt;数字の並び
&lt;/li
&gt;&lt;li&gt;手筋の面白さ
&lt;/li
&gt;&lt;/ul
&gt;&lt;/li
&gt;&lt;li&gt;頭の良過ぎるプログラムの末路
&lt;/li
&gt;&lt;li&gt;プログラムは腕が良過ぎる
&lt;/li
&gt;&lt;li&gt;プログラムは高速過ぎる
&lt;/li
&gt;&lt;/ul
&gt;&lt;/node-set
&gt;&lt;/div
&gt;</description
></item
><item><title>はじめに</title
><link>http://karetta.jp/book-node/puzzle-generator-age/009178</link
><pubDate>Sun, 02 Dec 2007 20:37:56 +0900</pubDate
><description>&lt;div&gt;&lt;node-set&gt;&lt;blockquote&gt;&lt;p&gt;パズル問題自動生成時代の「ナンプレ ＞ はじめに」は、
&lt;/p
&gt;&lt;p&gt;&lt;a href=&#39;http://puzzle.gr.jp/&#39;&gt;http://puzzle.gr.jp/&lt;/a
&gt;
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/puzzle_gr_jp_logo.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;Puzzle Generator Japan
&lt;/p
&gt;&lt;p&gt;内の
&lt;a href=&#39;http://puzzle.gr.jp/show/Japanese/GeneratorAge/NumberPlace&#39;&gt;『パズル問題自動生成時代』のナンプレ&lt;/a
&gt;
&lt;/p
&gt;&lt;p&gt;に移動になりました。
&lt;/p
&gt;&lt;/blockquote
&gt;&lt;/node-set
&gt;&lt;node-set&gt;&lt;h2 id=&#39;H-x82tz&#39;&gt;内容
&lt;/h2
&gt;&lt;ul&gt;&lt;li&gt;ナンプレとは
&lt;ul&gt;&lt;li&gt;ルール
&lt;/li
&gt;&lt;li&gt;名前
&lt;/li
&gt;&lt;li&gt;歴史
&lt;/li
&gt;&lt;li&gt;ブーム
&lt;/li
&gt;&lt;/ul
&gt;&lt;/li
&gt;&lt;li&gt;最初のパズルとして最適
&lt;ul&gt;&lt;li&gt;ペンシルパズル
&lt;/li
&gt;&lt;li&gt;簡潔なルール
&lt;/li
&gt;&lt;li&gt;変則ルール
&lt;/li
&gt;&lt;/ul
&gt;&lt;/li
&gt;&lt;li&gt;品質改善
&lt;ul&gt;&lt;li&gt;日本で進化
&lt;/li
&gt;&lt;li&gt;海外のナンプレ
&lt;/li
&gt;&lt;li&gt;改善の余地
&lt;/li
&gt;&lt;/ul
&gt;&lt;/li
&gt;&lt;li&gt;手作りに期待すること
&lt;ul&gt;&lt;li&gt;２つの方法
&lt;/li
&gt;&lt;li&gt;コンピュータへの期待
&lt;/li
&gt;&lt;li&gt;手作りへの期待
&lt;/li
&gt;&lt;/ul
&gt;&lt;/li
&gt;&lt;/ul
&gt;&lt;/node-set
&gt;&lt;/div
&gt;</description
></item
><item><title>概論</title
><link>http://karetta.jp/book-node/puzzle-generator-age/010451</link
><pubDate>Mon, 26 Nov 2007 12:25:25 +0900</pubDate
><description>&lt;div&gt;&lt;node-set&gt;&lt;blockquote&gt;&lt;p&gt;パズル問題自動生成時代の「概論」は、
&lt;/p
&gt;&lt;p&gt;&lt;a href=&#39;http://puzzle.gr.jp/&#39;&gt;http://puzzle.gr.jp/&lt;/a
&gt;
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/puzzle_gr_jp_logo.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;Puzzle Generator Japan
&lt;/p
&gt;&lt;p&gt;内の
&lt;a href=&#39;http://puzzle.gr.jp/show/Japanese/GeneratorAge&#39;&gt;『パズル問題自動生成時代』&lt;/a
&gt;
&lt;/p
&gt;&lt;p&gt;に移動になりました。
&lt;/p
&gt;&lt;/blockquote
&gt;&lt;/node-set
&gt;&lt;node-set&gt;&lt;h3 id=&#39;H-x82tz&#39;&gt;内容
&lt;/h3
&gt;&lt;ul&gt;&lt;li&gt;日本はパズルの超先進国
&lt;ul&gt;&lt;li&gt;頭脳遊び
&lt;/li
&gt;&lt;li&gt;ペンシルパズル
&lt;/li
&gt;&lt;li&gt;品質改善
&lt;/li
&gt;&lt;/ul
&gt;&lt;/li
&gt;&lt;li&gt;２１世紀の重要課題は知的暇潰し
&lt;ul&gt;&lt;li&gt;暇潰しの需要
&lt;/li
&gt;&lt;li&gt;経済的な暇潰し
&lt;/li
&gt;&lt;/ul
&gt;&lt;/li
&gt;&lt;li&gt;パズルと脳の活性化
&lt;ul&gt;&lt;li&gt;脳の研究状況
&lt;/li
&gt;&lt;li&gt;パズルと脳の活動
&lt;/li
&gt;&lt;li&gt;パズルと良い頭
&lt;/li
&gt;&lt;li&gt;パズルを解くと頭が良くなるか?
&lt;/li
&gt;&lt;li&gt;老人ボケ対策
&lt;/li
&gt;&lt;li&gt;結論
&lt;/li
&gt;&lt;/ul
&gt;&lt;/li
&gt;&lt;li&gt;パズルはコンピュータ技術を向上させた
&lt;ul&gt;&lt;li&gt;最初は数のパズル
&lt;/li
&gt;&lt;li&gt;箱入り娘
&lt;/li
&gt;&lt;li&gt;ナノピコ教室
&lt;/li
&gt;&lt;li&gt;速度差
&lt;/li
&gt;&lt;li&gt;大学での利用
&lt;/li
&gt;&lt;/ul
&gt;&lt;/li
&gt;&lt;li&gt;普及するパズルとは
&lt;ul&gt;&lt;li&gt;シンプルなルール
&lt;/li
&gt;&lt;li&gt;豊富な解法テクニック
&lt;/li
&gt;&lt;li&gt;難易度
&lt;/li
&gt;&lt;li&gt;問題の量産
&lt;/li
&gt;&lt;li&gt;世界に通じるパズル
&lt;/li
&gt;&lt;/ul
&gt;&lt;/li
&gt;&lt;li&gt;ゲームとパズルの違い
&lt;ul&gt;&lt;li&gt;誤解
&lt;/li
&gt;&lt;li&gt;パズルのゲーム化
&lt;/li
&gt;&lt;li&gt;寿命
&lt;/li
&gt;&lt;li&gt;自作
&lt;/li
&gt;&lt;/ul
&gt;&lt;/li
&gt;&lt;/ul
&gt;&lt;/node-set
&gt;&lt;/div
&gt;</description
></item
><item><title>問題ファイルの移動</title
><link>http://karetta.jp/book-node/puzzle-generator-age/194819</link
><pubDate>Tue, 28 Aug 2007 15:00:00 +0900</pubDate
><description>&lt;div&gt;&lt;node-set&gt;&lt;p&gt;以下の図のように、ファイル移動に関するボタンが並んでいる個所がある。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-control-move-1.png&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;[移動]ボタンが見えるが、これをいきなり押してはいけない。
[出力ディレクトリ指定]ボタンがあり、その右に出力先ディレクトリが示される。
現在、無指定状態なので、&amp;quot;Selected Directory&amp;quot; と表示され、
具体的なディレクトリが示されていない。
&lt;/p
&gt;&lt;p&gt;「出力」という言葉が使われているが、
移動(先)という言葉の方が適切だなぁ。
&lt;/p
&gt;&lt;h3 id=&#39;H-uw1k28&#39;&gt;出力ディレクトリ指定
&lt;/h3
&gt;&lt;p&gt;では、移動先のディレクトリを選択しよう。
&lt;/p
&gt;&lt;p&gt;移動元は、[評価ディレクトリ指定]で指定したもので、
その後何の更新もしていなければ、
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-control-standard-4.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;のままのはずだ。
&lt;/p
&gt;&lt;p&gt;Problemsというディレクトリに多数の問題があり、
その中から出題するものを選び出すということで、
Releaseというディレクトリを作って、
そちらに出題問題ファイルを集めることにしょう。
&lt;/p
&gt;&lt;p&gt;では、[出力ディレクトリ指定]ボタンを押して、ファイルブラウザで
Releaseディレクトリを選ぼう。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-control-move-2.png&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;すると、[出力ディレクトリ指定]ボタンの右に、
実際に指定されているディレクトリが表示されるようになる。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-control-move-3.png&#39; /&gt;
&lt;/p
&gt;&lt;/node-set
&gt;&lt;node-set&gt;&lt;p&gt;実際にファイルを移動してみよう。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-control-move-4.png&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;移動したい問題をクリックすることで選択しよう。
すると、選択した行のバックが色が変り、左上の盤面に問題が表示される。
&lt;/p
&gt;&lt;p&gt;この 0096.cpro というファイルを移動してみよう。
&lt;/p
&gt;&lt;p&gt;移動先がどう変化するかも見たい。
１つのプログラムで２つのディレクトリを同時に見えたり、
簡単に切り替えられるようにしていなかったので、
このプログラムをもう１つ起動して、一括評価ページを選択し、
評価ディレクトリに Release ディレクトリを選択する。
&lt;/p
&gt;&lt;p&gt;すると、次のように表示された。
&lt;/p
&gt;&lt;p&gt;【移動先】&lt;br /&gt;
&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-control-move-5.png&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;では、元のプログラムの方で、[移動]ボタンを押してみよう。
すると、選択していた行が消え失せ、左上の問題表示も消えてしまった。
&lt;/p
&gt;&lt;p&gt;【移動元】&lt;br /&gt;
&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-control-move-6.png&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;さて、選択していた問題はどうなっただろうか？
&lt;/p
&gt;&lt;/node-set
&gt;&lt;node-set&gt;&lt;p&gt;移動先の方を見ているプログラムはどうなっているだろうか。
&lt;/p
&gt;&lt;p&gt;【移動先】&lt;br /&gt;
&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-control-move-5.png&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;問題は表示されていない。
&lt;/p
&gt;&lt;p&gt;もしかして、問題はどこかへ行ってしまったのだろうか。
&lt;/p
&gt;&lt;p&gt;[評価]ボタンを押して、Release内の問題ファイルを評価し直してみよう。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-control-move-7.png&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;ちゃんと問題１行分が表示された。
&lt;/p
&gt;&lt;p&gt;ここで、さらに、この問題の行をクリックして、
本当にデータがちゃんと移動したか確認しておこう。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-control-move-8.png&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;これで、ちゃんと移動できることは確認できた。
&lt;/p
&gt;&lt;p&gt;まあ、こんなやり方をして、出題する問題をホイホイと選んでいる訳である。
&lt;/p
&gt;&lt;/node-set
&gt;&lt;/div
&gt;</description
></item
><item><title>パズル本の評価</title
><link>http://karetta.jp/book-node/puzzle-generator-age/194639</link
><pubDate>Sun, 26 Aug 2007 00:00:00 +0900</pubDate
><description>&lt;div&gt;&lt;node-set&gt;&lt;p&gt;パズルの単行本が色々な出版社から出ており、
実際に手で解いても、感触はかなり違う。
&lt;/p
&gt;&lt;p&gt;ほとんどのパズル本は、やさしい問題から難しい問題に
並べられている。というか、そう意図しているものが多い。
&lt;/p
&gt;&lt;p&gt;せっかく、沢山の問題の難易度を評価して、
グラフにして示せる機能があるのだからということで、
パズル本を購入して入力して調べてみた。
&lt;/p
&gt;&lt;p&gt;見るからにどうしようもない「にわかパズル出版社」
と言われるところは評価する意味も無かろう、
入力するにも値いしないのではと勝手に思うことにし、
長年パズル雑誌を出している出版社の単行本３冊で調べてみた。
&lt;/p
&gt;&lt;p&gt;横軸は問題番号、縦軸は難度ポイントになっている。
&lt;/p
&gt;&lt;hr /&gt;&lt;p&gt;グラフＡ
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-control-sortbook-1.png&#39; /&gt;
&lt;/p
&gt;&lt;hr /&gt;&lt;p&gt;グラフＢ
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-control-sortbook-3.png&#39; /&gt;
&lt;/p
&gt;&lt;hr /&gt;&lt;p&gt;グラフＣ
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-control-sortbook-2.png&#39; /&gt;
&lt;/p
&gt;&lt;hr /&gt;&lt;p&gt;さて、上の３つのグラフを見て何が分かるだろうか？
&lt;/p
&gt;&lt;p&gt;なお、３つのグラフ(＝３冊のパズル本)のうち、
２つのグラフは同じ出版社の異なるの２冊のパズル本である。
&lt;/p
&gt;&lt;p&gt;さて、どの２つのグラフが同じ出版社であろうか？
&lt;/p
&gt;&lt;/node-set
&gt;&lt;node-set&gt;&lt;p&gt;グラフＡ → グラフＢ → グラフＣ の順番に、
揺れが少くなっているのが分かるだろうか。
&lt;/p
&gt;&lt;p&gt;したがって、((A B) (C)) または ((A) (B C)) のいずれかの
分け方になると想像できよう。
&lt;/p
&gt;&lt;p&gt;グラフＢとグラフＣの始めの部分はかなり似ているので、
そこから同じ出版社、編集部、担当者ではないかとの想像できよう。
&lt;/p
&gt;&lt;p&gt;実際は、ＢとＣが同じ出版社である。
&lt;/p
&gt;&lt;p&gt;となると、Ａは かなり雑な感じがしてくる。
難易度順と言いながら、それほど意識せず適当に並べている
のではないかと考えられないこともない。
&lt;/p
&gt;&lt;p&gt;では、ＢとＣについてであるが、どちらが先に出版されたであろうか。
&lt;/p
&gt;&lt;p&gt;編集部だって、次第に評価に慣れ、より正確に難易度順に
並べられるのではと考えられる。
ならば、Ｂが先で、Ｃが後から出版したと考えられる。
&lt;/p
&gt;&lt;p&gt;でも、実際にはＣが先に出版され、何年もたってからＢが出版されている。
これはどう解釈すればよいであろうか。
難易度順に並べたつもりだが、人間なので調子の悪いときもあり、
パズルのプロの腕が鈍ることがあるのも仕方がないと考えるべきだろうか。
&lt;/p
&gt;&lt;p&gt;もっと沢山の出版社のパズル本を入力して評価すると、
編集部の様々な側面が見えて来ると思う。
ぜひやってみたいところだが、問題データをいちいち打ち込むのは
大変なので、これ以上の検討はしない。
&lt;/p
&gt;&lt;hr /&gt;&lt;p&gt;なお、上記の評価は、ここで紹介しているシステムに基づいて行なっている
ことに過ぎない。人間とコンピュータ、どちらの評価の方がより良いのか、
よく分からないところもあるのをここに記しておく。
&lt;/p
&gt;&lt;p&gt;結局は、自分で解いて、感じたところに従うべきだと思う。
&lt;/p
&gt;&lt;/node-set
&gt;&lt;/div
&gt;</description
></item
><item><title>ソートとグラフ</title
><link>http://karetta.jp/book-node/puzzle-generator-age/194608</link
><pubDate>Fri, 24 Aug 2007 03:00:00 +0900</pubDate
><description>&lt;div&gt;&lt;node-set&gt;&lt;p&gt;[ソート]ボタンを押すと、問題を難易度順（やさしい⇒難しい）に並べなおす。
&lt;/p
&gt;&lt;p&gt;難度ポイントはかなり細かく評価されるが、レベルは１３段階にしてある。
ほぼ、難度ポイントが上昇すると、レベルも連動して上昇する。
&lt;/p
&gt;&lt;p&gt;ソートでは、まずレベルでソートし、その各レベルの中で難度順にソートされる。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-control-sort-1.PNG&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;適当な問題を選び出すとき、
このように順番に並べてから、希望の難度の問題を取り出すことが多い。
&lt;/p
&gt;&lt;/node-set
&gt;&lt;node-set&gt;&lt;h3 id=&#39;H-shzl6a&#39;&gt;グラフ表示
&lt;/h3
&gt;&lt;p&gt;[ソート]ボタンの右に[グラフ表示]ボタンがある。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-control-sort-2.png&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;このボタンを押すと、「オリジナル」で表示されたときのウィンドウに似た
ウィンドウが表示される。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-control-sort-3.png&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;ソーティングが済んだ状態で [S-評価]ボタンを押すと、
Simple評価結果が表示される。
&lt;/p
&gt;&lt;p&gt;上方向は各問題のポイントを示し、右方向はリストに表示されている問題の順番
である。ドット１つが問題１つに対応する。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-control-sort-4.png&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;さらに、[D-評価]ボタンを押すと、赤いドットで評価結果が出る。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-control-sort-5.png&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;青いグラフは、少しバラバラ感があるが、赤いグラフは最後を除いて
滑らかな右肩上りである。
&lt;/p
&gt;&lt;p&gt;赤い線が、所どころ右肩上りではない個所があるが、
これは、レベルが上がったにもかかわらず、難度ポイントは下がってしまった
場合を示す。
&lt;/p
&gt;&lt;p&gt;レベルは、難度ポイントだけではなく、用いられたテクニックも考慮して
評価している。全体には易しい手筋ばかりだが、一個所だけ難しいテクニックを
要求するような問題は、難度ポイントが低くなりがちである。
このようなことを避けるために、手筋の難度も評価に利用している。
&lt;/p
&gt;&lt;/node-set
&gt;&lt;/div
&gt;</description
></item
><item><title>標準的な操作</title
><link>http://karetta.jp/book-node/puzzle-generator-age/193605</link
><pubDate>Wed, 22 Aug 2007 00:00:00 +0900</pubDate
><description>&lt;div&gt;&lt;node-set&gt;&lt;h3 id=&#39;H-981qt5&#39;&gt;評価ディレクトリ指定
&lt;/h3
&gt;&lt;p&gt;一括評価ページに移動した場合、普通は次の状態になる。
要するに、何の情報も表示されていない。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-control-standard-1.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;ここで最初に行なうべきことは、問題データが(たくさん)存在する
ディレクトリを指定してやることである。
&lt;/p
&gt;&lt;p&gt;一番上に、[評価ディレクトリ指定]ボタンがある。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-control-standard-2.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;最初は、このボタンの右側には、&amp;quot;Selected Directory&amp;quot; 
という文字列が表示されている。
&lt;/p
&gt;&lt;p&gt;では、[評価ディレクトリ指定]ボタンを押してみよう。
&lt;/p
&gt;&lt;p&gt;ディレクトリを指定するのも、ファイルを指定するのも同じような
ダイアログウィンドウが出てくるので、適当なディレクトリを指定しよう。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-control-standard-3.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;Problemsディレクトリの下に沢山の問題ファイルを溜めておいた。
ここで、Problemを選択し、決定ボタンを押してみよう。
&lt;/p
&gt;&lt;p&gt;すると、ダイアログは閉じ、一括評価ページのトップが次のように変った。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-control-standard-4.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;つまり、/kobito/puzzle/numplace/Test/Problems が
評価ディレクトリに指定された。
&lt;/p
&gt;&lt;/node-set
&gt;&lt;node-set&gt;&lt;h3 id=&#39;H-aqjfne&#39;&gt;評価
&lt;/h3
&gt;&lt;p&gt;ディレクトリの指定が終ったら、次は[評価]ボタンを押して、評価させてみよう。
&lt;/p
&gt;&lt;p&gt;ボタンを押すと、評価し終えた問題から順に、
下側の大きな枠の中に評価結果が示される。
実際に評価をしながら表示しているので、一問につき、0.何秒かの時間がかかる。
&lt;/p
&gt;&lt;p&gt;並び順は、ファイル名の標準的な並び順、普通はアルファベット順になる。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-control-standard-5.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;たくさんあると、問題ファイルをいくつ評価したのかを知りたくなるが、
現状のシステムにはその機能はない。(今、作っている程の暇が無い！)
&lt;/p
&gt;&lt;/node-set
&gt;&lt;node-set&gt;&lt;h3 id=&#39;H-132x06c&#39;&gt;問題の選択
&lt;/h3
&gt;&lt;p&gt;下側の大きな枠に沢山の問題の評価結果が並んでいる。
この中から、問題を選択しよう。
&lt;/p
&gt;&lt;p&gt;選択は簡単である。これはと思う問題をクリックすると、
その問題ファイルが選択され、その行の色だけが変化する。
そして、左上には、問題盤面が表示され、
どんな問題だったか一目で分かる仕掛けになっている。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-control-standard-6.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;問題を選択すると、その問題は、「メイン」ページにも反映される。
メインタグをクリックしてページ切り替えを行なうと、
メインページは以下のようになっている(なってしまう)。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-control-standard-7.gif&#39; /&gt;
&lt;/p
&gt;&lt;blockquote&gt;&lt;p&gt;メインページ以外で色々な操作を行なったとき、
メインページの盤面データは書き変えられることがよくあるので、
メインページの問題盤面は、必要だったらセーブしておこう。
&lt;/p
&gt;&lt;/blockquote
&gt;&lt;/node-set
&gt;&lt;/div
&gt;</description
></item
><item><title>問題ファイルのフォーマット</title
><link>http://karetta.jp/book-node/puzzle-generator-age/191458</link
><pubDate>Sun, 19 Aug 2007 00:00:00 +0900</pubDate
><description>&lt;div&gt;&lt;node-set&gt;&lt;p&gt;問題ファイルは、拡張子が cpro という取り決めがあるのだが、
これは単なる歴史的な理由だけである。
&lt;/p
&gt;&lt;p&gt;ファイルの実際の形式は、XMLを圧縮したものである。
また、XMLなので、文字コードはUTF-8にしてある。
&lt;/p
&gt;&lt;p&gt;では、セーブした問題ファイル &amp;quot;sample-1.cpro&amp;quot; の中味を覗いてみよう。
Linuxでzcatして表示してみた。なお、ターミナルの文字コードはUTF-8にした。
&lt;/p
&gt;&lt;pre&gt;$ zcat sample-1.cpro
&amp;lt;problem&amp;gt;&amp;lt;name&amp;gt;ナンプレ&amp;lt;/name&amp;gt;&amp;lt;id&amp;gt;1&amp;lt;/id&amp;gt;
&amp;lt;date&amp;gt;Sat Aug 18 16:13:23 JST 2007&amp;lt;/date&amp;gt;
&amp;lt;level&amp;gt;0&amp;lt;/level&amp;gt;&amp;lt;size&amp;gt;9 9&amp;lt;/size&amp;gt;
&amp;lt;pattern&amp;gt;0 0 0 0 1 1 1 0 0
0 0 0 0 1 1 1 0 0
1 1 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0
1 1 0 0 0 0 0 1 1
0 0 0 0 0 0 0 1 1
0 0 0 0 0 0 0 1 1
0 0 1 1 1 0 0 0 0
0 0 1 1 1 0 0 0 0
&amp;lt;/pattern&amp;gt;&amp;lt;question&amp;gt;0 0 0 0 1 2 9 0 0
0 0 0 0 3 9 5 0 0
6 8 0 0 0 0 0 0 0
1 3 0 0 0 0 0 0 0
7 5 0 0 0 0 0 2 8
0 0 0 0 0 0 0 6 5
0 0 0 0 0 0 0 5 7
0 0 1 7 9 0 0 0 0
0 0 8 2 4 0 0 0 0
&amp;lt;/question&amp;gt;&amp;lt;solution&amp;gt;0 0 0 0 1 2 9 0 0
0 0 0 0 3 9 5 0 0
6 8 0 0 0 0 0 0 0
1 3 0 0 0 0 0 0 0
7 5 0 0 0 0 0 2 8
0 0 0 0 0 0 0 6 5
0 0 0 0 0 0 0 5 7
0 0 1 7 9 0 0 0 0
0 0 8 2 4 0 0 0 0
&amp;lt;/solution&amp;gt;
&amp;lt;author&amp;gt;こびとさん&amp;lt;/author&amp;gt;
&amp;lt;romanAuthor&amp;gt;Kobito San&amp;lt;/romanAuthor&amp;gt;
&amp;lt;time&amp;gt;&amp;lt;/time&amp;gt;
&amp;lt;/problem&amp;gt;$
&lt;/pre
&gt;&lt;p&gt;全体が problem要素になっており、その中に様々な要素が入っている。
また、あちこちに適当に改行が入っているようだ。
&lt;/p
&gt;&lt;p&gt;要素名から、何を意味しているかは明らかなものがほとんどである。
&lt;/p
&gt;&lt;p&gt;authorが「こびとさん」になっているのは、
この自動生成システムの中にこびとさんが入っていて、
せっせと問題を作ったからではないかと思われる。
&lt;/p
&gt;&lt;p&gt;３つの要素、pattern, question, solution が分かる。
ここは、0〜9の数字が ９×９ に並んで入っている。
XMLなんだから、改行は意味が無いと考えるのが普通なんだが、
ここでは意味を持っているようだ。
&lt;/p
&gt;&lt;p&gt;pattern要素は、0/1でヒント(空色マス)の位置を示している。
&lt;/p
&gt;&lt;p&gt;question要素は、問題を示しており、空白のマスには0が入っている。
&lt;/p
&gt;&lt;p&gt;solution要素は、答えが入っているはずなんだが、
問題と同じデータが入っているだけだ。
&lt;/p
&gt;&lt;p&gt;その他にも、level要素が0になっている。
&lt;/p
&gt;&lt;p&gt;さて、どうしたんだろうか？
&lt;/p
&gt;&lt;/node-set
&gt;&lt;node-set&gt;&lt;p&gt;どうも、左側の盤面が解かれた状態になっていないと、
solution要素が正しくならないと推測される。
&lt;/p
&gt;&lt;p&gt;それで、[一問評価(Deep)]ボタンを押して解いてみた。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-main-saveload-9.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;難易度は、Level 5 と表示された。
&lt;/p
&gt;&lt;p&gt;これでもう一度セーブし、問題ファイルを見てみよう。
&lt;/p
&gt;&lt;pre&gt;$ zcat sample-1.cpro
&amp;lt;problem&amp;gt;&amp;lt;name&amp;gt;ナンプレ&amp;lt;/name&amp;gt;&amp;lt;id&amp;gt;1&amp;lt;/id&amp;gt;
&amp;lt;date&amp;gt;Sat Aug 18 17:09:15 JST 2007&amp;lt;/date&amp;gt;
&amp;lt;level&amp;gt;5&amp;lt;/level&amp;gt;&amp;lt;size&amp;gt;9 9&amp;lt;/size&amp;gt;
&amp;lt;pattern&amp;gt;0 0 0 0 1 1 1 0 0
0 0 0 0 1 1 1 0 0
1 1 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0
1 1 0 0 0 0 0 1 1
0 0 0 0 0 0 0 1 1
0 0 0 0 0 0 0 1 1
0 0 1 1 1 0 0 0 0
0 0 1 1 1 0 0 0 0
&amp;lt;/pattern&amp;gt;&amp;lt;question&amp;gt;0 0 0 0 1 2 9 0 0
0 0 0 0 3 9 5 0 0
6 8 0 0 0 0 0 0 0
1 3 0 0 0 0 0 0 0
7 5 0 0 0 0 0 2 8
0 0 0 0 0 0 0 6 5
0 0 0 0 0 0 0 5 7
0 0 1 7 9 0 0 0 0
0 0 8 2 4 0 0 0 0
&amp;lt;/question&amp;gt;&amp;lt;solution&amp;gt;3 4 5 8 1 2 9 7 6
2 1 7 6 3 9 5 8 4
6 8 9 4 5 7 2 1 3
1 3 6 5 2 8 7 4 9
7 5 4 9 6 1 3 2 8
8 9 2 3 7 4 1 6 5
9 2 3 1 8 6 4 5 7
4 6 1 7 9 5 8 3 2
5 7 8 2 4 3 6 9 1
&amp;lt;/solution&amp;gt;
&amp;lt;author&amp;gt;こびとさん&amp;lt;/author&amp;gt;
&amp;lt;romanAuthor&amp;gt;Kobito San&amp;lt;/romanAuthor&amp;gt;
&amp;lt;time&amp;gt;&amp;lt;/time&amp;gt;
&amp;lt;/problem&amp;gt;$
&lt;/pre
&gt;&lt;p&gt;こんどは、levelも5が入り、答もちゃんと入っているようだ。
&lt;/p
&gt;&lt;p&gt;まあ、問題ファイルは、こんな感じのXMLファイルの圧縮したものになっている。
&lt;/p
&gt;&lt;blockquote&gt;&lt;p&gt;なお、このファイル形式は、このNPMaker独自のフォーマット
(一部の問題提供には利用されている)であり、
&lt;a href=&#39;http://karetta.jp/book-cover/EveryonePuzzleCreator&#39;&gt;『今日から誰でもパズル作家』&lt;/a
&gt;
で紹介しているナンプレ自動生成でのファイル形式(やはりXML)
とは関係がない。
&lt;/p
&gt;&lt;/blockquote
&gt;&lt;/node-set
&gt;&lt;/div
&gt;</description
></item
><item><title>問題ロード</title
><link>http://karetta.jp/book-node/puzzle-generator-age/191456</link
><pubDate>Fri, 17 Aug 2007 02:00:00 +0900</pubDate
><description>&lt;div&gt;&lt;node-set&gt;&lt;p&gt;セーブした問題は、ふたたびロードして使えなければいけない。
&lt;/p
&gt;&lt;p&gt;問題ロードは、問題セーブと対をなすもので、
操作もほとんど同じなので、説明の必要すらないように思うが、
説明をする。
&lt;/p
&gt;&lt;p&gt;[問題ロード]ボタンを押すと、セーブで示したのと同じような
ダイアログ(問い合わせウィンドウ)が表示され、
問題ファイルを選択すると、その問題を読み込み、
左の盤面に表示する。
&lt;/p
&gt;&lt;p&gt;まず、問題をロードする前に、念のため盤面をクリアしておこう。
すると、次図のように、
ファイル名を表示する場所は「ファイル名」となり、
その下は、「数消去」とかになっている。
もちろん、盤面は何もない状態になっている。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-main-saveload-5.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;ここで、[問題ロード]ボタンを押す。
すると、ダイアログ(問い合わせウィンドウ)が表示される。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-main-saveload-6.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;表示されるディレクトリ(フォルダ)が希望の場所でないこともあり、
その場合には適当に移動しよう。
&lt;/p
&gt;&lt;p&gt;次に問題ファイルをクリックして選ぶ。
ここでは、[問題セーブ]の項で作った &amp;quot;sample-1.cpro&amp;quot; しか存在しない。
&lt;/p
&gt;&lt;p&gt;これをクリックして、右下の[ロード]ボタンを押すと、問題をロードする。
&lt;/p
&gt;&lt;p&gt;すると、盤面は
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-main-saveload-7.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;のように表示される。
セーブ/ロード ボタンの下の方は、
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-main-saveload-8.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;というようになり、sample-1.cpro ファイルの問題がロードされたことが分かる。
&lt;/p
&gt;&lt;p&gt;ところで、セーブするときには、白マスにも数字が入っていたのだが、
ロードしたら白マスには数字が入っていない。
これは、どいういうことだろうか。
もしかすると、セーブしたファイルには、問題だけが入っていて、
答は解くことで得るようになっているのだろうか。
&lt;/p
&gt;&lt;p&gt;これらについて詳しいことは、問題ファイルの中味を覗ながら
解説していこう。
&lt;/p
&gt;&lt;/node-set
&gt;&lt;/div
&gt;</description
></item
><item><title>問題セーブ</title
><link>http://karetta.jp/book-node/puzzle-generator-age/191454</link
><pubDate>Thu, 16 Aug 2007 19:58:00 +0900</pubDate
><description>&lt;div&gt;&lt;node-set&gt;&lt;p&gt;メインの左の大きく表示されている盤面の問題を、
ファイルにセーブすることができる。
&lt;/p
&gt;&lt;p&gt;セーブは、以下の手順で行なうことができる。
&lt;/p
&gt;&lt;p&gt;ウィンドウの右上の方に[問題セーブ]というボタンがある。
これを押すことで、セーブできる。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-main-saveload-1.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;まず、問題が存在しないといけないので、とりあえず
次のような問題を自動生成してみた。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-main-saveload-2.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;この状態で[問題セーブ]ボタンを押すと、
ファイル保存のためのダイアログ(問い合わせウィンドウ)が表示される。
&lt;/p
&gt;&lt;p&gt;ディレクトリ(フォルダ)を適当な場所に移動し、
ファイル名に適当なファイル名を記入する。
&lt;/p
&gt;&lt;p&gt;ファイル名の拡張子は、歴史的な理由(?)から、 
&amp;quot;.cpro&amp;quot; というお約束になっている。
ここでは、&amp;quot;sample-1.cpro&amp;quot; というファイルとして、
問題ファイルを作ることにした。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-main-saveload-3.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;[保存]ボタンを押し、保存を終えると、[問題セーブ]ボタンの下に、
セーブしたファイル名が表示される。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-main-saveload-4.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;これでセーブできた訳だが、
疑い深い人はいるもので、
指定したディレクトリ(フォルダ)の中を確認するだろう。
&lt;/p
&gt;&lt;p&gt;Linux上で動かしながら書いているのだが、実際次のようになっている。
&lt;/p
&gt;&lt;pre&gt;$ ls -l /proj/puzzle/numplace/Test
合計 4
-rw-r--r--    1 fuji     user          386  8月 16 20:05 sample-1.cpro
$
&lt;/pre
&gt;&lt;/node-set
&gt;&lt;/div
&gt;</description
></item
><item><title>一括評価</title
><link>http://karetta.jp/book-node/puzzle-generator-age/191447</link
><pubDate>Thu, 16 Aug 2007 18:00:00 +0900</pubDate
><description>&lt;div&gt;&lt;node-set&gt;&lt;p&gt;一括評価に切り替えると、以下のような表示になる。
(本当は、色々指定して始めてこうなるのだが)
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-control-start-1.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;「メイン」に、「一問評価」というのがあったが、
一問毎に評価をするのでは非常に面倒なことがある。
沢山問題を溜めておき、その中から要求にあったものをピックアップしたり、
問題ファイルに関して何らかの処理をするとき不便である。
&lt;/p
&gt;&lt;p&gt;ここでは、多数の完成した問題に対して、
なんらかの処理を行なうことをまとめてみた。
まだ多数の不足機能があるのだが、
面倒だから本当に必要にせまられたときに作るようにしているので、
不便なところも多々ある。
&lt;/p
&gt;&lt;/node-set
&gt;&lt;/div
&gt;</description
></item
><item><title>制約機能</title
><link>http://karetta.jp/book-node/puzzle-generator-age/036552</link
><pubDate>Wed, 15 Aug 2007 12:00:00 +0900</pubDate
><description>&lt;div&gt;&lt;node-set&gt;&lt;h3 id=&#39;H-1uufvdz&#39;&gt;使用禁止数字
&lt;/h3
&gt;&lt;p&gt;制御盤の上のほうに、
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-main-board-constraint-1.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;という「禁止」というタイトルが付いている
選択項目(Java的にはJComboBox)がある。
&lt;/p
&gt;&lt;p&gt;どういう意味であろうか？
&lt;/p
&gt;&lt;blockquote&gt;&lt;p&gt;禁止で指定した数字を問題のヒントとして使用禁止する
&lt;/p
&gt;&lt;/blockquote
&gt;&lt;p&gt;というご想像の通りの制約機能である。
&lt;/p
&gt;&lt;p&gt;この機能は、いまのところ「オリジナル」の方でしか動作しない。
&lt;/p
&gt;&lt;p&gt;禁止する数字を指定すると、その数字が空色マスから削除される。
次の図は、９を指定したときの場合である。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-main-board-constraint-2.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;このように、空色マスから禁止の数字を削除する。
&lt;/p
&gt;&lt;p&gt;この状態で、「オリジナル」の[問題自動生成]ボタンを押すと
次のような問題ができあがる。空色マスにはどこにも９は入っていない。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-main-board-constraint-3.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;ところで、説明しなかったのだが、
８個の数字は絶対必要だが、９個の数字は必ずしも必要ないという
ことについては説明不要と思って説明しなかった。
&lt;/p
&gt;&lt;p&gt;この点については、説明しなくても、分かると思う。
分からなければ、分かっている人を見つけて説明してもらおう。
&lt;/p
&gt;&lt;/node-set
&gt;&lt;node-set&gt;&lt;h3 id=&#39;H-jf58un&#39;&gt;制限時間
&lt;/h3
&gt;&lt;p&gt;「禁止」の右の方に、制限時間という項目がある。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-main-board-constraint-4.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;文字列をいれるためのフィールドがあって、そこに分単位で
制限時間を入れるようになっている。
&lt;/p
&gt;&lt;p&gt;最初のヒントが非常に難しい配置だったり、
およそ無理と思われるようなことを指定したとき、
延々と試しても問題を作れないことがある。
&lt;/p
&gt;&lt;p&gt;コンピュータなので、「作れ！」というと、永久に作り続けてしまう。
まあ、それでも、停止ボタンがあれば、それで充分ではないかという
考えもあろう。
&lt;/p
&gt;&lt;p&gt;しかし、将来、自動運転、つまり、沢山のヒントパターンや、
作って欲しい問題の条件を与えておいて、一気にまとめて作ろう
などと考えると、不可能な条件を与えてしまう可能性もあり、
その時にそこで作業が進まなくなっては不味い。
一定時間を経過したら「あきらめる」ように指示できるようにした。
&lt;/p
&gt;&lt;p&gt;単位は「分」である。
「オリジナル」はかなり遅いので、ヒント数が減少してくると、
数分くらいかかるようになる。２０以下になると数十分も珍しくない。
要するに、かなり遅い。
&lt;/p
&gt;&lt;p&gt;「イナバウア」の方で行なえば、ヒント数が極端に少くなければ、
１分どころか、１秒未満で問題を作ってしまう。
でも、そもそも不可能なものとか、作ること自体が困難な場合には、
いつまでたっても問題が作れないことはある。
&lt;/p
&gt;&lt;p&gt;イナバウアの場合、制限時間を１分にしておいて大丈夫だろう。
今のところ、自動運転は「オリジナル」の場合にしか対応していない。
&lt;/p
&gt;&lt;/node-set
&gt;&lt;/div
&gt;</description
></item
><item><title>カンニング機能</title
><link>http://karetta.jp/book-node/puzzle-generator-age/166890</link
><pubDate>Sat, 11 Aug 2007 00:00:00 +0900</pubDate
><description>&lt;div&gt;&lt;node-set&gt;&lt;p&gt;難しいパズルは、どうしても次の一手がどこも見つけられなくて、
こっそり解答を見たくなったりするだろう。
だけれども、解答は全てが埋まった状態であり、実はあまりヒントにならない。
&lt;/p
&gt;&lt;p&gt;一番知りたいのは、次に決められるマス、次の一手が知りたい訳である。
&lt;/p
&gt;&lt;p&gt;このツールの制御盤の右の方には
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-main-board-cheating-1.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;というボタンがあり、どうも次の１手をこっそり教えてくれるみたいだ。
&lt;/p
&gt;&lt;p&gt;では、次の問題でどういう動きをするかを試してみよう。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-main-board-cheating-2.gif&#39; /&gt;
&lt;/p
&gt;&lt;/node-set
&gt;&lt;node-set&gt;&lt;h2 id=&#39;H-1low5yo&#39;&gt;次の一手
&lt;/h2
&gt;&lt;p&gt;解くのが面倒なので、[次の一手]ボタンをいきなり押してみた。
&lt;/p
&gt;&lt;p&gt;すると、次図のように、１マスだけ数字を入れて止まった。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-main-board-cheating-3.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;さらに３回押してみたら、１回押す毎に、１マスずつ決まった。
&lt;/p
&gt;&lt;p&gt;１手決まる毎に、緑枠のカーソルも数字が決まったマスに移動するので、
どのマスの数字が決まったのかはっきり分かる。
&lt;/p
&gt;&lt;p&gt;最初からだと、３→７→７→５の順に決まったことになる。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-main-board-cheating-4.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;ということで、コンピュータどういう手順で解いたかを知ることができる。
&lt;/p
&gt;&lt;p&gt;もっと重要なことは、これを利用すれば、
自分で解けるところまで解いて、分からなくなったところで、
「助けて〜!」ということで、[次の一手]を押すという利用方法がある。
&lt;/p
&gt;&lt;p&gt;つまり、
&lt;/p
&gt;&lt;ul&gt;&lt;li&gt;コンピュータの解いた手順を知る
&lt;/li
&gt;&lt;li&gt;行き詰まったときだけ助けを求める
&lt;/li
&gt;&lt;/ul
&gt;&lt;p&gt;という２通りの使い方ができよう。
&lt;/p
&gt;&lt;/node-set
&gt;&lt;node-set&gt;&lt;h2 id=&#39;H-13yieoz&#39;&gt;見えない[次の一手]
&lt;/h2
&gt;&lt;p&gt;[次の一手]ボタンを押しても、どこのマスにも数字が入らなくて、
何が次の一手だったのか分からないことがある。
&lt;/p
&gt;&lt;p&gt;次図は、それでも分かりやすいように特別な工夫をして示している。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-main-board-cheating-5.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;この一手では、候補の数字がすこし消されただけであり、
どこのマスの数字も決まらなかった場合なので、
緑枠のカーソルも移動しない。
&lt;/p
&gt;&lt;p&gt;候補が減少するだけでも、解くという過程は進んだことになるのを
忘れないで欲しい。難しい問題になればなるほど、
このような情况が増えてくる。
&lt;/p
&gt;&lt;p&gt;第４ステージの[一問評価(Simple)]ボタンを押すと、
下の方に以下の表示が出る。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-main-board-cheating-6.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;この図で、historyC に *印が付いている個所(*D)、
numberC では空白(２連続空白)になっている個所が、
マスの数字が決まらず、候補だけが少し消される場合に対応している。
&lt;/p
&gt;&lt;/node-set
&gt;&lt;/div
&gt;</description
></item
><item><title>ヒント指定</title
><link>http://karetta.jp/book-node/puzzle-generator-age/138939</link
><pubDate>Fri, 10 Aug 2007 00:00:00 +0900</pubDate
><description>&lt;div&gt;&lt;node-set&gt;&lt;p&gt;ヒントの位置を指定するが、その一部のマスについて、数も指定できないだろうか。
&lt;/p
&gt;&lt;p&gt;それができれば、たとえば次のような問題が考えられる。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPV2-yume-018.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;こういうことが可能だと、ヒントの一部を意味ありげな数にするとか、
様々な工夫が可能になり、楽しそうだ。
&lt;/p
&gt;&lt;p&gt;できるものだろうか。
&lt;/p
&gt;&lt;/node-set
&gt;&lt;node-set&gt;&lt;p&gt;この場合でも、問題はいくつも作れようが、その１つを以下に示す。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPV2-yume-019.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;ヒントの一部だけを指定して問題を作ることが可能かも知れない。
&lt;/p
&gt;&lt;p&gt;一応答えも載せておく。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPV2-yume-020.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;これ以外にも、ヒントの面白い指定は色々あるだろう。
ここでいっぱい披露することもできるかもしれないが、
夢の自動生成ソフトで動作確認する方が面白いだろう。
&lt;/p
&gt;&lt;/node-set
&gt;&lt;node-set&gt;&lt;p&gt;次図に示すような指定も考えられないだろうか。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPV2-yume-021.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;意図していることは分かって頂けると思うが、説明しておく。
&lt;/p
&gt;&lt;p&gt;解の一部、上図で数字が書きこんであるマスはその数字になるような
問題を作るということ。
&lt;/p
&gt;&lt;p&gt;上図の場合には、3と7が問題のヒントとしてそのまま使われるが、
その他の数字は問題には現われていなくて、解き終えると
一行に１〜９がきれいに並んでいるのが分かるという仕掛けである。
&lt;/p
&gt;&lt;/node-set
&gt;&lt;node-set&gt;&lt;p&gt;実は、空色マスを決める以上に白色マスを決めてしまうことは厳しい制約となり、
問題は作りづらくなる。それでも、次図のように問題を作って欲しいものだ。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPV2-yume-022.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;この問題では、数字の１も使っていない。
&lt;/p
&gt;&lt;p&gt;一応、解も載せておこう。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPV2-yume-023.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;このように、解くと数字がきれいににならんでいるのが分かるようにできるなら、
ナンプレに暗号を埋めこめないかという考えもあろう。
&lt;/p
&gt;&lt;p&gt;こういうのを利用した遊びを考えるのは、
なかなか面白いのではないだろうか。
&lt;/p
&gt;&lt;/node-set
&gt;&lt;/div
&gt;</description
></item
><item><title>自動生成エンジン</title
><link>http://karetta.jp/book-node/puzzle-generator-age/136635</link
><pubDate>Wed, 08 Aug 2007 12:00:00 +0900</pubDate
><description>&lt;div&gt;&lt;node-set&gt;&lt;h2 id=&#39;H-efhaoa&#39;&gt;自動生成エンジン とは
&lt;/h2
&gt;&lt;p&gt;パズルのソフトは、以下のように幾つかのタイプがある。
&lt;/p
&gt;&lt;ul&gt;&lt;li&gt;プレイヤー：遊ぶためだけのエンドユーザ向けソフト&lt;br /&gt;
　　　　　遊ぶのに便利な様々な機能がついている。
&lt;/li
&gt;&lt;li&gt;ソルバー：問題を解くソフト。&lt;br /&gt;
　　　　　難易度評価などを行なう場合もある。
&lt;/li
&gt;&lt;li&gt;エディタ：問題を手作りするため、パズルに特化したエディタ。&lt;br /&gt;
　　　　　様々な支援機能がついている場合がある。
&lt;/li
&gt;&lt;li&gt;ジェネレータ：問題を自動的に生成する。&lt;br /&gt;
　　　　　様々な条件をつけて問題を作ることができる。
&lt;/li
&gt;&lt;/ul
&gt;&lt;p&gt;「自動生成エンジン」とは、
ユーザインターフェイスなど問題を自動生成する機能以外を全部
取り除いた「ジェネレータ」のことを指す。
&lt;/p
&gt;&lt;p&gt;パズルは、今まではパズル作家という非常にパズルに長けた専門家が、
問題を手作りしていた。一部自動生成しているものもあるが、
その品質は手作りに遠く及ばなかった。
&lt;/p
&gt;&lt;p&gt;手作りでは、大量に作ったり、希望するものを自在に作ることは
非常に困難であり、コストも非常にかさむ。何とか高品質の問題を
自動生成できないか、それも高速にできないかというのは長年の夢であった。
&lt;/p
&gt;&lt;p&gt;最近の世界的パズルブームもあり、人工知能関係者を含め、
非常に多くの人々が、夢の「パズル問題自動生成システム」を
何とか作れないかと日々研究開発を行なっている。
&lt;/p
&gt;&lt;p&gt;「自動生成エンジン」は、パズルに関するプログラムの中で
もっとも中枢的な部分であり、ここが、高速で、高品質の問題を作れ、
非常に小さなプログラムであれば、このエンジンは、
パソコンはもちろん、ゲームマシンや携帯、PDAなど
何にでも載せることが可能になる。
&lt;/p
&gt;&lt;p&gt;「自動生成エンジン」が非常に汎用的であれば、
複数のパズルへの対応も可能になる。
そこまでいけば、本当に「夢の自動生成エンジン」だ。
&lt;/p
&gt;&lt;/node-set
&gt;&lt;node-set&gt;&lt;h2 id=&#39;H-o00hg1&#39;&gt;エンジンに手足を付けよう
&lt;/h2
&gt;&lt;p&gt;「自動生成エンジン」は、自動車のエンジンというか、
小型のモーターみたいなもの、パズルにとっては問題を
無限に供給してくれる動力源である。
&lt;/p
&gt;&lt;p&gt;しかし、これだけでは遊ぶことはできない。
「自動生成エンジン」を、パソコン、ゲームマシン、携帯、などに
登載し、様々な遊び方、場合によってはボケ防止などの道具に
仕立てる必要がある。
&lt;/p
&gt;&lt;p&gt;エンジンを作るのと、このエンジンを載せる車体を作るのでは
必要とする技術、能力がはなはだ異なる。
パズルの自動生成エンジンを作るには、パズルとアルゴリズム
に関して極めて高度な能力を要求される。
一方、車体を作る方は、面白くする方法を熟知していなければならない。
&lt;/p
&gt;&lt;p&gt;実際、この両方に秀でた人を見たことがない。
とくに、「自動生成エンジン」はアルゴリズムとパズルの両方に
秀でていることが必須であり、極めてわずかの人しかできない。
&lt;/p
&gt;&lt;p&gt;それに比べれば、周辺を調えて、「自動生成エンジン」を利用する部分
を作ることは、一般のゲーム、アプリケーション開発に近いことであり、
適性者の数は随分増える。
&lt;/p
&gt;&lt;p&gt;「自動生成エンジン」開発者は、思いっきりエンジン開発に注力し、
それを多くの人々、企業が利用して、様々なビジネス等をしていくのが
非常に合理的だろう。
&lt;/p
&gt;&lt;p&gt;「自動生成エンジン」自体は、人間の脳に相当し、手足、体がついていない。
このエンジンに、手足をつけ、顔をつけ、楽しく遊べるようにすることは、
ゲーム会社がもっとも得意とするところである。
&lt;/p
&gt;&lt;p&gt;手足の付け方は、様々な人が試みる方が、利用に広がりが出る。
思いもかけない機器に載ったり、思いもかけない場所で利用されたり
して欲しいものだ。
ゲーム、暇つぶし以外に、惚け防止、教育、適性検査などは当然あるが、
その他にもきっと色々な利用があると思う。
&lt;/p
&gt;&lt;/node-set
&gt;&lt;node-set&gt;&lt;h2 id=&#39;H-2vm751&#39;&gt;自動生成エンジンの意味
&lt;/h2
&gt;&lt;p&gt;「自動生成エンジン」が提供されたときの意味について考えてみよう。
それには、商業的な意味と、学術的な意味がある。
ここでは、「自動生成エンジン」がソースで提供された場合について考えよう。
&lt;/p
&gt;&lt;p&gt;１．商業的意味
&lt;/p
&gt;&lt;p&gt;パズルビジネスが次第に盛んになっているが、
そこに良質の「自動生成エンジン」が提供されることは、
ゲーム業界においては、非常に意味がある。
&lt;/p
&gt;&lt;p&gt;まず、作家を越える問題が作れる「自動生成エンジン」が安価に入手できれば、
ユーザを充分満足させるだけの問題を提供できるようになる。
&lt;/p
&gt;&lt;p&gt;また、「パズルを作る」というとても一般の人には不可能と思われていたこと
を体験し、さらに問題を作る楽しみを与えることができるようになる。
&lt;/p
&gt;&lt;p&gt;ソースプログラムの提供は、様々なマシンに組み込むには必須である。
短ければ、移植作業が非常に楽になる。
&lt;/p
&gt;&lt;p&gt;懸念事項としては、「自動生成エンジン」を利用して問題を作りながら、
手作りとして問題を提供するパズル作家が現われないかということだが、
これはパズル作家の良識に期待しよう。
&lt;/p
&gt;&lt;p&gt;２．学術的意味
&lt;/p
&gt;&lt;p&gt;パズルは、コンピュータ科学の常に中心的話題であるアルゴリズムに
深く関係する。とくに、「自動生成エンジン」はアルゴリズムそのものである。
&lt;/p
&gt;&lt;p&gt;どうすれば解決するか分からない難しい問題を、
何とかコンピュータを利用して、たとえ最適解ではないにしろ、
適切解のレベルで解いてしまいたい場面は、
ビジネス、社会、理工学の場面でしばしば遭遇する。
&lt;/p
&gt;&lt;p&gt;とくにここで紹介しているパズルも、同様の性質を持っており、
これらのパズルに対する自動生成の手法を研究することは、
そのまま上記のような様々な問題解決の糸口になる可能性は極めて高い。
&lt;/p
&gt;&lt;p&gt;そういう直接的なことを期待しなくても、
パズルのプログラム、それも自動生成という高度なプログラムを
ソースレベルで理解するということは、
アルゴリズムの腕前を上昇させることになり、
プログラムの開発基礎力が付くことは間違いない。
&lt;/p
&gt;&lt;p&gt;それ以外にも、「自動生成エンジン」自体は、
人工知能の実現の１つであり、多くの研究者を引きつける。
&lt;/p
&gt;&lt;/node-set
&gt;&lt;/div
&gt;</description
></item
><item><title>対角線</title
><link>http://karetta.jp/book-node/puzzle-generator-age/092700</link
><pubDate>Mon, 06 Aug 2007 00:00:00 +0900</pubDate
><description>&lt;div&gt;&lt;node-set&gt;&lt;p&gt;対角線上も１〜９を一つずつという制約を加えることにしょう。
&lt;/p
&gt;&lt;p&gt;こういうのを、『対角線ナンプレ』と言うようだ。
&lt;/p
&gt;&lt;p&gt;制約条件が増えたので、より少ないヒントで問題ができるはずだ。
&lt;/p
&gt;&lt;p&gt;次の例は、ヒント数１６の例である。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPV2-yume-017.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;この問題は対角線を大いに利用しないと解けないのだが、
対角線は、つい見逃してしまう傾向がある。
&lt;/p
&gt;&lt;/node-set
&gt;&lt;/div
&gt;</description
></item
><item><title>大きい問題</title
><link>http://karetta.jp/book-node/puzzle-generator-age/074488</link
><pubDate>Fri, 03 Aug 2007 00:00:00 +0900</pubDate
><description>&lt;div&gt;&lt;node-set&gt;&lt;p&gt;小さい問題は入門用によいかもしれないが、
逆にサイズ９の問題では嫌だ、もっと大きなのが良いという
とんでもないマニアもいるようだ。
&lt;/p
&gt;&lt;p&gt;そのためには、たとえば、次のサイズ１６のような問題が、
ヒントの配置さえ決めれば、あとは生成ボタンを押すだけでできると嬉しい。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPV2-yume-013.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;この問題が正しいかどうかは、ぜひ皆さんで確認して欲しい。
明日までに解いて、解を掲載しようと思う。
&lt;/p
&gt;&lt;/node-set
&gt;&lt;node-set&gt;&lt;p&gt;なんとか解くことができた。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPV2-yume-014.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;まあ、こんな感じの問題を、ヒントの配置だけ考えれば、
後はボタンを押すだけで作ってくれると嬉しい。
もちろん、難易度レベルとか、手筋とか、いろいろなことまで
考えて問題を作ってくれれば、夢のようだ。
&lt;/p
&gt;&lt;p&gt;ところで、こんな大きな問題、誰が解くのだろうか？
&lt;/p
&gt;&lt;/node-set
&gt;&lt;node-set&gt;&lt;p&gt;さらに大きい問題を載せておこう。
こんどは、大きいけれども、ヒントを多くしたので、
解くのは簡単ではないかと思う。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPV2-yume-015.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;さて、自力で解けるか確かめねば。
&lt;/p
&gt;&lt;/node-set
&gt;&lt;node-set&gt;&lt;p&gt;次が答えらしい。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPV2-yume-016.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;さて、もっともっと作っても良いのだが、
もっと別のことを書きたいので、大きい問題についてはここまでにしよう。
&lt;/p
&gt;&lt;/node-set
&gt;&lt;/div
&gt;</description
></item
><item><title>グラフ表示</title
><link>http://karetta.jp/book-node/puzzle-generator-age/036550</link
><pubDate>Fri, 03 Aug 2007 00:00:00 +0900</pubDate
><description>&lt;div&gt;&lt;node-set&gt;&lt;p&gt;「オリジナル」の評価機能を説明する。
&lt;/p
&gt;&lt;p&gt;右下隅の方に、[グラフ表示]というボタンがある。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-main-board-graph-1.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;とりあえず、このボタンを押してみよう。
&lt;/p
&gt;&lt;p&gt;すると、次図の別ウィンドウが現われた。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-main-board-graph-2.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;下にボタンが並んでいるが、
右の方にある[消す]は描かれているグラフを消去するものであり、
[閉じる]は、このグラフ表示ウィンドウを閉じる。
&lt;/p
&gt;&lt;p&gt;さて、左側にある [S-度数] と [D-度数] は何だろうか？
&lt;/p
&gt;&lt;/node-set
&gt;&lt;node-set&gt;&lt;p&gt;グラフに表示するには、評価対象となる問題が存在しないといけない。
&lt;/p
&gt;&lt;p&gt;ということで、突然ではあるが、
「オリジナル」に戻って、[問題自動生成]を押して、
問題を自動生成してみた。
&lt;/p
&gt;&lt;p&gt;次が、問題を作り終えた状態である。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-main-board-graph-3.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;右下のスクロールバーのところを見ると 1/8 と表示されているので、
８問同時に生成できたことがわかる。
&lt;/p
&gt;&lt;p&gt;ここで、グラフウィンドウ上の [S-度数]を押すと、
次の表示になった。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-main-board-graph-4.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;なんだか、ヒストグラムのようである。
&lt;/p
&gt;&lt;p&gt;このグラフは、でき上がった問題を、
第４ステージのSimple評価で評価したときの
難易度レベルの分布である。
&lt;/p
&gt;&lt;p&gt;目盛り(水平線)は、１０毎になっているので、
レベル６が５個、レベル８が２個、レベル１１が１個と
ずいぶん難易度にばらつきがあるらしいことが分かる。
&lt;/p
&gt;&lt;p&gt;しかし、この評価はあくまでもSimple評価だ。
&lt;/p
&gt;&lt;p&gt;では、[D-度数]を押すとどうなるのだろうか。
&lt;/p
&gt;&lt;/node-set
&gt;&lt;node-set&gt;&lt;p&gt;[D-度数]ボタンを押してみた。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-main-board-graph-5.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;すると、こんどは赤でヒストグラムが表示された。
&lt;/p
&gt;&lt;p&gt;今回は、だいぶバラバラになっている。
&lt;/p
&gt;&lt;p&gt;さて、これで妥当なのかどうかはよく分からぬ(神のみぞ知る)が、
とりあえず面倒な方法で人間らしく解き直して評価しているのが、
このDeep評価なのである。
&lt;/p
&gt;&lt;p&gt;でき上がる問題の数が少かったので、面白そうな
ヒストグラムにならない。
もっと沢山の問題ができるような例で試してみよう。
&lt;/p
&gt;&lt;p&gt;もっとヒントの数を増やしてみよう。
次は、ヒント２８の例であり、最後にできた問題数は４５個になった。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-main-board-graph-6.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;ここで、一度 [消す]ボタンを押して、グラフウィンドウを消去する。
&lt;/p
&gt;&lt;p&gt;そして、４５個問題ができた状態で、[S-度数]ボタン、
そして [D-度数]ボタンを押すと、次のようなグラフが表示された。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-main-board-graph-7.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;まあ、こんな感じに動作する。
&lt;/p
&gt;&lt;p&gt;しかし、実際にもっともよく利用するのは、
ここまで説明したものではなかったりする。
&lt;/p
&gt;&lt;/node-set
&gt;&lt;node-set&gt;&lt;p&gt;さて、次のヒントで２０個の問題ができた。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-main-board-graph-8.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;難易度のヒストグラムは次のようになった。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-main-board-graph-9.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;ここで、[一問評価(Deep)]ボタンを押すと、次のグラフになった。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-main-board-graph-10.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;重なってしまったが、[S-度数]ボタン や [D-度数]ボタン を押さず、
グラフウィンドウを表示させておき、
[一問評価(Deep)]ボタンを押すとグラフが表示される。
&lt;/p
&gt;&lt;p&gt;さて、この折線グラフの意味は何だろうか？
&lt;/p
&gt;&lt;/node-set
&gt;&lt;node-set&gt;&lt;p&gt;グラフに表示される情報の意味について説明しよう。
&lt;/p
&gt;&lt;p&gt;&lt;img src=&#39;http://karetta.jp/images/552/NPMaker-manual-main-board-graph-11.gif&#39; /&gt;
&lt;/p
&gt;&lt;p&gt;グラフのＸ軸は、手数を示し、Ｙ軸は難度を示す。水平線は、
難度１０毎に引かれている。これで、難易度の変化が分かる。
&lt;/p
&gt;&lt;p&gt;上の図では、最初はやや難しい手、易しい手が交互に続く感じで、
その後どんどん易しくなっていって、
このまま何の山もなく問題を解き終えられそうに思ったところで、
難しい手筋を使わないとどうにもならない場面にたどり着く。
しかし、それさえ克復すれば、その後は簡単ということ。
&lt;/p
&gt;&lt;p&gt;まあ、グラフの解釈はいろいろあろうが、難易度の変化であり、
これは問題の単調さとかが分かる。
&lt;/p
&gt;&lt;p&gt;さて、それ以外の部分について説明する。
&lt;/p
&gt;&lt;p&gt;左下の、170は難易度ポイントである。
10.25は「満離」と書かれているが、何のことだか思い出せないので、
教えて欲しい。
&lt;/p
&gt;&lt;p&gt;Ｘ軸のすぐ下に数字がならんでいるが、これは
決まって行く数字の順である。
926413857になっているが、最初に数９の全てが出そろい、
次に２が全部出そろい、という風に決まっていく。
つまり、９だけが最初に全部バタバタと決まることが想像できる。
&lt;/p
&gt;&lt;p&gt;その下に、−、｜、□ が並んでいる。右端の方は、２つ、あるいは３つが
重なっているようだ。
「−」だったら、水平方向の９マスが全部決定したことを示し、
同様に、「｜」だったら垂直方向の９マス、
「□」だったら３×３ブロックの９マスが全部決まったことを示す。
&lt;/p
&gt;&lt;p&gt;この数字と、−、｜、□ の並びで達成感が表現できないものかと
勝手に解釈して表示してみた。
&lt;/p
&gt;&lt;/node-set
&gt;&lt;/div
&gt;</description
></item
></channel
></rss
>