[問題] Letter Lock Picking Puzzle

作者: FRAXIS (喔喔)   2016-11-27 13:31:17
http://puzzles.bostonpython.com/lock.html 從這上面看的
密碼鎖總共有 N 個環,每個環上面有 K 個字母。
同時給定一個字典,字典內每個單字的長度都為 N 。
要如何設計每個環上的字母,使得可以用密碼所表示的單字數量最大。
有比較好的演算法可以解決這問題嗎?
作者: cutekid (可愛小孩子)   2016-11-28 15:22:00
有趣的問題!想知道 + 1
作者: outofyou   2016-11-28 20:21:00
這跟背包問題有關嗎?發現不行,因為可能跟別的單字有重複的字母。想知道 + 1, O( 26^N * 單字數 )^^^ 錯了,是 O( (26取K)^N * 單字數)
作者: aaaaajack (丁丁是個人才)   2016-12-02 01:08:00
找二分圖是否包含給定大小完全圖似乎是NP-complete所以應該N=2就很難做了 (假設字母集跟K很大)
作者: FRAXIS (喔喔)   2016-12-02 10:07:00
看來 balanced biclique problem 可以 reduce 到這問題而 balanced biclique problem 在 bipartite graph 是 NPC
作者: aaaaajack (丁丁是個人才)   2016-12-03 01:29:00
不過字母集是常數的case可能可以考慮 但我還沒有想法
作者: FRAXIS (喔喔)   2016-12-03 10:31:00
字母集大小是常數的話窮舉就是 polynomial time 了
作者: aaaaajack (丁丁是個人才)   2016-12-03 18:58:00
沒有吧 窮舉是c^N ?
作者: FRAXIS (喔喔)   2016-12-03 21:30:00
喔對 我搞錯了

Links booklink

Contact Us: admin [ a t ] ucptt.com