Вы находитесь на странице: 1из 6

1a Lista : Revisao de Conceitos

October 21, 2016


O objetivo dessa lista e revisar alguns conceitos de calculo numerico, que
ser
ao necess
arios ao longo do curso. As implementacoes dos codigos podem ser
feitas em Matlab, C/C++, JAVA ou Python. O relatorio com o codigo deve
ser enviada a antoniomesquitafilho@gmail.com com copia para o monitor
cutterofbones@gmail.com. Abaixo algumas regras:
1. Entretanto fica proibido usar funcionalidades ja implementadas na linguagem que realizam o que foi pedido (Salvo caso seja pedido exatamente
isso), j
a que o intuito e ensinar como fazer essas funcoes.
2. Todos os arquivos devem conter o nome do Autor.
3. Ser
a realizado testes alem dos propostos na lista.
4. Todo codigo tem que vir com uma main para os testes da lista, que imprima
em terminal.
5. O c
odigo deve ser legvel (Indentado, documentado e bem organizado).

1
1.1

Normas e Erros
Tipos de Norma

Uma noc
ao importante em matematica e a norma de um objeto matematico,
por exemplo a norma de matrizes ou a norma de um operador. A definicao de
norma e uma func
ao ||: X R+ tal que tenha as propriedades abaixo:
|u| 0

(1)

|u| = 0 u = 0

(2)

|u| = |||u| onde e um escalar

(3)

|u + v| |u| + |v|

(4)

Na analise numerica a nocao da norma e de extrema importancia, por que dela


pode-se definir o erro absoluto como sendo o erro entre |uexato ucalculado | e o erro
calculado |
relativo que e definido como sendo |uexato|uu
. Entretanto existe diferentes
exato |
tipos de normas, as mais comuns sao as normas |A|1 ,|A|2 e |A| , conhecidas
como norma manhattan, euclidiana e sup respectivamente. Por fim, defini-se
que uma norma e equivalente a outra se vale:Cinf |A|a |A|b Csup |A|a
Exerccio:Demonstre a seguinte equivalencia de normas. 1n |A|1 |A|2

n|A|
1

1.2

Erros Num
ericos

Em analise numerica, os erros de uma simulacao pode ser dividido em dois tipos
segundo a forma que eles sao gerados; o primeiro sendo o erro de truncamento,
que consiste no erro gerado atraves da aproximacao numerica, como por exemplo,
o erro de somente utiliza os primeiros n termos da serie de Taylor; o segundo erro
e o erro de arredondamento, que e o erro devido a limitacao da representacao
dos dados, por exemplo, dividir o menor valor possvel por 2.
Exerccio: Investigue quais sao os menores erros de arredondamento para
todos os tipos basicos de n
umeros da linguagem escolhida, e caso nao haja o
limite o porque disso.

Otimiza
c
ao

Diversos problemas de engenharia podem ser descritos como achar uma solucao
otima para um problema, por exemplo como achar o menor caminho entre dois
pontos ou achar a solucao de menor custo. Assim ser
a revisado alguns metodos
de otimizac
ao.

2.1

Primeiro Exemplo

Uma das primeiras formas de otimizar que todo engenheiro apreende no comeco
da faculdade e a famosa regra, deriva iguala a zero.
f = 0
Exerccio: Encontre o vetor x que resolve o problema de minimizacao: minxR2 f (x) =
1 t
t
2 x Ax x b, onde A e b :

1
A=
3

2.2


 
3
1
,b=
4
0

Condic
ao de KKT

Alem de tentar otimizar somente a funcao objetivo, pode ser necessario colocar
mais condicoes, como por exemplo a solucao esteja em um determinado intervalo
de valores. Essas condic
oes chamamos de restricoes do problema.

minxRn f (x)
sujeito gi (x) 0

sujeito hi (x) = 0
Uma das formas de otimizar problemas nao-lineares e utilizar as condicoes de
Karish-Kuhn-Tucker(KKT), onde supondo que as funcoes g e f sao diferenci
aveis,
pode-se achar constantes i e i tais que:

P
P

f (x) = i hi (x) + i gi (x)


i 0

P
P
i + |i | 0
2

Exerccio: Encontre os pontos que resolvem o problema de otimizacao abaixo:


(
minxR2 x21 + x22
sujeito x41 + x42 1

2.3

Func
ao Penalidade

Um outro metodo de resolver problemas de otimizacao com restricoes e utilizar


o metodo da penalidade, que consiste em construir uma funcao penalidade e
criar uma nova func
ao objetivo que e a soma da funcao penalidade e a funcao
objetivo original. Uma forma de fazer isso e usar como funcao penalidade a
funcao restricao ao quadrado vezes uma constante numerica, que e chamado de
paramento de penalizac
ao.
Exerccio: Encontre atraves da tecnica de funcao penalidade qual o mnimo do
problema abaixo:
(
minxRn f (x) = 100(x 2)2 + 1
onde g(x) = x 3 > 0

2.4

M
etodo de Nelder-Mead

Um metodos muito utilizado em otimizacao e o Metodo de Nelder-Mead, que


constitui em resolver o problema de otimizac
ao n-dimensional utilizando um
simplex de tamanho n+1 para achar o mnimo de uma funcao fazendo quatro
operac
oes.
1. Reflex
ao Primeiro ordena os pontos do simplex em ordem crescente de
valor da funcao objetivo e calcula o centroide, c, depois se calcula o
ponto de reflex
ao atraves da formula xr = xo + (xo xn+1 ) onde e o
par
ametro de reflexao, e caso o valor da funcao objetivo nesse novo ponto
for f (xl ) f (xr ) f (xs ).

Figure 1: Reflexao. Adaptado de http://www.scholarpedia.org/article/


Nelder-Mead_algorithm
2. Expans
ao :Se f (xr ) f (xl ), calcule o ponto de expansao xe = c+(xr c)
e f (xe ) . Se f (xe ) < f (xr ) , use o ponto xe , caso contrario mantenha xr

Figure 2: Expansao. Adaptado de http://www.scholarpedia.org/article/


Nelder-Mead_algorithm

3. Contra
c
ao Se f (xr ) f (xs ), compute o ponto de contracao, usando a
formula xc = c + (y c), onde y = xr se f (xr ) f (xs ) < f (xh ) ou y =
xh se f (xh ) f (xr ).

Figure 3: Contrac
ao. Adaptado de http://www.scholarpedia.org/article/
Nelder-Mead_algorithm
4. Encolhimento Calcule os novos n vertices do simplex tais que xj =
xl + (xj xl) e calcule f(xj ) , para toda j=0,. . . ,n , tal que j6=l

Figure 4: Encolhimento. Adaptado de http://www.scholarpedia.org/


article/Nelder-Mead_algorithm
Exerccio: Utilizando alguma implementacao do metodo de nelder-mead,
ache o mnimo da funcao de Rosenbrock, que e definida como sendo f(x,y) =
(1 x)2 + 100 (y x2 ), no domnio de [-5,5]x[-5,5] e use como ponto inicial
(0,0).

2.5

Multi-Objetivo

Muitos problemas de otimizacao nao sao necessariamente a otimizacao somente


de uma funcao, mas sim de varias funcoes ao mesmo tempo, como por exemplo
otimizar os parametros de Amplificador Operacional como banda passante, slewrate e potencia consumida. Uma primeira abordagem seria achar um otimo para
cada dessas func
oes, entretanto n
ao necessariamente algum deles seria otimo
para outra funcao. Logo deve-se escolher um compromisso na solucao desejada,
que e denominada de um
otimo de Pareto.
(
minxRn f (x) = [f1 (x), f2 (x), f3 (x)]
g(x) > 0
Exerccio: Encontre os otimos de cada funcao objetivo. Observe que um otimo
de uma func
ao n
ao e
otimo para outras funcoes.

minxRn f (x) = [f1 (x), f2 (x), f3 (x)]

f (x) = x2 + (y 1)2
1
2
2

f
2 (x) = (x 1) + y + 2

f3 (x) = x2 + (y + 1)2 + 1

Pontos Fixos

Um importante conceito utilizado na matematica e o Ponto-Fixo de uma funcao,


que e o ponto x no qual a f(x) e igual x, ou seja f(x) = x. Teoremas de
ponto fixo sao utilizados em provas construtivas de solucoes de problemas, o que
possibilita a criacao de metodos computacionais para determinar essas solucoes.
Exerccio: Qual o valor do limite da seguinte sequencia:
(
xn + x5n
xn+1 =
2
x0 = 4

3.1

Ponto Fixo de Banach

O primeiro teorema de ponto fixo que sera estudado e o Ponto Fixo de Banach
que e utilizado na teoria de Equacoes Diferenciais Ordinarias para achar solucoes
dessas equac
oes, que est
ao representadas abaixo:
(
dx
dt = f (t, x(t))
x(0) = x0
A ideia para achar solucoes para essas equacoes e mostrar que a funcao fluxo,
f (t, x(t)), e uma funcao Lipschitz continua, ou seja |f (t, x(t)) f (t, y(t))|
L|x(t) y(t)|, e usar isso para construir um operador contratil. A partir do
operador contratil use-se teorema de ponto fixo de Banach para achar o ponto
fixo dessa contrac
ao. Logo abaixo, segue o enunciado do teorema.
Teorema Suponha que X seja um espaco metrico completo1 e seja T: X X
uma contrac
ao, ent
ao existe um u
nico ponto fixo.
Exerccio: Use o metodo de ponto fixo de Banach para achar a solucao da EDO
abaixo:
(
dx
dt = f (t, x(t)) = 0.7x
x(0) = 1
Para isso itere sobre o seguinte operador, usando como x0 (t) = x(0).
Z t
xn+1 (t) = x(0) +
f (t, xn (t))dt
0

3.2

Ponto Fixo de Brouwer

Outro teorema muito utilizado e o teorema de Brouwer, que e utilizado em


soluc
oes de equac
oes diferenciais parciais para provar a existencia de solucoes
atraves de uma formulacao variacional, ou seja escreve-se o problema da EDP
como um funcional de tal forma que a solucao da minimizacao desse funcional
seja a solucao. Abaixo segue a formulacao desse teorema no caso de dimens
ao 1.
TeoremaSeja f:[0,1] [0,1] continua, entao existe f(c) = c
. Comente sobre o
Exerccio: Ache o(s) ponto(s) fixo(s) de f(x) = sin(6x)+1
2
fato desses pontos n
ao serem u
nicos.
1 Ou seja,
e um espaco com uma m
etrica e que toda limite de sequencia convergente converge
para um elemento desse espaco.

Monte Carlo

4.1

N
umeros Pseudos Aleat
orios

A geracao de n
umeros pseudo-aleatorios num computador e realizada atraves
de algoritmos determinsticos, que mesmo que cria uma lista de n
umeros que
aparenta ser aleat
oria, a partir de uma semente( Um numero utilizado no comeco
do algoritmo) utilizado operac
oes determinstica. Entretanto esta sequencia se
repete depois de um certo numero de amostra. Um bom gerador de n
umeros
aleat
orios tem as seguintes caractersticas:
Uniformidade: A probabilidade de tirar um certo valor e igual ao dos outros.
Independencia: Um valor n
ao e correlacionado com outro.
Reprodutividade: Dadas as mesmas condic
oes, o algoritmo retorna o mesmo
valor.
Tamanho do Ciclo: O perodo de repetic
ao e grande.
Velocidade: O qu
ao r
apido e o algoritmo.
Consumo de Memoria: O custo de memoria para executar o algoritmo .

Exerccio: Escolha um metodo de geracao de n


umeros pseudo-aleatorios, explicando como funciona e quais sao suas caractersticas.
Dica: De uma olhada em Art of Computer Programming, Volume 2:
Seminumerical Algorithms

4.2

Integrac
ao

A primeira aplicacao de Monte Carlo foi no desenvolvimento da bomba atomica,


devido as dificuldades de resolver uma integral que representava as colisoes entre
partculas no momento da explosao. Desde esse momento, o uso de metodos de
monte carlo em simulacao se estendeu a diversas areas como setor financeiro ate
microeletronica.
Exerccio: Calcule o valor de pi
orios dentro do
4 , para isso gere pontos aleat
quadrado [0,1]x[0,1], e avalie se o ponto esta dentro ou fora do setor compreendido
entre os limites do quadrado e o circulo unit
ario, e caso esteja incremente um
contador que indica quantas vezes foi acertado o setor. Por ultimo divida o
numero de acerto pelo numero total de tentativas.
Exerccio: Demonstre por que o erro do metodo de integracao de Monte Carlo
cai da ordem 1 .
(N )

Dica pense na Vari


ancia

4.3

T
ecnicas de Reduc
ao de Vari
ancia

Mesmo que o metodo de monte-carlo seja aparentemente lento, pode ser a


u
nica opcao viavel para diversos problemas na vida real. Entretanto ha diversas
tecnicas que podem acelerar o metodo, como por exemplo o uso de transformacoes
geometricas.
Exerccio: Realize a mesma integracao do exerccio acima utilizando os pontos dos intervalos (r,) [0,1]x[0,0.8] e calculando o ponto (x,y) atraves da
1
transformac
ao T(r,) = r 2 (cos ,sin )

Вам также может понравиться