M.Hiroi's Home Page

Puzzle DE Programming

[ Home ]

WHAT'S NEW

CONTENTS


はじめに

Puzzle DE Programming は、パズルを題材にプログラミングを楽しみましょう、というお気楽なページです。世の中にはいろいろな種類のゲームがたくさんありますが、その中で M.Hiroi はパズルや思考ゲームが大好きです。パズルを解くこともパズルゲームを作ることも面白いのですが、それ以上に興味を持っていることがあります。それはコンピュータにパズルを解かせること、つまり、パズルの解法プログラムを作ることです。これがとても面白いのです。

また、パズルはプログラミングの学習にも役立ちます。どのプログラミング言語でもそうですが、上達の秘訣は実際にプログラムを作ってみることです。ところが、いざとなると「さて、何を作ろうか?」と困ってしまう方も多いのではないでしょうか。このような場合、パズルの解法プログラムはぴったりの題材なのです。

なんといっても実際にパズルが解けたときの喜びは大きく、プログラムを作る意欲をかきたててくれます。そして、解を求めるだけではなく、実行時間を短縮するためにプログラムを改良するのです。これがパズルプログラミングの醍醐味といってもいいでしょう。

簡単なパズルは力任せでも解くことができますが、少し複雑なパズルになると力任せでは時間がかかってしまいます。ところが、パズルの性質や特徴を見極めてプログラムを作ると、実行時間を劇的に短縮できる場合があります。超高速な解法プログラムができたときは本当に嬉しいものです。プログラミングに興味をお持ちの方は、ぜひパズルの解法にも挑戦してください。

Copyright (C) 1999-2022 Makoto Hiroi
All rights reserved.

パズルの解法

●数字のパズル

●魔方陣

●入れ替え/並べ替え

●川渡りの問題

●ライツアウト

●ペグ・ソリテア

●フリップ・イット

●裏表パズル

●スライドパズル

●チェスのパズル

●その他

●参考文献

  1. A.V.Aho, John E. Hopcroft, Jeffrey D. Ulman, 『データ構造とアルゴリズム』, 培風館, 1987
  2. 奥村晴彦,『C言語による最新アルゴリズム事典』, 技術評論社, 1991
  3. 松田晋, 『実践アルゴリズム戦略 解法のテクニック バックトラック方の高速化(1)』, C MAGAZINE 1993 年 1 月号, ソフトバンク
  4. 松田晋, 『実践アルゴリズム戦略 解法のテクニック バックトラックによる数独の解法』, C MAGAZINE 1993 年 3 月号, ソフトバンク
  5. 三木太郎, 『特集コンピュータパズルへの招待 スライディングブロック編』, C MAGAZINE 1996 年 2 月号, ソフトバンク
  6. 橋本哲, 『特集コンピュータパズルへの招待 ペグ・ソリテア編』, C MAGAZINE 1996 年 2 月号, ソフトバンク
  7. 井上うさぎ, 『世界のパズル百科イラストパズルワンダーランド』, 東京堂出版, 1997
  8. 松原 仁, 竹内郁雄 編, 『bit 別冊 ゲームプログラミング』, 共立出版, 1997
  9. 秋山仁, 中村義作, 『ゲームにひそむ数理』, 森北出版株式会社, 1998
  10. 大村平, 『数理パズルのはなし』, 日科技連出版社, 1998
  11. 高橋謙一郎, 『特集 悩めるプログラマに効くアルゴリズム』, C MAGAZINE 2000 年 11 月号, ソフトバンク
  12. 芦ヶ原伸之, 『ブルーバックス B-1377 超々難問数理パズル 解けるものなら解いてごらん』, 講談社, 2002

●権利・免責事項など

『パズルの解法』の著作権は作者「広井誠 (Makoto Hiroi)」が保持します。無断使用や無断転載は禁止いたします。『パズルの解法』で作成したプログラムはフリーソフトウェアとします。ご自由にお使いください。プログラムの改造や配布もご自由にどうぞ。その際は、出典を明記してくださるようお願いいたします。

ただし、これらのプログラムは無保証であり、使用したことにより生じた損害について、作者は一切の責任を負いません。また、これらのプログラムを販売することで利益を得るといった商行為は禁止いたします。


ナンバープレースの解法

『ナンバープレースの解法』は、Oh!X 1999 夏号 (ソフトバンク) に掲載された拙作のドキュメントです。パズル「ナンバープレース」の解法プログラムについて説明します。9 行 9 列盤のほかに、12 行 12 列盤と 16 行 16 列盤の解法プログラムも用意しました。これらのプログラムは Tcl/Tk GUI Programming の ナンバープレース で利用することができます。なお、ホームページへの転載にあたって、内容の再考証は行っておりません。ご了承下さいませ。

Copyright (C) 1999-2003 Makoto Hiroi

< Oh!X 1999 夏号 (ソフトバンク) pp.179 - 181 から転載 >

●権利・免責事項など

『ナンバープレースの解法』の著作権は作者「広井誠 (Makoto Hiroi)」が保持します。無断使用や無断転載は禁止いたします。『ナンバープレースの解法』で作成したプログラムはフリーソフトウェアとします。ご自由にお使いください。プログラムの改造や配布もご自由にどうぞ。その際は、出典を明記してくださるようお願いいたします。

ただし、これらのプログラムは無保証であり、使用したことにより生じた損害について、作者は一切の責任を負いません。また、これらのプログラムを販売することで利益を得るといった商行為は禁止いたします。


パズルでプログラミング

『パズルでプログラミング』は、Oh!X 2001 春号(ソフトバンク) に掲載された拙作のプログラミング講座です。パズルを題材にして、基本的なデータ構造とアルゴリズムを説明します。使用するプログラミング言語はC言語です。なお、ホームページへの転載にあたって、内容の再考証は行っておりません。ご了承下さいませ。

Copyright (C) 2001, 2002 Makoto Hiroi

●第 1 回 バックトラックと再帰の基本

●第 2 回 幅優先探索と 15 パズル

●第 3 回 二分探索木とハッシュ法

< Oh!X 2001 春号 (ソフトバンク) pp.216 - 239 から転載 >

●参考文献

  1. A.V.Aho, J.E.Hopcroft, J.D.Ullman, 『データ構造とアルゴリズム』, 培風館, 1987
  2. 奥村晴彦, 『C言語による最新アルゴリズム事典』, 技術評論社, 1991
  3. 近藤嘉雪, 『Cプログラマのためのアルゴリズムとデータ構造』, ソフトバンク, 1998
  4. 井上うさぎ, 『世界のパズル百科イラストパズルワンダーランド』, 東京堂出版, 1997
  5. 三木太郎, 『特集コンピュータパズルへの招待 スライディングブロック編』, C MAGAZINE 1996 年 2 月号, ソフトバンク

●権利・免責事項など

『パズルでプログラミング』の著作権は作者「広井誠 (Makoto Hiroi)」が保持します。無断使用や無断転載は禁止いたします。『パズルでプログラミング』で作成したプログラムはフリーソフトウェアとします。ご自由にお使いください。プログラムの改造や配布もご自由にどうぞ。その際は、出典を明記してくださるようお願いいたします。

ただし、これらのプログラムは無保証であり、使用したことにより生じた損害について、作者は一切の責任を負いません。また、これらのプログラムを販売することで利益を得るといった商行為は禁止いたします。



Copyright (C) 2000-2023 Makoto Hiroi
All rights reserved.

[ Home ]