這是參考 clever algorithms 書裡面的程式碼 有關人工免疫系統的
謝謝您 可以再請問一個語法 child << ((rand()<rate) ? ((bit=='1') ? "0" : "1") : bit) 想請問 << 這個符號是什麼意思? 然後 rand()<rate 這是什麼意思? 以下是程式參數值 bitstring "01110000000001001100001110011011" rate 0.15446243284790956 結果 child "01010000001001010100101111011011" 發現有些數字,0 變 1,1 變 0 請問發生什麼事情了?
以下是完整的程式碼 def point_mutation(bitstring, rate)
child = ""
bitstring.size.times do |i|
bit = bitstring[i].chr
child << ((rand()<rate) ? ((bit=='1') ? "0" : "1") : bit)
end
return child
end
補一下 上面的語法 因為是 off, sum = i*bits_per_param, 0.0
param = bitstring[off...(off+bits_per_param)].reverse
param.size.times do |j|
sum += ((param[j].chr=='1') ? 1.0 : 0.0) * (2.0 ** j.to_f)
end
那我可以在問一下 變數名稱 值 param "0011111000000000" 語法 param.size.times do |j|
sum += ((param[j].chr=='1') ? 1.0 : 0.0) * (2.0 ** j.to_f)
end
結果 變數名稱 值 sum 124.0
為什麼會跑出 124?
我在 cmd 下跑 gem install ruby-debug-ide 跑出這個錯誤 C:\de>gem install ruby-debug-ide Building native extensions. This could take a while... ERROR: Error installing ruby-debug-ide: ERROR: Failed to build gem native extension.
C:/Ruby191/bin/ruby.exe mkrf_conf.rb
Gem files will remain installed in C:/Ruby191/lib/ruby/gems/1.9.1/gems/ruby-debu g-ide-0.4.16 for inspection. Results logged to C:/Ruby191/lib/ruby/gems/1.9.1/gems/ruby-debug-ide-0.4.16/ext/ gem_make.out
可是我想用 windows 去試看看
他可以跑出結果 我想知道運作的情形
拜託 教我