Re: [問題] 新手請教 function 用法~!
: 將變動後的資料 依舊帶入 test() 做運算 , 就會再得出一個新的目標值
: 反覆迭代 找出最佳的目標值!
: 期間 所讀取的第二個檔案 B.txt 不變,
: 所異動的只有從第一個檔案 A.txt所讀取的資料!!!
: 現在我卡在不知道要怎麼把這支大程式 變成一個function???
: 只好來請板上高手來指導 XD
: PS: 因為完全不是科班出身~
: 目前唸碩士 老闆希望我可以寫C++
: 現在勉強可以看懂一些範本(數百行程式)
: 但是要一直coding 還是有困難
: 覺得自己一知半解 要改寫程式 又是錯誤百出
: (甚至找個錯誤還要找很久 搞不好還找不到哪裡出錯)
: 越來越想放棄了......唉
猜的沒錯的話,這應該是"鳥"演算法 XD
A.txt是你要train的parameter
B.txt就是你的training set
原本的main是你的objective function
方法有兩種
第一種就是原本的執行檔原封不動的變成score.exe
然後你的程式就去system("score.exe");
執行完畢後自己寫個parser去抓它的輸出檔
第二種就是把你原本的main放進一個叫做fitness的class裡
然後class的架構就像
class fitness()
{
public:
static add(){...}
static some_data_structure static test(...)
{
//原本的main
...
fitness::add();
...
}
};
然後你的回圈裡呼叫 fitness::test()就好
通常寫這類程式都會我會把fitness的部分和演算法的部分分開
下次要解決不同的問題時只需要修改fitness這個class就好
演算法的部分不受影響
而這個fitness你也可你拿去給其他演算法用
只要定義好輸出輸入即可
--
我達達的引擎聲是個美麗的錯誤
我不是歸人
是個台客
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.250.60.40
→
10/12 08:11, , 1F
10/12 08:11, 1F
※ 編輯: philip 來自: 111.250.60.40 (10/12 08:22)
→
10/12 08:15, , 2F
10/12 08:15, 2F
→
10/12 13:36, , 3F
10/12 13:36, 3F
→
10/12 16:52, , 4F
10/12 16:52, 4F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):