Logo dell'Università di Catania: Siciliae Studium Generale 1434 Logo DMI, Fondamenti di informatica
matite e gomma
Loghi istituzionali: Siciliae Studium Generale 1434, Università di Catania, Facoltà di Scienze Matematiche, Fisiche, Naturali, Insegnamento di Fondamenti di Informatica

Risoluzione e unificazione

Lezione 18 di Fondamenti di informatica

Docente: Giuseppe Scollo

Università di Catania
Facoltà di Scienze Matematiche, Fisiche e Naturali
Corso di Laurea in Informatica, I livello, AA 2009-10

Logo di Conformità WCAG-1 di Livello Tripla A, W3C-WAI Web Content Accessibility Guidelines 1.0 Validazione XHTML 1.0 Validazione CSS 3

Indice

  1. Risoluzione e unificazione
  2. risoluzione di clausole disgiuntive
  3. deduzione automatica per risoluzione
  4. sostituzioni, unificatori, sussunzione
  5. teoorema di unificazione
  6. strutture astratte per l'unificazione
  7. un algoritmo di unificazione

risoluzione di clausole disgiuntive

come si è visto in una lezione precedente:

gli elementi di ciascuna clausola disgiuntiva, detti letterali, possono essere:

il principio di risoluzione (J.A. Robinson, 1963) è una regola di inferenza che permette di dedurre la clausola Γ  Δ, detta risolvente, dalle clausole Γ  {α } e Δ  {¬α }

deduzione automatica per risoluzione

similmente ai metodi Herbrand-Skolem e al metodo dei tableau, i metodi deduttivi basati sul principio di risoluzione sono di tipo refutativo:

a differenza dei metodi Herbrand-Skolem, però, la presenza delle variabili richiede la considerazione non solo delle clausole date, o via via dedotte, ma anche delle loro istanze, ottenute per sostituzione di variabili con termini

indipendentemente dall'efficienza, una proprietà fondamentale del principio di risoluzione, supplementato da una regola di sostituzione (che può anche essere espressa assieme ad esso in un'unica regola di inferenza) è che ci fornisce un sistema deduttivo completo per la logica predicativa

sostituzioni, unificatori, sussunzione

dato un insieme di variabili V e una segnatura algebrica Σ, una sostituzione è una funzione σ : VTΣ(V), che manda variabili in termini

una sostituzione σ viene naturalmente estesa ad una funzione σ : TΣ(V)TΣ(V) per induzione strutturale:

similmente una sostituzione viene estesa a una funzione sulle Σ(V)-formule

l'esistenza di sostituzioni determina il preordine di sussunzione dei termini: t'  t ⇔ ∃σ t'(t)

quali termini sono minimali nel preordine di sussunzione? quali sono massimali?

un unificatore di due termini è una sostituzione che ne dà immagini uguali

teorema di unificazione

l'unificabilità di termini si estende in modo ovvio a quella di formule

più generalmente, un unificatore di un insieme S, di termini o di formule, è una sostituzione σ tale che σ(S) ha un solo elemento; S è unificabile se ha un unificatore

un preordine di sussunzione è definito anche sulle sostituzioni, dalla condizione σ' σ ⇔ ∃τ σ' = τ∘σ

non tutti gli insiemi di termini o formule sono unificabili:  ad es. {xω(x)} non lo è

vale tuttavia un fatto notevole:

il Teorema di Unificazione appena enunciato è dimostrato dall'esistenza di un algoritmo che, dato in input S, termina sempre, producendo in output tale elemento, detto unificatore di massima generalità (m.g.u.), quando S è unificabile, o altrimenti determina che S non lo è

strutture astratte per l'unificazione

esistono diverse varianti dell'algoritmo di unificazione, qui ci si limita all'idea essenziale, considerando per semplicità solo l'unificabilità di due termini t,t'

si definisce, per induzione strutturale, l'insieme diff(t,t') di coppie non ordinate di sottotermini dei rispettivi termini, essendo ciascuna coppia relativa a posti corrispondenti nelle strutture ad albero (radicato, ordinato) dei due termini

l'insieme delle riduzioni di diff(t,t') è il suo sottoinsieme costituito dalle coppie {u, v} che soddisfano la condizione di negoziabilità, costituita da entrambe le condizioni seguenti:

diff(t,t') è negoziabile se è non vuoto e tutte le sue coppie soddisfano tale condizione

un algoritmo di unificazione

un algoritmo di unificazione, dovuto a A.J.Robinson (1963) può essere concisamente descritto come segue, con l'impiego della seguente notazione: