|
===================================== 〔語彙分解〕的な部分一致の検索結果は以下の通りです。 ・ 通 : [つう] 1. (adj-na,n) (1) connoisseur 2. authority 3. (2) counter for letters, notes, documents, etc. ・ 通信 : [つうしん] 1. (n,vs) correspondence 2. communication 3. news 4. signal ・ 信 : [まこと, しん] 1. (adv,n) truth 2. faith 3. fidelity 4. sincerity 5. trust 6. confidence 7. reliance 8. devotion ・ 複 : [ふく] 1. (n,pref) double 2. compound ・ 複雑 : [ふくざつ] 1. (adj-na,n) complexity 2. complication ・ 雑 : [ざつ] 1. (adj-na,n) rough 2. crude
通信複雑性(つうしんふくざつせい、Communication Complexity、CC)は、1979年にアンドリュー・チーチー・ヤオによって導入された用語。ヤオは2つの個体間の通信問題を研究していた。アリスは n ビットの文字列 x を受信し、ボブも別の n ビットの文字列 y を受信する。目標は両者のいずれかが最小限の通信によって関数 f(x,y) を計算することである。ここでは、計算のステップ数を問題にしているのでも、計算に必要なメモリ量を問題にしているのでもない。通信複雑性とは、このような分散計算で必要となる通信の量を測るものである。 もちろん、上記の例でアリスが n ビットの文字列全体をボブに送ってしまえば、ボブがその関数を計算でき、問題は解決する。しかし、ここで考えているのは、n ビットより少ない通信量で関数を計算する賢い手法の探索である。 この抽象的な問題は様々な場面で応用できる。VLSIの回路設計では、消費電力を低減させるために、ある部分から別の部分に流れる信号の量を最小化したい場合がある。他にもデータ構造の研究やコンピュータネットワークの最適化にも関連する。応用に関しては、参考文献にある Kushilevitz と Nisan の著書に詳しい。 == 形式的定義 == : X Y Z としたとき、一般に および と仮定する。アリスは n ビットの文字列 X を持ち、ボブは n ビットの文字列 Y を持つ。一度に 1ビットずつ両者間で通信を行い(何らかの通信プロトコルが適用される)、アリスとボブは最終的にいずれかが の値を計算できるようにしたい。取り決めとして、一方で答えが判明したらもう一方にあと 1ビットの通信をするだけで全通信が完了するものとする。この通信プロトコルの最悪の通信複雑性( で表される)は次のように定義される。 ここで関数 を行列 (入力行列と呼ぶ)として考えるのが便利である。この行列の行は X に対応して並んでおり、列は Y に対応して並んでいる。入力行列の各要素は である。初期状態でアリスもボブも行列 A 全体を知っている(つまり、両者は関数 を知っている)。そうすると、関数の値の計算問題は対応する行列の要素を選び取る問題に変換される。この問題はアリスかボブのどちらかが と の両方を知った時点で答えがわかる。通信を開始するとき、答えとしてありうるのは行列の全要素なので 個存在する。その後、互いに 1ビットずつ通信すると、解ではあり得ない行や列が除外されていく。 より形式的に表現すると、集合 R X Y があり、 R かつ R のとき常に R ならば、R を長方形であるという。また、R を R = M N (ただし、M X かつ N Y)であるような A の部分行列と見ることもできる。既に ビットの情報をやり取りした状態を考えて見よう。ある について、次のように行列が定義される。 ここで、 X Y であり、 は長方形であると同時に A の部分行列である。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「通信複雑性」の詳細全文を読む スポンサード リンク
|