You are on page 1of 5

UNIVERSIDADE ESTADUAL DO MARANHO UEMA

CENTRO DE CINCIAS TECNOLGICAS CCT


CURSO DE ENGENHARIA DA COMPUTAO 1 PERODO
MATEMTICA DISCRETA BSICA
COMPLEXIDADE COMPUTACIONAL
SEQUNCIAS
FUNES RECURSIVAS
So Lu! " MA
#$1%
1 COMPLEXIDADE COMPUTACIONAL
O que um algoritmo?
a especificao da sequncia ordenada de passos que deve ser seguida para a
realizao de uma tarefa, garantindo a sua repetibilidade.
Quais so as a!lises "e um algoritmo?
Compreender o problema a ser resolvido.
Definir os dados de entrada, quais destes dados sero fornecidos e quais a fazem
parte do cen!rio.
Definir os processamentos necess!rios para se resolver o problema. " processamento
transforma os dados de entrada nos dados de sa#da.
Definir os dados de sa#da, ou sea, quais informa$es precisaro ser mostradas.
Construir o algoritmo, utilizando uma das formas dispon#veis %sero mostradas mais
adiante&.
'estar o algoritmo utilizando simula$es.
O que Com#le$i"a"e %om#uta%ioal?
uma vertente da matem!tica computacional que estuda a competncia de um
determinado algoritmo.
Classifica problemas computacionais conforme a sua comple(idade espec#fica e
associa essas classes entre si. Diante disso, nota)se que um problema computacional *
compreendido como um problema que *, em primeira inst+ncia, solucionado por um
computador.
"s problemas mais comumente utilizados so problemas de deciso. ,o entanto,
classes de comple(idade podem ser definidas com base em problemas de funo,
problemas de contagem, problemas de otimizao, problemas de promessa, etc.
" modelo mais comum de computao * a m!quina de 'uring determin#stica, mas
muitas classes de comple(idade so baseadas em m!quinas de 'uring no)
determin#sticas, circuitos -ooleanos, m!quinas de 'uring qu+nticas, circuitos mon.tonos,
etc.
" recurso %ou recursos& que est! sendo limitado e os limites/ 0ssas duas
propriedades so geralmente declaradas em conunto, tais como 1tempo polinomial1,
1espao logar#tmico1, 1profundidade constante1, etc.
COMPLEXIDADE EM AL&O'ITMO( COMPUTACIONAI(
Suponha que um caixeiro viajante tenha de
visitar n cidades diferentes, iniciando e
encerrando sua viagem na primeira cidade.
Suponha, tambm, que no importa a ordem
com que as cidades so visitadas e que de
cada uma delas pode-se ir diretamente a
qualquer outra. O problema do caixeiro
viajante consiste em descobrir a rota que
torna mnima a viagem total!.
"#O$%&'( )O *(+,&+#O -+(.(/0&
" problema do cai(eiro viaante * um problema de otimizao combinat.ria. Como
transform!)lo num problema de enumerao ?
Como determinar todas as rotas do cai(eiro ?Como saber qual delas * a menor ?
2"3456"/ 2o %n)7&8 9otas
um trabal:o f!cil para a m!quina ?
A quati"a"e ) * 1 +, %res%e %om uma -elo%i"a"e alarmate
n 9otas por segundo %n)7&8 C!lculo 'otal
; <;= mil:$es <> insignificante
7= 77= mil:$es ?@<AA= =,==? seg
7; B7 mil:$es AB bil:$es <= min
<= ;? mil:$es 7.< ( 7=7B B? anos
<; >< mil:$es @.< ( 7=<? >B= mil:$es de anos
O estu"o "a %om#le$i"a"e %om#uta%ioal.
Cnalisa a quantidade de recursos necess!rios para um determinado algoritmo resolver um
problema.
Classifica os problemas que podem ou no podem ser resolvidos com os recursos
devidamente restritos.
4m dos pap*is da teoria da comple(idade computacional * determinar os limites pr!ticos
do que os computadores podem e no podem fazer.
Ti#os "e %om#le$i"a"e.
Es#a%ial. 0ste tipo de comple(idade representa o espao de mem.ria usado para
e(ecutar o algoritmo.
Tem#oral. 0ste tipo de comple(idade * o mais usado, podendo dividir)se em dois grupos/
a+ 'empo %real& necess!rio D e(ecuo do algoritmo
/+ ,Emero de instru$es necess!rias D e(ecuo
E$em#lo "e %!l%ulo "e %om#le$i"a"e.
* Com#le$i"a"e "e um algoritmo "e /us%a
Clgoritmo busca% elemento/ elemento, lista/ lista&/
2e lista vazia %lista&
ento falso F F Gnstruo 7
seno
2e cabea%lista&Helemento
ento verdadeiro F F Gnstruo <
seno
-uscaHbusca%elemento, resto%lista&& F F Gnstruo recursiva
I Jamos c:amar a este algoritmo de - e D sua comple(idade " %-&
Kodemos c:amar a instruo de 7 e < f%(& e D instruo recursiva de g%(&.
C comple(idade de um algoritmo pode)se calcular/
"%-&H"%f%(&& I "%g%(&&
"%-&H"%<In&
"%-&H"%<n&
"%-&H"%n&

You might also like