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


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

人気 1位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 2位
本書の内容
世界有数の研究者による“機械学習の説明書”。2015年アメリカでの発売当初から研究者の間で話題となった力作が、『パターン認識と機械学習』などの翻訳を手がけた神嶌敏弘博士の訳で満を持して刊行。一般向けのきめ細やかな訳注も加えた。
囲碁AI、AmazonやNetflixのお薦め機能、iPhoneのSiri。私たちの生活に溶け込んでいる機械学習とは何か? 観測衛星、DNAシーケンサ、量子加速器などのデータから、機械学習は自然界の謎をすべて解き明かすのか? 蓄えられた莫大なデータはアメリカ大統領選から企業のサービスまで影響を与え、陸・海・空を機械学習で自動操縦される無人車両が飛び交う。機械学習によって、世界はどう変わるのか?
アルゴリズムの歴史を解説するとともに、世界を再構築する究極の「マスターアルゴリズム」の存在を探究。
マスターアルゴリズムが存在する根拠を、神経科学、進化生物学、物理学、統計学、および計算機科学の観点から軽妙かつ縦横に展開する。知的好奇心が沸き立つ1冊。六七質のイラストが世界観を表現。

ペドロ・ドミンゴス(著者)
ワシントン大学ポール・アレン コンピュータサイエンス&エンジニアリング学部教授。AAAS(アメリカ科学振興協会)およびAAAI(人工知能振興学会)フェロー。1992年リスボン工科大学Instituto SuperiorTecnico修士課程修了(電子工学・コンピュータサイエンス)。1997年カリフォルニア大学アーバイン校にて博士取得(情報・コンピュータサイエンス)。マルコフ論理ネット、影響最大化問題、データストリーム、敵対的学習、sum-productネットなど顕著な業績が知られている、世界有数の機械学習研究者である。KDD2003、SRL2009ではプログラム委員長を務める。IMLS(国際機械学習学会)の発起人。“Machine Learning ”誌編集委員。SIGKDD Innovation Award、IJCAI John McCarthy Awardを筆頭に受賞多数。

神嶌敏弘(訳者)
1994年京都大学大学院工学研究科修士課程修了(情報工学専攻)。1994年電子技術総合研究所入所。2001年京都大学にて博士取得(情報学)。現在は産業技術総合研究所にて、機械学習やデータマイニングの手法、特に公平性配慮型データマイニングと推薦システムや個人化技術などについて研究。
携わった書籍に、人工知能学会監修『深層学習』(編/近代科学社)、トレバー・ヘイスティ他『統計的学習の基礎』(共監訳/共立出版)、C.M.ビショップ『パターン認識と機械学習』(共訳/丸善出版)などがある。
2019年人工知能学会 AI ELSI賞 Perspective部門受賞。  
内容サンプル
 
User Voice
読み物として面白いし、勉強になる本だと思う。
ただ、原著が数年前の本なせいか、事例など内容がやや古くなってしまっているようにも感じた。
数式やサンプルコードが書いてある専門書だと思いこみ購入しましたが、縦書きの読み物です。
一般の方で興味がある方や、目次に書いてあることを勉強するのに補足的に役に立つ内容だと思います。
 
   
人気 3位
本書の内容

時代が変わっても
変わらないアルゴリズムから考え方を学ぼう

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

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

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

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

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

 
内容サンプル
 
User Voice
まずPythonでの演算子の使い方や関数の作り方などについて説明があるのでPythonの事前知識がなくても学習を始められるようになっています。
その次の章ではお釣りを計算するとか素数を出力させるといったプログラムを作るのですが、そうした分かりやすい例を使って「同じ結果を得るにも複数の実装が可能で、どれを選ぶかでコードの長さも計算量も大いに違ってくる」ということが明快に示されています。それぞれの例にフローチャートがついているので理解の助けになりますし、それぞれの処理の手際のよさを比較できるようになっています。また不正な入力を想定してエラーを防ぐ対策もこの段階から扱っています。
とにかく初歩の段階から自然に「より良いアルゴリズムとは何か?」を考えるようになるのが素晴らしいと思います。
感想を列挙します。
・イラストが豊富で理解を助ける。
・計算量についてもきちんと言及されている。
数学とプログラミングの両方を理解する著者ならではの本といえる。
・ソースがわかりやすい。
・伝統的なアルゴリズムを扱っている。
不変的な内容であって、10年・20年後でも通用する内容。
仮にPythonが廃れたとしても、アルゴリズムの知識は死ぬまで使える。
・知らないアルゴリズムを学習できた。
・IPAの基本情報の午後対策にもよい。
ある程度、初歩の文法理解と環境が構築されてから進むのがいいと思います。
コードの説明がもう少し丁寧だとありがたかったです。
やや力任せなコードのあとに模範的なコードが示されているのがいいとおもいます。
写経の後に改造やオリジナルのコードを書いてみるのがいいと思います。

PIの近似計算に誤植があるとおもいます。自力でわかると思いますが、念のため。
 
   
人気 4位
本書の内容

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

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

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



"プログラミングコンテスト"で勝つための必須テクニック「アルゴリズム」と「データ構造」の基礎をマスター!

本書はプログラミングコンテストの問題を攻略するための「アルゴリズムとデータ構造」を体得するための参考書です。初級者が体系的にアルゴリズムとデータ構造の基礎を学ぶことができる入門書となっています。プログラミングコンテストでは、高い数理的能力で上位ランクを得ることができますが、多くの入門者においては基礎アルゴリズムの応用が目の前の問題の攻略に繋がります。つまり、基礎対策をすることでランクを上げ(問題が解けて)コンテストを楽しむことができます。

基礎対策と言っても辛い勉強ではありません。そこには、体得したスキルで問題を解いていく楽しみ、応用する楽しみ、アルゴリズムとデータ構造を網羅的に「コレクション」していく楽しみがあります。このような楽しみを体感しながら学習・対策できるように、本書ではコンテストの競技システムに類似した、オンラインジャッジと呼ばれるプログラムの自動採点システムを通してアルゴリズムとデータ構造を獲得していきます。本書の内容はAIZU ONLINE JUDGEでチャレンジすることが可能です!  
内容サンプル
 
User Voice
愛読している書籍に、アルゴリズムを勉強すると良いとの記述があり、その目的で購入しました。
C++は触ったことなかったためその点に不安がありましたが、スクリプト言語の経験があったためまあ概ね問題なしでした。

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

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

プログラミングコンテスト攻略のための,とありますが,
単にアルゴリズムを学ぶのにも良い一冊です.大学の教科書もこういうものが使われると良いような気がします.
基礎的なアルゴリズムとデータ構造を勉強しつつ、コーディングして理解できているかを確認できます。
確認はAOJというオンラインジャッジを使用します。理解と実践が両立できるのでオススメです。
蟻本より簡単なので、最初の一歩に良い本だと思います。
 
   
人気 5位
本書の内容

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

私は今までアルゴリズムに対して苦手意識があったのですが、この本を読んで考え方が変わりました。苦手意識がある人でもサクサク読める内容なので苦手意識はあるけどアルゴリズムについて学びたいという人は読むことをおすすめします。
蟻本、チーター本を読んでもさっぱりわからない、でも各種用語やアルゴリズムの名前だけはたくさん覚えた、そこで螺旋本を読むのはダルい、という人にはもってこい。
これだけで実装まではもっていけないが、概念と考え方がわかりやすく図解をいれて提示されるので、これを足がかりにして既に解読を挫折したリファレンスやコードにもう一度臨めば理解度が格段に違ってくると思われる。
 
   
人気 6位
本書の内容

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

すべての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
基本的には、ソートやリスト検索のような基本的なアルゴリズムについて説明した本です。自分はプログラムコンテストで使うような高度なアルゴリズムの原理の説明+Python(numpy)に特有の書き方の説明を探していたので、完全に目的違いでした。
しかし、それでも一通り読んでから少し時間が経ってみると、基本的な考え方を丁寧に説明した良い本だったなと思いました。とくに、再帰的アルゴリズムを展開して考える方法は、この本で初めて読みました。情報学科の人にとっては当然なのかもしれませんが、こういう初歩的な本でかみくだいて書いてあるのはありがたいです。ハッシュや木構造の探索も、整理されていて分かりやすいです。
売れ筋の入門書には懐疑の目を向けがちな人間なのですが、この著者の本は良いと思います。
きれいな状態で、期日内に届きました。ありがとうございました。
40代のプログラマーです。
ここ何年かはデータ分析のシステムの開発、運用に携わってきました。

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

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

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

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

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

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

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

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

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

この手の本は、データ構造とアルゴリズムそのものの紹介で
終わってしまうので、コンピュータサイエンスの範囲の中あるいは外での、
応用例があると、より興味深く学べると思います。
 
   
人気 8位
本書の内容
機械学習の原理を知るための、初めての入門

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

本書は具体的なデータ分析の手法を説明する意図で書かれたものではありません。
実用的な目的なら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

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

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

■推奨環境
・タブレットなど大きいディスプレイを備えた端末
・Wi-Fiネットワーク経由でのダウンロード(Kindle端末の場合)
 
内容サンプル
 
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%信頼区間を求める人は少なくとも統計的思考をするべきではありません。
数学的な箇所において、本書だけで理解を進めていける完結型を目指した本とありましたが、その点においては期待通りではなかったです。理系の学部を卒業していますが、それでも数式の展開の行間が大きかったりなど、書籍外で調べる時間は結構ありました。

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

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

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

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

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

ゲームとして実際に動く中身がどうなっているのか見えますし、実装の仕方がわかっていいです。
Pythonの解説本なのですが、非常に良くできています。特に気に入ったのは、リバーシのプログラムにおけるAIの考え方の比較、そして、モンテカルロの導入の部分です。Pythonの場合、AIなどで使われている印象が強いので、非常に参考になりました。

作者に次に出してほしいのは、Pythomで作られたAIなどのライブラリの活用方法です。ライブラリをどうやって自分のプログラムの中に導入するのかが知りたいヒトは多いと思います。是非、リリースして欲しいです。
Pythonの教科書。
似たような本が多いですが、こちらはプログラムのアルゴリズムを学ぶのがメイン。

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

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

一冊しっかり勉強するだけでも、しっかりプログラミングの作り方を学べると思います。
 
   
人気 11位
本書の内容
ウェブサービスの開発に携わるかぎり、ユーザにより良い体験を提供することは無視できない命題です。本書は、ウェブサービスを成長させることを目的に、ユーザの行動を定量的に評価し、改善する手法を学ぶ書籍です。
シンプルなA/B テストを第一歩に、線形モデルの導入、メタヒューリスティクス、バンディットアルゴリズム、ベイズ最適化と、機械学習の知識を紹介しながら、ウェブサイトを最適化するという現実的な問題を解くための数理的な手法を解説します。
Pythonによるサンプルコードと、グラフィカルな図版で表現された数学的なモデルを組み合わせ、機械学習と統計学の基礎を丁寧に解説しています。
ウェブ最適化の手法を学びたい、機械学習の基礎を知りたい読者に最適の1冊です。  
内容サンプル
 
User Voice
かなりよい。
 
   
人気 12位
本書の内容
コンピュータを使い物にするアルゴリズムにはどういうものがあるか、今日的な視点から選んだ実際に役立っている9のアルゴリズムのアイデアを、章ごとに掲げてわかりやすく説明した読み物です。

図を多用し、その仕組みをたとえを使いながら見せることに重点を置いています。

著者が選んだ基準は、(1)インターネットでメールやブラウザを利用する一般ユーザーの日常のコンピュータで使われていること、(2)特定の状況や高度のソフトウェアだけに使えるものは除くこと、(3)基本的にコンピュータ・サイエンスの理論に基づくこと、です。

扱っている9のアルゴリズムのテーマは、検索エンジンのインデクシング、ページランク、公開鍵暗号、誤り訂正符号、パターン認識、データ圧縮、データベース、デジタル署名、計算不能性。  
内容サンプル
 
User Voice
ソフトウェアを仕事にしていますが、この本に書かれているような話には疎かったので、すべての章を楽しく読むことが出来ました。
多少はコンピュータサイエンスのリテラシが上がったように思います。
多くのアルゴリズムが、難しい数学や理系的な背景をほとんど必要とせず、身近な比喩と簡潔な理屈で説明されています。
特に仕事などで必要とされていない方にも読み物としてオススメしたいです。
コンピューターの専門用語や専門知識を必要とせずに、ソフトウェアの偉大なアルゴリズムを解説しています。ソースコードの例とかは出てこないので、個々のアルゴリズムの詳細には立ち入っていませんが、ソフトウェア科学の入門として、また、ソフトウェアエンジニアの教養としても、この内容はとてもいいのではないかと思いました。
コンピュータサイエンスの勉強をしています。アルゴリズムは基本ですが、単純な理解から入って、大変奥の深めることのできる領域であることを感じます。たくさん勉強することが見えてきます。スピード感持って読ませて頂きたいです。
 
   
人気 13位
本書の内容
本書は、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をゼロから学ぶ本ではないですが、壁に当たった時のため絶対持ってたほうがいいです。
過学習とは何か、教師ありの学習モデルとは何かなどAIや機械学習の分野で出てくる用語を一つ一つ丁寧に解説された本です。説明も数式を使ってではなく、言葉や図を用いて説明しているので理解はしやすいです。
「エンジニアなら知っておきたい」とタイトルにありますが、エンジニアでなくてもこれからの基本知識として十分に役立つ内容だと思います。
私自身はエンジニアではありませんが、お客様にIT施策を提案する都合上、実際に体験しておこうと、
WatsonとMSのMSLの一日講習を受けた程度。

今までAI関連の本を何冊か読みましたが、ロジックなど技術的な内容を説明している本
(難しくて途中で挫折…)
一般の人向けに概念的な内容をさらっと書いてある本
(知ってることが多くてネットの情報の方が役立つ…)
どちらかに属する本が多い中、こちらの本は、専門的な説明の後、例えば…と一般的な事象で説明されており
腑に落ちました。
よくある疑問についても、答えが用意されていて納得しやすかったですし、麻里ちゃんが主人公のコラムが各章にあって、一息つくことができ、飽きずに読み進めることができます。

説明のため比喩を用いた色々な場面が出てくるので、技術的な内容を技術書や学術書のように読んで理解したい人には向いていないかも知れません。

3部形式になっており、1部では今までの経過と現状の各社から出ているAI系サービスが一覧でまとまられており、次から次に出てくるサービスを自分の中で消化できていなかった私には、整理ができて何となくぼやっとしていたのが人に説明できるレベルになったように思います。

2部は具体的なアルゴリズムの種類と学習法についてが、系統立てて説明されておりAIを実装するための手法が理解できました。

3部は実際にどのように実用化が進んでいるのかが説明されており、お客様に提案する人、自社で利用を考える立場の人にも参考になると思います。

難しい内容が理解しやすく書かれていて、IT業界にいる方、企業のシステム担当の方には
最新の基本知識を得るのに最適な一冊だと思います。
(私にはぴったりでしたが、もっとレベルの高い人には物足りないかもしれないので星4つで…)
 
   
人気 14位
本書の内容
※この商品は固定レイアウト型の電子書籍です。リフロー型電子書籍のようなテキスト拡大などの機能が利用できませんので、お使いの端末で無料サンプルをお試しいただいた上でのご購入をお願いいたします。

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

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

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

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

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

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

それから、今回Kindle版を購入したのですが、電子書籍としての目次が無くてかなり不便です。今からでもいいので更新お願いします。
 
   
人気 15位
本書の内容
進化計算プログラミングのための代表的な進化的アルゴリズムを解説!!<br/> 本書は、進化計算プログラミングのための代表的な進化的アルゴリズムを解説します。各アルゴリズムを丁寧に解説しているため、どのプログラミング言語にも対応できます。アルゴリズムをプログラミングに応用することに主眼を置いており、情報関連の学生ばかりでなく企業のSE の方にも役立つものです。 付録としてC++のコードを掲載します。  
内容サンプル
 
User Voice
遺伝的アルゴリズムとアントコロニー最適化について特に詳しく書かれており、他のアルゴリズムに関しては、簡単な説明とC++での実装コードが載っているといった感じでした。
これらの種々の最適化アルゴリズムが、分かりやすい説明とコード付きでまとめられているという点に、価値があると思いました。
コードは、あまりプログラミングが得意ではない人がクラス設計やコーディングをしたような印象を受けましたが、プログラミングの本ではないですし、やっていることは分かるので、問題ないと思いました。
進化計算を勉強したいと思いこの本を購入しましたが概ね満足です。
とくに第二章までの解説は非常に分かりやすかったです。
しかし、第三章以降のアルゴリズムについてはどのアルゴリズムがどのような問題に適しているかを書かれていなかったので少し残念でした。
入門という意味で基本的なところを抑えつつ、体系的に進化計算アルゴリズムを学びたい人にはおすすめできます。
良書だと思います.広く浅くという感じではあります.実際にサンプルプログラムを動かしてみて,どういう動作をするのかが体験できるので,その後,もう少し専門的な話にも入っていきやすくなるのではないでしょうか.進化計算アルゴリズムへの入り口(入門)としてはベターな1冊だと思います.
 
   
人気 16位
本書の内容
エンジニアの基礎体力を身につける

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

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

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

資格試験、就職試験に挑む方、大学や専門学校で情報処理を学ぶ方など、プログラミングの力を伸ばしたいすべての方におすすめです。

※この商品は固定レイアウトで作成されており、タブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。
購入前にお使いの端末で無料サンプルをお試しください。  
内容サンプル
 
User Voice
Pythonで基本的なアルゴリズムとデータ構造を説明する書籍です。プログラム一行ごとにその説明をしている為、非常に分かりやすかったです。今まで読んできた初心者向けのアルゴリズムの本で一番親切だと思いました。
書籍の紙が柔らかいので、開きながらプログラミングしやすい点も良いです。
「教科書」というタイトルと、「108のサンプル」という記載から、網羅性のある本かと思ったらエンジニアであれば知ってるよ!という内容のみでがっかり。本当に入門から学びたい人には良いと思う。ただ、タイトルが誤解を招いている。購入にはご注意を。
 
   
人気 17位
本書の内容
これから必ずくる量子コンピューティングの時代に備えるためのバイブル
本書は、ITのプログラマやエンジニアを主な読者対象として、その方々にとって特に重要な量子コンピューティングの基礎をわかりやすく解説した書籍です。
量子コンピュータについては、多くの人がクラウド越しで実物に触れられるようになった今でも、物理の専門書から学ぶかチュートリアルやハンズオンのウェブ記事を読んで勉強するかしかありません。これから量子の力をフル活用できる人や、量子情報の考え方を利用してコンピュータサイエンスをよくしていく人材が必要になるというのに、入門書と専門書の間には大きな隔たりがあります。
本書はこれから必ずくる量子コンピュータの時代で活躍されるであろうITのプログラマやエンジニアの皆様にとって、特に知っておくべき概念をできる限り網羅しています。量子コンピュータの背景、その原理や応用についても高校数学で学んだ内容を起点に数式も示しつつ、しっかりと解説しています。  
内容サンプル
 
User Voice
まだ読み始めてまもないのですが、
必要な知識を一つずつ、そこそこ丁寧に取り上げている感じがします。

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

もっとも、ど素人の私にはそれでも難しい内容ではありますが、この本をベースにわからないことを調べていこう。と思わせてくれました。
理論から動向までの基礎が文字だけでなく、数式でもきちんと解説されています。大学3年生くらいのレベルでこれから本格的に量子コンピュータを始めてみたい人が読む最適な本だと思います。
一つ一つのトピックが2-3ページでさわりだけまとめて紹介されています。
広く浅くわかった気になるので興味があれば元論文を読む感じで勉強できます。
VQEはもちろん2019年くらいまでのかなり最先端なアルゴリズムや流行もしっかり押さえられていて実用的な本だと思います。
ただ間違った記述や式も散見されます(例えばハートリーフォック以外の一般的なハミルトニアンが波動関数に依存し非線形になるなど)。
回路を載せず数式と言葉で説明されているアルゴリズムもあるのでそこは少し分かりにくい。
 
   
人気 18位
本書の内容
東大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
計算機科学の入門書です。特に初心者に対して何からどのように教えるべきか。実に参考になります。
pythonは素材として使われているに過ぎません。ですから書名は「pythonによる、、」ですね。amazonで見てもこのキーワードで始まる書名が多いですね。本書を読めば理由はわかる気がします。
不思議なのは翻訳書を読んでいるような錯覚に陥ることです。東大の本で日本人が執筆のはずなのですが。私は翻訳書で勉強することが多かったのですが、何かそれと文書の雰囲気が似ているんでしょうね。ガツガツとテクニックを伝授するのではなく、話しかけるような諭すような文体です。こういう本は好きですね。
今まで種々のPython入門書を読んだ後、購入した本です。
多少操作できるようになると、自分で工夫しながらプログラムを組んでいく必要があります。そのためにこれまで学んだ内容を総動員し、失敗を繰り返しながら作成するのですが、それに対する良いTextがありませんでした。この本はその過程を実感できる例題と注釈があり、個人的には打ってつけでした。苦労しましたが、その過程でのミスや認識違いを学べる良書でした。独自の「ita」というマクロが準備されておりますが、これを既存のコードで組む能力はまだないので、そのヒントを公開いただけたらと希望します。
情報処理技術者試験にもCOBOLに代わって採用されたPython。
この本は、Python入門ではなく、CS入門の本です。
CSの一般教養の授業に使える本です。真っ先に計算誤差に言及するところなど現実的で好感が持てます。
アメリカの大学のCSもこんな感じです。てか、アメリカの大学のテキストを手本に翻訳したような内容です。
私の知っているアメリカのCS入門の授業のテキストは、この本の内容の2倍の量を1セメスターでこなしていました。
 
   
人気 19位
本書の内容
 
内容サンプル
 
User Voice
機械学習において、どの様なアルゴリズムがあるのか俯瞰するのに良いと思います。ただ、212ページで、この値段は....。
機械学習のための各アルゴリズムの特徴が、各アルゴリズムの冒頭に記されているのだが、これが抽象的で理解しずらい。
もう少し、歴史的な背景とかなぜこのようなアルゴリズムが必要になったのかとか実際にどのようなことに役立ってきたのかなどが記載されていないので、読者からすると入門書でありながら書かれている内容が抽象的になってしまい過ぎて理解しにくい。いろいろな簡単な例について説明されているが、このらの例も簡単すぎて実際にどのようなときに使用したらよいのか、などが分かりにくい。理論自体、あるいはそこで使用されている数学自体は簡単なものが多いので、もう少し工夫してわかりやすく書いてほしかった。内容はやさしくても、そこになぜそうなるのかという理論がわかりやすく書かれていないと理解しにくい。読者は子供の使いではないので、簡単な例だけで、こういうふうに理解しろと言われてもそれは無理だ。
結局この本だけではダメなので、インターネットで関連するいろいろな記事を読むことにより、明確なイメージをつかむことができた。
■良かった点
・各ページの構成・見栄えがとても良く、機械学習の難しい話をとっつきやすく解説してくれている
・アルゴリズムの網羅性が高く、見やすさ/とっつきやすさと相まって、知らないアルゴリズムがあったときに心理的な障壁がなく気軽に本書で調べることができる
■もう一歩な点
・各アルゴリズムの詳細な解説は完璧に省かれているため、数学的な原理を知りたい場合はネット等で別途調査する必要がある。
 
   
人気 20位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 21位
本書の内容
イメージがつかめるから、面白い!
アルゴリズムをまるごとイラストにしました


【本書のポイント】
・基本的な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ですね。高校の数学がわかっていたら、わかるはず。
プログラム初心者向けの本ですが、熟練者でも振り返りや興味本位には良いです!

特に暗号は理解するにも難しい箇所ですが、素晴らしい図と説明でした。
痒いところの説明もあり、楽しく読むことができました。
 
   
人気 22位
本書の内容
独自のシミュレータQCEngineを使ってJavaScriptで書かれたサンプルプログラムをブラウザ上で動かし、量子コンピュータでのプログラミングに必要な知識やスキルを学ぶことができます。
量子コンピューティングの基礎とその可能性に関する直感的理解が容易になるよう、豊富な例と図を用いて説明します。
前半では、単一キュビットに対する基本的な量子演算、多重キュビット演算、複合演算(量子プリミティブ)、基本的な量子アプリケーション、後半では、探索問題、画像処理、暗号問題、機械学習への応用について解説しており、本書だけで基礎から実践的な応用技術までを一気に習得できます。
これから学習を始める技術者、研究者を中心に、新しい研究分野やビジネスで量子コンピュータを利用したいと考える方がプログラミングの「感覚」を養うのに役立つ、ユニークなガイドブックです。  
内容サンプル
 
User Voice
従来のコンピュータの限界がわかり人工知能や機械学習や暗号認識において今後は量子コンピュータが必須になることがわかるとともに宇宙の成り立ちも量子コンピュータのような動作をしているように感じる。
内容としては充実しており、勉強になった。
特にシミュレーションを手元で試せるので、色々と実験しては理解を深めるのに役立った。
大学で数学や物理を専攻している人にとっては、多少、厳密性に欠けた議論や言い回しに引っかかるだろうが。(これはこの本の読者のターゲット設定から仕方ない点ではある。)

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

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

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

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

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

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

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

最適停止
見てから跳べ
閾値ルール
探索と活用
多腕バンディット問題
勝てばキープ、負ければスイッチ
ギッティング指数
疑わしきは罰せず
世界は変わる
ソート
バケットソート
ノイズと頑健性
キャッシュ
ベラーディのアルゴリズム
ランダムエビクション
最長未使用時間法
忘却と整理の仕方
スケジューリング
コンテキストスイッチとスラッシング
ベイスの法則
後ろ向き推論
ラプラスの法則
コペルニクス原理
スモールデータと直感
オーバーフィッティング
クロス確認
正則化
ヒューリスティック
緩和法
ラグランジュ緩和
ランダム性
モンテカルロ法
メトロポリス・アルゴリズム
焼きなまし法
ネットワーキング
加法的増加・乗法的減少
階層なき制御
ゲーム理論
再帰
ナッシュ均衡
アルゴリズム的ゲーム理論
囚人のジレンマ
メカニズムデザイン
情報カスケード
顕示原理
 
   
人気 25位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 26位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 27位
本書の内容

時代を生き抜く
「確かな力」が身に付く!

【本書のポイント】
・身近なテクノロジーの裏側を体感できる
・問題を解決に導く「考え方」がわかる
・変革するIT技術の「未来」が見えてくる!

アルゴリズムは、プログラマーやエンジニアにとって
必要不可欠な知識です。

特に昨今は機械学習や深層学習が注目されるなど、
ITテクノロジーの大転換期にあり、アルゴリズムの重要性は
ますます高まってきました。

本書は、「身の回りの様々なテクノロジーはどんなアルゴリズムで
実現されているのか」を、自宅PCで確認しながら学習を進めていきます。

「アルゴリズムの基本を学べること」だけでなく、
「アルゴリズムの開発&活用力(=問題解決力)を身に付けること」が
本書の目標です。

スキルを高めたいプログラマーはもちろん、
アルゴリズムについての知識を得ておきたい各種技術者や
IT企業の営業マンなどに、ぜひ手に取ってもらいたい1冊です。

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

 
内容サンプル
 
User Voice
小学校でプログラミング教育がはじまりますが重要となるのがアルゴリズムです。平易に基本的なアルゴリズムが学べる1冊になっています。ITパスポート試験や経営情報システム(中小企業診断士試験)では例えば画像圧縮で非可逆方式という言葉を学びますが、用語だけなので実際にどんな仕組みが理解するには最適です。

コーヒーブレークのコラム記事もウンチクが多くいいですね。ソート、文字列処理の基本形だけでなく、グーグルなどの検索エンジンがどんなアルゴリズムで動いているのか、スマホの道順案内や画像認識をどう行っているのか、最新の機械学習まで記載されています。
IT企業に勤めており、新入社員への研修指導するため、アルゴリズムを分かりやすく復習するために本書を購入しました。
アルゴリズムとは何かということを具体的にかつ実例を用いて紹介しており、とても分かりやすかったです。
既にIT分野に詳しい人にはお勧めできませんが、入社したての人や、これからITを学ぶ学生など、まだITに関しての知識が浅い人にはとてもお勧めできる本だと思いました。
書かれている日本語は平易で読みやすい。
「ふう~ん、アルゴリズムってこういうもんかァ~」って感触を得るための本だと思う。
そういう目的なら良書。
一度読んだらたぶん再読するような内容ではない。
類書は多数あり。
書架の飾りになるかどうかは不明。
立ち読みで済ますにはやや内容が厚いかな?
 
   
人気 28位
本書の内容
プログラミングとアルゴリズムの一番やさしい新定番書!

プログラミング言語を習得しても、実際にコードを書いてみようとすると
「どう書いて良いかわからない」と感じる方は多いと思います。

本書はアルゴリズムとプログラムロジックの基本を通じて、
プログラミング(コードを書く)の実際を学んでいただけます。
アルゴリズムは、与えられたさまざまな課題をプログラムで効率良く
処理するためのテクニックの集合体です。これらを通じて、誰でも効率の良い
効果的なコードを作るための第一歩を踏み出すことができます。

・絵を多用し、短い解説で絵本のようにビジュアルに理解することができます。
・2ページを単位とした説明、基礎に絞り込んだ内容でスピーディに習得。
・説明は基本中の基本から。「C言語の基礎」から学べます。
・プログラミングのために必要な知識を広くフォロー、コードの書き方が身につきます。
・環境構築から内容を最新にアップデートし、実際に試して学ぶことができます。

【「絵本」シリーズは、ラインナップをリニューアル!】
翔泳社の「絵本シリーズ」は、豊富なイラストと簡潔な解説で
コンピュータ技術に入門できる初心者向けのシリーズです。
コンピュータ言語/技術の超初心者や手軽に習得したい方に最適な入門書です。

新しい「絵本シリーズ」では、旧来の分かりやすさ、親しみやすさ、
基礎に徹した内容というコンセプトはそのままに、Web/ネットが全盛となった
現在のコンピュータ技術の潮流に合わせた解説を心掛けます。

『Cの絵本』『Javaの絵本』『Pythonの絵本』などを皮切りにラインナップを順次刷新、
さらに新しい仲間を増やしてラインナップを充実していきます。

 
内容サンプル
 
User Voice
 
   
人気 29位
本書の内容
現代社会を支える根幹技術をPythonで!  Pythonプログラミングのスキルアップにも最適!

名著『Pythonスタートブック』の著者である辻真吾氏が書き下ろす至極の入門書! ソートやグラフ構造など基本的な内容から、乱択アルゴリズムや数論、ブロックチェーンの仕組みなどの幅広い話題までを解説。コードはWeb公開(
https://github.com/tsjshg/pyalgdata)。

【データサイエンス入門シリーズ】
第2期として、以下の2点を刊行!
『統計モデルと推測』松井秀俊・小泉和之(著)竹村彰通(編)
『Pythonで学ぶアルゴリズムとデータ構造』辻真吾(著)下平英寿(編)

【「巻頭言」より抜粋】
 文部科学省は「数理及びデータサイエンスに係る教育強化拠点」6 大学(北海道大学、東京大学、滋賀大学、京都大学、大阪大学、九州大学)を選定し、拠点校は「数理・データサイエンス教育強化拠点コンソーシアム」を設立して、全国の大学に向けたデータサイエンス教育の指針や教育コンテンツの作成をおこなっています。
 本シリーズは、コンソーシアムのカリキュラム分科会が作成したデータサイエンスに関するスキルセットに準拠した標準的な教科書シリーズを目指して編集されました。またコンソーシアムの教材分科会委員の先生方には各巻の原稿を読んでいただき、貴重なコメントをいただきました。
 データサイエンスは、従来からの統計学とデータサイエンスに必要な情報学の二つの分野を基礎としますが、データサイエンスの教育のためには、データという共通点からこれらの二つの分野を融合的に扱うことが必要です。この点で本シリーズは、これまでの統計学やコンピュータ科学の個々の教科書とは性格を異にしており、ビッグデータの時代にふさわしい内容を提供します。本シリーズが全国の大学で活用されることを期待いたします。
――編集委員長 竹村彰通(滋賀大学データサイエンス学部学部長、教授)

【推薦の言葉】
データサイエンスの教育の場や実践の場で利用されることを強く意識して、動機付け、題材選び、説明の仕方、例題選びが工夫されており、従来の教科書とは異なりデータサイエンス向けの入門書となっている。
――北川源四郎(東京大学特任教授、元統計数理研究所所長)

国を挙げて先端IT人材の育成を迅速に進める必要があり、本シリーズはまさにこの目的に合致しています。本シリーズが、初学者にとって信頼できる案内人となることを期待します。
――杉山将(理化学研究所革新知能統合研究センターセンター長、東京大学教授)  
内容サンプル
 
User Voice
競技プログラミングなどの世界ではC系の言語が用いられることが多く、アルゴリズム系の書籍の大半がC系またはメジャーな言語であるjavaを中心にした解説をしている中、Pythonを使って解説してくれている貴重な書籍である。実装の現場ではPythonを使うことが多く、データサイエンス関連のシステムを実装する場合においてもこれらアルゴリズムの知識が必要となるため、これを読むことで基礎的なアルゴリズムとデータ構造の知識を効率よく学ぶことができる。
基本的なアルゴリズムの学習が方針のようだが、取り上げられているトピックは広く、
・クイックソートなどの基本的なソートアルゴリズム
・木構造、ヒープの構造などのデータ探索
・タンパク質、インターネット、鉄道網を例としたグラフ構造
・ビットコインなどに用いられる暗号アルゴリズム
など、アルゴリズムとデータ構造、Pythonの書き方の手慣らしをしつつ、これら現代社会のシステムに広く応用されているコンピュータ科学の知識も学ぶことができる。
ただ、純粋なデータサイエンスとは少し方向性が違い、データサイエンスの更に基礎にあるアルゴリズムの部分を学ぶ本と考えるべき
本書でも述べられている通り、昨今様々な組み込み関数がある中で、アルゴリズムとデータ構造を手早く学べる本がないかと思っていたところ、ちょうど良いと思い購入しました。
趣旨の通り、応用先まで基礎をどのように活用するかを踏まえながら記載されていると言う点で、非常に良い本だと思います。一方、分量故なのか、応用から見た場合の基礎の使い方が一本道になっているので、やや物足りなさがあります。ソートや木構造など、もう少し使い方としての出口があると嬉しかったです。
また、練習問題は、動的計画法の活用まで含めて記載されているかと思いきや、貪欲法で解くような問題になっていました。練習問題はググれば出てくるのですが、練習問題として整備されているとより良いものになったのではないかと思います。

総じて、物足りなさはありつつも、pythonに少しなれた方が、今のプログラミング環境の前提でこのテーマを学ぶ1冊目としては良いのではないかと思います。
以下のとおり、いきなり「巻頭言」に文句をつけてしまいましたが、このシリーズの個々の本は、機械学習を含む最近の話題を押さえた分かりやすい本が多いので、今更ですが補足します。

おそらくはこの教科書シリーズに共通のもので、この本自体の評価には関係しないのでレビューとして相応しく無いかも知れませんが、巻頭言にある「従来からの統計学とデータサイエンスに必要な情報学」という言い回し自体が、深層学習を含む機械学習の諸方法が、従来からの統計学の問題を克服しようとした努力であることを踏まえていない、データサイエンス分野の遅れ、それ自体だと思います。

また冒頭の「このシリーズについて」で「第4次産業革命」なる語が踊っていますが、この言葉には正直うんざりしているので何でこの本を買ってしまったのか後悔しています。

更にその後に「付加価値の創出や革新的な効率化等などによる生産性向上等」とありますが、もしもこれがこの国の経済産業省の言葉だとしたら、
少しは世の中を便利にすることを考えろ、
産業革命以降の経済成長は世の中が便利になったことの結果のはずだろ、と言いたくもなります。

そんな愚痴はともかくとしてようやく本題のこの本の内容についてですが、第1章のPython入門はPythonの解説書でも名が知られた著者の手によるものなので簡潔かつ要点を押さえた素晴らしいものなので、ここだけでも充分読む価値はあると思います。
とはいえ全体の構成については、NP困難の話とか興味深い話題も多いのですが、(著者の方のまえがきでは「幅広い話題を取り入れる」となっていますが)取り上げている話題に今ひとつまとまりがない印象も受けます。
ただアルゴリズムを代表するものとしてソートに関する話題は複数回出てきますが、著者の先生自身がソートするのにコードを自分で書く人はいない、としている状況なので、この本が読者として想定している初学者の学生に詳しく説明する必要もなかったのではないかと思います。

この本が想定している目的からは外れそうですが、この間、深層学習の解説書などを読んでいて、この分野での計算の主戦場はどうも行列の積らしいという気がして来たのですが、行列の積は行列が大きくなると積の定義どおりのやり方で正直に計算しようとすると(計算時間とメモリの使用量が)とんでもないことになるようなので(この本にもそれを思わせる記述がp.127,p.137にあります)、巨大行列をコンピュータで実用的に処理可能にする方法についての解説もあった方が読み物として面白かったのではないかと思います。

実際のところ、いわゆるビッグデータはコンピュータに入れる最初の段階では、基本的に大き過ぎる行列になるはずなので、データサイエンスという、このシリーズの主旨からも必ずしも外れていない気がします。

またその意味からすると、いわゆるデータサイエンスが想定しているのはネットワークとかいう巨大過ぎるグラフなので「よほど巨大なグラフを扱うのでなければ、隣接行列を使うのがよいだろう。」(p.098)としているのはどうかと思います。

というかこのレビューを書いてて巨大行列の計算がいわゆるデータサイエンスなるものの課題だと自分が思っていることに気がついたので他の本も探して少し勉強して見ることにします。
結局のところアルゴリズムは解法の手順の問題ではなく、計算量の問題だということはこの本を通じて学んだことですが、できれば著者の先生には次は次元の呪いがかかったビッグデータの計算処理の問題に的を絞った本を出してもらえないものかと思ったりもします。

ところで自分でも読む気にならないくらい長々と書いておきながら、ここまでレビューの点数の理由を書いてありませんでしたが、実のところ自分は「面接」(p.146)がマジで嫌いなのが理由だったりします。

なお練習問題の解答はGithubにあります。
 
   
人気 30位
本書の内容
●はじめての方に最適!

お店にできる行列や目的地まで行くときの道選びなど,日常の身近な例を挙げながら,データ構造の基本から,分割統治法,グリーディ法,バックトラック法などの設計手法までを解説していきます.具体的にイメージしながら学べるので,初学者も無理なく理解できます.
設計手法の説明のあとには,グラフや文字列照合などの具体的なアルゴリズムについても解説します.

2006年に初版が発行されて以来,高専や大学など多くの学校で採用されている人気のテキストです.今回の改訂では,表現や項目を見直し,よりわかりやすくなりました.

【目次】
第1章 アルゴリズムの基礎
アルゴリズムとは/アルゴリズムの評価基準
計算量の漸近的評価/アルゴリズムの記述
演習問題

第2章 アルゴリズムの基本データ構造
配列/連結リスト/スタックとキュー
演習問題

第3章 アルゴリズムにおける基本概念
木/再帰
演習問題

第4章 データの探索
探索の定義と簡単な探索アルゴリズム/2分探索法
ハッシュ法/探索アルゴリズムの実行速度比較
演習問題

第5章 ソートアルゴリズム1
ソートの定義と基本的なソートアルゴリズム
挿入ソート/ヒープソート
演習問題

第6章 ソートアルゴリズム2
クイックソート/ソートアルゴリズムの性能比較
安定なソート
演習問題

第7章 アルゴリズムの設計手法1
分割統治法
演習問題

第8章 アルゴリズムの設計手法2
グリーディ法/動的計画法
演習問題

第9章 アルゴリズムの設計手法3
バックトラック法/分枝限定法
演習問題

第10章 グラフアルゴリズム
グラフとは/グラフを格納するデータ構造
グラフの探索/最短経路問題
演習問題

第11章 多項式と行列
多項式の計算/基本的な行列積アルゴリズム
行列の連続積/ストラッセンの行列積アルゴリズム*
演習問題

第12章 文字列照合アルゴリズム
文字列照合とは/基本的なアルゴリズム
ホールスプールのアルゴリズム/ボイヤームーア法*
演習問題

第13章 アルゴリズムの限界
問題のクラス/解くことのできない問題*
演習問題

さらなる勉強のために
演習問題解答
索引  
内容サンプル
 
User Voice
気に入りました。
 
   
人気 31位
本書の内容
「最も分かりやすいアルゴリズム入門書」と読者が絶賛した大ロングセラーの改訂版

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

「最も分かりやすいアルゴリズム入門書」と読者の絶賛を博した大ロングセラー『新・明解C言語によるアルゴリズムとデータ構造』の改訂版です。
初級レベルのCプログラマを対象に、スタックやキュー、二分木などのデータ構造をはじめとして、探索、ソートなどの、アルゴリズムの基礎について解説しています。
改訂にあたっては、レイアウトを大幅に変更するとともに、文章も見直し、さらにわかりやすくなっています。
なお、これまでCD-ROMに収録し、好評をいただいた「アルゴリズム体験学習ソフトウェア」は、弊社のサイトからの無料ダウンロードとなります。これにより、本文とテキストとソフトウェアの連動学習がより効率的に行えるようになります。

●目次
序章 アルゴリズム体験学習ソフトウェア
 1 学習を始める前に
 2 アルゴリズム体験学習ソフトウェア
第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 配列による集合
 7-3 ビットベクトルによる集合
第8章 文字列探索
 8-1 文字列の基本
 8-2 力まかせ法
 8-3 KMP法
 8-4 Boyer-Moore法
第9章 線形リスト
 9-1 線形リストとは
 9-2 ポインタによる線形リスト
 9-3 カーソルによる線形リスト
 9-4 循環・重連結リスト
第10章 木構造
 10-1 木構造
 10-2 2分木と2分探索木

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

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

■推奨環境
・タブレットなど大きいディスプレイを備えた端末
・Wi-Fiネットワーク経由でのダウンロード(Kindle端末の場合)
 
内容サンプル
 
User Voice
演習の解答が柴田望洋さんのネットに載ってるのですが、解答に間違いが多くて混乱します。
例えばprintf("降順に入力してください。¥n", nx);というようにおかしなことになっています。私のような初心者には優しくない本です。
 
   
人気 32位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 33位
本書の内容
Excelを使った機械学習の入門書!

機械学習とは、コンピュータに学習させる技術を指します。AIの発展とともに、さまざまな手法が登場してきました。このAIのモデルとそのアルゴリズムは種類が多く、AIに関心のある人が学習を始めたとき、困惑する原因となっています。本書では、それらを整理し、わかりやすく解説します。具体例にはExcelを利用するため、難しい前提知識なしで、機械学習のさまざまな手法を体験することができます。どのような手法でAIが実現しているのか知りたい人に最適です。  
内容サンプル
 
User Voice
同じ著者から同じような本が出てますが、(3)と(4)さえあれば、一通りカバーできます。
(1)Excelでわかるディープラーニング
(2)Excelでわかるディープラーニング RNN/DQN編 
(3)Excelでわかる機械学習             :Q学習とDQNをカバーしてる/RNNではBPTTまで述べられている
(4)高校数学でわかるディープラーニングのしくみ   :CNN/RNNの基本原理は(1)(2)よりわかりやすい
全てをエクセルで済ましてしまおうという作者さんの気合が感じられます。
深層学習の簡単なトイモデルについて書いてあり実際にエクセルで手を動かせるので、最初の理解にはうってつけです。
「これならわかる機械学習」で抽象的すぎてわからなくなった部分を本書で補うという勉強法はなかなか良いのではないかと思いました(今、RNNでそれをやっています!)。
AI(人工知能)と聞くと、それだけで難解な印象を持ってしまいますが、本書を読むとAIの背景で動いている仕組み(数式)がExcelで可視化されていてよく理解できる。初学者には分かりやすくて良い本だと思う。
 
   
人気 34位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 35位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 36位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 37位
本書の内容
バンダイナムコスタジオの開発者が伝授!

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

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
ほかのUnity本が、『素材を用意しておくので、本を見ながらプログラムを書いたり、素材を配置したりしてゲームを完成させる』みたいな形式なのに対して、この本は、『サンプルゲームを10個用意しておく。このゲームの主な機能は、このようなプログラムで実装してある』みたいな感じになってる。

第1章の、無限横スクロールアクションゲームでは、『無限にループする背景』『敵キャラの出現パターン』など、
第2章の、ジグソーパズルでは、『パーツをつかむ方法』『離したパーツが、カチッと穴にはまる方法』など、ゲームの核となる部分の解説しかしてない。
 (実際のサンプルゲームは、タイトル・リザルト画面など、他にもいろいろ実装されているが、それらの作り方の解説はされてない。)

……だが、なにしろサンプルゲームが10個もあるので、とにかく沢山の情報がある!
ほかのUnity本を1、2冊こなして、実際にゲーム作ろうとしたときに、『あれ、こんな機能どうやって実装するんだろう……』と悩んだとき、かなり手助けになる。

そして、サンプルゲーム10個のプログラムが読めるというのも、かなり大きい。
例えば、第2章のパズルゲームだが、タイトル画面→ゲーム開始への遷移は、『ボタンが押されたときの効果音が鳴り終わってから、ゲームへ移動』みたいな感じになってる。 本には載ってないけど、コードを読むことで、こんな機能の実装ができるようになる。
(this.GetComponent<AudioSource>().clip.length で、このコードをアタッチしてる物体の、AudioSourceコンポーネントの音源の長さを取得してる、っぽい。
 自分も初心者なので、うまく言葉にできない……。)

とにかく、ほかの本では載ってない、かなり細かいことが分かるので、とても役に立つ。

本も、サンプルゲームも、とにかく情報量が半端ない。
だが、情報量が多すぎて、プログラム初心者は、何十・何百行ものコードを読むだけで、かなりキツイ。

けど、間違いなく、1度は読む価値があると思う。

(すでに、公式リファレンスの読み方が分かる人には、使えるか分からない……。
 少なくとも、ほかのUnity本を1,2冊終わらせていて、ある程度Unityが使えるようになって、初心者を卒業したいという人(自分もそんな感じ。)には役に立った。)

拙い文章をこんなに長々と続けて申し訳ない。
C#の書き方とUnityのクセとがなーんとなく判ったあとの、実際のゲーム作りのノウハウが詰まっています。
初級から中級への脱皮、マンネリ気分の打破ができそうです。
C#の全くの初心者にはちょっと厳しいけど、買っておいて損はない良書です。
「Unity5ゲーム開発レシピ ハマるゲーム制作のノウハウ」も同じ傾向で、良書だけど初心者には厳しいかもです。(ただし、必ず正誤表の確認を。)
初心者向けでは「ゲーム作りのはじめかた Unityで覚える企画からレベルデザインまで」が良書ですが、こちらはUnity4対応です。
表題の通りです。私自身が秋葉原の書泉で、20冊くらいあるUnity関連のもの中から表題の4点に重点をおいて探した結果、この書籍が当てはまりました。
"C#"ということですが、Unity5ではJavaScriptかC#で選ぶことになり、JSはUntiy独自の書き方を交えている(C#にもありますが、JSの方はベースメソッドなどにも変更を加えていて、C#は単純な追加です)のでC#を選びました。Untity5は、現在の最新版だからです。PC/Mac向けは、スマホかパソコンかというだけです。具体的なゲームを作りたいというのも私の望みです。
本としては割りと細かめに説明はされているものの、C#やリファレンスの説明はありませんのでC#の基礎的な知識(私はJavaやったことあったので平気でした)とUnityで使うメソッドをググる力があれば読み通すことはできると思います。
ただまったくのプログラミング初心者がとっつけるかというと少し難易度は高いと思います。
多少プログラミングしたことがある・ゲーム制作に興味がある方であれば購入してみてもよろしいかと思います。
 
   
人気 38位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 39位
本書の内容
話題作『アフターデジタル』著者の尾原氏が満を持して世に問う久々の単著!

「デジタルはすでに『哲学』の一領域です。本書でぜひ『リベラルアーツ』としてのデジタルを学んでください」
山口 周氏推薦!


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


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


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


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


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


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

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

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

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

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

アルゴリズムをゼロから学びたい人に必携の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大特徴は看板に偽りなしでした。
「入門の入門」:プログラムでかつて挫折したクチですが、分かりやすくそれでいて的を外していない解説が優れいています。
「途中で挫折しない」:定番のアルゴリズムを限定して解説しています。フローチャートと疑似言語をノートに並列して書き写していますが、そこに至る前のプロセスがひとつひとつ分かりやすく解説してあるので、飽きずに読み進むことができました。
「すらすら分かる」:学生時代から参考書は多々使ってきましたが、著者が十二分によく理解していること、分からない人はなぜ理解しないのかが分かっている人が書いたものは違います。分かりやすさに違いがでてくるのはそういうポイントです。この本はプログラム挫折経験のある私にとって本当にすらすら分かる好著でした。
プログラミングを勉強していますが、アルゴリズムがさっぱり分からず躓いてばかりなので、分かり易そうだったこの本を購入しました。
結果、大正解。
本の分厚さにげんなりしましたが、実際読んでみると全く苦ではありませんでした。
既にアルゴリズムを理解している人には向かないかと思いますが、
私のような全く知識のない人にはお勧めです。
私は頭の中でイメージを掴むのが苦手なので、
『アルゴリズム図鑑』というアプリを使い、目で見てイメージを掴みながら読み進めています。
アルゴリズムを勉強したいと思ったら最初に手に取ってみて欲しい一冊です。
 
   
人気 41位
本書の内容
マーケティング自動化の予測モデル、ベストプラクティス、アーキテクチャをまとめた大著! 1・2章では、アルゴリズムマーケティングの概念、ケーススタディ、理論基盤となる機械学習/経済モデルを説明します。3~6章では、「プロモーションと宣伝」「検索」「レコメンデーション」「価格設定と品揃え」といった領域を取り上げ、「顧客と商品のマッチング」「顧客に適した商品の特定」「商品特性の最適化」を考察します。本書は、どのような理論を基に各領域のシステムが実現されるか、総合的に理解できる稀有な一冊です。(本書は『Introduction to Algorithmic Marketing: Artificial Intelligence for Marketing Operations』の翻訳書です。統計学や微積分学などの数学的知識を前提としています)。原著への読者の声―「市場原理を理解して実装しようとする者にとってきわめて有益」「小売業に関わるデータサイエンティストは必読」。推薦の言葉―「本書はマーケティング分野でのデジタル変革を鮮やかに映し出しており、データサイエンスがいかにしてあらゆるマーケティング活動に不可欠な部分になるのかを示している。データ駆動型アプローチとスマートなアルゴリズムによって、従来の労働集約型のマーケティングタスクにディープな自動化がどのようにしてもたらされるのかを詳しく解説している。意思決定は改善されるだけでなく、はるかに高速になる。このことは、加速する一方の競争環境において決定的に重要である。データサイエンティストとマーケティング責任者の必読書である」(Andrey Sebrant, Director of Strategic Marketing, Yandex)。

※この商品は固定レイアウトで作成されており、タブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。
購入前にお使いの端末で無料サンプルをお試しください。  
内容サンプル
 
User Voice
内容も充実しており実用的で良いと思いました。エンジニアにも マーケッターにもおススメです
本書は、マーケティングサイエンスに関するモデルとアルゴリズムについて詳しく書かれている。しかし、この本には、pythonやRのコードが掲載されてはいない。この本の目的は、経済学、経営学の理論に則た統計分析に関するアルゴリズムの教科書である。そのため、モデル式とかを書いたり、読んだりする訓練を受けていない初心者には、厳しい一冊である。本書の読者は、プログラムが打てて、統計に関する知識を持ち、実践的なマーケティングの理論に精通している人向けの一冊だと思われる。
アルゴリズムで対応はできるということはわかるが、それだけではない面も知りたい。
 
   
人気 42位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 43位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 44位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 45位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 46位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 47位
本書の内容
すべての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日追記)
 
   
人気 48位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 49位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 50位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 51位
本書の内容
プログラミングとアルゴリズムの基礎、および、「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
書籍のタイトル通りなんですが「アルゴリズムの基本」をスクラッチを使って学べます
逆に言うと、スクラッチの操作方法や遊び方(?)を知りたいぐらいの人には不向きかもしれません

もし、将来エンジニアやプログラマーを目指していて、その第一歩としてスクラッチを学ぼうとしている人は”絶対”読んでほしいです
絶対です。100%損はしません
その職に就いたとき、必ずこの書籍で学んだことが役に立ちますよ
キーボードに慣れていないプログラミング初心者向けというScratch感が認識不足であったことがわかりました。再帰処理まで触れられており、良書です。
サンプルプログラムをはじめ、チャレンジ、ステップアップの回答や指導の手引が完備しており、至れり尽くせりの感じであった。
 
   
人気 52位
本書の内容
(概要)
※この商品は固定レイアウトで作成されており,タブレットなど大きいディスプレイを備えた端末で読むことに適しています。また,文字列のハイライトや検索,辞書の参照,引用などの機能が使用できません。
※PDF版をご希望の方は Gihyo Digital Publishing ( https://gihyo.jp/mk/dp/ebook/2018/978-4-7741-9787-6 )も合わせてご覧ください。

コンピュータの算法に関わるアルゴリズムの定石,レトリックを可能な限り収録した定番の書。手元に置いておきたい実用的な本が30年弱の時を経て新装改訂版として登場です。定評をいただいている基本的な内容はそのままに,時代にそぐわなくなっていた部分のみ改訂。これからも末長くご愛顧いただけるようにまとめ直しました。※本書は『C言語による最新アルゴリズム事典』の改訂版です。

(こんな方におすすめ)
・仕事でC言語を使う方
・知りたいアルゴリズムをさっと引きたい方

(目次)
改訂新版 序

凡例

あ行~ら行

A~W  
内容サンプル
 
User Voice
特に書くことも無いぐらい、評価の固まった古典的なC言語のアルゴリズム本。
kindleで読めるので、持ち運びの面倒さからも開放されてもはや言語を問わず持っていない理由が無いぐらい。
まさか、こんなに時間が経って、新版が出るとは思わなかった。
これは必須本です。
本書は『
 
   
人気 53位
本書の内容

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

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

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

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

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

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

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

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

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

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

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

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



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

図解とイラストを豊富に使った、アルゴリズムの入門書です。
本書の特長は、
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冊目には適していると思う。
 
   
人気 60位
本書の内容
アルゴリズムの基礎が手に取るように分かる

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

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

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

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


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

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

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

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

次の章では前章の内容を発展させて使う、というのが最後まで続く本なので、何度も読み返すことになり、辛さはあるかと思います。
しかし言い換えれば、読み進めていくにしたがって、前章の内容がしっかり身に染みていくという事でもあります。
読み下すには時間がかかりますが、とても良い本だと思います。
代表的なデータ構造・ソートのアルゴリズムが理解できたので良かった。その他のアルゴリズムの理解があいまい。再読する。
 
   
人気 61位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 62位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 63位
本書の内容
(概要)

機械学習は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業界でエンジニアをしている方にはちょうど良い難しさ。
一般入門書より詳しく、専門技術書より易しい。
実プロジェクトへ適用する場合の概要も記載されており、イメージを付けるのにはもってこい。
執筆者方からのこれから学ぶ者達への期待が感じられました。
初心者の方は勿論、今一度基本に戻りたい方にも良いかと思います。
入門書として必要なことはしっかりと書かれています。
各章の構成も一貫しているので、読み進めるごとに「反復の安心感」みたいなのが出てきます。
逆に、何かを調べたくてこの本に戻ると、本当に基本的なことしか書いていないので、是非とも今後の発展編、応用編の執筆を期待したいです。
 
   
人気 64位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 65位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 66位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 67位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 68位
本書の内容
良いプログラムを書くための必須知識をまとめたテキストであり、五輪の書。
本書は、長年にわたって数多くの優秀なシステムエンジニア、プログラマーに愛読されてきた、良いプログラムを書くための必須知識をまとめたテキストです。
うまくつくられたプログラムは、理解しやすく実行効率も高いものですが、一方、そうでないものは解読も困難なうえに、やたら時間や領域をくいます。さらに、そのようなまずいプログラムには、えてしてミスや内容的な誤りも隠されているものです。
本書は、新たなアルゴリズムで新たなプログラミングを行うために覚えておかなくてはいけない必須知識、そしてアルゴリズムの設計、実現における基礎を、実用上の価値に重点を置いてまとめています。
今回の改訂においては、多くの読者の声をよく参考にして、よりわかりやすく、簡明になるよう見直しを行ったほか、接尾辞木について新たな解説を加えています。
システムエンジニア、プログラマーとして活躍される方の五輪書です。  
内容サンプル
 
User Voice
 
   
人気 69位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 70位
本書の内容
世界標準 MIT 教科書!!<br/> 大変好評を博しているMITでの計算機アルゴリズムの教育用に著わしたテキストの原書3版である。前版までで既にアルゴリズムとデータ構造に関する世界標準教科書としての地位を確立しているが、より良い教科書を目指して今回、章立てを含め再び全面的な改訂を行った。<br/> 各節末には多様なレベルの問題が配置され、学部や大学院の講義用教科書として、また技術系専門家の手引書、あるいは事典しても活用できる。<br/>  
内容サンプル
 
User Voice
かなり値段が張りますが画像のようにかなりのページ数があります。(参考文献なしで360P以上)
一巻では初歩的な「増加のオーダー」から始まり「二分木」、「ヒープソート」、「二色木」などがあります。
すべて読破するにはおそらくかなりの根気が必要です。(高校数学レベルの知識は必要)
ですがこのイントロダクションシリーズをすべて読めばかなりアルゴリズムに精通できているといえるでしょう。
(とくにソートに関してはかなり詳しいです。)
興味がある方はぜひ読んでいただきたい一冊です。
ページとページがくっ付いていました。
裁断ミス?
最初に読む時にめくりづらかったです。
 
   
人気 71位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 72位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 73位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 74位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 75位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 76位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 77位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 78位
本書の内容
「いいね!」したり、ネットで買い物をしたりするたびに、その裏で特定のアルゴリズムが、私たちの行動と嗜好を常に分析している。それにより「おすすめ」の広告が現れるくらいは無害でも、選挙前にフェイクニュースばかり読まされたり、「将来の」犯罪者として拘束されたりするのは問題だ。だが、アルゴリズムの導き出す答えはどれほど正確で、効果的なのか。アルゴリズムやAIのしくみ、将来の可能性と限界を評価する話題作。  
内容サンプル
 
User Voice
アルゴリズムという言葉に導かれて、買ってしまった。本のテーマは、別のところにあるので、わたしの求める答えを見つけるのに、苦労した。ストレスはあったが、理解はできた。翻訳本特有のやたら長い文章には辟易とした。しかし、いい本だと思います。
データサイエンスの世界を訪れる際の教科書として最適だと思う。私にとってはとても面白い本でした。
また、最近の主流となりつつある「行動経済学」的センスを得るにも有効だと思います。
なんとなく疑問に思っていたことが解消されます。
やっぱり統計(主成分分析)は強力、でも経験のある専門家の方がもっと強力、おすすめされたほど人々は商品を買わない、AIは現時点大腸菌レベル、など。。
そーだよね~と思った次第です。
 
   
人気 79位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 80位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 81位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 82位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 83位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 84位
本書の内容
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。


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

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

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

早く自分だけのプログラムを作りたい! という方は、第1章から第3章までを終えると、自分なりのオリジナルなプログラムを作り始めることができるようになるでしょう。途中で一度自分のオリジナルな作品を作ってから第4章からに取り組むと、より構造化プログラミングや関数、クローンなどのありがたみがわかるでしょう。  
内容サンプル
 
User Voice
子供(小学校低学年)にプログラミングを教えるために購入。
これまで、何冊かScratchの本を買ったが、基本的なアルゴリズム(プログラムの考え方)を段階を踏んで学べる、良い本でした。漢字や内容が小学校低学年には難しいため、大人が説明しながらやる必要がありますが。
あと、意外と気づかない人が多いかもしれませんが、サンプルファイルをダウンロードするところから、指導者用の教材もダウンロードできます!
サンプルファイルはScratch3.0では作動しない(?)ので、配布が必要なら自分で作る必要がありますが、それを差し引いても、よくできた本だと思います。
アルゴリズムの基本がよく分かる書籍です。初心者用で、今後教育界で始まるプログラムミング教育に携わる学校の先生方にもお勧めですよ!
スクラッチのプログラミングに関する市販本はほとんどが初心者(小・中学校生)向けが多い中で、探していたレベルの本にやっと巡り合えました。理解できている部分は飛ばしながら進めていこうと思っています。
 
   
人気 85位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 86位
本書の内容
アルゴリズムとデータ構造に関する世界標準として大変好評な、MITでの計算機アルゴリズムのテキスト3版である。各節末には多様なレベルの問題が配置され、教科書、技術系専門家の手引書、事典として活用できる。本書は第2巻目で、高度な設計と解析の手法・高度なデータ構造・グラフアルゴリズムを所収。  
内容サンプル
 
User Voice
第2巻ですが、ある程度知識があれば2巻から読むことも可能でしょう。
(二分木、二色木は知っていないときつい)
選択するための基本である「動的計画法」や「貪欲アルゴリズム」や
データ保存法である「B木」などがあります。
1巻よりページは若干少ないですが内容自体はかなり濃いので買って公開することはないでしょう。
各アルゴリズムがどうしてそうなってるのかが完璧に書かれている。
小難しく、読むのは大変だが、努力した分だけちゃんと結果に結びつく。
この本の前に蟻本(プログラミングコンテストチャレンジブック)を読んでいたのだが、
蟻本では解説されていない各アルゴリズムの詳細を知るにはこの本がベスト。
 
   
人気 87位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 88位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 89位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 90位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 91位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 92位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 93位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 94位
本書の内容
 
内容サンプル
 
User Voice
 数値計算に必要な数学の知識、計算機やC言語の知識、アルゴリズム、プログラム例、全部書いてあります。
 数値計算初心者にとって、大体の本は数学だけだったり、逆に、数学のことはほとんど言及せずプログラム例をたくさん載せていたりするので、2,3冊参照しないとわかった気にはなれません。本当はこういう作業が大切なのはわかりますが、最初からそれだと自分の知りたいことがどこに書いてあるのか調べるだけで疲れてしまいます。

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

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

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

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

「一度登場した関数は再掲しない」ので、途中で分からなくなったりしないかと心配でしたが、第1章からやっていくぶんには問題ありませんでした。
 
   
人気 95位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 96位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 97位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 98位
本書の内容
 
内容サンプル
 
User Voice
リバーシ(オセロ)はルールが単純で、千日手・GHI問題がなく、プログラミングの勉強にはよいテーマと思われる。しかし、いまだに答えが出ていないというのは本当か。ルールの実装から、高速化のテクニック、局面の評価手法の数々を網羅し、導入本としては優秀である。
リバーシのプログラムを作ろうとは思ったものの,とりあえず何からとっかかればいいかわからないと思ったらこの本の購入を検討してみるといいと思います.
ネットで信憑性があるか否かを吟味しながら情報を漁るのもいいですが,初めのうちは手元に情報がまとまった参考書があるとスムーズにプログラムの作成に取り組めるのでお勧めです.プログラミングがある程度できることが前提ですが.
学校の教材に指定されたので購入しました。安く購入できて満足です。
 
   
人気 99位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 100位
本書の内容
 
内容サンプル
 
User Voice
 
   

アルゴリズム 新書一覧

本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
世界有数の研究者による“機械学習の説明書”。2015年アメリカでの発売当初から研究者の間で話題となった力作が、『パターン認識と機械学習』などの翻訳を手がけた神嶌敏弘博士の訳で満を持して刊行。一般向けのきめ細やかな訳注も加えた。
囲碁AI、AmazonやNetflixのお薦め機能、iPhoneのSiri。私たちの生活に溶け込んでいる機械学習とは何か? 観測衛星、DNAシーケンサ、量子加速器などのデータから、機械学習は自然界の謎をすべて解き明かすのか? 蓄えられた莫大なデータはアメリカ大統領選から企業のサービスまで影響を与え、陸・海・空を機械学習で自動操縦される無人車両が飛び交う。機械学習によって、世界はどう変わるのか?
アルゴリズムの歴史を解説するとともに、世界を再構築する究極の「マスターアルゴリズム」の存在を探究。
マスターアルゴリズムが存在する根拠を、神経科学、進化生物学、物理学、統計学、および計算機科学の観点から軽妙かつ縦横に展開する。知的好奇心が沸き立つ1冊。六七質のイラストが世界観を表現。

ペドロ・ドミンゴス(著者)
ワシントン大学ポール・アレン コンピュータサイエンス&エンジニアリング学部教授。AAAS(アメリカ科学振興協会)およびAAAI(人工知能振興学会)フェロー。1992年リスボン工科大学Instituto SuperiorTecnico修士課程修了(電子工学・コンピュータサイエンス)。1997年カリフォルニア大学アーバイン校にて博士取得(情報・コンピュータサイエンス)。マルコフ論理ネット、影響最大化問題、データストリーム、敵対的学習、sum-productネットなど顕著な業績が知られている、世界有数の機械学習研究者である。KDD2003、SRL2009ではプログラム委員長を務める。IMLS(国際機械学習学会)の発起人。“Machine Learning ”誌編集委員。SIGKDD Innovation Award、IJCAI John McCarthy Awardを筆頭に受賞多数。

神嶌敏弘(訳者)
1994年京都大学大学院工学研究科修士課程修了(情報工学専攻)。1994年電子技術総合研究所入所。2001年京都大学にて博士取得(情報学)。現在は産業技術総合研究所にて、機械学習やデータマイニングの手法、特に公平性配慮型データマイニングと推薦システムや個人化技術などについて研究。
携わった書籍に、人工知能学会監修『深層学習』(編/近代科学社)、トレバー・ヘイスティ他『統計的学習の基礎』(共監訳/共立出版)、C.M.ビショップ『パターン認識と機械学習』(共訳/丸善出版)などがある。
2019年人工知能学会 AI ELSI賞 Perspective部門受賞。  
内容サンプル
 
User Voice
読み物として面白いし、勉強になる本だと思う。
ただ、原著が数年前の本なせいか、事例など内容がやや古くなってしまっているようにも感じた。
数式やサンプルコードが書いてある専門書だと思いこみ購入しましたが、縦書きの読み物です。
一般の方で興味がある方や、目次に書いてあることを勉強するのに補足的に役に立つ内容だと思います。
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
プログラミング解説書のベストセラー『Pythonでつくる ゲーム開発 入門講座』の著者による
オール図解のアルゴリズムの解説書。簡単かつ楽しい作例でスキルアップできる一冊です。  
内容サンプル
 
User Voice
Pythonを使ったゲームアルゴリズム本。カラー刷り。

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

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

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

ゲームとして実際に動く中身がどうなっているのか見えますし、実装の仕方がわかっていいです。
Pythonの解説本なのですが、非常に良くできています。特に気に入ったのは、リバーシのプログラムにおけるAIの考え方の比較、そして、モンテカルロの導入の部分です。Pythonの場合、AIなどで使われている印象が強いので、非常に参考になりました。

作者に次に出してほしいのは、Pythomで作られたAIなどのライブラリの活用方法です。ライブラリをどうやって自分のプログラムの中に導入するのかが知りたいヒトは多いと思います。是非、リリースして欲しいです。
Pythonの教科書。
似たような本が多いですが、こちらはプログラムのアルゴリズムを学ぶのがメイン。

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

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

一冊しっかり勉強するだけでも、しっかりプログラミングの作り方を学べると思います。
 
   
本書の内容
エンジニアの基礎体力を身につける

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

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

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

資格試験、就職試験に挑む方、大学や専門学校で情報処理を学ぶ方など、プログラミングの力を伸ばしたいすべての方におすすめです。

※この商品は固定レイアウトで作成されており、タブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。
購入前にお使いの端末で無料サンプルをお試しください。  
内容サンプル
 
User Voice
Pythonで基本的なアルゴリズムとデータ構造を説明する書籍です。プログラム一行ごとにその説明をしている為、非常に分かりやすかったです。今まで読んできた初心者向けのアルゴリズムの本で一番親切だと思いました。
書籍の紙が柔らかいので、開きながらプログラミングしやすい点も良いです。
「教科書」というタイトルと、「108のサンプル」という記載から、網羅性のある本かと思ったらエンジニアであれば知ってるよ!という内容のみでがっかり。本当に入門から学びたい人には良いと思う。ただ、タイトルが誤解を招いている。購入にはご注意を。
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
ウェブサービスの開発に携わるかぎり、ユーザにより良い体験を提供することは無視できない命題です。本書は、ウェブサービスを成長させることを目的に、ユーザの行動を定量的に評価し、改善する手法を学ぶ書籍です。
シンプルなA/B テストを第一歩に、線形モデルの導入、メタヒューリスティクス、バンディットアルゴリズム、ベイズ最適化と、機械学習の知識を紹介しながら、ウェブサイトを最適化するという現実的な問題を解くための数理的な手法を解説します。
Pythonによるサンプルコードと、グラフィカルな図版で表現された数学的なモデルを組み合わせ、機械学習と統計学の基礎を丁寧に解説しています。
ウェブ最適化の手法を学びたい、機械学習の基礎を知りたい読者に最適の1冊です。  
内容サンプル
 
User Voice
かなりよい。
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
これから必ずくる量子コンピューティングの時代に備えるためのバイブル
本書は、ITのプログラマやエンジニアを主な読者対象として、その方々にとって特に重要な量子コンピューティングの基礎をわかりやすく解説した書籍です。
量子コンピュータについては、多くの人がクラウド越しで実物に触れられるようになった今でも、物理の専門書から学ぶかチュートリアルやハンズオンのウェブ記事を読んで勉強するかしかありません。これから量子の力をフル活用できる人や、量子情報の考え方を利用してコンピュータサイエンスをよくしていく人材が必要になるというのに、入門書と専門書の間には大きな隔たりがあります。
本書はこれから必ずくる量子コンピュータの時代で活躍されるであろうITのプログラマやエンジニアの皆様にとって、特に知っておくべき概念をできる限り網羅しています。量子コンピュータの背景、その原理や応用についても高校数学で学んだ内容を起点に数式も示しつつ、しっかりと解説しています。  
内容サンプル
 
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
 
   
本書の内容
 
内容サンプル
 
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冊できてしまうほど幅広い分野ですが、本書ではエクセルの関数とマクロを「プログラム」として利用することで、プログラムが持つ特有のとっつきにくさを解消しています。
ただ、「専門書」ではないので、本書で興味を持った読者が「プログラミング」、「ロジカルシンキング」をもっと深く学びたくなった場合にはそれぞれ専門的な書籍で学ぶ必要があるとは思います。むしろ本書はともすると避けがちなそれらの分野に興味を持たせるきっかけとして価値を発揮するように思います。
頭で分かっているものの行動できていないような痛いところを突いてくる本。この本で自分の振り返りや後輩への指導内容を整理するのもいいけれど、手っ取り早いのはこの本を相手にプレゼントすることだと感じた。初心者にも読みやすいけれどレベルが低いわけではない良書です。
自分の行動を自動化するという切り口は、論理思考の感覚を持つきっかけとしてよいと思います。部下が読んでいるので、効果が楽しみです。
 
   
本書の内容
現代社会を支える根幹技術をPythonで!  Pythonプログラミングのスキルアップにも最適!

名著『Pythonスタートブック』の著者である辻真吾氏が書き下ろす至極の入門書! ソートやグラフ構造など基本的な内容から、乱択アルゴリズムや数論、ブロックチェーンの仕組みなどの幅広い話題までを解説。コードはWeb公開(
https://github.com/tsjshg/pyalgdata)。

【データサイエンス入門シリーズ】
第2期として、以下の2点を刊行!
『統計モデルと推測』松井秀俊・小泉和之(著)竹村彰通(編)
『Pythonで学ぶアルゴリズムとデータ構造』辻真吾(著)下平英寿(編)

【「巻頭言」より抜粋】
 文部科学省は「数理及びデータサイエンスに係る教育強化拠点」6 大学(北海道大学、東京大学、滋賀大学、京都大学、大阪大学、九州大学)を選定し、拠点校は「数理・データサイエンス教育強化拠点コンソーシアム」を設立して、全国の大学に向けたデータサイエンス教育の指針や教育コンテンツの作成をおこなっています。
 本シリーズは、コンソーシアムのカリキュラム分科会が作成したデータサイエンスに関するスキルセットに準拠した標準的な教科書シリーズを目指して編集されました。またコンソーシアムの教材分科会委員の先生方には各巻の原稿を読んでいただき、貴重なコメントをいただきました。
 データサイエンスは、従来からの統計学とデータサイエンスに必要な情報学の二つの分野を基礎としますが、データサイエンスの教育のためには、データという共通点からこれらの二つの分野を融合的に扱うことが必要です。この点で本シリーズは、これまでの統計学やコンピュータ科学の個々の教科書とは性格を異にしており、ビッグデータの時代にふさわしい内容を提供します。本シリーズが全国の大学で活用されることを期待いたします。
――編集委員長 竹村彰通(滋賀大学データサイエンス学部学部長、教授)

【推薦の言葉】
データサイエンスの教育の場や実践の場で利用されることを強く意識して、動機付け、題材選び、説明の仕方、例題選びが工夫されており、従来の教科書とは異なりデータサイエンス向けの入門書となっている。
――北川源四郎(東京大学特任教授、元統計数理研究所所長)

国を挙げて先端IT人材の育成を迅速に進める必要があり、本シリーズはまさにこの目的に合致しています。本シリーズが、初学者にとって信頼できる案内人となることを期待します。
――杉山将(理化学研究所革新知能統合研究センターセンター長、東京大学教授)  
内容サンプル
 
User Voice
競技プログラミングなどの世界ではC系の言語が用いられることが多く、アルゴリズム系の書籍の大半がC系またはメジャーな言語であるjavaを中心にした解説をしている中、Pythonを使って解説してくれている貴重な書籍である。実装の現場ではPythonを使うことが多く、データサイエンス関連のシステムを実装する場合においてもこれらアルゴリズムの知識が必要となるため、これを読むことで基礎的なアルゴリズムとデータ構造の知識を効率よく学ぶことができる。
基本的なアルゴリズムの学習が方針のようだが、取り上げられているトピックは広く、
・クイックソートなどの基本的なソートアルゴリズム
・木構造、ヒープの構造などのデータ探索
・タンパク質、インターネット、鉄道網を例としたグラフ構造
・ビットコインなどに用いられる暗号アルゴリズム
など、アルゴリズムとデータ構造、Pythonの書き方の手慣らしをしつつ、これら現代社会のシステムに広く応用されているコンピュータ科学の知識も学ぶことができる。
ただ、純粋なデータサイエンスとは少し方向性が違い、データサイエンスの更に基礎にあるアルゴリズムの部分を学ぶ本と考えるべき
本書でも述べられている通り、昨今様々な組み込み関数がある中で、アルゴリズムとデータ構造を手早く学べる本がないかと思っていたところ、ちょうど良いと思い購入しました。
趣旨の通り、応用先まで基礎をどのように活用するかを踏まえながら記載されていると言う点で、非常に良い本だと思います。一方、分量故なのか、応用から見た場合の基礎の使い方が一本道になっているので、やや物足りなさがあります。ソートや木構造など、もう少し使い方としての出口があると嬉しかったです。
また、練習問題は、動的計画法の活用まで含めて記載されているかと思いきや、貪欲法で解くような問題になっていました。練習問題はググれば出てくるのですが、練習問題として整備されているとより良いものになったのではないかと思います。

総じて、物足りなさはありつつも、pythonに少しなれた方が、今のプログラミング環境の前提でこのテーマを学ぶ1冊目としては良いのではないかと思います。
以下のとおり、いきなり「巻頭言」に文句をつけてしまいましたが、このシリーズの個々の本は、機械学習を含む最近の話題を押さえた分かりやすい本が多いので、今更ですが補足します。

おそらくはこの教科書シリーズに共通のもので、この本自体の評価には関係しないのでレビューとして相応しく無いかも知れませんが、巻頭言にある「従来からの統計学とデータサイエンスに必要な情報学」という言い回し自体が、深層学習を含む機械学習の諸方法が、従来からの統計学の問題を克服しようとした努力であることを踏まえていない、データサイエンス分野の遅れ、それ自体だと思います。

また冒頭の「このシリーズについて」で「第4次産業革命」なる語が踊っていますが、この言葉には正直うんざりしているので何でこの本を買ってしまったのか後悔しています。

更にその後に「付加価値の創出や革新的な効率化等などによる生産性向上等」とありますが、もしもこれがこの国の経済産業省の言葉だとしたら、
少しは世の中を便利にすることを考えろ、
産業革命以降の経済成長は世の中が便利になったことの結果のはずだろ、と言いたくもなります。

そんな愚痴はともかくとしてようやく本題のこの本の内容についてですが、第1章のPython入門はPythonの解説書でも名が知られた著者の手によるものなので簡潔かつ要点を押さえた素晴らしいものなので、ここだけでも充分読む価値はあると思います。
とはいえ全体の構成については、NP困難の話とか興味深い話題も多いのですが、(著者の方のまえがきでは「幅広い話題を取り入れる」となっていますが)取り上げている話題に今ひとつまとまりがない印象も受けます。
ただアルゴリズムを代表するものとしてソートに関する話題は複数回出てきますが、著者の先生自身がソートするのにコードを自分で書く人はいない、としている状況なので、この本が読者として想定している初学者の学生に詳しく説明する必要もなかったのではないかと思います。

この本が想定している目的からは外れそうですが、この間、深層学習の解説書などを読んでいて、この分野での計算の主戦場はどうも行列の積らしいという気がして来たのですが、行列の積は行列が大きくなると積の定義どおりのやり方で正直に計算しようとすると(計算時間とメモリの使用量が)とんでもないことになるようなので(この本にもそれを思わせる記述がp.127,p.137にあります)、巨大行列をコンピュータで実用的に処理可能にする方法についての解説もあった方が読み物として面白かったのではないかと思います。

実際のところ、いわゆるビッグデータはコンピュータに入れる最初の段階では、基本的に大き過ぎる行列になるはずなので、データサイエンスという、このシリーズの主旨からも必ずしも外れていない気がします。

またその意味からすると、いわゆるデータサイエンスが想定しているのはネットワークとかいう巨大過ぎるグラフなので「よほど巨大なグラフを扱うのでなければ、隣接行列を使うのがよいだろう。」(p.098)としているのはどうかと思います。

というかこのレビューを書いてて巨大行列の計算がいわゆるデータサイエンスなるものの課題だと自分が思っていることに気がついたので他の本も探して少し勉強して見ることにします。
結局のところアルゴリズムは解法の手順の問題ではなく、計算量の問題だということはこの本を通じて学んだことですが、できれば著者の先生には次は次元の呪いがかかったビッグデータの計算処理の問題に的を絞った本を出してもらえないものかと思ったりもします。

ところで自分でも読む気にならないくらい長々と書いておきながら、ここまでレビューの点数の理由を書いてありませんでしたが、実のところ自分は「面接」(p.146)がマジで嫌いなのが理由だったりします。

なお練習問題の解答はGithubにあります。
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
話題作『アフターデジタル』著者の尾原氏が満を持して世に問う久々の単著!

「デジタルはすでに『哲学』の一領域です。本書でぜひ『リベラルアーツ』としてのデジタルを学んでください」
山口 周氏推薦!


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


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


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


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


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


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

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

時代が変わっても
変わらないアルゴリズムから考え方を学ぼう

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

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

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

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

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

 
内容サンプル
 
User Voice
まずPythonでの演算子の使い方や関数の作り方などについて説明があるのでPythonの事前知識がなくても学習を始められるようになっています。
その次の章ではお釣りを計算するとか素数を出力させるといったプログラムを作るのですが、そうした分かりやすい例を使って「同じ結果を得るにも複数の実装が可能で、どれを選ぶかでコードの長さも計算量も大いに違ってくる」ということが明快に示されています。それぞれの例にフローチャートがついているので理解の助けになりますし、それぞれの処理の手際のよさを比較できるようになっています。また不正な入力を想定してエラーを防ぐ対策もこの段階から扱っています。
とにかく初歩の段階から自然に「より良いアルゴリズムとは何か?」を考えるようになるのが素晴らしいと思います。
感想を列挙します。
・イラストが豊富で理解を助ける。
・計算量についてもきちんと言及されている。
数学とプログラミングの両方を理解する著者ならではの本といえる。
・ソースがわかりやすい。
・伝統的なアルゴリズムを扱っている。
不変的な内容であって、10年・20年後でも通用する内容。
仮にPythonが廃れたとしても、アルゴリズムの知識は死ぬまで使える。
・知らないアルゴリズムを学習できた。
・IPAの基本情報の午後対策にもよい。
ある程度、初歩の文法理解と環境が構築されてから進むのがいいと思います。
コードの説明がもう少し丁寧だとありがたかったです。
やや力任せなコードのあとに模範的なコードが示されているのがいいとおもいます。
写経の後に改造やオリジナルのコードを書いてみるのがいいと思います。

PIの近似計算に誤植があるとおもいます。自力でわかると思いますが、念のため。
 
   
本書の内容
 
内容サンプル
 
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
基本的には、ソートやリスト検索のような基本的なアルゴリズムについて説明した本です。自分はプログラムコンテストで使うような高度なアルゴリズムの原理の説明+Python(numpy)に特有の書き方の説明を探していたので、完全に目的違いでした。
しかし、それでも一通り読んでから少し時間が経ってみると、基本的な考え方を丁寧に説明した良い本だったなと思いました。とくに、再帰的アルゴリズムを展開して考える方法は、この本で初めて読みました。情報学科の人にとっては当然なのかもしれませんが、こういう初歩的な本でかみくだいて書いてあるのはありがたいです。ハッシュや木構造の探索も、整理されていて分かりやすいです。
売れ筋の入門書には懐疑の目を向けがちな人間なのですが、この著者の本は良いと思います。
きれいな状態で、期日内に届きました。ありがとうございました。
40代のプログラマーです。
ここ何年かはデータ分析のシステムの開発、運用に携わってきました。

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

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

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

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

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

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

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

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

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

この手の本は、データ構造とアルゴリズムそのものの紹介で
終わってしまうので、コンピュータサイエンスの範囲の中あるいは外での、
応用例があると、より興味深く学べると思います。
 
   
本書の内容
 
内容サンプル
 
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
専門外の人間ですが、タイトルから受ける印象よりもずっと教科書に近い本です。
機械学習ブームのときにPRMLの実装コードが出回りましたが、確率ロボティクスでも(ROSの機能を使うためにも)原理が分かる実装コードがあると便利です。当初はその程度しか期待していませんでしたが、説明が系統的なので、むしろ数式の代わりにコードを使って書いた教科書というイメージです。
元ネタの確率ロボティクスは数式オンリーですが、この本は具体的なコードを使ってビジュアルに解説しているので、各種の工夫の目的と効果が非常によく分かります。制御の話はコードを見ないと本当には理解できないところがあるので、周辺にいる人にとっては貴重な本だと思います。また、元ネタの確率ロボティクスには強化学習関連の話がありませんでしたが、この本ではその辺りのことも一応書いてありました。
ただ、懇切丁寧に書いてあるものの、もとになる理論はそれなりに高度です。また話が具体的になると、元になっている理論とは違ったレベルの疑問も出て来ます。現時点では一通り流して読んだ程度ですが、もう少し時間をかけて読む必要があるのかなと思っています。
確率ロボティクスついて詳しい千葉工大の上田先生の書籍です。ROSの本で有名な方で、シェル芸など笑いにも精通していらっしゃいます。twitter → @ryuichiueda
この本では自動運転やロボットに必要な自己位置推定や地図作成を実装するにあたって、エラーやバイアスを含むセンサ群のデータから価値のある値にどう料理するか、確率ロボティクスの理論とパイソンのコードが説明されています。
具体的には、カメラやライダー等のセンサを使った複数種のSLAMアルゴリズムの解説や、経路生成したのち補正していく強化学習についてQ学習等のアルゴリズムの解説があります。
理論部分はハードです。p(z|a,b,c)とかの統計の記法に慣れて、ベイズ理論の定理を使いこなす必要有りです。
Anacondaをいれて環境を作ればJupyter Notebook上でサンプルコードが動作し、段階的にコードが動く振る舞いを確認できます。
読み応えのある本ですが、サンプルコードもありますし、確率ロボティクスの最前線なのでおすすめです。
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
東大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
計算機科学の入門書です。特に初心者に対して何からどのように教えるべきか。実に参考になります。
pythonは素材として使われているに過ぎません。ですから書名は「pythonによる、、」ですね。amazonで見てもこのキーワードで始まる書名が多いですね。本書を読めば理由はわかる気がします。
不思議なのは翻訳書を読んでいるような錯覚に陥ることです。東大の本で日本人が執筆のはずなのですが。私は翻訳書で勉強することが多かったのですが、何かそれと文書の雰囲気が似ているんでしょうね。ガツガツとテクニックを伝授するのではなく、話しかけるような諭すような文体です。こういう本は好きですね。
今まで種々のPython入門書を読んだ後、購入した本です。
多少操作できるようになると、自分で工夫しながらプログラムを組んでいく必要があります。そのためにこれまで学んだ内容を総動員し、失敗を繰り返しながら作成するのですが、それに対する良いTextがありませんでした。この本はその過程を実感できる例題と注釈があり、個人的には打ってつけでした。苦労しましたが、その過程でのミスや認識違いを学べる良書でした。独自の「ita」というマクロが準備されておりますが、これを既存のコードで組む能力はまだないので、そのヒントを公開いただけたらと希望します。
情報処理技術者試験にもCOBOLに代わって採用されたPython。
この本は、Python入門ではなく、CS入門の本です。
CSの一般教養の授業に使える本です。真っ先に計算誤差に言及するところなど現実的で好感が持てます。
アメリカの大学のCSもこんな感じです。てか、アメリカの大学のテキストを手本に翻訳したような内容です。
私の知っているアメリカのCS入門の授業のテキストは、この本の内容の2倍の量を1セメスターでこなしていました。
 
   
本書の内容
目次
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
 
   
本書の内容
Excelを使った機械学習の入門書!

機械学習とは、コンピュータに学習させる技術を指します。AIの発展とともに、さまざまな手法が登場してきました。このAIのモデルとそのアルゴリズムは種類が多く、AIに関心のある人が学習を始めたとき、困惑する原因となっています。本書では、それらを整理し、わかりやすく解説します。具体例にはExcelを利用するため、難しい前提知識なしで、機械学習のさまざまな手法を体験することができます。どのような手法でAIが実現しているのか知りたい人に最適です。  
内容サンプル
 
User Voice
同じ著者から同じような本が出てますが、(3)と(4)さえあれば、一通りカバーできます。
(1)Excelでわかるディープラーニング
(2)Excelでわかるディープラーニング RNN/DQN編 
(3)Excelでわかる機械学習             :Q学習とDQNをカバーしてる/RNNではBPTTまで述べられている
(4)高校数学でわかるディープラーニングのしくみ   :CNN/RNNの基本原理は(1)(2)よりわかりやすい
全てをエクセルで済ましてしまおうという作者さんの気合が感じられます。
深層学習の簡単なトイモデルについて書いてあり実際にエクセルで手を動かせるので、最初の理解にはうってつけです。
「これならわかる機械学習」で抽象的すぎてわからなくなった部分を本書で補うという勉強法はなかなか良いのではないかと思いました(今、RNNでそれをやっています!)。
AI(人工知能)と聞くと、それだけで難解な印象を持ってしまいますが、本書を読むとAIの背景で動いている仕組み(数式)がExcelで可視化されていてよく理解できる。初学者には分かりやすくて良い本だと思う。
 
   
本書の内容
「いいね!」したり、ネットで買い物をしたりするたびに、その裏で特定のアルゴリズムが、私たちの行動と嗜好を常に分析している。それにより「おすすめ」の広告が現れるくらいは無害でも、選挙前にフェイクニュースばかり読まされたり、「将来の」犯罪者として拘束されたりするのは問題だ。だが、アルゴリズムの導き出す答えはどれほど正確で、効果的なのか。アルゴリズムやAIのしくみ、将来の可能性と限界を評価する話題作。  
内容サンプル
 
User Voice
アルゴリズムという言葉に導かれて、買ってしまった。本のテーマは、別のところにあるので、わたしの求める答えを見つけるのに、苦労した。ストレスはあったが、理解はできた。翻訳本特有のやたら長い文章には辟易とした。しかし、いい本だと思います。
データサイエンスの世界を訪れる際の教科書として最適だと思う。私にとってはとても面白い本でした。
また、最近の主流となりつつある「行動経済学」的センスを得るにも有効だと思います。
なんとなく疑問に思っていたことが解消されます。
やっぱり統計(主成分分析)は強力、でも経験のある専門家の方がもっと強力、おすすめされたほど人々は商品を買わない、AIは現時点大腸菌レベル、など。。
そーだよね~と思った次第です。
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
良いプログラムを書くための必須知識をまとめたテキストであり、五輪の書。
本書は、長年にわたって数多くの優秀なシステムエンジニア、プログラマーに愛読されてきた、良いプログラムを書くための必須知識をまとめたテキストです。
うまくつくられたプログラムは、理解しやすく実行効率も高いものですが、一方、そうでないものは解読も困難なうえに、やたら時間や領域をくいます。さらに、そのようなまずいプログラムには、えてしてミスや内容的な誤りも隠されているものです。
本書は、新たなアルゴリズムで新たなプログラミングを行うために覚えておかなくてはいけない必須知識、そしてアルゴリズムの設計、実現における基礎を、実用上の価値に重点を置いてまとめています。
今回の改訂においては、多くの読者の声をよく参考にして、よりわかりやすく、簡明になるよう見直しを行ったほか、接尾辞木について新たな解説を加えています。
システムエンジニア、プログラマーとして活躍される方の五輪書です。  
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
みんな知っているさるかに合戦でアンプラグドプログラミングをやってみよう!
サルのかきのたねとカニのおにぎりを交換するにはどうすればよいか?いじわるなサルををこらしめるにはどうすればよいか?を登場人(動)物がフローチャートを使って考えます。  
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
プログラミングとアルゴリズムの基礎、および、「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
書籍のタイトル通りなんですが「アルゴリズムの基本」をスクラッチを使って学べます
逆に言うと、スクラッチの操作方法や遊び方(?)を知りたいぐらいの人には不向きかもしれません

もし、将来エンジニアやプログラマーを目指していて、その第一歩としてスクラッチを学ぼうとしている人は”絶対”読んでほしいです
絶対です。100%損はしません
その職に就いたとき、必ずこの書籍で学んだことが役に立ちますよ
キーボードに慣れていないプログラミング初心者向けというScratch感が認識不足であったことがわかりました。再帰処理まで触れられており、良書です。
サンプルプログラムをはじめ、チャレンジ、ステップアップの回答や指導の手引が完備しており、至れり尽くせりの感じであった。
 
   
本書の内容
 
内容サンプル
 
User Voice
機械学習において、どの様なアルゴリズムがあるのか俯瞰するのに良いと思います。ただ、212ページで、この値段は....。
機械学習のための各アルゴリズムの特徴が、各アルゴリズムの冒頭に記されているのだが、これが抽象的で理解しずらい。
もう少し、歴史的な背景とかなぜこのようなアルゴリズムが必要になったのかとか実際にどのようなことに役立ってきたのかなどが記載されていないので、読者からすると入門書でありながら書かれている内容が抽象的になってしまい過ぎて理解しにくい。いろいろな簡単な例について説明されているが、このらの例も簡単すぎて実際にどのようなときに使用したらよいのか、などが分かりにくい。理論自体、あるいはそこで使用されている数学自体は簡単なものが多いので、もう少し工夫してわかりやすく書いてほしかった。内容はやさしくても、そこになぜそうなるのかという理論がわかりやすく書かれていないと理解しにくい。読者は子供の使いではないので、簡単な例だけで、こういうふうに理解しろと言われてもそれは無理だ。
結局この本だけではダメなので、インターネットで関連するいろいろな記事を読むことにより、明確なイメージをつかむことができた。
■良かった点
・各ページの構成・見栄えがとても良く、機械学習の難しい話をとっつきやすく解説してくれている
・アルゴリズムの網羅性が高く、見やすさ/とっつきやすさと相まって、知らないアルゴリズムがあったときに心理的な障壁がなく気軽に本書で調べることができる
■もう一歩な点
・各アルゴリズムの詳細な解説は完璧に省かれているため、数学的な原理を知りたい場合はネット等で別途調査する必要がある。
 
   
本書の内容
 
内容サンプル
 
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をゼロから学ぶ本ではないですが、壁に当たった時のため絶対持ってたほうがいいです。
過学習とは何か、教師ありの学習モデルとは何かなどAIや機械学習の分野で出てくる用語を一つ一つ丁寧に解説された本です。説明も数式を使ってではなく、言葉や図を用いて説明しているので理解はしやすいです。
「エンジニアなら知っておきたい」とタイトルにありますが、エンジニアでなくてもこれからの基本知識として十分に役立つ内容だと思います。
私自身はエンジニアではありませんが、お客様にIT施策を提案する都合上、実際に体験しておこうと、
WatsonとMSのMSLの一日講習を受けた程度。

今までAI関連の本を何冊か読みましたが、ロジックなど技術的な内容を説明している本
(難しくて途中で挫折…)
一般の人向けに概念的な内容をさらっと書いてある本
(知ってることが多くてネットの情報の方が役立つ…)
どちらかに属する本が多い中、こちらの本は、専門的な説明の後、例えば…と一般的な事象で説明されており
腑に落ちました。
よくある疑問についても、答えが用意されていて納得しやすかったですし、麻里ちゃんが主人公のコラムが各章にあって、一息つくことができ、飽きずに読み進めることができます。

説明のため比喩を用いた色々な場面が出てくるので、技術的な内容を技術書や学術書のように読んで理解したい人には向いていないかも知れません。

3部形式になっており、1部では今までの経過と現状の各社から出ているAI系サービスが一覧でまとまられており、次から次に出てくるサービスを自分の中で消化できていなかった私には、整理ができて何となくぼやっとしていたのが人に説明できるレベルになったように思います。

2部は具体的なアルゴリズムの種類と学習法についてが、系統立てて説明されておりAIを実装するための手法が理解できました。

3部は実際にどのように実用化が進んでいるのかが説明されており、お客様に提案する人、自社で利用を考える立場の人にも参考になると思います。

難しい内容が理解しやすく書かれていて、IT業界にいる方、企業のシステム担当の方には
最新の基本知識を得るのに最適な一冊だと思います。
(私にはぴったりでしたが、もっとレベルの高い人には物足りないかもしれないので星4つで…)
 
   
本書の内容
プログラミングとアルゴリズムの一番やさしい新定番書!

プログラミング言語を習得しても、実際にコードを書いてみようとすると
「どう書いて良いかわからない」と感じる方は多いと思います。

本書はアルゴリズムとプログラムロジックの基本を通じて、
プログラミング(コードを書く)の実際を学んでいただけます。
アルゴリズムは、与えられたさまざまな課題をプログラムで効率良く
処理するためのテクニックの集合体です。これらを通じて、誰でも効率の良い
効果的なコードを作るための第一歩を踏み出すことができます。

・絵を多用し、短い解説で絵本のようにビジュアルに理解することができます。
・2ページを単位とした説明、基礎に絞り込んだ内容でスピーディに習得。
・説明は基本中の基本から。「C言語の基礎」から学べます。
・プログラミングのために必要な知識を広くフォロー、コードの書き方が身につきます。
・環境構築から内容を最新にアップデートし、実際に試して学ぶことができます。

【「絵本」シリーズは、ラインナップをリニューアル!】
翔泳社の「絵本シリーズ」は、豊富なイラストと簡潔な解説で
コンピュータ技術に入門できる初心者向けのシリーズです。
コンピュータ言語/技術の超初心者や手軽に習得したい方に最適な入門書です。

新しい「絵本シリーズ」では、旧来の分かりやすさ、親しみやすさ、
基礎に徹した内容というコンセプトはそのままに、Web/ネットが全盛となった
現在のコンピュータ技術の潮流に合わせた解説を心掛けます。

『Cの絵本』『Javaの絵本』『Pythonの絵本』などを皮切りにラインナップを順次刷新、
さらに新しい仲間を増やしてラインナップを充実していきます。

 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
マーケティング自動化の予測モデル、ベストプラクティス、アーキテクチャをまとめた大著! 1・2章では、アルゴリズムマーケティングの概念、ケーススタディ、理論基盤となる機械学習/経済モデルを説明します。3~6章では、「プロモーションと宣伝」「検索」「レコメンデーション」「価格設定と品揃え」といった領域を取り上げ、「顧客と商品のマッチング」「顧客に適した商品の特定」「商品特性の最適化」を考察します。本書は、どのような理論を基に各領域のシステムが実現されるか、総合的に理解できる稀有な一冊です。(本書は『Introduction to Algorithmic Marketing: Artificial Intelligence for Marketing Operations』の翻訳書です。統計学や微積分学などの数学的知識を前提としています)。原著への読者の声―「市場原理を理解して実装しようとする者にとってきわめて有益」「小売業に関わるデータサイエンティストは必読」。推薦の言葉―「本書はマーケティング分野でのデジタル変革を鮮やかに映し出しており、データサイエンスがいかにしてあらゆるマーケティング活動に不可欠な部分になるのかを示している。データ駆動型アプローチとスマートなアルゴリズムによって、従来の労働集約型のマーケティングタスクにディープな自動化がどのようにしてもたらされるのかを詳しく解説している。意思決定は改善されるだけでなく、はるかに高速になる。このことは、加速する一方の競争環境において決定的に重要である。データサイエンティストとマーケティング責任者の必読書である」(Andrey Sebrant, Director of Strategic Marketing, Yandex)。

※この商品は固定レイアウトで作成されており、タブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。
購入前にお使いの端末で無料サンプルをお試しください。  
内容サンプル
 
User Voice
内容も充実しており実用的で良いと思いました。エンジニアにも マーケッターにもおススメです
本書は、マーケティングサイエンスに関するモデルとアルゴリズムについて詳しく書かれている。しかし、この本には、pythonやRのコードが掲載されてはいない。この本の目的は、経済学、経営学の理論に則た統計分析に関するアルゴリズムの教科書である。そのため、モデル式とかを書いたり、読んだりする訓練を受けていない初心者には、厳しい一冊である。本書の読者は、プログラムが打てて、統計に関する知識を持ち、実践的なマーケティングの理論に精通している人向けの一冊だと思われる。
アルゴリズムで対応はできるということはわかるが、それだけではない面も知りたい。
 
   
本書の内容
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つ減らしました。
本自体は良いものだと思いますが、翻訳がやばいです。プログラミングの本で「病的」なんていう単語に出会うととは思ってもみませんでした。