- Abbiamo studiato le strategie che possono ragionare sia in avanti che all'indietro, ma una miscela delle due direzioni è opportuna per risolvere un problema complesso e di grandi dimensioni. Una tale strategia mista rende possibile che prima si risolva la maggior parte di un problema e poi si torni indietro e si risolvano i piccoli problemi che sorgono durante la combinazione delle parti più grandi del problema. Tale tecnica si chiama Analisi mezzi-fini .
- L'analisi mezzi-fini è una tecnica di risoluzione dei problemi utilizzata nell'intelligenza artificiale per limitare la ricerca nei programmi di intelligenza artificiale.
- È una combinazione di tecniche di ricerca all'indietro e in avanti.
- La tecnica MEA fu introdotta per la prima volta nel 1961 da Allen Newell e Herbert A. Simon nel loro programma per computer di risoluzione dei problemi, chiamato General Problem Solver (GPS).
- Il processo di analisi MEA è incentrato sulla valutazione della differenza tra lo stato attuale e lo stato obiettivo.
Come funziona l'analisi mezzi-fini:
Il processo di analisi mezzi-fini può essere applicato ricorsivamente per un problema. È una strategia per controllare la ricerca nella risoluzione dei problemi. Di seguito sono riportati i passaggi principali che descrivono il funzionamento della tecnica MEA per risolvere un problema.
stringa di formato Java
- Innanzitutto, valuta la differenza tra Stato iniziale e Stato finale.
- Selezionare i vari operatori applicabili per ciascuna differenza.
- Applicare l'operatore a ciascuna differenza, riducendo la differenza tra lo stato corrente e lo stato obiettivo.
Subgoal dell'operatore
Nel processo MEA, rileviamo le differenze tra lo stato attuale e lo stato obiettivo. Una volta che si verificano queste differenze, possiamo applicare un operatore per ridurre le differenze. Ma a volte è possibile che un operatore non possa essere applicato allo stato corrente. Quindi creiamo il sottoproblema dello stato corrente, in cui è possibile applicare l'operatore, tale tipo di concatenamento all'indietro in cui vengono selezionati gli operatori e quindi vengono impostati sotto-obiettivi per stabilire le precondizioni dell'operatore è chiamato Subgoal dell'operatore .
Algoritmo per l'analisi mezzi-fini:
Prendiamo lo stato attuale come CURRENT e lo stato obiettivo come GOAL, quindi di seguito sono riportati i passaggi per l'algoritmo MEA.
- Selezionare un nuovo operatore O applicabile per la differenza corrente e, se non esiste tale operatore, segnalare l'errore.
- Tentare di applicare l'operatore O a CORRENTE. Fai una descrizione di due stati.
i) O-Start, uno stato in cui le precondizioni di O sono soddisfatte.
ii) O-Result, lo stato che risulterebbe se O fosse applicato in O-start. - Se
(Prima parte<------ mea (current, o-start)< strong>
E
(Ultima parte<----- mea (o-result, goal)< strong>, hanno esito positivo, quindi segnalano Success e restituiscono il risultato della combinazione di FIRST-PART, O e LAST-PART.-----> ------>
L'algoritmo sopra discusso è più adatto a un problema semplice e non adeguato per risolvere problemi complessi.
Esempio di analisi dei fini medi:
Facciamo un esempio in cui conosciamo lo stato iniziale e lo stato obiettivo come indicato di seguito. In questo problema, dobbiamo ottenere lo stato obiettivo trovando le differenze tra lo stato iniziale e lo stato obiettivo e applicando gli operatori.
Soluzione:
Per risolvere il problema di cui sopra, troveremo prima le differenze tra gli stati iniziali e gli stati obiettivo e per ciascuna differenza genereremo un nuovo stato e applicheremo gli operatori. Gli operatori che abbiamo per questo problema sono:
cos'è l'oggetto Java
1. Valutazione dello stato iniziale: Nella prima fase, valuteremo lo stato iniziale e confronteremo lo stato iniziale e quello di obiettivo per trovare le differenze tra entrambi gli stati.
attore govinda
2. Applicazione dell'operatore Elimina: Come possiamo verificare, la prima differenza è che nello stato obiettivo non è presente il simbolo del punto che è presente nello stato iniziale, quindi per prima cosa applicheremo il Elimina operatore per rimuovere questo punto.
3. Applicazione dell'operatore di spostamento: Dopo aver applicato l'operatore Elimina, si verifica il nuovo stato che confronteremo nuovamente con lo stato obiettivo. Dopo aver confrontato questi stati, c'è un'altra differenza ovvero che il quadrato è all'esterno del cerchio, quindi applicheremo il Sposta operatore .
4. Applicazione dell'operatore di espansione: Ora nel terzo passaggio viene generato un nuovo stato e confronteremo questo stato con lo stato obiettivo. Dopo aver confrontato gli stati c'è ancora una differenza che è la dimensione del quadrato, quindi applicheremo Operatore Espandi e, infine, genererà lo stato obiettivo.