- Estudamos as estratégias que podem raciocinar tanto para frente quanto para trás, mas uma mistura das duas direções é apropriada para resolver um problema complexo e grande. Uma estratégia tão mista torna possível que primeiro resolva a maior parte de um problema e depois volte e resolva os pequenos problemas que surgem durante a combinação das grandes partes do problema. Tal técnica é chamada Análise Meios-Fins .
- Análise de meios-fins são técnicas de resolução de problemas usadas em inteligência artificial para limitar a pesquisa em programas de IA.
- É uma mistura de técnicas de pesquisa para trás e para frente.
- A técnica MEA foi introduzida pela primeira vez em 1961 por Allen Newell e Herbert A. Simon em seu programa de computador de solução de problemas, denominado General Problem Solver (GPS).
- O processo de análise MEA centrou-se na avaliação da diferença entre o estado atual e o estado objetivo.
Como funciona a análise de meios-fins:
O processo de análise de meios-fins pode ser aplicado recursivamente para um problema. É uma estratégia para controlar a busca na resolução de problemas. A seguir estão as principais etapas que descrevem o funcionamento da técnica MEA para resolver um problema.
gzip para linux
- Primeiro, avalie a diferença entre o estado inicial e o estado final.
- Selecione os vários operadores que podem ser aplicados para cada diferença.
- Aplique o operador em cada diferença, o que reduz a diferença entre o estado atual e o estado objetivo.
Submeta do Operador
No processo MEA, detectamos as diferenças entre o estado atual e o estado objetivo. Uma vez que essas diferenças ocorram, podemos aplicar um operador para reduzi-las. Mas às vezes é possível que um operador não possa ser aplicado ao estado atual. Então criamos o subproblema do estado atual, em qual operador pode ser aplicado, tal tipo de encadeamento regressivo em que os operadores são selecionados, e então as submetas são configuradas para estabelecer as pré-condições do operador é chamado Submeta do Operador .
Algoritmo para análise de meios-fins:
Vamos considerar o estado atual como CURRENT e o estado da meta como GOAL, a seguir estão as etapas para o algoritmo MEA.
- Selecione um novo operador O que seja aplicável para a diferença de corrente e, se não existir tal operador, sinalize falha.
- Tente aplicar o operador O a CURRENT. Faça uma descrição de dois estados.
i) O-Start, um estado no qual as pré-condições de O são satisfeitas.
ii) O-Result, o estado que resultaria se O fosse aplicado em O-start. - Se
(Primeira parte<------ mea (current, o-start)< strong>
E
(Última parte<----- mea (o-result, goal)< strong>, são bem-sucedidos, sinalizam Sucesso e retornam o resultado da combinação de PRIMEIRA PARTE, O e ÚLTIMA PARTE.-----> ------>
O algoritmo discutido acima é mais adequado para um problema simples e não adequado para resolver problemas complexos.
Exemplo de análise de meios e fins:
Vamos dar um exemplo onde conhecemos o estado inicial e o estado objetivo conforme mostrado abaixo. Neste problema, precisamos obter o estado objetivo encontrando diferenças entre o estado inicial e o estado objetivo e aplicando operadores.
Solução:
Para resolver o problema acima, primeiro encontraremos as diferenças entre os estados iniciais e os estados objetivo e, para cada diferença, geraremos um novo estado e aplicaremos os operadores. Os operadores que temos para este problema são:
1. Avaliando o estado inicial: Na primeira etapa, avaliaremos o estado inicial e compararemos o estado inicial e o estado objetivo para encontrar as diferenças entre os dois estados.
2. Aplicando o operador Delete: Como podemos verificar a primeira diferença é que no estado objetivo não existe nenhum símbolo de ponto que esteja presente no estado inicial, então, primeiro aplicaremos o Excluir operador para remover este ponto.
3. Aplicando Operador Mover: Após aplicar o operador Delete, ocorre o novo estado que compararemos novamente com o estado objetivo. Depois de comparar esses estados, há outra diferença que é que o quadrado está fora do círculo, então, aplicaremos o Operador de movimentação .
4. Aplicando o Operador Expand: Agora, um novo estado é gerado na terceira etapa e compararemos esse estado com o estado objetivo. Depois de comparar os estados ainda há uma diferença que é o tamanho do quadrado, então, aplicaremos Operador de expansão e, por fim, gerará o estado objetivo.