基本のアルゴリズムから流行りの機械学習まで、Pythonで実装しながら学べる『実践力をアップするPythonによるアルゴリズムの教科書』|Tech Book Zone Manatee

マナティ

基本のアルゴリズムから流行りの機械学習まで、Pythonで実装しながら学べる『実践力をアップするPythonによるアルゴリズムの教科書』

入門書を読んでプログラミングは覚えたけど次はどうしよう…実はこういう人、結構多いのではないでしょうか。
そんな人にはアルゴリズムの学習がオススメです。今回は様々なアルゴリズムを実装しながらプログラミング技術の向上やアルゴリズムの仕組みへの理解を深めることができる書籍を紹介します!

 

アルゴリズムは、プログラミングの文法を覚えた方の次のステップにオススメ!

プログラミングの入門書を買って基本的な文法を覚えて、本の通りにアプリも作ってみた、だけどこのあと何を勉強したらいいのかわからない。そう感じている人は実は結構いるのではないでしょうか。
プログラミングを覚えるなら何かを作りながら学ぶのが楽しいし効率もいいのですが、そうは言っても作りたいものがわからない…そんな方にオススメなのがアルゴリズムの実装です。
本書で紹介する多くのアルゴリズムはライブラリ化されていて、中身を知らなくても使い方さえ覚えておけば簡単に使えます。それでもあえて自分で作ってみることにはいろいろなメリットがあります。是非、本書を買ってやってみましょう。

Pythonのインストールやターミナルの操作、テストツールの使用方法などをまとめて解説しているのでPython初心者でも安心して始められる

本書で使用する言語はPythonです。最近はブラウザでPythonを実行できる環境が豊富にありますが、本書ではお持ちのPCにPythonをインストールしてアルゴリズム開発を行います。
WindowsとMacOSどちらでも始められるようになっているので、対応するOSの手順通りに進めていけばPythonで開発する環境が整うようになっています。
言語をインストールするだけではなく、簡単な制御構文の書き方やターミナル(コマンドプロンプト)の使用方法など、アルゴリズム開発を始めるために必要なことをまとめて身に付けることができます。
他のプログラミング言語を経験したけどPythonは使ったことがないという方でも気軽に始めることができます。
アルゴリズムが本当に正しく動いているのかを確かめるためにはテストが必要になります。テストをするためのツールの導入方法と使い方も丁寧に解説しているので、この一冊でアルゴリズム実装の準備はバッチリです。

定番のアルゴリズムからAIのアルゴリズムまで、幅広いアルゴリズムを作れるようになる

本書は基本的な条件分岐やデータのソートといった定番のアルゴリズムや、迷路やパズルを解決するちょっと複雑なアルゴリズムなど、様々なアルゴリズムをPythonで実装します。
解説されている多くのアルゴリズムはライブラリの使い方を覚えるだけで使用することができますが、それでも自分の手で実装することでプログラミング技術の向上に役立ちます。
アルゴリズムの解説にはイラストが豊富に使用されているので、何が起きているのかを理解する手助けになります。
イラストで何が起きているのかを理解してからコードを書いていくと理解が深まるでしょう。
サンプルコードにはコメントで内容が書いてあるため、コードが長くなっても内容を確認しやすくなっています。
解説のために番号も振ってあるので、どの部分を説明しているのか分かりやすくなっているのも特徴です。
最後の章ではAIのアルゴリズムを実装するので、こちらも是非挑戦してみてください。
本書では自然言語処理と手書き文字認識のアルゴリズムを作成します。AIのアルゴリズムも多くはライブラリを使って実装できますが、内部で何が起きているのかをわかっていることは非常に重要になります。
本書で実装してみてから機械学習ライブラリの技術書を読むと理解がしやすいと思います。

まとめ

実際の開発でよく使うアルゴリズムはすでにライブラリになっていて、中身を知らなくても使い方を覚えるだけで簡単に使えるようになっています。
プログラミングにしても、最近では日本語で命令すれば自動生成ができるようになってきました。
でも、自分で実装ができる力はいまでも重要です。本書を使って学習すれば代表的なアルゴリズムの仕組みをまとめて理解することができます。
考えながら実装していくうちに自然とプログラミングのスキルも向上するので自分で何かを作りたくなったときにも助けになるでしょう。
初心者の方はまずはChapter 1を読んで開発環境の準備やプログラムの基本を学んで、そこからは気になる内容から試してみることをおすすめします。
ある程度学習して慣れてきたらAtCoderやkaggleなどでコンテストに参加してみるといいかもしれません。
また、本書で紹介しているアルゴリズムをC++やRなどの別の言語で実装してみるのも勉強になると思います。
Manateeでは様々な技術書を取り扱っているので、本書をきっかけにしてさらなる技術の向上を目指していただけると幸いです。

 

著者プロフィール

Manatee編集部(著者)