TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e...

55
Jan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler TECMF Complexidade Computacional e Jogos

Transcript of TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e...

Page 1: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

Complexidade Computacional e

Jogos

Page 2: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

Agenda da Apresentação

-Preliminares de Teoria da Computação e Complexidade Computacional

- Teoria dos Jogos desde o Teorema de Zermelo

- Aspectos Computacionais de Jogos

Page 3: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

- O que é a (Teoria da) Computação ?

- O que é Lógica ?

(Tentativa de) conceituação do Computável

(Tentativa de) conceituação do Razoável

Page 4: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

Computável

Toda tarefa que pode ser realizada por um ser burro com um mínimode conhecimento/capacidade.

burro = Incapaz de Aprender

conhecimento = ?

Antes de 1900 d.c ====> Máquina de Raciocinar (Leibniz 1667)Máquina de Calcular de Pascal (Pascal sec.XVII)Máquina de Babbage (Ch. Babbage sec. XIX)

.

.

Page 5: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

Razoável

Todo evento que é passível de uma explicação, na forma argumentativa,construída sobre fatos iniciais inquestionáveis.

Antes de 1879 ====>

Lógica Aristotélica e Escolástica (a partir de 300 a.c.)

Álgebras Booleanas (Boole 1847)

Álgebra Relacional (DeMorgan, Schroeder, C.S.Peirce XIX)

Page 6: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

Panorama da Matemática no Século XIX

- Problemas da Física Matemática (Sec. XVIII-XIX):- Equação da Onda

- Equação do Calor - Equação de Poisson- Técnicas de Fourier

- Séries Infinitas são usadas na solução de Eq. Dif. Parciais- Problemas de Fundamentação:

- Séries divergentes x Séries Convergentes

- Conceito de infinito não era preciso

- O próprio conceito de número real não era preciso.

- Definição de convergência não existia

- Conceito de função não era preciso

Necessidade de teoria mais abrangente e abstrata

Page 7: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

Panorama da Matemática no Século XIX (cont.)

Dedekind (1831-1916) Estabelece o princípio de indução e define conceito de número real

Cauchy (1789-1857) Bolzano(1781-1848)

Weierstrass (1815-1897)

Riemman(1826-1866)

Aritmetização da Análise, definição dos conceitos de limite, funções e funções contínuas, convergência de sequências e séries infinitas

Definição do conceito de integral e Teorema Fundamental do Cálculo. Geometrias Não-Euclidianas

Estabelece critérios para a diferenciação e integração, termo a termo, de séries infinitas

Hilbert (em 1898-1899) Estabelece a fundamentação da geometria

Peano (em 1889) Define os axiomas da aritmética

Page 8: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

Teoria Ingênua dos Conjuntos

Cantor (de 1867 a 1871) define a teoria de conjuntos e prova a existência de conjuntos infinitos com cardinalidades diferentes. Conceitos de números cardinais e ordinais transfinitos.

Bolzano concebe a noção (abstrata) de conjuntos (finitos e infinitos)

Resistência aos principais resultados em função do “receio do infinito”

Alguns paradoxos:

- Burali-Forti (1897) “Não há o ordinal de todos os ordinais”

- Russell (1902) “Não há o conjunto de todos os conjuntos”

R = { x / x x} ==> R R se e somente se R R

Page 9: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

Evolução da Lógica como assunto matemático

Frege (1879) estabele a lógica como um sistema formal que tem sua linguagem particular e distinta da natural. O conceito de prova matemática passa a ser formal.

Frege (1884) busca a fundamentação da aritmética em bases puramente lógicas , com a adição do conceito de pertinência () como primitivo.

===> Os paradoxos aparecem novamente !!

DeMorgan (1830) Observa que a álgebra não necessita lidar tão somente com conceitos numéricos.

Boole (1854) Descreve uma álgebra a partir de operações entre conjuntos e relações lógicas, confirmando DeMorgan.

===> Paradoxos associados ao axioma da escolha

Page 10: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

As 3 Abordagens para a Fundamentação da Matemática

Logicismo (Frege) - Toda a Matemática é consequência de princípios puramente lógicos.

Formalismo (Hilbert) - A Matemática é fundamentada por sistemas formais cujo único requisito é a consistência

Intuicionismo (Brouwer) - A Matemática é uma atividade humana funda- mentada em processos construtivos, sendo assim todo objeto matemático tem sua existência expressa por construção.

Page 11: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

O Programa de Hilbert

=> Obtenção de uma prova da consistência da matemática, observando-se que:

- As teorias mais complexas são extensões das mais simples.

- Tais extensões são, na sua maior parte, obtidas por operações básicas (classes de equivalência, completamento por simetria, porcompactação, completamento algébrico, etc)

Th(N) Th(Z) Th(Q) Th(R) Th(C)

=> Prova da consistência da Aritmética ( Th(N)) com o uso de técnicas finitárias.

=> Provar que não existe prova de 0 = 1 usando ............

Page 12: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

A Computação do ponto de vista das funções prim. recursivas

1931 - Gödel define as funções prim. recursivas associando-as a provas em aritmética

1927/1928 - Ackermann define uma função que necessita de recursão simultânea

1934 - Rózsa Péter - Prova que as funções prim. recursivas formam a classe definida por recursão simples e “nested” a partir de funções iniciais constantes, identidade e a função sucessor. Prova que a função de Ackermann é na realidade definida por recursão em duas variáveis e não é portanto primitivamente recursiva, mas é computável.

1936 - A. Turing - Define uma máquina formal a partir de princípios simples (ler , apagar e escrever símbolos em uma fita) e define o conceito de Máquina Universal. Prova que não existe máquina capaz de verificar se outra máquina pára ou não. Desde o início a sua máquina com versão Não-Determinística

1936 - A. Church Define o -Calculus e mostra que este é capaz de definir todas as funções para as quais existe uma Máquina de Turing.

1936 - Kleene Define, aceitando que o computável inclui a parcialidade funcional, as funções parcialmente recursivas e lança a Tese de Church.

1947 - Markov Estabele o conceito de computável com base em identificação de palavras e símbolos (algoritmos de Markov) e justifica o ponto de vista finitista da computação.

Page 13: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

Sxyz (xz)yz Kxy x Ix x (I SKK)

Tese de Church: f: N N é computável se e somente se existe um combinador FC1 C2... Ck tal que para todo nN (F:n: :m:) f(n) = m)

:0: I :1: P0K :2: P1K ..... :n: P:n-1:K ....

P

f é recursiva

existe uma máquina de Turing M , tal que M com 11.......111na fita de entrada M pára com 11.....11111 na saída sss f(n) = m

m

n

existe um algoritmo de Markov A , t.q. A lendo 11.......111pára e produz o string 11.....11111 na saída sss f(n) = m

m

n

Page 14: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

A Tese de Church é um enunciado científico, portanto não possui demonstração matemática.

Evidência Forte para a Tese de Church

Teorema de Rogers (1958): Sejam duas FAA’s (i)iN e (i)iN então existe f recursiva e bijetiva tal que i = f(i)

Obs: Uma FAA é um conjunto de funções parciais (i)iN, tal que: 1- As funções parc. recursivas estão todas em (i)iN

2- Existe u N com u parc. recursiva tal que para todo i e x u(i,x) = i(x) 3- Existe c recursiva tal que c(i,j) = i j

Page 15: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

Medindo a eficiência de algoritmos

- Escolha do modelo computacional

- Recursos: Tempo , Memória

- Relacionando os algoritmos e os problemas que estes resolvem

- Computação de Funções- Problemas de otimização- Problemas de decisão,- Linguagens

-Classes de complexidade: Classificando problemas pela complexidade do algoritmo mais eficiente que o resolve.

Page 16: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

Satisfação na Lógica Proposicional

“Dada uma fórmula da lógica proposicional, isto é, formada com os conectivos , , e , deseja-se saber se existe uma valoração que a satisfaça”

Problema SAT

Solução: Gerar todas as valorações e testar uma a uma até encontrar. Se não encontrar ao final do teste de todas as valorações informar que a fórmula não é satisfatível.

Page 17: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

k 2k Cálculo total

5 32 insignificante

10 1024 0.001 seg

16 65536 0.06 seg

20 1048 x 103 1 seg

32 4.29 x 109 1 hora 12 min

Supondo que o computador calcule 1 milhão de valorações por segundo.

Dada uma fórmula com k variáveis existem 2k valorações

Page 18: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

Por outro lado ………

-Verificar se uma valoração satisfaz uma fórmula é muito rápido (muito menos que 1x10-7 seg) para fórmulas com até 100 variáveis em um pentium IV 1 GHz.

-Dada uma valoração, avaliar o valor da fórmula leva no máximo k operações, onde k é o tamanho da fórmula.

Page 19: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

“Suponha que um caixeiro viajante tenha que visitar k cidades diferentes, iniciando e encerrando esta viagem na primeira cidade. Não importa a ordem com que as cidades são visitadas. Sabe-se que de cada cidade pode-se ir diretamente a qualquer outra. O problema do caixeiro viajante consiste em descobrir a rota que torna mínima a viagem total (em kms)”.

O problema do Caixeiro Viajante

Obs: Tal rota é dita ser um ciclo hamiltoniano no grafo.

Page 20: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

Bsb

967

1060

458BH

789

400Rio S.P.

1070

Page 21: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

O problema do caixeiro viajante é um problema de otimização combinatória.

(a) Podemos transforma-lo num problema de enumeração ?(b) Podemos determinar todas as rotas do caixeiro ?(c) Podemos saber qual delas é a menor ?

SOLUÇÃO: São (k-1)! Rotas É um trabalho fácil para a máquina ?

Page 22: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

( k - 1 )! cresce muito rápido

k (k - 1)! Cálculo total

5 24 insignificante

10 362 880 0.3 seg

15 87 bilhões 24 hs e 6 min

20 1.2 x 1017 3 milhões de anos

25 6.2 x 1023 0.19 x 1017 anos

 

Supondo que o computador calcule 1 milhão de rotas por segundo.

Page 23: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

Por outro lado .....................

-Saber se em existe um ciclo hamiltoniano é mais fácil que encontrar o ciclo mínimo ???

-Para qualquer fórmula proposicional existe um grafo G que possui caminho hamiltoniano, se e somente se, é SAT. o tamanho de G é polinomial no tamanho de .

1 11

1

1

11

Ciclo min = vert – 1 ???

Page 24: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

SAT e as Máquinas de Turing não-determinísticas

w

P(|w|)

Si,jt

= Símbolo j na posição i no tempo t

Eet

= Máquina está no Estado e no tempo t

Cit

= Cabeça está no na posição i no tempo t

Fórmulas para descrever: -A cabeça em qualquer tempo t está em uma e somente uma posição-Cada pósição da fita tem, em qualquer t, um e somente Um símbolo escrito.- A máquina, em qualquer tempo t, está em um e somente um estado

Fórmulas para descrever o a conf. Inicial da fita:

Se SAT puder ser resolvido em tempo polinomial por uma M.T. deter então qualquer problema em NP também

pode ser resolvido em tempo polinomial

Fórmulas para descrever o comportamento da máquina:

Ee Ci Si,j (Eg Ci+1 Si,k) (Eh Ci-1 Si,n ) t t t t+1 t+1 t+1 t+1 t+1 t+1

S0,3 S1,7 S2,1 ...... S|w|,8 0 0 0 0

Page 25: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

(1) Descobrindo como resolver o problema do caixeiro viajante em tempo polinomial, seremos capazes de resolver, também em tempo polinomial, outros problemas importantes (úteis).

(2) Se alguém provar que é impossível resolver o problema do caixeiro em tempo polinomial no número de cidades, também se terá que outros de problemas importantes não tem solução prática.

(3) Costuma-se resumir essas propriedades do problema do caixeiro dizendo que ele pertence à categoria dos problemas NP - completos.

Page 26: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

Problemas de Decisão

x P ?x

sim

não

Prog.|x| *

1

0

Problemas de Decisão Linguagens Formais

Page 27: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

Problemas, Soluções e Linguagens

P = < Ent, Saída, Relação>

PComp = <Ent, Saída, R >

f:Ent Saídaf Relação

Sol =

f:Ent Saída

f computávelf R

SolComp =

*** *

LP = { went<sep>wsai / (went, wsai) R Ent Saída } **

Page 28: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

Complexidade de uma Linguagem

L DTime(f) sss m TuringDet t.q. (m reconhece L) e c, x * steps(m,x) cf(|x|)

L DSpace(f) sss m TuringDet t.q. (m reconhece L) e c, x * space(m,x) cf(|x|)

Page 29: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

Uso de Recursos por Máquinas de Turing Determ.

L *

ML reconhece Lsss

w L então ML(w) = “aceita”w L então ML(w) = “rejeita”

f : *1

*2

Mf computa fsss

f(w1)=w2 então ML(w1) = w2

steps(M,w) = números de passos executados pela máquina M sobre o dado w até parar.

space(M,w) = números de células (distintas) visitadas pela máquina M sobre o dado w até a parada.

Page 30: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

Por que considerar classes assintóticas de funções ??

Teorema: (speedup linear) Se uma linguagem L é decidida em tempo f(n) então para qualquer > 0 existe uma M. Turing M que decide L em tempo .f(n) + n + 2.

Prova : Modificar o tamanho da “palavra” de memória

Consequências do seedup:

Se L é decidida em tempo f(n) = 165.nk + .... + 54.n + 657 então L é decidida em tempo f’(n) = nk

Obs: O mesmo teorema ( e técnica de prova) vale para função de medida e uso de espaço (número máximo de células visitadas)

Page 31: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

Complexidade Computacional I

- Não existência de limite na complexidade de Linguagens

DTime(f) Dtime(f log(f))

DSpace(f) DSpace(f log(f))

- Hierarquia de Linguagens segundo sua Complexidade

DTime(n) Dtime(n2) ... Dtime(nk) .... Dtime(2n) ......

Dspace(log(n)) Dspace(n) ... ... DSpace(nk) .... Dtime(2n) ......

Page 32: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

Teorema de Cantor

==> Seja B um conjunto, então |B| < |2B|

S = { x / x f(x) }

Prova: Suponha que |B| = |2B| então existe f: B 2B

f-1(S) S se e somente se f-1(S) S

Paradoxo do Barbeiro: Em uma cidade existe um barbeiro que faz a barba de todos os homens que não barbeiam a sí próprios e somente estes.

{A / A B}

Page 33: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

O método da diagonal de Cantor

a0= 0, aoo ao1 ao2 ao3 ao4....... aon..............a1= 0, a1o a11 a12 a13 a14....... a1n..............

an= 0, ano an1 an2 an3 an4....... ann..............

suponha que |(0,1)| = |N|

b = 0,b0 b1 b2 b3 b4....... bn.........

bj=

5 se ajj = 9

9 senão

|(0,1)| |N|

Page 34: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

Hierarquia própria de funções construtivas

Paraf = { <T,x> / T(x) pára no máximo em f(|x|) passos}

FatoI : Paraf DTime(f3)

FatoII : Paraf DTime(f(x/2))

Prova: Diagonalização

Corolário I : DTime(f(n)) DTime(f(2n+1)3)

Corolário II : P EXP

Page 35: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

Classes de Complexidade e algumas relações

Def. PSpace = DSpace(ni)iN

Def. NP = NTime(ni )iN

Def. NPSpace = NSpace(ni)iN

Def. Log = Space(log(n)) NLog = NSpace(log(n))

Page 36: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

- DSpace(f(n)) NSpace(f(n)) e DTime(f(n)) NTime(f(n))

- NTime(f(n)) DSpace(f(n))

- NSpace(f(n)) DTime(klog n + f(n))

- Alcançabilidade Space(log2) NSpace(f) Space(f2)

(obs; Número de conf. + alcançabilidade)

- número de nós alcançavel Space(log) => NSpace(f) = coNSpace(f)

Page 37: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

(parte) do que se sabe atualmente (desde 60’s)

Log NLog P NP PSPACE = NPSPACE EXP NEXP

Sabe-se que Log PSPACE

se P = NP então EXP = NEXP

se Log = P então EXP = PSPACE

Page 38: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

P : Encontra solução em tempo polinomial em MTD

NP : Verifica solução em tempo polinomial em MTD

CoNP : Verifica que não é solução, em tempo polinomia em MTD

Sat NP Taut CoNP

Obs: Se CoNP NP então NP P

Verificação de Modelos Prova de Teoremas

Page 39: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

Como SAT é NP-Completo então Taut é CoNP-Completo

===> Se existe um sistema dedutivo onde todas as provas tem tamanho polinomial em função do tamanho da conclusão, então CoNP = NP. Senão existe tal sistema então CoNP NP e portanto NP P.

- Já se tentou técnicas de construção de modelos via “forcing” (funcionou com a hipótese generalizada do continum) mas a crença geral é que não funciona.

===> P = NP é um problema genuinamente matemático.

===> P = NP é um problema da ciência da computação.

===> P = NP é um problema genuinamente de fundamentação e lógica.

- Técnicas de diagonalização e relativização (tradição lógico-matemática) tem sido extensivamente usadas no estudo de questões relacionadas a NP=P.

?

?

?

Page 40: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

O Maior problema atual em Teoria da Computação é :

P = NP ?

O que isto tem a ver com jogos ??????

- Jogos e “quebra-cabeças” : PSPACE, EXP e NP-completos

-Soluções para jogos (Equilíbrio de Nash p.ex.), estão em P??? (estratégias mistas com soma zero), NP-completos (estratégias puras) e EXP ? (estratégias mistas para jogos em geral)

Page 41: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

Sokoban é PSPACE-completo

Damas é EXP-completo

Em Geral (versões infinitas)

Xadrez é EXP-completo

Clickomania é NP-completo

15-p é P (existência de solução) e NP-completo (melhor sol.)

A Teoria de Complexidade adequada para o estudo das versões finitas é a Teoria de complexidade estrutural ou de Kolmogorov

http://www.ics.uci.edu/~eppstein/cgt/hard.html#refs

Page 42: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

O jogo de Geografia é PSPACE-completo

Lógica Proposicional Intuicionista é PSPACE-completa (Statman 1977)

Prova: A sentenças válidas intuicionisticamente podem ser caracterizadas como sendo aquelas que possuem estratégia vencedora para o jogador que começa o seu jogo dialógico. (Haeusler 2004)

Page 43: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

Muito Obrigado pela audiência !!!!

Conclusão

Complexidade Computacional

Matemática

Fundamentação e Lógica

Engenharia

Teoria dos Jogos

Economia

Page 44: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

Um Pouco de História sobre Teoria dos Jogos e Xadrez

Zermelo 1913 – Über eine Anwendung der Mengenlehre auf die Theorie des Schachspiels 5o Congresso de Matemáticos (Cambridge).

König 1927 – Über eine Schulussweise aus dem Endlichen ins Unendliche. Acta Sci. Math.

Kalmár 1928 – Zur Theorie der abstrakten Spiele. Acta Sci Math.

Von Neumann 1928 – Zur Theorie der Gesellschaftsspiele. Mathematische Annalen

Caracterizam o conceito de posição ganhadora

Caracteriza a interação entre as estratégias dos jogadores

1

1- Jogo de Informação Perfeita

Utiliza indução transfinita

Page 45: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

Teorema de Zermelo

“Em um jogo de Xadrez, dado que um jogador está em uma posição vencedora quantos movimentos levará para que ele ganhe ??” ==> Não mais que o número de posições do jogo (estados do tabuleiro).

O que é uma posição vencedora ??

q

q1 q2 q3Ur(q) =

r

Ur(q) = Ur(q)

U pode forçar uma vitória em no máximo r movimentos se e somente se Ur(q)

Page 46: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

König estende o teorema de Zermelo

Lema: Toda árvore infinita finitamente gerada possui um ramo infinito.

=> Se não há limite (número de passos) para uma posição vencedora então estanão é vencedora, pois em cada posição só há um número finito de movimentos para o adversário.

Kalmár e a determinância de jogos assemelhados ao Xadrez

Satz III: Em qualquer jogo J potencialmente infinito assemelhado ao Xadrez, se O jogador A não pode forçar a vitória então o jogador B garante pelo menos o empate

Corolário: No Xadrez infinito ou as brancas tem uma estratégia vencedora, ou as pretas tem uma estratégia vencedora ou ambas podem garantir o empate. O jogo tem valor, é determinado.

Page 47: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

Nash 1950, Kuhn 1953

Teorema: Todo jogo finito com informação perfeita, de n jogadores, tem um ponto de equilíbrio.

Prova:

Por indução todo jogo com menos que m nós possui um ponto de equilíbrio

r

m nós

1i

k

Se r é um nó chance, então combine todos pontos de equilíbrio dos subjogos i;Senão o ponto de equilíbrio para r é maximizar os pontos de equilíbrio de cada um dos jogadores com relação ao subjogos i

Prog. Din. , MinMax

Page 48: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Prof. Edward Hermann HaeuslerTECMF-DI-PUC-Rio

Teoria da Computação:e Fund. Matemática

48

Daniel Bernouli 1753

u(x,t) = F(x+ct)+G(x-ct) D’Alembert 1747 + Euler 1748

u

x t

ut(x,0) = g(x) e u(x,0) = f(x)

u(x,t) = 2 0 (sinnysinnxcosnct)f(y)dy + 2 0 (1/n) (sinnysinnxsinnct)g(y)dy

Lagrange 1759

Equação da onda

Page 49: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Prof. Edward Hermann HaeuslerTECMF-DI-PUC-Rio

Teoria da Computação:e Fund. Matemática

49

Equação do calor

u(0,t) = u(L,t) = 0

u(x,0) = f(x)

u(x,t) = cne-n Kt/L sin(nx/L)n=1

2 2 2

f(x) = cnsin(nx/L)n=1

cn= (2/L) f(x) sin(nx/L)dx0

L

Fourier 1811

==> Toda “função” tem expansãoem série de senos ?????

L

Dirichlet (1829,1837) +Fund. Análise (Bolzano, Cauchy, Weierstrass) + Riemann (def. integral,1900’s)

Page 50: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

A Máquina de Turing

- Modelo determinístico

q

q’

- Modelo multi-cabeça (determinístico)

i1 i2 ik

qi1 qi2 qik

Page 51: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

M. Turing modelo multi-fita (determinístico)

qi1

i1

qik

qi2

1

2

k ik

i2

Page 52: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

A Máquina de Turing (cont.)

- Modelo não-determinístico

q

q1

q2

q3

q11

q12

q13

Page 53: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

Page 54: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

Page 55: TECMFJan/2004 Teoria de Complexidade Prof. Edward Hermann Haeusler Complexidade Computacional e Jogos.

Jan/2004 Teoria de ComplexidadeProf. Edward Hermann Haeusler

TECMF

QSAT é PSPACE-completo

p p pode ser expresso como x(x) x( q x) expressa q

-Codifica-se os estados globais de M em strings de p(w) bits EGM(x1,x2,...,xP(n)) descreve um estado global

QSAT está em PSPACE

Codifica-se a execução de um passo da computação de M como PassoM(x,y) , onde EGM(x) e EGM(y)

Para qualquer MTD M que decide um problema usando espaço p(|w|)

Codifica-se estado global final (aceitação) FinalM(x)

Predicado para computação global.

EvoluiM(x,y) = PassoM(x,y) z(EvoluiM(x,z) EvoluiM(z,y)) Fórmula associada a aceitação de w por M AceitaM(w) = EGM(w) z(EvoluiM(w,z) FinalM(z))

Descubra como diminiur o tamanho de para não ser Exponencial