- Nous avons étudié les stratégies qui permettent de raisonner soit en avant soit en arrière, mais un mélange des deux directions est approprié pour résoudre un problème complexe et vaste. Une telle stratégie mixte permet de résoudre d'abord la majeure partie d'un problème, puis de revenir en arrière et de résoudre les petits problèmes qui surviennent lors de la combinaison des grandes parties du problème. Une telle technique est appelée Analyse moyens-fins .
- L'analyse moyens-fins est une technique de résolution de problèmes utilisée dans l'intelligence artificielle pour limiter la recherche dans les programmes d'IA.
- Il s’agit d’un mélange de techniques de recherche arrière et avant.
- La technique MEA a été introduite pour la première fois en 1961 par Allen Newell et Herbert A. Simon dans leur programme informatique de résolution de problèmes, nommé General Problem Solver (GPS).
- Le processus d’analyse MEA s’est concentré sur l’évaluation de la différence entre l’état actuel et l’état objectif.
Comment fonctionne l’analyse moyens-fins :
Le processus d’analyse moyens-fins peut être appliqué de manière récursive à un problème. C'est une stratégie pour contrôler la recherche dans la résolution de problèmes. Voici les principales étapes qui décrivent le fonctionnement de la technique MEA pour résoudre un problème.
- Tout d’abord, évaluez la différence entre l’état initial et l’état final.
- Sélectionnez les différents opérateurs applicables pour chaque différence.
- Appliquez l'opérateur à chaque différence, ce qui réduit la différence entre l'état actuel et l'état objectif.
Sous-objectifs de l'opérateur
Dans le processus MEA, nous détectons les différences entre l’état actuel et l’état objectif. Une fois que ces différences se produisent, nous pouvons alors appliquer un opérateur pour réduire les différences. Mais il est parfois possible qu’un opérateur ne puisse pas être appliqué à l’état actuel. Nous créons donc le sous-problème de l'état actuel, dans lequel l'opérateur peut être appliqué, un tel type de chaînage en arrière dans lequel les opérateurs sont sélectionnés, puis des sous-objectifs sont définis pour établir les conditions préalables de l'opérateur, est appelé Sous-objectifs de l'opérateur .
mot-clé volatile java
Algorithme d’analyse moyens-fins :
Prenons l'état actuel comme CURRENT et l'état objectif comme OBJECTIF, puis voici les étapes de l'algorithme MEA.
- Sélectionnez un nouvel opérateur O qui est applicable pour la différence actuelle, et s'il n'y a pas un tel opérateur, signalez l'échec.
- Essayez d'appliquer l'opérateur O à CURRENT. Faites une description de deux états.
i) O-Start, un état dans lequel les conditions préalables de O sont satisfaites.
ii) O-Result, l'état qui résulterait si O était appliqué dans O-start. - Si
(Première partie<------ mea (current, o-start)< strong>
Et
(Dernière partie<----- mea (o-result, goal)< strong>, réussissent, puis signalent Succès et renvoient le résultat de la combinaison de FIRST-PART, O et LAST-PART.-----> ------>
L’algorithme évoqué ci-dessus est plus adapté à un problème simple et ne convient pas à la résolution de problèmes complexes.
Exemple d’analyse des moyennes :
Prenons un exemple où nous connaissons l'état initial et l'état objectif comme indiqué ci-dessous. Dans ce problème, nous devons obtenir l’état objectif en trouvant les différences entre l’état initial et l’état objectif et en appliquant des opérateurs.
Solution:
Pour résoudre le problème ci-dessus, nous trouverons d’abord les différences entre les états initiaux et les états cibles, et pour chaque différence, nous générerons un nouvel état et appliquerons les opérateurs. Les opérateurs dont nous disposons pour ce problème sont :
1. Évaluation de l'état initial : Dans la première étape, nous évaluerons l’état initial et comparerons l’état initial et l’état objectif pour trouver les différences entre les deux états.
2. Application de l'opérateur Supprimer : Comme nous pouvons le vérifier, la première différence est que dans l'état objectif, il n'y a pas de symbole de point présent dans l'état initial, nous allons donc d'abord appliquer le Supprimer l'opérateur pour supprimer ce point.
3. Application de l'opérateur de déplacement : Après avoir appliqué l'opérateur Supprimer, le nouvel état apparaît que nous comparerons à nouveau avec l'état objectif. Après avoir comparé ces états, il y a une autre différence : le carré est à l’extérieur du cercle, nous appliquerons donc le Opérateur de déplacement .
qu'est-ce que le clustering
4. Application de l'opérateur d'expansion : Maintenant, un nouvel état est généré dans la troisième étape, et nous allons comparer cet état avec l’état objectif. Après avoir comparé les états, il reste une différence qui est la taille du carré, nous appliquerons donc Opérateur de développement , et enfin, il générera l’état objectif.