看板 Python 關於我們 聯絡資訊
各位前輩好 小弟我目前手上有21個樣點資料,需要做不同的排列組合來嘗試他最終結果,這樣就有21 !種可能。 目前是以itertools.pertutations來做,可是光是產生出所有組合電腦就不太能負荷 想請問有沒有其他方法可以使用? 或是該怎麼寫才能讓他不會當機 目前是Jupyter notebook只要再開同個檔案他就會當機 請各位前輩指教了 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.140.210.43 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1579162171.A.A5C.html
AndCycle: 你可以先思考一下 21! 這種數字大小到底有幾種組合 ... 01/16 16:30
GoGoApo: 我知道數字很大,可是教授要求allpossible.... 01/16 16:47
bibo9901: 21! ~ 10^19.7 你就算一秒能處理一億(10^8)種組合, 也 01/16 16:57
bibo9901: 需要花3170年才能跑完 祝你好運!! 01/16 16:57
bibo9901: 你可能要想一些 heuristic 或 iterative 的方法 01/16 17:00
bibo9901: 或者乾脆就亂數選足夠多的組合中選最好的 01/16 17:00
bibo9901: 全部跑過是不可能的 如果教授堅持那他就是大外行 01/16 17:01
bibo9901: 隨便找個什麼說法塞個結果就好了 01/16 17:01
ddavid: All possible的奧妙在於那個possible字眼 01/16 21:09
ddavid: 意思是,impossible的東西自然不能算在all possible裡面 01/16 21:10
ddavid: 總有方法可以證明某些組合怎麼樣也不可能 01/16 21:10
outshaker: 有學過演算法都知道O(N!)是非常糟糕的複雜度 01/17 00:21
outshaker: 然後你提供的訊息十分地少,可否講清楚一點? 01/17 00:23
GoGoApo: 謝謝各位前輩指教,我會再跟教授討論看看。 01/17 09:11