I Frames, proposti da Marvin Minsky nel 1975, sono strutture dati che raggruppano procedure connesse a un oggetto o a una situazione.

Tipi di Frame:
- Frame Individuali: Rappresentano oggetti specifici e sono composti da
slot(contenitori) riempiti confiller(valori specifici, che possono essere semplici o riferimenti ad altri frame). Includono lo slot speciale:INSTANCE-OFche li collega al frame generico corrispondente. - Frame Generici (o di Classe): Sono modelli astratti che rappresentano categorie di oggetti e servono come prototipi. Possono specializzarsi in altri frame più generali tramite lo slot
:IS-A, stabilendo una gerarchia (tassonomia).
Componenti e Funzionamento:
- Slot: Contenitori per i
filler. - Procedure associate agli slot: Si attivano in due casi:
- IF-ADDED: Quando viene aggiunto un valore a uno slot (es. calcolare il giorno della settimana specificando una data).
- IF-NEEDED: Quando un valore è richiesto ma non ancora disponibile (es. calcolare l’altezza di un tavolo dalla lunghezza delle gambe).
- Ereditarietà:
- Dei valori: Un frame individuale può ereditare valori dai frame generici a cui è collegato tramite
:INSTANCE-OFe:IS-A. I valori ereditati sono usati solo se non esistono valori espliciti nell’istanza, permettendo di sovrascrivere i valori predefiniti (ereditarietà revocabile o defeasible). - Delle procedure: Anche le procedure
IF-ADDEDeIF-NEEDEDpossono essere ereditate. - Multipla: Un frame generico può essere una specializzazione di più frame, e un frame individuale può essere istanza di più categorie. Questo offre flessibilità ma può portare a conflitti tra valori ereditati da più fonti.
- Dei valori: Un frame individuale può ereditare valori dai frame generici a cui è collegato tramite
- Classificazione: Processo di aggiornamento dinamico della tassonomia quando si aggiunge un nuovo frame generico o una nuova istanza, collegandoli ai frame rilevanti e aggiornando i collegamenti esistenti. Il sistema trova i concetti più generali che includono il nuovo concetto (sussumitori più specifici) e i concetti più specifici inclusi dal nuovo concetto (sussunti più generali).
- Ragionamento: Le procedure associate ai frame permettono un ragionamento flessibile e organizzato. Il sistema riconosce un oggetto come istanza di un frame generico, attivando le procedure che possono modificare la base di conoscenza o generare nuovi dati. Il ciclo di ragionamento include la creazione dell’istanza, l’ereditarietà dei valori mancanti e l’attivazione delle procedure
IF-ADDED. Le procedureIF-NEEDEDvengono eseguite solo su richiesta. - Interrogazioni Tipiche: I sistemi a frame facilitano interrogazioni come:
- Trovare tutte le istanze di una categoria (es. tutti gli oggetti di tipo
TravelStep). - Trovare tutte le categorie a cui appartiene un oggetto (es. a quali categorie generiche appartiene
toronto, utile per l’ereditarietà delle proprietà). Queste interrogazioni sono efficienti grazie alla struttura gerarchica che riduce il costo computazionale e permette di navigare la tassonomia evitando ridondanze.
- Trovare tutte le istanze di una categoria (es. tutti gli oggetti di tipo
- Vantaggi: L’organizzazione a frame rende la conoscenza flessibile, modulare e automatica. L’utente non deve specificare ogni dettaglio, poiché il sistema deduce, completa, aggiorna e collega i dati intelligentemente, agendo come un “foglio di calcolo simbolico”.