プログラマの数学 第 2 版
プログラマノスウガクダイニハン
- 著者:
- 結城 浩(ユウキ ヒロシ)
- 出版社:
- SB クリエイティブ
- 出版日:
- 2018年01月18日頃
- ISBN:
- 9784797395457
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
プログラミングに役立つ「数学的な考え方」を身につけよう。
2005 年の刊行以来、数学書として異例の大ロングセラーを続けている前著の改訂版です。
プログラミングや数学に関心のある読者を対象に、プログラミング上達に役立つ「数学の考え方」をわかりやすく解説しています。数学的な知識を前提とせず、たくさんの図とパズルを通して、平易な文章で解き明かしています。
改訂にあたっては、文章を全面的に見直すと共に、現在の人工知能、ディープラーニングブームを踏まえて、付録「機械学習への第一歩」を加筆しています。この付録では、
・機械学習とは
・予測問題と分類問題
・パーセプトロン
・機械学習における「学習」
・ニューラルネットワーク
・人間は不要になるのか
という項目について、ていねいに説明しています。
プログラミングや数学に関心のある読者はいうまでもなく、プログラミング初心者や数学の苦手な人にとっても最良の一冊です。
第 1 章 ゼロの物語
第 2 章 論理
第 3 章 剰余
第 4 章 数学的帰納法
第 5 章 順列・組み合わせ
第 6 章 再帰
第 7 章 指数的な爆発
第 8 章 計算不可能な問題
第 9 章 プログラマの数学とは
付録 1 機械学習への第一歩
付録 2 読書案内
技書の森解説
プログラミングに役立つ「数学的な考え方」を、数学の知識を前提にせず、たくさんの図とパズルで身につけさせる本が『プログラマの数学 第 2 版』 (結城浩 著、大塚砂織 イラスト、SB クリエイティブ、2018 年 1 月刊) です。初版は 2005 年にソフトバンクパブリッシングから刊行され (国立国会図書館の書誌注記による)、版元はこれを数学書として異例の大ロングセラーを続けている前著の改訂版と紹介しています。対象読者はプログラミングや数学に関心のある読者で、版元はプログラミング初心者や数学の苦手な人にとっても最良の一冊としています。数式で数学を教える本ではなく、論理、剰余、数学的帰納法、再帰、順列 / 組み合わせといった、プログラムを書く人が日々ぶつかる考え方の骨組みを、平易な文章で解き明かす構成です。
全 9 章の構成、ゼロの物語から計算不可能な問題まで
構成は全 9 章に付録 2 本が続きます。第 1 章「ゼロの物語」、第 2 章「論理」、第 3 章「剰余」、第 4 章「数学的帰納法」、第 5 章「順列・組み合わせ」、第 6 章「再帰」、第 7 章「指数的な爆発」、第 8 章「計算不可能な問題」、第 9 章「プログラマの数学とは」という並びで、書店掲載の書誌 (出版社提供) にはそれぞれの副題も載っています。ゼロの物語には「ない」ものが「ある」ことの意味、論理には true と false の 2 分割、剰余には周期性とグループ分け、数学的帰納法には無数のドミノを倒すには、順列 / 組み合わせには数えないための法則、再帰には自分で自分を定義する、指数的な爆発には困難な問題との戦い、計算不可能な問題には数えられない数、プログラムできないプログラム、そして第 9 章にはまとめにかえて、という副題です。付録 1 が「機械学習への第一歩」、付録 2 が「読書案内」で、国立国会図書館の書誌には文献、著作目録、索引があることが記されています。
数学的な考え方がプログラミング上達に効く理由
プログラミングの現場で困るのは、公式を忘れたときではなく、条件分岐の場合分けに漏れがないか、ループや 再帰 がなぜ止まるのか、入力が増えたときに処理時間がどれほど膨らむのかを、根拠をもって判断できないときです。これらはいずれも言語仕様ではなく数学的な考え方の問題で、論理は場合分けの網羅と否定の扱いに、剰余は周期性を持つ処理のグループ分けに、数学的帰納法は繰り返し処理や再帰が全ての入力で正しいことを示す論法に、順列 / 組み合わせは数えずに個数を見積もる技術に、指数的な爆発は総当たりが破綻する境目の見極めにつながります。本書の目次がゼロから始まり、論理と剰余を経て帰納法、再帰、数え上げ、爆発、そして計算不可能な問題へ進む順序は、手で数えられる範囲から、プログラムでも原理的に解けない領域までを一本の線でたどる設計になっています。計算可能性の理論では、どれほど計算資源を投じても解けない問題が存在することが知られており、その事実を、プログラムできないプログラムという副題を持つ第 8 章で扱うことで、読者は自分の書くプログラムの限界を数学の言葉で捉えられるようになります。
第 2 版の改訂点、付録「機械学習への第一歩」の 6 項目
第 2 版での改訂について版元は、文章を全面的に見直すと共に、人工知能、ディープラーニングブームを踏まえて付録「機械学習への第一歩」を加筆したと説明しています。この付録で扱う項目は、機械学習とは、予測問題と分類問題、パーセプトロン、機械学習における「学習」、ニューラルネットワーク、人間は不要になるのか、の 6 項目です。付録である以上、機械学習の数学を体系的に学ぶ分量ではありませんが、パーセプトロンから学習という語の意味へ進む並びは、考え方を数式より先に置く本書の姿勢を機械学習にも適用したものと読めます。初版から本書へ買い替えるかどうかは、文章の全面見直しと、この付録に価値を感じるかで判断できます。改訂内容としての明細は版元案内ではこの 2 点で、それ以外の変更点は版元からは示されていません。
結城浩の著書としての位置と、向かない人
著者の結城浩は、版元のプロフィールによれば 1963 年生まれで、プログラミング言語、デザインパターン、暗号、数学などの分野で入門書を執筆し、代表作は『数学ガール』シリーズ、2014 年度日本数学会出版賞を受賞しています。版元公式の著者紹介では、本を書く生活がおよそ 30 年、著書はおよそ 60 冊とも記され、代表作として『数学ガール』『プログラマの数学』『暗号技術入門』『数学文章作法』『Java 言語で学ぶデザインパターン入門』などが挙げられています。向かないのは、線形代数や微分積分を大学数学として体系的に学びたい人と、特定の言語でアルゴリズムを実装する演習を求める人です。目次に特定のプログラミング言語や実装演習の章は無く、扱うのはあくまで考え方の側だからです。実装の練習や競技プログラミングへ進むなら、本書で土台を作ったうえで アルゴリズム本ガイド で紹介している本へ、付録をきっかけに機械学習の数学へ進むなら 機械学習に必要な数学の本ガイド で範囲を絞るのが現実的です。
元が取れるのは、プログラミングは書けるのに再帰や計算量の話になると自信が持てない人、数学が苦手なまま開発の仕事に就いた人、そしてこれから機械学習に触れる前に「学習」という言葉の意味を数学の側から押さえたい人です。9 章を通して読むと、場合分けの漏れを論理で点検し、繰り返し処理の正しさを帰納法の形で説明し、総当たりが破綻する規模を数え上げで見積もる、という思考の型が手に入ります。数学の知識ではなく数学的な考え方を求めるプログラマにとって、図とパズルで読み通せる本書は、遠回りをしない最初の 1 冊です。
言及した記事 (8 件)
新人さんにすすめる有益な技術書達 2022春
♡ 528読書, まとめ, 新人プログラマ応援アルゴリズム・AtCoder のための数学【後編:数学的考察編】
♡ 211アルゴリズム, AtCoder, 数学, 競技プログラミング, 新人プログラマ応援単体試験をする時に考えていたこと
♡ 28AdventCalendar, テスト, 単体テスト, adventcalendar2017新人エンジニアのためのブックリスト
♡ 21本, 初心者, 技術書, 応用情報技術者試験, 新人エンジニア2017冬休み課題図書10選
♡ 14iOS, テスト, 本, まとめ, 書籍文系大学生が完全独学でソフトウェアエンジニアになった理由と具体的な勉強法
♡ 7プログラミング, ハッカソン, 初心者, Udemy, 独学問題解決のための「アルゴリズム×数学」が基礎からしっかり身につく本 米田 優峻
♡ 4小川メソッド, DoCAP, QiitaEngineerFesta_アルゴリズム, QiitaEngineerFesta_技術書, CountdownCalendar2022AtCoder、始めてみました。
♡ 1AtCoder, 初心者, 競技プログラミング
この本に興味がある方におすすめ
関連する本
結城 浩 の他の書籍
関連記事
機械学習に必要な数学の本ガイド - 「どこまでやるか」で選ぶ 3 レベル
機械学習 / ディープラーニングに必要な数学を学ぶ本の選び方を 3 レベル (数式アレルギーの解消 → 機械学習で使う数学だけ → 数理を体系的に) で整理。学び直しの範囲を絞り、挫折せずに必要十分な数学を身につけるルートを解説します。
機械学習 / ディープラーニング本ガイド - エンジニアが読むべき AI 技術書の選び方
機械学習の基礎から実践まで学べる技術書の選び方を紹介。「Python ではじめる機械学習」などのハンズオン本を軸に、数学が苦手な人向けの学習ルート、ディープラーニング本への進み方、ML 本の賞味期限の見極め方を解説します。
アルゴリズム本ガイド - 競プロだけじゃない、実務に活きる選び方
アルゴリズム本の 3 タイプと、実務でアルゴリズムの知識が活きる場面、数学が苦手な人向けの学習ルートを紹介します。