名科辞典―これは何?情報は?にこたえるコンテンツ

トップ アルゴリズムとは

アルゴリズムとは―一般的な意味、ITや医療などで使われる意味を整理

アルゴリズムとは、一般的には算法と訳されます。一般的な意味、ITや医療などで使われるアルゴリズムの意味をまとめています。

1. アルゴリズムとは何?意味は?

アルゴリズムとは、 一般的な言い方で意味を説明すると「問題を解決する手順」ということになります。 英語でalgorithmと書きます。

プログラミングや情報科学などITやコンピュータ関連でよく見かける用語です。 でもアルゴリズムという用語は広くさまざまな場面で用いられています。 医療の心肺蘇生の手順もアルゴリズムですし、数学の連立方程式を解くための方法として使われる「代入法」や「消去法」もアルゴリズムです。

以下では、一般的なアルゴリズムの意味、ITや医療で使用されている意味をまとめていきます。

和訳の意味

国語辞典を調べると英語のalgorithmの和訳で「算法」とか「問題を解決する手順」と訳されます。

なお、算法は計算方法のことです。

  • 算術。さらに広く、今の「数学」にあたる江戸時代の呼び名。
  • 演算手続きを指示する法則。

英語の説明

英英辞典では以下のように説明しています。

a set of instructions for solving a mathematical problem, making acomputer program etc that are follwed in a fixed order.

JISの用語の定義

JIS(日本工業規格)では、アルゴリズムの用語の意味をJIS X0001で以下のように定義しています。

問題を解くためのものであって、明確に定義され、順序付けられた有限個の規則からなる集合

2. 医療におけるアルゴリズム

医療におけるアルゴリズムは、大まかな診断や治療の手順をといった意味で使われるようです。

2.1. ACLSアルゴリズム

医療分野のアルゴリズムの中のACLSアルゴリズムについて見ていきます。

ACLSとは

ACLSは、Advanced Cardiovascular Life Supportの略で、二次救命処置と訳されます。

ACLSアルゴリズムとは

ACLSアルゴリズムは、二次救命処置のアルゴリズムになります。

ACLSアルゴリズムの構成

心室細動・無脈性心室頻拍アルゴリズム、無脈性電気活動アルゴリズム、心静止アルゴリズム、徐脈アルゴリズム、頻脈アルゴリズムの5つから構成されているアルゴリズムです。

一次救命処置はBLS

二次救命処置はACLSですが、一次救命処置はBLSといいます。

2.2. BLSアルゴリズム

医療分野のアルゴリズムの中のBLSアルゴリズムについて見ていきます。

BLSとは

BLSは、Basic Life Supportの略で、一次救命処置と訳されます。

BLSアルゴリズムとは

BLSアルゴリズムは、一次救命処置のアルゴリズムになります。

一次救命処置

急に倒れたり、窒息を起こした人に対して、その場に居合わせた人が、救急隊や医師に引継ぐまでの間に行う応急手当のことです。

2.3. NCPRアルゴリズム

医療分野のアルゴリズムの中のNCPRアルゴリズムについて見ていきます。

NCPRとは

NCPRは、neonatal cardiopul monary resuscitationの略で、新生児心肺蘇生法のことをいいます。

NCPRアルゴリズムとは

NCPRアルゴリズムは、新生児心肺蘇生法のアルゴリズムです。

新生児心肺蘇生法処置の重要性

出生時に順調な呼吸にいたらない事例が、全出産の約10%にみられ、その約10%が新生児心肺蘇生法処置を受けなければ、死亡または重篤な障害を残すとされているようです。

参考)http://www.jsog.or.jp/PDF/61/6109-446.pdf

3. IT、コンピューターにおけるアルゴリズム(基礎編)

アルゴリズムの意味を深く知るために、プログラムについて触れます。 プログラムは、コンピュータの専門用語と思うかもしれませんが、運動会の行う順番やテレビの番組表などもプログラムといいます。

つまり、プログラムは順番だって進む物事全般を意味する言葉です。 一方、コンピュータの世界では「プログラム」とは、コンピュータに与える命令の集まりを意味します。 コンピュータは「プログラム」という手順書のもとに、処理を行う機械です。

以下では、IT、コンピューターにおけるアルゴリズムについて見ていきます。

アルゴリズムとは何か

IT、コンピューターでは、コンピュータで問題を処理するためにプログラムとして表現するのに向いている解決法のことをいいます。

例をあげると、グラフ理論、オペレーションズリサーチ、数値計算、データ構造の操作、整列、数式処理、言語処理などです。

アルゴリズムの表現

JISの定義のようにアルゴリズムとは「問題を解くためのものであって、明確に定義され、順序付けられた有限個の規則からなる集合」です。 最終的には文章や図で表現でき、プログラム化して自動化することができ、コンピュータと相性がいいです。

アルゴリズムは次のようなもので表現されます。

  • 処理を時間順に記述する
  • フローチャートなどの図を用いる
  • プログラミング言語で記述する

目的はプログラミングで問題解決

アルゴリズムの表現から連想されるように、アルゴリズムの目的はプログラムを作って、問題を解決することです。

いいかえると、プログラミングで問題解決することがアルゴリズムの目的です。

プログラム=アルゴリズム+データ構造

アルゴリズムだけでは、プログラムは作れません。扱うデータが変わるとアルゴリズムも変わってくるからです。 扱うデータをデータ構造といいます。

アルゴリズムの目的を達成するには、必然的にアルゴリズムとデータ構造を考えないといけないです。

4. IT、コンピューターにおけるアルゴリズム(暗号編)

IT、コンピューターにおけるアルゴリズムの1分野に暗号化アルゴリズムがあります。 暗号の概念など暗号化アルゴリズムの基礎知識についてまとめていきます。

4.1. 暗号化アルゴリズムとは

まずはじめに暗号とは何か、暗号アルゴリズムとは何か、など暗号化アルゴリズムとは何か、まとめていきます。

暗号とは

暗号とは、何らかの意味のある文字や記号などを、①「ある定められた約束事」にしたがって、②「固有の値」を用いて、他の文字や記号などに変換することです。

暗号化と復号

暗号に変換する操作を暗号化といいます。

暗号化によって得られた文字列や記号を元に戻す操作を復号といいます。

暗号アルゴリズムと鍵

①「ある定められた約束事」は、何らかの数学的な処理で、暗号アルゴリズムといいます。

②「固有の値」は同じアルゴリズムでも異なる結果を出すために与える鍵と言います。 鍵には、暗号化に用いる鍵を暗号鍵と復号に用いる復号鍵があります。

暗号技術には2つの機能がある

暗号技術には、情報などの秘匿と、情報などの認証および署名の2つの機能があります。

2つの機能のうち、認証および署名についてはハッシュ関数やディジタル署名によって実現されています。

4.2. 主なブロック暗号方式(DESとAES)

暗号化アルゴリズムにおけるブロック暗号方式とその代表例としてDESとAESについてまとめていきます。

ブロック暗号とは

ブロック暗号とは、平文を一定のサイズ(ブロック)に分割して、ブロックごとに暗号処理を行う方式です。

代表的なものにDESがあります。ブロックのサイズには通常64ビットまたは128ビットが用いられます。

ブロック暗号では、各ブロックを単純に同じキーとアルゴリズムを用いて暗号化した場合、解読されやすくなってしまうという弱点があります。

DES

DESは、Data Encryption Standardを省略して述べたブロック暗号方式です。

1975年米国商務省標準局(現在のNIST)で公表され、1977年以降米国政府の標準として採用されました。

ブロック長は64ビットで56ビットの鍵を使用します。

3DES

3DESは、Triple DESといわれるブロック暗号方式です。

DESを三重に適用することによって強度を高めたものです。

AES

AESは、Advanced Encryption Standardの省略して述べたブロック暗号方式です。

DESの後継となる米国政府の標準暗号方式です。

ブロック長は128ビットで、使用する鍵の長さは128/192/256ビットの中から選択できます。

5. IT、コンピューターにおけるアルゴリズム(ネットワーク編)

IT、コンピューターにおけるアルゴリズムのなかの、ネットワーク関連のアルゴリズムについてまとめていきます。

5.1. Nagleアルゴリズム

TCPでは、ネットワークの利用効率を高めるために、Negleアルゴリズムと呼ばれるアルゴリズムが使われています。

読み方

読み方は「ネーグルアルゴリズム」です。

説明

1984年にJohn Nagle氏が提案したアルゴリズムで、 RFC 896 に既定されています。 TCP/IP ネットワークで送信しないといけないパケット数を減らし、効率性をあげるためのアルゴリズムです。

アルゴリズム

以下の条件がどれか1つでも成立するまで送信を遅延させます。

  • 未送信データが最大セグメントサイズ以上
  • 過去の送信パケットでACKが未受信がなくなる
  • タイムアウト

6. その他、SEO、株取引関連のアルゴリズム

その他、SEOや株取引関連のアルゴリズムについてまとめていきます。

ランキングアルゴリズムとは

ランキングアルゴリズムとは、Googleなどの検索エンジンで検索結果の順位を決める際に使用するアルゴリズムのことを言います。

アルゴリズム取引とは

アルゴリズム取引とは、コンピューターが市場の動向を判断して自動売買することをといいます。

参考リンク

アルゴリズム関連の参考リンクをまとめていきます。

更新履歴

更新履歴になります。

  • 2017.04.24 ランキングアルゴリズムについて追記しました。
  • 2017.03.11 Nagleアルゴリズムについて追記しました。
  • 2016.08.18 暗号化アルゴリズムについての情報を追加しました。
  • 2016.07.08 ITと医療関連のアルゴリズムについての情報を追加しました。
  • 2016.05.17 JISのアルゴリズムの意味の定義の記述を追加しました。
  • 2016.05.11 ページをUPしました。

戻る