この記事でわかること
パズルは、答えが2つあったり、当てずっぽうでしか進めなかったりすると、とたんにつまらなくなります。この記事では、トクマスの3つのパズルをどうやって作り、公開する前に何を確かめているかを、実際の数字つきで説明します。生成AIの使い方を含む全体の方針は編集方針にまとめています。
1. ナンプレ
作り方
- ルールどおりに1〜9が並んだ、完成した盤面をプログラムで作ります。
- そこから数字を少しずつ消していきます。消すたびに「答えがまだ1つに決まるか」を調べ、2つ以上になる数字は消さずに残します。盤面が点対称の形になるように、2つずつ消しています。
- できた問題を、人が使う解き方だけで解けるか、プログラムで試します。どの解き方が必要だったかで、難しさの段を決めます。
難しさの決め方
下の表は、各段300問をプログラムで解いたときの、最初から入っている数字の数と、よく使われた解き方です。
| 段 | 最初の数字(平均) | プログラムが解くときに使った解き方(使った問題の割合) |
|---|---|---|
| やさしい | 36.4個 | ここしか入らない・最後の1マス(100%)。300問のうち299問は、この2つだけで解ける |
| ふつう | 30.6個 | 上の2つに加え、この数字しか入らない(7%) |
| むずかしい | 27.7個 | ブロックからの絞り込み(99%) |
| 上級 | 26.9個 | ペア(79%)・隠れたペア(32%) |
| 達人 | 27.0個 | XYウィング(94%)・Xウィング(30%) |
| 鬼 | 26.0個 | 上のすべてを使っても途中で進めなくなる(答えは1つ) |
最初の数字の数は、上の段ほど少なくなりますが、「上級」と「達人」はほとんど変わりません。難しさを決めるのは、数字の数よりも、どの考え方が必要になるかだからです。それぞれの解き方は最初の1マスの見つけ方・メモの使い方とペア・XウィングとXYウィングで説明しています。
ヒントと解答ツールは、この「人の解き方」のプログラムをそのまま使っています。だから、ヒントの説明は、問題の難しさを決めたときと同じ考え方になっています。このプログラムの解き方では進めない難所(「鬼」の問題)では、ヒントは理由の代わりにマスの答えを見せます。
2. ノノグラム
作り方
絵は、生成AI(OpenAI の Codex)に、マス目の設計図として1枚ずつ描いてもらいました。写真や既存のキャラクターをもとにした絵はありません。季節のもの、動物、たべもの、のりもの、しぜんなど、今は144枚あります(10×10が96枚、15×15が48枚)。
確かめていること
- 数字だけで最後まで解けるか: 1枚ずつ、行と列の数字だけから決められるマスを決めていき、全部のマスが決まるかをプログラムで試しました。途中で止まる絵(答えが2つあるか、当てずっぽうが必要な絵)は描き直してもらい、144枚すべてが通るまでくり返しました。
- かかる周回: 行を全部見て、列を全部見るのを1周として数えると、全部のマスが決まるまで10×10で平均2.5周、15×15で平均2.7周でした。実際の手順は15×15のノノグラムを実際の画面で解いた記録に載せています。
- 塗るマスの割合: 塗るマスは全体の4〜7割の範囲にしていて、平均は62%です。少なすぎると絵にならず、多すぎると塗るだけの作業になるからです。
完成したときに出る豆知識は、生成AIで下書きし、別の生成AI(Anthropic の Claude)で事実を確かめてから載せています。
3. クロスワード
言葉とカギ
辞書には2,546語が入っています。文字数の内訳は、2文字が581語、3文字が934語、4文字が612語、5文字以上が419語です。カギ(ヒント文)は生成AI(Codex)で下書きしました。そのあと別の生成AI(Claude)が1語ずつ読み直して、事実の誤り・答えがカギの中に見えていないか・答えが1つに決まるかを確かめました。答えの漢字がカギに入っていないかは、Codexでもう一度すべて洗い出し、直し案をClaudeが1件ずつ確かめています。公開前に直したカギは501件、辞書から外した言葉は1語です(訂正の記録)。
盤面の組み立て
盤面は、日本式のクロスワードのルールに沿って、プログラムが組みます。
- 黒マスは、縦にも横にも隣り合わない
- 四すみは白マス
- 白マスはすべてつながっている
- 2マス以上続く白マスには、必ず辞書の言葉が入る
黒マスの置き方を決めてから、交わる文字が合うように言葉を当てはめていきます。1つの盤面に同じ言葉は2回使いません。練習用の問題では、7×7で黒マスが平均11.8個・言葉が平均21語、9×9で黒マスが平均19.8個・言葉が平均34語になりました。
二重マスと今日の合言葉
言葉を埋め終わった盤面から、合言葉の文字が入っているマスを選んで二重マスにします。合言葉は、月ごとに25語ずつ用意した季節の言葉から選び、行事の日(十五夜・ハロウィン・冬至・クリスマスなど)はその日にちなんだ言葉にしています。
4. 毎日の問題の決め方
- 毎日の問題は、日付をもとにした乱数で作ります。だから、同じ日には誰でも同じ問題を解いています。
- 難しさは曜日で決まります。ナンプレは月曜が「やさしい」、火・水曜が「ふつう」、木・金曜が「むずかしい」、土曜が「上級」、日曜が「達人」。クロスワードは月〜水曜が7×7、木〜日曜が9×9。ノノグラムは平日が10×10、週末が15×15です。ただし十五夜やクリスマスなど行事の日は、平日でもその日にちなんだ15×15の絵にしています。
- ノノグラムの絵は、季節に合うものを優先して日付に割り当て、同じ絵が2回出ないようにしています。
5. それでも誤りを見つけたら
問題が解けない、カギや豆知識がまちがっている、と思ったら、お問い合わせから知らせてください。確かめて直し、直した内容は編集方針のページに書き残します。