teoria de problemas - departamento de informática e ...j.barreto/tc/problemas.pdf · teoria de...

57
Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

Upload: dothuy

Post on 11-Nov-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

Teoria de Problemas

Jorge Muniz Barreto

UFSC-INE

Curso:Teoria da Computação

Page 2: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Que é um problema?

• Enunciado:

George Polya:

• Quais são os dados(D)?

• Quais são as respostaspossíveis (R)?

• Qual a condição (C)?

• Caracterização

Que é um problema?

Page 3: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Definição de Problema

• Um problema é o objeto matemáticoP=<D,R,c>, consistindo de dois conjuntosnão vazios, D os dados e R os resultadospossíveis e de uma relação binária c, acondição, que caracteriza uma soluçãosatisfatória, associando a cada elemento doconjunto de dados a Solução única desejada

Page 4: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Exemplo: diagnóstico médicoUm problema de diagnóstico médico P envolve:• O conjunto de dados disponível d ε D, onde d são

os dados (observação da anamnese, sintomas,resultados de laboratório, etc) que pertencem aoconjunto D de dados possíveis.

• R é o conjunto de doenças possíveis.

• A condição que caracteriza uma soluçãosatisfatória consiste em encontrar o par <d,r> onde

• r ∈ R é o diagnóstico desejado.

Page 5: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Exemplo: raiz de polinômio

• solução do problema da busca das raízes deum polinômio com coeficientes reaisconsiste em associar a cada conjunto decoeficientes de um polinômio particularp(x) de grau n, n números complexos cn demodo a satisfazer a condição de que o valorde p(x) fazendo x = c para todo n seja nulo.

Page 6: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Como Definir uma Função?(1/5)

• Enumeração exaustiva

Neste caso fornece-se todos os conjuntos de pares,dado, resultado. Evidentemente, este modo dedefinir uma função, só se aplica no caso que oconjunto de dados é finito.

• Exemplo: seja uma agenda de telefones. Ela podeser considerada como a função que associa a cadanome de pessoa seu telefone.

Page 7: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Como Definir uma Função?(2/5)

Declarativamente:

Definir declarativamente um problema é darpropriedades que devem ser satisfeitas pela soluçãodo problema.

Exemplo 1: Dado um número real associa doisnúmeros cuja soma de seus quadrados \'e igual aonúmero real dado. A solução pode ser visualizadacomo um círculo, centrado na origem de um planocom coordenadas ortonormais (eixos ortogonais ede mesma escala), de raio igual ao número dado.

Page 8: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Como Definir uma Função?(3/5)

• Declarativamente-Exemplo 2: Seja a função característica do conjunto das

equações diofantinas de quarta órdem que temsolução. Ora a partir de 3 sabe-se não haverteorema permitindo saber se o problema tem ounão solução. Logo, o que resta é tentar todos aspossibilidades... e como existem infinitos númerosinteiros não se pode ter certeza, se calculando oproblema tem solução ou ainda não foi achada ounão tem solução!

Page 9: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Como Definir uma Função?(4/5)

• Por um algoritmo: Um programa de computador define a

correspondência entre dados e resultados sempreque ele para conseguindo chegar a uma solução.Portanto um programa pode ser considerado comoum modo de definir um problema.

• Exemplo: Formulário de Imposto de Renda emum País com leis mais complicadas que o nosso...

Page 10: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Como Definir uma Função?(5/5)

• Por exemplos:

Pode-se reconhecer que, neste caso, a solução nãoé única: todas as funções que sejam iguais dentroda região em que o problema é definido sãoválidas. Trata-se de fazer uma aproximação.

• Costuma-se empregar redes neurais comaprendizado supervisionado. Usam-se osexemplos para treinar a rede e obtem-se valoresestimados da solução para os outros valoresusando a propriedade de generalização das redes

Page 11: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Computabilidade

• Intuitivamente uma função é ditacomputável se é possível calcular seu valor,dado qualquer elemento do seu domínio.

• Será toda função, bem definida,computável?

NEM SEMPRE!!!

Page 12: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Computabilidade• Enumeração

Sempre computável, bastaler o segundo elemento dopar.

• Exemplos: Obtem-se aproximação da

solução. Caso excelentepara tratamento por redesneurais.

• Por programa:Impossível saber se o programa para: não computável.

Page 13: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

ComputabilidadePrograma constante

Read x;While x ≠ 10 do

x := x + 1;

Print x;

End;

**************

Ora para x>10 oprograma não para!

Vai ficarcalculando

A vida toda?Não para?

Page 14: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Computabilidade parcial

• Uma função é parcialmente computável se épossível calcular seu valor para apenasalguns elementos do seu domínio dedefinicão.

• O exemplo anterior era parcialmentecomputável.

Page 15: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Decidibilidade

• Decidibilidade é o caso particular decomputabilidade quando a função só admitedois valores.

• Quando se fala se um problema é solúveltem-se um problema de decidibilidade.

• Um problema é parcialmente dicidível seele é decidível para um subconjunto própriodo seu conjunto de argumentos admissíveis.

Page 16: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Problema da Parada (1/5)

• Trata-se em outras palavras decidir se umprograma é um algoritmo, ou seja, umprograma que acaba.

• Se o número de dados é finito, o problemaconsiste em verificar para todos os dados.

• Caso contrário, é impossível provar que elepara para qualquer dado do conjunto dedados possíveis.

Page 17: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Problema da Parada (2/5)

• Admita-se que exista um programa“Testador” que recebe como dados umprograma a testar se para “P” e o seuconjunto de dados “D”.

• A saida de “Testador” que sempre para sera“Sim” ou “Não” conforme “P” para ou nãopara todos os dados de “D”.

Page 18: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Problema da Parada (3/5)

• Nada impede de considerar “P” como dado de “P”e assim tem-se o caso de Testador testando se“P(P)” para. Este é o âmago da demosntração pordiagonalizacão.

ProgramaTestador

P(D) para?

Não

Sim

P

D

e para

e para

ProgramaTestadorP(P) para? Sim

PNão

e para

e para

Page 19: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Problema da Parada (4/5)

e chama P(P)

P(P) para?

Sim

P

Nãoe para

Programa Gaiato

e chamaGaiato(Gaiato)

Sim

Nãoe paraPrograma GaiatoGaiato

Gaiato(Gaiato) para?

Page 20: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Problema da parada (5/5)

• Conclusão:

• Se Gaiato(Gaiato) para, chama Gaiato(Gaiato), logonão para e se a resposta é que não para , então para.Conclui-se portanto que esta impossibilidade foiencontrada por uma das premissas ser falsa. Como aúnica premissa feita foi a da existência do programa``Testador'', pode-se afirmar não existir talprograma.

Page 21: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Equações Diofantinas (1/2)• As equações diofantinas tem este nome em

homenagem a Diofantus, matemático grego queestudou sistemas de equações algébricas onde oscoeficientes são números naturais e se buscamSoluções no conjunto dos naturais.

• No caso de uma equação a uma incógnita, do tipo:

ay = bx

• a condição para existência de solução é• que a ≠ 0 e “b” divisível por “a”. Neste caso existe

uma infinidade de soluções dadas por:

y = b x onde x = 0,1,2,3…

a

Page 22: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Equacões Diofantinas (2/2)

• Para o caso de equações linearessimultâneas não existe teorema assegurandoa existência de solução a partir de 3incógnitas.

E assim aparece o nosso exemplo!

Page 23: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Máquina de Turing• Hipótese de Church-

Turing:

• Toda função computávelpode ser calculada pelaMáquina de Turing. As nãocomputáveis não podem.

• A Máquina de Turing temuma unidade de controle,uma fita que serve de entradae saída e uma memóriailimitada.

k k

Máquina de Turing

(Memória tão grandequanto for necessário)

Page 24: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Máquina de Turing

• Ações:• ir para um novo estado

(modificar a memóriada máquina);

• escrever algo na fita;

• mover a cabeça deleitura para esquerdaou para direita.

• Em função de:• estado em que se

encontra a máquina;

• símbolo de entrada;

Page 25: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Teste de Turing• Foi o idealizador do Teste de

Turing de Inteligência.

• Um interrogador faz perguntasa um computador e a um serhumano sem saber quem équem.

Ganha o interrogador se em um tempo razoável puderdizer com argumentos convincentes quem é quem.Computador e seu par ganham, sendo declaradosinteligentes se o interrogador não conseguir.

Page 26: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Alan Mathison Turing (1912-1954)• Durante a segunda guerra foi

convocado pelo governo inglêstendo trabalhado de 1939/45 noMinisterio de Relações Exterioresem trabalho confidencial que atéhoje mantém esse status.

• Em homenagem a seus trabalhosem computação, deu seu nome aomais prestigioso prêmio dadoanualmente pela ACM.

Suicidou-se em 1954, vítima da intolerância

Page 27: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Máquina de Turing

• O grande interesse daMáquina de Turing éoferecer um meioexperimental deverificar acomputabilidade deum problema. Bastaverificar se esta elapode resolve-lo.

Equivalentes:• Cálculo λ• Linguagens While

• Neurocomputadores

N

W

λλ

Page 28: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Maquina de Turing e Sequencial

• Tanto a Maquina de Turing quanto aMáquina Sequencial tem estado, entrada,saida, etc…

• Qual a difereça entre as duas que faz aMáquina de Turing mais potente?

• A Máquina de Turing é capaz de escreverna sua entrada modificando-a.

Page 29: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Complexidade

• Computabilidade diz respeito a se umproblema, modelado como função pode ounão ser resolvido.

• Complexidade diz respeito à quantidade derecursos necessários para resolver umproblema.

Page 30: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Complexidade

• Normalmente quando se fala decomplexidade se pensa em computadoresdigitais, ou CBI como sera visto maisadiante.

• Os recursos mais pensados são:

•Memória

•Tempo.

Page 31: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Complexidade

• A complexidade de um problema, comrelação a um conjunto bem definido derecursos, é definida como aquela queconsidera o modo mais parcimonioso de usode recursos conhecido para a solução doproblema.

Page 32: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Complexidade (Importância)

• Se fosse perfeitamente conhecido comodeterminar a complexidade de um problemano caso das quatro abordagens CA(Computação algoritmica), IAS, IAC, IAE eIAH, seria possível, dado um problema, antesde tentar resolvê-lo, determinar estascomplexidades e escolher aquela que fosse amenor, usando-a na resolução do problema.

Page 33: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Complexidade

• Um algoritmo é dito de complexidade linearquando a quantidade de recursos para sua execuçãoaumenta proporcionalmente à quantidade de dadosenvolvida no enunciado do problema.

• polinomial quando a quantidade de recursos parasua execução aumenta mais devagar do que algumpolinômio função da quantidade de dados envolvidano enunciado do problema.

Page 34: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Complexidade

• Um algoritmo polinomial é dito de grau N, seexiste um polinômio de grau N que cresça com osdados mais rapidamente que cresce a quantidadede recursos necessária à execução do algoritmo enão existe polinômio de grau N-1 com talcaracterística.

Mostrar que a multiplicaçnao de matrizes,usando a definicão, é dada por:

≈ 2n3

Page 35: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Complexidade

• Um problema é dito NP-Completo se nãose conhece algoritmo de órdem polinomialcapaz de resolvê-lo.

• Problemas ditos NP-Completos sãoabordados com solucões aproximadas emIA, usando heurísticas.

Page 36: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

NP-Completos

• Problemas NP-Completos são geralmentesinônimo de problemas cuja solucao exata écomputável mas se o número de variáveisaumentar se torna de solução impossível.

• Nunca se provou que não existe algoritmopolinomial que resolva os problemas NP-completos.

Page 37: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

NP-Completos (Exemplo)

• Caixeiro viajante:• Um caixeiro viajante deve visitar n cidades. Ele

conhece o preço do deslocamento entre cada par decidades. Para economizar, deseja-se conhecer opercurso que lhe permita visitar todas as cidades,voltar a origem e de menor custo.

• Apesar da aparência de pouca utilidade este é oproblema a ser resolvido por um caminhão tanquede distribuição de petróleo.

Page 38: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Computabilidade Conexionista

• Chama-se neurocomputador um computador emque o funcionamento interno é feito por redesneurais munido de dispositivos de entrada e saída.Até o presente momento tudo foi feito comcomputadores digitais em mente, os quais temessencialmente no uso de instruções sua diferençados neurocomputadores. Por esta razão, e paraevitar confusão, eles serão chamados deComputadores Baseados em Instruções ou CBI(IBC em inglês).

Page 39: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Computabilidade Conexionista• Com o advento dos neurocomputadores

veio a pergunta:

“Será que algum problema que não podia ser resolvido pela Máquina de Turing, ou por um CBI, pode ser resolvido por um

neurocomputador?”

Page 40: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Computabilidade Conexionista

Em um CBI tem-se:1 - o computador virtual

(circuitos e programas),

2 - o ato de fazer ocomputador apto aresolver um problemaespecífico (carregar oprograma na máquina),

3 - resolver o problema(executar o programa).

Em Neurocomputador:1 - a rede de neurônios com

entradas e saídas (simulado oumaterialmente implementado),

2 - um meio de fixar os pesos dasconexões, muitas vezes usandoum algorítmo de aprendizagem(equivalente a carregar oprograma),

3 - usar a rede educada e resolver oproblema com os dados a seremusados na entrada da rede(identico à rodar o programa).

Page 41: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Computabilidade Conexionista

A computabilidade de um problema depende dospontos 1 e 2. Com efeito, a possibilidade de resolverum problema depende do apoio material que sedispõe e se existe um programa (caso de um CBI) ouse existe um conjunto de pesos de conexões (caso deum neurocomputador) capaz de resolver o problema.Por outro lado a complexidade do problema dependedo ponto 3, ou seja rodar o programa ou excitar arede com os dados a serem usados.

Page 42: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Computabilidade Conexionista

• Teorema: Todo problema que pode ser resolvidopor um CBI poderá ser resolvido, por uma RNAmunida de convenientes dispositivos de entrada esaida.

• Prova:

• A prova se baseia em que pode-se construir umCBI com redes neurais. Basta lembrar que comredes neurais é possível construir circuitos lógicos.

Page 43: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Computabilidade Conexionista

“Bias” = 0,6 “Bias” = 0,4

1u

yyyu

2u

1u

2u

0,5

-10,5

0,5

0,5

NÃO E OU

Ψ Ψ

Ψ

Ψ

Circuitos da lógica combinacional

Page 44: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Complexidade Conexionista

• Circuitofundamental dalógica sequencial:

⇒A

B

C

Neurônio dinâmico 1

Neurônio dinâmico 2

Page 45: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Computabilidade Conexionista

• Todo problema que pode ser resolvido por umaRNA pode ser aproximado, com a precisãodesejada por um CBI.

• Justificativa:simular uma RNA em um CBIenvolve apenas produto escalar e cálculo de umafunção. Pode-se portanto fazer programa parasimular qualqueer rede em um CBI.

Como no CBI existe quantização das variáveis emjogo, a simulação é uma aproximação.

Page 46: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Complexidade Conexionista• Embora pouco seja conhecido sobre complexidade quando

se usa um neurocomputador, sabe-se que em termos decomplexidade as coisas são diferentes em termos de CBI eneurocomputadores.

• Para ver que as coisas são diferentes basta considerar umexemplo simples. Seja o caso de um circuito implementandouma RNA direta síncrona com três camadas. Suponha-seainda que ela foi treinada para associar padrões (por exemploum sistema especialista de diagnóstico associando sintomasaos correspondentes diagnósticos). Como não há retroações,o tempo para a rede dar uma resposta é sempre o mesmo:três ciclos de relógio! E isso para qualquer número desintomas e doenças.

Page 47: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Complexidade Conexionista

• Existem muito poucos estudos sobrecomplexidade de problemas voltada para a soluçãopor neurocomputadores. Note-se que não se tratade falar da complexidade de problemas ligados aoaprendizado das RNA, tais como a complexidadede um algoritmo de aprendizado de redes, que temsido tratado por vários autores e é reconhecidocomo problema importante.

Page 48: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Complexidade Conexionista

• A complexidade a que o presente estudo se refereé a quantidade de recursos em termos de RNAnecessãrios para poder resolver um determinadoproblema, eventualmente considerando-se umacerta precisão. Estes recursos incluem o tipo derede a ser escolhido, a topologia da rede, etc.

Page 49: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Complexidade?Computabilidade?

• Como não consegueresolver poderia indicar serum problema decomputabilidade…

• Falso! Pensando assim,guardar 200 telefones seriaproblema decomputabilidade, seconsiderasse meu celular...

• Algumas vêzes estesdois conceitos semisturam… Seja oTeorema: “Uma rededireta com duascamadas de entrada esaida não consegueresolver problemaslinearmente nãoseparáveis.”

Page 50: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Livro Perceptrons, Minsky, Papert

• O livro citado é uma obra remarcável nateoria da complexidade conexionista, pordar guias de estruturas e problemas quepodem ser resolvidos por cada uma.

• Em particular o problema da separabilidadelinear é notório.

Page 51: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Complexidade de RNA

• Teorema 1:

Toda RNA constituídaapenas de neurôniosestáticos, incluindociclos (ou seja, comretroação), éequivalente a umaoutra rede estática semciclos.

• Teorema 2:

Toda rede direta, comtopologia por camadas,com neurônios lineares éequivalente a uma redelinear contendo apenasduas camadas de neurôniosseparadas por uma camadade conexões.

Page 52: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Paradigma de Programação

• Programar um neurocomputador pode serconsiderado como um novo paradigma deprogramação, em que não é necessário nemdefinir o algoritmo nem definir o problemaprecisamente. Basta introduzir no computadorrelações entre conceitos ou usar exemplos deproblemas parecidos já resolvidos para seremusados na fase de aprendizado. A RNA, usandosua capacidade de generalização se torna capaz deresolver o problema desejado.

Page 53: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Tipos de Problemas

• Problemas Algorítmicos Numéricos;

• Problemas Algorítmicos Não-Numéricos;

• Problemas Não Algoritmicos;

• Heurísticas.

Page 54: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Características de Problemas

• São conhecidos os passos para achar a solução?

• O problema é decomponível?

• Passos para as soluções podem ser desfeitos?

• O universo é predizível?

• Uma boa solução é relativa ou absoluta?

• O conhecimento disponível é consistente?

• Qual a importância do conhecimento?

Page 55: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

São conhecidos os passos para achara solução?• o problema é suficientemente bem definido que se

pode dizer como vai ser a solução.

• Por exemplo, no problema do jogo do 8, sabe-seexatamente o que é possivel fazer e como fazer.Entretanto seja identificar se uma assinatura emum cheque é ou não falsa. Ora, neste caso quemfaz o exame usa técnicas difíceis de seremexpressas por regras fixas.

Page 56: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

O problema é decomponível?

Page 57: Teoria de Problemas - Departamento de Informática e ...j.barreto/TC/Problemas.pdf · Teoria de Problemas Jorge Muniz Barreto UFSC-INE Curso:Teoria da Computação

J.M.Barreto UFSC-INE

Agora temos uma brilhante solução!Só falta descobrir qual o problema!