アルゴリズム本 - 人気 / 新書 / 高評価 書籍一覧 | 技術書の本だな


アルゴリズム 人気本 ランキング

人気 1位
本書の内容
★この本を買わずして何を買う!!★

競技プログラミング経験が豊富な著者が、「アルゴリズムを自分の道具としたい」という読者に向けて執筆。入門書を標榜しながら、AtCoderの例題、C++のコードが充実。入門書であり実践書でもある、生涯役立つテキストを目指した。

【推薦の言葉】
プログラムが「書ける」ことと、効率の良い結果を得ることには大分ギャップがある。本書は、どのようにすれば効率のよい結果が得られるか? すなわちどのようなアルゴリズムを採用すればよいか? という点に対して、幅広くかつ明快に解説している。
また本書は、アルゴリズム初心者に対して、アルゴリズムへの興味を惹かれるように記述されている。アルゴリズム上級者への初めの一歩には最適であろう。
――河原林健一(国立情報学研究所副所長)

【全体を通して、アルゴリズムの設計技法を重視した構成】
まず、1、2章でアルゴリズムと計算量について概観します。そして、3~7章が、早くも本書のメインパートといえる部分であり、「アルゴリズムの設計技法」について詳しく解説します。これらの設計技法に関する話題は、多くの書籍では、最後の方で簡単に説明しています。しかし本書は、現実世界の問題を解決するための実践的なアルゴリズム設計技法の鍛錬を目指しています。そこで、アルゴリズム設計技法について前半で詳しく解説する構成としました。そして、これらの設計技法が後半の章でも随所に使われていくことを示していきます。

その後、8~11章では、設計したアルゴリズムを効果的に実現するうえで重要となるデータ構造を解説します。データ構造について学ぶことで、アルゴリズムの計算量を改善したり、また、C++やPythonなどで提供されている標準ライブラリの仕組みを理解して、それらを有効に活用したりすることができるようになります。

そしていったん、12章でソートアルゴリズムについての話題を挟んだ後に、13~16章でグラフアルゴリズムについて解説します。グラフは、非常に強力な数理科学的ツールです。多くの問題は、グラフに関する問題として定式化することで、見通しよく扱うことができるようになります。また、グラフアルゴリズムを設計するとき、3~7章で学ぶ設計技法や、8~11章で学ぶデータ構造が随所で活躍します。

最後に、17章で PとNPに関する話題を解説し、世の中には「効率的に解くアルゴリズムを設計することができそうにない難問」が多数あることを見ます。18章で、これらの難問に取り組むための方法論をまとめます。ここでも、動的計画法 (5章) や貪欲法 (7章) といった設計技法が活躍します。  
内容サンプル
 
User Voice
今後の教科書はこの本しかないと言えるぐらい素晴らしい本でした。
レベルの高い前提知識を必要としないのに、高度な内容も容易に理解できる文章でした。
また、アルゴリズムやデータ構造をイメージして理解できるように図も大量に使われており、理解に迷うことも無いと思いました。
紹介に留まらず、擬似コードではない本物のコードが書かれているのも現代的な本だと思います。

プログラミングコンテストチャレンジブックやCoding Interviewの本を読む前にも最適な1冊だと思いました。
すごくオススメです ?( ' ꒳ `?)
競プロerのバイブルとされる「蟻本」は網羅性の高い名著ですが、初心者にはなかなかとっかかりづらいものでした。

本書は中学数学と最低限のC++の知識(AtCoder Programming Guide for beginnersで数日で身につくものです)があれば読み進めることができ、アルゴリズムの基礎を体系的に身につけることができるようになっています。

想定読者は入門者〜緑くらいでしょうか?しかしそれ以上のレートの方にも、アルゴリズムの設計技法に重きを置いた説明は多いに参考になると思います。
カラーが効果的に使われていて非常に読みやすくページが構築されている。加えて章末問題も用意されており、高校の参考書のようにシンプルな作りとなっている。競技プログラミングは大学生や高校生といった若い層が多くを占めると言われているが、彼らにとっても親しみやすいレイアウトの本であると言えるだろう。
あらゆるアルゴリズムが競技プログラミングを志向して解説されている。説明はとても分かりやすいが、それと同時に「大切な点」も省かれずにしっかりと網羅されている印象を受けた。
 
   
人気 2位
本書の内容

【本電子書籍は固定レイアウトのため7インチ以上の端末での利用を推奨しております。文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。ご購入前に、無料サンプルにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください】

機械学習アルゴリズムの違いが見てわかる!

「機械学習アルゴリズムは種類が多く、複雑で何をしているのかわかりにくい」と思ったこと、ありませんか?本書は、そのような機械学習アルゴリズムをオールカラーの図を用いて解説した機械学習の入門書です。
いままで複雑でわかりにくかった機械学習アルゴリズムを、図解によりわかりやすく解説しています。アルゴリズムごとに項目を立てているので、どのアルゴリズムがどのような仕組みで動いているのか比較をしやすくしています。
これから機械学習を勉強する方だけでなく、実際に機械学習を業務で使用している方にも新しい気付きを得られるのでお勧めの1冊です。

【本書の特徴】
・複雑な機械学習アルゴリズムの仕組みを1冊で学べる
・オールカラーの図をたくさん掲載
・各アルゴリズム毎にScikit-Learnを使用したコードを記載しているので、見るだけでなく試すこともできる
・仕組みだけでなく、実際の使い方や注意点もわかる

【本書で紹介するアルゴリズム】
01 線形回帰
02 正則化
03 ロジスティック回帰
04 サポートベクトルマシン
05 サポートベクトルマシン(カーネル法)
06 ナイーブベイズ
07 ランダムフォレスト
08 ニューラルネットワーク
09 kNN
10 PCA
11 LSA
12 NMF
13 LDA
14 k-means
15 混合ガウス
16 LLE
17 t-SNE

※本電子書籍は同名出版物を底本として作成しました。記載内容は印刷出版当時のものです。
※印刷出版再現のため電子書籍としては不要な情報を含んでいる場合があります。
※印刷出版とは異なる表記・表現の場合があります。予めご了承ください。
※プレビューにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください。

 
内容サンプル
 
User Voice
機械学習において、どの様なアルゴリズムがあるのか俯瞰するのに良いと思います。ただ、212ページで、この値段は....。
機械学習のための各アルゴリズムの特徴が、各アルゴリズムの冒頭に記されているのだが、これが抽象的で理解しずらい。
もう少し、歴史的な背景とかなぜこのようなアルゴリズムが必要になったのかとか実際にどのようなことに役立ってきたのかなどが記載されていないので、読者からすると入門書でありながら書かれている内容が抽象的になってしまい過ぎて理解しにくい。いろいろな簡単な例について説明されているが、このらの例も簡単すぎて実際にどのようなときに使用したらよいのか、などが分かりにくい。理論自体、あるいはそこで使用されている数学自体は簡単なものが多いので、もう少し工夫してわかりやすく書いてほしかった。内容はやさしくても、そこになぜそうなるのかという理論がわかりやすく書かれていないと理解しにくい。読者は子供の使いではないので、簡単な例だけで、こういうふうに理解しろと言われてもそれは無理だ。
結局この本だけではダメなので、インターネットで関連するいろいろな記事を読むことにより、明確なイメージをつかむことができた。
■良かった点
・各ページの構成・見栄えがとても良く、機械学習の難しい話をとっつきやすく解説してくれている
・アルゴリズムの網羅性が高く、見やすさ/とっつきやすさと相まって、知らないアルゴリズムがあったときに心理的な障壁がなく気軽に本書で調べることができる
■もう一歩な点
・各アルゴリズムの詳細な解説は完璧に省かれているため、数学的な原理を知りたい場合はネット等で別途調査する必要がある。
 
   
人気 3位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 4位
本書の内容
“プログラミングコンテスト"で勝つための必須テクニック
「アルゴリズム」と「データ構造」の基礎をマスター!

本書はプログラミングコンテストの問題を攻略するための「アルゴリズムとデータ構造」を体得するための参考書です。初級者が体系的にアルゴリズムとデータ構造の基礎を学ぶことができる入門書となっています。

プログラミングコンテストでは、高い数理的能力で上位ランクを得ることができますが、多くの入門者においては基礎アルゴリズムの応用が目の前の問題の攻略に繋がります。つまり、基礎対策をすることでランクを上げ(問題が解けて)コンテストを楽しむことができます。

基礎対策と言っても辛い勉強ではありません。そこには、体得したスキルで問題を解いていく楽しみ、応用する楽しみ、アルゴリズムとデータ構造を網羅的に「コレクション」していく楽しみがあります。
このような楽しみを体感しながら学習・対策できるように、本書ではコンテストの競技システムに類似した、オンラインジャッジと呼ばれるプログラムの自動採点システムを通してアルゴリズムとデータ構造を獲得していきます。

本書の内容はAIZU ONLINE JUDGEでチャレンジすることが可能です!  
内容サンプル
 
User Voice
愛読している書籍に、アルゴリズムを勉強すると良いとの記述があり、その目的で購入しました。
C++は触ったことなかったためその点に不安がありましたが、スクリプト言語の経験があったためまあ概ね問題なしでした。

本を読んでコードを書いて理解してを繰り返しながら読み進めたため、読み切るのに土日を使って7,8日くらいかかりました。期間にすると大体1ヶ月。
1ヶ月の土日を潰しましたが、全く後悔はありません。

アルゴリズムの勉強をするという目的での購入であったため、プログラミングコンテストのモチベーションはなかったのですが、これを機に初めてみてみとごにハマりました(笑
よくある本はサンプルコードが載っていて終わりですが,
オンラインジャッジシステムで判定してもらえるのはモチベーション的にも良いです.便利な時代になりました.

プログラミングコンテスト攻略のための,とありますが,
単にアルゴリズムを学ぶのにも良い一冊です.大学の教科書もこういうものが使われると良いような気がします.
基礎的なアルゴリズムとデータ構造を勉強しつつ、コーディングして理解できているかを確認できます。
確認はAOJというオンラインジャッジを使用します。理解と実践が両立できるのでオススメです。
蟻本より簡単なので、最初の一歩に良い本だと思います。
 
   
人気 5位
本書の内容
※この商品は固定レイアウト型の電子書籍です。リフロー型電子書籍のようなテキスト拡大などの機能が利用できませんので、お使いの端末で無料サンプルをお試しいただいた上でのご購入をお願いいたします。

[本当の力がつくアルゴリズムの本]
プログラミングコンテストの問題を通してアルゴリズムのしくみや考え方を楽しく習得。

プログラミングコンテストにて世界トップレベルの成績を誇る著者たちが、コンテストで得た知識やノウハウを難易度別にまとめました。初心者が取り組めるアルゴリズムの基本問題から、世界中のプログラマを悩ませた難問まで。“プログラミング脳”を活性化するための問題を厳選して紹介します。

「プログラミングコンテスト」は上級者だけのものではありません。多くの場合は初級者向けの問題も用意され、幅広い参加者が楽しめるよう配慮されています。良い成績を収められなくてもプログラミング能力を向上させることにつながり、何より、楽しく充実した時間を過ごせます!

本書を読むにあたって必要なものは「基礎的なプログラミング能力」だけです。掲載したソースコードはC++ですが基本的な機能のみで記述しており、C++での開発経験がなくても読みやすいように配慮しました。
難易度別に分けて構成し、内容の多いトピックは難易度ごとに何度か扱っています。各トピックは説明と例題からなっています。

第2版となる本書では、4つの新しいトピック「平面・空間を扱う“計算幾何”」「工夫を凝らして賢く“探索”」「分けて解いてまとめる!“分割統治法”」「“文字列”を華麗に扱う」を追加した他、より理解を深めるための練習問題の紹介や、さらなる高みを目指す読者のために発展的内容の紹介を行い、より一層充実した内容になっています。

現役プログラマだけでなくプログラマを目指している方にもぜひ読んでいただきたい1冊です!  
内容サンプル
 
User Voice
序盤の内容は大学のアルゴリズムの授業で必ずカバーされる内容なので知っていることが前提となっているのかもしれないが、特に最短路問題などは重要度の割には説明が短い。
一定の網羅性があるので初中級者は必携だが、初心者の場合にはこの本の説明だけで理解できなくても諦めないで他の資料を当たってみるのが良いと思う。
基本的なアルゴリズムは全て網羅しており、まさに競技プログラミングの教科書に仕上がっている
確かに簡略化し過ぎて何の変数だか初心者では理解に苦しむところもあるが、それも含めて本番の時間短縮のノウハウであると思う
何回も読み直しせば読み直すほど味が出る1冊である
内容は素晴らしいです。C++をある程度使えることを前提にすると非常にわかりやすいです。一通りこなせばプロコンのランクを相応に上げられると思います。ただ、少し古いのでPOJの問題扱いが多いのは、個人的にはマイナスポイントです。

それから、今回Kindle版を購入したのですが、電子書籍としての目次が無くてかなり不便です。今からでもいいので更新お願いします。
 
   
人気 6位
本書の内容

【本電子書籍は固定レイアウトのため7インチ以上の端末での利用を推奨しております。文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。ご購入前に、無料サンプルにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください】

イメージがつかめるから、面白い!
アルゴリズムをまるごとイラストにしました

【本書のポイント】
・基本的な26のアルゴリズム+7つのデータ構造をすべてイラストで解説
・誌面がフルカラーなので、図の「動き」がわかりやすい
・各アルゴリズムの考え方や計算効率、問題点もフォロー
・50万人が学んだ大人気アプリを書籍化

アルゴリズムはどんな言語でプログラムを書くにしても不可欠ですが、
現場で教わることはめったになく、かといって自分で学ぶには難しいものです。

本書は、アルゴリズムを独学する人のために作りました。
はじめて学ぶときにはイメージしやすく、
復習するときには思い出しやすくなるよう、
基本的な26のアルゴリズム+7つのデータ構造を
すべてイラストにしています。

ソートやグラフなどの「動き」を図で追うことで、
考え方や仕組みを理解する手助けをします。
よいプログラムを書くために知っておかなきゃいけない
アルゴリズムの世界を、楽しく学びましょう。

●書籍のもとになったアプリ「アルゴリズム図鑑」の実績
・50万ダウンロード達成(2017年4月時点)
・2016年 App Store「今年のベストApp 10選」に選出

【目次(抜粋)】
●序章 アルゴリズムの基本
●第1章 データ構造
・リスト
・配列
・スタック など

●第2章 ソート
・バブルソート
・選択ソート
・マージソート など

●第3章 配列の探索
・線形探索
・2分探索

●第4章 グラフ探索
・幅優先探索
・ベルマン-フォード法
・A* など

●第5章 セキュリティのアルゴリズム
・暗号の基本
・公開鍵暗号方式
・デジタル署名 など

●第6章 クラスタリング
・k-means法 など

●第7章 その他のアルゴリズム
・ユークリッドの互除法
・ページランク など


※本電子書籍は同名出版物を底本として作成しました。記載内容は印刷出版当時のものです。
※印刷出版再現のため電子書籍としては不要な情報を含んでいる場合があります。
※印刷出版とは異なる表記・表現の場合があります。予めご了承ください。
※プレビューにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください。

 
内容サンプル
 
User Voice
初心者と最学習に最適です。

社会人プログラマーで国家試験の高度を持っていても、理解が曖昧な人は読み返すべき参考書でしょう。
Googleの面接試験でフレームワークなどの知識ではなく、この基礎学習面を聞いてくるという噂を聞きました。

日本の人売の面接はフレームワーク知識と経験年数くらいしか聞かず、役立たずなor下手くそなアルゴリズムでプログラミング組む人を採用してますよね。
結果、応答スピードが遅いシステムが出来上がります。
マジでこれ読め。
この本は、アルゴリズムを図入りで丁寧に紹介している初心者向けの本。
最初の一歩には良いですね。
C言語がわかっている人には、奥村先生のC言語によるアルゴリズム辞典か、少し難しいけど、
河西先生のC言語によるはじめてのアルゴリズム入門かな。
次は、世界でもっとも強力な9のアルゴリズム、次が安くなった、The Art of Computer Programming Volume 1/2ですね。高校の数学がわかっていたら、わかるはず。
プログラム初心者向けの本ですが、熟練者でも振り返りや興味本位には良いです!

特に暗号は理解するにも難しい箇所ですが、素晴らしい図と説明でした。
痒いところの説明もあり、楽しく読むことができました。
 
   
人気 7位
本書の内容
機械学習の原理を知るための、初めての入門

本書は具体的なデータ分析の手法を説明する意図で書かれたものではありません。
実用的な目的ならscikit-learnやChainerなどの既存のフレームワークを使うべきですが、本書では機械学習のいくつかの有名なアルゴリズムを、自分でゼロから実装することを目標としています。こうすることにより、とかくブラックボックスになりがちな機械学習の仕組みを理解し、さらなる応用力と問題解決力を身につけることができるようになります。
また、処理系にはデファクトスタンダードであるPythonを使い、機械学習に必要な数学の知識もわかりやすく解説しています。
これから機械学習を始める学生さんや、いきなりプロジェクトに放り込まれていまいち理解できないままデータ分析の仕事をしているエンジニアの方にも最適です。

●目次
はじめに
第01章 学習を始める前に
01 本書の目的
02 本書は何を含まないか
03 機械学習の初歩
04 実行環境の準備
第02章 Pythonの基本
01 プログラムの実行方法
02 基本的な文法
03 数値と文字列
04 複数行処理
05 制御構造
06 リスト、辞書、集合
07 関数定義
08 オブジェクト指向
09 モジュール
10 ファイル操作
11 例外処理
第03章 機械学習に必要な数学
01 基本事項の確認
02 線形代数
03 微積分
第04章 Pythonによる数値計算
01 数値計算の基本
02 NumPyの基本
03 配列の基本計算
04 疎行列
05 NumPy/SciPyによる線形代数
06 乱数
07 データの可視化
08 数理最適化
09 統計
第05章 機械学習アルゴリズム
01 準備
02 回帰
03 リッジ回帰
04 汎化と過学習
05 ラッソ回帰
06 ロジスティック回帰
07 サポートベクタマシン
08 k-Means法
09 主成分分析(PCA)
INDEX
 
内容サンプル
 
User Voice
他の方のレビューにもある通り、
出版社HP上の正誤表を見ると、13ページにもわたる誤植があります。

それだけならともかく、この正誤表の中にも、誤植があります。
(私が気付いた実例)
・正誤表2ページ  P.92 上から 3 番目の数式
 「b_l2」ではなく、「b_n2」
・正誤表12ページ  P.331 一番下の数式
 「P.331 一番下の数式」ではなく、「p.311 一番下の数式」

本のコンセプトとしては、とても良いと感じます。
私自身機械学習の初心者のため、
数学の基礎、Python、定番のアルゴリズムをこの1冊で
身に着けることができるこの本には助けられております。

ただ初版は上記のように誤植が多いため、私のような初心者は読んでいて
「本当にこれで合っているのか?」と不安になる点も多い書籍ではあります。
  ※不安になるため、他の書籍やWEBから情報を得ようとして、
   知識として身につく点はある意味良い点といえるかもしれません…笑

誤植が多くても、機械学習の初心者(特に数学を復習したい人、Pythonの基礎を勉強したい人)の
勉強にはなるため、初版を買っても大損はしないと考えます。
  ※そのため、★1ではなく★3としています。

誤植が気になる場合は、誤植が訂正されるはずの第二版を待つことをお勧めします。
唯一神scikit-learn信者の人は帰った帰った。
いわゆる「ガチ勢」になるための第一歩です。以下のような状況で最初の一手が分からない人はぜひ。
・関数に食わせて終了でなく、機械学習の数学的な仕掛け(アルゴリズム)を理解し、チューニングや進化させたい人
・コンピュータにつきものの近似計算やローカル極値のドツボから抜けたい人
・偏微分とか勾配とか学生の時聞いたけど忘れた。でも機械学習のお仕事上理解しなきゃいけないんだけどな人
これで機械学習アルゴリズムでやってることの個別要素は理解できるかと考えます。
組み合わせる方法論が無限にあるので今の界隈は変化が激しいですが、
個別要素がわかると「どの組み合わせがいいか」もわかるのがいいところです。

……誤字とか誤植とかのレビューが目立ちますが、個人的には「それが分かるレベルまで理解が進めば十分じゃね」です。
悩んだ挙句に誤字だった俺の数十分返せ、という経験は私も本書に限らずありましたが
「人間のやることだもの俺の理解が正しいはず」を元に実務で回せるほうがよいと考えます。
100%信頼区間を求める人は少なくとも統計的思考をするべきではありません。
数学的な箇所において、本書だけで理解を進めていける完結型を目指した本とありましたが、その点においては期待通りではなかったです。理系の学部を卒業していますが、それでも数式の展開の行間が大きかったりなど、書籍外で調べる時間は結構ありました。

一方で、載っているコードは簡潔で理解しやすく、具体的なイメージとともに理解を深められるという点は期待通りでした。コードに対する説明も、事前に数式やアルゴリズムを理解していれば特に問題なく十分でした。

上記の通り、購入のおすすめ度合いはどの点にニーズがあるのかによります
見極めて購入を検討されたほうが良いでしょう。
 
   
人気 8位
本書の内容
仕事の時間配分、書類整理から洗濯済靴下の片割れ探しまで、何をいつ行ないいつやめるか、そもそも行なうべきかの判断は難しい。だが人工知能の大本でもあるアルゴリズム論理の使い方を学べば、ビジネスや日常で迫られる判断を手早く行なえる。現代人必読の書。  
内容サンプル
 
User Voice
 素晴らしい本だと思います。分厚いし、多量の情報が書いてあるので、一つ一つを追っていくと途中でなげだすかもしれません。それより通勤の電車の中で読み飛ばすだけでもよいでしょう。
 いろいろな数理があり、我々が直感的にやっていることが、実は正しいやり方であること、完璧な最適化というのは難しいだけでなくのぞましくないこと、などが様々な例を取り上げながら書かれています。
 講義を準備しすぎると学生にわかりにくくなるということが「オーバーフィッティング」の例としてかかれているなど、ちょっとやりすぎと思う例もつかわれていますが、細かいことにこだわらず読んでいけば良いと思います。
 素晴らしい本だと思います。完璧に対応し最適解を求めても得られないことが多く、また思考のためのコストや不確実性、問題の複雑性のために、適当に打ち切った方が良いということがよくわかりました。普段私たちがやっていることが本当は合理的なのではないかと感じます。

 多数の話題が書かれていますが、読みやすく役に立ちます。コンピュータサイエンスというのはこのような分野をカバーするのでしょうか?特にキャッシュだとかネットワーキングの章について、私は知らないことばかりだったので、素晴らしいと思いました。
 それに対して、最後のゲーム理論のところは取ってつけたように感じます。というか情報処理の方法という面ではこの分野は発展しているけれども、人々の間での協力の成立については、あまり発展していないということなのでしょう。人間の情報処理に関する学問、心理学には、認知心理学と社会心理学がありますが、本書をそれに対応させると、前者の方に対応する話はすばらしかったけれども、後者の対応物が弱いと思いました。人間は動物でその進化は社会的な相互作用で生じたと考えられること、その大きな脳は社会的な文脈でのうまく振る舞えるようにと進化したと考えられることから、コンピュータサイエンスも、21世紀は社会的な文脈への対応が進歩する気がします。
 私は生物学者ですが、動物行動学は逆にゲーム理論は取り込んだけれども、情報処理に関する様々な考察は粗いままになっています。そのことからこの本に書かれた多くの章は、今後の動物行動学の進展には極めて重要ではないかと思いました。デボラ・ゴードンのアリのリクルートの話とか、一部には試みはあるようです。しかし人間の行動を変えるために処罰の仕方を少しずつ拘留期間を長くする話など、なるほどと思うことがあります。本書に書かれたことを生物科学や社会科学に翻訳することで見えてくることが多いと思います。
 私には久々の優れた本の発見でした。
タイトルを見るといかにも自己啓発書で、そして実際日々の生活で役に立つ話・考え方はいろいろと出ている。
しかし、本書の特徴はその背後にきちんとした計算機科学やアルゴリズムの考え方があるという点であろう。
特に後半は結構高度な計算機科学の話がそういう顔をせずに書かれていたりする。

どんな感じで出ているかを簡単にまとめておく。

1:最適停止(最適停止問題の1/e=37%ルール)
2:探索と活用(探索と活用のトレードオフ、バンディット問題、ギッティンズ指数)
3:ソート(マージソート、パケットソート、序数(二者比較)と基数(絶対的数値))
4:キャッシュ(ベラーディのアルゴリズム)
5:スケジューリング(先行制約、スラッシング)
6:ベイズの法則(ベイズ則、べき分布・正規分布・ポアソン分布の違い)
7:オーバーフィッティング(過学習、クロスチェック、正則化、
8:緩和法(NP完全、線形緩和、ラグランジュ緩和)
9:ランダム性(乱択アルゴリズム、モンテカルロ法、ミラー・ラビン素数判定法、シミュレーテッド・アニーリング)
10:ネットワーキング(ビザンチン将軍問題、指数バックオフ、テールドロップ)
11:ゲーム理論(ナッシュ均衡、PPAD完全、メカニズムデザインとオークション)

意外なつながりを見せる例も多く、治験における探索と活用の倫理的問題と統計的優位性、忘却曲線をキャッシュの問題と見る、などはなかなか面白い洞察だと思った。
実生活への応用としても、オーバーフィッティングを「思考しても意味がない、考えすぎてはいけない」と読む、指数バックオフで面倒な仲間と関わりを絶ちすぎずに関係を弱める、約束の時間をこちらから指定することで相手の計算コストの軽減を行う、などはなかなか示唆的である。
ベイズの法則はラプラスが見つけたなどの小ネタも充実している。

アルゴリズムや計算機科学の知見の身近な使い方としても、そういった分野の考え方を学ぶにしてもうまく書かれている良書である。
アルゴリズムといわれると大変に難しく感じます。そのような人はまずは本書を読んでみましょう。新たな世界と考え方を手に入れられるかもしれません。特に従来型の考え方に疑問を感じている方にとっては必携の書です。本書の構成はつぎの通りですが、ここに掲げた言葉の1つにでも興味があるのなら、本書はきっと大きな示唆を与えてくれると思います。私はそうでした。

最適停止
見てから跳べ
閾値ルール
探索と活用
多腕バンディット問題
勝てばキープ、負ければスイッチ
ギッティング指数
疑わしきは罰せず
世界は変わる
ソート
バケットソート
ノイズと頑健性
キャッシュ
ベラーディのアルゴリズム
ランダムエビクション
最長未使用時間法
忘却と整理の仕方
スケジューリング
コンテキストスイッチとスラッシング
ベイスの法則
後ろ向き推論
ラプラスの法則
コペルニクス原理
スモールデータと直感
オーバーフィッティング
クロス確認
正則化
ヒューリスティック
緩和法
ラグランジュ緩和
ランダム性
モンテカルロ法
メトロポリス・アルゴリズム
焼きなまし法
ネットワーキング
加法的増加・乗法的減少
階層なき制御
ゲーム理論
再帰
ナッシュ均衡
アルゴリズム的ゲーム理論
囚人のジレンマ
メカニズムデザイン
情報カスケード
顕示原理
 
   
人気 9位
本書の内容
僕たちは、こんな本を待っていた。
Sebastian Thrunらの名著『確率ロボティクス』(マイナビ)の翻訳者であり、
同分野の第一人者でもある、上田隆一氏が書き下ろす至極の入門書!

・理論→実装という一貫した流れで、丁寧に解説。まさにバイブル!
・Jupyter Notebook対応だから、すぐに実践できる!
・コードはGitHubで全部公開!

【第1章「はじめに」より抜粋】
本書は、確率をロボットの認識機能や制御に用いることを考える分野「確率ロボティクス」の入門書です。ロボットの開発者、研究者になるには機械、計算機、制御に関する勉強も必要なうえ、上記のような状況なので、確率論、統計学の理解も重要になってきています。たくさん勉強しなければならないので「手短に」といいたいところですが、確率というものに実感がもてるまでには頭の訓練が必要です。
筆者は学生のとき、確率に対する実感を養うために(実際は家賃込みの月6万円の仕送りを増やすために)、学生寮、後楽園、高田馬場あたりの「現場」でかなりの訓練をして仕送りを減らしていましたが、そちらをおすすめするわけにはいきません。そこでロボティクスでよく使われるアルゴリズムを書いて動かしてもらい、実感をもってもらおうと企画したのが本書です。

【主な内容】

第1部 準備
第1章 はじめに
第2章 確率・統計の基礎
第3章 自律ロボットのモデル化
第4章 不確かさのモデル化

第2部 自己位置推定とSLAM
第5章 パーティクルフィルタによる自己位置推定
第6章 カルマンフィルタによる自己位置推定
第7章 自己位置推定の諸問題
第8章 パーティクルフィルタによるSLAM
第9章 グラフ表現によるSLAM

第3部 行動決定
第10章 マルコフ決定過程と動的計画法
第11章 強化学習
第12章 部分観測マルコフ決定過程

付録A ベイズ推論によるセンサデータの解析
付録B 計算  
内容サンプル
 
User Voice
当方、機械学習エンジニアですが、工業用機械の自動運転関連の案件を担当することになり、本書を手に取りました。

自動運転を全く知らないどころか、古典制御理論も勉強中というど素人の私にとって、自己位置推定やSLAMに独学でも入門できる本書は、めちゃくちゃ貴重でした。

理論を解説した後、コーディングしてシミュレータ上で実際に動かすという体験を通して、より理解を深めていく体裁になっています。(シミュレーターも本書内で自作します。)
理論は、丁寧で分かりやすい解説が成されており、行間を埋めまくらないと導出できないような式変形もありませんでした。
コードも、段階を追って解説とともに記載されているため、大量のコード丸投げで良く分からないといったこともありませんでした。

挑み甲斐のある良書でした。著者様に感謝します。

誤植?
4.2.4
記載された通りのuniform()の使い方だと、Python3だとエラー。tupleとintを比較できなくなったため。

4.3.2
relative_polar_pos は、それまでの命名に従えば、observation_function の誤り。

5.16式の分母のxの上付き添え字がjでなくk
確率ロボティクスついて詳しい千葉工大の上田先生の書籍です。ROSの本で有名な方で、シェル芸など笑いにも精通していらっしゃいます。twitter → @ryuichiueda
この本では自動運転やロボットに必要な自己位置推定や地図作成を実装するにあたって、エラーやバイアスを含むセンサ群のデータから価値のある値にどう料理するか、確率ロボティクスの理論とパイソンのコードが説明されています。
具体的には、カメラやライダー等のセンサを使った複数種のSLAMアルゴリズムの解説や、経路生成したのち補正していく強化学習についてQ学習等のアルゴリズムの解説があります。
理論部分はハードです。p(z|a,b,c)とかの統計の記法に慣れて、ベイズ理論の定理を使いこなす必要有りです。
Anacondaをいれて環境を作ればJupyter Notebook上でサンプルコードが動作し、段階的にコードが動く振る舞いを確認できます。
読み応えのある本ですが、サンプルコードもありますし、確率ロボティクスの最前線なのでおすすめです。
専門外の人間ですが、タイトルから受ける印象よりもずっと教科書に近い本です。
機械学習ブームのときにPRMLの実装コードが出回りましたが、確率ロボティクスでも(ROSの機能を使うためにも)原理が分かる実装コードがあると便利です。当初はその程度しか期待していませんでしたが、説明が系統的なので、むしろ数式の代わりにコードを使って書いた教科書というイメージです。
元ネタの確率ロボティクスは数式オンリーですが、この本は具体的なコードを使ってビジュアルに解説しているので、各種の工夫の目的と効果が非常によく分かります。制御の話はコードを見ないと本当には理解できないところがあるので、周辺にいる人にとっては貴重な本だと思います。また、元ネタの確率ロボティクスには強化学習関連の話がありませんでしたが、この本ではその辺りのことも一応書いてありました。
ただ、懇切丁寧に書いてあるものの、もとになる理論はそれなりに高度です。また話が具体的になると、元になっている理論とは違ったレベルの疑問も出て来ます。現時点では一通り流して読んだ程度ですが、もう少し時間をかけて読む必要があるのかなと思っています。
 
   
人気 10位
本書の内容
プログラミングとアルゴリズムの基礎、および、「Scratch 3.0」の使い方を学ぶための本です。
大学や高校のプログラミングの授業でも活用していただいている人気定番書を「Scratch 3.0」の登場に合わせて改訂しました。

本書は、Scratchの操作方法を身につけて自由自在に使いこなせるようになるだけでなく、頭の中で考えているアイデアをプログラムとして実現するスキル、つまり論理的な思考のスキルを身につけることを目的としています。

本書の使い方
サンプルのプログラムを作りながら、Scratchの操作とプログラミングのポイントについて学んでいきます。ただし、何も考えずにサンプルの作り方をなぞって操作するだけでは、独り立ちして自分なりのプログラムを作る力はつきません。プログラミングの仕組みをきちんと「わかる」ことが大切です。

各章の<考えてみよう>のコーナーで自分なりに見通しを立てて考えたり、<Scratchの操作>や<プログラミングのポイント>のコラムをしっかりと読んで、操作の背景にある仕組みを考え、理解を深めながら学びをすすめましょう。
加えて、<チャレンジ>や<ステップアップ>といった課題に取り組むことで、頭で理解するだけでなく、身につけるようにしましょう。本書の詳しい使い方や各種のコラムの内容については「序章」の「この本の使い方」をご覧ください。

早く自分だけのプログラムを作りたい! という方は、第1章から第3章までを終えると、自分なりのオリジナルなプログラムを作り始めることができるようになるでしょう。途中で一度自分のオリジナルな作品を作ってから第4章からに取り組むと、より構造化プログラミングや関数、クローンなどのありがたみがわかるでしょう。

本書で紹介した「サンプルファイル」や「課題」の解答例、活用時の「指導者の手引き」などは、本書のWebページからダウンロードいただけます。

目次(詳しくは、目次欄をご覧ください)
●プログラミングをはじめよう
第1章 Scratchの基本
第2章 プログラムの流れをつかもう
第3章 変数と配列の使い方をマスターしよう

●本格的なプログラミングを身につけよう
第4章 構造化プログラミング
第5章 関数の使い方をマスターしよう

●アルゴリズムのキホンを学ぼう
第6章 アルゴリズムその1 サーチ(探索)
第7章 アルゴリズムその2 基本的なソート(並び替え)
第8章 アルゴリズムその3 すすんだソート(並び替え)

●Scratchを使いこなそう
第9章 クローン  
内容サンプル
 
User Voice
CやJavaなど一通り学んでいたのですが,バイトで小学生にプログラミングを教えることがあり,購入しました.
中身を通してわかったことは,scratchがプログラミング初心者にとって非常に良い教材であること,そしてこの本を読むことでscratchの基本的な操作はマスターできるということでした.
加えて,探索やソートアルゴリズムまでカバーしている点が非常によかったと思います。
キーボードに慣れていないプログラミング初心者向けというScratch感が認識不足であったことがわかりました。再帰処理まで触れられており、良書です。
Scratch本は子ども向けあるいは子どもと大人が共に学ぶ本というのが多い中で、この本は大人が独習するのに適した本だと思います。
 
   
人気 11位
本書の内容
ウェブサービスの開発に携わるかぎり、ユーザにより良い体験を提供することは無視できない命題です。本書は、ウェブサービスを成長させることを目的に、ユーザの行動を定量的に評価し、改善する手法を学ぶ書籍です。
シンプルなA/B テストを第一歩に、線形モデルの導入、メタヒューリスティクス、バンディットアルゴリズム、ベイズ最適化と、機械学習の知識を紹介しながら、ウェブサイトを最適化するという現実的な問題を解くための数理的な手法を解説します。
Pythonによるサンプルコードと、グラフィカルな図版で表現された数学的なモデルを組み合わせ、機械学習と統計学の基礎を丁寧に解説しています。
ウェブ最適化の手法を学びたい、機械学習の基礎を知りたい読者に最適の1冊です。  
内容サンプル
 
User Voice
かなりよい。
 
   
人気 12位
本書の内容
「アルゴリズム体験学習ソフトウェア」との連動学習で学ぶ、アルゴリズムとデータ構造入門書の最高峰。

「最も分かりやすいアルゴリズム入門書」と読者の絶賛を博した大ロングセラー『新・明解C言語によるアルゴリズムとデータ構造』の改訂版です。
初級レベルのCプログラマを対象に、スタックやキュー、二分木などのデータ構造をはじめとして、探索、ソートなどの、アルゴリズムの基礎について解説しています。
改訂にあたっては、レイアウトを大幅に変更するとともに、文章も見直し、さらにわかりやすくなっています。
なお、これまでCD-ROMに収録し、好評をいただいた「アルゴリズム体験学習ソフトウェア」は、弊社のサイトからの無料ダウンロードとなります。これにより、テキストとソフトウェアの連動学習がより効率的に行えるようになります。
前著同様、大ロングセラーが期待される一冊です。
 
内容サンプル
 
User Voice
章末問題が全て情報処理試験からとられているので、おそらく専門学校などで教科書として使うことを想定して書かれた本なのでしょう。それに対して、自分は昔勉強したことを復習するために読んだので、おそらく想定されている読者ではないと思われます。
という前置きをした上で書くと、データ構造(線形リストや木構造)の基本を知る目的のためには、堅実で良い教科書なのではないかと思いました。個人的に勉強になったのは、再帰的アルゴリズムを部分問題に分解して分析する部分です。これまできちんと考えてこなかったことが明解に説明されていて、頭の中が整理されました。
一方、ハッシュ関数の説明はいまいちな気がしました。この本ではハッシュ関数が「ソート済み配列の値」を例にとって説明されていますが、符号化の話でもない限り、ハッシュ関数はキーのほうに使うのが普通だと思います。また、Pythonでハッシュ関数が使われているのはリストではなく辞書の実装のほうです。なので、「キーと値」「リストと辞書」の違いは、自分で良く考えないと混乱するのではないかと思いました。
ちなみに、Pythonの本でその辺をきちんと説明しているのは「Fluent Python」ですが、それを読むためにはこの本に書かれているような知識が必要になるので、次に進むための足がかりとして、良い本なのではないかと思います。
演習の解答が柴田望洋さんのネットに載ってるのですが、解答に間違いが多くて混乱します。
例えばprintf("降順に入力してください。¥n", nx);というようにおかしなことになっています。私のような初心者には優しくない本です。
 
   
人気 13位
本書の内容
システムトレーダー、エンジニアなどの間で話題沸騰
発売後売り切れの書店続出、大反響につき即増刷決定!

人工知能(AI)、機械学習の発展は金融をどのように変えるのか

理論と実務を熟知した第一人者による比類なき大著“Advance in Financial Machine Learning"(2018年、Wileyより刊行)、待望の日本版刊行!
すでに中国語、韓国語、ロシア語にも翻訳された名著を、実務を知り尽くしたクオンツが日本の読者に向けて翻訳

データの構造化とラべリング、モデリング、バックテスト、ハイパフォーマンスコンピューティングなど、金融工学における機械学習の活用の可能性を、Pythonのコード例を交えて徹底解説

目次
はじめに
第1章 ファイナンス機械学習という新分野
Part1 データ分析
第2章 金融データの構造
第3章 ラベリング
第4章 標本の重み付け
第5章 分数次差分をとった特徴量
Part2 モデリング
第6章 アンサンブル法
第7章 ファイナンスにおける交差検証法
第8章 特徴量の重要度
第9章 交差検証法によるハイパーパラメータの調整
Part3 バックテスト
第10章 ベットサイズの決定
第11章 バックテストの危険性
第12章 交差検証によるバックテスト
第13章 人工データのバックテスト
第14章 バックテストの統計値
第15章 戦略リスクを理解する
第16章 機械学習によるアセットアロケーション
Part4 金融市場分析のための特徴量
第17章 構造変化
第18章 エントロピー特徴量
第19章 マイクロストラクチャーに基づく特徴量
Part5 ハイパフォーマンスコンピューティング
第20章 マルチプロセッシング(多重処理)とベクトル化
第21章 総当たり法と量子コンピュータ
第22章 ハイパフォーマンス計算知能と予測技術
Kesheng Wu and Horst Simon  
内容サンプル
 
User Voice
これまで読んだ全ての投資書の中で文句なしの一位。

データ分析の基礎体力がある人向け。
方法論がメインなので、自分で手を動かして実装できる人じゃないと意味ないです。
quants portalというサイトで前処理プログラムまとめられてるので参考になります。

「作った投資ルールが今後も通用するか」という最も重要で難しい本質的な問題に真正面から取り組んでる点が素晴らしい。
当然、リーケージや過学習といったデータ分析で気をつけるべき点にも注意を払ってます。

幅広い研究活動をされてる原作著者のファンになりました。
抽象度が高く具体例がほとんどないため、金融と機械学習の実務経験者(プロ)以外の人が読んでもまったく理解できないと思います。本書の内容に関する具体例を解説した海外のサイトがあったのですが最近有料化された(1か月100ドルだったと思います)など考えると、個人投資家の範疇ではなく金融機関向けなのかなと思います。
分からないから買った
自分がいつか天才になったら
分かる日が来るのであろう
 
   
人気 14位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 15位
本書の内容
コンピュータを使い物にするアルゴリズムにはどういうものがあるか、今日的な視点から
選んだ実際に役立っている9のアルゴリズムのアイデアを、章ごとに掲げてわかりやす
く説明した読み物です。図を多用し、その仕組みをたとえを使いながら見せることに
重点を置いています。著者が選んだ基準は、(1)インターネットでメールやブラウザ
を利用する一般ユーザーの日常のコンピュータで使われていること、(2)特定の状況
や高度のソフトウェアだけに使えるものは除くこと、(3)基本的にコンピュータ・サ
イエンスの理論に基づくこと、です。扱っている9のアルゴリズムのテーマは、検索エ
ンジンのインデクシング、ページランク、公開鍵暗号、誤り訂正符号、パターン認識、
データ圧縮、データベース、デジタル署名、計算不能性。

 
内容サンプル
 
User Voice
ソフトウェアを仕事にしていますが、この本に書かれているような話には疎かったので、すべての章を楽しく読むことが出来ました。
多少はコンピュータサイエンスのリテラシが上がったように思います。
多くのアルゴリズムが、難しい数学や理系的な背景をほとんど必要とせず、身近な比喩と簡潔な理屈で説明されています。
特に仕事などで必要とされていない方にも読み物としてオススメしたいです。
素晴らしい本だと思います。
今の社会を支える、基礎の仕組みを知ることができます。
ただ、全くコンピュータの知識がない方が読むと少し理解するのに時間がかかるかと思います。
様々なアルゴリズムの概要や歴史を知ることができる。

ただし、式やコードが出てくるわけではないため、教養としては役に立つが、実装できるようになるわけではない。
 
   
人気 16位
本書の内容
エンジニアの基礎体力を身につける

本書はPythonを用い、ITエンジニアが身につけておくべき王道のアルゴリズムを手を動かしながら学べる入門書です。

教育機関で16年教鞭をとり、公式アプリ2000万DL超の開発実績を持つ廣瀬豪氏が、教育者・プログラマーとしての経験を生かし、データ構造とアルゴリズムの学習が「一生モノの財産になる」という視点で解説します。スタック、キュー、リスト、木、グラフなどデータ構造の基本から、サーチ、ソート、ハッシュといった王道アルゴリズムを厳選しつつ、ユークリッドの互除法、文字列探索、最短経路問題、フラクタル図形の描画、マンデルブロー集合などワンランク上の知識・技術まで網羅します。

サンプルプログラムは手入力しやすい短めのコードを108個用意し、すべての行に1行ずつコメントを付けて読解しやすいように工夫しています。また、ゲームクリエイターという肩書を持つ著者ならではの教材として、「アルゴリズムの可視化」という類書にはない楽しい要素を盛り込んでいる点もポイントです。

資格試験、就職試験に挑む方、大学や専門学校で情報処理を学ぶ方など、プログラミングの力を伸ばしたいすべての方におすすめです。  
内容サンプル
 
User Voice
Pythonで基本的なアルゴリズムとデータ構造を説明する書籍です。プログラム一行ごとにその説明をしている為、非常に分かりやすかったです。今まで読んできた初心者向けのアルゴリズムの本で一番親切だと思いました。
書籍の紙が柔らかいので、開きながらプログラミングしやすい点も良いです。
「教科書」というタイトルと、「108のサンプル」という記載から、網羅性のある本かと思ったらエンジニアであれば知ってるよ!という内容のみでがっかり。本当に入門から学びたい人には良いと思う。ただ、タイトルが誤解を招いている。購入にはご注意を。
 
   
人気 17位
本書の内容
東大1年生向け好評講義テキストを書籍化。
プログラミングの初心者でも、シミュレーションや
データ分析の基礎までを最短で身につけられる。


Pythonを用いて、プログラミングの初歩からデータ処理やシミュレーションの基礎までを学べるテキストである。読み進めるうちに、おのずと情報科学の基礎が身につくよう工夫されている。プログラミング初学者から、情報系技術に関わることになった社会人まで広く役立つ。


【本書「まえがき」より】
本書は、プログラミングの基本を習得するとともに、プログラミングを通して情報科学の基礎を学ぶための教科書として執筆した。現代において情報科学の基礎は必須の教養となっているが、これを学ぶ際にはプログラミングを併せて学ぶことが強く望まれる。本書で学ぶような計算量や数値誤差といった内容は、座学で聞くだけではなかなか実感がわかないが、少しプログラムを書けば身につまされるものとして体験できるからである。……

プログラミング言語としてはPythonを用いる。Pythonは世界的に広く使われている言語ではあるが、本書で採用したのは以下の理由から初学者にとって有益であると考えたためである。まず、開発環境やライブラリなどがよく整備されていること。…さらに、比較的高水準な記述が可能であり、初学者が躓きがちな「最低限のプログラムを動かすための、初学者にとって意味不明な記述」がほとんど不要であること。なお、Pythonを用いているはいるが、Python特有の機能はほとんど使っていないため、他の言語を学習する際にも十分参考になる内容となっている。


【主要目次】
第1章 はじめに
第2章 まずは使ってみる
第3章 プログラムを作ろう
第4章 データ処理の基本――成績の集計
第5章 ライフゲーム
第6章 放物運動のシミュレーション
幕間 テストとデバッグの基本
第7章 p値の計算
第8章 大規模データの検索
第9章 データからの情報抽出――回帰分析
第10章 拡散のシミュレーション
第11章 高度な検索――ゲノムを解析する
第12章 データを分類する
付録A Python言語の簡易ガイド
付録B itaライブラリガイド  
内容サンプル
 
User Voice
東大教養学部のテキストです。
わからないところは直ぐに教官に質問できる環境にある人のための本で、その分全体的に簡潔に書かれています。

学習環境の構築についても、anacondaのURLが書いてあるだけで、途中の遷移画面がないので、まったくのプログラミング初心者にはインストールさえできないかも知れません。

また、Numpyなどの有名ライブラリーも紹介していないので、オールインワンの一冊とも言えません。

反面、後半に、モンテカルロ法、探索、整列、拡散シミュレーション、クラスタリング等面白いテーマのさわりを扱っていますので、勉強熱心な方はこの本を買って、足りないところはネットや他の本で補うという使い方は有りだと思います。
情報処理技術者試験にもCOBOLに代わって採用されたPython。
この本は、Python入門ではなく、CS入門の本です。
CSの一般教養の授業に使える本です。真っ先に計算誤差に言及するところなど現実的で好感が持てます。
アメリカの大学のCSもこんな感じです。てか、アメリカの大学のテキストを手本に翻訳したような内容です。
私の知っているアメリカのCS入門の授業のテキストは、この本の内容の2倍の量を1セメスターでこなしていました。
入門レベルの様々なデータ解析を、Pythonで実現する方法が載せられている。この手のよくある入門書とは異なり、解析手法自体の意味までしっかりと解説されている。研究者の方が、初学者の方向けに、なるべくわかりやすく、かつ説明の正確さを落とさないように、可能な限り配慮して書かれている印象を持った。
 
   
人気 18位
本書の内容

プログラミングとロジカルシンキングは同時にマスターできる

プログラミングとロジカルシンキングの類似性を理解することで、
一石二鳥でプログラミングを通してロジカルシンキングが簡単に身に付けられます。

●プログラミングとロジカルシンキングの類似性

プログラミングは最適な手順を作り、自分の意図した通りシステムを動かせること。
ロジカルシンキングは目的を達成するために物事の筋道を考えて、計画的に実行することと、両者の親和性は強いです。
論理的思考は、「なぜそうなるのか」→「どうしたらできるのか」→「どうやってやるのか」→
「実施」→「結果どうだったか」というプロセスをたどりますが、
プログラミングもこの流れで動いていきます。

●プログラミングを通してロジカルシンキングが簡単に身に付けられる

たった1つのポイントがわかればプログラミングは簡単に取り組むことができます。
それは、「機械(パソコン)にもわかるような言葉で命令する」ことです。
その際、「誰が聞いても意味を取り違えない」表現にする必要があります。
なぜならば、パソコンは相手の意向を忖度してくれないからです。
この、「誰が聞いても意味を取り違えない」表現こそがロジカルシンキングです。
これを身に付けることで、日常の人間同士のコミュニケーションもよくすることができます。
本書では、こうしたプログラミングとロジカルシンキングの類似性を理解することで、
一石二鳥でプログラミングを通してロジカルシンキングが簡単に身に付けられます。

※本電子書籍は同名出版物を底本として作成しました。記載内容は印刷出版当時のものです。
※印刷出版再現のため電子書籍としては不要な情報を含んでいる場合があります。
※印刷出版とは異なる表記・表現の場合があります。予めご了承ください。
※プレビューにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください。

 
内容サンプル
 
User Voice
プログラミングとロジカルシンキングという、今のビジネスマンに汎用的に求められている基本スキルを関連させて解説した良書。
プログラムは「ロジック」がしっかりしていないと動かないし、ロジカルシンキングは展開する論の「ロジック」をしっかりさせる考え方なので、言われてみれば確かに共通点があるように思いました。
ただ、共通点があるから、同時に説明できるか?というとそれは別物であって、実現するのはなかなか難しいと思いますが、本書では易しい例を用いながらその二つを説明することに成功しているように思いました。特にプログラミングはそれだけで別の厚い本が1冊できてしまうほど幅広い分野ですが、本書ではエクセルの関数とマクロを「プログラム」として利用することで、プログラムが持つ特有のとっつきにくさを解消しています。
ただ、「専門書」ではないので、本書で興味を持った読者が「プログラミング」、「ロジカルシンキング」をもっと深く学びたくなった場合にはそれぞれ専門的な書籍で学ぶ必要があるとは思います。むしろ本書はともすると避けがちなそれらの分野に興味を持たせるきっかけとして価値を発揮するように思います。
頭で分かっているものの行動できていないような痛いところを突いてくる本。この本で自分の振り返りや後輩への指導内容を整理するのもいいけれど、手っ取り早いのはこの本を相手にプレゼントすることだと感じた。初心者にも読みやすいけれどレベルが低いわけではない良書です。
自分の行動を自動化するという切り口は、論理思考の感覚を持つきっかけとしてよいと思います。部下が読んでいるので、効果が楽しみです。
 
   
人気 19位
本書の内容
時代が変わっても
変わらないアルゴリズムから考え方を学ぼう


本書は、初心者にも扱いやすいプログラミング言語「Python」を使用して、
アルゴリズムの基礎・考え方を学ぶ入門書です。特にPythonがはじめてという方の
ために、第1章ではPythonの基本とデータ構造について解説しています。

本書では、プログラミング入門者が最低限知っておきたいアルゴリズムの
基礎と考え方に加えて、アルゴリズムの定石とその計算量について、具体的
なサンプルコードと動作イメージを交えて丁寧に解説していきます。

【こんな方におすすめ】
・アルゴリズムをゼロから学びたい
・Pythonでプログラミングを学んでいるけれど何から手をつけていいのかわからない
・過去にアルゴリズムを学ぼうと思ったけれどPythonの資料が少なかった
・基本情報技術者試験でPythonが取り入れられるので勉強したい

【本書の特徴】
・Pythonの基本とアルゴリズムの基礎を一冊で学べる
・具体的なサンプルコードと動作イメージ(フローチャート)を交えて解説
・自分で書いて実行して動作を試しながら学習できる
・アルゴリズムの使い方や考え方だけでなく、アルゴリズムの計算量について
の理解も深まる

【扱うアルゴリズム】
FizzBuzz|フィボナッチ数列|線形探索|二分探索|幅優先探索|
深さ優先探索|番兵|8クイーン問題|n-クイーン問題|ハノイの塔|
ミニマックス法|選択ソート|挿入ソート|バブルソート|ヒープソート|
マージソート|クイックソート|最短経路問題|ベルマン・フォード法|
ダイクストラ法|A*アルゴリズム|文字列探索の力任せ法|Boyer-Moore法|
逆ポーランド記法|ユークリッドの互除法

【章構成】
■第1章 Pythonの基本とデータ構造を知る
■第2章 基本的なプログラムを作ってみる
■第3章 計算量について学ぶ
■第4章 いろいろな探索方法を学ぶ
■第5章 データの並べ替えにかかる時間を比べる
■第6章 実務に役立つアルゴリズムを知る
■Appendix Pythonのインストール

 
内容サンプル
 
User Voice
40代のプログラマーです。
ここ何年かはデータ分析のシステムの開発、運用に携わってきました。

本書は、初心者向けのプログラミング入門+アルゴリズム入門という内容の本です。

本書であつかっているのは、実際、
大学のコンピュータサイエンスのアルゴリズムの授業で
あつかうような内容なのですが、そこは、興味が持てるように、
重くなりすぎないように、入門を意識して書いてある印象です。

目次を見ると、以下のような内容になっています。

第1章 Pythonの基本とデータ構造を知る
第2章 基本的なプログラムを作ってみる
第3章 計算量について学ぶ
第4章 いろいろな探索方法を学ぶ
第5章 データの並べ替えにかかる時間を比べる
第6章 実務に役立つアルゴリズムを知る

1, 2章で、Pythonの文法と小さいプログラムのつくりかたを学びます。
これで、全体のページ数の1/3ぐらいあります。
内容的にも、Pythonやプログラミングの入門者向けです。

3,4,5,6章でいわゆるデータ構造とアルゴリズムについて学びます。
題材の選択や難易度が、浅すぎず、深すぎず、かんたんすぎず、むずかしすぎず、
バランスのとれた内容になっていると思います。
第6章 実務に役立つアルゴリズムを知る
あたりは、初心者には、むずかしいかもしれませんが、
文字列の検索は、プログラミング言語のAPIとして使ったことがある人も多いでしょうし、
最短経路問題は、こっち方面に興味をもてたひとには、おもしろいとおもいます。

全体的に、pythonのソースコードもあまり長くなく、
読むのもむずかしくはないと思います。

フローチャートがけっこうたくさん書かれています。
pythonのソースコードとくらべて、アルゴリズムが
わかりやすく記憶に残りやすいということはないでしょうし、
Web界隈の現場でしたら見ることはないだろうし、
Pythonのソースコードと2重に確認することが増えて負担かもしれません。

本書を読んでアルゴリズムに興味がでたら、
別の、より詳細な本、より本格的な本も見てみると良いと思います。
本書をひととおり読めば、本書でわからないところがあったとしても、
そういった本も読めるようになっていると思います。
競技プログラミングの入門書やさらに専門的なアルゴリズムの本なども
なんとか読めるのではないでしょうか。

補足
Webのプログラマーですと、
「こういう勉強は、ブラウザで画面が見られないからおもしろくない」
というひともいるかもしれませんが、ネットを探せば、
アルゴリズムの動きを視覚化してみせてくれるWebサイトとか見つかります。

一般に、入門者が困るのはプログラミングできる環境をつくることだとおもいます。
こちらは、本書で足りなければ、インターネットを検索するとたくさん記事が見つかります。
「Windows Python インストール」
「Windows Python データ分析 環境構築」
などの単語でググるといいと思います。
Google colaboratory(という単語でググってください)
などを使うと、ブラウザからPythonのソースコードを実行できます。
(ただ、まー、クラウドの場合、ブラウザとWebサーバの区別がつかないと
「ファイルはどこに保存された?」とか、混乱するかもです。)
まずPythonでの演算子の使い方や関数の作り方などについて説明があるのでPythonの事前知識がなくても学習を始められるようになっています。
その次の章ではお釣りを計算するとか素数を出力させるといったプログラムを作るのですが、そうした分かりやすい例を使って「同じ結果を得るにも複数の実装が可能で、どれを選ぶかでコードの長さも計算量も大いに違ってくる」ということが明快に示されています。それぞれの例にフローチャートがついているので理解の助けになりますし、それぞれの処理の手際のよさを比較できるようになっています。また不正な入力を想定してエラーを防ぐ対策もこの段階から扱っています。
とにかく初歩の段階から自然に「より良いアルゴリズムとは何か?」を考えるようになるのが素晴らしいと思います。
フローチャートがあるので理解できる,という立て付けになっていて,
アルゴリズム自体の説明がおろそかな印象を受けました(特にヒープ・最短経路).
フローチャートは理解を助けるのは事実だと思いますが,
フローチャートがあれば説明しなくても良い,ということにはならないと思います.
 
   
人気 20位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 21位
本書の内容
良いプログラムを書くための必須知識をまとめたテキストであり、五輪の書。
本書は、長年にわたって数多くの優秀なシステムエンジニア、プログラマーに愛読されてきた、良いプログラムを書くための必須知識をまとめたテキストです。
うまくつくられたプログラムは、理解しやすく実行効率も高いものですが、一方、そうでないものは解読も困難なうえに、やたら時間や領域をくいます。さらに、そのようなまずいプログラムには、えてしてミスや内容的な誤りも隠されているものです。
本書は、新たなアルゴリズムで新たなプログラミングを行うために覚えておかなくてはいけない必須知識、そしてアルゴリズムの設計、実現における基礎を、実用上の価値に重点を置いてまとめています。
今回の改訂においては、多くの読者の声をよく参考にして、よりわかりやすく、簡明になるよう見直しを行ったほか、接尾辞木について新たな解説を加えています。
システムエンジニア、プログラマーとして活躍される方の五輪書です。  
内容サンプル
 
User Voice
 
   
人気 22位
本書の内容
これからのIT人材必修の「アルゴリズム実技検定」初の公式テキスト登場!

■アルゴリズム実技検定(PAST)とは
アルゴリズム実技検定(PAST)とは、IT人材のプログラミングスキルを可視化することを目的としたAtCoder株式会社が主催する検定試験です。

■アルゴリズム実技検定の中級認定まで対応
本書は、「エントリー」「初級」「中級」の出題範囲を網羅的に解説しています。
プログラミングの基礎知識から、各種アルゴリズムの解説、数学的な問題解決方法まで、アルゴリズム実技検定だけでなく、これからのソフトウェアエンジニアに要求される知識を丁寧に盛り込みました。
本書を通じて学習することで、「中級」に求められる「様々なアプローチがある課題において、適切なアルゴリズムを選択し、高速なプログラムを作成」できることを目指しましょう。

■本書の特徴
□特徴1:はじめての挑戦でもこの1冊で準備できます!
はじめてのプログラミング、はじめての検定試験でも安心して挑戦できます。
・問題の解き方から回答方法まで丁寧に解説
・中級範囲に出題されるアルゴリズム(問題解決方法)も細かく図解
・Pythonの特徴から基本文法、標準入出力も例を交えて丁寧に説明

□特徴2:実際の問題を解きながら学べます!
アルゴリズム実技検定で求められる知識を問題に取り組みながら得られます。
・はじめての挑戦でもつまずかないように、概念図を豊富に掲載
・はじめてではわかりづらい、問題文の読み解き方も丁寧に解説
・過去にAtCoderやアルゴリズム実技検定で出題された問題を抜粋して解説

□特徴3:プログラマーに求められる知識も身につきます!
問題を解決するだけではなく、高速なプログラムの作成方法も学習できます。
・課題に合わせて、適切なアルゴリズムの選択方法を解説
・複数のアプローチがありえる問題では回答パターンを紹介
・計算量を考えてプログラムを書き換える方法も丁寧に説明

■本書の構成
第1章 アルゴリズム実技検定の挑戦にあたって
第2章 問題の解き方
第3章 アルゴリズムとコーディング
第4章 Pythonを使ったプログラミング[エントリー編]
第5章 基礎的なアルゴリズム[初級編]
第6章 応用的なアルゴリズム[中級編]
第7章 さらなる得点を狙うために  
内容サンプル
 
User Voice
 はじめに
 情報技術自体に関する資格で有名なものとして、IPAの基本情報技術者試験や応用情報技術者試験などがあげられると思います。これらには、公式のテキストというものがありません。アルゴリズム実技検定は、公式にテキストを出し技術習得までの道筋を明確にしたという点で優れていると考えます。

 内容について
 プログラミング言語Pythonの基礎から、アルゴリズム実技検定の過去問まで扱っている点は、この本から本格的にプログラミングを始める方でも安心できる要素となっていると思います。またこの本を通して自然に、問題文を読み、整理する。入力を受けとる。解法を考える。考察の漏れがないか再考する。という共通的に使える取り組み方のメソッドが身につく点も良いと感じました。

 私見として
 タイトルに偽りなく”エントリー~中級”向けであると思いました。既に複数回AtCoderのコンテストに参加されている方は、すこし内容が物足りなく感じるかもしれません。しかし、PAST自体が定期的にコンテスト参加されるのが難しい方のレーティングの評価を行うという目的で作られたと聞きます。テキストの内容が物足りないと思った方は、自分はこのテキストの範囲は既に習得している。自分は出来る人間なんだとポジティブに考えられたらいかがでしょうか。私も実は少し物足りなかったです。
この本を読んで競プロを始めてみました。半分しか読んでいませんが、熟読して少しずつ読み進めています。
ただ初心者の小生にはB問題が既に難問なのでA~B問題のみの初心者用の解説本があれば嬉しいです。競プロを始めても結構挫折する人がいるとどこかのサイトに書いてあったので。競技人口を増やすにはいかに挫折する人を少なくするかが大切かと。
社内でも、競プロ人口が増えつつあり、自分も参加したいと思っていたところ、
友人から本書を教えてもらいました。
自分のような初心者でも分かるように丁寧に書いており、競プロ導入書としてお勧めです。
 
   
人気 23位
本書の内容
最高のアルゴリズム入門書

※この電子書籍は、「固定レイアウト型」で配信されております。説明文の最後の「固定レイアウト型に関する注意事項」を必ずお読みください。

すべてのPythonプログラマに贈る! アルゴリズムとデータ構造入門書の最高峰。

本書は、Pythonで実装した豊富なプログラム例を通じて、アルゴリズムとデータ構造の基礎を身につけるためのテキストです。
基本的なアルゴリズムとデータ構造に始まって、目的とするデータを見つける探索、データの並びを一定の順序で並びかえるソート、そして、スタック・キュー・再帰的アルゴリズム・線形リスト・2分探索木などを学習します。
解説にあたっては、難しい理論や概念を視覚的なイメージで理解できるように、213点もの図表を提示しています。本書に示す136編のプログラムは、単なるサンプルではなく、実際に動作するものばかりです。すべてのプログラムを読破すれば、かなりのコーディング力が身につくはずです。
初心者から中上級者まで、すべてのPythonプログラマに最良の一冊です。

●目次
はじめに
本書の構成
第1章 基本的なアルゴリズム
 1-1 アルゴリズムとは
 1-2 繰返し
第2章 データ構造と配列
 2-1 データ構造と配列
 2-2 配列
第3章 探索
 3-1 探索アルゴリズム
 3-2 線形探索
 3-3 2分探索
 3-4 ハッシュ法
第4章 スタックとキュー
 4-1 スタック
 4-2 キュー
第5章 再帰的アルゴリズム
 5-1 再帰の基本
 5-2 再帰アルゴリズムの解析
 5-3 ハノイの塔
 5-4 8王妃問題
第6章 ソート
 6-1 ソートとは
 6-2 単純交換ソート(バブルソート)
 6-3 単純選択ソート
 6-4 単純挿入ソート
 6-5 シェルソート
 6-6 クイックソート
 6-7 マージソート
 6-8 ヒープソート
 6-9 度数ソート
第7章 文字列探索
 7-1 力まかせ法
 7-2 KMP法
 7-3 Boyer-Moore法
第8章 線形リスト
 8-1 線形リストとは
 8-2 線形リスト
 8-3 カーソルによる線形リスト
 8-4 循環・重連結リスト
第9章 木構造と2分探索木
 9-1 木構造
 9-2 2分木と2分探索木
章末問題の解答
参考文献
索引
謝辞
著者紹介

固定レイアウト型に関する注意事項(必ずお読みください)
この電子書籍は、全ページ画像の「固定レイアウト型」で配信されております。以下の点にご注意し、購入前にプレビュー表示をご確認の上、ご購入ください。

■使用できない機能
・文字拡大(ピンチイン・ピンチアウトは可能ですが、画面におさまらない場合は画面をスワイプ)/文字のコピー/マーク/ハイライト/文字列検索/辞書の参照/Web検索/引用

■推奨環境
・タブレットなど大きいディスプレイを備えた端末
・Wi-Fiネットワーク経由でのダウンロード(Kindle端末の場合)
 
内容サンプル
 
User Voice
40代のプログラマーです。
ここ何年かはデータ分析のシステムの開発、運用に携わってきました。

本書は、タイトル通りアルゴリズムとデータ構造の本です。

プログラミング言語の文法などの学習して、
条件文や配列やループが困らなくなったら、
本書にも手を付けられるんじゃないかと思います。
本書のソースコードはPythonなのでクラスとかもでてきます。

あつかっている内容は、目次の通り、オーソドックスです。

第1章 基本的なアルゴリズム
第2章 データ構造と配列
第3章 探索
第4章 スタックとキュー
第5章 再帰的アルゴリズム
第6章 ソート
第7章 文字列探索
第8章 線形リスト
第9章 木構造

本書は、ぱっと見、ソースコードは少なめに見えます。
しかし、言葉での説明も丁寧ですし、図が非常に豊富です。
そのアルゴリズムを実行したときの動きが、
たくさんの図として描かれています。
これは、理解にとても有用だと思います。

章末にある練習問題は、
基本情報技術者試験の過去問からの引用です。
Pythonは基本情報技術者試験のプログラミング言語になりましたので、
それを意識しているらしい。

図としては、フローチャートもけっこうたくさん書かれています。
pythonのソースコードとくらべて、アルゴリズムが
わかりやすく記憶に残りやすいということはないでしょうし、
Web界隈の現場でしたら見ることはないだろうし、
Pythonのソースコードと2重に確認することが増えて負担かもしれません。
基本情報処理技術者試験では必要なのかもしれませんが。

ごくありふれたWebアプリ開発だと、
アルゴリズムとデータ構造については、本書の半分の知識ですんでしまうかもしれません。
リレーショナルデータベースのインデックスは、木構造の知識がないとピンとこないかもです。

競技プログラミングをやってみたいというかたには、
本書の内容は、最低限に近い知識かと思います。
本書を読んだ後なら、競技プログラミングの入門書や
さらに専門的なアルゴリズムの本なども
なんとか読めるのではないでしょうか。

この手の本は、データ構造とアルゴリズムそのものの紹介で
終わってしまうので、コンピュータサイエンスの範囲の中あるいは外での、
応用例があると、より興味深く学べると思います。
学生時代に買った参考書のような誌面なので、読みすすめるのがなかなかむずかしい。もう少していねいな解説がほしかった。もう少し勉強してからもういちど読んでみたいと思います。
 
   
人気 24位
本書の内容
※この商品は固定レイアウトで作成されており、タブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。
購入前にお使いの端末で無料サンプルをお試しください。

本書は、アルゴリズムの入門書の中でも、一番最初に読んでいただきたいアルゴリズム超入門書です!

アルゴリズムの定石と呼ばれるものには様々な種類がありますが、
プログラマ初心者がいきなりたくさんのアルゴリズムを学ぼうとしても、
途中で挫折してしまう人が多いのではないでしょうか。

本書は、アルゴリズムの中でもプログラマが最低限知っておかなくてはならないものだけをぎゅっと絞込み、
ひとつひとつをていねいに解説しているため、無理なく最後まで読み終えることができます。
また、簡単な例でイメージを確認してからフローチャートを少しずつ完成させていく手順で解説しているため、
確実に理解することができます。

アルゴリズムをゼロから学びたい人に必携の1冊です!  
内容サンプル
 
User Voice
(前置)
 昨年『量子コンピュータが人工知能を加速する』と『人口知能はどのようにして「名人」を超えたのか?』を読み、ちょっとした衝撃を覚えた。
 ハードとソフトの両方に技術のブレイクスルーを感じたからだ。
 そこで人工知能についてもう少し突っ込んだ内容(機械学習の様々な手法)を知りたいと思うようになった。そうした分野の書籍を読みこなすためにはプログラムと数学の知識が必要だが、大幅に不足していることを自覚している。
 完全な理解は期待していないが、分かったような気になるためには少しは学ぶ姿勢も必要であろうと考え、まずはプログラムを学ぶことにした。

(前置の続きとこの本を選んだ理由)
 コンピュータとは長い付き合いだ。パソコンがまだマイコンと呼ばれている時代にまで遡る。「マイコン入門」というような本を読んだことがある。だから「アルゴリズム」「フローチャート」「機械語」「アセンブリ言語」「BASIC」「インタープリタ」といった言葉は聞いたことことがある。
 しかしプログラムを入力したり作ったりすることには夢中にならなかった(面倒だった)。したがって十数万もしたコンピュータもたいして活用しなかった。コンピュータがどのような原理で動くかをこの目で確かめて満足してしまった。
 夢中になったのは「コンピュータの組み立て」である。コンピュータの部品が規格化されていて自分で簡単に組み立てられるということを知ったときに興奮した。マザーボードは「Baby-AT」というIBMのPC/AT互換機の規格であったと思う。ビデオやサウンドカードなどが規格化されていて専門的な知識は必要なかった。
 ちょっとした知識と経験、数万円の投資、ドライバー一本でコンピュータを組み立てられることは驚きであった。確か「MS-DOS」や「windows3.1」で動かしていたと思う。

 あれから数十年、今初めて「プログラム」とまじめに向き合うことにした。プログラムは論理であるから「アルゴリズム」の理解から始めるのが良いだろうと考えた。
 結果的にこの本を選んだのは正解だった。

(読後感)
 86ページまでは、ゆっくり目に読んだ。アルゴリズムと、変数や配列が何なのかが大体理解でき頭も疲れてきたので、もう読むのはやめようと思った。しかしせっかく頭がアルゴリズムに慣れてきたので、ここで止めてはもったいないと思い直し、少しスピードをあげて一気に読んだ(立ち止まると眠くなるので。87ページからは100%の理解ではない)。 

 この本の特徴と良い点は以下の通りである。
1)アルゴリズムの理解に特化し、しかも初学者に徹底的に寄り添った解説がなされている。
2)提示されている図が効果的である。
3)プログラム言語の理解といった余計な情報がなく、各アルゴリズムの説明の中で繰り返し変数や配列が扱われるので、その働きをイメージしやすい。
4)定番のアルゴリズムとして取り上げられている「○○法」の理解は、説明が丁寧なので容易である。
5)ただし上記「○○法」の手順を、無駄のないシンプルなアルゴリズムにした流れ図の理解には多少頭を使う。     
6)最後まで読み理解したということが次の段階で有効に働く。

 本書の読後、ネットで購入した次の3冊に目を通した。
①『NEW BASIC /98 プログラミング』啓学出版(1988)
②『やさしく学べるC言語入門(第2版)』サイエンス社(2015)
③『みんなのRaspberry Pi 入門(第4版)』リックテレコム(2017)
 
 ①BASIC言語は多少なじみがあったので、本書によって理解していたアルゴリズム「最大値、最小値の探索」(94頁)を最初に見た。この時、アルゴリズムを理解している効用を実感した。つまりベーシック言語の記述法(文法?)だけに集中でき、特徴がおおよそ分かった。

 ②C言語は全くわからないので、初めから30ページまではまじめに読んだ。その後第3章の条件判断処理、第4章の繰り返し処理、第5章の配列にざっと目を通した。73頁の「並べ替え」では、やはりアルゴリズムを理解していたので、C言語の特徴をつかむことだけに集中できた。また、プログラムの入門書に、なぜ「変数」や「配列」の解説があるのかが分かった。

 ③この本の第3章(73頁から224頁)は、プログラム言語「Python3」の入門で、流れ図をもとにした丁寧な解説がなされている。ここでも「流れ図」「変数」「配列」の理解が役に立ち、とびとびに読んで効率よく「Python3」の記述法をつかもうとすることができた。

 さて、こんな大雑把なプログラム理解が「AI本」の読解にどれほど役に立つかは分からないが、次は「数学入門」本を繙くことにする。
基本情報技術者試験対策です。アルゴリズムといっても漠然として知りませんでしたが、この本でなんとなく全貌がつかめたような気がします。
本書の3大特徴は看板に偽りなしでした。
「入門の入門」:プログラムでかつて挫折したクチですが、分かりやすくそれでいて的を外していない解説が優れいています。
「途中で挫折しない」:定番のアルゴリズムを限定して解説しています。フローチャートと疑似言語をノートに並列して書き写していますが、そこに至る前のプロセスがひとつひとつ分かりやすく解説してあるので、飽きずに読み進むことができました。
「すらすら分かる」:学生時代から参考書は多々使ってきましたが、著者が十二分によく理解していること、分からない人はなぜ理解しないのかが分かっている人が書いたものは違います。分かりやすさに違いがでてくるのはそういうポイントです。この本はプログラム挫折経験のある私にとって本当にすらすら分かる好著でした。
プログラミングを勉強していますが、アルゴリズムがさっぱり分からず躓いてばかりなので、分かり易そうだったこの本を購入しました。
結果、大正解。
本の分厚さにげんなりしましたが、実際読んでみると全く苦ではありませんでした。
既にアルゴリズムを理解している人には向かないかと思いますが、
私のような全く知識のない人にはお勧めです。
私は頭の中でイメージを掴むのが苦手なので、
『アルゴリズム図鑑』というアプリを使い、目で見てイメージを掴みながら読み進めています。
アルゴリズムを勉強したいと思ったら最初に手に取ってみて欲しい一冊です。
 
   
人気 25位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 26位
本書の内容
本書は、Think IT連載「ビジネスに活用するためのAIを学ぶ」に、筆者の自社Webサイトで公開中のブログ「AI技術をぱっと理解する(基礎編)」
を加え、さらに加筆・修正したAI入門書。これからAIを学ぶエンジニアや過去にAIを学習したが挫折してしまったエンジニア向けに、AIの基礎と
全体像を解説し「AIとは何か」「AIで何ができるのか」をイメージできるようにした。

本書の特長は、古い歴史には触れず、(1)ディープラーニング登場以降の5年間の流れを知り(過去)、(2)今のAI技術の全体像を把握し(現在)、(3)5年後の
AI活用イメージを掴む(未来)、の3点。書き下ろしコラムによるていねいな補足もあり、広大で難解なAIの世界をやさしく学ぶことができる。

全3部構成。
●第1部「人工知能の基礎を理解する」では、AIの基礎と全体像をしっかり理解できるように解説。
●第2部「機械学習のアルゴリズムを学ぶ」では、AIの心臓部となる<機械学習><統計学><アルゴリズム>の3要素とその関係を解説。<機械学習>には
「教師あり学習」「教師なし学習」「強化学習」などが、その背後には「回帰」「分類」「クラスタリング」などの<統計学>があり、その解を求める
方法には「決定木」「サポートベクターマシーン」「k平均法」など、多くの<アルゴリズム>がある。これらの三角関係をやさしく紐解く。
●第3部「ビジネスに活用するための人工知能を学ぶ」では、著者の調査による最新動向を踏まえ、AIビジネスの将来について業界別に考察。
RPA (Robotic Process Automation) の現状についても解説する。

※この商品は固定レイアウトで作成されており、タブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。
購入前にお使いの端末で無料サンプルをお試しください。  
内容サンプル
 
User Voice
独学で機械学習、深層学習(CNN,RNN)などを勉強した経験があります。他の書籍やネット情報の説明では難しくて理解できなかった部分があっさり理解できました。
イメージしずらい部分を簡潔に説明しています。本の著者と麻里ちゃんは凄いですね。
AIをゼロから学ぶ本ではないですが、壁に当たった時のため絶対持ってたほうがいいです。
G検定を受験した後、RNNやCNN等もう少し深堀する必要を感じ、購入しました。受験前に勉強しておくべきだったなと感じる内容です。平易に書かれていますが、それなりに深い内容にも踏み込んでおり、簡単では無いのですが、知識の穴埋めには適していると思います。
エンジニアだけじゃなくAIに興味がある大学生にもおすすめかな。

機械学習の分野で知っておいた方がいい基本的な知識について分かりやすく説明されているなと感じました。
 
   
人気 27位
本書の内容
※このKindle本はプリント・レプリカ形式で、Kindle Paperwhiteなどの電子書籍 リーダーおよびKindle Cloud Readerではご利用いただけません。Fireなどの大 きいディスプレイを備えたタブレット端末や、Kindle無料アプリ (Kindle for iOS、Kindle for Android、Kindle for PC、Kindle for Mac) でのみご利用可能 です。また、文字列のハイライト、検索、辞書の参照、引用については、一部機 能しない場合があります。文字だけを拡大することはできません。※プリント・レプリカ形式は見開き表示ができません。

※この電子書籍は紙版書籍のページデザインで制作した固定レイアウトです。

これから必ずくる量子コンピューティングの時代に備えるためのバイブル
本書は、IT分野のプログラマやエンジニアを主な読者対象として、その方々にとって特に重要な量子コンピューティングの基礎をわかりやすく解説した書籍です。
量子コンピュータについては、多くの人がクラウド越しで実物に触れられるようになった今でも、物理の専門書から学ぶか、チュートリアルやハンズオンのウェブ記事を読んで勉強するかしかありません。これから量子の力をフル活用できる人や、量子情報の考え方を利用してコンピュータサイエンスをよくしていく人材が必要になるというのに、入門書と専門書の間には大きな隔たりがあります。
本書はこれから必ずくる量子コンピュータの時代で活躍されるであろうIT分野のプログラマやエンジニアの皆様にとって、特に知っておくべき概念をできる限り網羅しています。量子コンピュータの背景、その原理や応用についても高校数学で学んだ内容を起点に数式も示しつつ、しっかりと解説しています。

第1章 なぜ量子コンピュータ?
1.1 とても難しい問題を高速に解く
1.2 ポストムーア時代
1.3 量子コンピュータの歴史
1.4 今の量子コンピュータで何ができる?

第2章 量子コンピュータの基本
2.1 量子ビットとは?
2.2 量子ゲートで計算する
2.3 量子回路を書いてみよう
2.4 コピーとテレポーテーション
2.5 補助量子ビットと逆演算
2.6 量子コンピュータにデータを入力する
2.7 量子コンピュータのデータ前処理
2.8 もっと一般の量子状態を扱うには…

第3章 量子計算の基本パッケージ
3.1 量子計算の基本戦略
3.2 行列の固有値推定(アダマールテスト)
3.3 内積の計算(スワップテスト)
3.4 位相を上手に使う
3.5 振幅を上手に使う
3.6 量子力学をシミュレーションする
3.7 データ行列を扱う

第4章 量子アルゴリズム
4.1 素因数分解(ショアのアルゴリズム)
4.2 量子化学計算
4.3 探索と最適化
4.4 量子コンピュータと機械学習
4.5 計算複雑性理論と量子アルゴリズム
4.6 歩行安定化制御の理論
4.7 さまざまな2足動歩行実現法

第5章 NISQ量子アルゴリズム
5.1 エネルギー最小化問題として解く
5.2 時間発展シミュレーションをバイパスする
5.3 パラメータつき量子回路による機械学習

第6章 量子コンピュータのエラー訂正
6.1 符号化と論理ビット
6.2 パリティチェックでエラーを見つける
6.3 ビット・位相反転の両方に対応する(Shor の符号)
6.4 量子誤り訂正符号の標準的な作り方
6.5 トポロジカル符号は奇妙なアイディア?
6.6 論理ゲート操作を作ろう

第7章 量子コンピュータのプログラミング
7.1 抽象化レイヤで整理する
7.2 古典に学ぶ量子プログラミング
7.3 量子プログラミング言語
7.4 量子コンパイラ
7.5 量子ソフトウェア開発基盤
7.6 論理ゲート操作を作ろう

第8章 量子コンピュータのアーキテクチャ
8.1 量子コンピュータ実現技術が満たすべき基準
8.2 量子ビット・量子ゲートを実現する技術
8.3 マイクロアーキテクチャ
8.4 大規模システムの構築に向けて
8.5 量子ソフトウェア開発基盤
8.6 論理ゲート操作を作ろう

第9章 量子コンピューティングでひらく未来
9.1 今後の技術発展をウォッチする
9.2 量子コンピュータサイエンス!?
9.3 量子コンピュータ実現までのマイルストーン
9.4 量子インターネット
9.5 量子前提社会に向けて  
内容サンプル
 
User Voice
まだ読み始めてまもないのですが、
必要な知識を一つずつ、そこそこ丁寧に取り上げている感じがします。

当たり前のことかもしれませんが、この本の中で新しく出てくる概念・用語はわかりやすく太字で書かれてたりと、細かなところに気遣いされている様に感じます。

もっとも、ど素人の私にはそれでも難しい内容ではありますが、この本をベースにわからないことを調べていこう。と思わせてくれました。
理論から動向までの基礎が文字だけでなく、数式でもきちんと解説されています。大学3年生くらいのレベルでこれから本格的に量子コンピュータを始めてみたい人が読む最適な本だと思います。
一つ一つのトピックが2-3ページでさわりだけまとめて紹介されています。
広く浅くわかった気になるので興味があれば元論文を読む感じで勉強できます。
VQEはもちろん2019年くらいまでのかなり最先端なアルゴリズムや流行もしっかり押さえられていて実用的な本だと思います。
ただ間違った記述や式も散見されます(例えばハートリーフォック以外の一般的なハミルトニアンが波動関数に依存し非線形になるなど)。
回路を載せず数式と言葉で説明されているアルゴリズムもあるのでそこは少し分かりにくい。
 
   
人気 28位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 29位
本書の内容
アルゴリズムの基礎が手に取るように分かる

アルゴリズムの定番的入門書、ここに誕生。
大ロングセラー『定本Cプログラマのためのアルゴリズムとデータ構造』の著者、近藤嘉雪の最新作。

Java言語の初心者/中級者を対象に、アルゴリズムとデータ構造の基礎から、
各アルゴリズムの特長、Javaによる実装までを、平易な文章で詳細に解説。

プログラミング上達に必須な、アルゴリズとデータ構造の基礎について、
取り上げるアルゴリズムは、整列(バブルソート、選択ソート、挿入ソート、シェルソート、クイックソート、
マージソート、ヒープソート、ビンソート、分布数え上げソート、奇数ソート)をはじめ、
文字列の探索(力まかせのアルゴリズム、KMP法、BM法)、
バックトラック法、動的計画法など、多岐にわたる。

紹介したすべてのアルゴリズムについて、Javaによるサンプルコードを掲載している。
すべてのJavaプログラマ必読。


▼本書の構成
第1部 アルゴルズムとデータ構造の基本
第2部 基本的なデータ構造
第3部 探索
第4部 整列
第5部 文字列の探索
第6部 いろいろなアルゴリズム

 
内容サンプル
 
User Voice
学校で必要だったため購入しましたがなかなか見やすいと思います。
内容は中級者へ向けてってレベルですかね?
高校数学は忘れかけ状態、プログラミングは高等教育で学んだのではなく企業の3か月研修で身に着けた者です。
この本は「とりあえずJavaが使えるようになった」程度で挑むと返り討ちに合うと思います。
ですが、そのレベルの人が次のステップに上がるために、超えなければならない壁のような本でもあると思います。

読み始め、数学から離れていた私は「計算量」という尺度と、O(x)という表記の指し示すものがうまく把握できず苦しみました。
またlogを使った一連の指数計算公式も出てくるので、何かを検索しては本を読み…の繰り返しでした。
最初はただとにかく「例ソースコードで何が行われているか」を追う事で精一杯でした。

しかし、1部3章の「データ構造とは」で「抽象データ構造」という概念を学んだあたりから、急激に様々なものへの理解を得ることが出来ました。
ことオブジェクト指向に関して「それが何かを知っているだけ、使い方を分かっているだけ」の状態の方は、
「なぜそうあるのか、それはどのような思想からそのように実現、実装されたのか」を把握することが出来ると思います。

次の章では前章の内容を発展させて使う、というのが最後まで続く本なので、何度も読み返すことになり、辛さはあるかと思います。
しかし言い換えれば、読み進めていくにしたがって、前章の内容がしっかり身に染みていくという事でもあります。
読み下すには時間がかかりますが、とても良い本だと思います。
代表的なデータ構造・ソートのアルゴリズムが理解できたので良かった。その他のアルゴリズムの理解があいまい。再読する。
 
   
人気 30位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 31位
本書の内容
アルゴリズムとデータ構造に関する世界標準として大変好評な、MITでの計算機アルゴリズムのテキスト3版である。各節末には多様なレベルの問題が配置され、教科書、技術系専門家の手引書、事典として活用できる。本書は第2巻目で、高度な設計と解析の手法・高度なデータ構造・グラフアルゴリズムを所収。  
内容サンプル
 
User Voice
第2巻ですが、ある程度知識があれば2巻から読むことも可能でしょう。
(二分木、二色木は知っていないときつい)
選択するための基本である「動的計画法」や「貪欲アルゴリズム」や
データ保存法である「B木」などがあります。
1巻よりページは若干少ないですが内容自体はかなり濃いので買って公開することはないでしょう。
各アルゴリズムがどうしてそうなってるのかが完璧に書かれている。
小難しく、読むのは大変だが、努力した分だけちゃんと結果に結びつく。
この本の前に蟻本(プログラミングコンテストチャレンジブック)を読んでいたのだが、
蟻本では解説されていない各アルゴリズムの詳細を知るにはこの本がベスト。
 
   
人気 32位
本書の内容
※この商品は固定レイアウトで作成されており、タブレットなど大きいディスプレイを備えた端末で読むことに適しています。
また、文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。
お使いの端末で無料サンプルをお試しいただいた上でのご購入をお願いいたします。


本書はPythonというプログラミング言語を用いて、ゲームを制作しながらアルゴリズムを学ぶ入門書です。
Pythonはソフトウェア開発や学術研究の分野で広く用いられるようになり、企業や教育機関で使われる主要なプログラミング言語の1つになりました。
また基本情報技術者試験にPythonが加わるなど、情報処理を学ぶ人たちにとっても触れる機会の多い言語になっています。
Pythonの人気が高まったのは、

・記述の仕方がシンプルで、他のプログラミング言語より短い行数でプログラムを組める
・記述したプログラムを即座に実行でき、開発効率に優れている
・ライブラリが豊富で、それらの多くが使いやすい

などの理由からです。

Pythonはプログラミング言語の中で特に学びやすく、誰もが習得できる言語であることも、広く普及した理由として挙げられるでしょう。
本書はアルゴリズムの学習に力を入れています。初学者が理解できるようにプログラミングの基礎からスタートし、やさしいアルゴリズムから段階を踏んで高度な内容を学ぶ構成になっていますので、どなたにも安心して手に取っていただけます。
ここで言うアルゴリズムとは、問題を解決するための手順や手法のことです。アルゴリズムを学ぶとさまざまな問題を解決する力が伸びるといわれており、しばらく前からアルゴリズムを学ぶ大切さが、色々なところで説かれるようになりました。
アルゴリズムと聞くと難しそうと考えてしまう方もいるかもしれませんが、心配は無用です。本書はゲームを制作していく過程で色々なアルゴリズムを習得できるようになっています。
みなさん、ゲームを作りながら、プログラミングとアルゴリズムを楽しく学んでいきましょう!

(本書「まえがき」より)  
内容サンプル
 
User Voice
Pythonを使ったゲームアルゴリズム本。カラー刷り。

Pythonをインストールし、VisualStudioCodeを使います。
ブラウザゲームではなくtkinterを使ったデスクトップで動くGUIアプリ。

最初にPythonの基礎を学習したあとミニゲームづくりに入っていきますが、ちょっとずつ作っていくのではなく、すでに著者が完成させたプログラムの掲載があり、その中身を解説していくスタイル。
書いてあるとおりやれば完成というタイプではないですが、アルゴリズムの学習がメインなのでこれでいいと思います。

サンプルファイルがダウンロード可能で、すぐに動かすことが出来るのもいいです。
ちなみに本書サンプルファイルの神経衰弱は不自然に強く、リバーシは序盤に打ってはいけないところに打ったりと弱め。エアホッケーもまだまだ改善の余地があります。

ゲームとして実際に動く中身がどうなっているのか見えますし、実装の仕方がわかっていいです。
Pythonの教科書。
似たような本が多いですが、こちらはプログラムのアルゴリズムを学ぶのがメイン。

Pythonのインストールから始まり、神経衰弱やリバーシ(オセロ)を作りながら学びます。

コードの右側に、そのコード内容の解説があるですが、ほとんどのコードの内容が書いてあるのは珍しい。
これだけでも、そこらには無い丁寧な教科書という印象。

一冊しっかり勉強するだけでも、しっかりプログラミングの作り方を学べると思います。
中学2年の息子が楽しくPythonを学べています。
息子のプログラミング歴は1年間。これまでに学んできた言語はC++で競技プログラミングに
挑戦しています。新しい言語の習得としてPythonを選びました。

この本は初心者から中級者までしっかりカバーしている良本とのこと。

本選びにうるさい息子が言っているので間違いないです。悩んでいる方におすすめです。
 
   
人気 33位
本書の内容
「デジタルはすでに『哲学』の一領域です。本書でぜひ『リベラルアーツ』としてのデジタルを学んでください」
山口 周氏推薦!

本書は、「ぼくたちがもっと自由に生きるにはどうすべきか」を考え抜くために書かれました。

かつて自由とは、所属する国家との関係性によって得られるものでした。
しかし、GAFAの権力が社会保障からベーシックインカムまでを担うかという、前代未聞の時代が来ようとしています。
そこでぼくたちの人生は、アルゴリズムに支配されるのか? それをもっと自由に生きるための「武器」にできるのか?


人類が直面するこの難問の答えは、「アルゴリズム フェアネス」という言葉のなかにあります。


本書で尾原氏は、AIがもたらす圧倒的に自由な世界を描きつつ、仮想通貨リブラ、GDPR、信用スコアなど最先端の潮流、そして「分散」に向かうインターネットの本質も踏まえ、そこでぼくたちの自由を増やすにはどうするか? そのために何ができるか? ということを、「アルゴリズム フェアネス」という言葉を補助線に読み解いていきます。

iモード、リクルート、楽天執行役員として日本のブラットフォームを、グーグルで世界のアルゴリズムを知り尽くした人間だからこそ書けた、渾身の一作。
断片的な情報と情報とがつながり、読後には目の前の世界がまったく違って見えてくる、まさに「『リベラルアーツ』としてのデジタル」の誕生です。 

【目次】
序章 「アルゴリズム フェアネス」とは何か
第1章 AIが生み出すワクワクする新世界
第2章 国家を超えるプラットフォームの権力
第3章 「国というアルゴリズム」が選べる時代
第4章 ブロックチェーンと究極のフェアネス
第5章 自由を増やす「ハンマー」を手にしよう  
内容サンプル
 
User Voice
人間は揺れ動く存在である。そしてそれを揺れ動かす要因は様々な「行動を促す働きかけ」。その働きかけとはどんなものであったのか、過去の歴史や国家情勢の中から、幅広く事例を紹介しつつ、今とこれからの人間の行く末を概観している(ちなみに、現代において特筆すべき「働きかけ」こそがアルゴリズムであるという主張)。
人間は、その歴史の中で、徐々に自由の幅を広げながら困難にも対処してきた…という理解のもと、今がどんな時代でどんなリスクがあるのかを(危機感を煽らないように配慮しながら慎重に)提示しつつ、今、どう振る舞うことで未来を良きものにできるのかを述べている。

人間は、今、歴史上最高に自由な状態であるが、その左右を実現しているのがICTの力であり、またコンピューティングパワーが実現したアルゴリズムの力である。
そしてその自由をどう使っていくのか。自由の裏側にある責任を理解し、アルゴリズムの暴走を抑えつつ、さらなる良き世界の実現をめざすべきことを、膨大なリベラルアーツ的知識を下敷きに、最新のサービスや事例もふんだんにちりばめながら啓蒙した書。
誰でも簡単に読めるが、こうした業界に近しい人であればあるほどハマると思う。
何度でも読み返したい気持ちになる不思議な魅力に溢れた力作。
尾原さんの本はいつも最後まで学びがあります。
優れた方々の本には難解な表現が多いですが、さらに一段掘り下げて説明してくれます。
毎回の著書でホスピタリティを本で感じています。
この本はフェアネス、公平について書かれていますが、自分の中のフェアネスの概念も一段アップデートできたと思えます。
個人的に尾原さんの著作の中でベストな内容でした。
現在私たち(日本に留まらず)を囲むテクノロジーがどのようなアルゴリズムで産まれ、今後どのように進んでいくのかを考えさせられる名著です。
 
   
人気 34位
本書の内容
プログラミングの世界で、数学の定理や公式に相当するものがアルゴリズムです。
本書では、πの計算や文字列の検索、迷路の解法などのプログラムをC言語で作成しながら基本的アルゴリズムを習得していきます。
Visual C++2015などの最新コンパイラに対応した、待望の改訂第4版です。  
内容サンプル
 
User Voice
 プログラミング言語の流行は時代によっていろいろと変わるが、その基本となるアルゴリズムについての知識を身に付けておけば自分の一生の財産となる。
 本書は定評のあるアルゴリズムの入門書で、あまり大きな声では言えないが、大学の情報系の学部で習う内容のかなりの部分が説明されている。
 本書をきちんと理解すれば、その辺の学生に知識において引けを取ることはないだろう。
 
   
人気 35位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 36位
本書の内容
世界標準 MIT 教科書!!<br/> 大変好評を博しているMITでの計算機アルゴリズムの教育用に著わしたテキストの原書3版である。前版までで既にアルゴリズムとデータ構造に関する世界標準教科書としての地位を確立しているが、より良い教科書を目指して今回、章立てを含め再び全面的な改訂を行った。<br/> 各節末には多様なレベルの問題が配置され、学部や大学院の講義用教科書として、また技術系専門家の手引書、あるいは事典しても活用できる。<br/>  
内容サンプル
 
User Voice
かなり値段が張りますが画像のようにかなりのページ数があります。(参考文献なしで360P以上)
一巻では初歩的な「増加のオーダー」から始まり「二分木」、「ヒープソート」、「二色木」などがあります。
すべて読破するにはおそらくかなりの根気が必要です。(高校数学レベルの知識は必要)
ですがこのイントロダクションシリーズをすべて読めばかなりアルゴリズムに精通できているといえるでしょう。
(とくにソートに関してはかなり詳しいです。)
興味がある方はぜひ読んでいただきたい一冊です。
ページとページがくっ付いていました。
裁断ミス?
最初に読む時にめくりづらかったです。
 
   
人気 37位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 38位
本書の内容

全国のプログラマを悩ませたパズル集、待望の新作!
問題を解きながら、楽しくアルゴリズムを身につけよう

【本書の特徴】
・パズル問題をソースコードで解く
・楽しみながらプログラミングが上達
・4人のキャラクターによるやさしい解説
・アルゴリズムを深く理解できる
※初歩的なアルゴリズムの知識があることを前提としています

【本書で使用する言語】
Ruby/JavaScript
※すべての問題で、上記2つの言語の解答を掲載しています
※どの言語でも活用できるような解説の仕方をしていますが、上記のどちらかを習得していると、より理解しやすくなります

【内容紹介】
コンピュータを取り巻く環境は日々、大きく変化しています。

そんな時代の変化の中でも、変わらずに
重要とされているのが「アルゴリズム」です。

効率よく処理するプログラムを作成するには、
アルゴリズムを工夫することが求められています。

本書は、さまざまな数学パズルを解くことにより、
「よいアルゴリズム」を身につけることを目的としています。

一筆書きや組み合わせなどの定番問題から、
「サンタクロースが効率よく家を回るには?」
「カップルを隣同士に並ばせない席順は?」といったものまで、
楽しみながら思考が広がる問題を70問用意しました。

※本電子書籍は同名出版物を底本として作成しました。記載内容は印刷出版当時のものです。
※印刷出版再現のため電子書籍としては不要な情報を含んでいる場合があります。
※印刷出版とは異なる表記・表現の場合があります。予めご了承ください。
※プレビューにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください。

 
内容サンプル
 
User Voice
書籍内で紹介されている解法例(コード)は、基本的なコードブロックの組み合わせのみで表現されているため、プログラミング初心者でもスイスイ読めます。

一方、「なぜこのようなコードになるんだろう?」の理解には、ある程度の知識や経験が求められ、敷居は低くありませんが、心配は無用。書籍では、考え方や基礎となるアルゴリズムに至るまで丁寧に解説されていますので、初心者の方でも読み進めていくうちにコードの意味がだんだん読み解けるようになり、実力が身についていくと思います。座学に留めずサンプルコードを実際に動かすのも、理解のうえでは非常に価値が高いでしょう。

また、ある程度の実力がある人なら「他の解法はないか?」を考えるのも楽しいと思います。

例えばQ01。書籍で紹介しているコードは計算量がO(N^2)オーダーのため、大きなNを与えると延々と計算が終わらなくなるんですが、私は苦心の末、同じ解を得るO(N)オーダーのアルゴリズムを見つけました。もしかしたら、O(1)もあるかも。。

プログラミング経験さえあれば、初級者から経験者まで、幅広い層に楽しめる良書かと思います。
前作と同様にパズルをプログラミングで解く問題集。
解き進めていくと徐々に難易度が上がっていくので、解けると自分のレベルが上がった感じがして楽しい。
この本の「はじめに」にあるように、プログラミングを勉強したけれど「作りたいものが見つからない」という人におすすめです。

タイトルに「もっと」が付いていますが、難易度は前作と変わらない感じ。
前作を読まなくても解くことができます。
数学のパズル的問題集かと思いきや、プログラム言語の関数なども駆使して考えなければならず表紙の初心者向けな感じに騙されたので星二つ。
プログラミング初心者の私は、あくまで考え方をイメージするのに使おうと思う。
 
   
人気 39位
本書の内容
(概要)

機械学習はAI(人工知能)の基礎技術です。今後AIの利活用が進むにつれて、機械学習をコンピュータシステムに組み込んでビジネスに活用できる人材(本書ではAIエンジニアと呼称します)がますます求められます。

機械学習には目的に応じたいくつかの手法が存在します。それらの手法を正しく使えるようになるために、本書はAIエンジニアが理解しておきたいレベルの深さで、各手法のアルゴリズム(動作原理)を丁寧に解説します。とくにアルゴリズムの目的や意味を理解できることをめざします。(アルゴリズムの背景にある高度な数学・統計学の理論についての説明は必要最小限にとどめ、)まずはプログラムを書いて動かし、その結果を見ながらアルゴリズムの長所・短所や、性能をチューニングするためのコツを学びます。

機械学習プログラムの作成には、プログラミング言語「Python」と機械学習ライブラリ「scikit-learn」を使用します。作成したプログラムは、クラウドサービス「Google Colaboratory」や手元のパソコンに構築する「Jupyter Notebook」の環境で簡単に動かせます。


(こんな方におすすめ)

・機械学習・AI(人工知能)技術を学ぶエンジニアや学生

・これから機械学習システムの開発に携わる人


(目次)

第1章 機械学習の概要と本書の進め方

  1.1 本章の目的と概要

  1.2 機械学習の概要と3つの分類

  1.3 機械学習の各手法の動作原理(アルゴリズム)を学ぶ意義

  1.4 機械学習の勉強方法

  1.5 本書で使用するライブラリと実行環境

第2章 実装しながら学ぶアルゴリズムのこころ・教師あり学習編

  2.1 本章の目的と概要

  2.2 最小二乗法による線形回帰

  2.3 L1正則化、L2正則化による過学習の抑制

  2.4 ロジスティック回帰によるクラス分類

  2.5 SVCによるクラス分類

  2.6 決定木によるクラス分類

  2.7 ランダムフォレストによるクラス分類

  2.8 Naive Bayesによるテキストデータの分類

第3章 実装しながら学ぶアルゴリズムのこころ・教師なし学習編

  3.1 本章の目的と概要

  3.2 主成分分析による次元圧縮

  3.3 k-meansによるクラスタリングとデータ前処理

  3.4 ガウス混合モデル(GMM)によるクラスタリング

第4章 実装しながら学ぶアルゴリズムのこころ・発展編

  4.1 本章の目的と概要

  4.2 勾配ブースティング決定木によるクラス分類

  4.3 エルボー法とシルエット分析による

  4.4 t-SNEによる次元圧縮(多様体学習)

  4.5 異常検知(Novelty Detection、Outlier Detection)

第5章 機械学習システムの構築フローとモデルの性能評価

  5.1 本章の目的と概要

  5.2 ビジネス理解

  5.3 データ加工

  5.4 モデリング

  5.5 デプロイと運用

付録

  A.1 Google Colaboratoryの利用方法

  A.2 ローカルPCに機械学習の実装・実行環境を整える方法
 
内容サンプル
 
User Voice
IT業界でエンジニアをしている方にはちょうど良い難しさ。
一般入門書より詳しく、専門技術書より易しい。
実プロジェクトへ適用する場合の概要も記載されており、イメージを付けるのにはもってこい。
執筆者方からのこれから学ぶ者達への期待が感じられました。
初心者の方は勿論、今一度基本に戻りたい方にも良いかと思います。
入門書として必要なことはしっかりと書かれています。
各章の構成も一貫しているので、読み進めるごとに「反復の安心感」みたいなのが出てきます。
逆に、何かを調べたくてこの本に戻ると、本当に基本的なことしか書いていないので、是非とも今後の発展編、応用編の執筆を期待したいです。
 
   
人気 40位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 41位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 42位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 43位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 44位
本書の内容

【本電子書籍は固定レイアウトのため7インチ以上の端末での利用を推奨しております。文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。ご購入前に、無料サンプルにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください】

数式でもない実装でもない、
半径3メートルの身近なアルゴリズムはこんなにわかりやすい!

プログラミングにおいて、アルゴリズムは欠かせません。
それは「Hello World」から昨今のAIやIoTに代表される機械学習や
ディープラーニングに至るまで変わりません。プログラミングとは、
裏を返せば、アルゴリズムをいかにして見通しよく実装するかにあるからです。

けれども、アルゴリズムの学習というと、七面倒臭い理屈の山と数式の谷間で
迷子になるのが、これまでの一般的な在り方でした。

そこで本書は、イラストを多用し、デファクトと言われるアルゴリズムが
なぜデファクトなのか。けれども場合によってはデファクトたりえないのは
なぜなのか。その差を分ける基準は何なのかを平易に解説してくれます。

アルゴリズムと聞くとアレルギー反応をおこす方でも、安心して
その奥深い世界の扉から漏れてくる、豊かさの一端に触れることが出来るはずです。

【目次】
第1章 あれもこれもアルゴリズム
第2章 並べたり差し込んだり選んだり:ソート
第3章 同じ手順で何度でも:再帰
第4章 ちっちゃくしてから考えよう:クイックソート
第5章 関連付ければ話も早い:ハッシュテーブル
第6章 グラフを作れば見えてくる:幅優先探索
第7章 本からピアノへ物々交換大作戦:ダイクストラ法
第8章 問題は続くよどこまでも:貪欲法
第9章 ドロボーは計画的に:動的計画法
第10章 分類したら予測して:k近傍法
第11章 この先にはなにがあるの?
第12章 答え合わせ

※本電子書籍は同名出版物を底本として作成しました。記載内容は印刷出版当時のものです。
※印刷出版再現のため電子書籍としては不要な情報を含んでいる場合があります。
※印刷出版とは異なる表記・表現の場合があります。予めご了承ください。
※プレビューにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください。

 
内容サンプル
 
User Voice
一年ほど前からプログラミングの勉強を始めたのですが、様々な本やネットの情報で、その基礎となる「アルゴリズム」の重要性について語られているのを見て、勉強のための本を探していました。
しかし、「アルゴリズム」に関する本は、わかりやすくとも内容が浅いものか、私にはとても難しく感じられるものかの両極端のものしか見つけられませんでした。

そんな中、この本は、初心者向けの本と比較して、紹介されているアルゴリズムの数が多いです。また、紹介するだけで終わるのではなく、なぜそのような考え方ができるのかにまで踏み込んで、説明してくれるので、一つ一つのアルゴリズムの考え方が頭に入りやすいです。

何より、説明するために用いられる例えが、電話帳で「K」から始まる名前の人を探すときに、どのあたりのページから探していけば効率がよいかといった、具体的で身近なものが多く、飲み込みやすかったです。
白黒ではありますがイラストがたくさん用いられていることも、理解を助けてくれます。

全体を通して、読み応えがあり、とても勉強になりました。

最初心者から一歩進んで、もっとよくアルゴリズムを知りたい、勉強したいけど、あまり難しいのは途中で挫折しそうだな、という方におすすめです。
コーディングの基礎知識がある方が、より読み進めやすいかと思います。

なお、この本に登場するコードはPythonで書かれています。私はPythonは初めてでしたが、本書の構成としてイラストや例え、言葉を使った説明が主ですので、全体としてほとんど問題なく読み進められました。(勿論、Pythonを知っている方がより理解できるのだと思います。)
また、本文中に注意書きとして、本書を読むために代数の基礎を理解する必要があると記されていましたが、文系学部出身の私でも、読み込めば理解できる内容でした。
とてもいい本です。
私にとっては、なぜ今までこの本を読んでなかったのかと思わされる内容でした。
アルゴリズムの考え方がひとつひとつ学ぶことができます。こうやって考えればいいというのを簡潔に教えてくれます。

また、ソースについてはPythonで書かれているのですが、プログラムを少しでも書いたことがあれば少し調べればわかると思います。
ただ、今まで全くプログラミングの経験ないという人はこのソースコードを理解するために少しプログラムの勉強をする必要があるかもしれません。
この本自体は、今までプログラミングの経験少しでもあるという人をターゲットとしているので購入する際はこれを留意する必要があるかと思います。
ソースコードの理解はしなくてもいい、アルゴリズムの考え方が知りたいという人でも楽しめる・理解できる内容にはなっていると思います。

私は今までアルゴリズムに対して苦手意識があったのですが、この本を読んで考え方が変わりました。苦手意識がある人でもサクサク読める内容なので苦手意識はあるけどアルゴリズムについて学びたいという人は読むことをおすすめします。
蟻本、チーター本を読んでもさっぱりわからない、でも各種用語やアルゴリズムの名前だけはたくさん覚えた、そこで螺旋本を読むのはダルい、という人にはもってこい。
これだけで実装まではもっていけないが、概念と考え方がわかりやすく図解をいれて提示されるので、これを足がかりにして既に解読を挫折したリファレンスやコードにもう一度臨めば理解度が格段に違ってくると思われる。
 
   
人気 45位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 46位
本書の内容
 
内容サンプル
 
User Voice
 数値計算に必要な数学の知識、計算機やC言語の知識、アルゴリズム、プログラム例、全部書いてあります。
 数値計算初心者にとって、大体の本は数学だけだったり、逆に、数学のことはほとんど言及せずプログラム例をたくさん載せていたりするので、2,3冊参照しないとわかった気にはなれません。本当はこういう作業が大切なのはわかりますが、最初からそれだと自分の知りたいことがどこに書いてあるのか調べるだけで疲れてしまいます。

 数値計算に馴れるという意味では、この本に書いてある順番通りに手を動かすだけですぐに結果が出て理解が早まるのではないでしょうか。

 あと誤植・プログラム例が出版社のホームページに掲載されているのも良い点です。
数値計算において必要とされる基本的知識が網羅されています.
「アルゴリズムの特徴」,「C言語による実装」,「アルゴリズムの数学的裏付け」がきちんと説明されています.
また,丁寧な日本語の語り口で読みやすい文面となっています.
初心者から中級者以上まで,幅広くお勧めできると思います.

章構成は以下のとおりです.
第1章 数値計算の基礎知識
第2章 基本的な操作と演算
第3章 連立一次方程式の直接解法
第4章 非線形方程式
第5章 連立一次方程式の反復解法
第6章 関数近似と補間
第7章 数値積分
第8章 常微分方程式
第9章 固有値問題
第10章 多倍長演算
数値計算の本だとプログラムを全部載せずに端折ったり、一部だけ載せたりということがあるが、この本にはそういったことがない。また、関数に慣れていない人のために、mainプログラムまで載せてあったり、理解しやすいように、構造体は使わずに書かれている。

『きれいなプログラムよりも動くプログラムを』という方針からプログラムの行数自体は長めだが、プログラミング技術の向上と共に改良する余地も残されている。

「一度登場した関数は再掲しない」ので、途中で分からなくなったりしないかと心配でしたが、第1章からやっていくぶんには問題ありませんでした。
 
   
人気 47位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 48位
本書の内容
バンダイナムコスタジオの開発者が伝授!

※この電子書籍は、「固定レイアウト型」で配信されております。説明文の最後の「固定レイアウト型に関する注意事項」を必ずお読みください。

CEDEC Awards著述賞受賞タイトルが、Unity5に対応してリニューアル!

プロのゲーム開発者秘伝・遊びのレシピ! 
バンダイナムコスタジオ開発陣による10種のオリジナルゲームを題材に、
知っておくべき「ゲームのしくみ」を徹底解説。
簡単に始められるUnityとC#で、ゲームを作るために必要な遊びのアルゴリズムをマスターできます。
Unityでゲームを作り始めようとしているゲームプログラミング入門者に最適の1冊です。

本書は、ゲーム開発者カンファレンス「CEDEC 2013」において、
著述賞を受賞した『ゲームの作り方』をUnity5対応・フルカラー印刷にリニューアルした書籍です。

●目次
第0章 Unityの概要
第1章 クリックアクションゲーム~おに
第2章 ジグソーパズル~ぷちパズル
第3章 ドットイートゲーム~ダンジョンイーター
第4章 3Dサウンド探索ゲーム~イン・ザ・ダーク・ウォーター
第5章 リズムゲーム~ヘドバン・ガールズ
第6章 全方向スクロールシューティング~スターバイター
第7章 並べ替えパズルアクション~イート・ザ・ムーン
第8章 ジャンピングアクション~(株)ねこ障子
第9章 ロールプレイングゲーム~一画面伝説レジェンド
第10章 ドライブゲーム~ナゾレバ・ハシレール(もちろん仮)

固定レイアウト型に関する注意事項(必ずお読みください)
この電子書籍は、全ページ画像の「固定レイアウト型」で配信されております。以下の点にご注意し、購入前にプレビュー表示をご確認の上、ご購入ください。

■使用できない機能
・文字拡大(ピンチイン・ピンチアウトは可能ですが、画面におさまらない場合は画面をスワイプ)/文字のコピー/マーク/ハイライト/文字列検索/辞書の参照/Web検索/引用

■推奨環境
・タブレットなど大きいディスプレイを備えた端末
・Wi-Fiネットワーク経由でのダウンロード(Kindle端末の場合)
 
内容サンプル
 
User Voice
まず本として誰に向けて書いているのかがわからない。
0章では長々と基本的なことを書いているのに
1章以降では制作の流れなどは省略し、極一部の機能のみフィーチャーした解説を書いている。
0章が必要な人間には1章以降は理解できず、逆であれば0章が不要である。

また解説している内容もコードが読めるなら解説するまでもない内容で
それができるならサイトからサンプルゲームを落とせばこの本を買う意味はまったくない。
誰にとってもこの本が役に立つことはないと想う。
As title saids, this book is an interesting casual game development reference, very good for novice to know how to start simple and playable projects.
Unityでゲームを作るときのアイデアの種。実装方法の勉強になります。
 
   
人気 49位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 50位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 51位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 52位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 53位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 54位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 55位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 56位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 57位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 58位
本書の内容
独自のシミュレータQCEngineを使ってJavaScriptで書かれたサンプルプログラムをブラウザ上で動かし、量子コンピュータでのプログラミングに必要な知識やスキルを学ぶことができます。
量子コンピューティングの基礎とその可能性に関する直感的理解が容易になるよう、豊富な例と図を用いて説明します。
前半では、単一キュビットに対する基本的な量子演算、多重キュビット演算、複合演算(量子プリミティブ)、基本的な量子アプリケーション、後半では、探索問題、画像処理、暗号問題、機械学習への応用について解説しており、本書だけで基礎から実践的な応用技術までを一気に習得できます。
これから学習を始める技術者、研究者を中心に、新しい研究分野やビジネスで量子コンピュータを利用したいと考える方がプログラミングの「感覚」を養うのに役立つ、ユニークなガイドブックです。  
内容サンプル
 
User Voice
内容としては充実しており、勉強になった。
特にシミュレーションを手元で試せるので、色々と実験しては理解を深めるのに役立った。
大学で数学や物理を専攻している人にとっては、多少、厳密性に欠けた議論や言い回しに引っかかるだろうが。(これはこの本の読者のターゲット設定から仕方ない点ではある。)

しかし、タイトルの通り、日本語訳が非常に読みにくい。

NielsenのQuantum Computation and Quantum Information等のより数学的な内容に入る前段階にこれを読めば、数学的な理解はまだ無いが大筋は事前に理解できるので、大いに役立つと思う。
 
   
人気 59位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 60位
本書の内容

※この商品は固定レイアウト型の電子書籍です。

※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。

※お使いの端末で無料サンプルをお試しいただいた上でのご購入をお願いいたします。

※本書内容はカラーで制作されているため、カラー表示可能な端末での閲覧を推奨いたします。



必ずアルゴリズムの意味がわかるようになる、アルゴリズムの入門書!

図解とイラストを豊富に使った、アルゴリズムの入門書です。
本書の特長は、
1. 「アルゴリズムの意味」をイラストや図でやさしく解説
2. そのアルゴリズムに関する「プログラミング言語」のサンプルを試し、体験して納得
の2点です。

「アルゴリズム」と聞くと難しそうに思われるかも知れません。しかし、「アルゴリズム」とはズバリ、『問題を解決するための考え方』です。「このアルゴリズムは、どんな考え方で問題を解こうとしているのか?」「この手順は、何をしようとしているのか?」など、「アルゴリズムの意味」に注目して考えていくと、だんだんとアルゴリズムが分かってきます。そして、頭の中で「意味が理解できただけ」では手ごたえがないので、本書では、実際に8種類のプログラミング言語を使ってサンプルプログラムを用意しました。あなたの使っているプログラミング言語を使って、実行してみましょう。「理解した意味の通りにアルゴリズムが動くこと」を試して、実感してください。
取り上げた言語は、JavaScript、PHP、C、Java、Swift、Python、BASIC、Scratchの8種類。自分の使っている言語のサンプルを試してみるのもよし、他の言語だとどんなふうにプログラムを組み立てるのかを比較してみるもよし。
もし他のプログラミング言語を知りたいと思っているなら、この言語間の「共通点」や「違い」が見えてくると、言語を理解するハードルがぐっと下がることでしょう。
「アルゴリズム」に苦手意識を持っている人、プログラムの組み立て方をもっと知りたい人に役立つ1冊です。

【構成】
第1章:アルゴリズムってなに?
 アルゴリズムの基本を解説。
第2章:いろいろなプログラミング言語
 JavaScript、PHP、C、Java、Swift、Python、BASIC、Scratchの特長を解説。
第3章:データ構造とアルゴリズムの基本
 アルゴリズムの組み立て方や、書き方、データの使い方について解説します。
第4章:簡単なアルゴリズム
 合計、平均、最大値・最小値、データの交換。
第5章:サーチアルゴリズム
 リニアサーチ(線形探索法)、バイナリサーチ(二分探索法)。
第6章:ソートアルゴリズム
 バブルソート、選択ソート、挿入ソート、シェルソート、クイックソート。  
内容サンプル
 
User Voice
アルゴリズムとプログラミングの違いと、各言語での記述の方法を比較している点と説明の図解が大変わかりやすい。これはプログラミングと図解の両方の勉強になりました。特に、「Python」が初心者でも理解しやすことがよくわかりました。
プログラミング言語を学んだがアプリを作りたいわけでもなく知識を放置していましたが、データ構造やビッグデータに興味がでてきたのでとっかかりにと手を取ってみました。
読み始めて見るや否や私にぴったりの本だとわかりました。
ifやfor、関数の使い方はわかったけど、「で、なに?」となっていたのですが、論理を組み立てるためにに必要不可欠な文法なんだなとわかりました。
ifとforまで学んでこの先どうすればいいかわからない人にも最適だと思いますね。
またたくさんのプログラミング言語での記述の比較ができるので、Cは無駄に多く書かなきゃいけなさそうだとか、PHPめんどくさそうとか、パイソンすごいだとか、他の言語の特徴もわかってよかったです。
内容は、最初は足し算から入り、徐々に複雑なアルゴリズムに入っていきます。
数学好きの私としては、最後のクイックソートの痛快なまでの整合性に驚きました。(特にPythonの関数型プログラミングの例)
ただ、クイックソートの部分はいろいろ思考実験をしなければ納得できない部分もあると思います。
例えば数字にダブりがあるとき、全てpivotより小さい時、左と右がぶつかるちょうどにpivotがあった時などです。
私はその思考を含め楽しめたのですが、あそこでつっかかってしまう方もいるのではないかと思います。
とはいうもののクイックソートは数あるアルゴリズムの説明のごく一部なので、ほとんど問題ないと思います。
プログラミングに興味がある方、数学が好きな方両方にオススメの一冊です。
概要解説→どう実現するか図で解説→フローチャート→プログラム
という風に順番を追って解説されているので、頭で理解しやすい。
図鑑という割には深く書かれていないが、最初の1冊目には適していると思う。
 
   
人気 61位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 62位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 63位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 64位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 65位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 66位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 67位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 68位
本書の内容
すべてのJavaプログラマに贈る!
アルゴリズムとデータ構造入門書の最高峰!!


※この電子書籍は、「固定レイアウト型」で配信されております。説明文の最後の「固定レイアウト型に関する注意事項」を必ずお読みください。

『明解Javaによるアルゴリズムとデータ構造』を10年ぶりに改訂。

初級レベルのJavaプログラマを対象に、スタックやキュー、二分木などのデータ構造をはじめとして、探索、ソートなどの、アルゴリズムの基礎について解説しています。
改訂にあたり、本文の見直しとレイアウト変更を行い、さらなるわかりやすさを目指します。

●目次
第1章 基本的なアルゴリズム
 1-1 アルゴリズムとは
 1-2 繰返し
第2章 基本的なデータ構造
 2-1 配列
 2-2 多次元配列
 2-3 クラス
第3章 探 索
 3-1 探索アルゴリズム
 3-2 線形探索
 3-3 2分探索
 3-4 ハッシュ法
第4章 スタックとキュー
 4-1 スタック
 4-2 キュー
第5章 再帰的アルゴリズム
 5-1 再帰の基本
 5-2 再帰アルゴリズムの解析
 5-3 ハノイの塔
 5-4 8王妃問題
第6章 ソート
 6-1 ソートとは
 6-2 単純交換ソート(バブルソート)
 6-3 単純選択ソート
 6-4 単純挿入ソート
 6-5 シェルソート
 6-6 クイックソート
 6-7 マージソート
 6-8 ヒープソート
 6-9 度数ソート
第7章 集 合
 7-1 集合とは
 7-2 配列による集合
第8章 文字列探索
 8-1 力まかせ法
 8-2 KMP 法
 8-3 Boyer-Moore 法
第9章 線形リスト
 9-1 線形リストとは
 9-2 ポインタによる線形リスト
 9-3 カーソルによる線形リスト
 9-4 循環・重連結リスト
第10章 木構造
 10-1 木構造
 10-2 2分木と2分探索木

固定レイアウト型に関する注意事項(必ずお読みください)
この電子書籍は、全ページ画像の「固定レイアウト型」で配信されております。以下の点にご注意し、購入前にプレビュー表示をご確認の上、ご購入ください。

■使用できない機能
・文字拡大(ピンチイン・ピンチアウトは可能ですが、画面におさまらない場合は画面をスワイプ)/文字のコピー/マーク/ハイライト/文字列検索/辞書の参照/Web検索/引用

■推奨環境
・タブレットなど大きいディスプレイを備えた端末
・Wi-Fiネットワーク経由でのダウンロード(Kindle端末の場合)
 
内容サンプル
 
User Voice
ある程度量の多いデータから目的のデータをを探索したり、そこへ新しいデータを挿入するにはいろいろなアルゴリズムがあります。特に高速かつ効率的に行うためにはあらかじめデータをソートしておくことが重要なことが多いのですが、ソートにもいろいろなアルゴリズムがあり、高速で効率的なものを選ぶ必要があります。このようなことを実現するには、まずデータの格納の仕方つまりデータ構造をデータの種類により使い分ける必要があります。
本書はこのような方法をJavaによるプログラミングで紹介しています。
JavaにはAPIでコレクションが提供されているので、それを使えばデータ構造もソートも探索も自分でコードを書く必要はありませんが、本書を読めばコレクションのAPIがどのように実装されているのかを理解することができるので、どのコレクション(ときには配列)を使って、どのメソッドを使うのが、自分で作成するプログラムに最適なのかを理解する手助けになると思います。
少し残念なことは、本書の前に読むべき「新・明解Java入門」にも本書にも列挙型の詳しい使い方の説明なしで、列挙型の少し踏み込んだコンストラクトを使ったコードが掲載されており、その部分は別の書籍を読むかAPI仕様書を読まなければならないことです。
最初、旧版(明解Javaによるアルゴリズムとデータ構造)を書籍で購入しましたが、
PCで打ち込みを行う時に手元の書籍を見て、PC画面を見る時に、
視線の動きが↑↓←→するのが煩わしいので、
Kindle版を買い、視線の動きで↑↓を極力減らす事にしました。
やり方はKindle版をPCで開き、その横でPleiadesを立ち上げます。
そのKindle版で本を読んだりしながらPCで打ち込みをします。

新版(Kindle版)は旧版と比べて、赤色などの色が増えてカラフルになっています。
また、若干、言葉の言い回しを変更したり、
波線を入れたり、図などの配置や説明順序を変えたりしています。
その他、細かな補足的な説明が少し追加されています。

まだザッとしか目を通していませんが、
扱っているアルゴリズム自体や説明は旧版とほぼ同じ様です。

新版の5つのポイント
①色が増えて旧版よりもカラフルになった。(Kindle版)
②図の配置やその説明文の位置が工夫された。
③細かな補足説明が少し追加された。
④扱っているアルゴリズム自体は大きな変更は見られない。
⑤Kindle版が追加された。

※興味がある場合は、作者HPにて本書の一部をPDFで確認できるので、
  確認してみてはどうでしょうか?

・Kindle版について
作者HPで閲覧できるサンプルページのPDFと比べて、文字がぼやけているので見難い。
PCでKindle版を表示させながら読み、
コードを打ち込んでいく場合は少し見難いだけだとしてもやはり気になる。
Kindle版の視認性の改善をお願いします。

(2017年8月25日現在)

Kindle版と著者配布PDF版の
比較画像が見難かった為、
再編集して再UPしました。
また先日の書き込みにミスがあったので、
編集しました。(4つのポイント→5つのポイント)

また、「なか見!検索⤵」で見れるKindle版画像は、
実際に購入してKindle版で見る画質よりかなり悪いです。
Kindle版は著者配布PDF版と比べて、
エッジ(文字の輪郭)や色合い(メリハリ)が悪いですが、
それでも「なか見!検索⤵」で見れるものよりも遥かに見やすいです。

ご注意ください
これは、 SBクリエイティブ 製 (2017) コンテンツの Kindle版プレビューです。紙の本 (単行本) のプレビューは、現在ご覧いただけません。

と、「なか見!検索⤵」を見ていると表示されるので、
Kindle版がそのままの画質なのかとマイナスなイメージを持ってしまいますが、
そんな事はありません。

(2017年8月26日追記)

◆新版の書籍版とKindle版について◆
Kindle版は黒・水・緑・赤・茶の色が使われています。
一方、調べたところ新版の書籍版は2色刷です。
ちなみに、旧版の書籍版では黒と水の2色刷でした。

恐らく、書籍版は値段を抑えるために印刷コストが安くなる様に
色を減らしているんだと思われます。

一方、Kindle版は印刷物ではなく、データだから、
そのところは考慮しなくてすみます。
だから本来、著者がしたかった事
(色の使い分けで大切なところとそうでないところなどを分かりやすくする)が
黒・水・緑・赤・茶の色で表現が出来ているんだと思います。
それによって見やすくもなっているとは個人的には思います。

参考にどうぞ。
(2017年9月11日追記)
 
   
人気 69位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 70位
本書の内容

「平均」という観点から強化学習の基本が理解できる!

AlphaGoがプロ棋士を破った2016年以降、強化学習や深層強化学習はさまざまな分野から注目を集めています。しかし、専門書では難解な専門用語や数式が多用されるため、初学者にとってはハードルが高い状態が続いていました。
本書は、そのハードルの高さを解消することを目的としています。平均という初歩的な数学を使うことで、「価値」「探索」「マルコフ性」といった強化学習の基本をわかりやすく解説します。
また、各アルゴリズムについては、「多腕バンディット問題」および「グリッドワールド問題」のいずれかを用いて、比較しやすい状態で解説します。そのため、各アルゴリズムの特徴や差異がわかりやすくなっています。さらに、中核的なアルゴリズムについては、PythonとMATLABの2種類のコードを、オーム社のWebサイトおよびGithubで配布します。配布コードを実行することで、「原理→数式→プログラム」という一連の流れを直感的に把握できます。

【本書の特徴】
・難解な強化学習の原理を、中高生にもなじみ深い「平均値の計算」という観点からわかりやすく解説します。
・さまざまなアルゴリズムを、共通する例題を用いて特徴がわかりやすいように比較します。
・PythonとMATLAB、2種類のコードを配布します。

※Pythonのバージョンは3です。

【目次】
扉・はじめに・目次

第1章 平均から学ぶ強化学習の基本概念
1.0 はじめに
1.1 平均と期待値
1.1.1 平均
1.1.2 期待値
1.1.3 期待値と平均の関係
1.2 平均と価値
1.3 平均とマルコフ性
1.3.1 平均の計算式とその変形
1.3.2 逐次平均表現とMP
1.4 平均によるベルマン方程式の導出
1.4.1 平均表現と価値関数の導入
1.4.2 決定型Bellman方程式の導出
1.4.3 確率型Bellman方程式の導出
1.5 平均によるモンテカルロ学習手法の導出
1.5.1 総報酬関数Gt+1の導入
1.5.2 総報酬GtとVtの比較
1.5.3 総報酬Gtの平均による価値関数vSt
1.6 平均によるTD法の導出
1.6.1 TD(0)法の計算式の導出
1.6.2 TD(n)法の計算式の導出

第2章 各アルゴリズムの特徴と応用
2.0 はじめに
2.1 方策π(a | S)
2.1.1 多腕バンディット問題
2.1.2 ε-Greedy方策
2.1.3 UCB-1方策
2.1.4 Bayes sampling方策
2.2 動的計画法
2.2.1 ε-Greedy(ε=1)反復方策
2.2.2 ε-Greedy(ε=0)方策反復法(On-Policy)
2.2.3 ε-Greedy(ε=0)価値反復法(Off-Policy)
2.3 モンテカルロ法
2.3.1 固定開始点モンテカルロ法
2.4 TD(0)法
2.4.1 方策反復方策からSARSA法の導出
2.4.2 TD(0)-SARSA法
2.4.3 価値反復方策からTD(0)-Q学習法の導出
2.4.4 完全Off-Policy のTD(0)-Q学習法
2.4.5 部分Off-Policy のTD(0)-Q学習法
2.4.6 Q学習法とSARSA法の比較

第3章 関数近似手法
3.0 はじめに
3.1 関数近似の基本概念
3.2 関数近似モデルを用いたV(St)の表現
3.3 機械学習による価値関数の回帰
3.3.1 誤差関数からわかる回帰と分類
3.3.2 誤差関数の設計と確率勾配降下法
3.3.3 強化学習における回帰解析の仕組み
3.4 モンテカルロ法を応用した価値関数回帰
3.5 Td(0)-SARSA法を適用した行動状態価値関数の回帰
3.6 Td(0)-Q法を応用した行動状態価値関数の回帰

第4章 深層強化学習の原理と手法
4.1 TD-Q学習におけるNNによる行動価値関数回帰
4.2 DQNによる行動状態価値関数近似
4.3 確率方策勾配法
4.3.1 モンテカルロ離散方策勾配法
4.3.2 ベースラインモンテカルロ離散方策勾配法
4.3.3 離散型Actor-Critic法
4.3.4 連続型Actor-Critic法
4.4 決定型方策勾配法
4.4.1 DDPG
4.4.2 ハイブリッドDDPG
4.5 TRPO/PPO法
4.5.1 EMアルゴリズム
4.5.2 信頼領域(trust region)と自然勾配
4.5.3 信頼領域方策勾配法TRPO
4.6 アルファ碁ゼロ学習法
4.6.1 アルファ碁ゼロの学習誤差関数
4.6.2 信頼領域方策勾配法
4.7 まとめと展開

参考文献・索引・奥付

 
内容サンプル
 
User Voice
強化学習の本はサットン教授の有名な教科書「強化学習」を始めとして数冊読んだが、非理系出身の身ではなかなか理解が行き届きませんでした。

要は、ベルマン方程式の意味が今ひとつ腹に落ちないためで、誰かベルマン方程式を丁寧に解説してくれないかなあ、と望んでおりました。

本書は、平均と期待値という誰でも分かるところからはじめ、ベルマン方程式にいたるまでの道筋を一つも省略することなく丁寧に解説してくれます。そして、その理解をベースに章が進んでいきます。

強化学習を学んでいると、環境、報酬、行動、行動価値、行動状態価値、方策といった多様な用語が次々に登場してきます。

おおかたの書籍では、それらの言葉が「具体的に何を意味し、それを算出することがどういう意味になるのか」に十分な説明が加えられないまま(自明のこととして)話がすすんでいきます。

本書はそれらの用語の導入タイミングが素晴らしく、新しい用語を導入するときは、必ずそれまで説明した概念の「別名」や「自然な拡張」として説明されるので、それぞれの言葉がなんの記号で表され、数式中で何を表しているか、すんなり理解ができます。

ベルマン方程式の導出なんか数式を追うだけのことで別に難しいと思わない、という人には第1章~第2章はまどろっこしくてしょうがないでしょう。しかし、数式の扱いに不慣れな人にとっては、「なぜそう展開するのか」「この記号は何を意味しているか」をくどいくらい丁寧に説明してくれるのが非常にありがたいのです。

また、強化学習で非常にポピュラーな用語、「エージェント」と「環境」という言葉が出てこないのも特筆すべき点。

「エージェント」や「環境」という言葉は、説明上の抽象概念として一見わかりやすく感じますが、その実、原理的な理解を進める上ではある種のブラックボックスとなってしまい、その具体的かつ詳細な意味がわからないまま「分かった気」になって読み進めてしまうという弊害にもなります。

この用語を排除した点が本書の素晴らしさでしょう。

最終的に理解すれば、「エージェント」とは具体的にはなにで、「環境」とは具体的に何かがおのずと分かるようになっていますので、心配いりません。

コード例も素晴らしく、フレームワークを使わず書かれているので、説明文がそのままコード化されているようなもので、解説が理解できればコードも即理解でき、説明とコードが「一対一対応」しています。

現在主流となりつつある深層強化学習は、その名の示すとおり探索に深層ニューラルネットワークを利用するものなので、強化学習の堅牢な理解と、ニューラルネットワークの理解の両方が必要になります。タイトルに「深層強化学習」が入っている書籍は、両方の理解を前提としているものが多いため、いきなりそういった書籍を読んでも、まず議論についていけないでしょう。

深層も含め強化学習を学習する方は、まず本書を読み、次にサットン著「強化学習」を読み、さらに深層学習関連の書籍という順番をおすすめします。

本書を読んでからサットン著「強化学習」を読み返すと、すらすら理解できるようになっていることに驚きます。
この本はわかりやすかったです。具体的なステップが細かくかかれていて数式書いてはい終わりといった他の一部の本より全然いいです
将来への平均とは?それを理解することが強化学習の肝ではありましょうが、わかりやすく説明されてるんでしょうか?
様々な手法を同じ例題を用いて体系的に理解しようというコンセプトはいいのですが、平均から始めたがために式の表記を何度も書き換えて煩雑になっているように感じました。
 
   
人気 71位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 72位
発売日 2013/07/01
(4.8)
Amazon 2,420円
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 73位
本書の内容
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。


プログラミングとアルゴリズムの基礎、および、Scratchの使い方を学ぶための本です。
Scratchの操作方法を身につけて自由自在に使いこなせるようになるだけでなく、頭の中で考えているアイデアをプログラムとして実現するスキル、つまり論理的な思考のスキルを身につけることを目的としています。

本書の使い方
サンプルのプログラムを作りながら、Scratchの操作とプログラミングのポイントについて学んでいきます。ただし、何も考えずにサンプルの作り方をなぞって操作するだけでは、独り立ちして自分なりのプログラムを作る力はつきません。プログラミングの仕組みを「わかる」ことが大切です。

各章の<考えてみよう>のコーナーで自分なりに見通しを立てて考えたり、や<プログラミングのポイント>のコラムをしっかりと読んで、操作の背景にある仕組みを考え、理解を深めながら学びをすすめましょう。加えて、<チャレンジ>や<ステップアップ>といった課題に取り組むことで、頭で理解するだけでなく、身につけるようにしましょう。本書の詳しい使い方や各種のコラムの内容については「序章」の「この本の使い方」をご覧ください。

早く自分だけのプログラムを作りたい! という方は、第1章から第3章までを終えると、自分なりのオリジナルなプログラムを作り始めることができるようになるでしょう。途中で一度自分のオリジナルな作品を作ってから第4章からに取り組むと、より構造化プログラミングや関数、クローンなどのありがたみがわかるでしょう。  
内容サンプル
 
User Voice
子供(小学校低学年)にプログラミングを教えるために購入。
これまで、何冊かScratchの本を買ったが、基本的なアルゴリズム(プログラムの考え方)を段階を踏んで学べる、良い本でした。漢字や内容が小学校低学年には難しいため、大人が説明しながらやる必要がありますが。
あと、意外と気づかない人が多いかもしれませんが、サンプルファイルをダウンロードするところから、指導者用の教材もダウンロードできます!
サンプルファイルはScratch3.0では作動しない(?)ので、配布が必要なら自分で作る必要がありますが、それを差し引いても、よくできた本だと思います。
アルゴリズムの基本がよく分かる書籍です。初心者用で、今後教育界で始まるプログラムミング教育に携わる学校の先生方にもお勧めですよ!
スクラッチのプログラミングに関する市販本はほとんどが初心者(小・中学校生)向けが多い中で、探していたレベルの本にやっと巡り合えました。理解できている部分は飛ばしながら進めていこうと思っています。
 
   
人気 74位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 75位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 76位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 77位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 78位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 79位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 80位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 81位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 82位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 83位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 84位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 85位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 86位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 87位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 88位
本書の内容
MITで20年にわたり教鞭を執る著者が、1、2年生を対象としたプログラミングの授業で実際に使っている教材をもとに執筆したものです。
「楽しみながらアルゴリズム的思考とプログラミングスキルを鍛える」という意図に基づき、著者が選んだ21の数学パズルを解くことを通じて、論理的な思考と柔軟な発想力を身に付けることができます。
掲載されているコードはすべてダウンロード可能。また、章末の練習問題で習熟度を確認できます。
「閃きの瞬間」が訪れたときの喜びを体感し、プログラミング本来の楽しみを知ることができる一冊です。  
内容サンプル
 
User Voice
オライリー・ジャパンの本書のページを見ていただくと分かる通り、原書は

"Programming for the Puzzled" (Srini Devadas, MIT Press 2017)

です。オライリー・ジャパンは、O'Reillyから出版されておらず、Safaribooksonlineにもない、オライリー・ジャパン・オリジナル本をときどき出版してくれます。和書の技術本を買いたくはないのですが、たまーにそのような本を買いたくなってしまうんです。("ゼロから作るDeep Learning"は和書しかありません)

まだ、ほとんど取り組んでいないのですが、雑感を列記します。

・ややこしいアルゴリズムはでてきません。(本書はMIT大のPython入門向けコースを成書したもの)
・各章の構成は、問題提示、それを解くにはどうするか、ソースの解説、改善ポイント、そのアルゴリズムの応用分野の紹介、さらに改善点を演習として。
・(WEBでよく書かれいるような)Python基礎文法が習得済みであれば、取り組めます。
・文法解説もしていますので、他の言語をやったことがある人なら、Pythonを知らなくても取り組めるでしょう。
・Python開発環境の構築方法は書いていません。(WEBで調べましょう)
・ソースはPython3系です。
・MIT Pressのページから、ソース(解答を含む)などのマテリアルをDLできます。
・そのMIT Pressのページで、講義動画を見ることもできます。1チャプターあたり30分ほどです。
・本書で取り組んだとしても、1チャプターあたり30〜60分ほどで進められるでしょう。
・DLマテリアルのPDFには問題提示、練習問題も記載されています。
・DLマテリアルのソースには、しっかりコメントが書かれています。
・本書掲載のソースは、本来のソースのピックアップです。ソース全体を見るにはDLするしかありません。
・書籍の本文は、ソースのコメントの増補版といえるでしょう。
・英語力、プログラミング素養がある人は、DLマテリアルと動画のみでも取り組めるでしょう。
・これらを知っていたら、買わなかったのに。
・オライリー・ジャパンのHPで電子書籍版(DRMフリーPDF)も売られています。PDF版は書籍版よりも安いです。

中身を見てみたいときは、原著"Programming for the Puzzled"で
・MIT Press
・Amazon.jpやAmazon.com
などで調べてみてください。

わたしはIT技術者ですが、数年来、書店のIT関連棚に行っていませんでした。WEBやオンライン洋書などで済ませているからです。久しぶりに行って、A5サイズの技術書が多くなっていて、驚きました。この「問題解決のPythonプログラミング」もA5サイズです。オライリー・ジャパンの本といえば、B5の若干小さめサイズの印象が強く、意外でした。小さくなったのは嬉しいです。でも、もっと小さく、薄くして、文庫サイズまでしてくれるとベストです。そのついでに、価格も下げていただけるともっと買います。

いまごろ、Pythonの基礎本を手にとるのも恥ずかしいかぎりです。書籍も小さいですし、「最近、コーディングしていないなぁ」という方に、こっそりリハビリとしてぴったりかもしれません。

一冊をやり通した後に、また振り返りのレビューを追記します。
良い点
・問題へのアプローチが順を追って丁寧に説明されており、理解しやすい。
・コードが初心者にも読みやすい。
・練習問題が多い。

良くない点
・PEP8に従っておらず、Pythonらしいコードではない。

競技プログラミングの勉強のために読み始めました。
これまでアルゴリズムの勉強をしたことはなく、AtCoderに数回参加して茶色になったものの、さらにランクを上げるにはある程度きちんとした勉強が必要と思い、購入しました。

蟻本や螺旋本に比べて扱う範囲や難易度は限られていますが、その分とっつきやすかったです。
アルゴリズムに関心があるならとても良い本だと思います。

ただし、Pythonのコードとしてはあまり参考にはできないと思います。
その点で、星を1つ減らしました。
本自体は良いものだと思いますが、翻訳がやばいです。プログラミングの本で「病的」なんていう単語に出会うととは思ってもみませんでした。
 
   
人気 89位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 90位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 91位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 92位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 93位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 94位
本書の内容
プログラマによる、プログラマのための思考トレーニング集。

JavaScriptを駆使して、各種パズルに挑戦しよう! 問題を解くことで、プログラミングの考え方やおもしろさが体験できます。

設問を解いていくことで、プログラミングの考え方やおもしろさを実感できる一冊。
好評を博しているリクルート運営の「CodeIQ」における著者作成問題を中心に、新規書き下ろしの設問も収録。

「ミノタウロスもびっくり! 迷路の自動生成」「自己相似な世界 フラクタルな図形を描く」等々挑戦したくなるような問題の数々&解説付きで、スキルアップ、トレーニングにも役立ちます。

目次
introduction 「コードゴルフ」と「アルゴリズム」
第1部 まずは雰囲気を知ろう
1.1 アスキーアートで円を描こう1
1.2 アスキーアートで円を描こう2

第2部 シンプルな手順をコードに変換
2.1 素数をみつける不思議な“ ふるい"
2.2 アルゴリズム 問題2 山あり谷あり最短経路を探せ

第3部 短く書くテクニックを知ろう
3.1 コードを削減するテクニック
3.2 コードゴルフ 短縮化ツール
3.3 ミノタウロスもびっくり 迷路の自動生成

第4部 同じ目的を実現する様々な手法
4.1 計算式をコンピュータに理解させよ
4.2 画像を“ びよ~ん" と拡大しよう

第5部 短いコードで複雑な世界を出力
5.1 自己相似な世界 フラクタルな図形を描く
5.2 山・平地・海 ワールドマップを生成する

第6部 限られた情報から全体を想像する
6.1 燃料を節約して未知の地形を踏破せよ
6.2 暗黒惑星での戦い 敵を索敵して撃滅せよ

第7部 問題を作ってみよう  
内容サンプル
 
User Voice
最初の問題、85文字で終わってますが少なくとも80文字までは縮まります
r="";for(x=y=h=48;y+h;r+=x--+h?(d<4)+(d<1):(x=h,y-=2,"\n"))d=x*x+y*y>>8;return r
おそらくガチの人がやればもっと縮むと思います
本気の最小コードが見たかったです
 
   
人気 95位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 96位
本書の内容
 
内容サンプル
 
User Voice
リバーシ(オセロ)はルールが単純で、千日手・GHI問題がなく、プログラミングの勉強にはよいテーマと思われる。しかし、いまだに答えが出ていないというのは本当か。ルールの実装から、高速化のテクニック、局面の評価手法の数々を網羅し、導入本としては優秀である。
リバーシのプログラムを作ろうとは思ったものの,とりあえず何からとっかかればいいかわからないと思ったらこの本の購入を検討してみるといいと思います.
ネットで信憑性があるか否かを吟味しながら情報を漁るのもいいですが,初めのうちは手元に情報がまとまった参考書があるとスムーズにプログラムの作成に取り組めるのでお勧めです.プログラミングがある程度できることが前提ですが.
学校の教材に指定されたので購入しました。安く購入できて満足です。
 
   
人気 97位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 98位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 99位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 100位
本書の内容
 
内容サンプル
 
User Voice
 
   

アルゴリズム 新書一覧

本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
※この商品は固定レイアウトで作成されており、タブレットなど大きいディスプレイを備えた端末で読むことに適しています。
また、文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。
お使いの端末で無料サンプルをお試しいただいた上でのご購入をお願いいたします。


本書はPythonというプログラミング言語を用いて、ゲームを制作しながらアルゴリズムを学ぶ入門書です。
Pythonはソフトウェア開発や学術研究の分野で広く用いられるようになり、企業や教育機関で使われる主要なプログラミング言語の1つになりました。
また基本情報技術者試験にPythonが加わるなど、情報処理を学ぶ人たちにとっても触れる機会の多い言語になっています。
Pythonの人気が高まったのは、

・記述の仕方がシンプルで、他のプログラミング言語より短い行数でプログラムを組める
・記述したプログラムを即座に実行でき、開発効率に優れている
・ライブラリが豊富で、それらの多くが使いやすい

などの理由からです。

Pythonはプログラミング言語の中で特に学びやすく、誰もが習得できる言語であることも、広く普及した理由として挙げられるでしょう。
本書はアルゴリズムの学習に力を入れています。初学者が理解できるようにプログラミングの基礎からスタートし、やさしいアルゴリズムから段階を踏んで高度な内容を学ぶ構成になっていますので、どなたにも安心して手に取っていただけます。
ここで言うアルゴリズムとは、問題を解決するための手順や手法のことです。アルゴリズムを学ぶとさまざまな問題を解決する力が伸びるといわれており、しばらく前からアルゴリズムを学ぶ大切さが、色々なところで説かれるようになりました。
アルゴリズムと聞くと難しそうと考えてしまう方もいるかもしれませんが、心配は無用です。本書はゲームを制作していく過程で色々なアルゴリズムを習得できるようになっています。
みなさん、ゲームを作りながら、プログラミングとアルゴリズムを楽しく学んでいきましょう!

(本書「まえがき」より)  
内容サンプル
 
User Voice
Pythonを使ったゲームアルゴリズム本。カラー刷り。

Pythonをインストールし、VisualStudioCodeを使います。
ブラウザゲームではなくtkinterを使ったデスクトップで動くGUIアプリ。

最初にPythonの基礎を学習したあとミニゲームづくりに入っていきますが、ちょっとずつ作っていくのではなく、すでに著者が完成させたプログラムの掲載があり、その中身を解説していくスタイル。
書いてあるとおりやれば完成というタイプではないですが、アルゴリズムの学習がメインなのでこれでいいと思います。

サンプルファイルがダウンロード可能で、すぐに動かすことが出来るのもいいです。
ちなみに本書サンプルファイルの神経衰弱は不自然に強く、リバーシは序盤に打ってはいけないところに打ったりと弱め。エアホッケーもまだまだ改善の余地があります。

ゲームとして実際に動く中身がどうなっているのか見えますし、実装の仕方がわかっていいです。
Pythonの教科書。
似たような本が多いですが、こちらはプログラムのアルゴリズムを学ぶのがメイン。

Pythonのインストールから始まり、神経衰弱やリバーシ(オセロ)を作りながら学びます。

コードの右側に、そのコード内容の解説があるですが、ほとんどのコードの内容が書いてあるのは珍しい。
これだけでも、そこらには無い丁寧な教科書という印象。

一冊しっかり勉強するだけでも、しっかりプログラミングの作り方を学べると思います。
中学2年の息子が楽しくPythonを学べています。
息子のプログラミング歴は1年間。これまでに学んできた言語はC++で競技プログラミングに
挑戦しています。新しい言語の習得としてPythonを選びました。

この本は初心者から中級者までしっかりカバーしている良本とのこと。

本選びにうるさい息子が言っているので間違いないです。悩んでいる方におすすめです。
 
   
本書の内容
エンジニアの基礎体力を身につける

本書はPythonを用い、ITエンジニアが身につけておくべき王道のアルゴリズムを手を動かしながら学べる入門書です。

教育機関で16年教鞭をとり、公式アプリ2000万DL超の開発実績を持つ廣瀬豪氏が、教育者・プログラマーとしての経験を生かし、データ構造とアルゴリズムの学習が「一生モノの財産になる」という視点で解説します。スタック、キュー、リスト、木、グラフなどデータ構造の基本から、サーチ、ソート、ハッシュといった王道アルゴリズムを厳選しつつ、ユークリッドの互除法、文字列探索、最短経路問題、フラクタル図形の描画、マンデルブロー集合などワンランク上の知識・技術まで網羅します。

サンプルプログラムは手入力しやすい短めのコードを108個用意し、すべての行に1行ずつコメントを付けて読解しやすいように工夫しています。また、ゲームクリエイターという肩書を持つ著者ならではの教材として、「アルゴリズムの可視化」という類書にはない楽しい要素を盛り込んでいる点もポイントです。

資格試験、就職試験に挑む方、大学や専門学校で情報処理を学ぶ方など、プログラミングの力を伸ばしたいすべての方におすすめです。  
内容サンプル
 
User Voice
Pythonで基本的なアルゴリズムとデータ構造を説明する書籍です。プログラム一行ごとにその説明をしている為、非常に分かりやすかったです。今まで読んできた初心者向けのアルゴリズムの本で一番親切だと思いました。
書籍の紙が柔らかいので、開きながらプログラミングしやすい点も良いです。
「教科書」というタイトルと、「108のサンプル」という記載から、網羅性のある本かと思ったらエンジニアであれば知ってるよ!という内容のみでがっかり。本当に入門から学びたい人には良いと思う。ただ、タイトルが誤解を招いている。購入にはご注意を。
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
これからのIT人材必修の「アルゴリズム実技検定」初の公式テキスト登場!

■アルゴリズム実技検定(PAST)とは
アルゴリズム実技検定(PAST)とは、IT人材のプログラミングスキルを可視化することを目的としたAtCoder株式会社が主催する検定試験です。

■アルゴリズム実技検定の中級認定まで対応
本書は、「エントリー」「初級」「中級」の出題範囲を網羅的に解説しています。
プログラミングの基礎知識から、各種アルゴリズムの解説、数学的な問題解決方法まで、アルゴリズム実技検定だけでなく、これからのソフトウェアエンジニアに要求される知識を丁寧に盛り込みました。
本書を通じて学習することで、「中級」に求められる「様々なアプローチがある課題において、適切なアルゴリズムを選択し、高速なプログラムを作成」できることを目指しましょう。

■本書の特徴
□特徴1:はじめての挑戦でもこの1冊で準備できます!
はじめてのプログラミング、はじめての検定試験でも安心して挑戦できます。
・問題の解き方から回答方法まで丁寧に解説
・中級範囲に出題されるアルゴリズム(問題解決方法)も細かく図解
・Pythonの特徴から基本文法、標準入出力も例を交えて丁寧に説明

□特徴2:実際の問題を解きながら学べます!
アルゴリズム実技検定で求められる知識を問題に取り組みながら得られます。
・はじめての挑戦でもつまずかないように、概念図を豊富に掲載
・はじめてではわかりづらい、問題文の読み解き方も丁寧に解説
・過去にAtCoderやアルゴリズム実技検定で出題された問題を抜粋して解説

□特徴3:プログラマーに求められる知識も身につきます!
問題を解決するだけではなく、高速なプログラムの作成方法も学習できます。
・課題に合わせて、適切なアルゴリズムの選択方法を解説
・複数のアプローチがありえる問題では回答パターンを紹介
・計算量を考えてプログラムを書き換える方法も丁寧に説明

■本書の構成
第1章 アルゴリズム実技検定の挑戦にあたって
第2章 問題の解き方
第3章 アルゴリズムとコーディング
第4章 Pythonを使ったプログラミング[エントリー編]
第5章 基礎的なアルゴリズム[初級編]
第6章 応用的なアルゴリズム[中級編]
第7章 さらなる得点を狙うために  
内容サンプル
 
User Voice
 はじめに
 情報技術自体に関する資格で有名なものとして、IPAの基本情報技術者試験や応用情報技術者試験などがあげられると思います。これらには、公式のテキストというものがありません。アルゴリズム実技検定は、公式にテキストを出し技術習得までの道筋を明確にしたという点で優れていると考えます。

 内容について
 プログラミング言語Pythonの基礎から、アルゴリズム実技検定の過去問まで扱っている点は、この本から本格的にプログラミングを始める方でも安心できる要素となっていると思います。またこの本を通して自然に、問題文を読み、整理する。入力を受けとる。解法を考える。考察の漏れがないか再考する。という共通的に使える取り組み方のメソッドが身につく点も良いと感じました。

 私見として
 タイトルに偽りなく”エントリー~中級”向けであると思いました。既に複数回AtCoderのコンテストに参加されている方は、すこし内容が物足りなく感じるかもしれません。しかし、PAST自体が定期的にコンテスト参加されるのが難しい方のレーティングの評価を行うという目的で作られたと聞きます。テキストの内容が物足りないと思った方は、自分はこのテキストの範囲は既に習得している。自分は出来る人間なんだとポジティブに考えられたらいかがでしょうか。私も実は少し物足りなかったです。
この本を読んで競プロを始めてみました。半分しか読んでいませんが、熟読して少しずつ読み進めています。
ただ初心者の小生にはB問題が既に難問なのでA~B問題のみの初心者用の解説本があれば嬉しいです。競プロを始めても結構挫折する人がいるとどこかのサイトに書いてあったので。競技人口を増やすにはいかに挫折する人を少なくするかが大切かと。
社内でも、競プロ人口が増えつつあり、自分も参加したいと思っていたところ、
友人から本書を教えてもらいました。
自分のような初心者でも分かるように丁寧に書いており、競プロ導入書としてお勧めです。
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
ウェブサービスの開発に携わるかぎり、ユーザにより良い体験を提供することは無視できない命題です。本書は、ウェブサービスを成長させることを目的に、ユーザの行動を定量的に評価し、改善する手法を学ぶ書籍です。
シンプルなA/B テストを第一歩に、線形モデルの導入、メタヒューリスティクス、バンディットアルゴリズム、ベイズ最適化と、機械学習の知識を紹介しながら、ウェブサイトを最適化するという現実的な問題を解くための数理的な手法を解説します。
Pythonによるサンプルコードと、グラフィカルな図版で表現された数学的なモデルを組み合わせ、機械学習と統計学の基礎を丁寧に解説しています。
ウェブ最適化の手法を学びたい、機械学習の基礎を知りたい読者に最適の1冊です。  
内容サンプル
 
User Voice
かなりよい。
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
※このKindle本はプリント・レプリカ形式で、Kindle Paperwhiteなどの電子書籍 リーダーおよびKindle Cloud Readerではご利用いただけません。Fireなどの大 きいディスプレイを備えたタブレット端末や、Kindle無料アプリ (Kindle for iOS、Kindle for Android、Kindle for PC、Kindle for Mac) でのみご利用可能 です。また、文字列のハイライト、検索、辞書の参照、引用については、一部機 能しない場合があります。文字だけを拡大することはできません。※プリント・レプリカ形式は見開き表示ができません。

※この電子書籍は紙版書籍のページデザインで制作した固定レイアウトです。

これから必ずくる量子コンピューティングの時代に備えるためのバイブル
本書は、IT分野のプログラマやエンジニアを主な読者対象として、その方々にとって特に重要な量子コンピューティングの基礎をわかりやすく解説した書籍です。
量子コンピュータについては、多くの人がクラウド越しで実物に触れられるようになった今でも、物理の専門書から学ぶか、チュートリアルやハンズオンのウェブ記事を読んで勉強するかしかありません。これから量子の力をフル活用できる人や、量子情報の考え方を利用してコンピュータサイエンスをよくしていく人材が必要になるというのに、入門書と専門書の間には大きな隔たりがあります。
本書はこれから必ずくる量子コンピュータの時代で活躍されるであろうIT分野のプログラマやエンジニアの皆様にとって、特に知っておくべき概念をできる限り網羅しています。量子コンピュータの背景、その原理や応用についても高校数学で学んだ内容を起点に数式も示しつつ、しっかりと解説しています。

第1章 なぜ量子コンピュータ?
1.1 とても難しい問題を高速に解く
1.2 ポストムーア時代
1.3 量子コンピュータの歴史
1.4 今の量子コンピュータで何ができる?

第2章 量子コンピュータの基本
2.1 量子ビットとは?
2.2 量子ゲートで計算する
2.3 量子回路を書いてみよう
2.4 コピーとテレポーテーション
2.5 補助量子ビットと逆演算
2.6 量子コンピュータにデータを入力する
2.7 量子コンピュータのデータ前処理
2.8 もっと一般の量子状態を扱うには…

第3章 量子計算の基本パッケージ
3.1 量子計算の基本戦略
3.2 行列の固有値推定(アダマールテスト)
3.3 内積の計算(スワップテスト)
3.4 位相を上手に使う
3.5 振幅を上手に使う
3.6 量子力学をシミュレーションする
3.7 データ行列を扱う

第4章 量子アルゴリズム
4.1 素因数分解(ショアのアルゴリズム)
4.2 量子化学計算
4.3 探索と最適化
4.4 量子コンピュータと機械学習
4.5 計算複雑性理論と量子アルゴリズム
4.6 歩行安定化制御の理論
4.7 さまざまな2足動歩行実現法

第5章 NISQ量子アルゴリズム
5.1 エネルギー最小化問題として解く
5.2 時間発展シミュレーションをバイパスする
5.3 パラメータつき量子回路による機械学習

第6章 量子コンピュータのエラー訂正
6.1 符号化と論理ビット
6.2 パリティチェックでエラーを見つける
6.3 ビット・位相反転の両方に対応する(Shor の符号)
6.4 量子誤り訂正符号の標準的な作り方
6.5 トポロジカル符号は奇妙なアイディア?
6.6 論理ゲート操作を作ろう

第7章 量子コンピュータのプログラミング
7.1 抽象化レイヤで整理する
7.2 古典に学ぶ量子プログラミング
7.3 量子プログラミング言語
7.4 量子コンパイラ
7.5 量子ソフトウェア開発基盤
7.6 論理ゲート操作を作ろう

第8章 量子コンピュータのアーキテクチャ
8.1 量子コンピュータ実現技術が満たすべき基準
8.2 量子ビット・量子ゲートを実現する技術
8.3 マイクロアーキテクチャ
8.4 大規模システムの構築に向けて
8.5 量子ソフトウェア開発基盤
8.6 論理ゲート操作を作ろう

第9章 量子コンピューティングでひらく未来
9.1 今後の技術発展をウォッチする
9.2 量子コンピュータサイエンス!?
9.3 量子コンピュータ実現までのマイルストーン
9.4 量子インターネット
9.5 量子前提社会に向けて  
内容サンプル
 
User Voice
まだ読み始めてまもないのですが、
必要な知識を一つずつ、そこそこ丁寧に取り上げている感じがします。

当たり前のことかもしれませんが、この本の中で新しく出てくる概念・用語はわかりやすく太字で書かれてたりと、細かなところに気遣いされている様に感じます。

もっとも、ど素人の私にはそれでも難しい内容ではありますが、この本をベースにわからないことを調べていこう。と思わせてくれました。
理論から動向までの基礎が文字だけでなく、数式でもきちんと解説されています。大学3年生くらいのレベルでこれから本格的に量子コンピュータを始めてみたい人が読む最適な本だと思います。
一つ一つのトピックが2-3ページでさわりだけまとめて紹介されています。
広く浅くわかった気になるので興味があれば元論文を読む感じで勉強できます。
VQEはもちろん2019年くらいまでのかなり最先端なアルゴリズムや流行もしっかり押さえられていて実用的な本だと思います。
ただ間違った記述や式も散見されます(例えばハートリーフォック以外の一般的なハミルトニアンが波動関数に依存し非線形になるなど)。
回路を載せず数式と言葉で説明されているアルゴリズムもあるのでそこは少し分かりにくい。
 
   
発売日 2020/10/11
Kindle 936円
本書の内容
 
内容サンプル
 
User Voice
 
   
発売日 2020/10/10
Kindle 936円
本書の内容
 
内容サンプル
 
User Voice
 
   
発売日 2020/10/07
Kindle 936円
本書の内容
 
内容サンプル
 
User Voice
 
   
発売日 2020/10/05
Kindle 936円
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
★この本を買わずして何を買う!!★

競技プログラミング経験が豊富な著者が、「アルゴリズムを自分の道具としたい」という読者に向けて執筆。入門書を標榜しながら、AtCoderの例題、C++のコードが充実。入門書であり実践書でもある、生涯役立つテキストを目指した。

【推薦の言葉】
プログラムが「書ける」ことと、効率の良い結果を得ることには大分ギャップがある。本書は、どのようにすれば効率のよい結果が得られるか? すなわちどのようなアルゴリズムを採用すればよいか? という点に対して、幅広くかつ明快に解説している。
また本書は、アルゴリズム初心者に対して、アルゴリズムへの興味を惹かれるように記述されている。アルゴリズム上級者への初めの一歩には最適であろう。
――河原林健一(国立情報学研究所副所長)

【全体を通して、アルゴリズムの設計技法を重視した構成】
まず、1、2章でアルゴリズムと計算量について概観します。そして、3~7章が、早くも本書のメインパートといえる部分であり、「アルゴリズムの設計技法」について詳しく解説します。これらの設計技法に関する話題は、多くの書籍では、最後の方で簡単に説明しています。しかし本書は、現実世界の問題を解決するための実践的なアルゴリズム設計技法の鍛錬を目指しています。そこで、アルゴリズム設計技法について前半で詳しく解説する構成としました。そして、これらの設計技法が後半の章でも随所に使われていくことを示していきます。

その後、8~11章では、設計したアルゴリズムを効果的に実現するうえで重要となるデータ構造を解説します。データ構造について学ぶことで、アルゴリズムの計算量を改善したり、また、C++やPythonなどで提供されている標準ライブラリの仕組みを理解して、それらを有効に活用したりすることができるようになります。

そしていったん、12章でソートアルゴリズムについての話題を挟んだ後に、13~16章でグラフアルゴリズムについて解説します。グラフは、非常に強力な数理科学的ツールです。多くの問題は、グラフに関する問題として定式化することで、見通しよく扱うことができるようになります。また、グラフアルゴリズムを設計するとき、3~7章で学ぶ設計技法や、8~11章で学ぶデータ構造が随所で活躍します。

最後に、17章で PとNPに関する話題を解説し、世の中には「効率的に解くアルゴリズムを設計することができそうにない難問」が多数あることを見ます。18章で、これらの難問に取り組むための方法論をまとめます。ここでも、動的計画法 (5章) や貪欲法 (7章) といった設計技法が活躍します。  
内容サンプル
 
User Voice
今後の教科書はこの本しかないと言えるぐらい素晴らしい本でした。
レベルの高い前提知識を必要としないのに、高度な内容も容易に理解できる文章でした。
また、アルゴリズムやデータ構造をイメージして理解できるように図も大量に使われており、理解に迷うことも無いと思いました。
紹介に留まらず、擬似コードではない本物のコードが書かれているのも現代的な本だと思います。

プログラミングコンテストチャレンジブックやCoding Interviewの本を読む前にも最適な1冊だと思いました。
すごくオススメです ?( ' ꒳ `?)
競プロerのバイブルとされる「蟻本」は網羅性の高い名著ですが、初心者にはなかなかとっかかりづらいものでした。

本書は中学数学と最低限のC++の知識(AtCoder Programming Guide for beginnersで数日で身につくものです)があれば読み進めることができ、アルゴリズムの基礎を体系的に身につけることができるようになっています。

想定読者は入門者〜緑くらいでしょうか?しかしそれ以上のレートの方にも、アルゴリズムの設計技法に重きを置いた説明は多いに参考になると思います。
カラーが効果的に使われていて非常に読みやすくページが構築されている。加えて章末問題も用意されており、高校の参考書のようにシンプルな作りとなっている。競技プログラミングは大学生や高校生といった若い層が多くを占めると言われているが、彼らにとっても親しみやすいレイアウトの本であると言えるだろう。
あらゆるアルゴリズムが競技プログラミングを志向して解説されている。説明はとても分かりやすいが、それと同時に「大切な点」も省かれずにしっかりと網羅されている印象を受けた。
 
   
発売日 2020/09/26
Kindle 0円
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
発売日 2020/09/06
Kindle 936円
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
独自のシミュレータQCEngineを使ってJavaScriptで書かれたサンプルプログラムをブラウザ上で動かし、量子コンピュータでのプログラミングに必要な知識やスキルを学ぶことができます。
量子コンピューティングの基礎とその可能性に関する直感的理解が容易になるよう、豊富な例と図を用いて説明します。
前半では、単一キュビットに対する基本的な量子演算、多重キュビット演算、複合演算(量子プリミティブ)、基本的な量子アプリケーション、後半では、探索問題、画像処理、暗号問題、機械学習への応用について解説しており、本書だけで基礎から実践的な応用技術までを一気に習得できます。
これから学習を始める技術者、研究者を中心に、新しい研究分野やビジネスで量子コンピュータを利用したいと考える方がプログラミングの「感覚」を養うのに役立つ、ユニークなガイドブックです。  
内容サンプル
 
User Voice
内容としては充実しており、勉強になった。
特にシミュレーションを手元で試せるので、色々と実験しては理解を深めるのに役立った。
大学で数学や物理を専攻している人にとっては、多少、厳密性に欠けた議論や言い回しに引っかかるだろうが。(これはこの本の読者のターゲット設定から仕方ない点ではある。)

しかし、タイトルの通り、日本語訳が非常に読みにくい。

NielsenのQuantum Computation and Quantum Information等のより数学的な内容に入る前段階にこれを読めば、数学的な理解はまだ無いが大筋は事前に理解できるので、大いに役立つと思う。
 
   
本書の内容
データ構造とアルゴリズムGoの実践、トピック自体は複雑ですが、読みやすく理解しやすいように設計されています。アルゴリズムは、ソフトウェアプログラムがデータ構造を操作するために使用する手順です。明確で単純なサンプルプログラムに加えて、プログラムは、データ構造がどのように見え、どのように動作するかをグラフィック形式で示します。基本的なつのデータ構造をすべてイラストで解説,誌面がフルカラーなので、図の「動き」がわかりやすい,あなたはそれを簡単に、速く、うまく学びます。  
内容サンプル
 
User Voice
 
   
本書の内容
データ構造とアルゴリズムC++の実践、トピック自体は複雑ですが、読みやすく理解しやすいように設計されています。アルゴリズムは、ソフトウェアプログラムがデータ構造を操作するために使用する手順です。明確で単純なサンプルプログラムに加えて、プログラムは、データ構造がどのように見え、どのように動作するかをグラフィック形式で示します。基本的なつのデータ構造をすべてイラストで解説,誌面がフルカラーなので、図の「動き」がわかりやすい,あなたはそれを簡単に、速く、うまく学びます。  
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
(概要)

機械学習はAI(人工知能)の基礎技術です。今後AIの利活用が進むにつれて、機械学習をコンピュータシステムに組み込んでビジネスに活用できる人材(本書ではAIエンジニアと呼称します)がますます求められます。

機械学習には目的に応じたいくつかの手法が存在します。それらの手法を正しく使えるようになるために、本書はAIエンジニアが理解しておきたいレベルの深さで、各手法のアルゴリズム(動作原理)を丁寧に解説します。とくにアルゴリズムの目的や意味を理解できることをめざします。(アルゴリズムの背景にある高度な数学・統計学の理論についての説明は必要最小限にとどめ、)まずはプログラムを書いて動かし、その結果を見ながらアルゴリズムの長所・短所や、性能をチューニングするためのコツを学びます。

機械学習プログラムの作成には、プログラミング言語「Python」と機械学習ライブラリ「scikit-learn」を使用します。作成したプログラムは、クラウドサービス「Google Colaboratory」や手元のパソコンに構築する「Jupyter Notebook」の環境で簡単に動かせます。


(こんな方におすすめ)

・機械学習・AI(人工知能)技術を学ぶエンジニアや学生

・これから機械学習システムの開発に携わる人


(目次)

第1章 機械学習の概要と本書の進め方

  1.1 本章の目的と概要

  1.2 機械学習の概要と3つの分類

  1.3 機械学習の各手法の動作原理(アルゴリズム)を学ぶ意義

  1.4 機械学習の勉強方法

  1.5 本書で使用するライブラリと実行環境

第2章 実装しながら学ぶアルゴリズムのこころ・教師あり学習編

  2.1 本章の目的と概要

  2.2 最小二乗法による線形回帰

  2.3 L1正則化、L2正則化による過学習の抑制

  2.4 ロジスティック回帰によるクラス分類

  2.5 SVCによるクラス分類

  2.6 決定木によるクラス分類

  2.7 ランダムフォレストによるクラス分類

  2.8 Naive Bayesによるテキストデータの分類

第3章 実装しながら学ぶアルゴリズムのこころ・教師なし学習編

  3.1 本章の目的と概要

  3.2 主成分分析による次元圧縮

  3.3 k-meansによるクラスタリングとデータ前処理

  3.4 ガウス混合モデル(GMM)によるクラスタリング

第4章 実装しながら学ぶアルゴリズムのこころ・発展編

  4.1 本章の目的と概要

  4.2 勾配ブースティング決定木によるクラス分類

  4.3 エルボー法とシルエット分析による

  4.4 t-SNEによる次元圧縮(多様体学習)

  4.5 異常検知(Novelty Detection、Outlier Detection)

第5章 機械学習システムの構築フローとモデルの性能評価

  5.1 本章の目的と概要

  5.2 ビジネス理解

  5.3 データ加工

  5.4 モデリング

  5.5 デプロイと運用

付録

  A.1 Google Colaboratoryの利用方法

  A.2 ローカルPCに機械学習の実装・実行環境を整える方法
 
内容サンプル
 
User Voice
IT業界でエンジニアをしている方にはちょうど良い難しさ。
一般入門書より詳しく、専門技術書より易しい。
実プロジェクトへ適用する場合の概要も記載されており、イメージを付けるのにはもってこい。
執筆者方からのこれから学ぶ者達への期待が感じられました。
初心者の方は勿論、今一度基本に戻りたい方にも良いかと思います。
入門書として必要なことはしっかりと書かれています。
各章の構成も一貫しているので、読み進めるごとに「反復の安心感」みたいなのが出てきます。
逆に、何かを調べたくてこの本に戻ると、本当に基本的なことしか書いていないので、是非とも今後の発展編、応用編の執筆を期待したいです。
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容

プログラミングとロジカルシンキングは同時にマスターできる

プログラミングとロジカルシンキングの類似性を理解することで、
一石二鳥でプログラミングを通してロジカルシンキングが簡単に身に付けられます。

●プログラミングとロジカルシンキングの類似性

プログラミングは最適な手順を作り、自分の意図した通りシステムを動かせること。
ロジカルシンキングは目的を達成するために物事の筋道を考えて、計画的に実行することと、両者の親和性は強いです。
論理的思考は、「なぜそうなるのか」→「どうしたらできるのか」→「どうやってやるのか」→
「実施」→「結果どうだったか」というプロセスをたどりますが、
プログラミングもこの流れで動いていきます。

●プログラミングを通してロジカルシンキングが簡単に身に付けられる

たった1つのポイントがわかればプログラミングは簡単に取り組むことができます。
それは、「機械(パソコン)にもわかるような言葉で命令する」ことです。
その際、「誰が聞いても意味を取り違えない」表現にする必要があります。
なぜならば、パソコンは相手の意向を忖度してくれないからです。
この、「誰が聞いても意味を取り違えない」表現こそがロジカルシンキングです。
これを身に付けることで、日常の人間同士のコミュニケーションもよくすることができます。
本書では、こうしたプログラミングとロジカルシンキングの類似性を理解することで、
一石二鳥でプログラミングを通してロジカルシンキングが簡単に身に付けられます。

※本電子書籍は同名出版物を底本として作成しました。記載内容は印刷出版当時のものです。
※印刷出版再現のため電子書籍としては不要な情報を含んでいる場合があります。
※印刷出版とは異なる表記・表現の場合があります。予めご了承ください。
※プレビューにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください。

 
内容サンプル
 
User Voice
プログラミングとロジカルシンキングという、今のビジネスマンに汎用的に求められている基本スキルを関連させて解説した良書。
プログラムは「ロジック」がしっかりしていないと動かないし、ロジカルシンキングは展開する論の「ロジック」をしっかりさせる考え方なので、言われてみれば確かに共通点があるように思いました。
ただ、共通点があるから、同時に説明できるか?というとそれは別物であって、実現するのはなかなか難しいと思いますが、本書では易しい例を用いながらその二つを説明することに成功しているように思いました。特にプログラミングはそれだけで別の厚い本が1冊できてしまうほど幅広い分野ですが、本書ではエクセルの関数とマクロを「プログラム」として利用することで、プログラムが持つ特有のとっつきにくさを解消しています。
ただ、「専門書」ではないので、本書で興味を持った読者が「プログラミング」、「ロジカルシンキング」をもっと深く学びたくなった場合にはそれぞれ専門的な書籍で学ぶ必要があるとは思います。むしろ本書はともすると避けがちなそれらの分野に興味を持たせるきっかけとして価値を発揮するように思います。
頭で分かっているものの行動できていないような痛いところを突いてくる本。この本で自分の振り返りや後輩への指導内容を整理するのもいいけれど、手っ取り早いのはこの本を相手にプレゼントすることだと感じた。初心者にも読みやすいけれどレベルが低いわけではない良書です。
自分の行動を自動化するという切り口は、論理思考の感覚を持つきっかけとしてよいと思います。部下が読んでいるので、効果が楽しみです。
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
「デジタルはすでに『哲学』の一領域です。本書でぜひ『リベラルアーツ』としてのデジタルを学んでください」
山口 周氏推薦!

本書は、「ぼくたちがもっと自由に生きるにはどうすべきか」を考え抜くために書かれました。

かつて自由とは、所属する国家との関係性によって得られるものでした。
しかし、GAFAの権力が社会保障からベーシックインカムまでを担うかという、前代未聞の時代が来ようとしています。
そこでぼくたちの人生は、アルゴリズムに支配されるのか? それをもっと自由に生きるための「武器」にできるのか?


人類が直面するこの難問の答えは、「アルゴリズム フェアネス」という言葉のなかにあります。


本書で尾原氏は、AIがもたらす圧倒的に自由な世界を描きつつ、仮想通貨リブラ、GDPR、信用スコアなど最先端の潮流、そして「分散」に向かうインターネットの本質も踏まえ、そこでぼくたちの自由を増やすにはどうするか? そのために何ができるか? ということを、「アルゴリズム フェアネス」という言葉を補助線に読み解いていきます。

iモード、リクルート、楽天執行役員として日本のブラットフォームを、グーグルで世界のアルゴリズムを知り尽くした人間だからこそ書けた、渾身の一作。
断片的な情報と情報とがつながり、読後には目の前の世界がまったく違って見えてくる、まさに「『リベラルアーツ』としてのデジタル」の誕生です。 

【目次】
序章 「アルゴリズム フェアネス」とは何か
第1章 AIが生み出すワクワクする新世界
第2章 国家を超えるプラットフォームの権力
第3章 「国というアルゴリズム」が選べる時代
第4章 ブロックチェーンと究極のフェアネス
第5章 自由を増やす「ハンマー」を手にしよう  
内容サンプル
 
User Voice
人間は揺れ動く存在である。そしてそれを揺れ動かす要因は様々な「行動を促す働きかけ」。その働きかけとはどんなものであったのか、過去の歴史や国家情勢の中から、幅広く事例を紹介しつつ、今とこれからの人間の行く末を概観している(ちなみに、現代において特筆すべき「働きかけ」こそがアルゴリズムであるという主張)。
人間は、その歴史の中で、徐々に自由の幅を広げながら困難にも対処してきた…という理解のもと、今がどんな時代でどんなリスクがあるのかを(危機感を煽らないように配慮しながら慎重に)提示しつつ、今、どう振る舞うことで未来を良きものにできるのかを述べている。

人間は、今、歴史上最高に自由な状態であるが、その左右を実現しているのがICTの力であり、またコンピューティングパワーが実現したアルゴリズムの力である。
そしてその自由をどう使っていくのか。自由の裏側にある責任を理解し、アルゴリズムの暴走を抑えつつ、さらなる良き世界の実現をめざすべきことを、膨大なリベラルアーツ的知識を下敷きに、最新のサービスや事例もふんだんにちりばめながら啓蒙した書。
誰でも簡単に読めるが、こうした業界に近しい人であればあるほどハマると思う。
何度でも読み返したい気持ちになる不思議な魅力に溢れた力作。
尾原さんの本はいつも最後まで学びがあります。
優れた方々の本には難解な表現が多いですが、さらに一段掘り下げて説明してくれます。
毎回の著書でホスピタリティを本で感じています。
この本はフェアネス、公平について書かれていますが、自分の中のフェアネスの概念も一段アップデートできたと思えます。
個人的に尾原さんの著作の中でベストな内容でした。
現在私たち(日本に留まらず)を囲むテクノロジーがどのようなアルゴリズムで産まれ、今後どのように進んでいくのかを考えさせられる名著です。
 
   
本書の内容
時代が変わっても
変わらないアルゴリズムから考え方を学ぼう


本書は、初心者にも扱いやすいプログラミング言語「Python」を使用して、
アルゴリズムの基礎・考え方を学ぶ入門書です。特にPythonがはじめてという方の
ために、第1章ではPythonの基本とデータ構造について解説しています。

本書では、プログラミング入門者が最低限知っておきたいアルゴリズムの
基礎と考え方に加えて、アルゴリズムの定石とその計算量について、具体的
なサンプルコードと動作イメージを交えて丁寧に解説していきます。

【こんな方におすすめ】
・アルゴリズムをゼロから学びたい
・Pythonでプログラミングを学んでいるけれど何から手をつけていいのかわからない
・過去にアルゴリズムを学ぼうと思ったけれどPythonの資料が少なかった
・基本情報技術者試験でPythonが取り入れられるので勉強したい

【本書の特徴】
・Pythonの基本とアルゴリズムの基礎を一冊で学べる
・具体的なサンプルコードと動作イメージ(フローチャート)を交えて解説
・自分で書いて実行して動作を試しながら学習できる
・アルゴリズムの使い方や考え方だけでなく、アルゴリズムの計算量について
の理解も深まる

【扱うアルゴリズム】
FizzBuzz|フィボナッチ数列|線形探索|二分探索|幅優先探索|
深さ優先探索|番兵|8クイーン問題|n-クイーン問題|ハノイの塔|
ミニマックス法|選択ソート|挿入ソート|バブルソート|ヒープソート|
マージソート|クイックソート|最短経路問題|ベルマン・フォード法|
ダイクストラ法|A*アルゴリズム|文字列探索の力任せ法|Boyer-Moore法|
逆ポーランド記法|ユークリッドの互除法

【章構成】
■第1章 Pythonの基本とデータ構造を知る
■第2章 基本的なプログラムを作ってみる
■第3章 計算量について学ぶ
■第4章 いろいろな探索方法を学ぶ
■第5章 データの並べ替えにかかる時間を比べる
■第6章 実務に役立つアルゴリズムを知る
■Appendix Pythonのインストール

 
内容サンプル
 
User Voice
40代のプログラマーです。
ここ何年かはデータ分析のシステムの開発、運用に携わってきました。

本書は、初心者向けのプログラミング入門+アルゴリズム入門という内容の本です。

本書であつかっているのは、実際、
大学のコンピュータサイエンスのアルゴリズムの授業で
あつかうような内容なのですが、そこは、興味が持てるように、
重くなりすぎないように、入門を意識して書いてある印象です。

目次を見ると、以下のような内容になっています。

第1章 Pythonの基本とデータ構造を知る
第2章 基本的なプログラムを作ってみる
第3章 計算量について学ぶ
第4章 いろいろな探索方法を学ぶ
第5章 データの並べ替えにかかる時間を比べる
第6章 実務に役立つアルゴリズムを知る

1, 2章で、Pythonの文法と小さいプログラムのつくりかたを学びます。
これで、全体のページ数の1/3ぐらいあります。
内容的にも、Pythonやプログラミングの入門者向けです。

3,4,5,6章でいわゆるデータ構造とアルゴリズムについて学びます。
題材の選択や難易度が、浅すぎず、深すぎず、かんたんすぎず、むずかしすぎず、
バランスのとれた内容になっていると思います。
第6章 実務に役立つアルゴリズムを知る
あたりは、初心者には、むずかしいかもしれませんが、
文字列の検索は、プログラミング言語のAPIとして使ったことがある人も多いでしょうし、
最短経路問題は、こっち方面に興味をもてたひとには、おもしろいとおもいます。

全体的に、pythonのソースコードもあまり長くなく、
読むのもむずかしくはないと思います。

フローチャートがけっこうたくさん書かれています。
pythonのソースコードとくらべて、アルゴリズムが
わかりやすく記憶に残りやすいということはないでしょうし、
Web界隈の現場でしたら見ることはないだろうし、
Pythonのソースコードと2重に確認することが増えて負担かもしれません。

本書を読んでアルゴリズムに興味がでたら、
別の、より詳細な本、より本格的な本も見てみると良いと思います。
本書をひととおり読めば、本書でわからないところがあったとしても、
そういった本も読めるようになっていると思います。
競技プログラミングの入門書やさらに専門的なアルゴリズムの本なども
なんとか読めるのではないでしょうか。

補足
Webのプログラマーですと、
「こういう勉強は、ブラウザで画面が見られないからおもしろくない」
というひともいるかもしれませんが、ネットを探せば、
アルゴリズムの動きを視覚化してみせてくれるWebサイトとか見つかります。

一般に、入門者が困るのはプログラミングできる環境をつくることだとおもいます。
こちらは、本書で足りなければ、インターネットを検索するとたくさん記事が見つかります。
「Windows Python インストール」
「Windows Python データ分析 環境構築」
などの単語でググるといいと思います。
Google colaboratory(という単語でググってください)
などを使うと、ブラウザからPythonのソースコードを実行できます。
(ただ、まー、クラウドの場合、ブラウザとWebサーバの区別がつかないと
「ファイルはどこに保存された?」とか、混乱するかもです。)
まずPythonでの演算子の使い方や関数の作り方などについて説明があるのでPythonの事前知識がなくても学習を始められるようになっています。
その次の章ではお釣りを計算するとか素数を出力させるといったプログラムを作るのですが、そうした分かりやすい例を使って「同じ結果を得るにも複数の実装が可能で、どれを選ぶかでコードの長さも計算量も大いに違ってくる」ということが明快に示されています。それぞれの例にフローチャートがついているので理解の助けになりますし、それぞれの処理の手際のよさを比較できるようになっています。また不正な入力を想定してエラーを防ぐ対策もこの段階から扱っています。
とにかく初歩の段階から自然に「より良いアルゴリズムとは何か?」を考えるようになるのが素晴らしいと思います。
フローチャートがあるので理解できる,という立て付けになっていて,
アルゴリズム自体の説明がおろそかな印象を受けました(特にヒープ・最短経路).
フローチャートは理解を助けるのは事実だと思いますが,
フローチャートがあれば説明しなくても良い,ということにはならないと思います.
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
最高のアルゴリズム入門書

※この電子書籍は、「固定レイアウト型」で配信されております。説明文の最後の「固定レイアウト型に関する注意事項」を必ずお読みください。

すべてのPythonプログラマに贈る! アルゴリズムとデータ構造入門書の最高峰。

本書は、Pythonで実装した豊富なプログラム例を通じて、アルゴリズムとデータ構造の基礎を身につけるためのテキストです。
基本的なアルゴリズムとデータ構造に始まって、目的とするデータを見つける探索、データの並びを一定の順序で並びかえるソート、そして、スタック・キュー・再帰的アルゴリズム・線形リスト・2分探索木などを学習します。
解説にあたっては、難しい理論や概念を視覚的なイメージで理解できるように、213点もの図表を提示しています。本書に示す136編のプログラムは、単なるサンプルではなく、実際に動作するものばかりです。すべてのプログラムを読破すれば、かなりのコーディング力が身につくはずです。
初心者から中上級者まで、すべてのPythonプログラマに最良の一冊です。

●目次
はじめに
本書の構成
第1章 基本的なアルゴリズム
 1-1 アルゴリズムとは
 1-2 繰返し
第2章 データ構造と配列
 2-1 データ構造と配列
 2-2 配列
第3章 探索
 3-1 探索アルゴリズム
 3-2 線形探索
 3-3 2分探索
 3-4 ハッシュ法
第4章 スタックとキュー
 4-1 スタック
 4-2 キュー
第5章 再帰的アルゴリズム
 5-1 再帰の基本
 5-2 再帰アルゴリズムの解析
 5-3 ハノイの塔
 5-4 8王妃問題
第6章 ソート
 6-1 ソートとは
 6-2 単純交換ソート(バブルソート)
 6-3 単純選択ソート
 6-4 単純挿入ソート
 6-5 シェルソート
 6-6 クイックソート
 6-7 マージソート
 6-8 ヒープソート
 6-9 度数ソート
第7章 文字列探索
 7-1 力まかせ法
 7-2 KMP法
 7-3 Boyer-Moore法
第8章 線形リスト
 8-1 線形リストとは
 8-2 線形リスト
 8-3 カーソルによる線形リスト
 8-4 循環・重連結リスト
第9章 木構造と2分探索木
 9-1 木構造
 9-2 2分木と2分探索木
章末問題の解答
参考文献
索引
謝辞
著者紹介

固定レイアウト型に関する注意事項(必ずお読みください)
この電子書籍は、全ページ画像の「固定レイアウト型」で配信されております。以下の点にご注意し、購入前にプレビュー表示をご確認の上、ご購入ください。

■使用できない機能
・文字拡大(ピンチイン・ピンチアウトは可能ですが、画面におさまらない場合は画面をスワイプ)/文字のコピー/マーク/ハイライト/文字列検索/辞書の参照/Web検索/引用

■推奨環境
・タブレットなど大きいディスプレイを備えた端末
・Wi-Fiネットワーク経由でのダウンロード(Kindle端末の場合)
 
内容サンプル
 
User Voice
40代のプログラマーです。
ここ何年かはデータ分析のシステムの開発、運用に携わってきました。

本書は、タイトル通りアルゴリズムとデータ構造の本です。

プログラミング言語の文法などの学習して、
条件文や配列やループが困らなくなったら、
本書にも手を付けられるんじゃないかと思います。
本書のソースコードはPythonなのでクラスとかもでてきます。

あつかっている内容は、目次の通り、オーソドックスです。

第1章 基本的なアルゴリズム
第2章 データ構造と配列
第3章 探索
第4章 スタックとキュー
第5章 再帰的アルゴリズム
第6章 ソート
第7章 文字列探索
第8章 線形リスト
第9章 木構造

本書は、ぱっと見、ソースコードは少なめに見えます。
しかし、言葉での説明も丁寧ですし、図が非常に豊富です。
そのアルゴリズムを実行したときの動きが、
たくさんの図として描かれています。
これは、理解にとても有用だと思います。

章末にある練習問題は、
基本情報技術者試験の過去問からの引用です。
Pythonは基本情報技術者試験のプログラミング言語になりましたので、
それを意識しているらしい。

図としては、フローチャートもけっこうたくさん書かれています。
pythonのソースコードとくらべて、アルゴリズムが
わかりやすく記憶に残りやすいということはないでしょうし、
Web界隈の現場でしたら見ることはないだろうし、
Pythonのソースコードと2重に確認することが増えて負担かもしれません。
基本情報処理技術者試験では必要なのかもしれませんが。

ごくありふれたWebアプリ開発だと、
アルゴリズムとデータ構造については、本書の半分の知識ですんでしまうかもしれません。
リレーショナルデータベースのインデックスは、木構造の知識がないとピンとこないかもです。

競技プログラミングをやってみたいというかたには、
本書の内容は、最低限に近い知識かと思います。
本書を読んだ後なら、競技プログラミングの入門書や
さらに専門的なアルゴリズムの本なども
なんとか読めるのではないでしょうか。

この手の本は、データ構造とアルゴリズムそのものの紹介で
終わってしまうので、コンピュータサイエンスの範囲の中あるいは外での、
応用例があると、より興味深く学べると思います。
学生時代に買った参考書のような誌面なので、読みすすめるのがなかなかむずかしい。もう少していねいな解説がほしかった。もう少し勉強してからもういちど読んでみたいと思います。
 
   
本書の内容
システムトレーダー、エンジニアなどの間で話題沸騰
発売後売り切れの書店続出、大反響につき即増刷決定!

人工知能(AI)、機械学習の発展は金融をどのように変えるのか

理論と実務を熟知した第一人者による比類なき大著“Advance in Financial Machine Learning"(2018年、Wileyより刊行)、待望の日本版刊行!
すでに中国語、韓国語、ロシア語にも翻訳された名著を、実務を知り尽くしたクオンツが日本の読者に向けて翻訳

データの構造化とラべリング、モデリング、バックテスト、ハイパフォーマンスコンピューティングなど、金融工学における機械学習の活用の可能性を、Pythonのコード例を交えて徹底解説

目次
はじめに
第1章 ファイナンス機械学習という新分野
Part1 データ分析
第2章 金融データの構造
第3章 ラベリング
第4章 標本の重み付け
第5章 分数次差分をとった特徴量
Part2 モデリング
第6章 アンサンブル法
第7章 ファイナンスにおける交差検証法
第8章 特徴量の重要度
第9章 交差検証法によるハイパーパラメータの調整
Part3 バックテスト
第10章 ベットサイズの決定
第11章 バックテストの危険性
第12章 交差検証によるバックテスト
第13章 人工データのバックテスト
第14章 バックテストの統計値
第15章 戦略リスクを理解する
第16章 機械学習によるアセットアロケーション
Part4 金融市場分析のための特徴量
第17章 構造変化
第18章 エントロピー特徴量
第19章 マイクロストラクチャーに基づく特徴量
Part5 ハイパフォーマンスコンピューティング
第20章 マルチプロセッシング(多重処理)とベクトル化
第21章 総当たり法と量子コンピュータ
第22章 ハイパフォーマンス計算知能と予測技術
Kesheng Wu and Horst Simon  
内容サンプル
 
User Voice
これまで読んだ全ての投資書の中で文句なしの一位。

データ分析の基礎体力がある人向け。
方法論がメインなので、自分で手を動かして実装できる人じゃないと意味ないです。
quants portalというサイトで前処理プログラムまとめられてるので参考になります。

「作った投資ルールが今後も通用するか」という最も重要で難しい本質的な問題に真正面から取り組んでる点が素晴らしい。
当然、リーケージや過学習といったデータ分析で気をつけるべき点にも注意を払ってます。

幅広い研究活動をされてる原作著者のファンになりました。
抽象度が高く具体例がほとんどないため、金融と機械学習の実務経験者(プロ)以外の人が読んでもまったく理解できないと思います。本書の内容に関する具体例を解説した海外のサイトがあったのですが最近有料化された(1か月100ドルだったと思います)など考えると、個人投資家の範疇ではなく金融機関向けなのかなと思います。
分からないから買った
自分がいつか天才になったら
分かる日が来るのであろう
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
僕たちは、こんな本を待っていた。
Sebastian Thrunらの名著『確率ロボティクス』(マイナビ)の翻訳者であり、
同分野の第一人者でもある、上田隆一氏が書き下ろす至極の入門書!

・理論→実装という一貫した流れで、丁寧に解説。まさにバイブル!
・Jupyter Notebook対応だから、すぐに実践できる!
・コードはGitHubで全部公開!

【第1章「はじめに」より抜粋】
本書は、確率をロボットの認識機能や制御に用いることを考える分野「確率ロボティクス」の入門書です。ロボットの開発者、研究者になるには機械、計算機、制御に関する勉強も必要なうえ、上記のような状況なので、確率論、統計学の理解も重要になってきています。たくさん勉強しなければならないので「手短に」といいたいところですが、確率というものに実感がもてるまでには頭の訓練が必要です。
筆者は学生のとき、確率に対する実感を養うために(実際は家賃込みの月6万円の仕送りを増やすために)、学生寮、後楽園、高田馬場あたりの「現場」でかなりの訓練をして仕送りを減らしていましたが、そちらをおすすめするわけにはいきません。そこでロボティクスでよく使われるアルゴリズムを書いて動かしてもらい、実感をもってもらおうと企画したのが本書です。

【主な内容】

第1部 準備
第1章 はじめに
第2章 確率・統計の基礎
第3章 自律ロボットのモデル化
第4章 不確かさのモデル化

第2部 自己位置推定とSLAM
第5章 パーティクルフィルタによる自己位置推定
第6章 カルマンフィルタによる自己位置推定
第7章 自己位置推定の諸問題
第8章 パーティクルフィルタによるSLAM
第9章 グラフ表現によるSLAM

第3部 行動決定
第10章 マルコフ決定過程と動的計画法
第11章 強化学習
第12章 部分観測マルコフ決定過程

付録A ベイズ推論によるセンサデータの解析
付録B 計算  
内容サンプル
 
User Voice
当方、機械学習エンジニアですが、工業用機械の自動運転関連の案件を担当することになり、本書を手に取りました。

自動運転を全く知らないどころか、古典制御理論も勉強中というど素人の私にとって、自己位置推定やSLAMに独学でも入門できる本書は、めちゃくちゃ貴重でした。

理論を解説した後、コーディングしてシミュレータ上で実際に動かすという体験を通して、より理解を深めていく体裁になっています。(シミュレーターも本書内で自作します。)
理論は、丁寧で分かりやすい解説が成されており、行間を埋めまくらないと導出できないような式変形もありませんでした。
コードも、段階を追って解説とともに記載されているため、大量のコード丸投げで良く分からないといったこともありませんでした。

挑み甲斐のある良書でした。著者様に感謝します。

誤植?
4.2.4
記載された通りのuniform()の使い方だと、Python3だとエラー。tupleとintを比較できなくなったため。

4.3.2
relative_polar_pos は、それまでの命名に従えば、observation_function の誤り。

5.16式の分母のxの上付き添え字がjでなくk
確率ロボティクスついて詳しい千葉工大の上田先生の書籍です。ROSの本で有名な方で、シェル芸など笑いにも精通していらっしゃいます。twitter → @ryuichiueda
この本では自動運転やロボットに必要な自己位置推定や地図作成を実装するにあたって、エラーやバイアスを含むセンサ群のデータから価値のある値にどう料理するか、確率ロボティクスの理論とパイソンのコードが説明されています。
具体的には、カメラやライダー等のセンサを使った複数種のSLAMアルゴリズムの解説や、経路生成したのち補正していく強化学習についてQ学習等のアルゴリズムの解説があります。
理論部分はハードです。p(z|a,b,c)とかの統計の記法に慣れて、ベイズ理論の定理を使いこなす必要有りです。
Anacondaをいれて環境を作ればJupyter Notebook上でサンプルコードが動作し、段階的にコードが動く振る舞いを確認できます。
読み応えのある本ですが、サンプルコードもありますし、確率ロボティクスの最前線なのでおすすめです。
専門外の人間ですが、タイトルから受ける印象よりもずっと教科書に近い本です。
機械学習ブームのときにPRMLの実装コードが出回りましたが、確率ロボティクスでも(ROSの機能を使うためにも)原理が分かる実装コードがあると便利です。当初はその程度しか期待していませんでしたが、説明が系統的なので、むしろ数式の代わりにコードを使って書いた教科書というイメージです。
元ネタの確率ロボティクスは数式オンリーですが、この本は具体的なコードを使ってビジュアルに解説しているので、各種の工夫の目的と効果が非常によく分かります。制御の話はコードを見ないと本当には理解できないところがあるので、周辺にいる人にとっては貴重な本だと思います。また、元ネタの確率ロボティクスには強化学習関連の話がありませんでしたが、この本ではその辺りのことも一応書いてありました。
ただ、懇切丁寧に書いてあるものの、もとになる理論はそれなりに高度です。また話が具体的になると、元になっている理論とは違ったレベルの疑問も出て来ます。現時点では一通り流して読んだ程度ですが、もう少し時間をかけて読む必要があるのかなと思っています。
 
   
本書の内容
東大1年生向け好評講義テキストを書籍化。
プログラミングの初心者でも、シミュレーションや
データ分析の基礎までを最短で身につけられる。


Pythonを用いて、プログラミングの初歩からデータ処理やシミュレーションの基礎までを学べるテキストである。読み進めるうちに、おのずと情報科学の基礎が身につくよう工夫されている。プログラミング初学者から、情報系技術に関わることになった社会人まで広く役立つ。


【本書「まえがき」より】
本書は、プログラミングの基本を習得するとともに、プログラミングを通して情報科学の基礎を学ぶための教科書として執筆した。現代において情報科学の基礎は必須の教養となっているが、これを学ぶ際にはプログラミングを併せて学ぶことが強く望まれる。本書で学ぶような計算量や数値誤差といった内容は、座学で聞くだけではなかなか実感がわかないが、少しプログラムを書けば身につまされるものとして体験できるからである。……

プログラミング言語としてはPythonを用いる。Pythonは世界的に広く使われている言語ではあるが、本書で採用したのは以下の理由から初学者にとって有益であると考えたためである。まず、開発環境やライブラリなどがよく整備されていること。…さらに、比較的高水準な記述が可能であり、初学者が躓きがちな「最低限のプログラムを動かすための、初学者にとって意味不明な記述」がほとんど不要であること。なお、Pythonを用いているはいるが、Python特有の機能はほとんど使っていないため、他の言語を学習する際にも十分参考になる内容となっている。


【主要目次】
第1章 はじめに
第2章 まずは使ってみる
第3章 プログラムを作ろう
第4章 データ処理の基本――成績の集計
第5章 ライフゲーム
第6章 放物運動のシミュレーション
幕間 テストとデバッグの基本
第7章 p値の計算
第8章 大規模データの検索
第9章 データからの情報抽出――回帰分析
第10章 拡散のシミュレーション
第11章 高度な検索――ゲノムを解析する
第12章 データを分類する
付録A Python言語の簡易ガイド
付録B itaライブラリガイド  
内容サンプル
 
User Voice
東大教養学部のテキストです。
わからないところは直ぐに教官に質問できる環境にある人のための本で、その分全体的に簡潔に書かれています。

学習環境の構築についても、anacondaのURLが書いてあるだけで、途中の遷移画面がないので、まったくのプログラミング初心者にはインストールさえできないかも知れません。

また、Numpyなどの有名ライブラリーも紹介していないので、オールインワンの一冊とも言えません。

反面、後半に、モンテカルロ法、探索、整列、拡散シミュレーション、クラスタリング等面白いテーマのさわりを扱っていますので、勉強熱心な方はこの本を買って、足りないところはネットや他の本で補うという使い方は有りだと思います。
情報処理技術者試験にもCOBOLに代わって採用されたPython。
この本は、Python入門ではなく、CS入門の本です。
CSの一般教養の授業に使える本です。真っ先に計算誤差に言及するところなど現実的で好感が持てます。
アメリカの大学のCSもこんな感じです。てか、アメリカの大学のテキストを手本に翻訳したような内容です。
私の知っているアメリカのCS入門の授業のテキストは、この本の内容の2倍の量を1セメスターでこなしていました。
入門レベルの様々なデータ解析を、Pythonで実現する方法が載せられている。この手のよくある入門書とは異なり、解析手法自体の意味までしっかりと解説されている。研究者の方が、初学者の方向けに、なるべくわかりやすく、かつ説明の正確さを落とさないように、可能な限り配慮して書かれている印象を持った。
 
   
本書の内容
目次
1.はじめに
2.誰のための本か?
3-0 アルゴリズムと計算量
3-1 バブルソート
3-2 選択ソート
3-3 挿入ソート
3-4 マージソート
3-5 クイックソート
おわりに

pythonで基本的なソートをマスターするための本になります。

pythonの基本的な文法はわかってきた。けれど、まだまだアルゴリズムらしいコードを書くのに慣れていない。

そんな人におすすめなのが、、、、

この本の主題である「ソートアルゴリズム」です!!

ソートとは、例えば、数字を大きい順に並び替えることなどです。

このソートアルゴリズムに慣れることで、プログラミングらしい考え方が自然と身についていくはずです。

なぜならば、問題を解決するために手順を定義していくというアルゴリズムの考え方を、自分で実装していけるからです。

プログラミング学習のキモこそ、アルゴリズムの学習であると言われる所以ですね。

誰のための本か
・pythonの基礎的な文法がわかってきた人
・プログラミングのキモであるアルゴリズムを抑えたい人
・実際に問題解決に使ってみたい人
・学校の課題でソートアルゴリズムを勉強しなければならない人

などなど、脱初心者のために重要なのがアルゴリズムである「ソート」です。この本では、代表的なソートアルゴリズムを、pythonでささっと書けるようになることに特化しています。

【文字ではわかりにくい部分を補足するために、理解のしやすい動画へのリンクも載せています】

各ソートの特徴や、ソートごとの比較も行なっているのでささっと確認できるはずです。

逆に、高度なアルゴリズムをどんどん実装していける人には役に立たない本になってしまいます。

最短距離で入門しましょう!
 
内容サンプル
 
User Voice
pythonに慣れるのにちょうどいい。初心者におすすめ。

アルゴリズムをわかりやすく知りたいならば、本書で紹介されているように動画で見るのがいいかも。そこらへんも親切ではある。
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
良いプログラムを書くための必須知識をまとめたテキストであり、五輪の書。
本書は、長年にわたって数多くの優秀なシステムエンジニア、プログラマーに愛読されてきた、良いプログラムを書くための必須知識をまとめたテキストです。
うまくつくられたプログラムは、理解しやすく実行効率も高いものですが、一方、そうでないものは解読も困難なうえに、やたら時間や領域をくいます。さらに、そのようなまずいプログラムには、えてしてミスや内容的な誤りも隠されているものです。
本書は、新たなアルゴリズムで新たなプログラミングを行うために覚えておかなくてはいけない必須知識、そしてアルゴリズムの設計、実現における基礎を、実用上の価値に重点を置いてまとめています。
今回の改訂においては、多くの読者の声をよく参考にして、よりわかりやすく、簡明になるよう見直しを行ったほか、接尾辞木について新たな解説を加えています。
システムエンジニア、プログラマーとして活躍される方の五輪書です。  
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
みんな知っているさるかに合戦でアンプラグドプログラミングをやってみよう!
サルのかきのたねとカニのおにぎりを交換するにはどうすればよいか?いじわるなサルををこらしめるにはどうすればよいか?を登場人(動)物がフローチャートを使って考えます。  
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容

「平均」という観点から強化学習の基本が理解できる!

AlphaGoがプロ棋士を破った2016年以降、強化学習や深層強化学習はさまざまな分野から注目を集めています。しかし、専門書では難解な専門用語や数式が多用されるため、初学者にとってはハードルが高い状態が続いていました。
本書は、そのハードルの高さを解消することを目的としています。平均という初歩的な数学を使うことで、「価値」「探索」「マルコフ性」といった強化学習の基本をわかりやすく解説します。
また、各アルゴリズムについては、「多腕バンディット問題」および「グリッドワールド問題」のいずれかを用いて、比較しやすい状態で解説します。そのため、各アルゴリズムの特徴や差異がわかりやすくなっています。さらに、中核的なアルゴリズムについては、PythonとMATLABの2種類のコードを、オーム社のWebサイトおよびGithubで配布します。配布コードを実行することで、「原理→数式→プログラム」という一連の流れを直感的に把握できます。

【本書の特徴】
・難解な強化学習の原理を、中高生にもなじみ深い「平均値の計算」という観点からわかりやすく解説します。
・さまざまなアルゴリズムを、共通する例題を用いて特徴がわかりやすいように比較します。
・PythonとMATLAB、2種類のコードを配布します。

※Pythonのバージョンは3です。

【目次】
扉・はじめに・目次

第1章 平均から学ぶ強化学習の基本概念
1.0 はじめに
1.1 平均と期待値
1.1.1 平均
1.1.2 期待値
1.1.3 期待値と平均の関係
1.2 平均と価値
1.3 平均とマルコフ性
1.3.1 平均の計算式とその変形
1.3.2 逐次平均表現とMP
1.4 平均によるベルマン方程式の導出
1.4.1 平均表現と価値関数の導入
1.4.2 決定型Bellman方程式の導出
1.4.3 確率型Bellman方程式の導出
1.5 平均によるモンテカルロ学習手法の導出
1.5.1 総報酬関数Gt+1の導入
1.5.2 総報酬GtとVtの比較
1.5.3 総報酬Gtの平均による価値関数vSt
1.6 平均によるTD法の導出
1.6.1 TD(0)法の計算式の導出
1.6.2 TD(n)法の計算式の導出

第2章 各アルゴリズムの特徴と応用
2.0 はじめに
2.1 方策π(a | S)
2.1.1 多腕バンディット問題
2.1.2 ε-Greedy方策
2.1.3 UCB-1方策
2.1.4 Bayes sampling方策
2.2 動的計画法
2.2.1 ε-Greedy(ε=1)反復方策
2.2.2 ε-Greedy(ε=0)方策反復法(On-Policy)
2.2.3 ε-Greedy(ε=0)価値反復法(Off-Policy)
2.3 モンテカルロ法
2.3.1 固定開始点モンテカルロ法
2.4 TD(0)法
2.4.1 方策反復方策からSARSA法の導出
2.4.2 TD(0)-SARSA法
2.4.3 価値反復方策からTD(0)-Q学習法の導出
2.4.4 完全Off-Policy のTD(0)-Q学習法
2.4.5 部分Off-Policy のTD(0)-Q学習法
2.4.6 Q学習法とSARSA法の比較

第3章 関数近似手法
3.0 はじめに
3.1 関数近似の基本概念
3.2 関数近似モデルを用いたV(St)の表現
3.3 機械学習による価値関数の回帰
3.3.1 誤差関数からわかる回帰と分類
3.3.2 誤差関数の設計と確率勾配降下法
3.3.3 強化学習における回帰解析の仕組み
3.4 モンテカルロ法を応用した価値関数回帰
3.5 Td(0)-SARSA法を適用した行動状態価値関数の回帰
3.6 Td(0)-Q法を応用した行動状態価値関数の回帰

第4章 深層強化学習の原理と手法
4.1 TD-Q学習におけるNNによる行動価値関数回帰
4.2 DQNによる行動状態価値関数近似
4.3 確率方策勾配法
4.3.1 モンテカルロ離散方策勾配法
4.3.2 ベースラインモンテカルロ離散方策勾配法
4.3.3 離散型Actor-Critic法
4.3.4 連続型Actor-Critic法
4.4 決定型方策勾配法
4.4.1 DDPG
4.4.2 ハイブリッドDDPG
4.5 TRPO/PPO法
4.5.1 EMアルゴリズム
4.5.2 信頼領域(trust region)と自然勾配
4.5.3 信頼領域方策勾配法TRPO
4.6 アルファ碁ゼロ学習法
4.6.1 アルファ碁ゼロの学習誤差関数
4.6.2 信頼領域方策勾配法
4.7 まとめと展開

参考文献・索引・奥付

 
内容サンプル
 
User Voice
強化学習の本はサットン教授の有名な教科書「強化学習」を始めとして数冊読んだが、非理系出身の身ではなかなか理解が行き届きませんでした。

要は、ベルマン方程式の意味が今ひとつ腹に落ちないためで、誰かベルマン方程式を丁寧に解説してくれないかなあ、と望んでおりました。

本書は、平均と期待値という誰でも分かるところからはじめ、ベルマン方程式にいたるまでの道筋を一つも省略することなく丁寧に解説してくれます。そして、その理解をベースに章が進んでいきます。

強化学習を学んでいると、環境、報酬、行動、行動価値、行動状態価値、方策といった多様な用語が次々に登場してきます。

おおかたの書籍では、それらの言葉が「具体的に何を意味し、それを算出することがどういう意味になるのか」に十分な説明が加えられないまま(自明のこととして)話がすすんでいきます。

本書はそれらの用語の導入タイミングが素晴らしく、新しい用語を導入するときは、必ずそれまで説明した概念の「別名」や「自然な拡張」として説明されるので、それぞれの言葉がなんの記号で表され、数式中で何を表しているか、すんなり理解ができます。

ベルマン方程式の導出なんか数式を追うだけのことで別に難しいと思わない、という人には第1章~第2章はまどろっこしくてしょうがないでしょう。しかし、数式の扱いに不慣れな人にとっては、「なぜそう展開するのか」「この記号は何を意味しているか」をくどいくらい丁寧に説明してくれるのが非常にありがたいのです。

また、強化学習で非常にポピュラーな用語、「エージェント」と「環境」という言葉が出てこないのも特筆すべき点。

「エージェント」や「環境」という言葉は、説明上の抽象概念として一見わかりやすく感じますが、その実、原理的な理解を進める上ではある種のブラックボックスとなってしまい、その具体的かつ詳細な意味がわからないまま「分かった気」になって読み進めてしまうという弊害にもなります。

この用語を排除した点が本書の素晴らしさでしょう。

最終的に理解すれば、「エージェント」とは具体的にはなにで、「環境」とは具体的に何かがおのずと分かるようになっていますので、心配いりません。

コード例も素晴らしく、フレームワークを使わず書かれているので、説明文がそのままコード化されているようなもので、解説が理解できればコードも即理解でき、説明とコードが「一対一対応」しています。

現在主流となりつつある深層強化学習は、その名の示すとおり探索に深層ニューラルネットワークを利用するものなので、強化学習の堅牢な理解と、ニューラルネットワークの理解の両方が必要になります。タイトルに「深層強化学習」が入っている書籍は、両方の理解を前提としているものが多いため、いきなりそういった書籍を読んでも、まず議論についていけないでしょう。

深層も含め強化学習を学習する方は、まず本書を読み、次にサットン著「強化学習」を読み、さらに深層学習関連の書籍という順番をおすすめします。

本書を読んでからサットン著「強化学習」を読み返すと、すらすら理解できるようになっていることに驚きます。
この本はわかりやすかったです。具体的なステップが細かくかかれていて数式書いてはい終わりといった他の一部の本より全然いいです
将来への平均とは?それを理解することが強化学習の肝ではありましょうが、わかりやすく説明されてるんでしょうか?
様々な手法を同じ例題を用いて体系的に理解しようというコンセプトはいいのですが、平均から始めたがために式の表記を何度も書き換えて煩雑になっているように感じました。
 
   
本書の内容
プログラミングとアルゴリズムの基礎、および、「Scratch 3.0」の使い方を学ぶための本です。
大学や高校のプログラミングの授業でも活用していただいている人気定番書を「Scratch 3.0」の登場に合わせて改訂しました。

本書は、Scratchの操作方法を身につけて自由自在に使いこなせるようになるだけでなく、頭の中で考えているアイデアをプログラムとして実現するスキル、つまり論理的な思考のスキルを身につけることを目的としています。

本書の使い方
サンプルのプログラムを作りながら、Scratchの操作とプログラミングのポイントについて学んでいきます。ただし、何も考えずにサンプルの作り方をなぞって操作するだけでは、独り立ちして自分なりのプログラムを作る力はつきません。プログラミングの仕組みをきちんと「わかる」ことが大切です。

各章の<考えてみよう>のコーナーで自分なりに見通しを立てて考えたり、<Scratchの操作>や<プログラミングのポイント>のコラムをしっかりと読んで、操作の背景にある仕組みを考え、理解を深めながら学びをすすめましょう。
加えて、<チャレンジ>や<ステップアップ>といった課題に取り組むことで、頭で理解するだけでなく、身につけるようにしましょう。本書の詳しい使い方や各種のコラムの内容については「序章」の「この本の使い方」をご覧ください。

早く自分だけのプログラムを作りたい! という方は、第1章から第3章までを終えると、自分なりのオリジナルなプログラムを作り始めることができるようになるでしょう。途中で一度自分のオリジナルな作品を作ってから第4章からに取り組むと、より構造化プログラミングや関数、クローンなどのありがたみがわかるでしょう。

本書で紹介した「サンプルファイル」や「課題」の解答例、活用時の「指導者の手引き」などは、本書のWebページからダウンロードいただけます。

目次(詳しくは、目次欄をご覧ください)
●プログラミングをはじめよう
第1章 Scratchの基本
第2章 プログラムの流れをつかもう
第3章 変数と配列の使い方をマスターしよう

●本格的なプログラミングを身につけよう
第4章 構造化プログラミング
第5章 関数の使い方をマスターしよう

●アルゴリズムのキホンを学ぼう
第6章 アルゴリズムその1 サーチ(探索)
第7章 アルゴリズムその2 基本的なソート(並び替え)
第8章 アルゴリズムその3 すすんだソート(並び替え)

●Scratchを使いこなそう
第9章 クローン  
内容サンプル
 
User Voice
CやJavaなど一通り学んでいたのですが,バイトで小学生にプログラミングを教えることがあり,購入しました.
中身を通してわかったことは,scratchがプログラミング初心者にとって非常に良い教材であること,そしてこの本を読むことでscratchの基本的な操作はマスターできるということでした.
加えて,探索やソートアルゴリズムまでカバーしている点が非常によかったと思います。
キーボードに慣れていないプログラミング初心者向けというScratch感が認識不足であったことがわかりました。再帰処理まで触れられており、良書です。
Scratch本は子ども向けあるいは子どもと大人が共に学ぶ本というのが多い中で、この本は大人が独習するのに適した本だと思います。
 
   
本書の内容

【本電子書籍は固定レイアウトのため7インチ以上の端末での利用を推奨しております。文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。ご購入前に、無料サンプルにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください】

機械学習アルゴリズムの違いが見てわかる!

「機械学習アルゴリズムは種類が多く、複雑で何をしているのかわかりにくい」と思ったこと、ありませんか?本書は、そのような機械学習アルゴリズムをオールカラーの図を用いて解説した機械学習の入門書です。
いままで複雑でわかりにくかった機械学習アルゴリズムを、図解によりわかりやすく解説しています。アルゴリズムごとに項目を立てているので、どのアルゴリズムがどのような仕組みで動いているのか比較をしやすくしています。
これから機械学習を勉強する方だけでなく、実際に機械学習を業務で使用している方にも新しい気付きを得られるのでお勧めの1冊です。

【本書の特徴】
・複雑な機械学習アルゴリズムの仕組みを1冊で学べる
・オールカラーの図をたくさん掲載
・各アルゴリズム毎にScikit-Learnを使用したコードを記載しているので、見るだけでなく試すこともできる
・仕組みだけでなく、実際の使い方や注意点もわかる

【本書で紹介するアルゴリズム】
01 線形回帰
02 正則化
03 ロジスティック回帰
04 サポートベクトルマシン
05 サポートベクトルマシン(カーネル法)
06 ナイーブベイズ
07 ランダムフォレスト
08 ニューラルネットワーク
09 kNN
10 PCA
11 LSA
12 NMF
13 LDA
14 k-means
15 混合ガウス
16 LLE
17 t-SNE

※本電子書籍は同名出版物を底本として作成しました。記載内容は印刷出版当時のものです。
※印刷出版再現のため電子書籍としては不要な情報を含んでいる場合があります。
※印刷出版とは異なる表記・表現の場合があります。予めご了承ください。
※プレビューにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください。

 
内容サンプル
 
User Voice
機械学習において、どの様なアルゴリズムがあるのか俯瞰するのに良いと思います。ただ、212ページで、この値段は....。
機械学習のための各アルゴリズムの特徴が、各アルゴリズムの冒頭に記されているのだが、これが抽象的で理解しずらい。
もう少し、歴史的な背景とかなぜこのようなアルゴリズムが必要になったのかとか実際にどのようなことに役立ってきたのかなどが記載されていないので、読者からすると入門書でありながら書かれている内容が抽象的になってしまい過ぎて理解しにくい。いろいろな簡単な例について説明されているが、このらの例も簡単すぎて実際にどのようなときに使用したらよいのか、などが分かりにくい。理論自体、あるいはそこで使用されている数学自体は簡単なものが多いので、もう少し工夫してわかりやすく書いてほしかった。内容はやさしくても、そこになぜそうなるのかという理論がわかりやすく書かれていないと理解しにくい。読者は子供の使いではないので、簡単な例だけで、こういうふうに理解しろと言われてもそれは無理だ。
結局この本だけではダメなので、インターネットで関連するいろいろな記事を読むことにより、明確なイメージをつかむことができた。
■良かった点
・各ページの構成・見栄えがとても良く、機械学習の難しい話をとっつきやすく解説してくれている
・アルゴリズムの網羅性が高く、見やすさ/とっつきやすさと相まって、知らないアルゴリズムがあったときに心理的な障壁がなく気軽に本書で調べることができる
■もう一歩な点
・各アルゴリズムの詳細な解説は完璧に省かれているため、数学的な原理を知りたい場合はネット等で別途調査する必要がある。
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
本書は、Think IT連載「ビジネスに活用するためのAIを学ぶ」に、筆者の自社Webサイトで公開中のブログ「AI技術をぱっと理解する(基礎編)」
を加え、さらに加筆・修正したAI入門書。これからAIを学ぶエンジニアや過去にAIを学習したが挫折してしまったエンジニア向けに、AIの基礎と
全体像を解説し「AIとは何か」「AIで何ができるのか」をイメージできるようにした。

本書の特長は、古い歴史には触れず、(1)ディープラーニング登場以降の5年間の流れを知り(過去)、(2)今のAI技術の全体像を把握し(現在)、(3)5年後の
AI活用イメージを掴む(未来)、の3点。書き下ろしコラムによるていねいな補足もあり、広大で難解なAIの世界をやさしく学ぶことができる。

全3部構成。
●第1部「人工知能の基礎を理解する」では、AIの基礎と全体像をしっかり理解できるように解説。
●第2部「機械学習のアルゴリズムを学ぶ」では、AIの心臓部となる<機械学習><統計学><アルゴリズム>の3要素とその関係を解説。<機械学習>には
「教師あり学習」「教師なし学習」「強化学習」などが、その背後には「回帰」「分類」「クラスタリング」などの<統計学>があり、その解を求める
方法には「決定木」「サポートベクターマシーン」「k平均法」など、多くの<アルゴリズム>がある。これらの三角関係をやさしく紐解く。
●第3部「ビジネスに活用するための人工知能を学ぶ」では、著者の調査による最新動向を踏まえ、AIビジネスの将来について業界別に考察。
RPA (Robotic Process Automation) の現状についても解説する。

※この商品は固定レイアウトで作成されており、タブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。
購入前にお使いの端末で無料サンプルをお試しください。  
内容サンプル
 
User Voice
独学で機械学習、深層学習(CNN,RNN)などを勉強した経験があります。他の書籍やネット情報の説明では難しくて理解できなかった部分があっさり理解できました。
イメージしずらい部分を簡潔に説明しています。本の著者と麻里ちゃんは凄いですね。
AIをゼロから学ぶ本ではないですが、壁に当たった時のため絶対持ってたほうがいいです。
G検定を受験した後、RNNやCNN等もう少し深堀する必要を感じ、購入しました。受験前に勉強しておくべきだったなと感じる内容です。平易に書かれていますが、それなりに深い内容にも踏み込んでおり、簡単では無いのですが、知識の穴埋めには適していると思います。
エンジニアだけじゃなくAIに興味がある大学生にもおすすめかな。

機械学習の分野で知っておいた方がいい基本的な知識について分かりやすく説明されているなと感じました。
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
MITで20年にわたり教鞭を執る著者が、1、2年生を対象としたプログラミングの授業で実際に使っている教材をもとに執筆したものです。
「楽しみながらアルゴリズム的思考とプログラミングスキルを鍛える」という意図に基づき、著者が選んだ21の数学パズルを解くことを通じて、論理的な思考と柔軟な発想力を身に付けることができます。
掲載されているコードはすべてダウンロード可能。また、章末の練習問題で習熟度を確認できます。
「閃きの瞬間」が訪れたときの喜びを体感し、プログラミング本来の楽しみを知ることができる一冊です。  
内容サンプル
 
User Voice
オライリー・ジャパンの本書のページを見ていただくと分かる通り、原書は

"Programming for the Puzzled" (Srini Devadas, MIT Press 2017)

です。オライリー・ジャパンは、O'Reillyから出版されておらず、Safaribooksonlineにもない、オライリー・ジャパン・オリジナル本をときどき出版してくれます。和書の技術本を買いたくはないのですが、たまーにそのような本を買いたくなってしまうんです。("ゼロから作るDeep Learning"は和書しかありません)

まだ、ほとんど取り組んでいないのですが、雑感を列記します。

・ややこしいアルゴリズムはでてきません。(本書はMIT大のPython入門向けコースを成書したもの)
・各章の構成は、問題提示、それを解くにはどうするか、ソースの解説、改善ポイント、そのアルゴリズムの応用分野の紹介、さらに改善点を演習として。
・(WEBでよく書かれいるような)Python基礎文法が習得済みであれば、取り組めます。
・文法解説もしていますので、他の言語をやったことがある人なら、Pythonを知らなくても取り組めるでしょう。
・Python開発環境の構築方法は書いていません。(WEBで調べましょう)
・ソースはPython3系です。
・MIT Pressのページから、ソース(解答を含む)などのマテリアルをDLできます。
・そのMIT Pressのページで、講義動画を見ることもできます。1チャプターあたり30分ほどです。
・本書で取り組んだとしても、1チャプターあたり30〜60分ほどで進められるでしょう。
・DLマテリアルのPDFには問題提示、練習問題も記載されています。
・DLマテリアルのソースには、しっかりコメントが書かれています。
・本書掲載のソースは、本来のソースのピックアップです。ソース全体を見るにはDLするしかありません。
・書籍の本文は、ソースのコメントの増補版といえるでしょう。
・英語力、プログラミング素養がある人は、DLマテリアルと動画のみでも取り組めるでしょう。
・これらを知っていたら、買わなかったのに。
・オライリー・ジャパンのHPで電子書籍版(DRMフリーPDF)も売られています。PDF版は書籍版よりも安いです。

中身を見てみたいときは、原著"Programming for the Puzzled"で
・MIT Press
・Amazon.jpやAmazon.com
などで調べてみてください。

わたしはIT技術者ですが、数年来、書店のIT関連棚に行っていませんでした。WEBやオンライン洋書などで済ませているからです。久しぶりに行って、A5サイズの技術書が多くなっていて、驚きました。この「問題解決のPythonプログラミング」もA5サイズです。オライリー・ジャパンの本といえば、B5の若干小さめサイズの印象が強く、意外でした。小さくなったのは嬉しいです。でも、もっと小さく、薄くして、文庫サイズまでしてくれるとベストです。そのついでに、価格も下げていただけるともっと買います。

いまごろ、Pythonの基礎本を手にとるのも恥ずかしいかぎりです。書籍も小さいですし、「最近、コーディングしていないなぁ」という方に、こっそりリハビリとしてぴったりかもしれません。

一冊をやり通した後に、また振り返りのレビューを追記します。
良い点
・問題へのアプローチが順を追って丁寧に説明されており、理解しやすい。
・コードが初心者にも読みやすい。
・練習問題が多い。

良くない点
・PEP8に従っておらず、Pythonらしいコードではない。

競技プログラミングの勉強のために読み始めました。
これまでアルゴリズムの勉強をしたことはなく、AtCoderに数回参加して茶色になったものの、さらにランクを上げるにはある程度きちんとした勉強が必要と思い、購入しました。

蟻本や螺旋本に比べて扱う範囲や難易度は限られていますが、その分とっつきやすかったです。
アルゴリズムに関心があるならとても良い本だと思います。

ただし、Pythonのコードとしてはあまり参考にはできないと思います。
その点で、星を1つ減らしました。
本自体は良いものだと思いますが、翻訳がやばいです。プログラミングの本で「病的」なんていう単語に出会うととは思ってもみませんでした。
 
   
本書の内容
機械学習の原理を知るための、初めての入門

本書は具体的なデータ分析の手法を説明する意図で書かれたものではありません。
実用的な目的ならscikit-learnやChainerなどの既存のフレームワークを使うべきですが、本書では機械学習のいくつかの有名なアルゴリズムを、自分でゼロから実装することを目標としています。こうすることにより、とかくブラックボックスになりがちな機械学習の仕組みを理解し、さらなる応用力と問題解決力を身につけることができるようになります。
また、処理系にはデファクトスタンダードであるPythonを使い、機械学習に必要な数学の知識もわかりやすく解説しています。
これから機械学習を始める学生さんや、いきなりプロジェクトに放り込まれていまいち理解できないままデータ分析の仕事をしているエンジニアの方にも最適です。

●目次
はじめに
第01章 学習を始める前に
01 本書の目的
02 本書は何を含まないか
03 機械学習の初歩
04 実行環境の準備
第02章 Pythonの基本
01 プログラムの実行方法
02 基本的な文法
03 数値と文字列
04 複数行処理
05 制御構造
06 リスト、辞書、集合
07 関数定義
08 オブジェクト指向
09 モジュール
10 ファイル操作
11 例外処理
第03章 機械学習に必要な数学
01 基本事項の確認
02 線形代数
03 微積分
第04章 Pythonによる数値計算
01 数値計算の基本
02 NumPyの基本
03 配列の基本計算
04 疎行列
05 NumPy/SciPyによる線形代数
06 乱数
07 データの可視化
08 数理最適化
09 統計
第05章 機械学習アルゴリズム
01 準備
02 回帰
03 リッジ回帰
04 汎化と過学習
05 ラッソ回帰
06 ロジスティック回帰
07 サポートベクタマシン
08 k-Means法
09 主成分分析(PCA)
INDEX
 
内容サンプル