2022情報I 2学期
第19回 授業の振り返りより

質問より

ジュピターの前に唱えたおまじないは何なのですか。
シミュレーションでグラフを書くために標準機能ではないmatplotlibというモジュールをインストールしました。pipという管理ソフトにインストールする命令をしたのです。
より現実に近いシミュレーションを行うにはとても多くの過去のデータが必要になるのですか。
過去とは限らないですし、データとも限りません。仕組みかもしれませんし、モノかもしれません。例えば物理的なシミュレーションであれば、地球上では重力や空気、湿度など、気づかないけど影響がある要素がたくさんあります。これらの影響をどう表すかによって現実に近くなりますが、計算の量やデータなどが膨大になっていくわけです。
前回も思っていたのですが、一度行ったことをなかったことにするには”CtrlZ”ですが、逆に戻しすぎてしまった場合に進める方法はあるのですか。
[Ctrl]+[Y]です。Excelの画面上部左側に[元に戻す]の操作パネルがあります。アイコン上にマウスを持っていくと説明が出るので読むとわかります。
Excelとコラボラトリーを最低一つは両方行ったうえでExcelでは二つとも行ったのですが、生命体増加数のシミュレーションで最大効率を求める関数や方法はあったりするのでしょうか?軽くですが、調べてみてもよくわからなかったのであるのであれば教えてほしいです。
シミュレーションをやる前にシミュレーションの意図を説明しましたが、大事なその部分が理解できていないようですね。グラフを見て適切だと思われるところを読み取ってください。方程式の解のように、値が出たところで、たかだかシミュレーション結果なんですから、参考にする程度のものなのです。最大効率が夜中に出るなら、夜中に仕事しますか?翌朝一番でいいですよね。解をシミュレーションで求めるのであれば、もっと細かい単位で計算して最大効率になるところを求めて下さい。
シュミレーションを初めて行ったのは誰ですか?
誰でしょうね。17回目の質問で回答しましたが、古代エジプトの頃からシミュレーションっておこなわれていると考えられるんです。
空気抵抗、摩擦などでテニスにおけるボールの軌道をほぼ完璧にシミュレーションし、軌道をグラフで示すことはできますか?
空気の動きはとても複雑で、空気中の物体の動きを正確にシミュレーションすることは、大学レベルでもかなり難しいことだと思います。授業でやったシミュレーションは1秒単位ですが、物体の動きを正確に捉えるなら、少なくとも千分の1秒単位でないとどうにもなりません。精度を上げると格段に難しくなります。参考:フォークボールはなぜ落ちる? スパコンによる空力解析で謎を初めて解明
plot関数を用いるときに、頭に書いたものは、ランダム関数を使用するときに書いたものと役割的には同じですか。
そうです。と回答しても、読んでいる他の人はまったくわからないと思います。グラフを書くときに、plt.title('fukuri')などとしたのですが、このpltが「頭に書いたもの」ですね。グラフを描く機能はPythonの標準機能にはないので、import matplotlib.pyplot as plt としてmatplotlib.pyplotというモジュールをインポートしました。モジュール名が長いので、as plt として、matplotlib.pyplotをpltという名前で呼ぶことにしました。randomモジュールをインポートしたときは random.randint(1,3) のようにモジュール名.関数名()のように書きましたが、同様に plt.title('fukuri') と書くことができるようになったのです。as plt がなければ、matplotlib.pyplot.title('fukuri')と打たなければならす、何回も打っているうちにきっと間違えますよね。
折れ線グラフ以外にExcelで数値の関係性を表すことができるものはありますか?
そりゃぁ、たくさんあります。数値の持つ性格を理解した上で、適切なグラフを選んで下さい。
生命体の増加率の方の減少率の式の意味が理解できなかった。
限られた水槽の中で生命体を繁殖させるとすると、数が増えると酸素や栄養が足りなくなりますよね。減少率=(個体数/環境収容数)×増加率 という式は、減少率は環境収容数に対する割合と、増加率に比例するということですね。個体数が増えると窮屈になって減少率が増え、増加率が増えれば減少率も増えるという式です。ここで導かれた減少率を元にして、減少数=個体数×減少率 で具体的な減少数を求めています。ここでの数式はあくまでもモデルであって、実際の環境ではそう簡単には表現できないと思います。

感想より

金利が指数関数のようになっているのが面白かった。
複利法は指数関数そのものですからね。
Excelを上手く使えるようになればすごい便利だと思った。一つ式を立てればいいというのは画期的だった。
必要以上に式を作るのは間違いの原因になります。正しい式をコピーして使うことが大切です。
フィルハンドルを使うと、セルの位置関係で式の意図を汲み取って数値を埋めてくれるのが便利だと感じた。アンケートに何度も書いてしまっているが、やはり、人間に求められているのはもはや式などを作ることだけなのだなと思った。〇年後にはあの職業がなくなります、というようなものを頻繁に目にして、今まではどこか現実味を感じられていなかったが、情報の授業を受けていて、確かにコンピューターはとても便利で敵わない部分がたくさんあるなと実感するようになった。
そうですね。だからこそ、コンピュータをどう使うのかが人間に問われているわけですね。うまく使えば人間の能力を拡張してくれることになります。
エクセルを用いて計算すると、数学的に計算するよりは正確さが劣るものの、計算ミスがなく大まかな流れを把握することができ非常に便利だと思った。
シミュレーションの方法は目的によって違うので、大まかな流れを知る程度であれば、Excelで十分ということもありますよね。
式さえ立てればあとは計算してくれるので算数とかでデータの計算してたのがバカみたいだと思った。
算数や数学で実際に計算したり、理論を学んでいるからこそ、コンピュータで算出されたデータの意味がわかるわけで、一度手でやってみることはとても重要だと思いますよ。
数値を少しいじるだけでグラフの形がかなり変わるのが面白かった。生命体の増加率のグラフが増加率を0.0001ぐらいより小さくすると0.01の時はなだらかな線なのに、直線になるのが面白かった。
いいですね。そうやって試してみることができるのがシミュレーションのいいところですね。
コンピュータに計算(などの処理)をさせる、という点でExcelとPythonはとても似た能力をもつものだということがわかった。Pythonで変数に代入する式も、Excelで=を用いて表せる。また、Pythonでfor文で繰り返す動作は、Excelだとフィルハンドルで行える。どちらもまだまだ知らない機能があるので、より使いこなせるようになっていきたい。
いい気づきですね。Pythonで繰り返して実行しているところを、Excelではコピーしてたくさんデータを作ることで繰り返しているんです。Excelだとすべてのデータが目に見える形で表示されるのですが、その分動作は遅くなります。プログラムで処理した方が高速ですが、内部の様子がわかりません。適材適所で使い分けるといいんです。
生命体の増加シミュレーションをExcelで行う時、グラフ化がうまくできなかった。
手順のスライドにあったとおり、グラフにしたいデータの範囲を選択してから、[グラフ]→[折れ線]とクリックし、一番単純な[折れ線]を選択すればグラフができます。コンピュータの操作は手順が重要です。
ExcelのINTの意味がよくわからなかった。
ExcelのINT()関数はPythonのint()関数と同じです。括弧内の数値から整数部分だけを取り出します。intはintegerの略で整数という意味です。
真上に投げた物体の何秒後かの位置についてのシュミレーションでは各秒の速度と位置を計算したが、1秒後の速度は重力加速度の影響で、30.2だが位置は40mなので違和感を覚えた。これは1秒刻みで計算しているが、0.1秒刻みにしたら1秒後の位置は変わるのではないかと思った。
授業でも説明しましたが、細かい精度でシミュレーションしたら結果も当然変わってきます。精度が必要なら0.1秒刻みや0.01秒刻みで表を作り、シミュレーションしたり、物理で落体の運動について学ぶか、数学で積分を勉強してください。シミュレーションの大切なところは、正しい答えを導くのではなく、どうなるのかを確かめることです。
1秒おきにシミュレーション、0.1秒おきにシミュレーション、物理や数学による計算式によるシミュレーションの違いをグラフにしてみました。

「10秒かからずに落ちてくる」程度のことは1秒おきのシミュレーションでもわかるのです。
シミュレーションをして結果を把握した後に人間が自分で判断を加えるという使い方にとても納得した。アルゴリズムの実習での、人間は曖昧な指示(インスタント麺だったら「ゆであがる」など)でも考えればどうにかなるのに対してコンピューターには細かく正しく指示を出さないと動作しない、という話と少しつながるところがあると感じた。細かくて正確なコンピューターに数値を出してもらって、そこからは人間の持ち前の(?)感覚で調整していくというのはまさにそれぞれの得意分野を頑張っているという感じがして効率がいいなと思った。
 コンピュータによる確定的モデルのシミュレーションのすごいところは、値を簡単に変え、効率的に様々な場合を考えることができるところだとわかった。前回の授業では、いまいち最後の問題のExcelの仕組みがよくわからなかったが、今回それの詳しい説明を聞き、実際に動かしたことで、かなりよくわかった。人間だったら一体どれくらい時間がかかるのだろうということをコンピュータはいとも簡単に行ってしまう。だからこそ、そのコンピュータを効率的に動かすための仕組みを理解してコンピュータと分業することが私達人間に求められているのだと思った。
エクセルなどでシュミレーションを行うと、すぐに数値化されるためいろいろなことを委ねてしまいたくなるが、あくまで判断するのは実行した人間だという意識を持ちたいと思った。そこでコンピューターと人間の線引きができるのかなとも考えた。
コンピュータのシミュレーションによって得られて結果が最も効率が良く最適だとしても、それをその通りに実行するのではなく、自分の生活の中で無理のない範囲でできるようにあくまでも参考にする、というのはなるほどなと思った。確かにコンピュータで最適解を導き出すことができても、それが我々人間にとっては最適でない場合がある。コンピュータにいかに仕事をさせて人間のする仕事の手間を省き、より効率的で無駄がなくなるようにしていきたい。
シミュレーションで出た結果をグラフにして、人がその数値を分析するため、最終的には人の判断が大切なんだなと感じた。シミュレーションは人が判断するための材料を計算する役目だと分かった。
シミュレーションはあくまで人間が判断するときに参考にするもので、必ずしも従わなくてもいいということを聞いて、シミュレーションは実際に行ったらお金がかかったり、一度しかできないのものなどを試してみるときに行うもので、目指している結果によってどこまで正確なシミュレーションをするかやシミュレーション結果を参考にするかは自分で決めなくてはいけないのだと思った。
シミュレーションを作るためにはシミュレーションしたいことがどのような数式でできるかを知っていないといけないから、情報の知識だけではなく、数学の知識も必要だということを知った。先週に続き、Excelは1度数式を登録しておけば他の値を入力した時に全ての求めたい値も対応して変化するし、簡単にグラフを作れるところがとても便利だと思った。やりたいシミュレーションによって確定的モデルにするか確率的モデルにするかを考えないといけないからシミュレーションを作る時にはまず全体像を明確にする必要があると考えた。
シュミレーションには今まではそうでも無かった数学的な思考力が必要になってくるのだと痛感した。1つのことをシュミレーションするのでも立式の方法はいくつかあるので、その場に合った効率的な方法を選ぶのが難しいと思った。
シュミレーションは盲信してはいけないことを理解できた。またコンピュータでシュミレーションすることは何て便利なんだろうと思った。
確定的シュミレーションは、社会の中で新しいことを考える時に私たちの安全を守るためや、不確定要素を消すために不可欠な工程だと思った。また、Pythonでシュミレーションした時に図が出てきたのがここまでできるのかと思った。
今回の生命体の増加に関するシミュレーションにおいて、さらに天候状況もう追加することが出来れば本格的に農業のシミュレーションができるのではないかと思った。
最近Excel×Pythonの実用書を本屋で見つけて関心があったところにこの授業はうれしかった。こんな風にも活用できると知り、便利だなぁと思った。数値の間隔を調整するだけで、シミュレーションの精度を変えられるのは便利だと思った。式で数値を入力しとくといいということもわかった。今後探究などでシミュレーションを使っていきたいと思う。
式が正しいと数値を変えるだけで簡単にシミュレーション結果が変わることがわかった

自己評価集計

自己評価集計

ワードクラウド

3つのキーワード

3つのキーワード
感想や気づき

感想や気づき
テキストマイニング 無料ツール by ユーザーローカル
前のページに戻る