パズルで鍛えるアルゴリズム力の表紙

パズルで鍛えるアルゴリズム力(パズルデキタエルアルゴリズムリョク)

プログラミング
著者:
大槻 兼資(オオツキ ケンスケ)
出版社:
技術評論社
出版日:
2022年04月20日頃
ISBN:
9784297126797
在庫:
在庫あり
3(1 件 / 楽天ブックス)

なぜ注目されているか

総合70 7 ランクダウン 6 件の言及
言及数
413
出版前出版日01120222023202420252026

書籍紹介

さまざまな問題を解決するためには、適切なアルゴリズムを判断したり、ときには自分で生み出したりできる力が必要です。そして、自在に使いこなせるようになるためには、知識をためるだけではなく実践してみることも大切です。
本書では、「テンパズル」「数独」「 4 × 4 オセロ」といったさまざまなパズルのソルバーを実装することで、楽しく効率的にアルゴリズムの設計力が磨けます。各アルゴリズムの概要は、図解でしっかり解説。数学的解法といった発展的な内容も盛り込みました。競技プログラミングに挑戦したい方の第一歩としてもお勧めの 1 冊です。

技書の森解説

アルゴリズムの教科書は、ソートや探索といった既製の手法を順に覚える作りが主流です。『パズルで鍛えるアルゴリズム力』はその順序を裏返し、まず解きたいパズルがあって、それを解くための手順を自分で組み立てる、という向きで書かれた一冊です。著者は『問題解決力を鍛える!アルゴリズムとデータ構造』 (講談社) の著者、大槻兼資氏。技術評論社から 2022 年 4 月に発売された A5 判の本で、版元はテンパズル・数独・ 4 × 4 オセロといったパズルのソルバーを実装することで、楽しく効率的にアルゴリズムの設計力が磨けると紹介しています。

3 章構成: 1 つのパズルに 1 つのアルゴリズム

構成は 3 章で、 1 つのパズルに 1 つのアルゴリズムが対応する作りです。第 1 章のアルゴリズム入門では、テンパズルで力まかせ探索、小町算で再帰関数、虫食算で枝刈りを学びます。第 2 章のグラフアルゴリズムでは、数独と覆面算で深さ優先探索、迷路で幅優先探索を扱い、第 3 章の発展的なアルゴリズムでは、 15 パズルで反復深化 A*、 4 × 4 オセロでゲーム探索、編集距離で動的計画法、ドミノタイリングで二部マッチングへと進みます。各節には「数独を作る (山登り法) 」「覆面算メイカー」のようにパズルを作る側へ回る発展があり、組合せ爆発やルービックキューブの God's Number 、パズルの巨匠たちを扱うコラムが読み物としての厚みを足しています。

読みどころ: パズルは糖衣ではなく設計演習

パズルという題材の効き目は、単なる糖衣ではありません。数独や虫食算は「何をどう探索すれば解けるか」が自明でないため、問題の構造を観察し、探索空間を定式化し、枝刈りで 計算量 を削るという、アルゴリズム設計の工程を一式なぞることになります。編集距離の節が示すように、この設計力はパズルの外でそのまま使われている技術で、文書の差分を求める diff の原理は本書で学ぶ動的計画法そのものです。ゲーム探索や二部マッチングまで到達する射程は、遊びから入って実務・競技の道具箱まで届く構成と言えます。

前提知識: プログラミングの基本経験が必要

読むにはプログラミングの基本経験が前提です。ソルバーを実装しながら進む本なので、変数・ループ・関数を書いたことがない段階では手が止まります。また、計算量理論やデータ構造を体系的に網羅する教科書ではないため、基礎を順序立てて固めたい人は著者の前著や 定番教科書 との併用が向いています。版元自身が競技プログラミングに挑戦したい人の第一歩として勧めているとおり、本書は体系より「自分の頭で設計する経験」を積むための本です。

向いている読者: 考える喜びで走りたい人

典型問題集の暗記的な学習に飽きた人、パズルが好きでその楽しさをプログラミングにつなげたい人、競技プログラミングへの助走が欲しい学生や社会人にとって、考える喜びと設計の実践がひとつながりになった得がたい一冊です。解けたときの達成感を燃料に走り切れるアルゴリズム本は多くありません。

言及 Qiita 記事 (5 件)

言及 Zenn 記事 (1 件)

大槻 兼資 の他の書籍

関連記事

関連用語

共有:Xはてブ