Top Banner
1 Aula 08 – Modelagem e simulação por computador BC-0005 Bases Computacionais da Ciência Prof. Rodrigo Hausen (dos slides do prof. Jesús P. Mena-Chalco)
76

Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Nov 10, 2018

Download

Documents

hoangmien
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

1

Aula 08 – Modelagem e simulação por computador

BC-0005 Bases Computacionais da Ciência

Prof. Rodrigo Hausen(dos slides do prof. Jesús P. Mena-Chalco)

Page 2: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

2

Motivação

Modelagem e Simulação Computacional:● cada vez mais sendo utilizadas

Page 3: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

3

Motivação

Modelagem e Simulação Computacional:● cada vez mais sendo utilizadas

Possibilidade de estudar sistemas reais de maneira aproximada, com base em modelos matemáticos que os representem

Page 4: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

4

Motivação

Modelagem e Simulação Computacional:● cada vez mais sendo utilizadas

Possibilidade de estudar sistemas reais de maneira aproximada, com base em modelos matemáticos que os representem

Sistema:

Conjunto de elementosinterconectados queinteragem entre si.

Page 5: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

5

Motivação

Modelagem e Simulação Computacional:● cada vez mais sendo utilizadas

Possibilidade de estudar sistemas reais de maneira aproximada, com base em modelos matemáticos que os representem

Tais modelos são implementados em simulações computacionais, que são executadas visando obter um melhor entendimento do sistema real.

Page 6: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

6

Sistema

Há três formas de se estudar um sistema:

(1) Experimentos com o Sistema Real.(2) Experimentos com Modelos Físicos.(3) Experimentos com Modelos Matemáticos.

Page 7: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

7

(1) Experimentos com sistema real

Feitos quando é possível trabalhar diretamente com o sistema real:

Atuando em seus elementos e/ou Alterando sua configuração para fazê-lo operar sob estas novas condições propostas

Exemplo:

experimento real de teste de colisão realizado em um veículo da VWFonte: youtu.be/Gix7ymymhTo

Page 8: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

8

(1) Experimentos com sistema real

Algumas desvantagens:

Custo

Tempo para preparar e executar o experimento

Pode envolver riscoEx.: análise de situações de incêndio

Pode ser impossível de se tratar diretamente.Ex: análise de buracos negros

Page 9: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

9

Experimentos com modelos

Em muitas situações é necessário construir um modelo para o sistema.

Modelo: uma representação parcial de um objeto, sistema ou ideia.

Após termos um modelo, realizamos experimentos para estudar o comportamento do sistema.

O resultado dos experimentos é uma aproximação do comportamento do sistema real.

Page 10: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

10

(2) Experimentos com modelos físicos

Modelos físicos consideram:• experimentos com objetos reais• os objetos atuam como representações parciais do sistema que se deseja estudar

Exemplos: maquetes, aeromodelos, …

Fontes: https://upload.wikimedia.org/wikipedia/commons/d/d3/Maqueta_turbina_hidroel%C3%A9ctrica.jpg https://upload.wikimedia.org/wikipedia/commons/6/65/Koottava_DC3.JPG

Page 11: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

11

(3) Experimentos com modelos matemáticos

Modelo matemático: descrição de um sistema usando linguagem matemática (funções, equações, etc.) no lugar de dispositivos físicos.

Procura representar as principais características e comportamentos do sistema alvo que se deseja analisar.

Como interpretar um modelo matemático?

• soluções analíticas, por álgebra, aritmética, trigonometria, técnicas de resolução de equações e inequações, etc.     Fornecerá expressões matemáticas que descrevem   exatamente o comportamento do modelo.

• soluções numéricas, que fornecem dados numéricos que   descrevem aproximadamente o comportamento do   modelo.

Page 12: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

12

(3) Experimentos com modelos matemáticos

Ex.: um projétil é lançado de um ponto (x₀, y₀) na Terra, com velocidade inicial v₀ e com ângulo com a horizontal de θ. Desprezendo-se resistência do ar e vento, e considerando o movimento apenas em 2 dimensões, a sua posição no instante t é (x, y) onde:

x – x₀ = (v₀ cos θ) t

y – y₀ = (v₀ sen θ) t – ½ g t²

g é a aceleração da gravidade no local, aproximadamente 9,8 m/s² na maior parte da superfície terrestre.

Solução analítica: dados os valores iniciais, temos uma fórmula que nos dá a posição exata (x, y) em qualquer instante t.

Page 13: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

13

(3) Experimentos com modelos matemáticos

Ex.: modelagem e simulação computacional de um teste de colisão.

https://www.youtube.com/watch?v=ffV3jjsw52g

Solução numérica: dada a configuração inicial, a cada instante temos aproximações numéricas para as propriedades de cada partícula simulada do carro: posição, velocidade, aceleração, etc.

Essas aproximações são usadas para mostrar graficamente o estado da simulação a cada instante de tempo simulado.

Page 14: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Conjectura de Collatz

Modelos numéricos e simulação

Page 15: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

15

Conjectura de Collatz

Lothar Collatz imaginou o seguinte processo em 1937:1) Tome um inteiro positivo n2) Se n for 1, pare3) Se n for par, divida-o por 2. Caso contrário, tome 3n+1.4) Escreva esse novo número e considere-o agora como n5) Volte ao passo 2

Ex.: a sequência de Collatz para n=3 é

3, 10, 5, 16, 8, 4, 2, 1

Conjectura de Collatz: para qualquer inteiro positivo n, a sequência de Collatz sempre termina em 1.

Até hoje, ninguém sabe se a conjectura é verdadeira ou falsa. Só temos evidência experimental por simulação. Infelizmente, isto não nos dá certeza absoluta! Mas, se existir contra-exemplo, as simulações poderiam achá-lo.

Page 16: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

16

Conjectura de Collatz

No Scilab:

function seq = collatz(n) seq(1) = n i = 1 // i = contador do número de iterações while n ~= 1 if modulo(n, 2) == 0 then n = n/2 else n = 3*n+1 end i = i + 1 seq(i) = n endendfunction

Page 17: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

17

Conjectura de Collatz

No Scilab:

-->collatz(3) ans = 3. 10. 5. 16. 8. 4. 2. 1.

Page 18: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

18

Conjectura de Collatz

Quantos elementos há na sequência de Collatz para n=97?

-->collatz(97) ans = 97. 292. 146. … 2. 1.

-->size(collatz(97),1) ans = 119.

Page 19: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

19

Para casa: Atividade 11

Faça um programa em Scilab que:

● demonstre que a conjectura de Collatz vale para n até 1 milhão (10 ).⁶

● determine quantos elementos há na maior sequência de Collatz para n entre 1 e 10 e qual é o ⁶ n cuja sequência é a maior. (teste: para n entre 1 e 100, n=97 tem a maior sequência)

Dependendo do computador utilizado, seu programa deve levar algumas horas para terminar a execução.

Antes de tentar ir até 1 milhão, tente ir até 10², 10³, 10 , 10 ,⁴ ⁵5 ×   10⁵, etc. Pode ser que você não consiga ir até 1 milhão. Vá até onde conseguir (desde que não seja um valor muito baixo)

Entregue o programa e um mini-relatório no Tidia.

Page 20: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Estimando o valor de π

Modelos numéricos e simulação

Page 21: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

21

Estimando o valor de π

Sabemos que o valor de Pi = 3.1415926535...

Podemos usar a simulação de um modelo estatístico para estimar este valor.

Esta estratégia é chamada método de Monte Carlo.

O modelo usa propriedades dos números aleatórios para calcular algumas áreas de interesse.

Em uma distribuição uniforme de números aleatórios, nenhum número tem maior chance de aparecer do que outro.

Page 22: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

22

Estimando o valor de π

r

ℓ = 2r

Quadrado com circunferência inscrita

Acirc=π r2

Aquad=ℓ r2=(2 r2

)=4 r2

Acirc

Aquad

=π r2

4 r2 ⇒ π=4Acirc

Aquad

Page 23: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

23

Estimando o valor de π

O método de Monte Carlo é utilizado para estimar a relação entre as áreas da circunferência e do quadrado.

Para tornar os cálculos mais simples, assume-se que o quadrado tenha um lado de tamanho ℓ = 1.

Assim, o raio da circunferência é r = ½ , logo r² = ¼

Page 24: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

24

Estimando o valor de π

Utilizando um computador sorteamos alguns pares de números aleatórios no intervalo [0, 1].

Cada par de números representará as coordenadas x e y de um ponto que pertence à área do quadrado.

Podemos estimar as áreasdo quadrado contando quantos pontos caem sobre cada umadas figuras.

Page 25: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

25

Dado um ponto A = (x, y) com coordenadas oriundas de um sorteio aleatório...

… podemos saber se o ponto está dentro ou fora da circunfe-rência de raio r e centro (xc, yc) se vale a desigualdade:

(x – xc)² + (y – yc)² ≤ r²

Estimando o valor de π

Page 26: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

26

Dado um ponto A = (x, y) com coordenadas oriundas de um sorteio aleatório...

… podemos saber se o ponto está dentro ou fora da circunfe-rência de raio r e centro (xc, yc) se vale a desigualdade:

(x – xc)² + (y – yc)² ≤ r²

Ex.: sorteamos as coordenadas x = 0.8 e y = 0.75.

Estimando o valor de π

Page 27: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

27

Dado um ponto A = (x, y) com coordenadas oriundas de um sorteio aleatório...

… podemos saber se o ponto está dentro ou fora da circunfe-rência de raio r e centro (xc, yc) se vale a desigualdade:

(x – xc)² + (y – yc)² ≤ r²

Ex.: sorteamos as coordenadas x = 0.8 e y = 0.75. Este ponto (x, y) está dentro da circunferência com raio r = ½ e centro (xc, yc) = (0.5, 0.5) pois

(0.8 – 0.5)² = 0.09

(0.75 – 0.5)² = 0.0625

Estimando o valor de π

Page 28: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

28

Dado um ponto A = (x, y) com coordenadas oriundas de um sorteio aleatório...

… podemos saber se o ponto está dentro ou fora da circunfe-rência de raio r e centro (xc, yc) se vale a desigualdade:

(x – xc)² + (y – yc)² ≤ r²

Ex.: sorteamos as coordenadas x = 0.8 e y = 0.75. Este ponto (x, y) está dentro da circunferência com raio r = ½ e centro (xc, yc) = (0.5, 0.5) pois

(0.8 – 0.5)² = 0.09

(0.75 – 0.5)² = 0.0625

(x – xc)² + (y – yc)² = 0.01525

Estimando o valor de π

Page 29: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

29

Dado um ponto A = (x, y) com coordenadas oriundas de um sorteio aleatório...

… podemos saber se o ponto está dentro ou fora da circunfe-rência de raio r e centro (xc, yc) se vale a desigualdade:

(x – xc)² + (y – yc)² ≤ r²

Ex.: sorteamos as coordenadas x = 0.8 e y = 0.75. Este ponto (x, y) está dentro da circunferência com raio r = ½ e centro (xc, yc) = (0.5, 0.5) pois

(0.8 – 0.5)² = 0.09

(0.75 – 0.5)² = 0.0625

(x – xc)² + (y – yc)² = 0.01525 ≤ ¼ = r²

Estimando o valor de π

Page 30: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

30

Estimando o valor de π

Estratégia:● Sortear muitos pontos aleatórios, de forma a gerar

uma amostra considerável de pontos dispersos uniformemente no quadrado.

● Determinar se cada ponto encontra-se dentro ou fora da circunferência.

● Sendo os pontos dispersos uniformemente, a razão entre pontos dentro da circunferência e dentro do quadrado é próxima da razão entre as áreas.

● Ou seja:

π = 4Acirc

Aquad

≈ 4núm pontos na circunferência núm pontos no quadrado

Page 31: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

31

Estimando o valor de Pi

No Scilab:

function estimativa = estima_pi(npontos) ncirc = 0 // núm. pontos na circunferência for i = 1:npontos x = rand() y = rand() if (x-0.5)^2 + (y-0.5)^2 <= 1/4 ncirc = ncirc + 1 end end estimativa = 4*ncirc/npontosendfunction

Page 32: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Jogo da Vida(Game of life)

Jogo de simulaçãoJogo que recria processo do mundo-real

http://to-campos.planetaclix.pt/fractal/celular/Vida.html

Modelos numéricos e simulação

Page 33: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Jogo da vida

O Jogo da Vida foi desenvolvido pelo matemático John Conway, em 1970

Conway explorava a ideia do construtor universal, de forma que uma máquina hipotética pudesse construir cópias de si mesma

O Jogo da Vida é um autômato celular que se desenvolve em um espaço de duas dimensões, dividido em células quadrangulares

É governado por regras simples que definem nascimentos, mortes e sobrevivências de células

Page 34: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Cada uma das células do universo bidimensional pode estar em dois estados possíveis:

- viva (cor branca)

- morta (cor preta)

Se uma célula sobrevive, morre ou nasce será determinado pelo número de vizinhos vivos ao redor de uma célula

Jogo da vida

Page 35: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Jogo da vida

auto

-org

aniz

ação

Page 36: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Cada célula pode ter oito células vizinhas

As regras envolvem três tópicos:

Sobrevivência: Se a quantidade de vizinhos vivos é igual a dois (02) ou três (03)

Nascimento: Se a célula está morta, mas tem três (03) vizinhos vivos, então ela nasce na próxima fase

Morte: Se a quantidade de vizinhos vivos é menor que dois (solidão) ou maior que três (superpopulação)

Jogo da vida de Conway

As regras não são arbitrárias: evitam comportamento caótico, crescimento infinito ou rápida estabilidade

Page 37: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Simulação

1

2

3

4

5

1 2 3 4 5

Estado inicial

Preto: vivaBranca: morta

Page 38: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Simulação

1 2 3 4 5

Estado inicial

Sobrevivência: 2<=N<=3Nascimento: N=3Morte: N<2 ou N>3

1

2

3

4

5

Iteração 1

1 2 3 4 5

1

2

3

4

5

Preto: viva

Branca: morta

Page 39: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Simulação

1 2 3 4 5

Estado inicial

Sobrevivência: 2<=N<=3Nascimento: N=3Morte: N<2 ou N>3

1

2

3

4

5

Iteração 1

1 2 3 4 5

1

2

3

4

5

Preto: viva

Branca: morta

Page 40: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Simulação

1 2 3 4 5

Estado inicial

Sobrevivência: 2<=N<=3Nascimento: N=3Morte: N<2 ou N>3

1

2

3

4

5

Iteração 1

1 2 3 4 5

1

2

3

4

5

Preto: viva

Branca: morta

Page 41: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Simulação

1 2 3 4 5

Estado inicial

Sobrevivência: 2<=N<=3Nascimento: N=3Morte: N<2 ou N>3

1

2

3

4

5

Iteração 1

1 2 3 4 5

1

2

3

4

5

Preto: viva

Branca: morta

Page 42: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Simulação

1 2 3 4 5

Estado inicial

Sobrevivência: 2<=N<=3Nascimento: N=3Morte: N<2 ou N>3

1

2

3

4

5

Iteração 1

1 2 3 4 5

1

2

3

4

5

Preto: viva

Branca: morta

Preto: viva

Branca: morta

Page 43: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Simulação

1 2 3 4 5

Estado inicial

Sobrevivência: 2<=N<=3Nascimento: N=3Morte: N<2 ou N>3

1

2

3

4

5

Iteração 1

1 2 3 4 5

1

2

3

4

5

Preto: viva

Branca: morta

Page 44: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Simulação

1 2 3 4 5

Estado inicial

Sobrevivência: 2<=N<=3Nascimento: N=3Morte: N<2 ou N>3

1

2

3

4

5

Iteração 1

1 2 3 4 5

1

2

3

4

5

Preto: viva

Branca: morta

Page 45: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Simulação

1 2 3 4 5

Estado inicial

Sobrevivência: 2<=N<=3Nascimento: N=3Morte: N<2 ou N>3

1

2

3

4

5

Iteração 1

1 2 3 4 5

1

2

3

4

5

Preto: viva

Branca: morta

Page 46: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Simulação

1 2 3 4 5

Estado inicial

Sobrevivência: 2<=N<=3Nascimento: N=3Morte: N<2 ou N>3

1

2

3

4

5

Iteração 1

1 2 3 4 5

1

2

3

4

5

Preto: viva

Branca: morta

Page 47: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Simulação

1 2 3 4 5

Estado inicial

Sobrevivência: 2<=N<=3Nascimento: N=3Morte: N<2 ou N>3

1

2

3

4

5

Iteração 1

1 2 3 4 5

1

2

3

4

5

Preto: viva

Branca: morta

Page 48: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Simulação

1 2 3 4 5

Estado inicial

Sobrevivência: 2<=N<=3Nascimento: N=3Morte: N<2 ou N>3

1

2

3

4

5

Iteração 1

1 2 3 4 5

1

2

3

4

5

Preto: viva

Branca: morta

Page 49: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Simulação

1 2 3 4 5

Estado inicial

Sobrevivência: 2<=N<=3Nascimento: N=3Morte: N<2 ou N>3

1

2

3

4

5

Iteração 1

1 2 3 4 5

1

2

3

4

5

Preto: viva

Branca: morta

Page 50: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Simulação

1 2 3 4 5

Estado inicial

Sobrevivência: 2<=N<=3Nascimento: N=3Morte: N<2 ou N>3

1

2

3

4

5

Iteração 1

1 2 3 4 5

1

2

3

4

5

Preto: viva

Branca: morta

Page 51: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Simulação

1 2 3 4 5

Estado inicial

Sobrevivência: 2<=N<=3Nascimento: N=3Morte: N<2 ou N>3

1

2

3

4

5

Iteração 1

1 2 3 4 5

1

2

3

4

5

Preto: viva

Branca: morta

Page 52: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Simulação

1 2 3 4 5

Estado inicial

Sobrevivência: 2<=N<=3Nascimento: N=3Morte: N<2 ou N>3

1

2

3

4

5

Iteração 1

1 2 3 4 5

1

2

3

4

5

Preto: viva

Branca: morta

Page 53: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Simulação

1 2 3 4 5

Estado inicial

Sobrevivência: 2<=N<=3Nascimento: N=3Morte: N<2 ou N>3

1

2

3

4

5

Iteração 1

1 2 3 4 5

1

2

3

4

5

Preto: viva

Branca: morta

Page 54: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Simulação

1 2 3 4 5

Estado inicial

Sobrevivência: 2<=N<=3Nascimento: N=3Morte: N<2 ou N>3

1

2

3

4

5

Iteração 1

1 2 3 4 5

1

2

3

4

5

Preto: viva

Branca: morta

Page 55: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Simulação

1 2 3 4 5

Estado inicial

Sobrevivência: 2<=N<=3Nascimento: N=3Morte: N<2 ou N>3

1

2

3

4

5

Iteração 1

1 2 3 4 5

1

2

3

4

5

Preto: viva

Branca: morta

Page 56: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Simulação

1 2 3 4 5

Estado inicial

Sobrevivência: 2<=N<=3Nascimento: N=3Morte: N<2 ou N>3

1

2

3

4

5

Iteração 1

1 2 3 4 5

1

2

3

4

5

Preto: viva

Branca: morta

Page 57: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Simulação

1 2 3 4 5

Estado inicial

Sobrevivência: 2<=N<=3Nascimento: N=3Morte: N<2 ou N>3

1

2

3

4

5

Iteração 1

1 2 3 4 5

1

2

3

4

5

Preto: viva

Branca: morta

Page 58: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Simulação

1 2 3 4 5

Estado inicial

Sobrevivência: 2<=N<=3Nascimento: N=3Morte: N<2 ou N>3

1

2

3

4

5

Iteração 1

1 2 3 4 5

1

2

3

4

5

Preto: viva

Branca: morta

Page 59: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Simulação

1 2 3 4 5

Estado inicial

Sobrevivência: 2<=N<=3Nascimento: N=3Morte: N<2 ou N>3

1

2

3

4

5

Iteração 1

1 2 3 4 5

1

2

3

4

5

Preto: viva

Branca: morta

Page 60: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Simulação

1 2 3 4 5

Estado inicial

Sobrevivência: 2<=N<=3Nascimento: N=3Morte: N<2 ou N>3

1

2

3

4

5

Iteração 1

1 2 3 4 5

1

2

3

4

5

Preto: viva

Branca: morta

Page 61: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Simulação

1 2 3 4 5

Estado inicial

Sobrevivência: 2<=N<=3Nascimento: N=3Morte: N<2 ou N>3

1

2

3

4

5

Iteração 1

1 2 3 4 5

1

2

3

4

5

Preto: viva

Branca: morta

Page 62: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Simulação

1 2 3 4 5

Estado inicial

Sobrevivência: 2<=N<=3Nascimento: N=3Morte: N<2 ou N>3

1

2

3

4

5

Iteração 1

1 2 3 4 5

1

2

3

4

5

Preto: viva

Branca: morta

Page 63: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Simulação

1 2 3 4 5

Estado inicial

Sobrevivência: 2<=N<=3Nascimento: N=3Morte: N<2 ou N>3

1

2

3

4

5

Iteração 1

1 2 3 4 5

1

2

3

4

5

FIM

Preto: viva

Branca: morta

Page 64: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Exercício 01

Matriz A: Estado inicial

Sobrevivência: 2<=N<=3Nascimento: N=3Morte: N<2 ou N>3

Iteração 1?

Utilize as regras de Conway para determinar a primeira iteração da população indicada pela matriz de A

Preto: viva

Branca: morta

Page 65: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Exercício 02

Matriz A: Estado inicial

Sobrevivência: 2<=N<=3Nascimento: N=3Morte: N<2 ou N>3

Iteração 2?

Utilize as regras de Conway para determinar as duas primeiras iterações da população indicada pela matriz de A

Preto: viva

Branca: morta

Page 66: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Exercício 01- Solução

Matriz A: Estado inicial Iteração 1

Avalição por pares:-1 ponto por erro

Page 67: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Exercício 02 - Solução

Iteração 2Iteração 1Estado inicial

Avalição por pares:-1 ponto por erro

Padrão spaceship

Page 68: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Abra no Scilab o arquivo: jogo_da_vida.sce

Parâmetros da função jogo_da_vida

univ: matriz n × n que representa o universo

numero_iteracoes: quantas iterações da simulação devem ser executadas

Exemplo de simulação no Scilab--> M = matriz_aleatoria(50);--> novoM = jogo_da_vida(M, 1000);

Jogo da vida

Page 69: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Durante a execução do Jogo da Vida as células organizam-se seguindo alguns padrões, formando objetos visuais

Existem vários tipos de padrões identificados, dentre eles:

Tipo I: estáveis

Tipo II: oscilatórios

Tipo III: spaceships

Padrões de comportamento

Page 70: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Os objetos do padrão Tipo I (estáveis) são aqueles que não mudam, que são estáticos

Os objetos estáveis ocorrem quando nenhuma célula viva tende a morrer, e nenhuma célula tende a nascer

Como exemplo tem-se os seguintes objetos: block, beehive, boat, ship, loaf

Padrão estável

Objeto Block

Page 71: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Objeto Boat

Objeto Ship

Objeto Loaf

Objeto Beehive

Boats

Loafs

Padrão estável

Page 72: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Objeto Spiral Objeto Hat

Objeto Pond

Padrão estável

Page 73: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Os objetos oscilatórios são formas que mudam da etapa em etapa até atingir um ciclo constante

O tipo mais simples é o oscilador de dois períodos, ou aqueles que se repetem após duas etapas

Padrão oscilatório

Objeto Blinker Objeto Toad

Page 74: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

Padrões que se repetem depois de uma determinada sequência e retornam a seus estado original, e se transformam no espaço

Padrão spaceship

Objeto Glider

Page 75: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

75

Para casa: Atividade 11

Faça um programa em Scilab que:

● demonstre que a conjectura de Collatz vale para n até 1 milhão (10 ).⁶

● determine quantos elementos há na maior sequência de Collatz para n entre 1 e 10 e qual é o ⁶ n cuja sequência é a maior. (teste: para n entre 1 e 100, n=97 tem a maior sequência)

Dependendo do computador utilizado, seu programa deve levar algumas horas para terminar a execução.

Antes de tentar ir até 1 milhão, tente ir até 10², 10³, 10 , 10 ,⁴ ⁵5 ×   10⁵, etc. Pode ser que você não consiga ir até 1 milhão. Vá até onde conseguir (desde que não seja um valor muito baixo)

Entregue o programa e um mini-relatório no Tidia.

Page 76: Aula 08 – Modelagem e simulação por computadorcompscinet.org/hausen/courses/2016/q3/bcc/aulas/08simulacao/BCC... · (dos slides do prof. Jesús P. Mena-Chalco) 2 Motivação Modelagem

76

Para saber mais

● Capítulos 8 e 9 do livro

● No Scilab:

1) Execute demo_gui()

2) Na janela que abrir, escolha “Simulação”

3) Escolha uma das simulações

● Código das simulações neste link

● Livro: “Modeling and Simulation in Scilab/Scicos” de Stephen L. Campbell, Jean-Philippe Chancelier e Ramine Nikoukhah.