情報通信を支える論理

Download Report

Transcript 情報通信を支える論理

情報通信を支える論理
早稲田大学 理工学術院
基幹理工学部 情報理工学科
後藤滋樹
1
本日の内容
1. 情報の検索と論理記号
2. Googleのページランクと行列
3. イーサネットと多項式
いずれも実際の授業に基づいた内容です
2
情報の検索
• 最近の広告の仕方
テクトロニクス
検索
• 検索サイト、検索エンジン
http://www.yahoo.co.jp/
http://www.google.co.jp/
3
能率の良い検索
• キーワードを複数使う
情報理工学科
早稲田大学 情報理工学科
早稲田大学 AND 情報理工学科
• AND の他に OR がある
早稲田大学 OR 情報理工学科
• AND, OR の他にもある (Googleの例)
①
②
③
④
すべてのキーワードを含む AND
フレーズを含む (注: 語順を含めて一致)
いずれかのキーワードを含む OR
キーワードを含めない NOT
4
ベン図, 命題
X
Y
X AND Y
5
AND, OR, NOT は基本的な論理記号
• 論理回路(ろんりかいろ)は、ブール代数(論理演算)
を行う回路、およびデジタル信号を記憶する回路。
(出典: フリー百科事典『ウィキペディア(Wikipedia)』)
AND A・B
OR A+B
NOT A
• 論理回路の設計をする技術者は、数学の論理演算
記号とは違う記号を用いて論理式を記述することが
多い。(同上)
6
半加算器の論理回路
• 2進数の加算の演算
http://takaosuda.hp.infoseek.co.jp/homepage/electronics/circuit/calc02.html
X(入力1)
Y(入力2)
S (和)
C (桁上がり)
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
7
検索結果の表示
順番を決める方法
ページランク
8
Googleのページランク
W
• 基本的な仕組は数学的
W 0
グラフの行列による表現

隣接行列(推移行列、遷移行列) S  0
C 0
固有値と固有ベクトル

G  1
S学部
W大学
C学科
G研究室
S C G
1 0 0

0 1 0
0 0 1

1 1 0 
 1 頂点iから頂点 jに辺がある
aij  
0 頂点iから頂点 jに辺がない
行列の上と左のW, S, C, Gは注釈
であり行列に含まれない
WEBページのリンクの関係
9
隣接行列を転置する
• 隣接行列 A  (aij ) を転置する
リンクを「出す」側から「受ける」側へ
S学部
C学科
A 
t
W大学
G研究室
WEBページのリンクの関係
0

1
0

0

0
0
1
0
0
0
0
1
1

1
1

0 
10
隣接行列から推移確率行列へ
• 列(column)の総和が1または0になるように調整
ページの評価値をリンク先に渡す
1
S学部
1
1/3
W大学
1/3
C学科
1/3
1
G研究室
M 
0

1

0

0
0 0
0 0
1 0
0 1
1 
3
1 
3
1 
3
0 
WEBページのリンクの関係
11
推移確率行列の固有値と固有ベクトル
• 固有値λと固有ベクトルr
M r  r
• 行列 M を掛ける(乗算)ということは、グラフの
辺に沿って(確率的に)推移するということである
• 固有ベクトルの各要素は M を掛けても定数倍
しか変化しない。(安定している)
固有ベクトルの各要素がランクになる
(ただし要素の和が1となるように正規化する)
12
固有ベクトルの具体例
• GNU Octaveを使って計算する。固有値λ=1が最大の
固有値であり、固有ベクトルは下の左のようになる。
 0.11111


 0.22222
 0.33333


 0.33333


 0.20851


 0.41703
 0.62554


 0.62554


• これを正規化したページランクは上の右である。
2/9
1
1
S学部
1/3
1/9
W大学
1/3
C学科
1/3
1/3
1
G研究室
ページランクを記入した図
1/3
13
Googleにおける工夫
• サイズの大きな
疎(sparse)行列の
固有ベクトルの計算
1 N 
N 4
• ユーザがランダムに
ページを渡り歩くと仮定
S学部
W大学
1
 4
1
 4
1
 4
1
 4
1
1
1
1
4
4
4
4
1
1
1
1
4
4
4
4
1 
4
1 
4
1 
4
1 
4
C学科
G研究室
14
Googleにおけるページランク
• 次の行列の固有ベクトルを求めて、要素の和が1に
なるように正規化する。
 4
0.85 M  0.15 1
N 4
 0.0375

 0.8875

0.0375

 0.0375

S学部
W大学
0.0375
0.0375
0.8875
0.0375
0.0375 0.320833

0.0375 0.320833
0.0375 0.320833

0.8875 0.0375 
C学科
 0.12649


 0.23401
 0.32540


 0.31409


G研究室
15
より深く調べるために
• 本資料の例題は簡単にするために4つのサイトに閉じて
いた。
現実のPageRankは早稲田大学(8/10)、理工学部(6/10)、
CS学科(5/10)、後藤研(4/10)。
• 次の資料が参考になる
http://www.kusastro.kyoto-u.ac.jp/~baba/wais/pagerank.html
本資料は上記を参考にした。ただしOctaveのスクリプトは若干改良した。
• Googleの創始者による論文も入手できる。
Lawrence Page, Sergey Brin, Rajeev Motwani, Terry Winograd,
'The PageRank Citation Ranking: Bringing Order to the Web', 1998,
http://www-db.stanford.edu/~backrub/pageranksub.ps
Taher H. Haveliwala, 'Efficient Computation of PageRank', Stanford
Technical Report, 1999,
http://dbpubs.stanford.edu:8090/pub/1999-31
16
ネットワークの測定
オシロスコープ
電気信号を観測
アナライザ
パケットを収集
通信
17
イーサネットの電気信号を観測
• 実験
デジタル・ストレージ・オシロスコープ
テクトロニクス
18
デジタル信号として解釈する
19
イーサネットのフレーム
• フレーム frame をパケット packet ともいう
6
DIX
IEEE802.3
6
2
46~1500(可変長)
宛先のMACア
ドレス
送信元のMAC
アドレス
タイプ
データ
宛先のMACア
ドレス
送信元のMAC
アドレス
フレーム
の長さ
LLC
6
6
2
3
2
FCS
SNAP
データ
5
38~1492(可変長)
FCS
2
• 2種類の標準 standard がある
• 先頭(ヘッダ)と末尾(トレーラ)にデータ以外
の情報がある
20
Ver.2
イーサネットによる通信の基礎
•
FCS (Frame Check Sequence) 4オクテット
誤り検出のために使用。生成多項式は以下の通り。
G( x)  x 32  x 26  x 23  x 22  x16  x12  x11
 x  x  x  x  x  x  x 1
10
•
•
8
7
5
4
2
受信側で同様のアルゴリズムによりCRC値を計算し、
フレームチェックシーケンスの値と異なった
場合には、終端装置でフレーム誤りとして破棄。
「ワイドLANサービスのインタフェース 第1 版」
西日本電信電話株式会社 p.43 より引用
21
桁数が少ない例題
CRC (Cyclic Redundancy Check)
• 送信ビット列を多項式と見なしたものP(X)、生成
多項式G(X)、生成多項式の最高次数をnとした
時、
P(X)・Xn / G(X) の余りをCRC符号とする。
【例】
送信ビット列 11001000 (P(X)=X7+X6+X3)
生成多項式G(X)=X6+X2
必ず5次以下になる
P(X)・X6 / G(X) = X7+X6+X2
余り X4
このとき、CRC符号は 010000 となる。 6ビットで表現可能
引用) http://www.netlaputa.ne.jp/~hijk/study/nw/glossary.htm
「ネットワーク・スペシャリスト・用語集」を一部修正して引用した。
22
実際の桁数
イーサネットの CRC の計算法
• CRC-32で33bitの定数ビット列から32bitのCRCを得る
• ビット列– 100000100110000010001110110110111
• 生成多項式 (Generation Polynomial ) で書けば下記の通り
G( x)  x 32  x 26  x 23  x 22  x16  x12  x11
 x10  x8  x 7  x 5  x 4  x 2  x  1
• 計算の手順
– 生成多項式を G(x) とする
– 送信するデータに32ビットの0をパディングして多項式表現し
たもの M(x)
– CRC値は割算 R(x) = M(x)÷G(x) の剰余である
– 送信するフレームは F(x) = M(x) + R(x)
• 誤りの検出
– 正しい受信データでは、F(x)がG(x)で割り切れる
23
まとめ
• 情報検索を論理的に効率化できる
• 論理回路は電子回路で実現されている
• 検索結果の順番はページランクによる
• 情報通信は数学的に構成されている
24