ライフゲーム(2)


前回の補足


前回の感想,質問より

Q.
練習問題5.6.ではx, y成分についてそれぞれ内分点を計算していますが、ベクトルとして計算できれば記述量も減り1、3次元への一般化もしやすくなると思いました。この練習問題では大した差はありませんが、ベジェ曲線など内分の計算をひたすら行うものを扱うときはベクトルが扱えるかどうかで大きく変わると思います。pythonでベクトルは扱えるのでしょうか。
A.
教科書では扱っていませんが,python言語では線形代数を含む数値計算の際には numpy というライブラリが広く使われます.以下は使用例です(説明は省略します.numpyの使い方は自分で調べてみてください.).
import numpy as np # numpy をimport すると共に numpy をnp という名前で使えるようにします.
v1 = np.array([1.2, 3.6, -1.5]) # 3次元ベクトル (1.2, 3.6, -1.5)
v2 = np.array([3.2, -4.4, 0.3]) # 3次元ベクトル (3.2, 4.4, 0.3)
print(v1 + v2) # 要素ごとの加算 (ベクトルの加算に対応)
print(v1 * v2) # 要素ごとの積 (内積でも外積でもない)
print(v1 < v2) # 要素ごとの大小関係
print(np.dot(v1, v2)) # ベクトルの内積 (行列を与えたときは行列の積になる))
print(np.round(v1).astype(np.int32)) # v1 の要素を四捨五入(round)して整数に変換する
->
[ 4.4 -0.8 -1.2]
[  3.84 -15.84  -0.45]
[ True False  True]
-12.450000000000001
[ 1  4 -2]

Q.
授業に関係ないことですが田中先生のどうぶつしょうぎについてのご研究のページからリンクが貼られているどうぶつしょうぎの公式サイトdobutsushogi.netが謎のブログにすり替わっているのでリンクを外された方が良いと思います。
A.
「どうぶつしょうぎ」の完全解析のページのことですね.ご指摘ありがとうございます.以前編集したつもりだったのですが,古い内容が残っていたようです.

前回の課題について


授業の登録方法


講義資料


講義フォルダの作成


投票システム

vote.pyをダウンロードして(「リンク先のファイルを別名で保存」で,ホームフォルダの下のalgo19を選択(なければ作る).".txt"を「追加しない」を選ぶ)保存します.ドックからターミナルを起動して,
cd ~/algo19
を済ませてから,
python vote.py 選択肢番号
のように使います.

Jupyter Notebookを使いながら(一旦終了せずに),投票システムも使うには,ターミナルのメニューバーの「シェル」->「新規タブ」を選ぶか,[Command]+[T]で別のタブを開いて(あるいは[Command]+[N]で別のウィンドウを開いて),投票システムを使うことをお勧めします.このあたりのことは,「はいぱーワークブック」15.4 ターミナルの便利な使い方に書いてあるので参考にしてください.


テキストの補足


Notebook教材

以下のNotebook教材は,~/algo19 以下に ダウンロードして,Jupyter Notebookからopenして使ったり, Google Colaboratoryを使って,クラウド実行環境でPythonプログラムを実行できます.ダウンロードする場合もGoogle Colaboratoryの使い方を参照してください.Googleアカウントへのログインを求められたときは,通常のGoogleアカウント「XXX@gmail.com」ではなく,ECCSクラウドメールのアカウント「XXX@g.ecc.u-tokyo.ac.jp」を使ってログインしてください.

今日の課題