A Propozíciós logika témakörben láthattuk, hogy hogyan ábrázoljunk állításokat propozíciós logikával. De sajnos a propozíciós logikában csak a tényeket tudjuk ábrázolni, amelyek vagy igazak vagy hamisak. A PL nem elegendő az összetett mondatok vagy természetes nyelvi állítások megjelenítésére. A propozíciós logikának nagyon korlátozott kifejezőereje van. Tekintsük a következő mondatot, amelyet nem tudunk PL logikával ábrázolni.
string.compare c#
A fenti állítások megjelenítéséhez a PL logika nem elegendő, ezért szükségünk volt néhány erősebb logikára, például elsőrendű logikára.
Elsőrendű logika:
- Az elsőrendű logika a tudásreprezentáció másik módja a mesterséges intelligenciában. Ez a propozíciós logika kiterjesztése.
- A FOL kellően kifejező ahhoz, hogy a természetes nyelvi állításokat tömören ábrázolja.
- Az elsőrendű logika más néven Predikátumlogika vagy Elsőrendű predikátumlogika . Az elsőrendű logika egy erőteljes nyelv, amely könnyebben fejleszti az objektumokról szóló információkat, és kifejezheti az objektumok közötti kapcsolatot is.
- Az elsőrendű logika (mint a természetes nyelv) nemcsak azt feltételezi, hogy a világ olyan tényeket tartalmaz, mint a propozíciós logika, hanem a következő dolgokat is feltételezi a világban:
Objektumok: A, B, emberek, számok, színek, háborúk, elméletek, négyzetek, gödrök, wumpusok, ......
Az elsőrendű logika szintaxisa:
A FOL szintaxisa határozza meg, hogy melyik szimbólumgyűjtemény logikai kifejezés az elsőrendű logikában. Az elsőrendű logika alapvető szintaktikai elemei a szimbólumok. Az állításokat FOL-ban rövid jelöléssel írjuk.
Az elsőrendű logika alapelemei:
A FOL szintaxis alapvető elemei a következők:
Állandó | 1, 2, A, John, Mumbai, macska,... |
Változók | x, y, z, a, b,.... |
Predikátumok | Testvér, apa, >,.... |
Funkció | sqrt, LeftLegOf, .... |
Összekötők | ∧, ∨, ¬, ⇒, ⇔ |
Egyenlőség | == |
Kvantifikátor | ∀, ∃ |
Atommondatok:
- Az atommondatok az elsőrendű logika legalapvetőbb mondatai. Ezeket a mondatokat állítmány szimbólumból alkotják, amelyet egy zárójel követ egy kifejezéssorozattal.
- Az atomi mondatokat mint Predikátum (term1, term2, ......, term n) .
Példa: Ravi és Ajay testvérek: => Testvérek (Ravi, Ajay).
Chinky egy macska: => macska (Chinky) .
Összetett mondatok:
- Az összetett mondatok atomi mondatok konnektívumok segítségével történő kombinálásával készülnek.
Az elsőrendű logikai utasítások két részre oszthatók:
Tekintsük a következő állítást: 'x egész szám'. , két részből áll, az első x rész az állítás tárgya, a második rész pedig egy egész szám, predikátumként ismert.
Kvantifikátorok az elsőrendű logikában:
- A kvantor egy nyelvi elem, amely kvantifikációt generál, és a kvantifikáció határozza meg a minta mennyiségét a diskurzus univerzumában.
- Ezek azok a szimbólumok, amelyek lehetővé teszik a változó tartományának és hatókörének meghatározását vagy azonosítását a logikai kifejezésben. Kétféle kvantor létezik:
Univerzális kvantor (mindenkihez, mindenkinek, mindenhez)
Univerzális kvantor:
Az univerzális kvantor a logikai reprezentáció szimbóluma, amely meghatározza, hogy a tartományon belüli állítás egy adott dolog mindenre vagy minden példányára igaz.
Az univerzális kvantort egy ∀ szimbólum képviseli, amely egy fordított A-ra emlékeztet.
Megjegyzés: Az univerzális kvantorban '→' implikációt használunk.
Ha x egy változó, akkor ∀x a következőképpen jelenik meg:
gimp színe megváltozik
Példa:
Minden ember kávét iszik.
Legyen egy x változó, amely egy macskára vonatkozik, így az összes x ábrázolható UOD-ban az alábbiak szerint:
∀x ember(x) → ital (x, kávé).
Ez így lesz olvasható: Mind olyan x van, ahol x egy férfi, aki kávét iszik.
Egzisztenciális kvantor:
Az egzisztenciális kvantorok a kvantorok azon típusai, amelyek azt fejezik ki, hogy a hatókörébe tartozó állítás valaminek legalább egy példányára igaz.
Ezt a ∃ logikai operátor jelöli, amely invertált E-hez hasonlít. Ha predikátumváltozóval használjuk, akkor egzisztenciális kvantornak nevezzük.
Megjegyzés: Az egzisztenciális kvantorban mindig ÉS vagy kötőszót használunk (∧).
Ha x egy változó, akkor az egzisztenciális kvantor ∃x vagy ∃(x) lesz. És így lesz olvasható:
Példa:
Néhány fiú intelligens.
∃x: fiúk(x) ∧ intelligens(x)
integer to string java
A következőképpen olvasható: Van néhány x, ahol x egy intelligens fiú.
Emlékeztető pontok:
- Az univerzális kvantor fő összekötője ∀ implikáció → .
- Az egzisztenciális kvantor fő összekötője ∃ és ∧ .
A kvantorok tulajdonságai:
- Az univerzális kvantorban ∀x∀y hasonló ∀y∀x-hez.
- Az egzisztenciális kvantorban ∃x∃y hasonló ∃y∃x-hez.
- ∃x∀y nem hasonlít ∀y∃x-hez.
Néhány példa a kvantort használó FOL-ra:
1. Minden madár repül.
Ebben a kérdésben az állítmány a következő: légy (madár) .'
És mivel minden madár repül, így ez a következőképpen lesz ábrázolva.
∀x madár(x) →repül(x) .
2. Minden férfi tiszteli a szülőjét.
Ebben a kérdésben az állítmány a következő: tisztelet(x, y),' ahol x = ember és y = szülő .
Mivel minden ember létezik, ezért használja a ∀-t, és a következőképpen fog ábrázolni:
∀x ember(x) → tiszteletben tartja (x, szülő) .
nat vs ágy
3. Néhány fiú krikettez.
Ebben a kérdésben az állítmány a következő: játék (x, y) ,' ahol x = fiúk, és y = játék. Mivel van néhány fiú, így használni fogjuk ∃, és így lesz ábrázolva :
∃x fiúk(x) → játék(x, krikett) .
4. Nem minden diák szereti a matematikát és a természettudományokat egyaránt.
Ebben a kérdésben az állítmány a következő: like(x, y),' ahol x = tanuló és y = tantárgy .
Mivel nincs minden diák, ezért használni fogjuk ∀ tagadással, tehát ehhez a következő ábrázolás:
¬∀ (x) [ diák(x) → tetszik(x, matematika) ∧ like(x, tudomány)].
5. Csak egy diák bukott meg matematikából.
Ebben a kérdésben az állítmány a következő: sikertelen(x, y),' ahol x= tanuló és y= tantárgy .
Mivel csak egy diák bukott meg matematikából, ezért a következő ábrázolást használjuk ehhez:
∃(x) [ tanuló(x) → megbukott (x, matematika) ∧∀ (y) [¬(x==y) ∧ diák(y) → ¬nem sikerült (x, matematika)] .
Szabad és kötött változók:
A kvantorok kölcsönhatásba lépnek a megfelelő módon megjelenő változókkal. Az elsőrendű logikában kétféle változó létezik, amelyeket alább adunk meg:
Szabad változó: Egy változót szabad változónak nevezünk a képletben, ha a kvantor hatókörén kívül fordul elő.
Példa: ∀x ∃(y)[P (x, y, z)], ahol z szabad változó.
Kötött változó: Egy változót kötött változónak nevezünk egy képletben, ha a kvantor hatókörén belül fordul elő.
Példa: ∀x [A (x) B( y)], itt x és y a kötött változók.