生徒実習課題例>>シミュレーション学習を通じた問題解決能力の育成
生徒実習課題例

シミュレーション学習を通じた問題解決能力の育成

〜セルオートマトンを用いた実習を通して〜


科目の中の位置付け

情報の科学(2)イ 問題の解決と処理手順の自動化
情報の科学(2)ウ モデル化とシミュレーション


実習内容

ねらい

  • セルオートマトンの手法を用いた問題解決能力の育成
  • モデル化とシミュレーションの有効性と条件設定の重要性の理解

実習に必要な機器,材料

  • ワークシート
  • コンピュータ
  • 表計算ソフトウェア
授業プリント例
セルオートマトン実習用ファイル例(参考)

実習方法

  1. ライフゲームの概要理解
     ライフゲームをワークシートで体験する。
  2. ルール90セルオートマトンの理解
     1次元のセルオートマトンで,ルールを理解する。
  3. セルオートマトンの動きを表示する表計算ソフトウェアの設定
     1次元セルオートマトンを表計算ソフトウェアで作成する。
  4. さまざまなルールの体験
     ルールを変更して,模様の変化を理解する。
  5. 交通流への応用
     交通流になるようなルールを考える。
  6. 交通流のシミュレーション
     渋滞の推移や渋滞の許容量を調べる。
  7. 交通流のシミュレーションについての考察
     実際の道路とシミュレーションの違いを考える。
  8. まとめ
     モデル化とシミュレーションの有効性や条件設定の重要性を理解する。

時間配分 150分(50分×3時限)


時間学習活動指導上の留意点
15分<ライフゲームの体験>
・ライフゲームのルールについて説明を聞く。
・ライフゲームをワークシートで体験する。(図1)


図1 ライフゲームの作業用シート用紙

・ライフゲームの繁殖型の例として,「ゴスパーのグライダー銃」の動画を見る。

・セルオートマトンの一種であるライフゲームを体験させることで,セルオートマトンの基本を理解させる。
・一つ間違えると,その後の遷移全てに影響することに気付かせる。











・ライフゲームのルールと初期配置の重要性を理解させる。
20分 <ルール90セルオートマトンの理解>
・一次元セルオートマトンについて説明を聞き,理解する。

・ルール90のセルオートマトンを体験する。



・「ルール90」という名称の意味を考え,発表する。


・周囲にある八つのセルを見なければならない二次元のライフゲームとは違い,注目セルとその左右のセルだけ見ればよいことに気付かせる。
・理解しやすくするために,ワークシートに書き込ませる。
・ライフゲームと同様に,一つのミスが全体に影響するので,注意して取り組むように指示する。
・今までに学習した2進数と関連させて,注目セルと前後セルの三つのセルの状態や八つのセルの状態について着目させて,考えさせる。
15分
<セルオートマトンの動きを表示する表計算ソフトウェアの設定>
・セルオートマトンの動きを自動的に見ることができるように,表計算ソフトウェアを設定する。


・理解しやすくするため,手順を記入したワークシートを使って説明する。
・手順は以下のとおりとなる。

@ 表計算ソフトウェアを起動させ,シート「Rule」のB2セル〜I2セルに「01011010」を入力させる。

図2 シート「Rule」

A 注目セルの前後がどの状態になっているかを10進数で定義するシート「Data」のB1セル〜V50セルに計算式を入力させる。(図3)

図3 シート「Data」 

B シート「Data」からシート「Rule」に合致する値を探し出しセルの値を表示するシート「CA(cellular automaton)」のA1セル〜W50セルに計算式を入力させる。(図4)

図4 シート「CA」

C 設定したファイルの動作の確認をさせる。(L1セルに「1」を入力させ,図5の2行目以降のように「1」と「0」が表示されることを確認させる)

図5 シート「CA」の1行目に1を入力した画面

・シート「CA」ではINDEX関数とMATCH関数を使うが,関数の説明は深入りしない。
・値を入力しないと模様が出てこないことを伝える。また,図5のように表示されない場合は,シート「Data」を修正させる。

時間学習活動指導上の留意点
10分<シート「CA」の改良>
・シート「CA」が見やすくなるように,セルに条件付き書式を設定する。

・シート「CA」のL1セルに「1」を入力すると,図6のように表示されることを確認させる。

図6 シート「CA」への条件付き書式設定後

10分 <さまざまなルールの体験>
・ここまでに設定したファイルを使って,ルール30やルール110を試して,出現する模様を確認する。

・条件を変更することでさまざまな模様が現れることや自然界の事象との関連性があることを伝えることで,セルオートマトンに興味をもたせる。
15分 <交通流への応用>
・セルを道路に見立てて,ある一定の条件の下で,セルオートマトンを交通流へ応用するためのパターンを考える。

・実際の交通流のシミュレーションは条件が多いため,今回の実習では,車の速度が一定などの制限された条件を提示する。
・今回の条件の下での交通流に該当するのが「ルール184」であることに気付かせる。
15分 <交通流のシミュレーション>
・渋滞の発生とその推移について考える。
・渋滞が発生しない車の台数や配置を考える。

・シート「Rule」のB2セル〜I2セルに「10111000」を入力させ,ルール184を体験できるように設定させる。
・シート「CA」で,「1」が入力された部分を車と仮定して,B1セル〜V1セルに「1」を入力しながら考えるように指示をする。

時間学習活動指導上の留意点
15分 <シミュレーションの結果発表>
・発生した渋滞がどのように推移するかをグループで考え,発表する。

















・どの程度までなら渋滞が発生しないかをグループで考え,発表する。

・発表の後に,図7のように右側のセルに車を表す「1」を多く入力することで,渋滞が前方から後方に移動することを確認させる。

図7 ルール184による交通渋滞の推移

・発表の後に,道路の長さの半分を超えると渋滞が発生し始めることを,シート「CA」で確認させる。

図8 ルール184による交通渋滞の発生
図8 ルール184による交通渋滞の発生

15分 <問題点の考察>
・実際の道路を撮影した映像を見ながら,今回のシミュレーションに足りない条件を考え,発表する。

・速度変化,車線数,信号,右折レーンなど,モデル化の段階で削った条件が,現実との差を生むことに気付かせる。
10分 <セルオートマトンの応用>
・速度変化など,他に条件を加えた交通流をセルオートマトンで表す方法について考える。

・はじめに生徒に考えさせ,意見を聞きながら,正解を導き出せるようにヒントを与えていく。
・セルオートマトンにおいて,前方が2セル空いていれば,一気に詰めるという動きのルールを紹介する。(4ビット分のルールを定義する)
・右折レーンや坂道などのテーマは学部論文にもあったことを紹介する。(深入りしない)
10分 <まとめ>
・シミュレーションには,モデル化をする上で,条件(パラメータ)の設定が大切であることを確認する。

・セルオートマトンで火災や津波などのシミュレーションが行われていることを紹介する。
・より現実に即したシミュレーションのために,より細かな条件を設定することが重要なことを理解させる。

参考文献

  1. 北 栄輔・脇田 佑希子(2011) 
    『Excelで学ぶセルオートマトン』 オーム社