PTT評價

Re: [閒聊] 遊戲“優化”跟”最佳化”真的一樣嗎?

看板C_Chat標題Re: [閒聊] 遊戲“優化”跟”最佳化”真的一樣嗎?作者
Vulpix
(Sebastian)
時間推噓52 推:52 噓:0 →:62

※ 引述《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。


其實我不覺得用「最佳化」不好,他或許沒有優化那麼生動,

但是反正工程師也沒說他的「最」要怎麼比出來,所以最佳化還是可以用的。

不然……翻成佳化怎麼樣?一起來推廣吧~


--
一般來說不都是要考慮成本之後去比的嗎?

或許那些最佳化已經是工程師在對得起薪水和工時的情況下所能做到的最好吧。

--

※ PTT 留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.163.49.238 (臺灣)
PTT 網址

CorkiN09/21 12:33嗯嗯跟我想的一樣

CorkiN09/21 12:33所以這篇是英文教學還是數學教學姆咪

是數學英文(mathematical English)教學喔!

※ 編輯: Vulpix (1.163.49.238 臺灣), 09/21/2021 12:35:39

asd89501tw09/21 12:35差點以為走錯版

emptie09/21 12:35是拉丁文教學

arrenwu09/21 12:35這篇比較像是作文課

storewater09/21 12:36演算法課

人人的欣賞觀點不盡相同,那是和個人的性格與生活環境有關。

justwedave09/21 12:38現有的資源下做到最好

justwedave09/21 12:38不代表系統內最好

這是我今年的想法沒錯。

Pegasus9909/21 12:38字根字尾課 生物學也是有類似的麻煩事

justwedave09/21 12:39optimization想表達應該是前者

spfy09/21 12:39有學術名詞都有這經驗 拉丁文超爆幹難

※ 編輯: Vulpix (1.163.49.238 臺灣), 09/21/2021 12:40:29

medama09/21 12:41

forsakesheep09/21 12:42老實說我以為這篇講的算是一種常識...

forsakesheep09/21 12:42沒想到最開始那篇一堆人在噴最佳化並沒有最佳

我大一的時候也以為只是局部和全域的差別啊QQ 雖然是常識,但顯然很多人沒讀到,這是教育方面的問題。 教材、教師以及最重要的學生自己沒有去推敲。 僧敲月下門如果不是經過這一番推敲,那個畫面怎麼美起來呢……

※ 編輯: Vulpix (1.163.49.238 臺灣), 09/21/2021 12:46:49

forsakesheep09/21 12:43早一點用優化還會被噴,現在優化變成常態用法惹

seed113200109/21 12:44這篇是教你怎麼閱讀英文吧,沒有說公式推導怎麼來

arrenwu09/21 12:44但其實用法也不全然都跟這篇講的一樣啦。光maximal 和

Pyonpyon556609/21 12:45沒這麼麻煩 拉丁文形容詞good的比較/最高級 不規

Pyonpyon556609/21 12:45則變化 bonus/melior/optimus 就限定最的意思了

有夠不規則的。

seed113200109/21 12:45其實沒有最佳化只有近似解,每個人配備都不一樣

arrenwu09/21 12:45minimal 在 order theory 的定義就跟這篇不大一樣了

一樣的喔,只是「比」的方法是另一種。 我很努力不要去談偏序了…… 現況是函數值的 maximal 是用我定義的偏序,一般情況就看偏序的長相了, 畢竟偏序不是只有包含而已。

MoneyMonkey09/21 12:46程式越來越大越複雜,

MoneyMonkey09/21 12:46這個有沒有影響?

一定有的吧。不然印個 Hello world. 出來,程式怎樣寫才好討論起來簡單多了。

※ 編輯: Vulpix (1.163.49.238 臺灣), 09/21/2021 12:52:09

macocu09/21 12:47老闆叫你做到「最好」你也不知道怎樣才是最好的概念?

ss21809/21 12:48用在程式通常是目前當下最好的吧 因為程式這東西是一直在進

jeeyi34509/21 12:48最佳化的本意是最佳化 實務上只能做到比原本略好的優化

jeeyi34509/21 12:48這樣吧

ss21809/21 12:48化改變的 現在最好的寫法可能換個環境換個版本就不一樣了

x15975385209/21 12:48其實這最好拿來指你當下能做到的最好 也沒啥問題

ss21809/21 12:49更別提還有其他一堆外部因素y

jeeyi34509/21 12:49涅簡歷: 當你說出完美時 你就停止成長了

sd256709/21 12:50優化更爛 因為很多是並不會更好

我書讀得少.jpg 我遊戲玩得不多,其實不太懂遊戲公司玩的優化到底是個啥。 不過催麥手遊和第一神拳手遊我倒是肯定他們有讓程式變好, 這兩個我一開始玩的時候,手機都是十分鐘內就燙手,關螢幕也一樣,這還是在冷氣房。 後來都可以開個幾個小時也沒事,當然一直亮著螢幕就……

ss21809/21 12:50而且還有一個是最佳可能是你能力能達到的最佳 換個別的大神

ss21809/21 12:50來最好就不一樣了

jeeyi34509/21 12:52實際怎麼樣另一回事 在講怎麼描述這個動作啊

ss21809/21 12:52另外更實際的是大部分的碼農才不會要求什麼最佳 時間內完成

ss21809/21 12:53能達到要求才是重點

ss21809/21 12:54以上一篇移植主機當重點 有可能兩個主機程式根本不一樣 那

arrenwu09/21 12:55你要定義local maximum/minimum 那就要有topolocial

sunshinecan09/21 12:55對一般民眾來說 最佳化一詞確實語意不清

wu1020051209/21 12:55不就支語警察日常 也太認真討論==

arrenwu09/21 12:55space了吧?

差不多吧。但是 maximal/minimal 可以不要這個 base space。 (local maximum 應該很少人用,通常都配 -al。)

jeeyi34509/21 12:55只能說在寫題/比賽時能寫快一點正式場合能做的就多一點

arrenwu09/21 12:55不然local是怎麼來的?

是。程式碼之間要定義 topology 應該還是有辦法的吧,雖然會伴隨著痛苦。

ss21809/21 12:55根本不是什麼最佳 而是有沒有辦法完整把這邊的功能搬移到另

ss21809/21 12:55一方

移植給我的感覺是把程式碼再造成相容於另一臺主機的意思。 所以這個是相容性的事,至於寫得好不好才是普遍被稱為 optimization 的問題。

※ 編輯: Vulpix (1.163.49.238 臺灣), 09/21/2021 13:01:03

jeeyi34509/21 12:55別人時間內寫50% 也許你寫70%

jeeyi34509/21 12:56完成通常就停了 還要優化要看老闆要不要投資時間了

x15975385209/21 12:58其實拿遊戲來講就很明確了 通常遊戲很多副屬性 所以

x15975385209/21 12:58拿到一件新裝要研究要做哪些搭配才能打出現階段最大

x15975385209/21 12:58DPS 這就是最佳化

x15975385209/21 12:58但上面版友的討論是 因為你還沒打掉最後boss 沒拿到

x15975385209/21 12:58最高階的 所以你目前做的事不算最佳化 因為你沒有最

x15975385209/21 12:58佳的那個配備

cmrafsts09/21 12:59你這樣比也沒在domain上訂一個partial order啊

cmrafsts09/21 13:00咦,有欸

當然還要連續函數、值域有全序這些,不過我又不是寫數學課本= = 寫成那樣我還發在西洽嗎? 只用 x 坐標表達點的話,2≦1≦0、-2≦-1≦0,但 1 和 -1 之間沒有順序。 一般的多變數連續函數應該就是如果在兩點之間有一條單調的路徑則可比吧。

ss21809/21 13:01實際上現實也沒那麼簡單 很多玩家配備都不一樣 火系的最強

ss21809/21 13:01裝拿去打水系就變成廢物也是可能的

這個是 maximal 很多,而且彼此之間要加條件才能比的意思。

pc080509/21 13:01我建議改成鄧佳化,生動又有趣

lazarus112109/21 13:02數學也有最佳化的專題,但沒人會認為求出的是最佳解

最佳化是大哉問。但是其中每一個被解決掉的部份都足夠有趣。

※ 編輯: Vulpix (1.163.49.238 臺灣), 09/21/2021 13:08:01

jeeyi34509/21 13:06數學沒有時間限制啊

可以加啊XD

poeoe09/21 13:07確實優化比最佳化更能貼近原意

都沒有人要用佳化QQ

※ 編輯: Vulpix (1.163.49.238 臺灣), 09/21/2021 13:08:38

ssarc09/21 13:08我決定不要跟你聊天

sunshinecan09/21 13:09數學看命題吧 有機會求出最佳解 實務應用上就很難

XXXXDGC09/21 13:09以前講程式都是最佳化沒錯啊...

XXXXDGC09/21 13:10本科講優化會被教授當掉吧...

arrenwu09/21 13:11語言本身不就也是一種傳遞訊息的編碼嗎 == 怎麼會講個

arrenwu09/21 13:11名詞就會被教授當掉

ss21809/21 13:11優/最佳化比較類似面向user的推銷詞彙 多半用在軟硬體設定

notneme15909/21 13:12幫高調 受教了

sunshinecan09/21 13:12以前就有人覺得最佳化講起來很彆扭了

ss21809/21 13:12end user能動的那一段上面 實際上寫程式的我沒見過用這個

x15975385209/21 13:12其實貼不貼近原意根本不重要 是因為講這種話的國家是

x15975385209/21 13:12敵國 就這麼簡單

同意。 說起來我第一次聽到優化是同學在講魔法兔子。 當時我還以為這是他們在玩的遊戲。

※ 編輯: Vulpix (1.163.49.238 臺灣), 09/21/2021 13:13:50

lazarus112109/21 13:14就硬要套用詞啊,優化版本跟最佳化版本當然優化好懂

lazarus112109/21 13:15早期都馬叫更新檔,大家用起來也不覺得有問題

更新檔不是 patch 嗎?不過這個會開新戰場:補丁。 早期我以為都是「最佳化設置」、「最佳設置」這種吔。

jeff66609/21 13:16哭啊 我演算法修的超級爛

jeeyi34509/21 13:16更新檔要寫改了什麼啊

lazarus112109/21 13:19如果程式有改寫的話,更新檔一定寫遊戲效能提升

縮短加載時間、特效升級這類?

※ 編輯: Vulpix (1.163.49.238 臺灣), 09/21/2021 13:21:55

daidaidai0209/21 13:21原來如此

xiaohua09/21 13:25更佳化如何?

lm314v2509/21 13:29變好所以"優化"很生動,所以improve怎麼翻?啥都翻優化?

et31009/21 13:30在英文裡面探討數學中的中文譯解

kaj198309/21 13:35我還是喜歡用最佳化

kaj198309/21 13:36反正優化也不會是最優,都是一樣的東西

優良可差劣,優其實已經是最頂的了。所以+1。 同時我也可以接受別人使用優化。

※ 編輯: Vulpix (1.163.49.238 臺灣), 09/21/2021 13:38:58

j02201509/21 13:45優異化

OldDaiDai09/21 13:46

inte629l09/21 13:49

diablo8132109/21 13:50優化是比較貼近的翻譯啊 儘管是敵性言語

Arctica09/21 14:46這是用字概念上要精準的問題

我覺得最佳化已經夠精準了,要說爛那真的是得從英文原文開始罵。 但是我也把理由寫出來了,最佳化是理想,但通常消費者只看到不夠佳。

※ 編輯: Vulpix (1.163.49.238 臺灣), 09/21/2021 14:51:45

jeeyi34509/21 14:51優化如果說貼近是實際情況 最佳化是針對原字翻譯

s1235897209/21 14:58程式最佳化的終點是O(1)

s1235897209/21 14:58但是能做到的只有短短幾行的程式碼而已

這邊 O(1) 我看不懂QQ n 是程式碼的行數或字數之類的,然後要算的是加法次數和乘法次數嗎?

w121422509/21 15:01老師我還是不懂

這個一般來說可以看領域找到自己最習慣、最容易懂的例子。 像是 maximal ideal 或 spanning tree 甚至 basis 都有 maximal 的性質, 但都不會有人用 maximum 去稱呼。 有時候會有例外,例如 tree 是自己的 spanning tree,就有 maximum 的性質。 上面都還只是數學上的例子,事實上只要有偏序的概念就可以建立 maximal 的概念。

ab37695543xs09/21 15:04資訊科技的話,應該都只會有當下最佳解,硬體軟體進

ab37695543xs09/21 15:04展很快

通常玩家會罵都是因為在自己的「舊硬體」上程式跑得不好, 以前常常都要調整自己電腦裡面的參數來適應遊戲。 這個動作就是客戶端在做「最佳化」,也很常使用一些第三方軟體,例如魔法兔子。 我很久沒玩那種了,不知道現在是不是還是得調整自己的電腦。 更何況有的時候玩家的電腦根本是剛剛好地新的電腦,遊戲卻還是跑得不好。 問個新戰場好了。本機是不是支語啊?我還是習慣我的電腦,所以有改掉。

※ 編輯: Vulpix (1.163.49.238 臺灣), 09/21/2021 16:28:31

dustmoon09/21 16:03

※ 編輯: Vulpix (1.163.49.238 臺灣), 09/21/2021 16:44:12

jeeyi34509/21 16:37Geforce experience現在直接幫你調

jeeyi34509/21 16:38硬體不好罵優化的 隔壁有個鬧笑話奇文啦

jeeyi34509/21 16:38也有全頂規還很卡的 那就是真的優化不好

我把舊電腦加個引號就是…… 其實也不是爛電腦,只是大概有個兩三年這樣。 我不覺得這種開口罵是無理取鬧。 因為為了每個遊戲都升級一次電腦,就不是一般玩家會做的事。

※ 編輯: Vulpix (1.163.49.238 臺灣), 09/21/2021 16:51:02

lazarus112109/21 16:47印象中本機端這種用詞很早就有了

localhost 不是本地端嗎?

peterkfduh09/21 16:54良化

我埋哏很久了:你是不是良化隊派來的(X)

※ 編輯: Vulpix (1.163.49.238 臺灣), 09/21/2021 17:01:02

wanjack09/21 17:03本機磁碟 這個詞超久了吧

這麼一說,好像有點印象。但我還是習慣我的電腦。

makinoyui09/21 17:46哈洽馬洽嗎~~漲姿勢 六尾兄水喔! 讚讚

justeat09/21 18:17佳化跟優化有什麼差別嗎?幹嘛刻意做區別?

很多人討厭優化也不喜歡最佳化啊,找替代品。

john556809/21 18:40steam版那個奇文真的很狂,連最低配備都沒到還一直說程

john556809/21 18:40式有bug..

是哪個啊?廖添丁跟天命嗎?

※ 編輯: Vulpix (1.163.49.238 臺灣), 09/21/2021 19:48:59

s1235897209/21 21:56那個是時間複雜度,算輸入跟輸出要所需的時間

s1235897209/21 21:56O(1)的話就是不管多少輸入,程式只會執行一次就輸出

s1235897209/21 21:56O(n)的話就是假設10個輸入,程式就會執行10次後輸出

s1235897209/21 21:56我演算法很爛,不會算這個

sarafciel09/21 23:12程式最佳化的終點不是O(1)啦 而且你定義給錯了XD

sarafciel09/21 23:15https://tinyurl.com/6apdcke8

NicoNeco09/22 11:25自信點 領人家薪水的就要堅持自己做的是最好的

※ 編輯: Vulpix (1.163.52.21 臺灣), 09/25/2021 19:56:03