Tipos de problemas
- Os que não têm solução e portanto não há nada a fazer, que são
classificados como Problemas Indecidíveis (ou impossíveis de serem
solucionados).
- Os que têm solução algorítmica e podemos resolvê-los formalmente
passo a passo, codificando os algoritmos para sua resolução.
- Um terceiro grupo que não pertecem aos dois anteriores. Dentre
eles podemos ter:
- Aqueles em que a solução algorítmica têm complexidade
NP-Completa;
- Aqueles que o Ser Humano é capaz de resolver;
- Aqueles que os Seres Vivos são capazes de resolver. Ex: Jogar
Xadrez, Jogar Futebol, Reconhecer Faces, Fazer Traduções, Procurar
Comida, Reconhecer Letras, entre outros.
Definição da solução
Resolver um problema não necessariamente
significa em se ter um método para resolvê-lo. Deve-se partir do
problema resolvido (Antes mesmo de se tentar buscar a solução de um
problema), responderndo as seguintes perguntas:
- Quais são os dados (informações)?
- Quais são as soluções possíveis?
- O que caracteriza uma solução satisfatória?
A solução pode ser representado em linguagem matemática da seguinte
forma:
S = ( I, B, C )
S: A solução apresentada (diagnóstico)
B: O conjunto de dados do problema, conjunto não vazio, que deve
representar a informação apropriada do problema. Alguns elementos podem
permanecer iguais e outros em constante dinâmica. É necessário
documentar não só o estado inicial do problema mas também todos seus
estados de mudanças.
I: O conjunto de operações e transformações, também conjunto não vazio,
que podem ocorrer durante o processo da resolução do problema desde a
sua fase inicial, as possíveis respostas.
C: Condição, uma relação binária, que deve satisfazer o problema. Esta
relação caracteriza uma solução satisfatória, ela associa a cada
elemento do conjunto de dados a solução única desejada. Mais
precisamente é o conjunto de soluções do problema.
S: C [Sx,Sy,Sz] <--
B[x,y,z] S-solução
A solução como função
Pode ser representada, por diversas
formas:
- Enumeração exaustiva (lista): Enumerando todos os pares que ligam
dados do problema ao conjunto solução. Evidentemente, este modo de
definir uma função, só se aplica no caso que o conjunto de dados é
finito.
Exemplo:
Seja uma agenda de telefones. Ela pode ser considerada como a função
que associa a cada nome de pessoa seu telefone.
- Declarativamente: Definindo propriedades que definem a solução do
problema.
Exemplo 1:
Dado um número real, associa dois números cuja soma de seus quadrados é
igual aonúmero real dado. A solução pode ser visualizada como um
círculo, centrado naorigem de um plano com coordenadas ortonormais
(eixos ortogonais e de mesma escala),de raio igual ao número dado.
Exemplo 2:Seja a função característica do conjunto das equações
diofantinas de quarta ordemque tem solução. Ora a partir de 3 sabe-se
não haver teorema permitindo saber seo problema tem ou não solução.
Logo, o que resta é tentar todas as possibilidades...e como existem
infinitos números inteiros não se pode ter certeza, se calculando o
problema tem solução ou ainda não foi achada ou não tem solução!
- Por um algoritmo: A correspondência entre dados e resultados é
feita através de um programa de computador, e sempre que ele para
consegue-se chegar a uma solução. Sendo assim, um programa pode ser
considerado como um modo de definir um problema.
Exemplo:
Formulário de Imposto de Renda. A solução é o valor do imposto
- Por exemplos: Pode-se reconhecer que, neste caso, a solução não é
única: todas as funções que sejam iguais dentro subconjunto em que o
problema é definido são válidas e é necessário fazer uma aproximação,
neste caso costuma-se usar técnicas de Inteligência artificial como
Rede neural, Usam-se os exemplos para treinar a rede e obtém-se valores
estimados da solução para os outros valores usando a propriedade de
generalização das redes.