※ 引述《tom80727 (湯瑪士小火車)》之銘言:
: 如題
: 只要說遊戲優化 通常會被支語警察噴
: 為何不用最佳化
: 問題最佳化真的跟優化意思一樣嗎?
: 畢竟台灣也很少聽到”最佳化很爛”這種說法
首先,我覺得說「最佳化很爛」沒有任何問題。
前面討論也很多人說過了,optimize 本身就不是好詞,容易讓人誤解。
以下會先從一些相似字開始談。
我想,只要學過微積分的人,一定都聽過極大值和最大值。
這兩個詞在英文中,並不是用 utmostly large number 或什麼 largest number,
而是 maximal 和 maximum。
類似的情況還可以看到最小值=minimum,極值=extremal。
-um 結尾的字是很常見的中性單數拉丁文名詞(拉丁文我沒整個學過就是了),
改成複數型態的時候應該是 -a,例如最大值們=maxima。
正常來說,一個函數的最大值頂多一個,而極大值數目則無限制。
這是因為最大值就是要比其他函數值都大,而極大值則是只比能跟他比的大就好。
以單變數函數來說,在這兩點之間的函數如果單調就算是可比。
所以在這個前提下,(x^2-4)^2 在 x=1 和 x=-1 這兩點的函數值雖然相同,
但並不算是「可比」的。
他們本來就是兩種不同的比較法下的名詞。
很多書並沒有在這兩個詞上著墨太多,也導致很多人分不清他們。
一般都只看到 maximal = local maximal 和 maximum = global maximum,
所以很容易讓人誤會極大值和最大值的差異只在局部和全域而已。
然後多提一個 maximize。
這個字是動詞,代表的是「找最大值」這個動作。
以前的高中生都有學線性規劃(現在的就不一定了……),
線性規劃問題就是一種最佳化問題,通常是找目標函數的最大值或最小值。
所以上了大學以後看到的 linear programming/optimization
通常都直接用 maximize/minimize 了。
所以從這裡就可以知道 optimize 的本意的確是「最」佳化,
如果單就研究問題--特別是數學問題--而言的話。
但就像前面的 max 系列一樣,opt 系列也有 optimal, optimum, optimize 這些。
定義一下吧:
optimal = 比附近的其他情況都好的
optimum = 比所有情況都好的
optimize = 尋找最好(optimum)
但是即使在數學問題上,optimization 也不一定都有找到 optimum。
好不容易找到的演算法,結果是給了個 optimal,
而且我們甚至不能確定有沒有更好的。
更落井下石的還有字義本身。
連劍橋字典都說 optimal = optimum,這該怎樣辦?
(我自己看劍橋字典的感覺也是一堆錯啦QQ)
那回到寫程式的問題上,我想應該沒有工程師敢保證自己的程式碼已達 optimum 吧?
(或許有,但我不懂。)
所以 optimization 是說工程師去做了 optimizing problem 而得到的結果,
並不是工程師得到了 optimum。
其實我不覺得用「最佳化」不好,他或許沒有優化那麼生動,
但是反正工程師也沒說他的「最」要怎麼比出來,所以最佳化還是可以用的。
不然……翻成佳化怎麼樣?一起來推廣吧~