16
Lecture 8 コンピュータその8 1 セル・オートマトン Tuesday, November 22, 16

Lecture 8 - 北海道大学mmc01.es.hokudai.ac.jp/.../courses/computer/lec/Lec8.pdfLecture 8 コンピュータその8 1 セル・オートマトン Tuesday, November 22, 16 2 セル・オートマトン

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Lecture 8 - 北海道大学mmc01.es.hokudai.ac.jp/.../courses/computer/lec/Lec8.pdfLecture 8 コンピュータその8 1 セル・オートマトン Tuesday, November 22, 16 2 セル・オートマトン

Lecture 8

コンピュータその81

セル・オートマトン

Tuesday, November 22, 16

Page 2: Lecture 8 - 北海道大学mmc01.es.hokudai.ac.jp/.../courses/computer/lec/Lec8.pdfLecture 8 コンピュータその8 1 セル・オートマトン Tuesday, November 22, 16 2 セル・オートマトン

2

セル・オートマトン (Cellular automaton, CA)

CAとは,格子状のセルと単純な規則による,離散的計算モデルである

セル

Tuesday, November 22, 16

Page 3: Lecture 8 - 北海道大学mmc01.es.hokudai.ac.jp/.../courses/computer/lec/Lec8.pdfLecture 8 コンピュータその8 1 セル・オートマトン Tuesday, November 22, 16 2 セル・オートマトン

A20⇥20 =

ai,j = 0 8i, j

3

セル・オートマトン (Cellular automaton, CA)

CAとは,格子状のセルと単純な規則による,離散的計算モデルである

行列として表現することができる

Matlab>> A = zeros(20,20);

Tuesday, November 22, 16

Page 4: Lecture 8 - 北海道大学mmc01.es.hokudai.ac.jp/.../courses/computer/lec/Lec8.pdfLecture 8 コンピュータその8 1 セル・オートマトン Tuesday, November 22, 16 2 セル・オートマトン

a1,1 = 1 =)

4

セル・オートマトン (Cellular automaton, CA)

CAとは,格子状のセルと単純な規則による,離散的計算モデルである

Matlab>> A(1,1)=1;>> spy(A);

Tuesday, November 22, 16

Page 5: Lecture 8 - 北海道大学mmc01.es.hokudai.ac.jp/.../courses/computer/lec/Lec8.pdfLecture 8 コンピュータその8 1 セル・オートマトン Tuesday, November 22, 16 2 セル・オートマトン

a4,3 = 1

a20,2 = 1

a10,19 = 1a13,6 = 1

a1,1 = 1

=)

5

セル・オートマトン (Cellular automaton, CA)

CAとは,格子状のセルと単純な規則による,離散的計算モデルである

Matlab>> A(1,1)=1;>> A(4,3)=1;>> A(10,19)=1;>> A(13,6)=1;>> A(20,2)=1;>> spy(A);

Tuesday, November 22, 16

Page 6: Lecture 8 - 北海道大学mmc01.es.hokudai.ac.jp/.../courses/computer/lec/Lec8.pdfLecture 8 コンピュータその8 1 セル・オートマトン Tuesday, November 22, 16 2 セル・オートマトン

6

セル・オートマトン (Cellular automaton, CA)Matlab

>> spy(A,'k',10)色 大きさ

>> spy(A)

y: yellowm: magentac: cyanr: redg: greenb: bluew: whitek: black

Tuesday, November 22, 16

Page 7: Lecture 8 - 北海道大学mmc01.es.hokudai.ac.jp/.../courses/computer/lec/Lec8.pdfLecture 8 コンピュータその8 1 セル・オートマトン Tuesday, November 22, 16 2 セル・オートマトン

7

spy(A,'k.')spy(A,'rs',20)spy(A,'red square')spy(A,'blue triangle')spy(A,'b^')spy(A,'bv')spy(A,'b>')spy(A,'b<')

Matlab spy() options

Tuesday, November 22, 16

Page 8: Lecture 8 - 北海道大学mmc01.es.hokudai.ac.jp/.../courses/computer/lec/Lec8.pdfLecture 8 コンピュータその8 1 セル・オートマトン Tuesday, November 22, 16 2 セル・オートマトン

2 (0, 1)

0 1

< 0.25=)

8

セル・オートマトン (Cellular automaton, CA)

単純な規則?

??

?

CAを動かしてみよう!

ヒント:>> move = rand;

move

leftright up down

move

CAとは、格子状のセルと単純な規則による、離散的計算モデルである

1.

right

Tuesday, November 22, 16

Page 9: Lecture 8 - 北海道大学mmc01.es.hokudai.ac.jp/.../courses/computer/lec/Lec8.pdfLecture 8 コンピュータその8 1 セル・オートマトン Tuesday, November 22, 16 2 セル・オートマトン

9

周期境界条件(壁がない)

Tuesday, November 22, 16

Page 10: Lecture 8 - 北海道大学mmc01.es.hokudai.ac.jp/.../courses/computer/lec/Lec8.pdfLecture 8 コンピュータその8 1 セル・オートマトン Tuesday, November 22, 16 2 セル・オートマトン

10

周期境界条件(壁がない)

Tuesday, November 22, 16

Page 11: Lecture 8 - 北海道大学mmc01.es.hokudai.ac.jp/.../courses/computer/lec/Lec8.pdfLecture 8 コンピュータその8 1 セル・オートマトン Tuesday, November 22, 16 2 セル・オートマトン

11

セル・オートマトン (Cellular automaton, CA)

複数のCAを入れて計算してみよう.2.

ヒント:>> A = rand(50,50);>> A = A > 0.6;>> spy(A,’k’)

Remember:A(i,j)

列行

Tuesday, November 22, 16

Page 12: Lecture 8 - 北海道大学mmc01.es.hokudai.ac.jp/.../courses/computer/lec/Lec8.pdfLecture 8 コンピュータその8 1 セル・オートマトン Tuesday, November 22, 16 2 セル・オートマトン

12

?

3. ぶつかりそうになったらとどうする?新しい規則を入れてみよう.

こんな場合はどうでしょう?

if(a(i+1,j)==1)動かない

else動く

end

セル・オートマトン (Cellular automaton, CA)

Tuesday, November 22, 16

Page 13: Lecture 8 - 北海道大学mmc01.es.hokudai.ac.jp/.../courses/computer/lec/Lec8.pdfLecture 8 コンピュータその8 1 セル・オートマトン Tuesday, November 22, 16 2 セル・オートマトン

13

Dirichlet 境界条件(壁にぶつかる)

Tuesday, November 22, 16

Page 14: Lecture 8 - 北海道大学mmc01.es.hokudai.ac.jp/.../courses/computer/lec/Lec8.pdfLecture 8 コンピュータその8 1 セル・オートマトン Tuesday, November 22, 16 2 セル・オートマトン

14

セル・オートマトン (Cellular automaton, CA)

Dirichlet 境界条件のもとで複数のCAを入れて計算してみよう.

4.

ヒント:

Tuesday, November 22, 16

Page 15: Lecture 8 - 北海道大学mmc01.es.hokudai.ac.jp/.../courses/computer/lec/Lec8.pdfLecture 8 コンピュータその8 1 セル・オートマトン Tuesday, November 22, 16 2 セル・オートマトン

15

for文によるバイアスについて

?

for文の順番を変えるとパターンも変える.

Tuesday, November 22, 16

Page 16: Lecture 8 - 北海道大学mmc01.es.hokudai.ac.jp/.../courses/computer/lec/Lec8.pdfLecture 8 コンピュータその8 1 セル・オートマトン Tuesday, November 22, 16 2 セル・オートマトン

16

5.

for文によるバイアスについて

ヒント:>> randperm(5)

1 3 5 2 4

?

CAを平等にを動かすアルゴリズムを作ってみよう.

Tuesday, November 22, 16