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

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

23 Lista para 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