You are on page 1of 44

BC !

Bases Computacionais da Ci"ncia

Modelagem e simulao computacional Aula 8

Slides da Prof. Maria das Graas B. Marietto, adaptados

Moti#ao
A rea de Modelagem e Simulao Computacional est cada vez mais sendo utilizada nos diferentes campos do saber Isto deve-se possibilidade de: studar sistemas reais de maneira apro!imada" criando-se modelos matemticos #ue os representem $ais modelos so implementados em simula%es computacionais" #ue so e!ecutadas visando obter um mel&or entendimento do sistema real

Moti#ao

'esta forma" a Modelagem e Simulao Computacional configuram-se como uma poderosa ferramenta para: - (bservar comportamentos - testar teorias e &ip)teses - predizer comportamentos e a%es futuras - ***

$%&eti#os
+esta aula iremos: ,embrar os principais conceitos te)ricos da rea de Modelagem e Simulao Computacional $rabal&ar com simula%es simples no software Scilab$estar &ip)teses e analisar os resultados" em simula%es computacionais

'efinio de sistema
( termo sistema vem do grego snistnai e significa .fazer ficar /unto0* 1m sistema 2: 1m con/unto de elementos interconectados #ue interagem entre si um sistema e seus elementos esto inseridos em um ambiente visando alcanar um objetivo em comum procurando formar um todo organizado

Sistema( forma de se estudar


3 tr4s formas de se estudar um sistema: !perimentos com o Sistema 5eal !perimentos com Modelos 67sicos !perimentos com Modelos Matemticos

)*perimentos com o sistema real


!perimentos com o sistema real ocorrem #uando 2 poss7vel trabal&ar diretamente com o sistema real: atuando em seus elementos e8ou alterando sua configurao para faz4-lo operar sob estas novas condi%es propostas

Como e!emplo temse um e!perimento real de crash-test realizado em um ve7culo da 9eneral Motors

)*perimentos com o sistema real


ntretanto" tratar diretamente com o sistema real pode no ser poss7vel:
( e!perimento pode ser muito caro ou perigoso* :or e!emplo" analisar pessoas em uma situao de inc4ndio :ode ser imposs7vel tratar diretamente com sistemas reais* !emplo: a anlise dos buracos negros" descritos pela Astrof7sica Situa%es onde no & evid4ncias da e!ist4ncia do sistema

)*perimentos com o sistema real


( #ue fazer" ento;

m muitas situa%es 2 necessrio construir um modelo #ue represente parcialmente o sistema realizar e!perimento com este modelo 'esta forma" 2 poss7vel estudar o sistema real de maneira indireta" dei!ando-o inalterado

+ipos de modelo

10

3 duas formas de se construir o modelo de um sistema: ou se faz um modelo f7sico ou se faz um modelo matemtico

)*perimentos com modelos f,sicos


(s modelos f7sicos consideram: e!perimentos com ob/etos reais tais ob/etos atuam como representa%es parciais do sistema #ue se dese/a estudar

11

Como e!emplo de modelos f7sicos cita-se mapas e ma#uetes de avi%es

)*perimentos com modelos matem-ticos


Modelos matemticos usam s7mbolos em lugar de dispositivos f7sicos procurando representar as principais caracter7sticas e comportamentos do sistema alvo #ue se dese/a analisar 3 duas formas de soluo de modelos matemticos: Soluo anal7tica Soluo num2rica" via simulao

12

'efinio de modelo

13

1m modelo 2 uma representao parcial de um ob/eto" sistema ou ideia 1m ponto importante na construo de um modelo 2 a definio de #uais e como simplifica%es so introduzidas Considere o sistema real de uma multido em p<nico

)*perimentos com o sistema real


( #ue modelar" o #ue levar em considerao deste sistema alvo;

14

15

Atividade 1

)stimando o #alor de P.

16

Sabemos #ue o valor de :I 2 um valor da constante igual a =">?>@ABC@=@*** 3 diversos m2todos #ue nos permitem calcular o valor de :I de maneira relativamente simples 1m destes m2todos e o Mtodo de Monte Carlo" #ue se baseia nas propriedades dos nDmeros aleat)rios

)stimando o #alor de P.
( m2todo de Monte Carlo usa as propriedades dos nDmeros aleat)rios para calcular propriedades de interesse

17

1ma distribuio de nDmeros aleat)rios pode ser definida" de maneira simples" como um con/unto de nDmeros" no #ual nen&um nDmero tem maior c&ance de aparecer do #ue outro

)stimando o #alor de P.
Sabemos #ue a rea de uma circunfer4ncia de raio r 2 dada por: Sabemos #ue a rea de um #uadrado de lado l 2 dada pela e#uao a seguir: Agora" considere uma situao na #ual temos um #uadrado com uma circunfer4ncia inscrita

18

Se a circunfer4ncia tem um di<metro de 2r" sabemos #ue a rea do #uadrado ser dada por:

)stimando o #alor de P.

19

+este ponto" se calcularmos a razo entre a rea da circunfer4ncia e a rea do #uadrado" teremos a e#uao:

5earran/ando os termos e isolando :I do lado es#uerdo da e#uao teremos a e#uao a seguir" #ue usaremos para calcular o valor da constante :I

)stimando o #alor de P.

20

E poss7vel saber o valor de :I" bastando para isso calcular a razo entre a rea da circunfer4ncia e a rea do #uadrado" e multiplicar esta razo por ? Contudo" para sabermos a rea da circunfer4ncia" precisamos do valor de :I

)stimando o #alor de P.

21

A#ui usaremos o M2todo de Monte Carlo para estimar a relao entre as reas da circunfer4ncia e do #uadrado :ara tornar os clculos mais simples" vamos assumir #ue o #uadrado ten&a um lado de taman&o l F 2r F 1 ,ogo" teremos #ue o raio da circunfer4ncia ser r F

22

)stimando o #alor de P.

23

1tilizando um computador" sortearemos agora alguns pares de nDmeros aleat)rios no intervalo GH">I Cada par de nDmeros representar as coordenadas ! e J de um ponto #ue pertence rea do #uadrado

:odemos estimar as reas do #uadrado e do c7rculo" simplesmente contando quantos pontos caem sobre cada umas das figurasK

)stimando o #alor de P.

24

'adas as coordenadas L!"JM de um ponto A #ual#uer" oriundas de um sorteio aleat)rio :odemos saber se o ponto est dentro ou fora da circunfer4ncia" calculando a dist<ncia entre A e o ponto central da circunfer4ncia C" com coordenadas !FH"@ e JFH"@

)stimando o #alor de P.
'esta forma" se sortearmos as coordenadas !FH"N e JFH"O@" por e!emplo" teremos

25

Como o valor obtido 2 menor do #ue o valor do raio da circunfer4ncia" 2 poss7vel dizer #ue o ponto est dentro da circunfer4ncia e dentro do #uadrado Caso o valor da dist<ncia d obtida se/a maior #ue o raio" o ponto estar fora da circunfer4ncia" por2m dentro do #uadrado

)stimando o #alor de P.

26

Se cumprirmos as duas tarefas: iM sortear muitos nDmeros aleat)rios" de forma a gerar uma amostragem suficiente de pontos dispersos randomicamente no #uadrado iiM decidir se cada ponto se encontra dentro ou fora da circunfer4ncia :odemos contar o nDmero + de pontos sorteados e o nDmero de pontos #ue esto dentro da circunfer4ncia Com estas duas informa%es finalmente calculamos :I atrav2s da e#uao

P. usando li%re$ffice Calc

27

P. usando Scila%

28

Clculo do valor de :I numericamente atrav2s do m2todo de Monte Carlo

P. usando Scila%
+o Sci+ote abra o script PI.sce 5epositorio P aula-HN P :I*sce m seguida" e!ecute os comandos do script selecionando Executar -> Arquivo com Eco (u pressionando Ctrl+L

29

P. usando Scila%
Qual foi o valor de :I calculado; Compare o seu resultado com os dos colegas ( #ue acontece se voc4 repetir a simulao @ vezes;

30

!perimente agora aumentar a amostragem de dados" aumentando o valor de + para" por e!emplo" >*HHH*HHH*HHH* Qual foi o valor de :I calculado com a amostragem maior; Rustifi#ue sua resposta

P. usando /a#a
double i, x , , r ! ", #oi$ts ! 1E%2& 'or(i ! "& i)#oi$ts& i++* + x !ra$dom(*& !ra$dom(*& i' (sqrt(x,x+ , *)1* r++& - #ri$t'(.Pi ! /.10'1, 2,r3#oi$ts*&
4a5da6

%.1210787819

32

Jogo da Vida (Game of life)

Rogo de simulao Rogo #ue recria processo do mundo-real

/ogo da #ida
( Rogo da Sida foi desenvolvido pelo matemtico Ro&n ConTaJ" em >AOH ConTaJ e!plorava a id2ia do construtor universal" de forma #ue uma m#uina &ipot2tica pudesse construir c)pias de si mesma ( Rogo da Sida 2 um autUmato celular #ue se desenvolve em um espao de duas dimens%es" dividido em c2lulas #uadrangulares E governado por regras simples #ue definem nascimentos" mortes e sobreviv4ncias de c2lulas

33

/ogo da #ida
Cada uma das c2lulas do universo bidimensional pode estar em dois estados poss7veis: - viva Lcor brancaM - morta Lcor pretaM Se uma c2lula sobrevive" morre ou nasce ser determinado pelo nDmero de vizin&os vivos ao redor de uma c2lula

34

/ogo da #ida
A seguir tem-se dois passos consecutivos do Rogo da Sida" e!ecutado no softTare ScilabA cor preta indica #ue a c2lula est morta" e a cor branca indica #ue a c2lula est viva

35

auto-organizao

/ogo da #ida( regras


Cada c2lula pode ter oito c2lulas vizin&as As regras definidas para o Rogo Sida envolvem tr4s t)picos:

36

obreviv!ncia: Se a #uantidade de vizin&os vivos 2 igual a dois LHBM ou tr4s LH=M" a c2lula sobrevive "ascimento: Se a c2lula atual est morta" mas tem tr4s LH=M vizin&os vivos" ento ela se torna viva Morte: Se a #uantidade de vizin&os vivos 2 menor #ue dois LsolidoM ou maior #ue tr4s LsuperpopulaoM" a c2lula morre

Padr0es de comportamento
'urante a e!ecuo do Rogo da Sida as c2lulas organizam-se seguindo alguns padr%es" formando ob/etos visuais

37

!istem vrios tipos de padr%es detectados" dentre eles: $ipo I: estveis 8 still-alive $ipo II: oscilat)rios $ipo III: spaces&ips

&ttp:88to-campos*planetacli!*pt8fractal8celular8Sida*&tml

Padro est-#el

38

(s ob/etos do padro $ipo I LestveisM so a#ueles #ue no mudam" #ue so estticos (s ob/etos estveis ocorrem #uando nen&uma c2lula viva tende a morrer" e nen&uma c2lula tende a nascer Como e!emplo tem-se os seguintes ob/etos: blocV" bee&ive" boat" s&ip" loaf

(b/eto WlocV

Padro est-#el

39

(b/eto Wee&ive

(b/eto S&ip

(b/eto Woat

(b/eto ,oaf Woats ,oafs

Padro est-#el

40

(b/eto Spiral

(b/eto 3at

(b/eto :ond

Padro oscilat1rio

41

(s ob/etos oscilat)rios so formas #ue mudam da etapa em etapa at2 atingir um ciclo constante ( tipo mais simples 2 o oscilador de dois per7odos" ou a#ueles #ue se repetem ap)s duas etapas

(b/eto WlinVer

(b/eto $oad

Padro spaces2ip
:adr%es #ue se repetem depois de uma determinada se#u4ncia e retornam a seus estado original" e se transformam no espao

42

(b/eto 9lider

Ati#idade
Crie uma matriz binria , Lapenas zeros e unsM de dimenso +!+ Implemente as regras usando B laos #ue devem varrer cada pi!el:
'or i!16: 'or <!16: / L2!$ovo L e$d e$d

43

A matriz pode ser criada usado o comando L!rou$d(ra$d(:,:** :ara ver a matriz" use o comando ;at#lot(L,%"*onde =H corresponde a cor do >

:ara cadaelemento ,Li"/M analisado" deve ser considerada a soma dos N vizin&os pro!imos: A W C ' 6 ,Li"/M 9 3

Isto #uer dizer" soma! A+=+C+>+E+?+@+A (nde: A!L(cima,esquerda*& =!L(cima,<*& >!L(i,esquerda*&... A!L(baixo,direita*" etc* Considere referencial c7clico" ou se/a: cima!i-1 ou, caso i!!1, cima!: (Bltima li$Ca* baixo!i+1 ou, caso i!!:, baixo!1 esquerda!<-1 ou, caso <!!1, esquerda!: (Blt. col.* direita!<+1 ou, caso <!!:, direita!1

You might also like