前些日子買了些蛋餅皮想做份蛋餅來當早餐,於是到附近超市買好了雞蛋跟培根,準備來做自己最喜歡吃的培根蛋餅。
隔天一早費了一番功夫從溫暖的被窩掙脫出來,幾番折騰之後,睡眼惺忪地站在廚房瓦斯爐前把餅皮、培根、和蛋排排放好之後,此時我才發現一件驚人的事實…
我不會做蛋餅 Orz…
於是開始閉上原本就睜不太開的眼睛回想以前早餐店是怎麼做培根蛋餅的,印象中是將打好的蛋、餅皮和培根同時放到鐵板上,之後將餅皮蓋到蛋上,翻面之後把煎好的培根放上去,捲好蛋餅皮就大功告成了。
可是問題來了,家裡眼前只有一個平底鍋,所以料理三份原料勢必要決定好處理的先後順序。也就是,當資源不夠充足時,就必須面臨實際的Scheduling問題, i.e., 怎麼樣設計資源(e.g., 平底鍋)的使用時間和先後順序才能有效率地做好蛋餅。
就眼前的這份培根蛋餅來說,原料有三種
A. 雞蛋
B. 餅皮
C. 培根
而一份成功的(i.e., 可以吃的…)培根蛋餅需要完成下面幾項動作
1. 將A煎好第一面
2. 將A煎好第二面
3. 將B煎好第一面
4. 將B煎好第二面
5. 煎好C
6. 將C切成適當大小
7. 將三份原料以B-A-C的順序排好
8. 捲成蛋餅
這時才明白其實表面看起來如此單純的料理並不是件簡單的事情。(不只是難,而且還是NP-Hard的難!)
如果一個由不會做蛋餅的傻蛋阿宅(e.g., 我…)來胡亂嘗試的話,上面八個動作就有2^8 = 256種可能的排列,每天嘗試一種做法得要花上八九個月才能找到最好的排列。
當然沒有人願意接受這麼笨的做法,簡化這個問題最簡單的方法就是把動作做分類,比如說,依照原料分的話,可以只剩三個處理動作
1. 處理A
2. 處理B
3. 處理C
然而在這樣的設定下,仍然有六種排列選擇,分析一下六種做法可能產生的結果…
1. A-B-C
首先煎蛋,將蛋兩面煎好後放在一旁,之後加熱餅皮,最後煎培根,切好培根之後,再嘗試著將三份處理好的原料包成蛋餅。
2. A-C-B
做法跟上面類似,一樣是將三種原料處理好之後,最後再一次包成蛋餅。
3. B-C-A
先將餅皮兩面加熱,加熱完放到旁邊,之後處理培根,培根煎好之後最後才煎蛋。
4. B-A-C
先將餅皮兩面加熱,但是跟3一樣,必須將餅皮移開平底鍋才有辦法處理雞蛋,而處理完蛋之後,一定得要將煎好的蛋擺到一旁才有辦法煎培根。
上面這四種做法即是最簡單的(但是沒效率的)scheduling,在只有一個平底鍋的情況下,把原本平行處理的事情直接改成序列處理,過程中三個處理動作沒有辦法彼此部分重疊 (在計算機結構裡就是所謂的泡泡),拖長了整體處理的時間。另一個缺點則是必須要準備許多額外的盤子來裝煎好的蛋、蛋餅、培根等等 (i.e., 需要比較多的空間,類比電腦術語的話就是吃很多記憶體的意思)。
總之,如果沒有仔細想好處理順序,早餐不但會弄得手忙腳亂,最後還要多洗很多不必要的碗盤總是令人不爽的 XD
這麼看起來,首先處理培根似乎是個不錯的選擇,可以先將培根煎好後,移到一旁切成適當大小,之後再擺放到已經處理好的蛋和餅皮上。此時的選擇只剩下先處理蛋還是處理餅皮?也就是5跟6的選擇:
5. C-B-A
6. C-A-B
很明顯地,先處理餅皮的話,會使得接下來煎蛋產生困難(如果餅皮不離開平底鍋),在這個情況下,若要讓蛋的一面煎熟的話,餅皮則會加熱太久而太硬 (因為蛋隔著餅皮煎需要比較長的時間)。
但如果依照C-A-B的順序就沒有這個問題,將蛋放到平底鍋煎之後,馬上就可以直接蓋上餅皮,讓蛋還沒熟的那一面可以附著在餅皮上,煎好蛋的其中一面後,就可以連同餅皮一塊兒翻面,同時煎餅皮和蛋的另一面,此時,便可以將一旁切好的培根放上去,等餅皮熱好之後就可以直接在平底鍋上捲成蛋餅。
這個做法依照上面細分的動作來說明便是
5 – 6 – 1 – 3 – 2 – 4 – 7 -8
這個做法不但處理速度快很多,對於資源也比較節省(e.g., 培根煎完出油使得煎蛋時不需要太多額外的油,或是平底鍋的熱量同時可以拿來加熱蛋跟餅皮),同時也不需要額外的碗盤來放處理中的餅皮和蛋。
呼~想了這麼多,才找到了一個滿意的蛋餅做法。可喜可賀!
好吧,會這麼宅我想大概是因為最近Big Bang Theory看太多的關係吧 XDDD
好吧,會這麼宅我想大概是因為最近Big Bang Theory看太多的關係吧 XDDD
No comments :
Post a Comment