2011年5月5日

CED 338 晚安



下課時,突然接到 coo 的電話,小sa有事,所以今晚的飯局可能得延... 今天從早就一直忙到現在,突然,就向世界道聲晚安了...

下星期就月考,所以今天學生來得不多。因為有學生喵喵是確定他們應該學不下去,來也只是晃時間,所以喵喵就寫了一個撿豆子的網頁給他們玩,要他們去思考如 何在這場遊戲中取勝!因為網頁是喵喵寫的,而且和目前的講的主題有關(寫函式),如果他們還有興趣就可以去看看那段函式怎麼寫,電腦的行為(或是說喵喵給 予電腦的指令)是什麼?可不可以用電腦的行為來反將電腦一軍?不過最先試出贏過電腦的方法是一個喵喵沒處理到的 bug ... ^^; 不過排除掉那個 bug 不用,後來他們還是有分析出遊戲的策略和如何贏的方法(只有兩個重點,抓到重點就一定能
贏那場遊戲)其實同學中有人小學就看過這題目,只是一時間無法想起來怎麼去贏過電腦~ ^^;

有同學好奇玩這種遊戲和策略有什麼關係?喵喵就問了玩井字遊戲通常會先選哪一格?且不論井字遊戲只要會玩的人通常都只能玩到平手,但是大家一定都會選正中 間那一格,因為有了那一格,就有四種連線的組合,如果選角落就只有三種組合,而緊臨正中間的旁邊那格是最差的,只有兩種組合,當然玩的人不會想那麼多,只 是很直覺地選,可是如果你要寫成程式叫電腦先選,就得把這些策略想法化成程式語言,讓電腦知道怎麼樣才是一個有可能贏的策略。在遊戲裡這會形成一顆遊戲 樹,在商場裡它會形成一顆決策樹...

下課時,同學只剩一個沒走,他問了一個他卡住的問題,因為邏輯判斷不正確程式動作不正常。他簡單地說了他的判斷寫法,是喵喵不太喜歡的否定式寫法。因為電 腦判斷否定式的寫法有可能比肯定式來得慢(程式或資料庫),而且人在理解否定式時也容易出錯。而同學就是後者,因為否定式而弄錯了。喵喵給他的建議就是全 部肯定的邏輯寫完後再一次否定(用括號括起來後在括號外加 not),或是依第摩根定理把這個 not 代入各項後也把 and 和 or 互換(這個時候就看到,他原本的邏輯式就錯在 and 和 or 的想法上)。所以喵喵還是比較喜歡肯定式啊,簡單又明確,不容易誤解~ ^_^