Nell'intelligenza artificiale, il concatenamento in avanti e all'indietro è uno degli argomenti importanti, ma prima di comprendere il concatenamento in avanti e all'indietro, dobbiamo prima capire da dove provengono questi due termini.
come rifare in Photoshop
Motore di inferenza:
Il motore di inferenza è la componente del sistema intelligente dell'intelligenza artificiale, che applica regole logiche alla base di conoscenza per dedurre nuove informazioni da fatti noti. Il primo motore di inferenza faceva parte del sistema esperto. Il motore di inferenza normalmente procede in due modalità, che sono:
Clausola di corno e clausola definita:
La clausola di corno e la clausola definita sono le forme di frasi che consentono alla base di conoscenza di utilizzare un algoritmo di inferenza più ristretto ed efficiente. Gli algoritmi di inferenza logica utilizzano approcci di concatenamento in avanti e all'indietro, che richiedono KB sotto forma di proposizione definita del primo ordine .
Clausola definita: Una clausola che è una disgiunzione di letterali con esattamente un letterale positivo è nota come clausola definita o clausola rigorosa del corno.
Clausola di corno: Una clausola che è una disgiunzione di letterali con al massimo un letterale positivo è conosciuta come clausola di corno. Quindi tutte le proposizioni definite sono clausole di corno.
Esempio: (¬ p V ¬ q V k) . Ha un solo letterale positivo k.
È equivalente a p ∧ q → k.A. Concatenamento in avanti
Il concatenamento diretto è noto anche come metodo di deduzione diretta o di ragionamento diretto quando si utilizza un motore di inferenza. Il concatenamento diretto è una forma di ragionamento che inizia con frasi atomiche nella base di conoscenza e applica regole di inferenza (Modus Ponens) nella direzione in avanti per estrarre più dati fino al raggiungimento di un obiettivo.
L'algoritmo di forward-chaining parte da fatti noti, attiva tutte le regole le cui premesse sono soddisfatte e aggiunge la loro conclusione ai fatti noti. Questo processo si ripete finché il problema non viene risolto.
Proprietà del concatenamento diretto:
- È un approccio dal basso verso l’alto, poiché si muove dal basso verso l’alto.
- È un processo per giungere a una conclusione basata su fatti o dati noti, partendo dallo stato iniziale e raggiungendo lo stato obiettivo.
- L'approccio concatenato è anche chiamato basato sui dati poiché raggiungiamo l'obiettivo utilizzando i dati disponibili.
- L'approccio concatenato è comunemente utilizzato nei sistemi esperti, come CLIPS, sistemi di regole aziendali e di produzione.
Considera il seguente famoso esempio che utilizzeremo in entrambi gli approcci:
Esempio:
«Secondo la legge, è un crimine per un americano vendere armi a nazioni ostili. Il paese A, nemico dell'America, ha alcuni missili e tutti i missili gli sono stati venduti da Robert, che è un cittadino americano.'
Prova che 'Robert è un criminale.'
Per risolvere il problema di cui sopra, convertiremo innanzitutto tutti i fatti di cui sopra in clausole definite del primo ordine, quindi utilizzeremo un algoritmo di concatenazione diretta per raggiungere l'obiettivo.
Conversione dei fatti in FOL:
- È un crimine per un americano vendere armi a nazioni ostili. (Diciamo che p, q e r sono variabili)
Americano (p) ∧ arma(q) ∧ vende (p, q, r) ∧ ostile(r) → Criminale(p) ...(1) - Il Paese A ha alcuni missili. ?p Possiede(A, p) ∧ Missile(p) . Può essere scritto in due proposizioni definite utilizzando l'istanziazione esistenziale, introducendo la nuova costante T1.
Possiede(A, T1) ......(2)
Missile(T1) .......(3) - Tutti i missili furono venduti al paese A da Robert.
?p Missili(p) ∧ Possiede (A, p) → Vende (Robert, p, A) ......(4) - I missili sono armi.
Missili(p) → Armi (p) .......(5) - Il nemico dell'America è conosciuto come ostile.
Nemico(p, America) →Ostile(p) ........(6) - Il Paese A è un nemico dell’America.
Nemico (A, America) ........(7) - Robert è americano
Americano(Robert). ..........(8)
Prova di concatenamento in avanti:
Passo 1:
Nella prima fase inizieremo con i fatti noti e sceglieremo le frasi che non hanno implicazioni, come ad esempio: Americano(Robert), Nemico(A, America), Possiede(A, T1) e Missile(T1) . Tutti questi fatti saranno rappresentati come di seguito.
Passo 2:
Nella seconda fase vedremo quei fatti che deducono dai fatti disponibili e con premesse soddisfatte.
La regola-(1) non soddisfa le premesse, quindi non verrà aggiunta nella prima iterazione.
Le regole (2) e (3) sono già aggiunte.
Regola-(4) soddisfare con la sostituzione {p/T1}, quindi vende (Robert, T1, A) si aggiunge, il che deduce dalla congiunzione della regola (2) e (3).
La Regola-(6) è soddisfatta con la sostituzione(p/A), quindi viene aggiunto Ostile(A) e ciò si deduce dalla Regola-(7).
Passaggio 3:
Al passaggio 3, come possiamo verificare, la Regola (1) è soddisfatta della sostituzione {p/Robert, q/T1, r/A}, quindi possiamo aggiungere Criminal(Robert) che deduce tutti i fatti disponibili. E così abbiamo raggiunto il nostro obiettivo.
Quindi è dimostrato che Robert è un criminale utilizzando l'approccio del concatenamento in avanti.
B. Concatenamento all'indietro:
Il concatenamento all'indietro è noto anche come metodo di deduzione all'indietro o di ragionamento all'indietro quando si utilizza un motore di inferenza. Un algoritmo di concatenamento all'indietro è una forma di ragionamento che inizia con l'obiettivo e funziona all'indietro, concatenando regole per trovare fatti noti che supportano l'obiettivo.
Proprietà del concatenamento all'indietro:
- È noto come approccio top-down.
- Il concatenamento all'indietro si basa sulla regola di inferenza del modus ponens.
- Nel concatenamento all'indietro, l'obiettivo viene suddiviso in sotto-obiettivi o sotto-obiettivi per dimostrare che i fatti sono veri.
- Si chiama approccio orientato agli obiettivi, poiché un elenco di obiettivi decide quali regole vengono selezionate e utilizzate.
- L'algoritmo di concatenamento all'indietro viene utilizzato nella teoria dei giochi, negli strumenti automatizzati per la dimostrazione di teoremi, nei motori di inferenza, negli assistenti di prova e in varie applicazioni di intelligenza artificiale.
- Il metodo del concatenamento all'indietro utilizzava principalmente a prima ricerca in profondità strategia per la prova.
Esempio:
Nel concatenamento all'indietro, utilizzeremo lo stesso esempio sopra e riscriveremo tutte le regole.
Possiede(A, T1) ........(2)
Prova del concatenamento all'indietro:
Nel concatenamento all'indietro, inizieremo con il nostro predicato di obiettivo, che è Criminale (Robert) , e quindi dedurre ulteriori regole.
Passo 1:
Al primo passo, prenderemo il fatto obiettivo. E dal fatto obiettivo dedurremo altri fatti e, alla fine, dimostreremo che quei fatti sono veri. Quindi il nostro obiettivo è 'Robert è un criminale', quindi quello che segue è il suo predicato.
Passo 2:
Nella seconda fase, dedurremo altri fatti dal fatto obiettivo che soddisfa le regole. Quindi, come possiamo vedere nella Regola-1, il predicato dell'obiettivo Criminal (Robert) è presente con la sostituzione {Robert/P}. Quindi aggiungeremo tutti i fatti congiuntivi sotto il primo livello e sostituiremo p con Robert.
Qui possiamo vedere che l'americano (Robert) è un dato di fatto, quindi è dimostrato qui.
Passaggio 3: t Al passo-3, estrarremo un ulteriore fatto Missile(q) che deduce da Arma(q), poiché soddisfa la Regola-(5). L'arma (q) è vera anche con la sostituzione di una costante T1 in q.
Passaggio 4:
Al passo 4, possiamo dedurre i fatti Missile(T1) e Owns(A, T1) da Sells(Robert, T1, r) che soddisfa la Regola - 4 , con la sostituzione di A al posto di r. Quindi queste due affermazioni sono dimostrate qui.
Passaggio 5:
Al passaggio 5, possiamo dedurre il fatto Nemico (A, America) da Ostile(A) che soddisfa la Regola 6. E quindi tutte le affermazioni sono dimostrate vere utilizzando il concatenamento all'indietro.