A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Aulas 9,10 Fábio Nakano. Definições, teoremas e algoritmos Definição é uma especificação precisa de um objeto. Um teorema é uma afirmação que pode.

Apresentações semelhantes


Apresentação em tema: "Aulas 9,10 Fábio Nakano. Definições, teoremas e algoritmos Definição é uma especificação precisa de um objeto. Um teorema é uma afirmação que pode."— Transcrição da apresentação:

1 Aulas 9,10 Fábio Nakano

2

3

4

5 Definições, teoremas e algoritmos Definição é uma especificação precisa de um objeto. Um teorema é uma afirmação que pode ser provada. Podemos usar o resultado, ou, Numa demonstração de um teorema, pode-se construir um objeto ou uma solução genérica com a finalidade de demonstrar o teorema. Então a demonstração é um algoritmo para a construção do objeto ou da solução.

6 Exemplos Definição: n!=n*(n-1)! E 0!=1 Construa um método (iterativo) que calcula n!

7 Por que preciso saber demonstrar? Demonstrar é a maneira de ter certeza que algo é verdadeiro ou falso; Quando argumentamos com alguém, o que procuramos é uma demonstração de que o que defendemos é verdadeiro. Não há argumento contra uma demonstração formal. Uma demonstração apresenta um algoritmo para solução do problema.

8 Técnicas de Demonstração Prova Direta Contradição Indução

9 Demonstrações Típicas Prove por contradição que 2 não pertence a Q. Prove que n<2 n para n N.

10 2 não pertence a Q Suponha por absurdo que 2=m/n, com m e n pertencendo a Z e m/n irredutível. Elevando ao quadrado temos 2=m 2 /n 2. Então m 2 =2*n 2. Logo m 2 é par, consequentemente, m é par. Se m é par podemos escrever m como 2*k Como m 2 =2*n 2, então, (2*k) 2 =2*n 2. Então 2 2 *k 2 =2*n 2 Logo, 2*k 2 =n 2 portanto n também é par Se m e n são pares, m/n é redutível, o que é uma contradição. Portanto 2 não pertence a Q.

11 n<2 n para n N, Prova direta Chamemos f(n)=n e g(n)=2 n. Note que as duas funções são crescentes. Considere n=0: f(n)=0 e g(n)=1, logo g(0)>f(0). A cada incremento de uma unidade sobre n (n é Natural, esse incremento faz n passar por todos os elementos do conjunto N), f(n) cresce de 1 e g(n) dobra. Logo g(n) cresce mais rápido que f(n). Como inicialmente g(0) é maior que f(0) (note que na sequencia de incrementos, zero é o menor valor), então para todo n N, g(n)>f(n).

12 Indução matemática A técnica da indução apresenta uma maneira de resolver problemas através da resolução de problemas menores!! Mecânica – Mostre que funciona para um n 0 pequeno – Suponha por hipótese que vale para um n – Demonstre que se vale para n, vale para n+1 – Por que funciona?? Base Hipótese Passo

13 Prove por indução que n^2>2n+1 para n>2

14 Como um teorema melhora nossa vida... Construa um método que calcula a soma dos n primeiros inteiros (pela definição) Teorema 1: A soma dos n primeiros inteiros, s(n), vale n(n+1)/2 Construa um método que calcula a soma dos n primeiros inteiros usando o Teorema 1 Compare as complexidades.

15 Exemplo suplementar n<2 n para n N, Prova por indução Base: para algum valor pequeno, mostrar que é verdade: Para n=0, a sentença é 0<1, que é verdadeira. Hipótese: para algum k, k<2 k Passo: k+10, ela vai continuar sendo verdade! Portanto n<2 n para n N.

16 Pondo tudo em ordem Base: 2 0 >0 Por hipótese, 2 k >k Some 1 a ambos os lados: 2 k +1>k+1 É claro que 2 k +2 k é maior que 2 k +1, então podemos substituir 1 por 2 k pois não alteramos as desigualdades. Note que 2 k +2 k =2 k+1 Logo, 2 k+1 >k+1.

17 Recursão É um conceito em computação. É relacionado ao conceito de indução pois É uma forma indutiva de definir programas. Nesta, um método chama a si mesmo com os parâmetros adequados.

18 Exemplo Definição: n!=n*(n-1)! E 0!=1 Construa um método recursivo que calcula n!

19 Como se implementa recursão em um computador? TAD - Pilha Prog - Pilha de execução Prog – Chamada de função Prog - Recursão

20 Como o método recursivo calcula 4!

21 Projeto coletivo Quantos grupos já concluiram o projeto? Tempo de execução (ns) Número de comparações comprimento do vetor 869627927639198600028000 1862746075384047950041000 288861740819999000020000 1313421789690310375042500 335501998223111425021500 10488944827199400012000 61077594995001000

22 São aprox. 11 grupos 1 roda problemas de tamanho até 2000 em intervalos de 10 2 rodam problemas de 2000 a 20000 em intervalos de 100 3 rodam problemas de 20000 até 40000 em intervalos de 200 5 rodam problemas de 40000 até 60000 em intervalos de 500 Roda por algumas horas (6?), pode (deve) paralelizar

23 Lista para 15.09 Prove por indução que 2^n>n^2 defina n0, o valor mínimo para que sua demonstração seja válida. Dê uma prova direta e uma por indução de que Apresente os códigos (ou pseudo-códigos) dos métodos que calculam s(n) pela definição (iterativo e recursivo) e usando o resultado do teorema. Qual a complexidade de tempo de cada método? Apresente a simulação da pilha de execução para n=3.

24 Diga se é verdadeiro e justifique usando a definição da notação O- grande


Carregar ppt "Aulas 9,10 Fábio Nakano. Definições, teoremas e algoritmos Definição é uma especificação precisa de um objeto. Um teorema é uma afirmação que pode."

Apresentações semelhantes


Anúncios Google