2012年内藤ゼミ募集要項
1.ゼミの内容
2012年度内藤ゼミでは Matlabを使ってコンピュータシミュレーションプログラムを自分で書くことによって、経済モデルをシュミレーションし、経済政策を分析し、卒業論文を書くことを目的とします。プログラミングによる経済政策のシュミレーションは、非常に創造的で知的な作業ですが、そのためには十分な基礎知識が必要です。そのため2年生までに、国際総合学類の統計科学、数理科学、情報科学I、Cプログラミングを履修し、統計学、線形代数、微分積分、コンピュータプログラミングをマスターしていることが必要です(言語は問いません)。もしプログラミングの授業を履修していない場合は、自分で自習できていることを前提とします。3年生の終わりに5千行程度のプログラムを書く事になります。また初級ミクロ経済学、マクロ経済学、中級ミクロ経済学、計量経済学、国際貿易を履修し単位を取得していることも必要です。
プログラミングは、好きなひとにとっては、言葉を操るように面白く、非常に創造的な作業ですが、できないひと嫌いなひとにとっては苦痛でしかありません。(苦痛の例をあげるなら、数学が嫌いなのに理学部の数学科に入学するようなものです。)ですので、自分がプログラミングに向いているかむいていないか、下の課題に挑戦してみて判断してください。内藤ゼミでは、以下の問題よりもよりハードなプログラミングを2年間毎週つづけ卒論を書くことになります。プログラミングによる経済現象のシュミレーション、政策のシュミレーションは、非常に面白い知的な創造的作業ですが、集中力のいる孤独な作業でもあります。下の課題はそのことを確認してもらう意味もあります。
ここに経済現象を分析してあるひとつのMatlab programのコピーをおいてあります。
ゼミに入った場合、独立論文、卒論でこのようなソースコードを自分で書くということを覚悟していてください。書けなければ、単位が取れず、卒業できないということに自動的になります。ゼミに入る場合そのことを覚悟してはいってきて下さい。
使用言語は、Matlabで、Maltabソフトはコンピュータ室のパソコンにインストールされています。CまたはFortanを学んでいる人にはすぐに移れます。またグラフ関係の機能が充実していることがあげられます.
シュミレーションのトピックの具体例
以下の例に限られるわけではないですが、どんなシュミレーションを行うかわかるように具体的なシュミレーションのトピックをあげておきます。
1.高齢化社会におけるライフサイクルを考えた望ましい資産選択をしめすコンピュータシュミレーション分析
2.政府発行国債の破産の可能性を考えた、最適な国債削減政策のシュミレーション
3.利子率のゼロ制約のもとでの、対デフレ金融政策のシュミレーション分析
4.ライフサイクルでみた、最適なモーゲージパターン:金利固定型ローンか金利変動型ローンか?
6.デフレ化における最適な資産運用
7. 最適な炭素税
8.消費税導入のインパクト
9.健康保険制度改革のシュミレーション
10.中国におけるバブル崩壊のシュミレーション
などがあります。Matlabを使って自分ですべてを0からプログラミングする必要があります。
ゼミの方針
ゼミは、本来は学生が自主的に勉強する場です。ですので、私はおおまかな研究方針は示しますが、具体的な知識やプログラミングを教えることはしません。プログラミングで困難に直面しても、君たち自身が本や学術雑誌を読んだり、ゼミの仲間と話し合ったりして、解答を見つけ、困難を乗り越える必要があります。困難を乗り越えることができない場合、独論、卒論を完成することができず,単位がもらえないため卒業できなくなるということを認識しておいてください。困難を直面し、それをのりこえるために四苦八苦するプロセス自身が重要な学習経験だと考えています。
研究プロジェクトにかかる時間
上の研究トピックにあげたテーマはどれも、非常に面白いテーマですが、わたしも解答は知りません。 そのためプロジェクトを始めてから、忍耐強く毎日研究をつづけプロジェクトを進めていくことが必要です。おおよそプロジェクトを終わらせるまで、1年半ぐらいかかります。つまり、夏休みも、冬休みも、春休みも、8割ぐらいの時間を勉強割いていく事が必要です。夏休み、冬休み、春休みの間は、1週間に1回、研究の進捗状況を報告していもらいます。また休み明けには、全体としてどれほど進捗したのかゼミで発表してもらいます。十分時間をかけていないと私が判断した場合は他のゼミに移ることを薦めることもあります。そのような覚悟ができている人のみこのゼミに応募してください。
出席に関して
ゼミは、学生が自主的に勉強する場所です。ゼミで、君たちの研究に有益なアドバイスやコメントをしてくれるのは、同じゼミの学生です。ということは、ゼミの学生が自分の研究を発表するときにだけゼミに出席し、それ以外のときはゼミに出席しないようになるとゼミという活動が有効に進まないということになります。ですので私のゼミでは欠席に関して厳しく処します。通年3回のゼミの欠席で評価を1段階下げ、4回のゼミ欠席で、評価を不可にします。
ゼミの申し込み
以上のゼミの方針を理解した上で、ゼミの希望者は以下の問題のプログラミングができるレベルに達していることが、ゼミに参加するうえでの最低基準です。以下の問題はプログラミングの初歩レベルです。(この課題ができない人は、ゼミでのより高度な課題ができるはずもなく、このゼミでは単位が取れないと思われます。)ゼミの希望者は、3月5日正午までに以下のプログラミングをおこなって、そのソースコードをゼミの希望理由および上であげた必修としてある経済系の科目の成績、そのたの経済系の科目と成績とともにわたしにメールをおくってください。ゼミの志望理由には、A4用紙2枚に、ゼミの志望理由、卒業論文で研究したい課題、その理由を書いてください。課題の回答の内容およびゼミで研究したい内容でゼミへの参加の可否を判断します。
問題
以下の問題をMatlabのIf構文、while 構文、for構文を使って解いてください。
いま0をしめす位置にロボットがおり、ターゲットを示す場所は、0を示す場所から21.2531493415m右のところにあります。このロボットは初めは0を示す時点から右に歩幅5mで移動します。そしてターゲットを超えたとき歩幅が半分になり左に動き始めます。そしてまたターゲットを越えた時点で歩幅が半分になり右に動き始めます。またターゲットを超えた時点で、歩幅を半分にして左に動きます。これを次々に繰り返してゆきます。
具体的にみてゆくと、まずロボットは右に動き始めます。5歩目でロボットは25mの位置にいることになり、ターゲットをこえます。この時点で左に歩幅2.5mで左に動き始めます。7歩目で20mの位置にいる事になりターゲットを超えたので、また歩幅が半分の1.25mになり右に動き始めます。9歩目で22.5mのところにいることになり、ターゲットを超えたのでまた歩幅がが半分になり左に動き始めます。
さて問題は、このようにくりかえしていったときターゲットとロボットの距離が 0.1の6乗未満になるのは何歩目でしょうか。この問題をプログラミングでとくために、if構文、while構文、for構文を使ってプログラムを書いてください。そして何歩目でロボットとターゲットの距離が0.1の6乗未満になるかもとめてください。また横軸に時間、縦軸にロボットの位置をかいて、そのグラフも作成してください。
プログラムは matlabをつかってただし自分で実行してみて正しく解が求まっていることを確認してください。