インターネットスクール 『まなぶ』のe-ラーニングへ  yahoo  MSN  エキサイト  Google
辞書先頭ページへ戻る

ヒから始まる情報処理用語


00000487    ピア・ツー・ピア
00000323    ヒープソート
00000206    ヒストグラム
00000246    ビックオー
00000113    ビット
00000433    秘密かぎ
00000558    標準化組織に関して
00000354    標準正規分布表
00000355    標準偏差
00000454    ビルド

487:ピア・ツー・ピア       伝送制御の理論・プロトコルのグループ先頭へ    このページ先頭へ移動    辞典の先頭へ
Peer to Peer : P2P
323:ヒープソート       アルゴリスムのグループ先頭へ    このページ先頭へ移動    辞典の先頭へ
heap sort
配列利用版
heapは、『山のように積み上げる』と言う意味であるが、2つの土台に対して1つ積み上げるイメージになる。そして、土台以上のデータが上に乗ると言う約束で山にする。
例えば、4,35,8,30,3,25,13,7,40,1,17,9,2,5,20 のデータがa[1]〜a[15]に記憶されているとすると、次のように並べることを『ヒープ化する』と言う。
図1

配列上でヒープ化した場合、a[1]が頂点で最も大きいデータになり、その土台がa[2],a[2+1]になる。そして、a[2]の土台は、a[4]とa[4+1]になると、続いていく。
つまり、各頂点a[i]に対して土台は、a[2*i]とa[2*i+1]になり、頂点の値以下が土台になるように管理される構造になる。
これを利用して並び替えを行う場合、大きい方から整列させる。
つまり、『頂点の最大要素と最後の要素を交換し、交換した最後の要素を整列済みとする』
そして、再び1から未整列範囲(範囲が一つ狭められている)を再びヒープ化して行く。
これを次のように繰り返して行く。
図2

C言語例
#include <stdio.h>

int a[] = {0,4,35,8,30,3,25,13,7,40,1,17,9,2,5,20};	//a[0]は使っていない

//配列(j〜end_idxの添え字範囲)で、j番目要素を頂点したヒープ構成へ変更にする。→j番目に最大値を移動
void heap(int a[], int j, int end_idx)  
{
	int i,v;
	v = a[j];
	while(j <= end_idx/2){
		i = 2*j;
		if(i < end_idx && a[i] < a[i+1]) i++; //大きい方を、a[i] で表現できるようにしている。
		if(v >= a[i]) break;
		a[j] = a[i];
		j = i;
	}
	a[j] = v;
}
void heap_sort(int a[], int n)  //nは個数でなく最後んp要素を指すインデックス
{
	int j,t;
	for(j = n/2; j >= 1; j--){
		heap(a,j,n);
	}
	while(n > 1){
		t = a[1]; a[1] = a[n]; a[n] =t; //交換
		heap(a,1,--n);
	}
}
void main()
{
	int i, n = sizeof(a)/sizeof(a[0])-1;
	heap_sort(a,n);
	for(i = 1; i <= n; i++)
		printf("%d  ",a[i]);
	printf("\n");
}




206:ヒストグラム       経営管理のグループ先頭へ    このページ先頭へ移動    辞典の先頭へ
分布を調べる場合に使う
246:ビックオー       アルゴリスムのグループ先頭へ    このページ先頭へ移動    辞典の先頭へ
Big Oh
アルゴリズムを評価する時間計算量の表現の一つ
アルゴリズムを評価する場合、使うマシンの性能に左右されるので、何秒と言うような実行時間を使っても意味がない。
そこで使われるがこれで、取り扱う件数 n で各データを何回取り扱うかと言う処理回数で漸近的な計算値である。

例えば、 N件の総和を求める計算量はO(n)と表記する。 この表記は『 nオーダ 』とか、『 オーダー N 』のアルゴリズムと表現する。

算出方法は、単にデータの取り扱い個所をカウントしていけばよい。しかし、件数Nに関係しない定数倍の個所は計数しない。
これは、N件の時、件数に関係ない処理はO(1)になり、ある所の実行回数が2×NやN+2であてもO(N)になることを意味する。
また、連続的にAとBの処理があり、それぞれの計算量(N件の)が、O(A(N))、O(B(N))であり、Aの計算量が多い場合、漸近的には多き量になる。
つまり、O(A(N))+O(B(N))→O( max(A(N)) , O(B(N)) ) になる。
また、ループNの中のループNのように、計算量が乗算される処理では、O(A(N))、O(B(N))→O( (A(N)) × O(B(N)) ) となる。
以下に線形探索二分探索における算出例を示す。

図1

図2


アルゴリズム 最大計算量 平均計算量
線形探索    n  n/2
二分探索    平均回数+1 log2(N)
バブルソート n^2       n^2
選択ソート  n^2       n^2
挿入法     n^2       n^2
クイックソート n^2       n×log2(n)
ヒープソート  n×log2(n)  n×log2(n)
シェルソート  ?       n^(2/3)





113:ビット       基数表現・データ表現のグループ先頭へ    このページ先頭へ移動    辞典の先頭へ
bit:量的にわずか と言う意味であるが、
コンピュータ用語としては、情報の最小単位になる。
(これ以上分解できない情報の単位

情報はあるものに対して、そうでないものと区別することから存在意義が生まれる。
そして最も小さい情報の区別が、『あるのと、そうでないもの』である。

ビットは便宜的にあるもの方を1で表し、そうでないものを0で表す場合が多い。
つまり、この1と0だけでデータを表現する。→論理値と言う。

世の中にはこの一つのビットで表せる情報がいろいろある。
つまり、2つに区別する情報であるが、その例を示す。

はい    いいえ
正    
男    
スイッチのオン オフ

さて、この1つのビットでは2つに区別することしかできないが、
2つのビットをあわせると区別できる情報が倍になる。
この時、情報のサイズ(量)を2ビットという。

例えば1ビットのスイッチであれば、点灯と消燈しか制御できないが、
2ビット、すなわちスイッチAとスイッチBの2つあれば、それぞれに
 OFF と OFF  の時は なにも点けない
 OFF と ON   の時は 赤色ライトをつける
 ON と OFF  の時は 黄色ライトをつける
 ON と ON   の時は 青色ライトをつける
と4通りの区別ができ、その指定(命令)できる。

ここで、OFFを0、ONを1と、2進の表現で表し、スイッチA、Bの状態を並べて表すと次のようになる。

00 なにも付けない
01 赤色ライトをつける
10 黄色ライトをつける
11 青色ライトをつける

と4通りの区別をしている。

では、3ビットではどうか?上記2ビットのパターン先頭に0か1を追加した種類ができるので、2ビットの倍の8通りになる。

000
001
010
011
100
101
110
111

そして、この8種類に対してライト点灯指定のような命令の取り決めができる。
つまり、コンピュータの中では、このようにして区別されるそれぞれに対して命令を取り決め、その命令に従って動いている。

このような0と1並びの区別に対して、命令以外にも様々な取り決めがなされている。
例えば、一般にわれわれが使っている数字の取り決めである。
次は、数字の取り決めの例で、符号なし2進数とよばれる。

000 0と決める
001 1と決める
010 2と決める
011 3と決める
100 4と決める
101 5と決める
110 6と決める
111 7と決める

取り決め方法は色々あって、次は符号あり2進数の取り決め方法である。(2の補数

000 0と決める
001 1と決める
010 2と決める
011 3と決める
100 -4と決める
101 -3と決める
110 -2と決める
111 -1と決める

符号あり2進数の表現方法には、他にバイアス表現や、絶対値表現法と呼ばれる取り決めもある。
また、その他にも実数の取り決め(実数の表現)として固定小数点の取り決めや浮動小数点の取り決めがある。
このように色々な取り決めがあるが、後は使う時にどの取り決めを使うか指定できれば、
取り決め方法が複数あっても構わないということになる。

さて、ビットの数が4ビットなら何通りの命令を作れるか?
それは、3ビットによる区別の倍で(8通り×2=)16通りになる。
そして、5ビットではその倍の32通りになる。

すなわち、nビットの情報は、

2×2×2×・・・・・2×2 と2をn回掛けた数の種類を区別できることになる。つまり(2^N)通りである。

なお、このようにビットの集まりの情報をデジタル情報という。
ちなみに8ビットで2の8乗の256通り、16ビットで2の16乗の65535通り、32ビットで2の21乗の4294967296 (約43億の4G[ギガ])通りの組み合わせができる。

433:秘密かぎ       セキュリティのグループ先頭へ    このページ先頭へ移動    辞典の先頭へ
共通かぎ暗号方式で採用するのは、通信相手以外に対する秘密かぎとなる。
そのため共通かぎ暗号方式は秘密かぎ暗号方式とも言う。

しかし公開かぎ暗号方式でも一方は秘密かぎを用いるため,紛らわしさを避けるため,共通かぎ暗号方式とよぶことが多い

558:標準化組織に関して       標準化組織に関してのグループ先頭へ    このページ先頭へ移動    辞典の先頭へ
コンピュータは、実世界の情報をコンピュータが識別するデータに割り当てて動いている。
この割り当ては、プログラマが自由に取り決めしてよいが、それでは他人の作った取り決めと合わなくなる。
他のコンピュータでも動くためには、標準化した取り決めをどこかで行う必要がある。
この標準化の作業は、一組織化一元化するのが理想的であるが、国、会社、などの利害も絡み、様々な組織が存在する。
以下にこれら組織を分類する。

次のような分類で組織化され、それぞれで標準化が行われている。

┳━国際標準━┳━情報処理━ISO(International Organization for Standardization):国際標準化機構
┃      ┃
┃      ┣━電気━IEC(International Electrotechnical Commission):国際電気標準会議
┃      ┃
┃      ┗━電気通信━ITU(International-Telecommunication Union):国際-電気通信 連合
┃ 
┣━国内標準━┳米国━ANSI(American National Standards Institute):米国規格協会、EIATIAUL規格会社、etc
┃      ┃
┃      ┗日本┳情報処理━JIS(Japan Industrial Standard):日本工業規格
┃         ┃
┃         ┗電気通信━TTC標準(Telecommunication Technology Committee):社団法人情報通信技術委員会
┃ 
┣━業界標準━┳━インターネット━IETF(Internet Engineering Task Force)
┃      ┃
┃      ┗━LANIEEE規格など
┃
┗━技術標準━┳━フォーラム(公開討論)━ATM Forum、etc
       ┃
       ┗━コンソーシアム(consortium:組合)━PCCA 米国移動通信機器メーカー組合など



354:標準正規分布表       情報理論のグループ先頭へ    このページ先頭へ移動    辞典の先頭へ
図1

図のような、平均m=0、標準偏差σ=1とした正規分布N(0,1)(標準正規分布と呼ばれる)において、面積(出現確率)を表にしたものを標準正規分布表と呼ぶ。

変数T 0.0000 0.0100 0.0200 0.0300 0.0400 0.0500 0.0600 0.0700 0.0800 0.0900
0.0000 0.5000 0.5040 0.5080 0.5120 0.5160 0.5199 0.5239 0.5279 0.5319 0.5359
0.1000 0.5398 0.5438 0.5478 0.5517 0.5557 0.5596 0.5636 0.5675 0.5714 0.5753
0.2000 0.5793 0.5832 0.5871 0.5910 0.5948 0.5987 0.6026 0.6064 0.6103 0.6141
0.3000 0.6179 0.6217 0.6255 0.6293 0.6331 0.6368 0.6406 0.6443 0.6480 0.6517
0.4000 0.6554 0.6591 0.6628 0.6664 0.6700 0.6736 0.6772 0.6808 0.6844 0.6879
0.5000 0.6915 0.6950 0.6985 0.7019 0.7054 0.7088 0.7123 0.7157 0.7190 0.7224
0.6000 0.7257 0.7291 0.7324 0.7357 0.7389 0.7422 0.7454 0.7486 0.7517 0.7549
0.7000 0.7580 0.7611 0.7642 0.7673 0.7703 0.7734 0.7764 0.7793 0.7823 0.7852
0.8000 0.7881 0.7910 0.7939 0.7967 0.7995 0.8023 0.8051 0.8078 0.8106 0.8133
0.9000 0.8159 0.8186 0.8212 0.8238 0.8264 0.8289 0.8315 0.8340 0.8365 0.8389
1.0000 0.8413 0.8438 0.8461 0.8485 0.8508 0.8531 0.8554 0.8577 0.8599 0.8621
1.1000 0.8643 0.8665 0.8686 0.8708 0.8729 0.8749 0.8770 0.8790 0.8810 0.8830
1.2000 0.8849 0.8869 0.8888 0.8906 0.8925 0.8943 0.8962 0.8980 0.8997 0.9015
1.3000 0.9032 0.9049 0.9066 0.9082 0.9099 0.9115 0.9131 0.9147 0.9162 0.9177
1.4000 0.9192 0.9207 0.9222 0.9236 0.9251 0.9265 0.9279 0.9292 0.9306 0.9319
1.5000 0.9332 0.9345 0.9357 0.9370 0.9382 0.9394 0.9406 0.9418 0.9429 0.9441
1.6000 0.9452 0.9463 0.9474 0.9484 0.9495 0.9505 0.9515 0.9525 0.9535 0.9545
1.7000 0.9554 0.9564 0.9573 0.9582 0.9591 0.9599 0.9608 0.9616 0.9625 0.9633
1.8000 0.9641 0.9649 0.9656 0.9664 0.9671 0.9678 0.9686 0.9693 0.9699 0.9706
1.9000 0.9713 0.9719 0.9726 0.9732 0.9738 0.9744 0.9750 0.9756 0.9761 0.9767
2.0000 0.9772 0.9778 0.9783 0.9788 0.9793 0.9798 0.9803 0.9808 0.9812 0.9817
2.1000 0.9821 0.9826 0.9830 0.9834 0.9838 0.9842 0.9846 0.9850 0.9854 0.9857
2.2000 0.9861 0.9864 0.9868 0.9871 0.9875 0.9878 0.9881 0.9884 0.9887 0.9890
2.3000 0.9893 0.9896 0.9898 0.9901 0.9904 0.9906 0.9909 0.9911 0.9913 0.9916
2.4000 0.9918 0.9920 0.9922 0.9924 0.9927 0.9929 0.9931 0.9932 0.9934 0.9936
2.5000 0.9938 0.9940 0.9941 0.9943 0.9945 0.9946 0.9948 0.9949 0.9951 0.9952
2.6000 0.9953 0.9955 0.9956 0.9957 0.9959 0.9960 0.9961 0.9962 0.9963 0.9964
2.7000 0.9965 0.9966 0.9967 0.9968 0.9969 0.9970 0.9971 0.9972 0.9973 0.9974
2.8000 0.9974 0.9975 0.9976 0.9977 0.9977 0.9978 0.9979 0.9979 0.9980 0.9981
2.9000 0.9981 0.9982 0.9982 0.9983 0.9984 0.9984 0.9985 0.9985 0.9986 0.9986
3.0000 0.9986 0.9987 0.9987 0.9988 0.9988 0.9989 0.9989 0.9989 0.9990 0.9990
3.1000 0.9990 0.9991 0.9991 0.9991 0.9992 0.9992 0.9992 0.9992 0.9993 0.9993
3.2000 0.9993 0.9993 0.9994 0.9994 0.9994 0.9994 0.9994 0.9995 0.9995 0.9995
3.3000 0.9995 0.9995 0.9995 0.9996 0.9996 0.9996 0.9996 0.9996 0.9996 0.9997
3.4000 0.9997 0.9997 0.9997 0.9997 0.9997 0.9997 0.9997 0.9997 0.9997 0.9998
3.5000 0.9998 0.9998 0.9998 0.9998 0.9998 0.9998 0.9998 0.9998 0.9998 0.9998
3.6000 0.9998 0.9998 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999
3.7000 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999
3.8000 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999 0.9999
3.9000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000

この表を使うと、正規分布とされる分布の任意の平均と標準偏差から、希望の範囲の出現確率を求めることが出来る。
例えば、平均がN(5.2,0.1)の分布において、5.0未満の出現確率を求める場合、次のようになる。
まず、もともと標準正規分布は、任意の正規分布N(m,σ*σ)に対して、T=(X-m)/σと置くことで標準化したものなので、この場合の換算式は、 T=(X-5.2)/0.1である。
ここで求めたいX=5.0に対してTを求め、その値を使って表から面積を求めればよい。
この例では、T=(5.0-5.2)/0.1=-2.00になる。
-2の値は存在しないが左右対称なので、2.00で表より面積を求めると、0.9772になっている。5.0未満の確率は、余事象の範囲なので、1-0.9772=0.0228が、出現確率になる。


355:標準偏差       情報理論のグループ先頭へ    このページ先頭へ移動    辞典の先頭へ

Standard deviation

ばらつきの程度を表し、大きいほど、ばらつくことを意味します。なお、標準偏差の2乗は、分散(Variance)と呼ばれます。



454:ビルド       システム開発で使われる言語関連のグループ先頭へ    このページ先頭へ移動    辞典の先頭へ
build
プログラムの開発で、ソースコードをコンパイル,アセンブル,ライブラリとリンク,と行い、最後の実行可能プログラムを作成するまでの一連の処理

C言語の例(実行可能ファイルが出来るまで)
(1)ステップ1 プリプロセッシング
 コンパイルする前に行う前処理で、#が付く命令を展開する。
(2)ステップ2 コンパイル プリプロセッシング済みのソースプログラムから目的プログラム(オブジェクトファイル)を生成
  →この処理を行うプログラムコンパイラと呼ぶ。
 WindowsのC言語では、ファイル拡張子が『.c』のソースファイルからファイル拡張子が『.obj』のオブジェクトファイル変換される。
(3)ステップ3 リンク→連係編集プログラム(リンカとも言う)で、オブジェクトファイルをまとめ、必要に応じてライブラリとリンクし、実行可能ファイル(ロードモジュール)を作成する。
  (windowsにおいて、実行可能ファイルの拡張子は『.exe』になる。)