パズルで鍛えるアルゴリズム力(パズルデキタエルアルゴリズムリョク)
プログラミング- 著者:
- 大槻 兼資(オオツキ ケンスケ)
- 出版社:
- 技術評論社
- 出版日:
- 2022年04月20日頃
- ISBN:
- 9784297126797
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
技書の森解説
アルゴリズムの教科書は、ソートや探索といった既製の手法を順に覚える作りが主流です。『パズルで鍛えるアルゴリズム力』はその順序を裏返し、まず解きたいパズルがあって、それを解くための手順を自分で組み立てる、という向きで書かれた一冊です。著者は『問題解決力を鍛える!アルゴリズムとデータ構造』 (講談社) の著者、大槻兼資氏。技術評論社から 2022 年 4 月に発売された A5 判の本で、版元はテンパズル・数独・ 4 × 4 オセロといったパズルのソルバーを実装することで、楽しく効率的にアルゴリズムの設計力が磨けると紹介しています。
3 章構成: 1 つのパズルに 1 つのアルゴリズム
構成は 3 章で、 1 つのパズルに 1 つのアルゴリズムが対応する作りです。第 1 章のアルゴリズム入門では、テンパズルで力まかせ探索、小町算で再帰関数、虫食算で枝刈りを学びます。第 2 章のグラフアルゴリズムでは、数独と覆面算で深さ優先探索、迷路で幅優先探索を扱い、第 3 章の発展的なアルゴリズムでは、 15 パズルで反復深化 A*、 4 × 4 オセロでゲーム探索、編集距離で動的計画法、ドミノタイリングで二部マッチングへと進みます。各節には「数独を作る (山登り法) 」「覆面算メイカー」のようにパズルを作る側へ回る発展があり、組合せ爆発やルービックキューブの God's Number 、パズルの巨匠たちを扱うコラムが読み物としての厚みを足しています。
読みどころ: パズルは糖衣ではなく設計演習
パズルという題材の効き目は、単なる糖衣ではありません。数独や虫食算は「何をどう探索すれば解けるか」が自明でないため、問題の構造を観察し、探索空間を定式化し、枝刈りで 計算量 を削るという、アルゴリズム設計の工程を一式なぞることになります。編集距離の節が示すように、この設計力はパズルの外でそのまま使われている技術で、文書の差分を求める diff の原理は本書で学ぶ動的計画法そのものです。ゲーム探索や二部マッチングまで到達する射程は、遊びから入って実務・競技の道具箱まで届く構成と言えます。
前提知識: プログラミングの基本経験が必要
読むにはプログラミングの基本経験が前提です。ソルバーを実装しながら進む本なので、変数・ループ・関数を書いたことがない段階では手が止まります。また、計算量理論やデータ構造を体系的に網羅する教科書ではないため、基礎を順序立てて固めたい人は著者の前著や 定番教科書 との併用が向いています。版元自身が競技プログラミングに挑戦したい人の第一歩として勧めているとおり、本書は体系より「自分の頭で設計する経験」を積むための本です。
向いている読者: 考える喜びで走りたい人
典型問題集の暗記的な学習に飽きた人、パズルが好きでその楽しさをプログラミングにつなげたい人、競技プログラミングへの助走が欲しい学生や社会人にとって、考える喜びと設計の実践がひとつながりになった得がたい一冊です。解けたときの達成感を燃料に走り切れるアルゴリズム本は多くありません。
言及 Qiita 記事 (5 件)
アルゴリズムとは何か!? ~ 文系理系問わず楽しめる精選 6 問 ~
♡ 2542アルゴリズム, 機械学習, DeepLearning, 競技プログラミング, 新人プログラマ応援直感でわかる、ヒューリスティック問題の羅針盤 ~貪欲法から山登り法まで~
♡ 413アルゴリズム, 最適化, 競技プログラミング, 新人プログラマ応援, ヒューリスティックSE 2年目で読んだ技術書45冊+α
♡ 284技術書, Se, 新人プログラマ応援, 新人プログラマ応援_記事投稿キャンペーン【読書の夏?】各分野のおすすめ技術書を75冊まとめてみた
♡ 120AWS, Security, 初心者, 技術書, AIHoudinist が競プロerになってみた話
♡ 60競プロ, HOUDINI
言及 Zenn 記事 (1 件)
大槻 兼資 の他の書籍
関連記事
アルゴリズム本ガイド - 競プロだけじゃない、実務に活きる選び方
アルゴリズム本の 3 タイプと、実務でアルゴリズムの知識が活きる場面、数学が苦手な人向けの学習ルートを紹介します。
機械学習 / ディープラーニング本ガイド - エンジニアが読むべき AI 技術書の選び方
機械学習の基礎から実践まで学べる技術書の選び方を紹介。「Python ではじめる機械学習」などのハンズオン本を軸に、数学が苦手な人向けの学習ルート、ディープラーニング本への進み方、ML 本の賞味期限の見極め方を解説します。
ソフトウェア開発の歴史を変えた 5 冊の技術書
アルゴリズムの学問化からコードの可読性革命まで、ソフトウェア開発の方向性を決定づけた 5 冊の技術書を、時代背景とエピソードとともに紹介します。