精華區beta CSSE 關於我們 聯絡資訊
※ 引述《reader (讀者)》之銘言: : 標題: Re: [News] 世界著名人工智能專家在漢研制新人工腦 : 時間: Wed Aug 23 18:38:04 2006 : : ※ 引述《haryewkun (Har)》之銘言: : : 反過來說,這句話,對於你的立論也一樣。 : : 你也不能夠通過粗糙的利益分析,去斷定人類必然有方法,可以在那個時候來臨 : : 之前,就會召開國際會議協商,封鎖技術,排除所有的危險性。 : : 過度相信“船到橋頭自然直”,其實就是一種樂觀主義。 : : 這太過搞不清楚狀況了,你提的是一個必然性的情況,只要有任何其他可能的 : 狀況,你的立論就完蛋了。 : : 你去說別人的說法「未必」會發生,根本就不能解決你立論的問題。虧你還提 : 什麼可證偽性,若你不能破除最樂觀的假設,你就是錯的。 : : 該提出嚴格推論和證據資料的是你,不是任何其他人。 : : 本來我還不想脫離本板的討論主題太遠,還有點興緻說人工智慧和萬能機器的 : 事情,現在就真的覺得沒有意思了。 : : : -- : ※ 發信站: 批踢踢實業坊(ptt.cc) : ◆ From: 61.222.173.30 : 推 jeunder:別這樣嘛, 聊聊機器(程式)如何製造(演化)機器(程式)... 08/23 21:32 如果是演化的話, 我看過幾篇用GA/GP 演化程式的論文, 主要的概念是, 將程式碼的先規劃成一個一個instruction, 然後GA/GP的chromosome就是這些instruction的排列, 假設fitness的值是MSE之類的就可以了, 將這些chromosome進行交配與突變, 會產生新的程式碼, 再用這些程式碼去進行fitness運算, 最後得出符合需求的chromosome. 用例子講比較好講 XD 假設現在我們想求出能加總的程式, 像是 1 int goal(int n){ 2 int i,sum=0; 3 for(i=0;i<n;i++) 4 sum=sum+i; 5 return sum; 6 } 我們要求的只是第3行到第4行, 因為為了簡化複雜性, 宣告跟return這種與演算法較無關係的, 可以直接給定。 所以現在定義 instruction set={A op B;, for(A = B; A comp C; A = D);} A屬於terminal set, B, C, D屬於terminal set 或 constant set 或 instruction set terminal set={sum, i, n} op set={+, -, *, /, =} comp set={>=,<=,>,<,==} constant set={0,1} 然後random 產生可能解, 例如一號個體: for(sum=i;sum>sum;sum=1) i-i; i+0; 二號: for(i=0;i>n;sum=sum+1) n+0; 三號: for(sum=0;i==i;i=n*0) for(i=i;i<i;i=i/i) 一看就知道是錯的, 但是因為我們有限制instruction的形式, 而且在random產生個體時加入限制, 可以避免出現 0=0 或 sum-sum+sum-sum 這種東西, 即使出現, 也可以在計算fitness時發現, 並給予其一個無限大的fitness值。 三號那種其實可以在instruction set中做調整來避免其出現, 但是這裡先拿來做例子。 然後一直交配, 突變, 複製, 可能就會出現 for(i=0;i<n;i=i+1) sum=sum+i; 這種個體, 而其MSE將會是0, 於是我們就得到結果了。 下面這篇paper可以參考一下, IEEE TRANSACTIONS ON EVOLUTIONARY COMPUTATION, VOL. 5, NO. 1, FEBRUARY 2001 A Comparison of Linear Genetic Programming and Neural Networks in Medical Data Mining Markus Brameier and Wolfgang Banzhaf Banzhaf寫的Genetic programming: an introduction值得GP入門者一讀。 提出Genetic programming的John Koza有幾個專利, 是用GP去產生更好的IC Layout, 這也算是某一種的程式產生程式。 在I, Robot中有提到類似的概念, 不過仔細想一想就會覺得, 以可能的程式碼做為搜尋空間實在太龐大了, 以上述的例子來看, A op B 有許多種可能的排列, 而那個例子已經是簡化過的了。 要在可以接受的時間內得到答案, 就要給予更多的限制。 然而更多的限制也讓得到最佳解的可能性受限了, 更何況在沒有prior knowledge時, 要下限制也無從下起。 還有就是之前有版友提過的, fitness不容易設計, 因為在沒有目標的情況下, 沒辦法評估改變是好還是壞。 大概就是這樣吧~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 70.171.224.50
jsbjgk:push ... 08/24 13:27
Wolfram:太強,我看不懂... 08/25 10:26
cplusplus:搜尋的空間也太大了吧 XD 08/26 14:34