実践力をアップする Python によるアルゴリズムの教科書

ジッセンリョクヲアップスル パイソンニヨルアルゴリズム ノ キョウカショ

実践力をアップする Python によるアルゴリズムの教科書の表紙
プログラミング
著者:
クジラ飛行机(クジラヒコウヅクエ)
出版社:
マイナビ出版
出版日:
2023年06月27日
ISBN:
9784839981914
シリーズ:
Compass Books シリーズ
在庫:
在庫あり
0
中級者向け
Pythonアルゴリズムデータ構造再帰暗号自然言語処理AI基本的な制御フロー計算量テスト駆動開発

なぜ注目されているか

総合345位 ↑ 2 ランクアップ 言及 4 件
言及数
576位

書籍紹介

本書は、Python を使って、定番のアルゴリズムから、人工知能 (AI) や自然言語処理に関するアルゴリズムまで、広く学べる書籍です。

本書は、プログラミングのスキルを向上させたい人に向けて書かれた本です。レベルに合わせて少しずつ読み進めると良いでしょう。紹介するアルゴリズムは、章が上がるごとに難しくなっていきますが、興味のあるアルゴリズムを選んで読んでも問題ないようになっています。

Chapter 1 ではなぜアルゴリズムを学ぶと良いのかを紹介しています。スキルアップに対して、あまりモチベーションが上がらないときに読むと良いでしょう。また、計算量の説明や、Python のインストールやターミナルの使い方、プログラムのテストの書き方も紹介しています。

そして、Chapter 2 以降で実際のアルゴリズムを解説します。Chapter 2 は基本的な制御フロー (if、for など) を利用したアルゴリズムを解説します。FizzBuzz や素数判定、シーザー暗号など、プログラミングの基礎体力をつけるのにぴったりのアルゴリズムを紹介しています。

Chapter 3 はデータ構造や再帰に注目します。アルゴリズムとデータ構造は切っても切れない関係です。基本的なデータ構造を学ぶことは、それ以降の章を読む上でも大切です。また「再帰」は高度なアルゴリズムを記述する上で欠かすことのできないテクニックです。ここでマスターしておきましょう。

Chapter 4 ではデータの検索とソートについて学びます。これらはアルゴリズムの定番です。そこには、先人が苦労して編み出した珠玉のアイデアが詰まっています。そのために、有名なソートアルゴリズムを紹介していきます。その問題解決手法やアイデアに注目しましょう。

Chapter 5 では迷路や数字パズルといった知的好奇心をくすぐる題材として、ゲーム解法アルゴリズムを学びます。探索アルゴリズムや動的計画法など、これらはさまざまな場面で活用できる覚えて得するアルゴリズムです。パズルを楽しみながらレベルアップしましょう。

そして、最後の Chapter 6 では、人工知能 (AI) や自然言語処理に関するアルゴリズムを解説します。文章の自動分類や自動生成や、手書き数字データ画像の判定などを学びましょう。昨今、AI を活用した技術や製品が世間を賑わせていますが、その基礎となるアルゴリズムを学びましょう。

技書の森解説

Python の文法をひととおり覚えたあと、プログラミングの力をもう一段上げたい人向けに、定番のアルゴリズムから人工知能 (AI) と自然言語処理のアルゴリズムまでを広く扱う本が『実践力をアップする Python によるアルゴリズムの教科書』です。著者はクジラ飛行机で、マイナビ出版の Compass Books シリーズから 2023 年 6 月に刊行されました (書店発売日は 2023 年 6 月 27 日)。版元の紹介によると、扱うアルゴリズムは章が進むごとに難しくなる一方で、興味のあるアルゴリズムを選んで読んでも問題ない作りです。著者は日本語プログラミング言語「なでしこ」などの作者で、2004 年に IPA 未踏ユースのスーパークリエイターに認定されたと版元のプロフィールにあります。

全 6 章の構成、FizzBuzz から手書き数字の判定まで

Chapter 1「なぜアルゴリズムが重要なのか」は、アルゴリズムの評価手法と計算量と O 記法を説明したうえで、Python のインストール、ターミナルの使い方、Python で手軽に書けるテスト、制御構文と基本データ型のまとめまでを置き、学ぶ準備を整えます。Chapter 2「条件分岐と繰り返しのアルゴリズム」は FizzBuzz 問題、素数判定とエラトステネスのふるい、コインの組み合わせ問題、N 進数表現と変換、シーザー暗号や XOR 暗号、カードのシャッフルを扱います。Chapter 3「データ構造と再帰について」はリスト、スタック、キュー、リングバッファーから、逆ポーランド記法、ハノイの塔、ハッシュ関数、ハッシュ木 (マークル木) へ進みます。Chapter 4「定番アルゴリズム (データの検索とソート)」はソートと探索のほか、バイナリデータのテキスト表現、データの圧縮、画像に関するアルゴリズムを含みます。Chapter 5「難解パズルで学ぶアルゴリズム」は迷路の自動生成と自動探索、ナンプレ、15 パズル、ナップサック問題、疑似乱数生成を取り上げ、Chapter 6「人工知能 (AI)・自然言語処理のアルゴリズム」はレーベンシュタイン距離と n-gram による文章の類似度、単純ベイズ分類器による文章のカテゴライズ、マルコフ連鎖を利用した文章生成、k-means 法によるクラスタリング、k 近傍法による手書き数字の判定で締めくくります。

題材の手触りで、考え方を身につける

アルゴリズムの学習でつまずきやすいのは、手順そのものより、なぜその手順で速くなるのか、なぜ正しく答えが出るのかを自分の言葉で説明できない点です。本書の目次は、素数判定を試し割り法から始めてエラトステネスのふるいで最適化する、フィボナッチの計算とハノイの塔を 再帰 で解く、というように、身近な題材の上で素朴な手順から工夫した手順へ進む並びになっています。版元の紹介によると Chapter 5 では探索アルゴリズムや 動的計画法 のように、さまざまな場面で応用できる手法をパズルを題材に学びます。Chapter 6 は機械学習ライブラリの使い方ではなく、文章の類似度や分類、生成、クラスタリングの土台にある計算をアルゴリズムとして読む章と読めます。

向いている読者と、別の本を選ぶほうがよい目的

版元は本書を、プログラミングのスキルを向上させたい人に向けた本と案内しています。Chapter 1 に制御構文と基本データ型のまとめがあるとはいえ、Python で短いプログラムを書いて動かせる段階にあるほうが、各章の題材に集中できます。一方で、競技プログラミングで出題の型ごとに解法を網羅したい人や、計算量 の証明を数学的に積み上げたい人は、目的に特化した本を併せて選ぶほうが近道です。アルゴリズム本の選び方は アルゴリズム本ガイド にもまとめています。

暗号、圧縮、迷路、パズル、文章の自動分類と、題材の幅が広いのが本書の持ち味です。教科書的な定番を押さえつつ、手を動かして結果が目に見える題材で練習したい人にとって、興味のある章から開いて少しずつ読み進められる一冊です。

言及した記事 (4 件)

この本に興味がある方におすすめ

関連する本

クジラ飛行机 の他の書籍

関連記事

関連用語

共有: