<?xml version="1.0" encoding="UTF-8" ?>
	<rss version = "2.0"  xmlns:blogChannel="http://backend.userland.com/blogChannelModule">
		<channel>
			<title>オープンコースウエアの聴講録</title>
			<description></description>
			<link>https://blogs.yahoo.co.jp/peak_winds</link>
			<language>ja</language>
			<copyright>Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.</copyright>
		<image>
			<title>オープンコースウエアの聴講録</title>
			<url>https://s.yimg.jp/i/jp/blog/iym_img.gif</url>
			<description></description>
			<link>https://blogs.yahoo.co.jp/peak_winds</link>
		</image>
		<item>
			<title>ＭＩＴ6.00 講義１8</title>
			<description>&lt;div&gt;&lt;span style=&quot;color:rgb(0, 0, 0);font-size:12pt;&quot;&gt;MIT 6.00 コンピュータサイエンスとプログラミング秋期講座第18回&lt;/span&gt;&lt;br&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;オープンコースウエア 大学名：MIT&lt;br&gt;
講座名：6.00 Introduction to Computer Science and Programming&lt;br&gt;
講義日：2008年11月11日（火曜日）　―　第11週・1回目 (第10週・2回目の講義は休講でした）&lt;br&gt;
担当教授：Prof. Guttag&lt;br&gt;
全講義数：24コマ&lt;br&gt;
各講義時間：60分&lt;br&gt;
配信開始日：2009年8月19日&lt;br&gt;
講義ビデオソース：Youtube&lt;br&gt;
講義ビデオ収録時間：50分38秒&lt;br&gt;
サブタイトル：有&lt;br&gt;
ジャンル：　プログラム出力結果の評価、ランダムウオークのデバッグ、Pylab、Numpy、図表やヒストグラムをプロットする方法&lt;br&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;ビデオ画像品質5段階評価：4&lt;br&gt;
（解像度が480pあり、コンピュータ画面に表示されたソースコードを比較的はっきりと読み取ることができます。）&lt;br&gt;
ビデオ音声品質5段階評価：4&lt;br&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt; 講義コメント：&lt;br&gt;
今回18回目の講義は前回の講義でコーディングしたランダムウオークプログラムの精査およびデバックとなります。&lt;br&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;基本シミュレーションのコーディングは、以下の3部からなっている。&lt;br&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;その１．　シミュレーションを1回だけ実行するインナーループ。&lt;br&gt;
その２・　シミュレーションの試行回数を管理するループ。このループはその１のループを内蔵する。&lt;br&gt;
その３．　計算および統計処理の（グラフィカル）表示&lt;br&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;ランダムウオークプログラムの精査の部分は、前回さらっと流した以下のコード：&lt;br&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;pre&gt;   f.getDrunk().move(f) &lt;/pre&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;f.getDrunk() は、インスタンス（つまりメソッドのインボケイション）であり、f.getDrunkとは区別されなければならない。&lt;br&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;f.getDrunkは、この場合メソッドでインスタンスではない。&lt;br&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;前回でコーディングしたプログラム、エラーメッセージが表示されることもなく無事に結果が出力されていました。&lt;br&gt;
しかしその出力結果をよくよく見てみると、なんか変なことに気がつきました。&lt;br&gt;
それは、100歩や200歩シミュレートした結果がどれも原点から4,5歩の距離しか離れていないのです。&lt;br&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;これはどうもおかしいじゃないかということになって、プログラムをデバックすることになりました。&lt;br&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;グダーグ教授のデバック作法の手順は：&lt;br&gt;
　　1. Find a really simple example that I know the answer&lt;br&gt;
　　2. Take only one step - we know the answer should be one&lt;br&gt;
　　3. Go half way in the middle of the program and print some intermediate value (total distance so far)&lt;br&gt;
　　4. Label axes and look&lt;br&gt;
　　5. Ask if answer makes sense&lt;br&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;上記の手順に従ってデバッグしてみると、どうやら距離の平均値の求め方にバグがあったようです。&lt;br&gt;
ほんの1行だけなのですが、手直しして再実行すると、前回の結果よりもっともらしい（？）結果が出力されました。&lt;br&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;-------------------------------------------------&lt;br&gt;
Lecture 18 Hand out　補助教材 &lt;a href=&quot;http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00-introduction-to-computer-science-and-programming-fall-2008/video-lectures/lecture-17/lec17.pdf&quot; target=&quot;_blank&quot;&gt;ダウンロード&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;Lecture 18 ホームワーク &lt;a href=&quot;http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00-introduction-to-computer-science-and-programming-fall-2008/assignments/pset10.pdf&quot; target=&quot;_blank&quot;&gt;ダウンロード&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;MIT 6.00 講座のプログラムも含んだ資料の&lt;a href=&quot;http://ocw.mit.edu/ans15436/ZipForEndUsers/6/6-00-fall-2008/6-00-fall-2008.zip&quot; target=&quot;_blank&quot;&gt;ダウンロード&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;-------------------------------------------------&lt;br&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot; &quot; style=&quot;text-align:center;&quot;&gt;&lt;embed allowscriptaccess=&quot;never&quot;  src=&quot;https://www.youtube.com/embed/QJ_MPc0TobI&quot; width=&quot;480&quot; height=&quot;295&quot; wmode=&quot;transparent&quot; class=&quot;&quot;/&gt;&lt;/div&gt;
&lt;br&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;-------------------------------------------------&lt;br&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;講義で取り上げたPythonコードの例&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;注－１！　あらかじめ　PylabとNumpy という数学・計算用および図表表示モジュールをインストールしておく必要があります。&lt;br&gt;
個別モジュールをダウンロードするには、ソースフォージ（SourceForge)のサイトから次の2つの小さいパッケージをダウンロードしてインストールします。&lt;br&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;１．　Numpy のパッケージ　--&amp;gt; &lt;a href=&quot;http://sourceforge.net/projects/numpy/files/NumPy/&quot; target=&quot;_blank&quot;&gt;http://sourceforge.net/projects/numpy/files/NumPy/&lt;/a&gt;&lt;br&gt;
　　　ダウンロードするパッケージは、numpy-1.5.1-win32-superpack-python2.6.exe&lt;br&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;２．　Pylab のパッケージ　--&amp;gt; &lt;a href=&quot;http://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-1.0.1/&quot; target=&quot;_blank&quot;&gt;http://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-1.0.1/&lt;/a&gt;&lt;br&gt;
　　　ダウンロードするパッケージは、matplotlib-1.0.1.win32-py2.6.exe&lt;br&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;注ー２！　前回のコードがデバックされています。&lt;br&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;例－1 ソースコード&lt;br&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-size:medium;&quot;&gt;&lt;code&gt;import math, random, pylab&lt;br&gt;
&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-size:medium;&quot;&gt;&lt;code&gt;class Location(object): &lt;br&gt;
&amp;nbsp;&amp;nbsp;def __init__(self, x, y): &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.x = float(x) &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.y = float(y)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br&gt;
&amp;nbsp;&amp;nbsp;def move(self, xc, yc): &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return Location(self.x+float(xc), self.y+float(yc))&lt;br&gt;
&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-size:medium;&quot;&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;def getCoords(self): &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return self.x, self.y&lt;br&gt;
&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-size:medium;&quot;&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;def getDist(self, other): &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ox, oy = other.getCoords() &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xDist = self.x - ox &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;yDist = self.y - oy &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return math.sqrt(xDist**2 + yDist**2)&lt;br&gt;
&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;&lt;code&gt;&lt;/code&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-size:medium;&quot;&gt;&lt;code&gt;class CompassPt(object): &lt;br&gt;
&amp;nbsp;&amp;nbsp;possibles = (&amp;#39;N&amp;#39;, &amp;#39;S&amp;#39;, &amp;#39;E&amp;#39;, &amp;#39;W&amp;#39;)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;br&gt;
&amp;nbsp;&amp;nbsp;def __init__(self, pt): &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if pt in self.possibles: self.pt = pt &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else: raise ValueError(&amp;#39;in CompassPt.__init__&amp;#39;)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br&gt;
&amp;nbsp;&amp;nbsp;def move(self, dist): &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if self.pt == &amp;#39;N&amp;#39;: return (0, dist) &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;elif self.pt == &amp;#39;S&amp;#39;: return (0, -dist) &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;elif self.pt == &amp;#39;E&amp;#39;: return (dist, 0) &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;elif self.pt == &amp;#39;W&amp;#39;: return (-dist, 0) &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else: raise ValueError(&amp;#39;in CompassPt.move&amp;#39;)&lt;br&gt;
&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-size:medium;&quot;&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br&gt;
class Field(object):&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br&gt;
&amp;nbsp;&amp;nbsp;def __init__(self, drunk, loc): &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.drunk = drunk &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.loc = loc&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br&gt;
&amp;nbsp;&amp;nbsp;def move(self, cp, dist): &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;oldLoc = self.loc &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xc, yc = cp.move(dist) &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.loc = oldLoc.move(xc, yc)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br&gt;
&amp;nbsp;&amp;nbsp;def getLoc(self): &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return self.loc&lt;br&gt;
&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-size:medium;&quot;&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;def getDrunk(self): &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return self.drunk&lt;br&gt;
&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-size:medium;&quot;&gt;&lt;code&gt;class Drunk(object): &lt;br&gt;
&amp;nbsp;&amp;nbsp;def __init__(self, name): &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.name = name&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br&gt;
&amp;nbsp;&amp;nbsp;def move(self, field, time = 1): &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if field.getDrunk() != self: &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;raise ValueError(&amp;#39;Drunk.move called with drunk not in field&amp;#39;) &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for i in range(time): &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pt = CompassPt(random.choice(CompassPt.possibles)) &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;field.move(pt, 1)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br&gt;
def performTrial(time, f):&lt;br&gt;
&amp;nbsp;&amp;nbsp;start = f.getLoc()&lt;br&gt;
&amp;nbsp;&amp;nbsp;distances = [0.0] &lt;br&gt;
&amp;nbsp;&amp;nbsp;for t in range(1, time + 1): &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;f.getDrunk().move(f) &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;newLoc = f.getLoc() &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;distance = newLoc.getDist(start) &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;distances.append(distance) &lt;br&gt;
&amp;nbsp;&amp;nbsp;return distances&lt;br&gt;
&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-size:medium;&quot;&gt;&lt;code&gt;drunk = Drunk(&amp;#39;Homer Simpson&amp;#39;)&lt;br&gt;
&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-size:medium;&quot;&gt;&lt;code&gt;for i in range(3): &lt;br&gt;
&amp;nbsp;&amp;nbsp;f = Field(drunk, Location(0, 0)) &lt;br&gt;
&amp;nbsp;&amp;nbsp;distances = performTrial(500, f) &lt;br&gt;
&amp;nbsp;&amp;nbsp;pylab.plot(distances)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;br&gt;
pylab.title(&amp;#39;Homer&amp;#92;&amp;#39;s Random Walk&amp;#39;) &lt;br&gt;
pylab.xlabel(&amp;#39;Time&amp;#39;) &lt;br&gt;
pylab.ylabel(&amp;#39;Distance from Origin&amp;#39;)&lt;br&gt;
&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-size:medium;&quot;&gt;&lt;code&gt;def performSim(time, numTrials): &lt;br&gt;
&amp;nbsp;&amp;nbsp;distLists = [] &lt;br&gt;
&amp;nbsp;&amp;nbsp;for trial in range(numTrials): &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;d = Drunk(&amp;#39;Drunk&amp;#39; + str(trial)) &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;f = Field(d, Location(0, 0)) &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;distances = performTrial(time, f) &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;distLists.append(distances) &lt;br&gt;
&amp;nbsp;&amp;nbsp;return distLists&lt;br&gt;
&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-size:medium;&quot;&gt;&lt;code&gt;def ansQuest(maxTime, numTrials): &lt;br&gt;
&amp;nbsp;&amp;nbsp;means = [] &lt;br&gt;
&amp;nbsp;&amp;nbsp;distLists = performSim(maxTime, numTrials) &lt;br&gt;
&amp;nbsp;&amp;nbsp;for t in range(maxTime + 1): &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tot = 0.0 &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for distL in distLists: &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tot += distL[t] &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;means.append(tot/len(distLists)) &lt;br&gt;
&amp;nbsp;&amp;nbsp;pylab.figure() &lt;br&gt;
&amp;nbsp;&amp;nbsp;pylab.plot(means) &lt;br&gt;
&amp;nbsp;&amp;nbsp;pylab.ylabel(&amp;#39;distance&amp;#39;) &lt;br&gt;
&amp;nbsp;&amp;nbsp;pylab.xlabel(&amp;#39;time&amp;#39;) &lt;br&gt;
&amp;nbsp;&amp;nbsp;pylab.title(&amp;#39;Average Distance vs. Time (&amp;#39; + str(len(distLists)) + &amp;#39; trials)&amp;#39;) &lt;br&gt;
&amp;nbsp;&amp;nbsp; &lt;br&gt;
ansQuest(500, 300) &lt;br&gt;
pylab.show() &lt;br&gt;
&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;&lt;code&gt;&lt;/code&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;例－１の実行結果&lt;br&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;エディタから実行してPython Shell に出力&lt;br&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;&lt;a class=&quot;mb&quot; href=&quot;http://opencourseware.cocolog-nifty.com/.shared/image.html?/photos/uncategorized/2011/02/28/mit_600_18_1.jpg&quot; target=&quot;_blank&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://opencourseware.cocolog-nifty.com/blog/images/2011/02/28/mit_600_18_1.jpg&quot; target=&quot;_blank&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://opencourseware.cocolog-nifty.com/blog/images/2011/02/28/mit_600_18_1.jpg&quot; target=&quot;_blank&quot;&gt;http://opencourseware.cocolog-nifty.com/blog/images/2011/02/28/mit_600_18_1.jpg&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;&lt;a href=&quot;http://opencourseware.cocolog-nifty.com/blog/files/MIT_600_18_2.jpg&quot; target=&quot;_blank&quot;&gt;「MIT_600_18_2.jpg」をダウンロード&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;出力した画像の元ファイルをダウンロードしてみる。&lt;br&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;&lt;a href=&quot;http://opencourseware.cocolog-nifty.com/blog/files/Lec18_Homers_Random_Walk.svg&quot; target=&quot;_blank&quot;&gt;「Lec18_Homers_Random_Walk.svg」をダウンロード&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;&lt;a href=&quot;http://opencourseware.cocolog-nifty.com/blog/files/Lec18_Average_Dist_vs_Time.svg&quot; target=&quot;_blank&quot;&gt;「Lec18_Average_Dist_vs_Time.svg」をダウンロード&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;SVG(Scalable Vector Graphics)ファイル&lt;br&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;--------------------------------------------------&lt;br&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;例－2 ソースコード&lt;br&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-size:medium;&quot;&gt;&lt;code&gt;from pylab import * &lt;br&gt;
import random&lt;br&gt;
&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-size:medium;&quot;&gt;&lt;code&gt;# Plot - 1&lt;br&gt;
plot([1,2,3,4]) &lt;br&gt;
plot([5,6,7,8])&lt;br&gt;
&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-size:medium;&quot;&gt;&lt;code&gt;# Plot - 2&lt;br&gt;
plot([1,2,3,4], [1,4,9,16]) &lt;br&gt;
figure() &lt;br&gt;
plot([1,2,3,4], [1,4,9,16], &amp;#39;ro&amp;#39;) &lt;br&gt;
axis([0, 6, 0, 20]) &lt;br&gt;
title(&amp;#39;Earnings&amp;#39;) &lt;br&gt;
xlabel(&amp;#39;Days&amp;#39;) &lt;br&gt;
ylabel(&amp;#39;Dollars&amp;#39;)&lt;br&gt;
figure()&lt;br&gt;
&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-size:medium;&quot;&gt;&lt;code&gt;# Plot - 3&lt;br&gt;
xAxis = array([1,2,3,4]) &lt;br&gt;
print xAxis &lt;br&gt;
test = arange(1,5) &lt;br&gt;
print test &lt;br&gt;
print test == xAxis &lt;br&gt;
yAxis = xAxis**3 &lt;br&gt;
plot(xAxis, yAxis, &amp;#39;ro&amp;#39;)&lt;br&gt;
&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-size:medium;&quot;&gt;&lt;code&gt;# Plot - 4 Plots a histgram&lt;br&gt;
figure()&lt;br&gt;
vals = [] &lt;br&gt;
dieVals = [1,2,3,4,5,6] &lt;br&gt;
for i in range(10000): &lt;br&gt;
vals.append(random.choice(dieVals)+random.choice(dieVals)) &lt;br&gt;
hist(vals, bins=11) &lt;br&gt;
show() &lt;br&gt;
&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;&lt;code&gt;&lt;/code&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;&lt;code&gt;&lt;/code&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;例－2 の実行結果&lt;br&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;&lt;a href=&quot;http://opencourseware.cocolog-nifty.com/blog/files/Lec18_Plot_1.svg&quot; target=&quot;_blank&quot;&gt;「Lec18_Plot_1.svg」をダウンロード&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;&lt;a href=&quot;http://opencourseware.cocolog-nifty.com/blog/files/Lec18_Plot_2-1.svg&quot; target=&quot;_blank&quot;&gt;「Lec18_Plot_2-1.svg」をダウンロード&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;&lt;a href=&quot;http://opencourseware.cocolog-nifty.com/blog/files/Lec18_Plot_2-2.svg&quot; target=&quot;_blank&quot;&gt;「Lec18_Plot_2-2.svg」をダウンロード&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;&lt;a href=&quot;http://opencourseware.cocolog-nifty.com/blog/files/Lec18_Plot_3.svg&quot; target=&quot;_blank&quot;&gt;「Lec18_Plot_3.svg」をダウンロード&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;&lt;a href=&quot;http://opencourseware.cocolog-nifty.com/blog/files/Lec18_Plot_4.svg&quot; target=&quot;_blank&quot;&gt;「Lec18_Plot_4.svg」をダウンロード&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;Python コードのHTML表示には、Dan Cederholmの&lt;a href=&quot;http://simplebits.com/cgi-bin/simplecode.pl?mode=process&quot; target=&quot;_blank&quot;&gt;SimpleCode&lt;/a&gt;を使用しています。&lt;br&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;Python コードの入出力は、Python IDLE から行っています。&lt;br&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;&lt;a class=&quot;mb&quot; href=&quot;http://opencourseware.cocolog-nifty.com/.shared/image.html?/photos/uncategorized/2011/01/30/python_idle_1_small.jpg&quot; target=&quot;_blank&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://opencourseware.cocolog-nifty.com/blog/images/2011/01/30/python_idle_1_small.jpg&quot; target=&quot;_blank&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://opencourseware.cocolog-nifty.com/blog/images/2011/01/30/python_idle_1_small.jpg&quot; target=&quot;_blank&quot;&gt;http://opencourseware.cocolog-nifty.com/blog/images/2011/01/30/python_idle_1_small.jpg&lt;/a&gt; -------------------------------------------------&lt;br&gt;
講座第18回のリーディングアサイメント &lt;br&gt;
&lt;br&gt;
1.　&lt;a href=&quot;http://www.chem.uoa.gr/applets/AppletSailor/Appl_Sailor2.html&quot; target=&quot;_blank&quot;&gt;Random walks applet&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;2.　Chapter 13 of &lt;a href=&quot;http://matplotlib.sourceforge.net/&quot; target=&quot;_blank&quot;&gt;Matplotlib/pylab reference&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;-------------------------------------------------&lt;br&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt; テキスト（全てネット上で無償公開）&lt;br&gt;
1. &lt;a href=&quot;http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00-introduction-to-computer-science-and-programming-fall-2008/assignments/getting_started.pdf&quot; target=&quot;_blank&quot;&gt;Getting Started: Python and IDLE&lt;/a&gt; 2. &lt;a href=&quot;http://upload.wikimedia.org/wikipedia/commons/9/91/Python_Programming.pdf&quot; target=&quot;_blank&quot;&gt;Python Programming&lt;/a&gt; 3. &lt;a href=&quot;http://docs.python.org/tutorial/index.html&quot; target=&quot;_blank&quot;&gt;The Python Tutorial&lt;/a&gt; 4. &lt;a href=&quot;http://www.greenteapress.com/thinkpython/thinkCSpy/thinkCSpy.pdf&quot; target=&quot;_blank&quot;&gt;How to Think Like a Computer Scientist: Learning with Python&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;-------------------------------------------------&lt;br&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;</description>
			<link>https://blogs.yahoo.co.jp/peak_winds/71035334.html</link>
			<pubDate>Sun, 01 Sep 2019 16:41:00 +0900</pubDate>
			<category>ソフトウェア</category>
		</item>
		<item>
			<title>平素は当ブログのご愛読をありがとうございます。</title>
			<description>&lt;div class=&quot; &quot; style=&quot;text-align:center;&quot;&gt;&lt;div class=&quot; &quot;&gt;&lt;img src=&quot;https://blog-001.west.edge.storage-yahoo.jp/res/blog-74-ed/peak_winds/folder/1903205/79/71035279/img_0_m?1567293817&quot; alt=&quot;&amp;#x0030a4;&amp;#x0030e1;&amp;#x0030fc;&amp;#x0030b8; 1&quot; class=&quot;popup_img_1001_654&quot; width=&quot;560&quot; height=&quot;366&quot;/&gt;&lt;/div&gt;
&lt;br&gt;&lt;/div&gt;
&lt;div class=&quot; &quot; style=&quot;text-align:left;&quot;&gt;&lt;div class=&quot; &quot;&gt;&lt;span style=&quot;font-size:14.56px;&quot;&gt;当ブログはBLOGSPOTの統合ミラーサイトとして使用してきました。&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot; &quot;&gt;&lt;span style=&quot;font-size:14.56px;&quot;&gt;&lt;br&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot; &quot;&gt;&lt;span style=&quot;font-size:14.56px;&quot;&gt;本館MITオープンコースウエア関連はこちら&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot; &quot;&gt;&lt;a href=&quot;http://opencourseware.cocolog-nifty.com/blog/&quot; target=&quot;_blank&quot;&gt;http://opencourseware.cocolog-nifty.com/blog/&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot; &quot;&gt;ハーバード大学ダイナミックウエッブ開発集中講座はこちら&lt;/div&gt;
&lt;div class=&quot; &quot;&gt;&lt;a href=&quot;https://myblogstudylangs.blogspot.com/search/label/CS75%20Summary&quot; target=&quot;_blank&quot;&gt;https://myblogstudylangs.blogspot.com/search/label/CS75%20Summary&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot; &quot;&gt;スタンフォード大学オープンコースウエア関連はこちらになります。&lt;/div&gt;
&lt;div class=&quot; &quot;&gt;&lt;span style=&quot;font-size:14.56px;&quot;&gt;&lt;a href=&quot;https://stanfordocw.blogspot.com/&quot; target=&quot;_blank&quot;&gt;https://stanfordocw.blogspot.com/&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot; &quot;&gt;&lt;br&gt;&lt;/div&gt;
&lt;div class=&quot; &quot;&gt;&lt;span style=&quot;font-size:14.56px;&quot;&gt;そのため当ブログは、新規ブログに移行する予定はありません。&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot; &quot;&gt;&lt;span style=&quot;font-size:14.56px;&quot;&gt;2019年12月のサービス停止まで、このままにしておきます。&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot; &quot;&gt;&lt;span style=&quot;font-size:14.56px;&quot;&gt;&lt;br&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot; &quot;&gt;&lt;span style=&quot;font-size:14.56px;&quot;&gt;以上よろしくお願いいたします。&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;</description>
			<link>https://blogs.yahoo.co.jp/peak_winds/71035279.html</link>
			<pubDate>Sun, 01 Sep 2019 00:48:53 +0900</pubDate>
			<category>習いごと</category>
		</item>
		<item>
			<title>ＭＩＴ6.00 講義１７</title>
			<description>&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&lt;font size=&quot;3&quot;&gt;MIT 6.00 コンピュータサイエンスとプログラミング秋期講座第17回&lt;br&gt;
オープンコースウエア 大学名：MIT&lt;br&gt;
講座名：6.00 Introduction to Computer Science and Programming&lt;br&gt;
講義日：2008年11月4日（火曜日）　―　第10週・1回目&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
担当教授：Prof. Guttag&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
全講義数：24コマ&lt;br&gt;
各講義時間：60分&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
配信開始日：2009年8月19日&lt;br&gt;
講義ビデオソース：Youtube&lt;br&gt;
講義ビデオ収録時間：50分38秒&lt;br&gt;
サブタイトル：有&lt;br&gt;
ジャンル：　乱数、ランダムウオーク、擬似乱数（Psudo Random）&lt;/font&gt;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;ビデオ画像品質5段階評価：4&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;（解像度が480pあり、コンピュータ画面に表示されたソースコードを比較的はっきりと読み取ることができます。）&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;ビデオ音声品質5段階評価：4&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&lt;br&gt;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&lt;font size=&quot;3&quot;&gt;&lt;br&gt;
講義コメント：&lt;br&gt;
第1回から第１6回目の講義までが、基礎固めの講義でした。コンピューターサイエンス専攻の学生向けの入門コースとしては、普通の大学であればこの辺りまでがおそらく範囲なのでしょう。&lt;/font&gt;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;しかしMITの入門コース、この第１7回目の講義から最終回にあたる24回目の講義まで、プログラミングの応用や、さらなる難問の挑戦に当てています。&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;問題を解くにあたって、コンピューターを問題解決のツールとして使えるか、&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;それとも紙と鉛筆（つまり数学的にもしくは、OR的に）で解くかにより、&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;問題解決のアプローチが異なっている。&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;ばらつき（ランダム）を処理する。&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;データの意味の整合性を検証する。&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;プログラムの実行結果の品質を検証する。&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;プログラムを書いていく前に、単純なシステムからモデリングを始める事。&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;ランダムウオークをシステム的にモデリングし、Pythonで実装する。&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;　　　1.　Location&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;　　　2.　CompassPT(Direction)&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;　　　3.　Field&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;　　　4.　Drunk（酔っ払い）&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;Youtubeでこの講義を見ていたら、お勧め動画（つまりこの17回目の講義を見ている人がこんな動画も見ている！）に&lt;a href=&quot;http://www.youtube.com/watch?v=xhG2DyCX3uA&amp;amp;feature=relmfu&quot; target=&quot;_blank&quot;&gt;アルゴリズム入門　－　MIT 6.046J/18.410J Fall 2005)&lt;/a&gt;とあるのを発見。&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;そこに書き込みしてある「学生達」のコメントが面白い。&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;コメントその１．真のプログラマーが生まれる瞬間がここにある。&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;コメントその2．黒板を使い倒している。すごい！パワーポイント（PowerPoint)なんてくそくらえだ。&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;コメントその3．（レイア姫の出身星）アルデロン星からケンブリッジまでどうやってたどり着くかのアルゴリズムだなんて、この先生スターウオーズオタクだね。&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&lt;br&gt;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&lt;br&gt;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&lt;br&gt;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;-------------------------------------------------&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&lt;font size=&quot;3&quot;&gt;&lt;br&gt;
Lecture 17 Hand out　補助教材&amp;nbsp;&lt;a href=&quot;http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00-introduction-to-computer-science-and-programming-fall-2008/video-lectures/lecture-17/lec17.pdf&quot; target=&quot;_blank&quot;&gt;ダウンロード&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;Lecture 17 ホームワーク&amp;nbsp;&lt;a href=&quot;http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00-introduction-to-computer-science-and-programming-fall-2008/assignments/pset9.pdf&quot; target=&quot;_blank&quot;&gt;ダウンロード&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;MIT 6.00 講座のプログラムも含んだ資料の&lt;a href=&quot;http://ocw.mit.edu/ans15436/ZipForEndUsers/6/6-00-fall-2008/6-00-fall-2008.zip&quot; target=&quot;_blank&quot;&gt;ダウンロード&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;-------------------------------------------------&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&lt;br&gt;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&lt;br&gt;&lt;/div&gt;
&lt;div class=&quot; &quot; style=&quot;text-align:center;&quot;&gt;&lt;embed allowscriptaccess=&quot;never&quot;  src=&quot;https://www.youtube.com/embed/ZbIpjf0QEPI&quot; width=&quot;480&quot; height=&quot;295&quot; wmode=&quot;transparent&quot; class=&quot;&quot;/&gt;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&lt;br&gt;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;-------------------------------------------------&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;講義で取り上げたPythonコードの例&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;注！　今回のコード、実行する前にPylabという数学・計算用モジュールをインストールしておく必要があります。イギリス・サウザンプトン大学のサイト&lt;a href=&quot;http://www.soton.ac.uk/~fangohr/computing/pythonsoft.html&quot; target=&quot;_blank&quot;&gt;Python 教材ダウンロード&lt;/a&gt;を参照しても良いです。ここからダウンロードすると、すべて込みこみのサイズが２００M以上のパッケージをダウンロードすることになります。&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;個別モジュールをダウンロードするには、ソースフォージ（SourceForge)のサイトから次の2つの小さいパッケージをダウンロードしてインストールします。&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;１．　Numpy --&amp;gt; &lt;a HREF=&quot;http://sourceforge.net/projects/numpy/files/NumPy/&quot; TARGET=&quot;_blank&quot;&gt;http://sourceforge.net/projects/numpy/files/NumPy/&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;　　　ダウンロードするパッケージは、numpy-1.5.1-win32-superpack-python2.6.exe&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;２．　Pylab --&amp;gt; &lt;a HREF=&quot;http://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-1.0.1/&quot; TARGET=&quot;_blank&quot;&gt;http://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-1.0.1/&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;　　　ダウンロードするパッケージは、matplotlib-1.0.1.win32-py2.6.exe&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&lt;br&gt;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&lt;br&gt;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;例－1&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&lt;br&gt;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&lt;code&gt;&lt;br&gt;
import math, random, pylab&lt;/code&gt;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;class Location(object):&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;def __init__(self, x, y):&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.x = float(x)&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.y = float(y)&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;def move(self, xc, yc):&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return Location(self.x+float(xc), self.y+float(yc))&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;def getCoords(self):&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return self.x, self.y&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;def getDist(self, other):&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ox, oy = other.getCoords()&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xDist = self.x - ox&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;yDist = self.y - oy&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return math.sqrt(xDist**2 + yDist**2)&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;class CompassPt(object):&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;possibles = (&amp;#39;N&amp;#39;, &amp;#39;S&amp;#39;, &amp;#39;E&amp;#39;, &amp;#39;W&amp;#39;)&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&lt;br&gt;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;def __init__(self, pt):&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if pt in self.possibles: self.pt = pt&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else: raise ValueError(&amp;#39;in CompassPt.__init__&amp;#39;)&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;def move(self, dist):&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if self.pt == &amp;#39;N&amp;#39;: return (0, dist)&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;elif self.pt == &amp;#39;S&amp;#39;: return (0, -dist)&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;elif self.pt == &amp;#39;E&amp;#39;: return (dist, 0)&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;elif self.pt == &amp;#39;W&amp;#39;: return (-dist, 0)&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else: raise ValueError(&amp;#39;in CompassPt.move&amp;#39;)&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;class Field(object):&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;def __init__(self, drunk, loc):&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.drunk = drunk&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.loc = loc&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;def move(self, cp, dist):&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;oldLoc = self.loc&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xc, yc = cp.move(dist)&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.loc = oldLoc.move(xc, yc)&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;def getLoc(self):&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return self.loc&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;def getDrunk(self):&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return self.drunk&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;class Drunk(object):&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;def __init__(self, name):&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.name = name&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;def move(self, field, time = 1):&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if field.getDrunk() != self:&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;raise ValueError(&amp;#39;Drunk.move called with drunk not in field&amp;#39;)&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for i in range(time):&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pt = CompassPt(random.choice(CompassPt.possibles))&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;field.move(pt, 1)&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;def performTrial(time, f):&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;start = f.getLoc()&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;distances = [0.0]&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;for t in range(1, time + 1):&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;f.getDrunk().move(f)&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;newLoc = f.getLoc()&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;distance = newLoc.getDist(start)&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;distances.append(distance)&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;return distances&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;drunk = Drunk(&amp;#39;Homer Simpson&amp;#39;)&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;for i in range(3):&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;f = Field(drunk, Location(0, 0))&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;distances = performTrial(500, f)&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;pylab.plot(distances)&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&lt;br&gt;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;pylab.title(&amp;#39;Homer&amp;#92;&amp;#39;s Random Walk&amp;#39;)&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;pylab.xlabel(&amp;#39;Time&amp;#39;)&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;pylab.ylabel(&amp;#39;Distance from Origin&amp;#39;)&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;def performSim(time, numTrials):&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;distLists = []&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;for trial in range(numTrials):&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;d = Drunk(&amp;#39;Drunk&amp;#39; + str(trial))&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;f = Field(d, Location(0, 0))&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;distances = performTrial(time, f)&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;distLists.append(distances)&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;return distLists&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;def ansQuest(maxTime, numTrials):&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;means = []&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;distLists = performSim(maxTime, numTrials)&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;for t in range(maxTime + 1):&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tot = 0.0&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for distL in distLists:&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tot += distL[t]&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;means.append(tot/len(distL))&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;pylab.figure()&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;pylab.plot(means)&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;pylab.ylabel(&amp;#39;distance&amp;#39;)&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;pylab.xlabel(&amp;#39;time&amp;#39;)&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&amp;nbsp;&amp;nbsp;pylab.title(&amp;#39;Average Distance vs. Time (&amp;#39; + str(len(distLists)) + &amp;#39; trials)&amp;#39;)&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&lt;br&gt;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;ansQuest(500, 300)&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;pylab.show()&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&lt;code&gt;&lt;/code&gt;&lt;br&gt;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&lt;br&gt;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;例－１の実行結果&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;エディタから実行してPython Shell に出力&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&lt;a class=&quot;mb&quot; href=&quot;http://opencourseware.cocolog-nifty.com/.shared/image.html?/photos/uncategorized/2011/02/28/mit_600_17_2.jpg&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;Mit_600_17_2&quot; border=&quot;0&quot; height=&quot;259&quot; src=&quot;https://opencourseware.cocolog-nifty.com/blog/images/2011/02/28/mit_600_17_2.jpg&quot; title=&quot;Mit_600_17_2&quot; width=&quot;400&quot; style=&quot;cursor:move;&quot;&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&lt;br&gt;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;出力した画像の元ファイルをダウンロードしてみる。&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;１．　&lt;a href=&quot;http://opencourseware.cocolog-nifty.com/blog/files/Lec17_Average_Dist_vs_Time.svg&quot; target=&quot;_blank&quot;&gt;「Lec17_Average_Dist_vs_Time.svg」をダウンロード&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;２．　&lt;a href=&quot;http://opencourseware.cocolog-nifty.com/blog/files/Lec17_Homers_Random_Walk.svg&quot; target=&quot;_blank&quot;&gt;「Lec17_Homers_Random_Walk.svg」をダウンロード&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;SVG(Scalable Vector Graphics)ファイル&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&lt;br&gt;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&lt;br&gt;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;Python コードのHTML表示には、Dan Cederholmの&lt;a href=&quot;http://simplebits.com/cgi-bin/simplecode.pl?mode=process&quot; target=&quot;_blank&quot;&gt;SimpleCode&lt;/a&gt;を使用しています。&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;Python コードの入出力は、Python IDLE から行っています。&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&lt;a class=&quot;mb&quot; href=&quot;http://opencourseware.cocolog-nifty.com/.shared/image.html?/photos/uncategorized/2011/01/30/python_idle_1_small.jpg&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;Python_idle_1_small&quot; border=&quot;0&quot; height=&quot;180&quot; src=&quot;https://opencourseware.cocolog-nifty.com/blog/images/2011/01/30/python_idle_1_small.jpg&quot; title=&quot;Python_idle_1_small&quot; width=&quot;100&quot; style=&quot;cursor:move;&quot;&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&lt;br&gt;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&lt;br&gt;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;-------------------------------------------------&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&lt;font size=&quot;3&quot;&gt;&lt;br&gt;
講座第17回のリーディングアサイメント&lt;br&gt;
&lt;br&gt;
1.　&lt;a href=&quot;http://www.chem.uoa.gr/applets/AppletSailor/Appl_Sailor2.html&quot; target=&quot;_blank&quot;&gt;Random walks applet&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&lt;div&gt;2.　Chapter 13 of&amp;nbsp;&lt;a href=&quot;http://matplotlib.sourceforge.net/&quot; target=&quot;_blank&quot;&gt;Matplotlib/pylab reference&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&lt;div&gt;-------------------------------------------------&lt;/div&gt;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&lt;div&gt;&lt;font size=&quot;3&quot;&gt;&lt;br&gt;
テキスト（全てネット上で無償公開）&lt;br&gt;
1.&amp;nbsp;&lt;a href=&quot;http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00-introduction-to-computer-science-and-programming-fall-2008/assignments/getting_started.pdf&quot; target=&quot;_blank&quot;&gt;Getting Started: Python and IDLE&lt;/a&gt;&lt;br&gt;
2.&amp;nbsp;&lt;a href=&quot;http://upload.wikimedia.org/wikipedia/commons/9/91/Python_Programming.pdf&quot; target=&quot;_blank&quot;&gt;Python Programming&lt;/a&gt;&lt;br&gt;
3.&amp;nbsp;&lt;a href=&quot;http://docs.python.org/tutorial/index.html&quot; target=&quot;_blank&quot;&gt;The Python Tutorial&lt;/a&gt;&lt;br&gt;
4.&amp;nbsp;&lt;a href=&quot;http://www.greenteapress.com/thinkpython/thinkCSpy/thinkCSpy.pdf&quot; target=&quot;_blank&quot;&gt;How to Think Like a Computer Scientist: Learning with Python&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div style=&quot;color:rgb(0, 0, 0);font-size:medium;&quot;&gt;&lt;font size=&quot;3&quot;&gt;&lt;code&gt;&lt;/code&gt;&lt;font size=&quot;3&quot;&gt;&lt;font face=&quot;&amp;quot;&amp;#x00ff4d;&amp;#x00ff53; &amp;#x00ff50;&amp;#x0030b4;&amp;#x0030b7;&amp;#x0030c3;&amp;#x0030af;&amp;quot; , &amp;quot;&amp;#x0030d2;&amp;#x0030e9;&amp;#x0030ae;&amp;#x0030ce;&amp;#x0089d2;&amp;#x0030b4; pro w3&amp;quot; , &amp;quot;osaka&amp;quot; , &amp;quot;&amp;#x00ff4d;&amp;#x00ff53; &amp;#x00ff50;&amp;#x00660e;&amp;#x00671d;&amp;quot; , &amp;quot;&amp;#x0030d2;&amp;#x0030e9;&amp;#x0030ae;&amp;#x0030ce;&amp;#x00660e;&amp;#x00671d; pro w3&amp;quot; , &amp;quot;trebuchet ms&amp;quot; , &amp;quot;trebuchet&amp;quot; , &amp;quot;verdana&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif&quot;&gt;&lt;/font&gt;&lt;font face=&quot;&amp;quot;&amp;#x00ff4d;&amp;#x00ff53; &amp;#x00ff50;&amp;#x0030b4;&amp;#x0030b7;&amp;#x0030c3;&amp;#x0030af;&amp;quot; , &amp;quot;&amp;#x0030d2;&amp;#x0030e9;&amp;#x0030ae;&amp;#x0030ce;&amp;#x0089d2;&amp;#x0030b4; pro w3&amp;quot; , &amp;quot;osaka&amp;quot; , &amp;quot;&amp;#x00ff4d;&amp;#x00ff53; &amp;#x00ff50;&amp;#x00660e;&amp;#x00671d;&amp;quot; , &amp;quot;&amp;#x0030d2;&amp;#x0030e9;&amp;#x0030ae;&amp;#x0030ce;&amp;#x00660e;&amp;#x00671d; pro w3&amp;quot; , &amp;quot;trebuchet ms&amp;quot; , &amp;quot;trebuchet&amp;quot; , &amp;quot;verdana&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif&quot; size=&quot;3&quot;&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;br&gt;&lt;/div&gt;
&lt;div style=&quot;color:black;font-size:medium;&quot;&gt;&lt;div&gt;&lt;font size=&quot;3&quot;&gt;-------------------------------------------------&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</description>
			<link>https://blogs.yahoo.co.jp/peak_winds/70670605.html</link>
			<pubDate>Mon, 23 Jul 2018 00:04:12 +0900</pubDate>
			<category>ソフトウェア</category>
		</item>
		</channel>
	</rss>