default logic (tsz. default logics)
A klasszikus logika monoton, azaz ha egyszer egy állítás igaznak bizonyul, akkor az minden további információ hatására is igaz marad. Azonban a hétköznapi gondolkodás nem ilyen.
„A madarak repülnek.” „A pingvin madár.” → „A pingvin repül.” ❌ (Ez hibás!)
A klasszikus logikában, ha a madarak repülnek, és a pingvin madár, akkor következtetnénk, hogy a pingvin repül – pedig ez kivétel. A default logic célja éppen az ilyen általánosítások és kivételkezelés formális leírása.
A default logic a következő részekből áll:
A default szabály szintaxisa:
α : β₁, β₂, ..., βₙ / γ
Ahol:
α
az előfeltételβ₁, ..., βₙ
a feltételezett dolgok (justifications)γ
a következtetésJelentése: ha α
igaz, és β₁, ..., βₙ
nem cáfoltak, akkor következtethetünk γ
-ra.
Bird(Tweety)
Penguin(Tweety)
∀x (Penguin(x) → Bird(x))
∀x (Penguin(x) → ¬Flies(x))
Bird(x) : Flies(x) / Flies(x)
Ez azt mondja: ha valaki madár, és nincs bizonyíték arra, hogy nem repül, akkor feltételezzük, hogy repül.
Azonban a fenti tényekből tudjuk, hogy Tweety pingvin → nem repül. Így a default szabály nem alkalmazható, mert ¬Flies(Tweety)
már igazolt.
A default logic nemmonoton, azaz:
Ez rendkívül fontos a valós intelligens rendszerekben, ahol a tudás dinamikusan bővül.
Egy default theory egy párból áll:
⟨W, D⟩
Ahol:
W
: háttértudás (tények halmaza)D
: default szabályok halmazaA cél: egy kiterjesztést találni – azaz olyan állítások halmazát, ami:
W
elemeit
A default logic egyik központi fogalma a kiterjesztés (extension):
W
háttértudásból,Fontos: lehet, hogy egy default theory-nek több kiterjesztése is van – ezek különböző értelmezéseknek felelnek meg.
→ Mindkét default alkalmazható, de nem lehet egyszerre mindkettőt igaznak tekinteni → két különböző kiterjesztés.
A default logic hatékony modell lehet, de számítási szempontból nehéz:
Rendszer | Monoton? | Kezeli a kivételeket? | Tanul példákból? |
---|---|---|---|
Klasszikus logika | ✔️ | ❌ | ❌ |
Default logic | ❌ | ✔️ | ❌ |
Probalistic logic | ❌ | ✔️ | ✔️ (valószínűségi) |
Induktív logika | ❌ | részben | ✔️ |
Gépi tanulás (ML) | ❌ | ✔️ (adaton alapulva) | ✔️ |
A számítási nehézségek miatt a gyakorlatban egyszerűbb változatokat használnak:
Normal defaults: olyan szabályok, ahol a következtetés megegyezik a justification-nel Példa:
α : γ / γ
Semi-normal defaults: justification tartalmazhat további feltételeket
Ezekkel a formákkal könnyebb kiterjesztést számolni, és jobban illeszthetők rendszerekbe.
A default logic egy formális logikai rendszer, amely lehetővé teszi, hogy általános szabályokat fogalmazzunk meg, kivételek kezelése mellett. Ez különösen fontos a nem teljes, bizonytalan vagy változó információval dolgozó rendszerekben.
A klasszikus logikával szemben a default logic nemmonoton, vagyis az új információ megváltoztathatja a korábbi következtetéseket. Ez teszi különösen alkalmassá a valóság modellezésére, ahol a „legtöbb esetben” igaz állítások és ritka kivételek egyaránt előfordulnak.
Bár számítási szempontból kihívást jelent, a default logic a mesterséges intelligencia és a logikai következtetés egyik legfontosabb eszköze, különösen olyan helyzetekben, ahol strukturált tudás és kivételkezelés egyaránt szükséges.