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


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

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

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

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

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

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

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

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

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

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

想定読者は入門者〜緑くらいでしょうか?しかしそれ以上のレートの方にも、アルゴリズムの設計技法に重きを置いた説明は多いに参考になると思います。
カラーが効果的に使われていて非常に読みやすくページが構築されている。加えて章末問題も用意されており、高校の参考書のようにシンプルな作りとなっている。競技プログラミングは大学生や高校生といった若い層が多くを占めると言われているが、彼らにとっても親しみやすいレイアウトの本であると言えるだろう。
あらゆるアルゴリズムが競技プログラミングを志向して解説されている。説明はとても分かりやすいが、それと同時に「大切な点」も省かれずにしっかりと網羅されている印象を受けた。
 
人気 2位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 3位
 
本書の内容
コンピュータを使い物にするアルゴリズムにはどういうものがあるか、今日的な視点から
選んだ実際に役立っている9のアルゴリズムのアイデアを、章ごとに掲げてわかりやす
く説明した読み物です。図を多用し、その仕組みをたとえを使いながら見せることに
重点を置いています。著者が選んだ基準は、(1)インターネットでメールやブラウザ
を利用する一般ユーザーの日常のコンピュータで使われていること、(2)特定の状況
や高度のソフトウェアだけに使えるものは除くこと、(3)基本的にコンピュータ・サ
イエンスの理論に基づくこと、です。扱っている9のアルゴリズムのテーマは、検索エ
ンジンのインデクシング、ページランク、公開鍵暗号、誤り訂正符号、パターン認識、
データ圧縮、データベース、デジタル署名、計算不能性。

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

ただし、式やコードが出てくるわけではないため、教養としては役に立つが、実装できるようになるわけではない。
 
人気 4位
 
本書の内容
[本当の力がつくアルゴリズムの本]
プログラミングコンテストの問題を通してアルゴリズムのしくみや考え方を楽しく習得。

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

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

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

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

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

それから、今回Kindle版を購入したのですが、電子書籍としての目次が無くてかなり不便です。今からでもいいので更新お願いします。
 
人気 5位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 6位
 
本書の内容
機械学習の原理を知るための、初めての入門

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

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

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

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

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

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

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

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

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

上記の通り、購入のおすすめ度合いはどの点にニーズがあるのかによります
見極めて購入を検討されたほうが良いでしょう。
 
人気 7位
 
本書の内容
“プログラミングコンテスト"で勝つための必須テクニック
「アルゴリズム」と「データ構造」の基礎をマスター!

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

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

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

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

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

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

プログラミングコンテスト攻略のための,とありますが,
単にアルゴリズムを学ぶのにも良い一冊です.大学の教科書もこういうものが使われると良いような気がします.
基礎的なアルゴリズムとデータ構造を勉強しつつ、コーディングして理解できているかを確認できます。
確認はAOJというオンラインジャッジを使用します。理解と実践が両立できるのでオススメです。
蟻本より簡単なので、最初の一歩に良い本だと思います。
 
人気 8位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 9位
 
本書の内容
仕事の時間配分、書類整理から洗濯済靴下の片割れ探しまで、何をいつ行ないいつやめるか、そもそも行なうべきかの判断は難しい。だが人工知能の大本でもあるアルゴリズム論理の使い方を学べば、ビジネスや日常で迫られる判断を手早く行なえる。現代人必読の書。
 
内容サンプル
 
User Voice
 素晴らしい本だと思います。分厚いし、多量の情報が書いてあるので、一つ一つを追っていくと途中でなげだすかもしれません。それより通勤の電車の中で読み飛ばすだけでもよいでしょう。
 いろいろな数理があり、我々が直感的にやっていることが、実は正しいやり方であること、完璧な最適化というのは難しいだけでなくのぞましくないこと、などが様々な例を取り上げながら書かれています。
 講義を準備しすぎると学生にわかりにくくなるということが「オーバーフィッティング」の例としてかかれているなど、ちょっとやりすぎと思う例もつかわれていますが、細かいことにこだわらず読んでいけば良いと思います。
 素晴らしい本だと思います。完璧に対応し最適解を求めても得られないことが多く、また思考のためのコストや不確実性、問題の複雑性のために、適当に打ち切った方が良いということがよくわかりました。普段私たちがやっていることが本当は合理的なのではないかと感じます。

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

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

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

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

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

最適停止
見てから跳べ
閾値ルール
探索と活用
多腕バンディット問題
勝てばキープ、負ければスイッチ
ギッティング指数
疑わしきは罰せず
世界は変わる
ソート
バケットソート
ノイズと頑健性
キャッシュ
ベラーディのアルゴリズム
ランダムエビクション
最長未使用時間法
忘却と整理の仕方
スケジューリング
コンテキストスイッチとスラッシング
ベイスの法則
後ろ向き推論
ラプラスの法則
コペルニクス原理
スモールデータと直感
オーバーフィッティング
クロス確認
正則化
ヒューリスティック
緩和法
ラグランジュ緩和
ランダム性
モンテカルロ法
メトロポリス・アルゴリズム
焼きなまし法
ネットワーキング
加法的増加・乗法的減少
階層なき制御
ゲーム理論
再帰
ナッシュ均衡
アルゴリズム的ゲーム理論
囚人のジレンマ
メカニズムデザイン
情報カスケード
顕示原理
 
人気 10位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 11位
 
本書の内容
ウェブサービスの開発に携わるかぎり、ユーザにより良い体験を提供することは無視できない命題です。本書は、ウェブサービスを成長させることを目的に、ユーザの行動を定量的に評価し、改善する手法を学ぶ書籍です。
シンプルなA/B テストを第一歩に、線形モデルの導入、メタヒューリスティクス、バンディットアルゴリズム、ベイズ最適化と、機械学習の知識を紹介しながら、ウェブサイトを最適化するという現実的な問題を解くための数理的な手法を解説します。
Pythonによるサンプルコードと、グラフィカルな図版で表現された数学的なモデルを組み合わせ、機械学習と統計学の基礎を丁寧に解説しています。
ウェブ最適化の手法を学びたい、機械学習の基礎を知りたい読者に最適の1冊です。
 
内容サンプル
 
User Voice
 
人気 12位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 13位
 
本書の内容
僕たちは、こんな本を待っていた。Sebastian Thrunらの名著『確率ロボティクス』(マイナビ)の翻訳者であり、同分野の第一人者でもある、上田隆一氏が書き下ろす至極の入門書! ・理論→実装という一貫した流れで、丁寧に解説。まさにバイブル!・Jupyter Notebook対応だから、すぐに実践できる!・コードはGitHubで全部公開!【第1章「はじめに」より抜粋】 本書は、確率をロボットの認識機能や制御に用いることを考える分野「確率ロボティクス」の入門書です。ロボットの開発者、研究者になるには機械、計算機、制御に関する勉強も必要なうえ、上記のような状況なので、確率論、統計学の理解も重要になってきています。たくさん勉強しなければならないので「手短に」といいたいところですが、確率というものに実感がもてるまでには頭の訓練が必要です。 筆者は学生のとき、確率に対する実感を養うために(実際は家賃込みの月6万円の仕送りを増やすために)、学生寮、後楽園、高田馬場あたりの「現場」でかなりの訓練をして仕送りを減らしていましたが、そちらをおすすめするわけにはいきません。そこでロボティクスでよく使われるアルゴリズムを書いて動かしてもらい、実感をもってもらおうと企画したのが本書です。【主な内容】第1部 準備/第1章 はじめに/第2章 確率・統計の基礎/第3章 自律ロボットのモデル化/第4章 不確かさのモデル化 第2部 自己位置推定とSLAM/第5章 パーティクルフィルタによる自己位置推定/第6章 カルマンフィルタによる自己位置推定/第7章 自己位置推定の諸問題/第8章 パーティクルフィルタによるSLAM/第9章 グラフ表現によるSLAM 第3部 行動決定第/10章 マルコフ決定過程と動的計画法/第11章 強化学習/第12章 部分観測マルコフ決定過程 付録A ベイズ推論によるセンサデータの解析 付録B 計算
 
内容サンプル
 
User Voice
当方、機械学習エンジニアですが、工業用機械の自動運転関連の案件を担当することになり、本書を手に取りました。

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

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

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

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

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

5.16式の分母のxの上付き添え字がjでなくk
確率ロボティクスついて詳しい千葉工大の上田先生の書籍です。ROSの本で有名な方で、シェル芸など笑いにも精通していらっしゃいます。twitter → @ryuichiueda
この本では自動運転やロボットに必要な自己位置推定や地図作成を実装するにあたって、エラーやバイアスを含むセンサ群のデータから価値のある値にどう料理するか、確率ロボティクスの理論とパイソンのコードが説明されています。
具体的には、カメラやライダー等のセンサを使った複数種のSLAMアルゴリズムの解説や、経路生成したのち補正していく強化学習についてQ学習等のアルゴリズムの解説があります。
理論部分はハードです。p(z|a,b,c)とかの統計の記法に慣れて、ベイズ理論の定理を使いこなす必要有りです。
Anacondaをいれて環境を作ればJupyter Notebook上でサンプルコードが動作し、段階的にコードが動く振る舞いを確認できます。
読み応えのある本ですが、サンプルコードもありますし、確率ロボティクスの最前線なのでおすすめです。
専門外の人間ですが、タイトルから受ける印象よりもずっと教科書に近い本です。
機械学習ブームのときにPRMLの実装コードが出回りましたが、確率ロボティクスでも(ROSの機能を使うためにも)原理が分かる実装コードがあると便利です。当初はその程度しか期待していませんでしたが、説明が系統的なので、むしろ数式の代わりにコードを使って書いた教科書というイメージです。
元ネタの確率ロボティクスは数式オンリーですが、この本は具体的なコードを使ってビジュアルに解説しているので、各種の工夫の目的と効果が非常によく分かります。制御の話はコードを見ないと本当には理解できないところがあるので、周辺にいる人にとっては貴重な本だと思います。また、元ネタの確率ロボティクスには強化学習関連の話がありませんでしたが、この本ではその辺りのことも一応書いてありました。
ただ、懇切丁寧に書いてあるものの、もとになる理論はそれなりに高度です。また話が具体的になると、元になっている理論とは違ったレベルの疑問も出て来ます。現時点では一通り流して読んだ程度ですが、もう少し時間をかけて読む必要があるのかなと思っています。
 
人気 14位
 
本書の内容
独自のシミュレータQCEngineを使ってJavaScriptで書かれたサンプルプログラムをブラウザ上で動かし、量子コンピュータでのプログラミングに必要な知識やスキルを学ぶことができます。
量子コンピューティングの基礎とその可能性に関する直感的理解が容易になるよう、豊富な例と図を用いて説明します。
前半では、単一キュビットに対する基本的な量子演算、多重キュビット演算、複合演算(量子プリミティブ)、基本的な量子アプリケーション、後半では、探索問題、画像処理、暗号問題、機械学習への応用について解説しており、本書だけで基礎から実践的な応用技術までを一気に習得できます。
これから学習を始める技術者、研究者を中心に、新しい研究分野やビジネスで量子コンピュータを利用したいと考える方がプログラミングの「感覚」を養うのに役立つ、ユニークなガイドブックです。
 
内容サンプル
 
User Voice
内容としては充実しており、勉強になった。
特にシミュレーションを手元で試せるので、色々と実験しては理解を深めるのに役立った。
大学で数学や物理を専攻している人にとっては、多少、厳密性に欠けた議論や言い回しに引っかかるだろうが。(これはこの本の読者のターゲット設定から仕方ない点ではある。)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

一般に、入門者が困るのはプログラミングできる環境をつくることだとおもいます。
こちらは、本書で足りなければ、インターネットを検索するとたくさん記事が見つかります。
「Windows Python インストール」
「Windows Python データ分析 環境構築」
などの単語でググるといいと思います。
Google colaboratory(という単語でググってください)
などを使うと、ブラウザからPythonのソースコードを実行できます。
(ただ、まー、クラウドの場合、ブラウザとWebサーバの区別がつかないと
「ファイルはどこに保存された?」とか、混乱するかもです。)
まずPythonでの演算子の使い方や関数の作り方などについて説明があるのでPythonの事前知識がなくても学習を始められるようになっています。
その次の章ではお釣りを計算するとか素数を出力させるといったプログラムを作るのですが、そうした分かりやすい例を使って「同じ結果を得るにも複数の実装が可能で、どれを選ぶかでコードの長さも計算量も大いに違ってくる」ということが明快に示されています。それぞれの例にフローチャートがついているので理解の助けになりますし、それぞれの処理の手際のよさを比較できるようになっています。また不正な入力を想定してエラーを防ぐ対策もこの段階から扱っています。
とにかく初歩の段階から自然に「より良いアルゴリズムとは何か?」を考えるようになるのが素晴らしいと思います。
フローチャートがあるので理解できる,という立て付けになっていて,
アルゴリズム自体の説明がおろそかな印象を受けました(特にヒープ・最短経路).
フローチャートは理解を助けるのは事実だと思いますが,
フローチャートがあれば説明しなくても良い,ということにはならないと思います.
 
人気 17位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 18位
 
本書の内容
 
内容サンプル
 
User Voice
機械学習において、どの様なアルゴリズムがあるのか俯瞰するのに良いと思います。ただ、212ページで、この値段は....。
機械学習のための各アルゴリズムの特徴が、各アルゴリズムの冒頭に記されているのだが、これが抽象的で理解しずらい。
もう少し、歴史的な背景とかなぜこのようなアルゴリズムが必要になったのかとか実際にどのようなことに役立ってきたのかなどが記載されていないので、読者からすると入門書でありながら書かれている内容が抽象的になってしまい過ぎて理解しにくい。いろいろな簡単な例について説明されているが、このらの例も簡単すぎて実際にどのようなときに使用したらよいのか、などが分かりにくい。理論自体、あるいはそこで使用されている数学自体は簡単なものが多いので、もう少し工夫してわかりやすく書いてほしかった。内容はやさしくても、そこになぜそうなるのかという理論がわかりやすく書かれていないと理解しにくい。読者は子供の使いではないので、簡単な例だけで、こういうふうに理解しろと言われてもそれは無理だ。
結局この本だけではダメなので、インターネットで関連するいろいろな記事を読むことにより、明確なイメージをつかむことができた。
■良かった点
・各ページの構成・見栄えがとても良く、機械学習の難しい話をとっつきやすく解説してくれている
・アルゴリズムの網羅性が高く、見やすさ/とっつきやすさと相まって、知らないアルゴリズムがあったときに心理的な障壁がなく気軽に本書で調べることができる
■もう一歩な点
・各アルゴリズムの詳細な解説は完璧に省かれているため、数学的な原理を知りたい場合はネット等で別途調査する必要がある。
 
人気 19位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 20位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 21位
 
本書の内容
(概要)
本書(原題: Python Algorithms: Mastering Basic Algorithms in the Python Language)はアルゴリズムの分析と設計方法について、Pythonを使って説明します。古典的なアルゴリズムに焦点を絞って解説していますが、基本的なアルゴリズムによる問題解決の方法もしっかり理解できます。
本書はプログラミングとコンピュータサイエンスの最も重要で難しい分野を非常に読みやすい形で解説しています。アルゴリズムの理論とプログラミングの実践の両方をカバーし、理論が実際のPythonプログラムにどのように反映されているかを説明します。また、Pythonに組み込まれている有名なアルゴリズムとデータ構造について説明し、実装と評価について学ぶことができます。

(こんな方におすすめ)
・Pythonの入門を終えた方
・アルゴリズムを学習したい方
・コンピュータサイエンスを専攻する学生

(目次)
第1章 どんな本なのか?
1-1 本書の内容(つまり、何に関する本なのか? )
1-2 本書を読む理由(なぜ、あなたはここにたどり着いたのか? )
1-3 本書を読むにあたって(前提条件)
1-4 本書の構成
1-5 まとめ
1-6 興味のある方へ
1-7 演習問題
1-8 参考文献
第2章 アルゴリズム解析の基礎
2-1 計算機における重要な考え
2-2 漸近記法
2-3 グラフと木構造の実装
2-4 ブラックボックスにご注意を
2-5 まとめ
2-6 さらに興味のある方へ
2-7 演習問題
2-8 参考文献
第3章 数え上げ入門
3-1 総和をひとかじり
3-2 トーナメントに関する2 つの物語
3-3 部分集合と並べ替えと組み合わせ
3-4 再帰と漸化式
3-5 いったい何についての話だったのか?
3-6 まとめ
3-7 興味のある方へ
3-8 演習問題
3-9 参考文献
第4章 帰納と再帰と還元
4-1 なるほど、それなら簡単だよ!
4-2 いち、に、たくさーん
4-3 鏡よ、鏡
4-4 帰納法と再帰を使って設計する
4-5 強い仮定
4-6 不変式と正しさ
4-7 緩和とゆっくりとした改善
4-8 還元 + 対偶 = 困難さの証明
4-9 問題解決のアドバイス
4-10 まとめ
4-11 興味のある方へ
4-12 演習問題
4-13 参考文献
第5章 巡回:アルゴリズムのマスターキー
5-1 公園の中の散歩
5-2 深く行こう!
5-3 無限の迷路と(重みなし)最短経路
5-4 強連結成分
5-5 まとめ
5-6 興味のある方へ
5-7 演習問題
5-8 参考文献
第6章 分割・統合・統治
6-1 木構造型問題:バランスがすべて
6-2 標準的なD&C アルゴリズム
6-3 半分にしながら探索
6-4 半分にしながらソートする
6-5 大事な3 つの例
6-6 木のバランスと...バランスのとり方
6-7 まとめ
6-8 興味のある方へ
6-9 演習問題
6-10 参考文献
第7章 貪欲が善って、ほんとうですか? それなら証明してください
7-1 一歩ずつ安全に
7-2 ナップサック問題
7-3 Huffmanのアルゴリズム
7-4 最小全域木
7-5 貪欲法は機能するが、いつ?
7-6 まとめ
7-7 興味のある方へ
7-8 演習問題
7-9 参考文献
第8章 もつれた依存関係とメモ化
8-1 DRY(Don't Repeat Yourself)の原則
8-2 有向非巡回グラフにおける最短経路
8-3 最長増加部分列(LIS)
8-4 列の比較
8-5 ナップサック問題の反撃
8-6 二値列分割
8-7 まとめ
8-8 興味のある方へ
8-9 演習問題
8-10 参考文献
第9章 A地点からB地点へEdsger Dijkstraとその仲間たちとともに
9-1 知識の伝播
9-2 狂ったように緩和する
9-3 隠れたDAG を見つける
9-4 万人対万人
9-5 突拍子もない部分問題
9-6 中間で会う
9-7 どこに向かっているのかを知る
9-8 まとめ
9-9 興味のある方へ
9-10 演習問題
9-11 参考文献
第10章 マッチング・カット・フロー
10-1 二部マッチング
10-2 辺素な道
10-3 最大フロー
10-4 最小カット
10-5 最小コストフローと割り当て問題
10-6 応用例
10-7 まとめ
10-8 興味のある方へ
10-9 演習問題
10-10 参考文献
第11章 困難な問題と適度ないい加減さ
11-1 再び還元
11-2 カンザスはどこへ?
11-3 その頃、カンザスでは...
11-4 とはいえ、どこから始め、どこへ向かいましょうか?
11-5 怪獣動物園
11-6 困難な状況になると、賢いものはいい加減になる
11-7 必死に解を求めて
11-8 物語の教訓は何だったのか
11-9 まとめ
11-10 興味のある方へ
11-11 演習問題
11-12 参考文献
付録A 全力疾走 - Pythonを最大限加速させるには
付録B 問題とアルゴリズムの一覧
付録C グラフに関する用語と表記
付録D 演習のヒント
 
内容サンプル
 
User Voice
 
人気 22位
 
本書の内容

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

私は今までアルゴリズムに対して苦手意識があったのですが、この本を読んで考え方が変わりました。苦手意識がある人でもサクサク読める内容なので苦手意識はあるけどアルゴリズムについて学びたいという人は読むことをおすすめします。
蟻本、チーター本を読んでもさっぱりわからない、でも各種用語やアルゴリズムの名前だけはたくさん覚えた、そこで螺旋本を読むのはダルい、という人にはもってこい。
これだけで実装まではもっていけないが、概念と考え方がわかりやすく図解をいれて提示されるので、これを足がかりにして既に解読を挫折したリファレンスやコードにもう一度臨めば理解度が格段に違ってくると思われる。
 
人気 23位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 24位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 25位
 
本書の内容
世界標準 MIT 教科書!!<br/> 大変好評を博しているMITでの計算機アルゴリズムの教育用に著わしたテキストの原書3版である。前版までで既にアルゴリズムとデータ構造に関する世界標準教科書としての地位を確立しているが、より良い教科書を目指して今回、章立てを含め再び全面的な改訂を行った。<br/> 各節末には多様なレベルの問題が配置され、学部や大学院の講義用教科書として、また技術系専門家の手引書、あるいは事典しても活用できる。<br/>
 
内容サンプル
 
User Voice
かなり値段が張りますが画像のようにかなりのページ数があります。(参考文献なしで360P以上)
一巻では初歩的な「増加のオーダー」から始まり「二分木」、「ヒープソート」、「二色木」などがあります。
すべて読破するにはおそらくかなりの根気が必要です。(高校数学レベルの知識は必要)
ですがこのイントロダクションシリーズをすべて読めばかなりアルゴリズムに精通できているといえるでしょう。
(とくにソートに関してはかなり詳しいです。)
興味がある方はぜひ読んでいただきたい一冊です。
ページとページがくっ付いていました。
裁断ミス?
最初に読む時にめくりづらかったです。
 
人気 26位
 
本書の内容
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)よりわかりやすい
AIって何だろう?とか、中で本当に考えているのか?とか 普通の疑問にAIの仕組み(教師あり)をエクセルでわかりやすく実施できます。私には、AIをpythonなどでがっつりプログラミングするわけではないので、概要が理解できて良かったと思います。
 
人気 27位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 28位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 29位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 30位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 31位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 32位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 33位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 34位
 
本書の内容
※この商品は固定レイアウトで作成されており、タブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。

プログラミングとアルゴリズムの基礎、および、「Scratch 3.0」の使い方を学ぶための本です。
大学や高校のプログラミングの授業でも活用していただいている人気定番書を「Scratch 3.0」の登場に合わせて改訂しました。

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

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

各章の<考えてみよう>のコーナーで自分なりに見通しを立てて考えたり、や<プログラミングのポイント>のコラムをしっかりと読んで、操作の背景にある仕組みを考え、理解を深めながら学びをすすめましょう。
加えて、<チャレンジ>や<ステップアップ>といった課題に取り組むことで、頭で理解するだけでなく、身につけるようにしましょう。本書の詳しい使い方や各種のコラムの内容については「序章」の「この本の使い方」をご覧ください。
 
内容サンプル
 
User Voice
CやJavaなど一通り学んでいたのですが,バイトで小学生にプログラミングを教えることがあり,購入しました.
中身を通してわかったことは,scratchがプログラミング初心者にとって非常に良い教材であること,そしてこの本を読むことでscratchの基本的な操作はマスターできるということでした.
加えて,探索やソートアルゴリズムまでカバーしている点が非常によかったと思います。
キーボードに慣れていないプログラミング初心者向けというScratch感が認識不足であったことがわかりました。再帰処理まで触れられており、良書です。
Scratch本は子ども向けあるいは子どもと大人が共に学ぶ本というのが多い中で、この本は大人が独習するのに適した本だと思います。
 
人気 35位
 
本書の内容
東大1年生向け好評講義テキストを書籍化。
プログラミングの初心者でも、シミュレーションや
データ分析の基礎までを最短で身につけられる。


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


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

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


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

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

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

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

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

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

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

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



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

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

※この商品は固定レイアウトで作成されており、タブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。
購入前にお使いの端末で無料サンプルをお試しください。
 
内容サンプル
 
User Voice
アルゴリズムで対応はできるということはわかるが、それだけではない面も知りたい。
内容も充実しており実用的で良いと思いました。エンジニアにも マーケッターにもおススメです
本書は、マーケティングサイエンスに関するモデルとアルゴリズムについて詳しく書かれている。しかし、この本には、pythonやRのコードが掲載されてはいない。この本の目的は、経済学、経営学の理論に則た統計分析に関するアルゴリズムの教科書である。そのため、モデル式とかを書いたり、読んだりする訓練を受けていない初心者には、厳しい一冊である。本書の読者は、プログラムが打てて、統計に関する知識を持ち、実践的なマーケティングの理論に精通している人向けの一冊だと思われる。
 
人気 52位
 
本書の内容
「いいね!」したり、ネットで買い物をしたりするたびに、その裏で特定のアルゴリズムが、私たちの行動と嗜好を常に分析している。それにより「おすすめ」の広告が現れるくらいは無害でも、選挙前にフェイクニュースばかり読まされたり、「将来の」犯罪者として拘束されたりするのは問題だ。だが、アルゴリズムの導き出す答えはどれほど正確で、効果的なのか。アルゴリズムやAIのしくみ、将来の可能性と限界を評価する話題作。
 
内容サンプル
 
User Voice
アルゴリズムという言葉に導かれて、買ってしまった。本のテーマは、別のところにあるので、わたしの求める答えを見つけるのに、苦労した。ストレスはあったが、理解はできた。翻訳本特有のやたら長い文章には辟易とした。しかし、いい本だと思います。
データサイエンスの世界を訪れる際の教科書として最適だと思う。私にとってはとても面白い本でした。
また、最近の主流となりつつある「行動経済学」的センスを得るにも有効だと思います。
なんとなく疑問に思っていたことが解消されます。
やっぱり統計(主成分分析)は強力、でも経験のある専門家の方がもっと強力、おすすめされたほど人々は商品を買わない、AIは現時点大腸菌レベル、など。。
そーだよね~と思った次第です。
 
人気 53位
 
本書の内容
バンダイナムコスタジオの開発者が伝授!

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

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

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

▼本書の構成
■目次
第0章 Unityの概要
第1章 クリックアクションゲーム~おに
第2章 ジグソーパズル~ぷちパズル
第3章 ドットイートゲーム~ダンジョンイーター
第4章 3Dサウンド探索ゲーム~イン・ザ・ダーク・ウォーター
第5章 リズムゲーム~ヘドバン・ガールズ
第6章 全方向スクロールシューティング~スターバイター
第7章 並べ替えパズルアクション~イート・ザ・ムーン
第8章 ジャンピングアクション~(株)ねこ障子
第9章 ロールプレイングゲーム~一画面伝説レジェンド
第10章 ドライブゲーム~ナゾレバ・ハシレール(もちろん仮)
 
内容サンプル
 
User Voice
まず本として誰に向けて書いているのかがわからない。
0章では長々と基本的なことを書いているのに
1章以降では制作の流れなどは省略し、極一部の機能のみフィーチャーした解説を書いている。
0章が必要な人間には1章以降は理解できず、逆であれば0章が不要である。

また解説している内容もコードが読めるなら解説するまでもない内容で
それができるならサイトからサンプルゲームを落とせばこの本を買う意味はまったくない。
誰にとってもこの本が役に立つことはないと想う。
As title saids, this book is an interesting casual game development reference, very good for novice to know how to start simple and playable projects.
Unityでゲームを作るときのアイデアの種。実装方法の勉強になります。
 
人気 54位
発売日 2016/03/11
(3.5)
Amazon 2,640円
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 55位
 
本書の内容
 
内容サンプル
 
User Voice
リバーシ(オセロ)はルールが単純で、千日手・GHI問題がなく、プログラミングの勉強にはよいテーマと思われる。しかし、いまだに答えが出ていないというのは本当か。ルールの実装から、高速化のテクニック、局面の評価手法の数々を網羅し、導入本としては優秀である。
リバーシのプログラムを作ろうとは思ったものの,とりあえず何からとっかかればいいかわからないと思ったらこの本の購入を検討してみるといいと思います.
ネットで信憑性があるか否かを吟味しながら情報を漁るのもいいですが,初めのうちは手元に情報がまとまった参考書があるとスムーズにプログラムの作成に取り組めるのでお勧めです.プログラミングがある程度できることが前提ですが.
学校の教材に指定されたので購入しました。安く購入できて満足です。
 
人気 56位
 
本書の内容
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。


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

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

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

早く自分だけのプログラムを作りたい! という方は、第1章から第3章までを終えると、自分なりのオリジナルなプログラムを作り始めることができるようになるでしょう。途中で一度自分のオリジナルな作品を作ってから第4章からに取り組むと、より構造化プログラミングや関数、クローンなどのありがたみがわかるでしょう。
 
内容サンプル
 
User Voice
子供(小学校低学年)にプログラミングを教えるために購入。
これまで、何冊かScratchの本を買ったが、基本的なアルゴリズム(プログラムの考え方)を段階を踏んで学べる、良い本でした。漢字や内容が小学校低学年には難しいため、大人が説明しながらやる必要がありますが。
あと、意外と気づかない人が多いかもしれませんが、サンプルファイルをダウンロードするところから、指導者用の教材もダウンロードできます!
サンプルファイルはScratch3.0では作動しない(?)ので、配布が必要なら自分で作る必要がありますが、それを差し引いても、よくできた本だと思います。
アルゴリズムの基本がよく分かる書籍です。初心者用で、今後教育界で始まるプログラムミング教育に携わる学校の先生方にもお勧めですよ!
スクラッチのプログラミングに関する市販本はほとんどが初心者(小・中学校生)向けが多い中で、探していたレベルの本にやっと巡り合えました。理解できている部分は飛ばしながら進めていこうと思っています。
 
人気 57位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 58位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 59位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 60位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 61位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 62位
 
本書の内容
すべての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日追記)
 
人気 63位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 64位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 65位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 66位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 67位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 68位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 69位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 70位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 71位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 72位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 73位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 74位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 75位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 76位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 77位
 
本書の内容
今日、PHPはWebの中核をなすプログラミング言語となりました。
世界中でPHPが使われているということは、さまざまなロジックやアルゴリズムをPHPで書く機会が増えていることでもあります。
そこで、本書では、Webアプリ開発で役立つであろう「イマドキのアルゴリズム」を紹介していきます。

「アルゴリズム」というのは、ある特定の問題を解く手順を、単純な計算や操作の組み合わせとして明確に定義したもののことです。
本書は、いろいろな問題を解く手順を、一つずつ紹介していきます。

C言語やJavaで書かれたアルゴリズム解説書は多くありますが、そこで紹介されているアルゴリズムを、PHPで実装する機会はそれほど多くないかもしれません。
それらは、コンピューターサイエンスの視点から見たときには、とても重要で、教養として知っているべき事柄ですが、多くの基本的なアルゴリズムは、すでにPHPの標準関数として取り込まれており、Webアプリの開発者が意識する必要がないものとなっています。
そこで、本書では、エンジニアとして知っておくと役立つ基本的なアルゴリズムを押さえつつ、イマドキのWebサイトを作る上で役立つ、多くの実用的で発展的なアルゴリズムを解説します。

アルゴリズムの重要性は、今も昔も変わりません。
ちょっとプログラムを書き換えただけなのに、実行速度が2 倍になったということは、今もよくあることです。
本書を参考にして「Webアプリが2 倍速くなった」とか「アプリにすごい機能がついた」という感嘆のコメントが寄せられることを楽しみにしています。
 
内容サンプル
 
User Voice
ページ数の割に内容を多くしようとしたがために、Vagrantのvagrantfileの設定の部分であったり
(そもそもvagrantfileの設定だとすら言ってもいない)
プログラムの説明が明らかに足りてないし挿絵がかなりいいかげんになってる部分が多く見られます。
とりあえずなんとなく図を書いて貼ったと言う感じ。(加えて誤字脱字も時々ある)
プログラムにこのサンプルには不要な判定が書いてあったりするので、どこかのソースからそのまま持ってきた感じがします。
中か上級者なら自分でウエブの情報で調べられるでしょう。初級者ならば困ります。といった具合。
パラパラめくって何かのヒントとして使えるかな?といった具合です。
英語になってしまいますがユーチューブなら
いろんな情報をもっとわかりやすく詳しく説明してくれているチャンネルがいくらでもあります。
書名にもアルゴリズムを"使いこなす"とあるようにソートなど初歩的なもの以外は
直接実装せずに概念だけを説明し、既存ライブラリの使い方を説明するスタイルです。

既存ライブラリを利用するため内容に比べてコーディングは易しく、PHPである程度
プログラムを書いたことのある方ならどなたでもチャレンジできるレベルです。

暗号化やテキスト解析、画像処理、機械学習までコードを書きながら短時間で動作を
体感できる稀有な書籍です。すぐに動くものができるので飽きずに楽しみながら
読み進められます。

注意点として、あくまで楽しみながらアルゴリズムを学び体験することが目的の
書籍であることが挙げられます。そのまま業務に応用できる内容ではありません。
例えば、ライブラリの選択は実装のシンプルさが基準になっているケースが多く
パフォーマンス向上についての記述もほとんどありません。

また、どんな技術書でも避けられないことですがUbuntuの環境構築周りの記述が
一部古いです。インストールするパッケージ名や設定パスが多少異なっていても
インターネットなどで調べて自力で対応できる方にお勧めします。
PHPでのアルゴリズムについて、人それぞれプログラムの書き方がありそれを否定はできません。
ただ、書きやすさと使いやすさ、これを両立することは難しいことです。
この本では、クジラ飛行机さんのわかりやすい文章によりPHPを少し知った方でも、難しい事『PHPのアルゴリズム』を知るいい機会になる本です。

この本では特に,①データの並べ替えやデータ保存など基本についての方法論と②機能に対してのエクセルなどグラフの描画や画像の顔認識についてのライブラリを最短に使うための目的論、この2点をまとめ、本の流れでアルゴルズム風に覚えることができます。

この本を読み、方法論を知りプログラムを修正することでプログラム処理が早くなるかもしれませんし、目的論で各PHP関連のライブラリをコンパクトに実例を上げて明快に説明しているためPHPの開発スピードを上げることも可能かもしれません。

今現在も読んでおりますが、一度、開発の手を止めて服する際に読むと深いい気分にさせてくれるはずです。
 
人気 78位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 79位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 80位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 81位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 82位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 83位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 84位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 85位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 86位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 87位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 88位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 89位
 
本書の内容

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

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

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

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



ローリーと一緒にコンピューターの世界でぼうけんしよう!

本書は、10歳以上の方を対象に、コンピューター科学やプログラミングにおいて基本となる「考え方」を学べるように考えられた本です。ただし、本編では、「コンピューター」も「プログラミング」も登場しません。主人公の女の子、ローリーの旅を通して、自然と学べるように作られています。

ローリーが旅するふしぎな「ユーザーランド」は、コンピューター科学が現実となった世界です。「ユーザーランド」に迷い込んでしまったローリーは、個性豊かな人や動物たちと出会ったり、奇妙な町へ行ったり、おかしな問題を解いたりと、楽しくて、ちょっぴり大変な旅を経験します。
ローリーがぶつかる問題には、たとえば以下のようなものがあります。
・すべての町に行きたいとき、どう回れば最短で回れるでしょうか?
・「筋が通っていること」と「合理的なこと」はどんな違いがあるでしょうか?
・「無限の糸」とは「すごく長い糸」のことでしょうか?
・おもちゃのカメに円を書かせるには、どんなふうに命令すればいいでしょうか?
・「一番いいやり方」を探すのが難しい時、ほかにどんな選択肢があるでしょうか?
・「0」は偶数でしょうか? それとも奇数でしょうか?

ローリーは一緒に旅をすることになるカメレオンの「エックスオア」や、旅の途中で出会う組み立て屋の「エポニマスさん」、「ティンカーさん」、「ヒュー・ラスティックさん」、カメの「トータスさん」、配達屋の「ウィンサム」など、いろいろな人からヒントをもらいながら、いっしょうけんめい考えて、進んでいきます。
そんなローリーの物語をドキドキしながら読むうちに、読者は、プログラミングやアルゴリズム、そして“いろいろな問題を解くための考え方”のエッセンスを、いつの間にか身に付けられるでしょう。

※本書は、『Lauren Ipsum: A Story About Computer Science and Other Improbable Things』の翻訳書です。
※対象年齢:10歳以上
※総ルビ

【あらすじ】
ローリーは、森の中で道に迷い、ふしぎな国「ユーザーランド」に入り込んでしまいます。そこには、カメレオンのように体の色がくるくる変わるトカゲや、カメに乗った古代ギリシア人など、変わった動物や人がいっぱい。ローリーは、出会った人に話を聞きながら、家に帰る道を探していきますが……?

【秋葉拓也さん(日本情報オリンピック2006 優勝者)による推薦文】
コンピューターが出てこないコンピューター科学の入門書です。
アルゴリズム、通信とセキュリティ、確率と無限……不思議なファンタジーの世界で、コンピュータで使われる数理的アイディアの身近さに気付かされます。

【訳者あとがきより抜粋】
本書が伝えようとしたのは、コードを書く訓練を始める前に、あるいはコードを書く練習をしながら、問題を的確に認識し、複数の解法の存在を視野に入れ、効率よく問題を解決する方略を自分の頭で考える習慣を身につける、考えようとする心構がまえを持つことの大切さです。
本書を読み終えた子どもたちは、この物語がプログラミングにどう結びつくのかまでは理解しきれていないかもしれません。でも、なんだかよくわからないけれど次はプログラミングというのをやってみたい!と思ってくれたとしたら、本書の狙いは9割果はたせたと言っていいでしょう。そして、ローリーの物語を通じてなんとなく身につけた考え方がプログラミングの基礎として重要であったのだと、プログラミングの勉強を続けた先で、何年後かにふと気づいてくれたとしたら、残りの1割が埋まるのだと思います。
 
内容サンプル
 
User Voice
やっぱり翻訳文です。
翻訳者の気遣いは沢山感じますが、日本の本とは少し違います。

娘に渡す前に、自分で読んでみました。
「あ~ぁ こんなに僕はもう、頭が固いんだ」って沢山確認できました。
でも、娘に説明できるように、大人が先に、もしくは同時に読むことは必要な本です。
そして、40を過ぎるとこんなにも『カタカナ』が頭に入ってこないことを実感するでしょう。
だけど、コンピューターに直接触れることなく、考え方を理解できるという点において
他に代えがたい感じはします。
自分もモノの理解をするという能力を見つめ直すのにも、役に立つと思います。
本書で扱われている内容は,計算機科学寄りの「プログラミング教育」の本質のひとつだと思います(プログラミング教育という言葉が示す範囲が広いので,もちろん,これとは異なる面を強調したプログラミング教育も存在すると思います).
ストーリー仕立てで書かれているため読み進めやすく,登場するアルゴリズム等のカタカナ名も覚えやすいよう,とても工夫されています.
子供が読んでも面白いと思いますが,大人にも非常に面白いと思います.どんなに平易な表現で書かれても,あつかわれている問題そのものが複雑であれば,じっくり時間をかけて「読み解き」たくなるものです.本書ではまさに,大人も頭を使って考えたくなる問題にたくさん出会えると思います.
本書で紹介されているような考え方がプログラミングの根底にあるからこそ計算機が賢く動いているのだ,という認識を持つことも,プログラミング教育の文脈では重要なことだと思います.プログラミングとは手続きを逐次的に書き出すことだけではなく,効率的に問題を解く手続き(ときには数式のようなもの)を考えることでもあります.ただ逐次処理をすることがプログラミングではないのだけど,数式のようなものを例示するのでは難しすぎる,といったときに,本書は良い例を示してくれると感じました.
本書では,人間が賢く問題を解く段取り(=プログラム)を考えるだけでなく,それをより良く作り変え続けていくための方法についても示されているため,プログラミングに携わる人には心強いのではないでしょうか.これからのプログラミング教育でも,本書で示されている点についてもあわせて扱われると良いなと思います.
 
人気 90位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 91位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 92位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 93位
発売日 2013/07/01
(4.8)
Amazon 2,420円
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 94位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 95位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 96位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 97位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 98位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 99位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 100位
 
本書の内容
アルゴリズムの基礎が手に取るように分かる

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

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

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

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


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

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

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

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

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

アルゴリズム 新書一覧

 
本書の内容
 
内容サンプル
 
User Voice
 
 
本書の内容
 
内容サンプル
 
User Voice
 
 
本書の内容
 
内容サンプル
 
User Voice
 
 
本書の内容
ウェブサービスの開発に携わるかぎり、ユーザにより良い体験を提供することは無視できない命題です。本書は、ウェブサービスを成長させることを目的に、ユーザの行動を定量的に評価し、改善する手法を学ぶ書籍です。
シンプルなA/B テストを第一歩に、線形モデルの導入、メタヒューリスティクス、バンディットアルゴリズム、ベイズ最適化と、機械学習の知識を紹介しながら、ウェブサイトを最適化するという現実的な問題を解くための数理的な手法を解説します。
Pythonによるサンプルコードと、グラフィカルな図版で表現された数学的なモデルを組み合わせ、機械学習と統計学の基礎を丁寧に解説しています。
ウェブ最適化の手法を学びたい、機械学習の基礎を知りたい読者に最適の1冊です。
 
内容サンプル
 
User Voice
 
 
本書の内容
(概要)
本書(原題: Python Algorithms: Mastering Basic Algorithms in the Python Language)はアルゴリズムの分析と設計方法について、Pythonを使って説明します。古典的なアルゴリズムに焦点を絞って解説していますが、基本的なアルゴリズムによる問題解決の方法もしっかり理解できます。
本書はプログラミングとコンピュータサイエンスの最も重要で難しい分野を非常に読みやすい形で解説しています。アルゴリズムの理論とプログラミングの実践の両方をカバーし、理論が実際のPythonプログラムにどのように反映されているかを説明します。また、Pythonに組み込まれている有名なアルゴリズムとデータ構造について説明し、実装と評価について学ぶことができます。

(こんな方におすすめ)
・Pythonの入門を終えた方
・アルゴリズムを学習したい方
・コンピュータサイエンスを専攻する学生

(目次)
第1章 どんな本なのか?
1-1 本書の内容(つまり、何に関する本なのか? )
1-2 本書を読む理由(なぜ、あなたはここにたどり着いたのか? )
1-3 本書を読むにあたって(前提条件)
1-4 本書の構成
1-5 まとめ
1-6 興味のある方へ
1-7 演習問題
1-8 参考文献
第2章 アルゴリズム解析の基礎
2-1 計算機における重要な考え
2-2 漸近記法
2-3 グラフと木構造の実装
2-4 ブラックボックスにご注意を
2-5 まとめ
2-6 さらに興味のある方へ
2-7 演習問題
2-8 参考文献
第3章 数え上げ入門
3-1 総和をひとかじり
3-2 トーナメントに関する2 つの物語
3-3 部分集合と並べ替えと組み合わせ
3-4 再帰と漸化式
3-5 いったい何についての話だったのか?
3-6 まとめ
3-7 興味のある方へ
3-8 演習問題
3-9 参考文献
第4章 帰納と再帰と還元
4-1 なるほど、それなら簡単だよ!
4-2 いち、に、たくさーん
4-3 鏡よ、鏡
4-4 帰納法と再帰を使って設計する
4-5 強い仮定
4-6 不変式と正しさ
4-7 緩和とゆっくりとした改善
4-8 還元 + 対偶 = 困難さの証明
4-9 問題解決のアドバイス
4-10 まとめ
4-11 興味のある方へ
4-12 演習問題
4-13 参考文献
第5章 巡回:アルゴリズムのマスターキー
5-1 公園の中の散歩
5-2 深く行こう!
5-3 無限の迷路と(重みなし)最短経路
5-4 強連結成分
5-5 まとめ
5-6 興味のある方へ
5-7 演習問題
5-8 参考文献
第6章 分割・統合・統治
6-1 木構造型問題:バランスがすべて
6-2 標準的なD&C アルゴリズム
6-3 半分にしながら探索
6-4 半分にしながらソートする
6-5 大事な3 つの例
6-6 木のバランスと...バランスのとり方
6-7 まとめ
6-8 興味のある方へ
6-9 演習問題
6-10 参考文献
第7章 貪欲が善って、ほんとうですか? それなら証明してください
7-1 一歩ずつ安全に
7-2 ナップサック問題
7-3 Huffmanのアルゴリズム
7-4 最小全域木
7-5 貪欲法は機能するが、いつ?
7-6 まとめ
7-7 興味のある方へ
7-8 演習問題
7-9 参考文献
第8章 もつれた依存関係とメモ化
8-1 DRY(Don't Repeat Yourself)の原則
8-2 有向非巡回グラフにおける最短経路
8-3 最長増加部分列(LIS)
8-4 列の比較
8-5 ナップサック問題の反撃
8-6 二値列分割
8-7 まとめ
8-8 興味のある方へ
8-9 演習問題
8-10 参考文献
第9章 A地点からB地点へEdsger Dijkstraとその仲間たちとともに
9-1 知識の伝播
9-2 狂ったように緩和する
9-3 隠れたDAG を見つける
9-4 万人対万人
9-5 突拍子もない部分問題
9-6 中間で会う
9-7 どこに向かっているのかを知る
9-8 まとめ
9-9 興味のある方へ
9-10 演習問題
9-11 参考文献
第10章 マッチング・カット・フロー
10-1 二部マッチング
10-2 辺素な道
10-3 最大フロー
10-4 最小カット
10-5 最小コストフローと割り当て問題
10-6 応用例
10-7 まとめ
10-8 興味のある方へ
10-9 演習問題
10-10 参考文献
第11章 困難な問題と適度ないい加減さ
11-1 再び還元
11-2 カンザスはどこへ?
11-3 その頃、カンザスでは...
11-4 とはいえ、どこから始め、どこへ向かいましょうか?
11-5 怪獣動物園
11-6 困難な状況になると、賢いものはいい加減になる
11-7 必死に解を求めて
11-8 物語の教訓は何だったのか
11-9 まとめ
11-10 興味のある方へ
11-11 演習問題
11-12 参考文献
付録A 全力疾走 - Pythonを最大限加速させるには
付録B 問題とアルゴリズムの一覧
付録C グラフに関する用語と表記
付録D 演習のヒント
 
内容サンプル
 
User Voice
 
 
本書の内容
 
内容サンプル
 
User Voice
 
発売日 2020/10/11
Kindle 936円
 
本書の内容
 
内容サンプル
 
User Voice
 
発売日 2020/10/10
Kindle 936円
 
本書の内容
 
内容サンプル
 
User Voice
 
発売日 2020/10/07
Kindle 0円
 
本書の内容
 
内容サンプル
 
User Voice
 
発売日 2020/10/05
Kindle 936円
 
本書の内容
 
内容サンプル
 
User Voice
 
 
本書の内容
 
内容サンプル
 
User Voice
 
 
本書の内容
★この本を買わずして何を買う!!★

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

一般に、入門者が困るのはプログラミングできる環境をつくることだとおもいます。
こちらは、本書で足りなければ、インターネットを検索するとたくさん記事が見つかります。
「Windows Python インストール」
「Windows Python データ分析 環境構築」
などの単語でググるといいと思います。
Google colaboratory(という単語でググってください)
などを使うと、ブラウザからPythonのソースコードを実行できます。
(ただ、まー、クラウドの場合、ブラウザとWebサーバの区別がつかないと
「ファイルはどこに保存された?」とか、混乱するかもです。)
まずPythonでの演算子の使い方や関数の作り方などについて説明があるのでPythonの事前知識がなくても学習を始められるようになっています。
その次の章ではお釣りを計算するとか素数を出力させるといったプログラムを作るのですが、そうした分かりやすい例を使って「同じ結果を得るにも複数の実装が可能で、どれを選ぶかでコードの長さも計算量も大いに違ってくる」ということが明快に示されています。それぞれの例にフローチャートがついているので理解の助けになりますし、それぞれの処理の手際のよさを比較できるようになっています。また不正な入力を想定してエラーを防ぐ対策もこの段階から扱っています。
とにかく初歩の段階から自然に「より良いアルゴリズムとは何か?」を考えるようになるのが素晴らしいと思います。
フローチャートがあるので理解できる,という立て付けになっていて,
アルゴリズム自体の説明がおろそかな印象を受けました(特にヒープ・最短経路).
フローチャートは理解を助けるのは事実だと思いますが,
フローチャートがあれば説明しなくても良い,ということにはならないと思います.
 
 
本書の内容
 
内容サンプル
 
User Voice
 
 
本書の内容
 
内容サンプル
 
User Voice
 
 
本書の内容
 
内容サンプル
 
User Voice
 
 
本書の内容
 
内容サンプル
 
User Voice
 
 
本書の内容
僕たちは、こんな本を待っていた。Sebastian Thrunらの名著『確率ロボティクス』(マイナビ)の翻訳者であり、同分野の第一人者でもある、上田隆一氏が書き下ろす至極の入門書! ・理論→実装という一貫した流れで、丁寧に解説。まさにバイブル!・Jupyter Notebook対応だから、すぐに実践できる!・コードはGitHubで全部公開!【第1章「はじめに」より抜粋】 本書は、確率をロボットの認識機能や制御に用いることを考える分野「確率ロボティクス」の入門書です。ロボットの開発者、研究者になるには機械、計算機、制御に関する勉強も必要なうえ、上記のような状況なので、確率論、統計学の理解も重要になってきています。たくさん勉強しなければならないので「手短に」といいたいところですが、確率というものに実感がもてるまでには頭の訓練が必要です。 筆者は学生のとき、確率に対する実感を養うために(実際は家賃込みの月6万円の仕送りを増やすために)、学生寮、後楽園、高田馬場あたりの「現場」でかなりの訓練をして仕送りを減らしていましたが、そちらをおすすめするわけにはいきません。そこでロボティクスでよく使われるアルゴリズムを書いて動かしてもらい、実感をもってもらおうと企画したのが本書です。【主な内容】第1部 準備/第1章 はじめに/第2章 確率・統計の基礎/第3章 自律ロボットのモデル化/第4章 不確かさのモデル化 第2部 自己位置推定とSLAM/第5章 パーティクルフィルタによる自己位置推定/第6章 カルマンフィルタによる自己位置推定/第7章 自己位置推定の諸問題/第8章 パーティクルフィルタによるSLAM/第9章 グラフ表現によるSLAM 第3部 行動決定第/10章 マルコフ決定過程と動的計画法/第11章 強化学習/第12章 部分観測マルコフ決定過程 付録A ベイズ推論によるセンサデータの解析 付録B 計算
 
内容サンプル
 
User Voice
当方、機械学習エンジニアですが、工業用機械の自動運転関連の案件を担当することになり、本書を手に取りました。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

アルゴリズムをわかりやすく知りたいならば、本書で紹介されているように動画で見るのがいいかも。そこらへんも親切ではある。
 
 
本書の内容
 
内容サンプル
 
User Voice
 
 
本書の内容
 
内容サンプル
 
User Voice
 
 
本書の内容
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)よりわかりやすい
AIって何だろう?とか、中で本当に考えているのか?とか 普通の疑問にAIの仕組み(教師あり)をエクセルでわかりやすく実施できます。私には、AIをpythonなどでがっつりプログラミングするわけではないので、概要が理解できて良かったと思います。
 
 
本書の内容
「いいね!」したり、ネットで買い物をしたりするたびに、その裏で特定のアルゴリズムが、私たちの行動と嗜好を常に分析している。それにより「おすすめ」の広告が現れるくらいは無害でも、選挙前にフェイクニュースばかり読まされたり、「将来の」犯罪者として拘束されたりするのは問題だ。だが、アルゴリズムの導き出す答えはどれほど正確で、効果的なのか。アルゴリズムやAIのしくみ、将来の可能性と限界を評価する話題作。
 
内容サンプル
 
User Voice
アルゴリズムという言葉に導かれて、買ってしまった。本のテーマは、別のところにあるので、わたしの求める答えを見つけるのに、苦労した。ストレスはあったが、理解はできた。翻訳本特有のやたら長い文章には辟易とした。しかし、いい本だと思います。
データサイエンスの世界を訪れる際の教科書として最適だと思う。私にとってはとても面白い本でした。
また、最近の主流となりつつある「行動経済学」的センスを得るにも有効だと思います。
なんとなく疑問に思っていたことが解消されます。
やっぱり統計(主成分分析)は強力、でも経験のある専門家の方がもっと強力、おすすめされたほど人々は商品を買わない、AIは現時点大腸菌レベル、など。。
そーだよね~と思った次第です。
 
 
本書の内容
 
内容サンプル
 
User Voice
 
 
本書の内容
 
内容サンプル
 
User Voice
 
 
本書の内容
 
内容サンプル
 
User Voice
 
 
本書の内容
みんな知っているさるかに合戦でアンプラグドプログラミングをやってみよう!
サルのかきのたねとカニのおにぎりを交換するにはどうすればよいか?いじわるなサルををこらしめるにはどうすればよいか?を登場人(動)物がフローチャートを使って考えます。
 
内容サンプル
 
User Voice
 
 
本書の内容
 
内容サンプル
 
User Voice
 
 
本書の内容
※この商品は固定レイアウトで作成されており、タブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。

プログラミングとアルゴリズムの基礎、および、「Scratch 3.0」の使い方を学ぶための本です。
大学や高校のプログラミングの授業でも活用していただいている人気定番書を「Scratch 3.0」の登場に合わせて改訂しました。

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

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

各章の<考えてみよう>のコーナーで自分なりに見通しを立てて考えたり、や<プログラミングのポイント>のコラムをしっかりと読んで、操作の背景にある仕組みを考え、理解を深めながら学びをすすめましょう。
加えて、<チャレンジ>や<ステップアップ>といった課題に取り組むことで、頭で理解するだけでなく、身につけるようにしましょう。本書の詳しい使い方や各種のコラムの内容については「序章」の「この本の使い方」をご覧ください。
 
内容サンプル
 
User Voice
CやJavaなど一通り学んでいたのですが,バイトで小学生にプログラミングを教えることがあり,購入しました.
中身を通してわかったことは,scratchがプログラミング初心者にとって非常に良い教材であること,そしてこの本を読むことでscratchの基本的な操作はマスターできるということでした.
加えて,探索やソートアルゴリズムまでカバーしている点が非常によかったと思います。
キーボードに慣れていないプログラミング初心者向けというScratch感が認識不足であったことがわかりました。再帰処理まで触れられており、良書です。
Scratch本は子ども向けあるいは子どもと大人が共に学ぶ本というのが多い中で、この本は大人が独習するのに適した本だと思います。
 
 
本書の内容
 
内容サンプル
 
User Voice
機械学習において、どの様なアルゴリズムがあるのか俯瞰するのに良いと思います。ただ、212ページで、この値段は....。
機械学習のための各アルゴリズムの特徴が、各アルゴリズムの冒頭に記されているのだが、これが抽象的で理解しずらい。
もう少し、歴史的な背景とかなぜこのようなアルゴリズムが必要になったのかとか実際にどのようなことに役立ってきたのかなどが記載されていないので、読者からすると入門書でありながら書かれている内容が抽象的になってしまい過ぎて理解しにくい。いろいろな簡単な例について説明されているが、このらの例も簡単すぎて実際にどのようなときに使用したらよいのか、などが分かりにくい。理論自体、あるいはそこで使用されている数学自体は簡単なものが多いので、もう少し工夫してわかりやすく書いてほしかった。内容はやさしくても、そこになぜそうなるのかという理論がわかりやすく書かれていないと理解しにくい。読者は子供の使いではないので、簡単な例だけで、こういうふうに理解しろと言われてもそれは無理だ。
結局この本だけではダメなので、インターネットで関連するいろいろな記事を読むことにより、明確なイメージをつかむことができた。
■良かった点
・各ページの構成・見栄えがとても良く、機械学習の難しい話をとっつきやすく解説してくれている
・アルゴリズムの網羅性が高く、見やすさ/とっつきやすさと相まって、知らないアルゴリズムがあったときに心理的な障壁がなく気軽に本書で調べることができる
■もう一歩な点
・各アルゴリズムの詳細な解説は完璧に省かれているため、数学的な原理を知りたい場合はネット等で別途調査する必要がある。
 
 
本書の内容
 
内容サンプル
 
User Voice
 
 
本書の内容
 
内容サンプル
 
User Voice
 
 
本書の内容
 
内容サンプル
 
User Voice
 
 
本書の内容
 
内容サンプル
 
User Voice
 

アルゴリズム 高評価のおすすめ本 ランキング

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

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

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

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

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

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

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

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

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

想定読者は入門者〜緑くらいでしょうか?しかしそれ以上のレートの方にも、アルゴリズムの設計技法に重きを置いた説明は多いに参考になると思います。
カラーが効果的に使われていて非常に読みやすくページが構築されている。加えて章末問題も用意されており、高校の参考書のようにシンプルな作りとなっている。競技プログラミングは大学生や高校生といった若い層が多くを占めると言われているが、彼らにとっても親しみやすいレイアウトの本であると言えるだろう。
あらゆるアルゴリズムが競技プログラミングを志向して解説されている。説明はとても分かりやすいが、それと同時に「大切な点」も省かれずにしっかりと網羅されている印象を受けた。
 
人気 2位
 
本書の内容
僕たちは、こんな本を待っていた。Sebastian Thrunらの名著『確率ロボティクス』(マイナビ)の翻訳者であり、同分野の第一人者でもある、上田隆一氏が書き下ろす至極の入門書! ・理論→実装という一貫した流れで、丁寧に解説。まさにバイブル!・Jupyter Notebook対応だから、すぐに実践できる!・コードはGitHubで全部公開!【第1章「はじめに」より抜粋】 本書は、確率をロボットの認識機能や制御に用いることを考える分野「確率ロボティクス」の入門書です。ロボットの開発者、研究者になるには機械、計算機、制御に関する勉強も必要なうえ、上記のような状況なので、確率論、統計学の理解も重要になってきています。たくさん勉強しなければならないので「手短に」といいたいところですが、確率というものに実感がもてるまでには頭の訓練が必要です。 筆者は学生のとき、確率に対する実感を養うために(実際は家賃込みの月6万円の仕送りを増やすために)、学生寮、後楽園、高田馬場あたりの「現場」でかなりの訓練をして仕送りを減らしていましたが、そちらをおすすめするわけにはいきません。そこでロボティクスでよく使われるアルゴリズムを書いて動かしてもらい、実感をもってもらおうと企画したのが本書です。【主な内容】第1部 準備/第1章 はじめに/第2章 確率・統計の基礎/第3章 自律ロボットのモデル化/第4章 不確かさのモデル化 第2部 自己位置推定とSLAM/第5章 パーティクルフィルタによる自己位置推定/第6章 カルマンフィルタによる自己位置推定/第7章 自己位置推定の諸問題/第8章 パーティクルフィルタによるSLAM/第9章 グラフ表現によるSLAM 第3部 行動決定第/10章 マルコフ決定過程と動的計画法/第11章 強化学習/第12章 部分観測マルコフ決定過程 付録A ベイズ推論によるセンサデータの解析 付録B 計算
 
内容サンプル
 
User Voice
当方、機械学習エンジニアですが、工業用機械の自動運転関連の案件を担当することになり、本書を手に取りました。

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

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

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

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

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

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

プログラミングとアルゴリズムの基礎、および、「Scratch 3.0」の使い方を学ぶための本です。
大学や高校のプログラミングの授業でも活用していただいている人気定番書を「Scratch 3.0」の登場に合わせて改訂しました。

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

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

各章の<考えてみよう>のコーナーで自分なりに見通しを立てて考えたり、や<プログラミングのポイント>のコラムをしっかりと読んで、操作の背景にある仕組みを考え、理解を深めながら学びをすすめましょう。
加えて、<チャレンジ>や<ステップアップ>といった課題に取り組むことで、頭で理解するだけでなく、身につけるようにしましょう。本書の詳しい使い方や各種のコラムの内容については「序章」の「この本の使い方」をご覧ください。
 
内容サンプル
 
User Voice
CやJavaなど一通り学んでいたのですが,バイトで小学生にプログラミングを教えることがあり,購入しました.
中身を通してわかったことは,scratchがプログラミング初心者にとって非常に良い教材であること,そしてこの本を読むことでscratchの基本的な操作はマスターできるということでした.
加えて,探索やソートアルゴリズムまでカバーしている点が非常によかったと思います。
キーボードに慣れていないプログラミング初心者向けというScratch感が認識不足であったことがわかりました。再帰処理まで触れられており、良書です。
Scratch本は子ども向けあるいは子どもと大人が共に学ぶ本というのが多い中で、この本は大人が独習するのに適した本だと思います。
 
人気 4位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 5位
 
本書の内容
東大1年生向け好評講義テキストを書籍化。
プログラミングの初心者でも、シミュレーションや
データ分析の基礎までを最短で身につけられる。


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


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

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


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

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

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

反面、後半に、モンテカルロ法、探索、整列、拡散シミュレーション、クラスタリング等面白いテーマのさわりを扱っていますので、勉強熱心な方はこの本を買って、足りないところはネットや他の本で補うという使い方は有りだと思います。
情報処理技術者試験にもCOBOLに代わって採用されたPython。
この本は、Python入門ではなく、CS入門の本です。
CSの一般教養の授業に使える本です。真っ先に計算誤差に言及するところなど現実的で好感が持てます。
アメリカの大学のCSもこんな感じです。てか、アメリカの大学のテキストを手本に翻訳したような内容です。
私の知っているアメリカのCS入門の授業のテキストは、この本の内容の2倍の量を1セメスターでこなしていました。
入門レベルの様々なデータ解析を、Pythonで実現する方法が載せられている。この手のよくある入門書とは異なり、解析手法自体の意味までしっかりと解説されている。研究者の方が、初学者の方向けに、なるべくわかりやすく、かつ説明の正確さを落とさないように、可能な限り配慮して書かれている印象を持った。
 
人気 6位
 
本書の内容
 
内容サンプル
 
User Voice
機械学習において、どの様なアルゴリズムがあるのか俯瞰するのに良いと思います。ただ、212ページで、この値段は....。
機械学習のための各アルゴリズムの特徴が、各アルゴリズムの冒頭に記されているのだが、これが抽象的で理解しずらい。
もう少し、歴史的な背景とかなぜこのようなアルゴリズムが必要になったのかとか実際にどのようなことに役立ってきたのかなどが記載されていないので、読者からすると入門書でありながら書かれている内容が抽象的になってしまい過ぎて理解しにくい。いろいろな簡単な例について説明されているが、このらの例も簡単すぎて実際にどのようなときに使用したらよいのか、などが分かりにくい。理論自体、あるいはそこで使用されている数学自体は簡単なものが多いので、もう少し工夫してわかりやすく書いてほしかった。内容はやさしくても、そこになぜそうなるのかという理論がわかりやすく書かれていないと理解しにくい。読者は子供の使いではないので、簡単な例だけで、こういうふうに理解しろと言われてもそれは無理だ。
結局この本だけではダメなので、インターネットで関連するいろいろな記事を読むことにより、明確なイメージをつかむことができた。
■良かった点
・各ページの構成・見栄えがとても良く、機械学習の難しい話をとっつきやすく解説してくれている
・アルゴリズムの網羅性が高く、見やすさ/とっつきやすさと相まって、知らないアルゴリズムがあったときに心理的な障壁がなく気軽に本書で調べることができる
■もう一歩な点
・各アルゴリズムの詳細な解説は完璧に省かれているため、数学的な原理を知りたい場合はネット等で別途調査する必要がある。
 
人気 7位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 8位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 9位
 
本書の内容
 
内容サンプル
 
User Voice
 
人気 10位
 
本書の内容
機械学習の原理を知るための、初めての入門

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

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

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

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

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

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

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

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

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

上記の通り、購入のおすすめ度合いはどの点にニーズがあるのかによります
見極めて購入を検討されたほうが良いでしょう。
 
人気 11位
 
本書の内容

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Copyrights hogehoge