計算機科学

記事数:(2)

アルゴリズム

並列処理の限界?アムダールの法則を解説

計算機の処理を速くするために、複数の処理装置で同時に作業を行う方法を並列処理と言います。アムダールの法則とは、この並列処理を施した際に、処理全体がどれくらい速くなるかを予測する法則です。理想的には、処理装置の数を増やせば増やすほど作業は速く終わるように思えます。しかし、プログラムの中には、どうしても順番に処理しなければならない部分があります。例えば、前の作業の結果を使って次の作業を行う場合などです。このような部分は、いくら処理装置を増やしても速くなりません。アムダールの法則は、この並列処理できない部分が全体の処理速度にどう影響するかを示してくれます。 アムダールの法則を使うと、並列処理できる部分の割合と処理装置の数から、全体の処理速度の向上率を計算できます。例えば、プログラム全体のうち90%が並列処理でき、10%が並列処理できないとします。このプログラムを10個の処理装置で実行した場合、どれくらい速くなるでしょうか。アムダールの法則によれば、並列処理できない部分が全体の速度向上を制限するため、処理装置をいくら増やしても、10倍以上には速くなりません。具体的には、計算によって向上率の上限が分かります。 アムダールの法則は、並列処理による性能向上の効果をあらかじめ予測し、最適な処理装置の数などを検討する際に役立ちます。並列処理は、近年の計算機システムにおいて欠かせない技術です。しかし、その効果を最大限に引き出すためには、アムダールの法則を理解し、プログラムのどの部分が並列処理できて、どの部分が並列処理できないかをきちんと見極める必要があります。並列処理できない部分をいかに減らせるかが、処理全体を速くするための重要な鍵となります。
アルゴリズム

チューリングマシン:計算の基礎

計算機、今で言うコンピュータの仕組みを知る上で、チューリング機械は欠かせません。この機械は、イギリスの数学者、アラン・チューリングが1936年に考えた計算の模型です。後のコンピュータ作りに大きな影響を与え、今の情報化時代を築く土台となる役割を果たしました。 チューリング機械は簡単な作りでありながら、どんな計算でもこなせる力を持っています。無限に続くテープと、そのテープに記号を読み書きする装置からできています。装置は、テープの記号を読み取り、内部の状態に応じて記号を書き換えたり、テープ上を移動したりします。計算は、この読み書きと移動を繰り返すことで行われます。例えば、足し算をする機械、掛け算をする機械、それぞれに合わせた動きの手順を定めることで、様々な計算に対応できるのです。これは、計算という行為の本質を捉え、理論的に分析できる画期的な考えでした。 一見すると単純なこの機械ですが、どんな複雑な計算でも手順を踏めば実行できるという事実は驚くべきことです。この事実は、計算するとはどういうことかを深く考えるきっかけを与え、計算の限界についても探求する道を開きました。また、チューリング機械は、現実のコンピュータの動作原理を理解する上でも役立ちます。私たちの身の回りにあるコンピュータは、様々な部品で構成され、複雑なプログラムを動かしていますが、基本的な動作はチューリング機械と同じです。データを読み込み、処理し、結果を出力するという流れは、チューリング機械のテープへの読み書きと移動に対応しています。 つまり、チューリング機械は、現代のコンピュータの基礎となる理論を提供していると言えるのです。この機械を学ぶことで、コンピュータがどのように計算を実行しているのかを根本から理解することができ、情報技術への理解もより深まるでしょう。