Aulas 9,10 Fábio Nakano.

Slides:



Advertisements
Apresentações semelhantes
Árvores CC/EC/Mestrado Teoria dos Grafos ‏ 1.
Advertisements

Python: Recursão Claudio Esperança.
Exemplos de Indução Matemática
Teoria da Computação EQUIVALÊNCIA DE PROGRAMAS E MÁQUINA Fabrício Dias
Elementos de Lógica Matemática
Tópicos de Lógica Proposicional
Elsa Carvalho 163 Universidade da Madeira Departamento de Matemática Programação em Lógica e Funcional (2000/01) (Actualizado em 2004/05) Teoria dos Modelos.
Nice Maria Americano da Costa
Análise Projeto de Algoritmos
BCC101 – Matemática Discreta
BCC101 – Matemática Discreta
BCC 101 – Matemática Discreta I
Números complexos: aula
Dividir-e-Conquistar
Recorrências.
Indução Métodos de prova já vistos Excepções
TEORIA DOS NÚMEROS Embora existam diversos tipos de números na Matemática (reais, complexos, etc.), o nome "Teoria dos Números" é tradicionalmente reservado.
Prof. Roberto Cristóvão
Métodos de Demonstração
Aula 11 Fábio Nakano.
Aula 12 Fábio Nakano. Aquecimento... Demonstre por indução que: S n = (2n-1)=n 2.
Prof. Roberto Cristóvão
ICC2 Aula 7 Fábio Nakano.
BCC101 – Matemática Discreta
Princípio de Prova por Indução
BCC101 – Matemática Discreta
BCC101 – Matemática Discreta
Cálculo Numérico / Métodos Numéricos
Cálculo Numérico / Métodos Numéricos
Cálculo Numérico / Métodos Numéricos
Cálculo Numérico / Métodos Numéricos
19 May :30 Cálculo Numérico / Métodos Numéricos Determinação numérica de autovalores e autovetores Método das Potências.
Aula 07 – Limite e Continuidade
Recordando o princípio da Indução...
Modelos Matemáticos Usados como tipos em especificações baseadas em modelos Apresentados como teorias ou sistemas formais Uma teoria é definida em termos.
Lógica Proposicional Dedução Natural.
Lógicas e Inferência para IA
Indução Matemática Recursão
Teoria da Computação Aula 5 Prof. Fabiano Sabha.
BCC 101 – Matemática Discreta I
BCC101 – Matemática Discreta
Algoritmos e Estruturas de Dados I – Recursão
UNIVERSIDADE SEVERINO SOMBRA
BCC101 – Matemática Discreta
ALGORITMOS Intensivo Janeiro e Fevereiro de 2011
Universidade do Vale do Rio dos Sinos - São Leopoldo -
Técnicas de Desenvolvimento de Algoritmos
CONHEÇA HIDROLÂNDIA - UIBAÍ
BCC 101 – Matemática Discreta I
BCC101 – Matemática Discreta
Redução.
Decidibilidade, Corretude, Completude, Consistência
Programação Dinâmica.
INE Fundamentos de Matemática Discreta para a Computação
Matemática Discreta I BCC101
Aula de Monitoria – Miniprova
Problema MST Método Genérico Guloso usando Estratégia do Corte
Decidibilidade, Corretude, Completude, Consistência, Monotonicidade
Sistema Formal Um Sistema Formal para a lógica proposicional é uma 2-tupla < L, R >, onde: L: linguagem proposicional R: conjunto de regras de inferências.
1 Provas e Proposições Anjolina Grisi de Oliveira Fonte:
1 Indução Definições Indutivas Prova por indução Referência: Language, Proof and Logic Jon Barwise e John Etchemendy, 1999 Capítulo: 16.
Algoritmos em Grafos Celso C. Ribeiro Caroline T. Rocha.
Frases de Horn Forma Normal Conjuntiva- para frases sem quantificadores conjunção de frases cada elemento da conjunção é disjunção de literais literal:
Elaine Teixeira de Oliveira
Lógica Proposicional Dedução Natural.
TEORIA DOS NÚMEROS Aula 2 – Princípio da Indução Finita
FUNDAMENTOS DE ANÁLISE I
Prof. Mário Alves Aula de Revisão da AV1 FUNDAMENTOS DE ANÁLISE I.
Disciplina: Estrutura de dados e Algoritmos Docentes: MSc. Manuel Zunguze.
Transcrição da apresentação:

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 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.

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

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.

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

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

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=m2/n2. Então m2=2*n2. Logo m2 é par, consequentemente, m é par. Se m é par podemos escrever m como 2*k Como m2=2*n2 , então, (2*k)2=2*n2. Então 22*k2=2*n2 Logo, 2*k2=n2 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.

n<2n para n  N, Prova direta Chamemos f(n)=n e g(n)=2n . 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).

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 n0 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

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

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.

Exemplo suplementar n<2n 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<2k Passo: k+1<?2k+1 Prova: k+1<? 2k+2k Pela HI, 2k+1? 2k+2k Note que como substituí um valor por outro MAIOR que ele, então posso relaxar a desigualdade . Esta nova desigualdade “tem menos folga”. Se eu conseguir provar esta nova desigualdade, “vô tá bem na fita!” Cancelando: 1 ? 2k . Note que 2k é crescente e para k=0, a desigualdade é verdade, então para os k>0, ela vai continuar sendo verdade! Portanto n<2n para n  N.

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

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.

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

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

Como o método recursivo calcula 4!

Projeto coletivo Quantos grupos já concluiram o projeto? Tempo de execução (ns) Número de comparações comprimento do vetor 8696279276 391986000 28000 18627460753 840479500 41000 2888617408 199990000 20000 13134217896 903103750 42500 3355019982 231114250 21500 1048894482 71994000 12000 6107759 499500 1000

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

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.

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