プライム無料体験をお試しいただけます
プライム無料体験で、この注文から無料配送特典をご利用いただけます。
非会員 | プライム会員 | |
---|---|---|
通常配送 | ¥410 - ¥450* | 無料 |
お急ぎ便 | ¥510 - ¥550 | |
お届け日時指定便 | ¥510 - ¥650 |
*Amazon.co.jp発送商品の注文額 ¥3,500以上は非会員も無料
無料体験はいつでもキャンセルできます。30日のプライム無料体験をぜひお試しください。

無料のKindleアプリをダウンロードして、スマートフォン、タブレット、またはコンピューターで今すぐKindle本を読むことができます。Kindleデバイスは必要ありません。
ウェブ版Kindleなら、お使いのブラウザですぐにお読みいただけます。
携帯電話のカメラを使用する - 以下のコードをスキャンし、Kindleアプリをダウンロードしてください。
プログラマの数学第2版 単行本 – 2018/1/17
購入オプションとあわせ買い
プログラミングに役立つ「数学的な考え方」を身につけよう。
2005年の刊行以来、数学書として異例の大ロングセラーを続けている前著の改訂版です。
プログラミングや数学に関心のある読者を対象に、プログラミング上達に役立つ「数学の考え方」をわかりやすく解説しています。数学的な知識を前提とせず、たくさんの図とパズルを通して、平易な文章で解き明かしています。
改訂にあたっては、文章を全面的に見直すと共に、現在の人工知能、ディープラーニングブームを踏まえて、付録「機械学習への第一歩」を加筆しています。この付録では、
・機械学習とは
・予測問題と分類問題
・パーセプトロン
・機械学習における「学習」
・ニューラルネットワーク
・人間は不要になるのか
という項目について、ていねいに説明しています。
プログラミングや数学に関心のある読者はいうまでもなく、プログラミング初心者や数学の苦手な人にとっても最良の一冊です。
- 本の長さ296ページ
- 言語日本語
- 出版社SBクリエイティブ
- 発売日2018/1/17
- 寸法14.9 x 1.6 x 21.1 cm
- ISBN-104797395451
- ISBN-13978-4797395457
よく一緒に購入されている商品

この商品をチェックした人はこんな商品もチェックしています
出版社より

はじめにより
本書は、プログラマのための数学の本です。プログラミングの土台はコンピュータ科学サイエンスであり、コンピュータ科学の土台は数学です。ですから、数学を学ぶことは、プログラミングの土台を固めることにつながり、しっかりしたプログラムを書く助けとなります。「でも、数学はどうも苦手なんです」という読者もいるでしょう。特に「数式が出てくると、つい読み飛ばしちゃうんです」という読者は多いと思います。正直なところ、私自身も本の中に数式が出てくると、そこを読み飛ばしたくなります。本書は、こうした「読み飛ばしたくなる数式」をできるだけ取り除きました*。また、定義や定理や証明がびっしり書かれることもありません。本書はあくまでも、プログラマが日々のプログラミングをよりよく理解するための本です。本書を通して、プログラミングに役立つ「数学的な考え方」を学んでください。

数学的な考え方の例
【条件分岐と論理】プログラミングをする際に、私たちは条件に応じて処理を「分岐」させます。CやJavaなど、多くのプログラミング言語ではif文を使いますね。条件を満たすならこっちの処理を行い、満たさないならあっちの処理を行う、というように処理の流れを制御します。このとき私たちは、数学の一分野である「論理」を使ってプログラムをコントロールしていることになります。ですから、プログラミングでは「かつ」「または」「…ではない」「…ならば…」という論理を構成している要素をきちんと使いこなす必要があります。【繰り返しと数学的帰納法】私たちは大量の情報を処理するために、プログラムを使って「繰り返し」を行います。たとえばfor文を使えば、たくさんのデータを繰り返し処理できますね。繰り返しを支えているのは「数学的帰納法」です。【場合分けと数え上げの法則】たくさんの条件やデータを「場合分け」するとき、プログラマは見落としが絶対に起きないように気をつけなければなりません。そんなときには、和の法則、積の法則、順列、組み合わせといった「数え上げの法則」が役立ちます。これは、プログラマがいつも磨き上げておくべき数学の道具です。この他にも本書では、再帰、指数、対数、剰余などの基本的で大切な考え方を学ぶことができるようにしています。

第2版の刊行にあたって
近年、機械学習、ディープラーニング(深層学習)、人工知能(AI)といったキーワードをニュースなどで頻繁に見聞きするようになりました。機械学習に関心を持つ人もたくさんいます。しかし、機械学習はプログラミングと数学の両方に深く関わっており、変化が激しく話題も広範囲に及ぶので、近寄りがたいと感じる人もいるでしょう。そこで今回の『プログラマの数学第2版』では「機械学習への第一歩」と題した付録を新たに書き下ろしました。この付録では、機械学習に登場する基本的な概念を順序立てて紹介します。本書は「数式をできるだけ使わない」方針で書いていますが、この付録に関しては簡単な数式を解説しつつ使います。数式を見慣れていないと「易しい」内容を表しているものでも「難しい」と感じてしまうでしょう。数式を見ただけで思考停止してしまうのはもったいないことです。数式も、そんなに恐くないんですよ。この付録が、機械学習への第一歩を踏み出すきっかけになることを願っています。
バイナリサーチ 犯人探しクイズ クイズを通してやさしく解説(例)
|
|
|
|
---|---|---|---|
15人の中から犯人を探す15人の容疑者が一列に並んでおり、この中に1人だけ「犯人」がいます。あなたは、この人たちに「犯人はどこですか?」と質問して、犯人探しをしなければなりません。 |
質問した時の答えは3通りある人を一人選んで「犯人はどこですか?」と質問したとき、以下の3通りの答えのうち、どれか1つが正しく返ってくるとします。 (1)「犯人はわたしです」(質問した相手が犯人だった場合) (2)「犯人はわたしよりも左にいます」 (3)「犯人はわたしよりも右にいます」 このとき、3回の質問を行うだけで15人の中から確実に犯人を探すことができます。どのように質問すればよいでしょうか。 |
少ない人数で考えてみよう3人の場合には、真ん中の1人に質問すれば、犯人が誰であるかを確定できます。このとき、真ん中の人が犯人である必要はありません。犯人に直接質問しなくても、真ん中の人の答えによって犯人が確定できるからです。 (1)「犯人はわたしです」→当人が犯人確定 (2)「犯人はわたしよりも左にいます」→左の人が犯人確定 (3)「犯人はわたしよりも右にいます」→右の人が犯人確定 これをヒントにして、人数が15人の場合には、どのような質問の手順が適切かを考えましょう。 |
クイズの答え次のように「犯人が含まれている範囲で、真ん中の人を質問する」を繰り返せば、3回の質問で犯人を確実に見つけることができます。 【1回目の質問】まず、15人のうち真ん中の人に質問します。このとき、左の7人・本人・右の7人の3グループのどこに犯人がいるかがわかります。本人が犯人なら質問は終わりです。 【2回目の質問】次に、絞り込んだ7人のうち真ん中の人に質問します。このとき、左の3人・本人・右の3人の3グループのどこに犯人がいるかがわかります。本人が犯人なら質問は終わりです。 【3回目の質問】最後に、絞り込んだ3人のうち真ん中の人に質問します。 このとき、左の人・本人・右の人の3人の誰が犯人なのかがわかります。これで犯人が確定します。 |

バイナリサーチと指数的な爆発
上の「犯人探し」のクイズで使用した方法は、コンピュータでデータを検索するときによく使われる「バイナリサーチ」と同じ方法です。バイナリサーチ(binary search)は、順序よく並んでいるデータから目的のデータを探し出す際に「目的のデータが含まれている範囲の真ん中を常に調べる」という方法です。「二分法」や「二分探索」と呼ばれることもあります。バイナリサーチは、大量の数の中から目的の数を探し出すときに、ものすごい威力を発揮するのです。たとえば、たった10回調べるだけで2047個の中から目的の数を探すことができますし、20回調べたら209万7151個、30回調べたら21億4748万3647個の中から目的の数を探すことができるのです。バイナリサーチで大切なのは、1回調べるたびに検索対象を約半分に絞り込んでいる点です。そのためには、検索対象の数は「順序よく」並んでいる必要があります。そうでないと、1回調べたときに目的の数が「左右のどちらにあるのか」を判断することができないからです。前節で解説した「犯人探し」でも、一列に並んでいる人たちはみな、ほんとうの犯人が自分の左右いずれにいるかを知っていたわけですね。バイナリサーチでは、1回調べるごとに対象を約半分に絞り込みます。言い換えれば、1回多く調べれば約2倍の検索対象から探し出せるということです。バイナリサーチが、指数的な爆発をうまく利用していることがわかるでしょう。
商品の説明
著者について
プログラミング言語、デザインパターン、暗号、数学などの分野で入門書を執筆。
代表作は『数学ガール』シリーズ。
J.S.バッハの「フーガの技法」が大好きな、プロテスタントのクリスチャン。
2014年度日本数学会出版賞受賞。
登録情報
- 出版社 : SBクリエイティブ (2018/1/17)
- 発売日 : 2018/1/17
- 言語 : 日本語
- 単行本 : 296ページ
- ISBN-10 : 4797395451
- ISBN-13 : 978-4797395457
- 寸法 : 14.9 x 1.6 x 21.1 cm
- Amazon 売れ筋ランキング: - 26,547位本 (本の売れ筋ランキングを見る)
- - 36位数学一般関連書籍
- カスタマーレビュー:
著者について

結城浩(ゆうき・ひろし)本を書く生活がおよそ30年。著書はおよそ60冊。プログラミング言語、デザインパターン、暗号、数学などの分野で入門書を執筆。代表作は『数学ガール』『プログラマの数学』『暗号技術入門』『数学文章作法』『Java言語で学ぶデザインパターン入門』など。J.S.バッハの「フーガの技法」が大好きな、プロテスタントのクリスチャン。2014年度日本数学会出版賞受賞。Twitter: @hyuki
-
トップレビュー
上位レビュー、対象国: 日本
レビューのフィルタリング中に問題が発生しました。後でもう一度試してください。
当方は、現行制度になる以前ではありますが、幾つかの情報処理資格講座を受けた経験があり、本書の内容も半分ぐらいは理解していたはずなのですが、冒頭の2進法&10進法解説から「解り難い!」と感じてしまいました。
その理由は、端的に言えば「回りくどい」であり、細かい内容を見ていくと、数学が発展して来た歴史や、現場での実例解説に頁を割き過ぎており、所謂『脱線』が多い事に起因します。
例えるなら、学校の講義で「テストに役立たない話題ばかりを並べてしまう人気講師」みたいな感じであり、読み物としては充実しているのですが、完全に教科書の枠からは外れています。
では、その『脱線』した話題が魅力的かどうかと聞かれると、当方の印象としては客観的事実ばかりで「硬過ぎる!」と言え、少なくとも笑いを取れる内容ではありません(但し数学的ユーモアはあります)。
数字とアルファベットの羅列に、ワクテカされる方ならいざ知らず、それらにアレルギー反応が生じて、学習に苦心する様な方には、あまり有用とは言い難いです。
総じて、本書読者ターゲットが『初心者や苦手な方』と示されていますが、どう考えてもその需要には敷居が高いと感じますので、及第点評価とします。
読んでみて、確かにこれは分かりやすい(苦心されている)と思いました。既に分かっている人が読むからそう感じるのか、それとも本当にこれまで機械学習が分からなかった人が分かるようになるのかは不明ですが、このようなターゲットに向けてちゃんと書かれている本がまずないので、数学を学び直そうと思っている人は手に取ってみるとよいです。
機械学習を実践しようとすると、どうしても道具としての数学は避けて通れないので、どこかで時間を使ってみる必要がありますが、どういう順番でやればよいのか、まだ分かっていません。プログラミングは問題なくできるという人も少なくないので、Google Colab あたりで演習を用意して、コードを書くのと理論を勉強するのをうまく組み合わせることができればよいのになあ、と常日頃思っています。
プログラムはまったくの初心者です。
「プログラミング初心者、
本帯に数学の苦手な人にも最適」とあるので
読んでみました。
感じたことはある程度の基礎知識と学習は
やはり必要かもしれません。
言葉では難解と思われる要点などを
丁寧に分かりやすく図解や絵にして頂いており
こうした部分は読み手にとってヒントがつかみやすく
何度か読み返すとじょじょに理解できるように
なると思います。
「筆者が個人的にファンタジーの法則と読んでいる
問題解決法」というものがあり
「こちらの世界で解けない問題があったら」
「こちらの世界から別世界へ持ってゆく」
「問題を別世界で解く」
「得られた答えをこちらの世界に持って帰って来る」
・・等、そういった例えが多くあり
(本書では詳しく解説されています)
これはプログラムということをはなれても
いろんな考える場面で応用できると思われる
ヒントもたくさん書かれています。
現在勉強されている方や
ある程度基礎ができている方などには
興味ふかい内容の本ではないかと思えました。
素晴らしくよくまとまっていて、わかりやすい。