técnicas de prova
DESCRIPTION
Técnicas de prova - Teoria da computaçãoTRANSCRIPT
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Tcnicas de ProvaCMP601 - Algoritmos e Teoria da Computao
1
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Conjuntos
Colees de elementos: sem ordem
sem repetio
descritos por extenso ou compreenso
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Operaes sobre Conjuntos
pertinncia: x C continncia: C1 C2 unio: C1 C2 interseco: C1 C2 diferena: C1 - C2 produto cartesiano: C1 C2 potncia: C2 ou P(C)
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Relaes e Funes
Uma relao uma associao entre elementos de um conjunto A e de um conjunto B, ou seja, um subconjunto de A B.
Uma relao chamada de funo se cada elemento de A est associado a no mximo um elemento de B.
1
2
3
A B
F
1
2
3
A B
R
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Funes Uma funo pode ser total/parcial
injetora
sobrejetora
bijetora
1
2
3
1
2
3
123
1
2
3
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Operaes sobre Funes funo inversa (somente para injetoras): f-1
composio: f1 f2
1
2
3
1
2
3
f f -1
1
2
3
f2
abc
f1 f2
f1
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Conjuntos Infinitos(Funes Infinitas)
Conjuntos definidos por enumerao so finitos. Conjuntos definidos atravs de produto cartesiano
ou unio sero infinitos se um dos componentes for infinito.
Mas como definir um conjunto infinito sem usar outro conjunto infinito como base?
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Problema: Como definir conjuntos infinitos?
Queremos definir um conjunto infinito
... de maneira finita;
... sem usar outro conjunto infinito na definio;
...de forma a tornar fcil trabalhar com/verificar propriedades dos elementos deste conjunto.
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Exemplo: Conj. dos Naturais
N1 = {1, 2, 3, ...}
no uma definio precisa
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Exemplo: Conj. dos Pares
no uma definio precisase o conj. dos naturais no
for definido
Par = {x|x = 2n e n N1}
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Como definir estes conjuntos?
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Induo e Recurso
INDUO RECURSO
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Induo e Recurso
INDUO RECURSO
tcnica de prova tcnica de definio
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Recurso
Definir algo em termos de si prprio. Porm, no uma definio desorganizada. Uma definio recursiva tem 3 partes:
(1)Base
(2)Passo
(3)Clusula de excluso
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Conj. Naturais O conjunto dos nmeros naturais pode ser definido
pela 3 regras a seguir:
R1. 1 2 N1
R2. Se n 2 N1, o sucessor de n pertence a N1
R3. Somente elementos obtidos a partir dasregras R1 e R2 pertencem a N1
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Conj. Naturais O conjunto dos nmeros naturais pode ser definido
pela 3 regras a seguir:
R1. 1 2 N1
R2. Se n 2 N1, o sucessor de n pertence a N1
R3. Somente elementos obtidos a partir dasregras R1 e R2 pertencem a N1
BASE
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Conj. Naturais O conjunto dos nmeros naturais pode ser definido
pela 3 regras a seguir:
R1. 1 2 N1
R2. Se n 2 N1, o sucessor de n pertence a N1
R3. Somente elementos obtidos a partir dasregras R1 e R2 pertencem a N1
PASSO
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Conj. Naturais O conjunto dos nmeros naturais pode ser definido
pela 3 regras a seguir:
R1. 1 2 N1
R2. Se n 2 N1, o sucessor de n pertence a N1
R3. Somente elementos obtidos a partir dasregras R1 e R2 pertencem a N1
EXCLUSO
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Conj. Naturais
1 BASE (regra R1)
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Conj. Naturais
1
PASSO (regra R2)22 o sucessor de 1
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Conj. Naturais
1
PASSO (regra R2)
23 o sucessor de 2
3
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Conj. Naturais
1
PASSO (regra R2)
2
3
4
n
Usando a regra 2, conseguimos colocar
qualquer natural n no conjunto!
Portanto, este um conjunto infinito!!!
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Conj. Naturais
1
EXCLUSO(regra R3)
2
3
4
Usando a regra 3, exclumos do conjunto elementos que no so
nmeros naturais.
... 2.1
A
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Definio Recursiva Permite descrever conjuntos infinitos Constri conjuntos estruturados: existe sempre pelo menos um elemento
mnimo (base)
existe uma relao de ordem (parcial) entre os elementos do conjunto (dada pelo passo - ou passos)
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Definio Recursiva
O fato do conjunto construdo ser estruturado tem muitas vantagens:
permite sabermos se algum elemento est ou no no conjunto, sem termos que varrer todo o conjunto;
nos d uma maneira de construir programas que considerem todos os elementos do conjunto, ou, visto de outra forma,
nos d uma maneira de provar propriedades dos elementos do conjunto.
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Definio Recursiva
O fato do conjunto construdo ser estruturado tem muitas vantagens:
permite sabermos se algum elemento est ou no no conjunto, sem termos que varrer todo o conjunto;
nos d uma maneira de construir programas que considerem todos os elementos do conjunto, ou, visto de outra forma,
nos d uma maneira de provar propriedades dos elementos do conjunto.
programas recursivos
provas por induo
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Definio Recursiva
O fato do conjunto construdo ser estruturado tem muitas vantagens:
permite sabermos se algum elemento est ou no no conjunto, sem termos que varrer todo o conjunto;
nos d uma maneira de construir programas que considerem todos os elementos do conjunto, ou, visto de outra forma,
nos d uma maneira de provar propriedades dos elementos do conjunto.
programas recursivos
provas por induo
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Outro exemplo: Conj. Par O conjunto dos nmeros pares pode ser definido
pela 3 regras a seguir:
R1. 2 2 Par
R2. Se n1 2 Par e n2 2 Par, entao n1 + n2 2 Par
R3. Somente elementos obtidos a partir dasregras R1 e R2 pertencem a Par
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Conj. Par
2 BASE (regra R1)
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Conj. Par
2
PASSO (regra R2)44=2+2
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Conj. Par
2
PASSO (regra R2)
44=2+2
88=4+4
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Conj. Par
2
PASSO (regra R2)44=2+2
88=4+4
66=4+2
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Conj. Par
2
44=2+2
88=4+4
66=4+2
...
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Def. Recursiva
Uma definio recursiva pode ter vrias bases e vrios passos...
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Conj. AB O conjunto dos AB definido pela 5 regras a seguir:
R1. a 2 AB
R2. b 2 AB
R3. Se X 2 AB e Y 2 AB, entao XYX 2 AB
R4. Se X 2 AB e Y 2 AB, entao XXYXX 2 AB
R5. Somente elementos obtidos a partir dasregras R1 a R4 pertencem a AB
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Conj. AB O conjunto dos AB definido pela 5 regras a seguir:
R1. a 2 AB
R2. b 2 AB
R3. Se X 2 AB e Y 2 AB, entao XYX 2 AB
R4. Se X 2 AB e Y 2 AB, entao XXYXX 2 AB
R5. Somente elementos obtidos a partir dasregras R1 a R4 pertencem a AB
BASES
PASSOS
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Tcnicas Bsicas de Prova
Provas Condicionais: Para provar que uma propriedade do tipo Se P ento Q verdade pode-se
(i) Assumir que P verdade.(ii) Deduzir Q a partir de (i).
Provas por Contradio: Para provar que P verdade pode-se
(i) Assumir que P verdade (ou seja, P falsa).(ii) Deduzir falso a partir de (i) (ou seja, chegar a uma
contradio)
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Provar ou Refutar...(A) Se C1 C2 e a propriedade P vale para C1,
ento P vale para C2.
(B) Se C1 C2 e a propriedade P vale para C2, ento P vale para C1.
(C) Todo nmero par divisvel por 4.
(D) No existe um nmero mpar que seja divisvel por 4.
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Provas Usando a Estrutura do Conjunto
Como provar propriedades dos elementos de um conjunto infinito construdo usando recurso?
Por exemplo, como provar a propriedade:Todos os elementos do conjunto AB
tem um nmero mpar de letras.
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Induo Uma prova por induo pode ser realizada sobre um
conjunto construdo por recurso.
Para provar que a propriedade P vale para qualquer elemento de um conjunto C prova-se:
(1)que todas as bases de C possuem a propriedade P;
(2)que todos os passos utilizados para construir novos elementos de C a partir de elementos j existentes preservam a propriedade P, ou seja, dados elementos de C que possuem a propriedade P, utilizando-se as operaes definidas nos passos somente se constri elementos que possuem a propriedade P.
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Induo
Por que provar esses 2 tens suficiente,
se o conjunto infinito?
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Induo
Por que provar esses 2 tens suficiente,
se o conjunto infinito?
Porque qualquer elemento de C ou uma base ou foi obtido a partir das bases por
sucessivas aplicaes das operaes definidas nos passos.
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Provando Propriedades...
Todos os elementos do conjunto AB tem um nmero mpar de letras.
BASES: (regras R1 e R2)
(i) a tem um nmero mpar de letras?
(ii) b tem um nmero mpar de letras?
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Provando Propriedades...
Todos os elementos do conjunto AB tem um nmero mpar de letras.
BASES: (regras R1 e R2)
(i) a tem um nmero mpar de letras?
(ii) b tem um nmero mpar de letras?Verdadeiro!
Verdadeiro!
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Provando Propriedades...PASSOS: (regras R3 e R4)
(i) assumindo que X e Y tem um nmero mpar de letras, XYX tem um nmero mpar de letras?
hiptese de induo
(ii) assumindo que X e Y tem um nmero mpar de letras, XXYXX tem um nmero mpar de letras?
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Provando Propriedades...PASSOS: (regras R3 e R4)
(i) assumindo que X e Y tem um nmero mpar de letras, XYX tem um nmero mpar de letras?
Verdadeiro!
Verdadeiro!
hiptese de induo
(ii) assumindo que X e Y tem um nmero mpar de letras, XXYXX tem um nmero mpar de letras?
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Induo Natural (Matemtica)
Induo sobre o conjunto dos nmeros naturais.R1. 1 2 N1
R2. Se n 2 N1, o sucessor de n pertence a N1
R3. Somente elementos obtidos a partir dasregras R1 e R2 pertencem a N1
Obs: + Pode-se usar o conjunto dos naturais iniciando no zero ( ). + um caso especial de induo estrutural.
-
CMP601 - Algoritmos e Teoria da Computao (INF-UFRGS)
Exerccios1. Prove que
2. Dadas as funes f,g: abaixo, prove que f = g.
3. Considere o conjunto L (de listas de nmeros) definido porR1. empty L.R2. Se n e l L, ento nl L.R3. Nada mais pertence a L.
Prove que a soma dos elementos de uma lista de L maior ou igual ao seu tamanho.
4. Considerando a incluso da regra a seguir na definio de L, prove que o nmero de *s (asteriscos) em listas no vazias de L sempre par.
R2,5. Se l L, ento **l L.
nX
i=1
i =n(n+ 1)
2
f(n) =
5 se n = 0f(n 1) + 3 caso contrario g(n) = 5 + 3n