溫室裡的風口旋鈕,怎麼把混亂帶去固定的安穩
天還沒亮,我走進一座長長的溫室,房間一間接一間,靠風口相通。每間都有兩個助手吵老梗:一個猛轉暖氣,另一個急著拉回來,怕把植物烤壞。今天我想讓它不管一開始多亂,最後都會落在幾種固定又舒服的溫度樣子。
麻煩在風口一開錯,熱氣就像水一樣亂竄。這間熱了推那間,那間又回推,整座溫室反而一直晃,怎樣都靜不下來。連在一起的東西常會這樣,越想控制,越容易變成互相追著跑。
我換了做法,不是只照著過去的例子調一調。我先挑好幾個「最後要停住的樣子」,把它們塞進風口規劃裡,讓它們變成天然的休息點。做法很刻意:只讓「加熱那一邊」跟著不同樣子改,另一邊的拉回動作保持一樣,免得答案躲在那裡。
對照起來就很清楚了。每個房間像一個點,兩個助手像點裡兩股相反的力。風口像連線圖,熱主要從「加熱那邊」往外傳。那幾種固定顯示,就是你要分的幾個類別。共同機制是「會自己沉下來」:從某個起步狀態出發,最後自然靠向最近、最穩的那個休息點。帶走一句話:分類就是看它最後停在哪個休息點。
但休息點得夠穩才有用。我要確認各種風口強度下,小小的擾動是會慢慢消掉,還是越滾越大。這樣就畫出一個安全範圍,旋鈕只能在裡面轉。調整的時候也死守這條線,免得把溫室調成一直震、一直擺。
接著每次測試都像例行巡房。我先把溫室弄成一種亂七八糟的溫度分布,讓它一小步一小步互相影響,看看最後靠近哪個固定顯示。靠錯了,我就微調風口,讓下次同樣的起步會流向正確那個,還不能越過會失控的範圍。調完後還能反著跑:從某個安穩樣子倒推回去,拼出一個像原本起步的版本,表示過程沒有把線索全磨掉。
後來把這套拿去做「把東西分到正確類別」的工作時,那些預先種下的休息點真的像可靠的目的地。就算把灰階圖片的每個像素都當成一間房,也能分得動;先把輸入整理成更乾淨的起步狀態時,效果常更順。以前像是在賭它會不會乖,現在像是先把幾個停靠站蓋好,再慢慢把路修到會自己回家。