Solução
Partindo da solução
1
. 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.
2
. 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
3
. 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.
Teoria dos problemas
Arquivo origem:
WSolucaoConceito.xml
. .
Solução {3}
Tipos de problemas
Definição da solução
A solução como função
Índice Local {9}
Projeto Apoie {6}
Projeto Apoie
Projeto PAS Produzir + Aprender + Simplificar
Serviço Web
Relacionamentos entre Personagens
Base de Conhecimento {5}
Conhecimento
Dado
Informação consolidada
Página Pronta - site apoie.org
Pulo do Gato
Contato Projeto Apoie
Linguagem
{5}
Javascript {3}
Referências e Ferramentas
Sintaxe
Cheat Sheet
Erlang Quick Sort
LDC {2}
LDC
LDC - Sintaxe
Definição {9}
Erlang
Python 3.0
Ruby 1.9.1 - Sintaxe
Ruby 1.9.1 - Léxico
Shell
Lua
PHP
XML
Lazy BNF
If
Dojo {4}
Coding Dojo
Coding Dojo - Formatos
Soluções Coding Dojo {6}
Dojo #34: Expressão Aritmética
Dojo #33: Impedimento
Dojo #32: Sequência Numérica
Dojo #31: Tráfego
Dojo #29: Boliche
Dojo #28: Jogo da Vida
Dojo Rio
Qualidade {2}
5W {3}
5W2H
5W1H
5W2H - 5W1H - Modelo
PDCA
Componente {5}
Componente
ExibirLinguagem.htm
Gerar Páginas
Lista
Tabela de Decisões
Paletas {10}
Paleta - Mais utilizadas
Paleta - Apoie
Paleta - Apresentação e Componentes
Paleta - Diagramas
Paleta - Diagrama Sintático
Paleta - Dojo
Paleta - Logos
Paleta - Projetos
Paleta - Setas
Paleta - Tecnologia
Evento {4}
Pendência
Estados de Componentes
Scrum
Prioridade
Método {5}
Oficina
Serviço Web
Warnier/Orr Basics
Apresentar Problema Resolvido
Simples x Complexo
Imposto de Renda