logo

Analisi mezzi-fini nell'intelligenza artificiale

  • 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
  1. Innanzitutto, valuta la differenza tra Stato iniziale e Stato finale.
  2. Selezionare i vari operatori applicabili per ciascuna differenza.
  3. 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.

    Passo 1:Confronta CORRENTE con OBIETTIVO, se non ci sono differenze tra entrambi, restituisci Successo ed Esci.Passo 2:Altrimenti, seleziona la differenza più significativa e riducila eseguendo i passaggi seguenti finché non si verifica il successo o il fallimento.
    1. Selezionare un nuovo operatore O applicabile per la differenza corrente e, se non esiste tale operatore, segnalare l'errore.
    2. 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.
    3. 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.

Analisi mezzi-fini nell'intelligenza artificiale

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
    Mossa Eliminare Espandere

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
Analisi mezzi-fini nell'intelligenza artificiale

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.

Analisi mezzi-fini nell'intelligenza artificiale

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 .

Analisi mezzi-fini nell'intelligenza artificiale

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.

Analisi mezzi-fini nell'intelligenza artificiale