如果要求用 100 個問題隨機猜詞,只能回答「是」或「否」,是否可以猜出世界上所有名詞?
01-21
對每個名詞賦予唯一的100位二進位編碼,每一位的0和1對應某一個特定問題的答案(不要問我特定的問題是什麼)
我們可以算出這一百個問題能帶來多少可能的答案分支,共2^100種
粗略計算一下,2^31=2147483648,就算2*10^9。2^100=(2*10^31)^3*(2^9)=(8*10^27)*512=4096*10^31=4*10^33
10^8是一億,那麼我們可以編碼40億億億億個詞。
所以理論上可行,至於這個問題怎麼設計那我就不管了2333可以
其存在性證明已經由另一位答主 @黃宏鳴 給出了,假設世界上所有的名詞總數是低於黃答主估計的數字的話,我來一個構造性證明:
1. 收集世界上所有的名詞,並按照unicode序排序
2. 給排序後的名詞編號3. 第一個問題是:這個名詞的編號小於某個數嗎?後面省略,到這裡應該就知道後面怎麼辦了,不可能…
100個問題最多只能猜出2的100次冪個名詞,御坂御坂認為這連整數集都覆蓋不了…甲烷乙烷丙烷
丁烷
戊烷正戊烷異戊烷…………
甲苯乙苯苯甲酸苯甲酸鈉……讓你們猜去吧,2333可以用 Rhababerbarbarabarbarbarenbartbarbierbierbarb?rbel 一試。
其實這個問題問的是:用現在的自然語言系統能不能構建一個深度不超過100的二叉樹,樹的每一個非葉子節點都是一個是/否問題,每一個葉都是一個名詞,樹裡面包含了世界上所有的名詞。unicode編碼不覺得有點流氓么?
這個問題是一個分類問題。微軟小冰有一個小遊戲,是用15個問題猜出你心裡想的人名,和你這個問題差不多。有人提到,你這個問題可以解釋為用100個二進位位編碼所有名詞。但是這個解釋沒有什麼可用性。回到分類問題上。所謂分類問題,可以理解為把一堆數據分成幾個已知的類。這一點和聚類問題不同。解決一個分類問題,你需要一個訓練集。根據這個訓練集建立分類器,然後對數據分類。訓練集一般包含多個緯度。比如銀行想設計一個評估信用的分類器,那麼訓練集裡面可能會調查學歷、是否是本地人、性別、年齡、是否有房、存款多少、婚姻狀況等等。然後演算法去思考這些因素對信用的影響。可能本科學歷以上的人守信用的比沒有本科學歷的高,結婚的比沒結婚信用高。比較簡單的分類演算法是決策樹演算法,可以去學學。很簡單。
感覺絕大多數常用名詞可以。
猜測我沒聽過沒學過頭腦里沒有印象的名詞,問再多個問題可能就不行了。
對大家來說極其生僻的名詞,應該也不太行。取決於猜詞這個人的智商
推薦閱讀:
※設 a,b,c∈R,已知 a>b,b>c,如何證明 a>c?
※如果你有兩枚雞蛋,同時,你想知道,從樓上將雞蛋摔下而不讓它碎掉的樓層極限是多少,你會怎麼做?
※十二個題 從裡面抽六個題出卷子 概率題 我男朋友對不對?
※Minecraft生存模式中,用採集材料製造的工具能開採完方塊嗎?