[問題] 刪除陣列內相似度高的元素已回收

看板MATLAB作者 (何じゃこりゃ!)時間16年前 (2009/12/27 00:38), 編輯推噓0(005)
留言5則, 2人參與, 最新討論串1/2 (看更多)
我做的是免疫演算法相關,其中有一個步驟叫抑制細胞,是說要刪除相似度高的解,避免 落入區域最佳解,我沒想到這個步驟真是想破頭了也寫不出來,最好笑的是這個問題我不 知道到底是算簡單還是難?因為怕問題太難沒人願意幫忙,若有人先解出來,我願意給予 1000P幣… -- 問題: 想刪除具n個元素的陣列內相似度高的前n-(n/3)個元素。 ex: A=[2 19 5 9 15 14],欲將陣列內相似度高的前2名元素刪除,剩下4個相似度 較低的元素。 2與 5差3 19與15差4 9與 5差4 15與14差1 所以相似度最高的是14、15 其次的是 2、 5 因為要刪除相似度前2名的元素,所以1.刪除14or15 2.刪除 2or 5 解答: 刪除14、2,ans=[15 5 9 19]; 或刪除15、2,ans=[19 5 9 14]; 或刪除14、5,ans=[2 19 9 15]; 答案可以有這三種,只要答案是任一種既可! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.231.219.24

12/27 01:03, , 1F
刪去14 15 答案為[2 19 5 9]不行?
12/27 01:03, 1F

12/27 07:54, , 2F
原則上是不行,因為14跟15也是解,只是因為彼此相似度太
12/27 07:54, 2F

12/27 07:54, , 3F
高,所以必須刪掉一個,但若全刪的話,那個區間原本有解
12/27 07:54, 3F

12/27 07:55, , 4F
卻變沒解了…不知道我這樣說明的方式有沒有解答到您的問
12/27 07:55, 4F

12/27 07:55, , 5F
題…@@"
12/27 07:55, 5F
文章代碼(AID): #1BDZlldm (MATLAB)
文章代碼(AID): #1BDZlldm (MATLAB)