Você está na página 1de 10

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL

INSTITUTO DE INFORMÁTICA

FRANCIS MWANZA, LEONARDO FERREIRA,


PEDRO SOUZA

INSOLUCIONABILIDADE DO
PROBLEMA DO LADRILHAMENTO

Prof. Dr. Tiaraju Asmuz Diverio


Orientador

Porto Alegre, dezembro de 2010.


RESUMO

Neste trabalho será demonstrada a Não-Solucionabilidade do Problema do


Ladrilhamento. Após uma breve introdução à Solucionabilidade de Problemas e uma
detalhada descrição do problema, este será reduzido ao Problema da Correspondência
de Post. Demonstrando assim sua Não-Solucionabilidade.
1. SOLUCIONABILIDADE DE PROBLEMAS

Algoritmos são programas que rodam em computadores digitais. Então, num


primeiro impulso, dada a voz corrente de que computadores são máquinas
extremamente poderosas,capazes de realizar qualquer tarefa concebível, poderíamos
responder que “sim”, ou seja,que para todo problema sempre há de existir um algoritmo
que o resolva a contento.
No entanto, surpresa! Não poderíamos estar mais enganados! De fato, existe um
vastíssimo elenco de problemas para os quais simplesmente não há algoritmo legítimo
que o resolva.
Na verdade, existem problemas de cunho prático, e importantes, para os quais não há
solução algorítmica possível. Será que com mais tecnologia, e.g., com computadores
mais rápidos e com maior capacidade de memória, e dado tempo suficiente para rodar o
programa, poderemos resolver esses problemas, no futuro? A resposta é “não”,
novamente.
Não é uma questão de capacidade de processamento, ou capacidade de memória, que
impedem a solução algorítmica para esses problemas insolúveis. O impedimento é
intrínseco aos algoritmos. Simplesmente não é possível descrever receitas adequadas
para esses problemas. Computador digital nenhum vai resolver esses problemas, nem
hoje, nem amanhã, nem nunca; nem aqui, nem em Marte, nem lugar algum. Nem que o
computador seja capaz de rodar programas por quanto tempo quisermos (anos, séculos,
...). Esse é um dos grandes e surpreendentes resultados em Teria da Computação obtidos
no século passado, há não mais de 80 anos.

Teoremas e Definições utilizadas na Demonstração


Aqui serão apresentadas as definições e definições para demonstração.

1.1 Classe de Solucinabilidade de Problemas


Definição dos tipos de problemas referente ao seu comportamento.

1.1.1 Problemas Solucionáveis


Um problema faz parte da classe dos problemas solucionáveis se existe
um algoritmo na Máquina de Turing que resolve problema e este
programa sempre pára para qualquer entrada.

1.1.2 Problema Não-Solucionável


É dito do problema que não possui uma implementação na Maquina de
Turing que sempre o faça parar para qualquer entrada.
1.1.3 Problema Parcialmente Solucionável
Um problema que quando implementado na Maquina de Turing sempre
pára “Aceita” quando a computação for verdadeira, a contra ponto,
quando a computação for falsa este programa pode ou não parar,
“Rejeita ou Loop”

1.1.4 Problema Não Computável


O problema é dito Não Computável se não existe uma programa na
Maquina de Turing que pare quando a resposta for verdadeira.

1.2 Principio da Redução


Dados dois problemas, sedo que um deles tenha uma linguagem conhecida e caso
um possa ser reduzida para o outro, através das propriedades das linguagens poderá ser
feita uma correspondência entre elas.
1.2.1 Redução de L1 para L2
Sejam L1 e L2 duas linguagens, onde L1 pode ser reduzido para L2 vale:
a) Se L1 é Recursiva, então L2 é Recursiva.
b) Se L1 é Enumerável Recursivamente, então L2 é Enumerável
Recursivamente.

1.3 Correspondência de Post (P.C.P)


Seja um alfabeto Σ e um conjunto de pares ordenados [ui,vi], i=1,2,...,n onde ui,vi ∈
Σ+. Uma solução para o sistema de correspondência de Post é uma seqüência i1, i2, ...,
ik tal que:
ui1 ui2 ... uik = vi1 vi2 ... vik
O problema de se determinar se um sistema de correspondência de Post tem alguma
solução é chamado de Problema de Correspondência de Post.

Teorema (Post, 1946): Não existe algoritmo para se determinar se


um dado P.C.P. tem uma solução, ou seja: o P.C.P. é um
problema não-decidível.
2.Problema do Ladrilhamento

O Problema do Ladrilhamento foi proposto por Hao Wang em 1960.


Os dados de entrada são um conjunto finito, T, de tipos de ladrilhos. Por exemplo,
na figura abaixo, o conjunto T seria formado por ladrilhos de três tipos.

Figura 1

O problema é determinar se podemos ladrilhar qualquer grade nxn, com ladrilhos de


tipos indicados no conjunto T. Uma grade n x n é uma região quadrada do plano
subdividida em n x n celas iguais e uniformes.
As seguintes condições devem ser respeitadas:
1. Os ladrilhos não podem ser girados, i.e., rotacionados.
2. Podemos usar tantos ladrilhos quantos forem necessários, desde que idênticos a
um daqueles contidos no conjunto de tipos T. Ou seja, temos um estoque
potencialmente ilimitado de cada tipo de ladrilho.
3. As cores nas faces de ladrilhos que se tocam, ao serem posicionados na grade,
devem ser idênticas.
4. Na área quadrada demarcada, não podemos deixar regiões sem ladrilhar.

Exemplo 1: Assuma que o conjunto T é formado pelos ladrilhos da Figura 1


Uma região 3 por 3 do plano poderia ser ladrilhada com este conjunto de ladrilhos,
como pode ser visto abaixo:
2.1 Redução do Problema

O Problema dos Ladrilhos “Tile’s Problem” quanto a decidibilidade consiste em


dizer se existe um algoritmo capas de preencher um quadrante de forma a preenche-lo
infinitamente com um conjunto de ladrilhos qualquer.
*ACEITA
Quando é possível formar um arranjo finito, que possa ser aplicado sucessivamente
e demonstrável que pode preencher um quadrante de forma infinita.
*REJEITA
Quando fica demonstrado que não existe possibilidade possível de continuar
encaixando os ladrilhos, e o sistema para sem solução.
*LOOP
Que é onde queremos trabalhar, quando não é possível formar um arranjo padrão
capaz de ser aplicado infinitamente, e mesmo assim não ocorrem bloqueios, sendo
possível sempre aplicar novos ladrilhos de forma que o preenchimento não pare, porem
não se consegue uma figura padrão.
Fazendo uma analogia a correspondência em Post , temos duas palavras que
crescem onde a maior deixa um rastro que a menor é obrigada a seguir.
Tomando como exemplo essas duas seqüências gerada por uma correspondência de
post
aaaaabbbbaaabbbbcccbbbaaaabccbbb
aaaaabbbbaaabbbbcccbbbaaaabccbbb
A seqüência de baixo é obrigado a igualar a seqüência de cima que chamaremos de
“rastro”.
Alem das regras que constituem o problema de ladrilhamento, vamos adotar uma
regra adicional, que não altera em nada a resolução do problema, mas nos dará uma
maneira comportada de tratar o problema.
Nossa regra consiste em fazer com que a tentativa de construção do arranjo regular,
o preenchimento do arranjo seja obrigatoriamente na ordem da direita superior para a
esquerda inferior

Essa mudança não afeta o algoritmo original, mas se convertemos as cores em


símbolos de um alfabeto, teremos que cada ladrilho colocado para atender as exigências
dos então dispostos vão deixar um “rasto”, neste caso o rastro seria ababab.
Para que este sistema seja solucionável, o arranjo gerado deve ser finito, e periódico,
de forma que sua sucessiva aplicação seja capaz de preencher infinitamente um
quadrante de forma trivial.
...

...

...
De forma que as partes opostas se encaixem, permitindo a sucessão infinita.
Conforme o preenchimento do arranjo se completa o rastro reduz, caso ele seja
completamente igualado, então o rastro acaba e temos uma solução, de forma análoga a
correspondência em Post.

Então utilizando um algoritmo que utilize a correspondência em Post para preencher


o arranjo padrão podemos propor uma redução da Equivalencia em Post ao Problema de
Ladrilhamento.
Com isso temos:

Correspondencia em Post

Ladrilhamento

Então por redução como é demonstrado que Correspondência em Post é não


solucionável, então o problema de ladrilhamento é não solucionável.
E como existem casos em que o algoritmo pára então e ele é não solucionável, logo
é um problema parcialmente solucionável. CQD.
CONCLUSÃO

O Problema do Ladrilhamento é Não Solucionável. Fora deduzido por meio de


redução, com uso dos teoremas e definições constantes neste artigo que o problema
proposto por Hao Wang em 1960 pertence a classe das linguagem Enumeráveis
Recursivamente, e como tal, comportar-se como uma função não solucionável.
REFERÊNCIAS

DIVERIO, Tiaraju Asmuz; MENEZES, Paulo Blauth. Teoria da Computação:


Máquinas Universais e Computabilidade. 2. ed. Porto Alegre: Bookman 2008.

LEWIS, Harry R: Elementos de teoria da computação. 2. ed. Porto Alegre :


Bookman 2000.

D. Harel, Algorithmics: The Spirit of Computing, Addison-Wesley, Reading,


MA, 3rd edition (with Y. Feldman), 2004.