iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 5
0
自我挑戰組

從科展學寫程式系列 第 5

05 柏拉圖問題的解 II

  • 分享至 

  • xImage
  •  

還沒看過前一篇的大大們,建議先回去看再回來喔~

做以下的推論前,我先把等一下微積分要用到的通則寫下來:
http://ithelp.ithome.com.tw/upload/images/20161219/201038527KZUq9KgGe.png
正文開始:

http://ithelp.ithome.com.tw/upload/images/20161219/20103852VQJZa8iruN.png
http://ithelp.ithome.com.tw/upload/images/20161219/20103852FJJ6vU15rD.png

-----------以下廢文-------------

這就是「柏拉圖問題」的最基本的”標準”解答,查了一下發現很多論文也都是把中間一大串積分再用一次二次微分找到最大值 1/e (順便提一下,可不可以直接打出數學符號啊...不然截圖畫質不好又難看...)。

那我就是不太喜歡這種解法,有點不太實際。我希望直接去用窮舉的方式去把可以得到最大值的機率的 t 值給找出來。
那窮舉的工作當然就是要交給電腦來做了。不過我是一位不會程式的小渣渣,所以只好請書(再不然就交給大神爸爸和google)當我的家教拉~(拉~

因為爸爸用的是php,那我也跟隨著爸爸也一起用php來寫,看爸爸打程式的的時候都超帥的,雖然我都看不懂...爸爸都會跟我說這個東西是在幹嘛的,那個...之類的,聽下來雖然只有五成懂,但是...還是好帥啊~

-----------以上廢文--------------

首先,我就直接開始寫程式了。但爸爸跟我說在程式的最前面可以加這一串東西,可以確保搜集來的資訊是不會錯的:

if (isset($argv))
    for ($i=1;$i<count($argv);$i++)
    {
        $it = explode("=",$argv[$i]);
        $_GET[$it[0]] = $it[1];
    }

$n="\n";
$brn="<br />\n";

date_default_timezone_set("Asia/Taipei");

這是可以在終端機上直接寫上你所要的變數的參數是多少,並且設定時間用的超強的程式碼,我也就直接加在程式的最前面了。

待續...


上一篇
04 柏拉圖問題的解 I
下一篇
06 柏拉圖問題的解 III
系列文
從科展學寫程式43
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 則留言

0
杜岳華
iT邦新手 5 級 ‧ 2016-12-22 09:36:54

看到微積分公式突然嚇到XD
原來現在國中生已經會看論文跟微積分了嗎XD
雖然我認為這是機率分布問題,不過我也想看你怎麼想問題跟解問題。
然後~我認為窮舉不會是好方法,無論是自己手算或是交給電腦算。

看更多先前的回應...收起先前的回應...

其實我對微積分不是很懂,我也只是借一借微積分的書,想要快速搞懂它。但是我到最後也只是知道他要怎麼運作和用在哪些地方罷了...
我本來也是想要用公式去解我想解的東西,但是我認為對我來說真的不間單XD所以就只好咬牙窮舉下去...不過這對我本身來說不定也是一個學程式的大好機會~

杜岳華 iT邦新手 5 級 ‧ 2016-12-23 23:37:15 檢舉

微積分........你可以等到之後在慢慢弄懂他,我覺得怎麼運作跟用在哪邊是比較重要的。
當你可以用的方法為數不多的時候,窮舉或許是僅剩的方法XD
我建議,如果以後你想走理工類的話,最重要的兩個數學科目大概就是微積分跟機率(跟統計)了,是很多學科的基礎。

謝謝你!我會再試試的!雖然我對這兩個科目都處於陌生狀態...

杜岳華 iT邦新手 5 級 ‧ 2016-12-24 21:54:02 檢舉

我不是要你現在弄懂他XD
大學再弄懂他,現在弄懂的話是蠻神的...

這樣說也對拉...

0
yuanshang
iT邦新手 4 級 ‧ 2017-01-24 18:27:16

真是很高興看到一位中學生選擇這個問題來解,誠如上面兄台所說,微積分跟機率是非常重要 (當然包含線性代數),我倒是認為窮舉法很好啊,第一個你不用自己做,讓電腦來做 (算是讓它表現表現),第二你可以好好觀察資料,會有很多奇妙的感覺。

想當年那些大科學家,第谷和克普勒,牛頓,納皮爾 (還有很多很多) 以個人之力完成資料、觀察資料完成行星週期運動、微積分、對數表。。。

好好的觀察那些資料,你就會體會資料的變動和微分的關係,發生的頻率得出來的機率分布的關係,你不覺得你的 S/N ~ e 的倒數 (當你的 N 值很大時) 是件很美妙的事嗎? 加油!

看更多先前的回應...收起先前的回應...

對阿,我讓電腦跑到現在,都覺得跑出來的線都很漂亮~雖然說有些應變變因不知道為什麼會這樣,不過還是覺得很好玩這樣...

其實我對機率是一竅不通的,除了我科展內的東西其他都沒有碰過,所以我還是有很大的進步空間(就在春節拼吧)。希望可以知道一點皮毛XD

現在回來看,雖然搞懂了一些,不過如果要應用的話,還是差很多...

yuanshang iT邦新手 4 級 ‧ 2017-02-06 18:13:22 檢舉

理論的本身或許在這個階段並不是最重要的,重要的是你藉由這次的自我鍛鍊發現與解決問題,對於解題的工具如數學與程式則是你的好幫手。

把你要做的題目努力想透徹,這些工具在使用時就會愈來愈熟練,如果能從工具本身再去衍生其他題目,那就是另外的境界了,加油 and have fun!

謝謝你的加油~我會加把勁的!!

我要留言

立即登入留言