Escolar Documentos
Profissional Documentos
Cultura Documentos
8
No ano de 1900 o matemático David Hilbert Elaborou 23 problemas dos quais
vislumbrava que seriam importantes para o século seguinte. Dentre esses problemas
encontrava-se o problema com o seguinte enunciado: Descreve em um número finito de
passos se uma dada equação diofantina tem raíz(es) inteira(s). A partir dessa
problemática dois pesquisadores, paralelamente trabalharam sobre tal problema. Um
deles, Alonzo Church, valendo-se do seu conceito de procedimento efetivo baseado em
sua teoria lambda cálculo apresentou o conceito de algoritmo(número de passos
finitos capaz de desempenhar uma tarefa). Valendo-se do artigo publicado em 1936
por Church, Alan Turing, já com sua pesquisa e noção intuitiva denominada Máquina
de Turing pronta, realizou uma comparação que mostrava equivalência entre o
conceito de procedimento efetivo apresentado por Church e sua elaboração.
Demonstrando que toda classe de funções computáveis por um algoritmo também eram
computável por uma máquina de turing. Esta relação de equivalência ficou conhecida
como Tese de Church Turing.
Lista 2
7)
Demonstrar que P C NP é, de maneira genérica, uma tarefa simples dado que problemas
determinísticos consistem em casos particulares de não determinismo, para tanto,
pode-se pensar em um algoritmo de tempo polinomial que solucione uma instância de
problema da classe P, como um algoritmo não-determinístico com fase inicial vazia,
isto é, fase não determinística nula.
Caso fosse provado que NP C P, considerando a veracidade da inversão de tal
proposição, seria provado que P = NP, dado que possuírem os mesmos elementos.
Considerando, tal fato como verdadeiro, seria possível através de métodos de
redutibilidade encontrar algoritmos determinísticos para resolverem problemas
cotidianos ditos NP em tempo polinomial, tais como dobramento de proteínas entre
outros.
Caso seja encontrado um algoritmo determinístico de tempo polinomial para um
problema NP, seria possível provar que NP = P portanto possuem os mesmo elementos e
consequentemente demais problemas da classe NP, também possuem, por redução,
algoritmos determinísticos de tempo polinomial que são capazes de resolver os
demais problemas tidos anteriormente em NO
Lista 3
Quais das conjecturas abaixo são verdadeiras? Justifique sua resposta demonstrando
de modo
matemático a veracidade ou falsidade da igualdade proposta.
a) 10n = (n)
Essa afirmação é verdadeira. Quando é tratado o conceito de complexidade
computacional uma notação comum é Big OH que representa o limite superior de uma
função, ou seja, teto de uma função. Comumente para realizar a representação
assintótica de uma função, toma-se um valor representativo da função, denominado
termo dominante da função que é envolvido na notação. No caso da função 10n pode-se
observar que o termo dominante é n sendo 10 uma constante.
b) 10n² = O(n)
c) 10n⁵⁵ = O(n)
A afirmação a seguir pode ser tida como uma afirmação verdadeira, pensando que a
notação Big Oh considera o formato com que a curva e não constantes portanto,
observando a função log3 n é possível observar que o valor 3 é uma constante que
pode ser suprimida pensando na função log(n)/log(3), sendo assim o termo dominante
da função é log n, visto que a função log 3 n varia de maneira semelhante a log n .
Portanto pode-se considerar que O(log3 n), é dominada por log3n, para um n⁰ > n,
com constante c.
e) log3 n = (log2 n)
A afirmação a seguir pode ser tida como uma afirmação verdadeira, pensando que a
notação Big Oh considera o formato com que a curva e não constantes portanto,
observando a função log2 n é possível observar que o valor 2 é uma constante que
pode ser suprimida pensando na função log(n)/log(2), sendo assim o termo dominante
da função é log n, visto que a função log 2 n varia de maneira semelhante a log n .
Portanto pode-se considerar que O(log2 n), é dominada por log2n, para um n⁰ > n,
com constante c.
7)
Lista 4
O pior caso do Insertion Sort ocorre quando os elementos do vetor estão em ordem
decrescente, pois a condição A[j] > elemento sempre será verdadeira. Logo, o laço
interno realizará a quantidade máxima de iterações. Nesse caso, o Insertion Sort
terá complexidade no tempo de O(n²).O melhor caso ocorre quando o vetor está
ordenado, pois, ao contrário do pior caso, a condição A[j] > elemento sempre será
falsa. Logo, o código do laço interno nunca será executado. Assim, teremos apenas
as n - 1 iterações do laço externo, portanto a complexidade no tempo é O(n).O caso
médio do Insertion Sort é O(n²). Lembrando que o caso médio é uma média entre todas
as entradas possíveis. Isso significa que, em geral, ele terá tempo quadrático,
estatisticamente falando.