eBook-1

IT技術書の横断検索サイトeBook-1イーブックワン

Pythonによる問題解決のためのアルゴリズム設計技法 11/13/2020

Magnus Lie Hetland, 辻真吾 監訳, 塩井宏亮
Amazon紙の本3,828
技術評論社PDFEPUB3,480

※価格は取得時点での税込み価格です。最新の価格および「-円」の商品の価格はリンク先のストアでご確認ください。

ISBN:
9784297116866
ページ数:
448
カテゴリー:
プログラミング
出版日:
11/13/2020
出版社:
技術評論社

概要 (取得元)

本書(原題:Python Algorithms: Mastering Basic Algorithms in the Python Language)はアルゴリズムの分析と設計方法について,Pythonを使って説明します。古典的なアルゴリズムに焦点を絞って解説していますが,基本的なアルゴリズムによる問題解決の方法もしっかり理解できます。 本書はプログラミングとコンピュータサイエンスの最も重要で難しい分野を非常に読みやすい形で解説しています。アルゴリズムの理論とプログラミングの実践の両方をカバーし,理論が実際のPythonプログラムにどのように反映されているかを説明します。また,Pythonに組み込まれている有名なアルゴリズムとデータ構造について説明し,実装と評価について学ぶことができます。 新しい問題を効率的なアルゴリズムで解ける問題に変換する方法。もしくは,効率的に解けない問題であると示す方法 数学と基本的な実験やベンチマークを使ってアルゴリズムとPythonのプログラムを分析する方法 古典的なアルゴリズムとデータ構造を深く理解し,Pythonでこれらを効率的に実装する方法 新しい問題を解くために新しいアルゴリズムを設計し,実績のある設計原理・設計技法を使って実装する方法 Pythonのハイパフォーマンスコンピューティングを実現する豊富なツールを使って実装を高速化する方法 こんな方におすすめ Pythonの入門を終えた方 アルゴリズムを学習したい方 コンピュータサイエンスを専攻する学生 日本語版監訳者より 現代社会はアルゴリズムに支えられています。コンピュータとアルゴリズムの登場が世界を変えたと言っても過言ではありません。アルゴリズムに関する話題は,コンピュータ科学と数学の両方に広がりを持っています。ある問題Aがあるときに,それを解くためのアルゴリズムを思いついたとしましょう。アルゴリズムをプログラミングしていくつか問題Aの具体例に適用したところ,答えがきちんと返ってきたとします。得られた答えが役に立てば,それで良いこともあるでしょう。しかし,そのアルゴリズムですべての問題Aが解けるかどうかは分かりません。アルゴリズムが途中で止まったり,間違った答えを返したりしないということを証明する必要があります。これには数学的な考え方が必要です。多くのアルゴリズムの入門書は,こうした数学的な側面についてふれていません。一方,アルゴリズムに関する専門的な書籍では,数学記号をふんだんに使った説明を目にします。この本はこれらのちょうど間に位置します。原著ではかなり複雑で難しい議論が軽妙な語り口で解説されています。もしアルゴリズムに関してまったく知識がない場合は,まず入門書を手に取ることをおすすめします。また本書を読み進めるためには,Pythonプログラミングの知識も必要です。 アルゴリズムで問題が解けるということは,簡単な計算の積み重ねで最終的に正しい答えが得られるということです。各ステップの計算は本当に単純です。2つの値の比較や,グラフであればあるノードに隣接するすべてのノードを順番に取得するような計算です。こうした単純な計算の繰り返しでどうして問題が解けるのか,本書の2〜4章ではこの一般的な課題に真正面から取り組みます。これらの章で扱われる話題は,アルゴリズムを設計し数学的に正しいことを証明できるようになるための知識です。このため,抽象度が高い議論も含まれます。続く5〜8章では多種多様なアルゴリズムを例に,それらを支える設計思想を解説しています。個別のアルゴリズムとコードを理解するところからはじめ,一見違う問題に対して,同じ設計思想のアルゴリズムが適用できる仕組みがわかるようになればかなりの上級者です。9章と10章はグラフに関する話題がまとまっています。グラフは応用範囲が広いため,本書の前半でもたびたび話題に上ります。最後の11章は計算理論の話です。P≠NP問題の理解の助けになりますが,ほとんどが抽象的な話題なので少し毛色が違った章になります。各章で中心になるトピックには,必ずPythonのコードが提示されます。コードを読むことで,アルゴリズムの動作が分かります。ダウンロードしたコードを自分で変更して繰り返し実行すれば,さらに理解が深まるはずです。 原著者のMagnus Lie Hetlandさんは,経験豊かなPythonプログラマであり,大学でアルゴリズムを教えている専門家です。幅広く深い知識の持ち主であるため,この本にはさまざまな話題が含まれます。比較的難しいトピックをその概要の説明だけにとどめている部分もあります。こうした話題を完全に理解したいと思う場合は,本書で提示されている参考資料にあたる必要があるでしょう。最近はWebを探せば関連情報をすぐに見つけることもできます。本書が広大なアルゴリズムの世界へ旅立つきっかけを与えてくれます。 日本語,英語に関わらず,言葉は曖昧さを持ちます。書き手の意図が読み手に正しく伝わらないこともあるでしょう。しかしコードは違います。正しく動くコードは,作り手の意図が受け手に正確に伝わります。プログラミングができれば,コードを読むことでアルゴリズムを理解できるわけです。本書のコードは簡潔で,丁寧なコメントも付いています。短いコードから想像を超える計算結果が生み出される様子は,まさに世界を変えたアルゴリズムの威力そのものです。 複雑さを増す一方の現代社会にはさまざまな課題があります。すべてが計算で解決できるわけではありませんが,アルゴリズムが役立つ場面は多くあるでしょう。例えば,物流の配送ルートを最適化すれば燃料を削減できます。これは既存のアルゴリズムを少し変更するだけで解決できそうです。膨大な数の化合物から効率良く薬の候補を見つけられれば,患者さんが少ない希少疾患の治療方法を確立できるかもしれません。こうした複雑で難しそうな課題は,冷静に分析して部分的に解ける問題へ変換する必要があります。これはまさに本書で解説されているアルゴリズムの設計技法です。読者のみなさんの頭の中で再構築された知識が,現実のさまざまな課題に適用され1つでも多く解決につながれば,監訳者としてこの上ない喜びです。

\ Please Share! /

類似書籍

;