- Am studiat strategiile care pot raționa fie înainte, fie înapoi, dar un amestec al celor două direcții este potrivit pentru rezolvarea unei probleme complexe și mari. O astfel de strategie mixtă, face posibilă ca mai întâi să se rezolve cea mai mare parte a unei probleme și apoi să se întoarcă și să se rezolve micile probleme care apar în timpul combinării părților mari ale problemei. O astfel de tehnică se numește Analiza mijloace-scopuri .
- Analiza mijloacelor și scopurilor este tehnici de rezolvare a problemelor utilizate în inteligența artificială pentru limitarea căutării în programele AI.
- Este un amestec de tehnică de căutare înapoi și înainte.
- Tehnica MEA a fost introdusă pentru prima dată în 1961 de Allen Newell și Herbert A. Simon în programul lor de rezolvare a problemelor, care a fost numit General Problem Solver (GPS).
- Procesul de analiză MEA sa centrat pe evaluarea diferenței dintre starea actuală și starea obiectivului.
Cum funcționează analiza mijloace-scop:
Procesul de analiză mijloace-scop poate fi aplicat recursiv pentru o problemă. Este o strategie de control al căutării în rezolvarea problemelor. Mai jos sunt pașii principali care descriu funcționarea tehnicii MEA pentru rezolvarea unei probleme.
- Mai întâi, evaluați diferența dintre starea inițială și starea finală.
- Selectați diferiții operatori care pot fi aplicați pentru fiecare diferență.
- Aplicați operatorul la fiecare diferență, ceea ce reduce diferența dintre starea curentă și starea obiectivului.
Subgoalizarea operatorului
În procesul MEA, detectăm diferențele dintre starea curentă și starea obiectivului. Odată ce apar aceste diferențe, atunci putem aplica un operator pentru a reduce diferențele. Dar uneori este posibil ca un operator să nu poată fi aplicat la starea curentă. Așadar, creăm subproblema stării curente, în care operator poate fi aplicat, un astfel de tip de înlănțuire înapoi în care operatorii sunt selectați și apoi sunt stabilite sub-obiective pentru a stabili condițiile prealabile ale operatorului. Subgoalizarea operatorului .
funcții șir în java
Algoritm pentru analiza mijloacelor-cazuri:
Să luăm starea curentă ca CURRENT și starea obiectivului ca GOAL, apoi urmează pașii pentru algoritmul MEA.
- Selectați un nou operator O care este aplicabil pentru diferența curentă și, dacă nu există un astfel de operator, semnalați eșecul.
- Încercați să aplicați operatorul O la CURRENT. Faceți o descriere a două stări.
i) O-Start, o stare în care precondițiile O sunt îndeplinite.
ii) O-Result, starea care ar rezulta dacă O ar fi aplicat în O-start. - Dacă
(Prima parte<------ mea (current, o-start)< strong>
Și
(Ultima parte<----- mea (o-result, goal)< strong>, au succes, apoi semnalează Succes și returnează rezultatul combinării FIRST-PART, O și LAST-PART.-----> ------>
Algoritmul discutat mai sus este mai potrivit pentru o problemă simplă și nu este adecvat pentru rezolvarea problemelor complexe.
Exemplu de analiză medie-capete:
Să luăm un exemplu în care știm starea inițială și starea obiectivului, așa cum sunt prezentate mai jos. În această problemă, trebuie să obținem starea obiectivului prin găsirea diferențelor între starea inițială și starea obiectivului și aplicând operatori.
Soluţie:
Pentru a rezolva problema de mai sus, vom găsi mai întâi diferențele dintre stările inițiale și stările obiectiv, iar pentru fiecare diferență, vom genera o nouă stare și vom aplica operatorii. Operatorii pe care îi avem pentru această problemă sunt:
1. Evaluarea stării inițiale: În primul pas, vom evalua starea inițială și vom compara starea inițială și Goal pentru a găsi diferențele dintre ambele stări.
2. Aplicarea operatorului Delete: După cum putem verifica, prima diferență este că în starea obiectivului nu există niciun simbol punct care este prezent în starea inițială, deci, mai întâi vom aplica Șterge operator pentru a elimina acest punct.
3. Aplicarea operatorului de mutare: După aplicarea operatorului Delete, apare noua stare pe care o vom compara din nou cu starea obiectivului. După compararea acestor stări, există o altă diferență și anume că pătratul este în afara cercului, așa că vom aplica Mutare operator .
subșir de tăiere javascript
4. Aplicarea operatorului de extindere: Acum este generată o nouă stare în a treia etapă și vom compara această stare cu starea obiectivului. După compararea stărilor, mai există o diferență care este dimensiunea pătratului, așa că vom aplica Extinde operator și, în final, va genera starea obiectivului.