日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

通信复杂度问题

發(fā)布時(shí)間:2025/1/21 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 通信复杂度问题 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

通信復(fù)雜度問(wèn)題:確定雙方手中所有數(shù)的中位數(shù)

????通信復(fù)雜度(communication complexity)主要研究這么一類(lèi)問(wèn)題: A 持有數(shù)據(jù) x , B 持有數(shù)據(jù) y ,他們想要合作計(jì)算某個(gè)關(guān)于 x 和 y 的二元函數(shù)值 f(x, y) ,那么在漸近意義下,兩人至少需要傳輸多少 bit 的數(shù)據(jù)。最近著迷于通信復(fù)雜度,看到了幾個(gè)與通信復(fù)雜度有關(guān)的問(wèn)題,和大家分享一下。下面就是其中之一。

????A 、 B 的手中各有一個(gè) {1, 2, …, n} 的子集。兩人想知道,如果把他們手中的數(shù)全都放在一塊兒,那么這些數(shù)(可能會(huì)有重復(fù)的數(shù))的中位數(shù)是多少。然而, A 、 B 兩人遠(yuǎn)隔千里,他們之間通信的成本非常高。因此,他們想在通信線路上傳輸盡可能少的信息,使得最終兩人都知道中位數(shù)的值。在這里,為了簡(jiǎn)便起見(jiàn),我們直接 定義 m 個(gè)數(shù)的中位數(shù)是第 ? m / 2 ? 小的數(shù),因而如果 m = 2k ,那么中位數(shù)就應(yīng)該直接取第 k 小的數(shù)。

????其中一種最笨的方法是, A 把手中的所有數(shù)全部發(fā)給 B 。由于發(fā)送一個(gè)不超過(guò) n 的正整數(shù)最多會(huì)用到 log(n) 個(gè) bit ,而 A 手里的數(shù)最多有 O(n) 個(gè),因此 A 傳給 B 的信息量就是 O(n · logn) 。于是, B 就得到了足夠多的信息,可以直接計(jì)算中位數(shù)了,算好后再把結(jié)果告訴 A ,此時(shí)又要耗費(fèi) log(n) 個(gè) bit (但它并不會(huì)成為通信量的瓶頸)。因此,在這種方案中,總的通信復(fù)雜度就是 O(n · logn) 。事實(shí)上,傳送一個(gè) {1, 2, …, n} 的子集只需要一個(gè) n 位 01 串就夠了,因而我們可以把通信復(fù)雜度降低到 O(n) 個(gè) bit 。

????利用下面的辦法,我們可以實(shí)現(xiàn) O(logn · logn) 的通信復(fù)雜度。首先, A 、 B 分別告訴對(duì)方自己手中有多少個(gè)數(shù),這一共會(huì)耗費(fèi) O(logn) 個(gè) bit 。接下來(lái),兩人在區(qū)間 [1, n] 上進(jìn)行二分查找。假設(shè)到了某一步,中位數(shù)被限定在了區(qū)間 [i, j] 里,那么 A 就計(jì)算出 k = (i + j) / 2 ,數(shù)一數(shù)自己手中有多少個(gè)數(shù)比 k 小,然后告訴 B ,由 B 再來(lái)數(shù)數(shù)自己這邊又有多少個(gè)比 k 小的數(shù),從而判斷出 k 作為中位數(shù)來(lái)說(shuō)是偏大了還是偏小了,并把判斷出來(lái)的結(jié)果返回給 A 。根據(jù)情況,區(qū)間 [i, j] 將被更新為 [i, k] 或者 [k, j] ,兩人在新的區(qū)間上繼續(xù)二分下去。整個(gè)算法將會(huì)持續(xù) O(logn) 輪,每一輪都會(huì)傳輸 O(logn) 的數(shù)據(jù),因此總的通信復(fù)雜度是 O(logn · logn) 。

????另一方面,通信復(fù)雜度至少是 Ω(logn) 的。這是因?yàn)?#xff0c;如果規(guī)定 A 和 B 最多只能交流 k 個(gè) bit ,那么整個(gè)交流歷史最多就只有 k 次分岔的機(jī)會(huì),到最后最多只能產(chǎn)生 2k 個(gè)不同的分支;但事實(shí)上中位數(shù)有可能是 1 到 n 中的任何一個(gè),共有 n 種不同的可能,因此 2k 必須大于等于 n 。這說(shuō)明 k 必須大于等于 log2(n) ,也就是說(shuō)兩個(gè)人總會(huì)有必須要交流 log2(n) 個(gè) bit 才行的時(shí)候。

????一個(gè)有意思的問(wèn)題自然而然地誕生了:我們所得的上界和下界仍然有差距。究竟是剛才的算法還不夠經(jīng)濟(jì),還是剛才證明的結(jié)論還不夠強(qiáng)呢?

????還想說(shuō)明一點(diǎn)的是,兩個(gè)人商量算法的過(guò)程,或者其中一個(gè)人把算法告訴另一個(gè)人的過(guò)程,這可以不算進(jìn)通信復(fù)雜度里。事實(shí)上,把它們算進(jìn)通信復(fù)雜度里也沒(méi)關(guān)系,因?yàn)樗鼈兎凑际?O(1) 的。
?

????我們還能把通信復(fù)雜度進(jìn)一步降低到 O(logn) ,從而完美地解決這個(gè)問(wèn)題。為此,我們先給出另一種 O(logn · logn) 的算法,然后把它改進(jìn)到 O(logn) 去。

????假設(shè) A 和 B 手中的數(shù)分別有 |A| 個(gè)和 |B| 個(gè),而且正好有 |A| = |B| = 2k ,其中 k 是某個(gè)正整數(shù)。如果不是的話,可以讓 A 先花費(fèi) O(logn) 個(gè) bit 把 |A| 告訴 B ,同樣地, B 也花費(fèi) O(logn) 個(gè) bit 把 |B| 告訴 A 。然后,兩人找出一個(gè)最小的但是比 |A| 和 |B| 都大的 2k 。接下來(lái),兩個(gè)人都在自己的數(shù)據(jù)當(dāng)中加入 1 和 n ,把各自手中的數(shù)填充到 2k 個(gè)。只要最后兩個(gè)人總共加入了同樣多的 1 和 n (或者加進(jìn)去的 n 比加進(jìn)去的 1 多一個(gè),如果 |A| + |B| 是奇數(shù)的話),這都不會(huì)改變中位數(shù)的值。兩人可以花費(fèi) O(logn) 個(gè) bit 來(lái)約定,每個(gè)人都往自己的數(shù)據(jù)里加入多少個(gè) 1 和多少個(gè) n 。注意,雖然兩個(gè)人手中的數(shù)變多了,但從對(duì)數(shù)意義上看,這僅僅是常數(shù)級(jí)別的變化。

????現(xiàn)在,每個(gè)人手中都有 2k 個(gè)數(shù)了。每個(gè)人都給自己手中的所有數(shù)從小到大排個(gè)序。假設(shè)此時(shí) A 手中所有數(shù)的中位數(shù)是 a , B 手中所有數(shù)的中位數(shù)是 b 。兩人用 O(logn) 個(gè) bit 交換 a 和 b 的值。如果 a < b ,那么 A 手中前面一半的數(shù)肯定不可能是中位數(shù)了, A 就把前面一半的數(shù)丟掉;同時(shí), B 手中后面一半的數(shù)肯定也不可能是中位數(shù),因此 B 就可以把他手中后面一半的數(shù)都丟掉。類(lèi)似地,如果 a > b ,那么 A 就可以把他后面一半的數(shù)丟掉, B 就可以把他前面一半的數(shù)丟掉。不管怎么樣, A 、 B 兩人手里的數(shù)都只剩下原來(lái)的一半了,并且如果把兩個(gè)人手中的數(shù)合起來(lái)看,那么真正的中位數(shù)左右兩邊都被去掉了同樣多的數(shù),因而剩下的數(shù)將會(huì)保持中位數(shù)不 變。接下來(lái), A 算出新的 a 是多少, B 算出新的 b 是多少,然后兩人再次比較 a 和 b ,并繼續(xù)扔掉各自手里其中一半的數(shù)……不斷這樣做下去,那么每個(gè)人手中的數(shù)都會(huì)成半地減少。等到哪一步,兩個(gè)人手里都只剩一個(gè)數(shù)了,小的那個(gè)數(shù)一定就是中 位數(shù)了;或者某一步出現(xiàn)了 a = b 的情況,那么這個(gè)值就一定是中位數(shù)了。整個(gè)過(guò)程一共有 O(logn) 輪,每一輪都會(huì)傳輸 O(logn) 的數(shù)據(jù),因此總的通信復(fù)雜度是 O(logn · logn) 。

????現(xiàn)在,我們把算法的通信復(fù)雜度改進(jìn)到 O(logn) 。首先注意到,在每一輪當(dāng)中,雙方并不需要知道 a 和 b 的值,只需要知道 a 和 b 誰(shuí)更大一些。因此,兩個(gè)人可以從高到低輪流發(fā)送 a 和 b 的二進(jìn)制位,一旦出現(xiàn)不同就可以立即停下來(lái)了。另外,如果這一輪逐位比較大小的時(shí)候,到了左起第 i 位才比出 a 和 b 的大小,那么對(duì)于今后的 a 和 b 來(lái)說(shuō),我們要么根本就不用比較,要么就可以直接從第 i 位開(kāi)始比較。比方說(shuō),在這一輪里雙方發(fā)現(xiàn) a = 00100????? 并且 b = 00101????? ,這就說(shuō)明 a < b 。此時(shí), A 會(huì)去掉前面一半的數(shù),那些頭幾位就比 00100 小的數(shù)肯定都被去掉了,剩下的數(shù)只有可能以 00100, 00101, 00110, 00111, 01000, … 打頭;類(lèi)似地, B 則會(huì)去掉后面一半的數(shù),剩下的數(shù)只能以 00101, 00100, 00011, 00010, … 打頭。假如今后某一輪中的 a 值是以 00110 打頭的,那么 A 不用跟 B 說(shuō)話就能直接知道,這回肯定是 a 值更大一些 ,因?yàn)?B 的手里不可能有這么大的數(shù),它們都已經(jīng)被去掉了。此時(shí), A 就可以用 O(1) 個(gè) bit 直接告訴 B ,這回我的 a 肯定比你的 b 大,咱倆該怎么辦就怎么辦吧。類(lèi)似地,今后 B 也可能會(huì)出現(xiàn)這樣的情況:一看 b 值的頭幾位,直接就知道該怎么辦了。除非 a 和 b 都以 00100 或者 00101 打頭,我們才真的需要比較 a 和 b 的大小,因此我們可以直接從上次停止的數(shù)位開(kāi)始繼續(xù)往下比。

????如果某一輪當(dāng)中比到了相同的位,那么這些位今后就再也不用交換了,而 a 和 b 都有 O(logn) 位,這說(shuō)明兩人一共交換了 O(logn) 次相同的位;如果某一輪當(dāng)中比到了不同的位,那么這一輪比較就會(huì)立即停止,這說(shuō)明每一輪里最多只會(huì)遇到一次不同的位,而整個(gè)算法有 O(logn) 輪,因而兩人一共也就交換了 O(logn) 次不同的位。另外,整個(gè)算法開(kāi)始前會(huì)有 O(logn) 的交流(為了把數(shù)據(jù)填充到 2k 個(gè)),每一輪也會(huì)產(chǎn)生 O(1) 的交流(告訴對(duì)方是否需要比較)。因而,最終總的通信復(fù)雜度就是 O(logn) 。

參考資料: Eyal Kushilevitz and Noam Nisan, Communication complexity.

?

?

通訊復(fù)雜性簡(jiǎn)單介紹

作者:張志強(qiáng), 發(fā)表于 2008年9月17日

英文是communication complexity,不知道該翻譯成通信復(fù)雜性,還是通訊復(fù)雜性呢。這里先用通訊復(fù)雜性吧。這是一個(gè)理論計(jì)算機(jī)的子領(lǐng)域,在過(guò)去30年衍生了很多東西。它是我的研究的主要內(nèi)容,這里簡(jiǎn)略介紹一下。

1.Communication Protocol 通訊協(xié)議

我們說(shuō)一個(gè)通訊問(wèn)題,是有兩臺(tái)機(jī)器Alice和Bob,它們需要計(jì)算某個(gè)函數(shù) f(x,y)

。但是Alice只知道輸入 x ,Bob只知道 y 。它們之間離得很遠(yuǎn),需要通過(guò)光纜互相傳遞信息,把 f(x,y)

計(jì)算出來(lái)。它們之間傳遞信息的過(guò)程稱(chēng)為通訊,一個(gè)有效的通訊過(guò)程稱(chēng)為一個(gè)協(xié)議。

舉一個(gè)例子,比如兩個(gè)數(shù)據(jù)中心,它們想知道它們的數(shù)據(jù)是否已經(jīng)同步(指數(shù)據(jù)完全一樣),如果不一樣的話就需要重新同步。它們之間該怎么通訊來(lái)確定這一點(diǎn)呢?這個(gè)問(wèn)題就是通訊問(wèn)題 EQ。在這個(gè)問(wèn)題里,Alice和Bob分別擁有一個(gè)字符串 x

y ,它們想計(jì)算 x==y

對(duì)于所有通訊問(wèn)題,Alice可以通過(guò)發(fā)送它的所有輸入 x

到Bob,然后Bob擁有全部輸入,從而計(jì)算 f(x,y)

。注意在通訊問(wèn)題里面,我們只考慮通訊消耗,而不考慮本地的計(jì)算時(shí)間和空間消耗。我們能設(shè)計(jì)更好的通訊協(xié)議嗎?

對(duì)于一個(gè)通訊問(wèn)題,如果要求對(duì)于任何輸入,輸出結(jié)果完全精確,這種符合條件的協(xié)議稱(chēng)為確定型通訊協(xié)議。但在實(shí)際應(yīng)用中,我們可以容忍一個(gè)足夠小的出錯(cuò)概率。在某些時(shí)候這是有很大好處的。比如上面那個(gè)EQ通訊問(wèn)題,在要求結(jié)果完全精確的情況下,Alice發(fā)送自己的 x

已經(jīng)是一個(gè)最優(yōu)方案了。但在實(shí)際應(yīng)用中,我們有一個(gè)更簡(jiǎn)單的方法,那就是發(fā)送hash函數(shù)(比如MD5碼),然后雙方檢驗(yàn)MD5碼即可。當(dāng)然某種意義上這個(gè)協(xié)議不夠嚴(yán)格,更嚴(yán)格的應(yīng)該是Alice隨機(jī)選擇一個(gè)合適長(zhǎng)度的質(zhì)數(shù) p ,然后發(fā)送 (p,xmodp)

2.Communication Complexity 通訊復(fù)雜性

復(fù)雜性的意思就是說(shuō)一個(gè)問(wèn)題不能以多快的速度解決。比如EQ的任何確定型通訊協(xié)議無(wú)法比發(fā)送所有輸入做得更好,這說(shuō)明EQ的復(fù)雜度為 O(n)

。類(lèi)似于計(jì)算理論,人們發(fā)現(xiàn)證明一個(gè)復(fù)雜性比設(shè)計(jì)一個(gè)算法和協(xié)議更困難。

3.量子通訊復(fù)雜性

量子通訊和上面的經(jīng)典通訊基本上是一樣的,除了Alice和Bob是兩臺(tái)量子計(jì)算機(jī),可以操縱量子比特,以及它們之間共享量子通道可以發(fā)送量子比特。我們希望能夠盡可能少的發(fā)送量子比特就能解決問(wèn)題。

就像在計(jì)算理論里,人們非常關(guān)系量子系統(tǒng)的引入能否大幅度提高計(jì)算的速度,人們也關(guān)心量子系統(tǒng)對(duì)于通訊的幫助。目前,人們發(fā)現(xiàn)對(duì)于partial函數(shù)(對(duì)于某些輸入對(duì) (x,y)

f(x,y) 可以沒(méi)有定義的 f 稱(chēng)為partial函數(shù)),量子系統(tǒng)可以指數(shù)級(jí)的縮減發(fā)送的比特?cái)?shù),但對(duì)于完全函數(shù)(對(duì) ?(x,y)f(x,y)

都有定義),人們猜測(cè)量子系統(tǒng)是沒(méi)有幫助的。

4.通訊復(fù)雜性理論和信息論

通訊復(fù)雜性理論和信息論是兩個(gè)不同的領(lǐng)域。通訊復(fù)雜性通常研究如何發(fā)送盡可能少的比特得到計(jì)算結(jié)果,而信息論是研究通訊的過(guò)程(?),比如如何糾錯(cuò),如何利用量子糾纏等。現(xiàn)在的量子信息論發(fā)展非常火熱,但和量子通訊復(fù)雜性是兩個(gè)完全不同的概念。

5.GT 一個(gè)更復(fù)雜的例子

現(xiàn)在Alice和Bob分別擁有兩個(gè)字符串 x

y

,它們?cè)撊绾未_定誰(shuí)的字符串更大(按字典序)呢?同樣這里很低的錯(cuò)誤概率是可以忍受的。

思路:每次Alice和Bob先檢查前一半輸入是否相等(調(diào)用EQ的通訊協(xié)議),如果是,拋棄之;否則后一半可以拋棄;重復(fù)這個(gè)步驟即可。

Q.E.D.

?

?

?

總結(jié)

以上是生活随笔為你收集整理的通信复杂度问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩女优中文字幕 | 成人18在线 | 医生强烈淫药h调教小说视频 | 1000亚洲裸体人体 | 国产精品伦一区二区三区 | 国产成人精品一区二区三区在线 | 久久机热这里只有精品 | 日韩天堂在线观看 | 少妇无码一区二区三区免费 | 久久国产精品一区二区 | 亚欧视频在线观看 | 18深夜在线观看免费视频 | 亚洲综合狠狠 | 久久久精品国产免费爽爽爽 | 国产免费成人 | 欧美三级色图 | 不卡av在线播放 | 国产一区免费在线观看 | 日本亚洲一区二区 | 欧美黑人性xxx猛交 少妇无套内谢久久久久 | 大桥未久av一区二区三区中文 | 中文字幕偷拍 | 成年人免费看黄色 | 99av视频 | 黄色动漫在线观看 | 亚洲综合色av| 女生张开腿给男生桶 | 欧美三级欧美成人高清 | 国产熟妇一区二区三区四区 | av毛片在线免费看 | 中文字幕黄色片 | 国产福利91精品 | 337p粉嫩大胆色噜噜狠狠图片 | 久久久久久久九九九九 | 夜夜骑天天操 | 一区二区中文字幕在线观看 | 91色交视频 | 风间由美在线视频 | 女人的天堂av在线 | 欧美国产一区二区三区 | 国产91精选 | 精品国产1区2区 | 色翁荡息又大又硬又粗又爽 | 国产一卡二卡在线播放 | 欧美日韩免费观看一区=区三区 | 麻豆传媒网页 | 成人黄色视屏 | 黄色片免费 | 色涩久久 | 日本特级淫片 | 麻豆网址| 污污视频免费看 | 亚洲乱码国产乱码精品精大量 | 97久草| 亚洲AV无码阿娇国产精品 | 国产精品一区二区免费视频 | 日韩一区二区三区视频在线 | 欧美精品导航 | 国产成人在线观看免费 | 一区二区三区播放 | 色吊妞| 日韩精品成人无码专区免费 | 欧美一区二区日韩一区二区 | 亚洲欧美日韩中文字幕在线观看 | 久久综合婷婷 | 男女黄床上色视频免费的软件 | 亚洲自拍偷拍综合 | 日本美女黄色一级片 | 国产深夜福利 | 精品人伦一区二区三区 | 亚洲一区二区三区日韩 | 久久久久无码国产精品不卡 | 中文在线а√天堂官网 | 国产一卡二卡三卡 | 亚洲高清在线免费观看 | 一本免费视频 | 校园春色在线观看 | 欧美精品久久久久久久久久 | 色综合99久久久无码国产精品 | 五月天久久综合 | 午夜福利视频合集1000 | 成人啪啪网站 | 国产精品午夜一区二区 | 在线免费av网 | 亚洲精品在线一区二区 | 啪啪网站免费 | www.黄色| 国产乱人伦app精品久久 | 亚洲制服丝袜在线播放 | 韩国美女毛片 | 天堂av最新网址 | 日本天堂影院 | 在线观看国产小视频 | va视频在线观看 | 日韩色| 亚洲精品2区 | 中文字幕av网 | 亚洲天堂网一区二区 | 日本黄色不卡 |