プログラマの数学 第 2 版

プログラマノスウガクダイニハン

プログラマの数学 第 2 版の表紙
プログラミング
著者:
結城 浩(ユウキ ヒロシ)
出版社:
SB クリエイティブ
出版日:
2018年01月18日頃
ISBN:
9784797395457
在庫:
在庫あり
4(15 件 / 楽天ブックス)
初級者向け
プログラミング機械学習深層学習ニューラルネットワーク数学論理数論帰納法組み合わせ論再帰

なぜ注目されているか

言及数
334位
総合400位 ↑ 7 ランクアップ 言及 9 件・うち記事 8 件を掲載
02320222023202420252026

書籍紹介

プログラミングに役立つ「数学的な考え方」を身につけよう。

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 件)

この本に興味がある方におすすめ

関連する本

結城 浩 の他の書籍

関連記事

関連用語

共有: