10.2. Kategóriák és objektumok

Fontos

Az objektumok kategóriákba (categories) való szervezése a tudásreprezentáció szempontjából létfontosságú. Bár a világgal való kölcsönhatás az egyedi objektumok szintjén történik, a következtetések zöme a kategóriák szintjén valósul meg. A bevásárló célja egy kosárlabda megvásárlása és nem egy konkrét kosárlabdapéldánynak, mondjuk KL9-nek a megvétele. Ha az objektumok osztályozását elvégeztük, kategóriák segítségével megjósolhatjuk az objektumok tulajdonságait. Érzékelő jelek alapján következtetünk bizonyos objektumok jelenlétére, az érzékelt tulajdonságokból következtetünk, hogy az objektumok milyen kategóriákhoz tartoznak, majd a kategóriákra vonatkozó ismereteket felhasználhatjuk, hogy az objektumokra vonatkozóan előrejelzéseket hozzunk. Így például a zöld, foltos felület, a tekintélyes nagyság és az ovális vagy gömbszerű alak alapján görögdinnyére következtethetünk; a görögdinnyére vonatkozó ismereteink alapján pedig arra, hogy az felhasználható lenne gyümölcssaláta készítéséhez.

Az elsőrendű logikában a kategóriák reprezentálására két alapvető választásunk lehet: a predikátumok és az objektumok. Használhatunk egy KosárLabda(l) predikátumszimbólumot, vagy a kategóriát KosárLabda objektumként reifikálhatjuk (reification). Mondhatjuk akkor, hogy Eleme(l, KosárLabda) (rövidítve lKosárLabda) annak a kifejezésére, hogy l a kosárlabda-kategória eleme. Azt mondjuk, hogy Részhalmaza(KosárLabda, Labda) (rövidítve KosárLabdaLabda) annak a kifejezésére, hogy a KosárLabda a Labda egy alkategóriája vagy részhalmaza. Egy kategóriát tekinthetünk az elemeiből álló halmaznak, de egy sokkal bonyolultabb objektumnak is képzelhetjük, olyannak, amire az Eleme és a Részhalmaza relációk definiáltak.

A kategóriák öröklődés (inheritance) révén szolgálják a tudásbázis szervezését és egyszerűsítését. Ha kijelentjük, hogy az Élelem kategória minden egyes példánya ehető, és feltételezzük, hogy a Gyümölcs Élelem, az Alma viszont a Gyümölcs kategória egy alosztálya, akkor tudjuk, hogy minden alma ehető. Azt mondjuk, hogy az egyes almák az ehetőségi tulajdonságukat örökölték (inherit), jelen esetben az Élelem kategóriához való tartozás révén.

Az alosztály-relációk a kategóriákat taxonómiába vagy taxonomikus hierarchiába (taxonomy, taxonomic hierarchy) szervezik. A taxonómiákat tudományos területeken évszázadok óta alkalmazták. Így például a rendszerező biológia az összes élő és kihalt faj taxonómiáját igyekszik megadni, a könyvtártudomány az összes tudományos területet átfogó taxonómiáját – a Dewey Decimális rendszert – alakította ki, az adóhatóságok és más kormányzati szervek a foglalkozások és termékek kiterjedt taxonómiáját hozták létre. A taxonómiák – ahogy a további elemzéseinkben látni fogjuk – fontos aspektusai a józan ész tudásnak is.

A kategóriákról az elsőrendű logikában könnyű állításokat megfogalmazni az objektumok és a kategóriák egymáshoz való rendelésével vagy a kategóriához tartozó egyedek szerinti kvantifikálás révén:

  • Egy objektum egy kategória egyede, például:

KL9KosárLabda

  • Egy kategória egy másik kategória alosztálya, például:

KosárLabdaLabda

  • Egy kategória összes egyede egy bizonyos tulajdonsággal rendelkezik, például:

xKosárLabdaGömbölyű(x)

  • Egy kategória egyedeit bizonyos tulajdonságaik alapján fel lehet ismerni, például:

Narancsszinű(x) ∧ Gömbölyű(x) ∧ Átmérő(x) = 24 ∧ xLabdaxKosárLabda

  • Egy kategóriának önmagában bizonyos tulajdonságai vannak, például:

KutyaHonosítottFajta

Jegyezzük meg, hogy mivel a Kutya egy kategória és a HonosítottFajta kategóriának egy egyede, így a HonosítottFajta a kategóriák kategóriája. A kategóriák kategóriáinak a kategóriáiról is lehetne beszélni, de ennek kevés a haszna.

Bár az alosztály- és az egyedrelációk a kategóriák szempontjából a legfontosabbak, olyan kategóriák közötti relációkat is ki szeretnénk fejezni, amelyek egymásnak nem alosztályai. Ha például azt mondjuk, hogy a Hím és a Nőstény az Állat alosztályai, ezzel nem mondtuk azt, hogy egy hím nem lehet nőstény. Azt mondjuk, hogy két vagy több kategória diszjunkt (disjoint), ha közös egyedei nincsenek. Ha tudjuk azt is, hogy a hímek és a nőstények kölcsönösen kizárják egymást, attól még nem tudjuk, hogy egy állatnak, amely nem hím, nősténynek kell lennie, hacsak nem mondjuk ki, hogy a hímek és a nőstények az állatok kimerítő felosztását (exhaustive decomposition) képezik. A diszjunkt kimerítő felosztás a partíció (partition). Ezt a három fogalmat az alábbi példák illusztrálják:

Diszjunkt({Állat, Zöldség})

KimerítőFelosztás({Amerikai, Kanadai, Mexikói}, ÉszakAmerikai)

Partíció({Hím, Nőstény}, Állat)

(Jegyezzük meg, hogy az ÉszakAmerikai KimerítőFelosztás-a nem Partíció, mert vannak kettős állampolgárságú személyek is.) E három predikátum definíciója az alábbi:

Diszjunkt(s) ⇔ (∀c1, c2 c1sc2sc1c2 Metszet(c1, c2) = { })

KimerítőFelosztás(s, c) ⇔ (∀i ic ⇔ ∃c2 c2 sic2)

Partíció(s, c) ⇔ Diszjunkt(s) ∧ KimerítőFelosztás(s, c)

Kategóriákat úgy is definiálhatunk, hogy megadjuk a tagságuk elégséges és szükséges feltételeit. Például egy agglegény egy felnőtt, nem házas férfi:

x AgglegényNemHázas(x) ∧ x Felnőttx Férfi

Ahogy erről a természetes fajtákról szóló rövid kitérőben szó lesz, a kategóriák szigorú logikai definíciója nem mindig lehetséges, és nem is mindig szükséges.

10.2.1. Fizikai összetétel

Az a gondolat, hogy egy objektum része lehet egy másik objektumnak, nem újkeletű. Valakinek az orra része a fejének, Románia Európa része, ez a fejezet a könyvünk egy része. Hogy megmondhassuk, hogy egy dolog része egy másiknak, egy általános Része relációt fogunk használni. Az objektumokat tehát Része hierarchiába lehet szervezni, ami hasonlít a Részhalmaza hierarchiára:

Része(Bukarest, Románia)

Része(Románia, KeletEurópa)

Része(KeletEurópa, Európa)

Része(Európa, Föld)

A Része reláció tranzitív és reflexív, azaz:

Része(x, y) ∧ Része(y, z) ⇒ Része(x, z)

Része(x, x)

Ebből adódóan kikövetkeztethető, hogy Része(Bukarest, Föld)

Az összetett objektumok (composite object) kategóriáit gyakran ezen objektumok részei között értelmezett strukturális relációkkal jellemezzük. Például egy kétlábúnak pontosan két lába van, ami egy testhez van rögzítve:

KétLábú(a) ⇒ ∃l1, l2, b Láb(l1) ∧ Láb(l2) ∧ Test(b) ∧ Része(l1, a) ∧ Része(l2, a)

Része(b, a) ∧ Rögzített(l1, b) ∧ Rögzített(l2, b) ∧ l1l2

∧ [∀l3 Láb(l3) ∧ Része(l3, a) ⇒ (l3 = l1 l3 = l2)

A „pontosan kettő” jelölés egy kicsit fura. Kénytelenek vagyunk kijelenteni, hogy két láb van, és ezek nem azonosak, és ha valaki egy harmadik lábbal jön elő, annak azonosnak kell lennie a kettő valamelyikével. A 10.6. alfejezetben látni fogjuk, hogy a leíró logikának nevezett formalizmus a „pontosan kettő” típusú korlátozásokat egyszerűbben fejezi ki.

A kategóriákra vonatkozó Partíció reláció mintájára egy RészPartíció relációt definiálhatunk (lásd 10.6. feladat). Egy objektum a RészPartíció-jában felsorolt részeiből áll, és bizonyos tulajdonságaira ezekből a részekből lehet következtetni. Így például egy összetett objektum tömege a részeihez tartozó tömegek összege. Jegyezzük meg, hogy ez a kategóriákra nem vonatkozik: egy kategóriának nincs tömege annak ellenére, hogy az elemeinek lehet tömege.

Hasznos olyan összetett objektumokat is definiálni, amelyeknek meghatározott részei vannak, de konkrét struktúrájuk nincsen. Előfordulhat, hogy azt szeretnénk mondani, hogy: „A zacskóban 3 kg alma van.” Kísértést érezhetnénk, hogy a zacskóban-alma halmazhoz súlyt rendeljük, ez azonban hiba lenne, mert egy halmaz absztrakt matematikai fogalom, aminek vannak elemei, de súlya nincs. Ahelyett egy új fogalomra van szükségünk, amit kötegnek (bunch) fogunk nevezni. Ha az almák például az Alma1, az Alma2 és az Alma3, akkor a:

Köteg({Alma1, Alma2, Alma3})

a három almából (mint részből, de nem mint elemből) álló összetett objektumot jelöli. A köteget egy közönséges, bár nem strukturált objektumként használhatjuk. Jegyezzük meg, hogy Köteg({x}) = x.Továbbá, hogy a Köteg(Alma) az összes almából álló összetett objektum, amit az Alma kategóriával összetéveszteni nem szabad.

A Köteg-et a Része relációval tudjuk definiálni. Az s minden eleme, eleme a Köteg({s})-nek is:

x xsRésze(x, Köteg(s))

Továbbá, a Köteg(s) a legkisebb objektum, amely ezt a feltételt teljesíti. Más szóval a Köteg(s) részének kell lennie minden olyan objektumnak, amely az s összes elemét részeként tartalmazza:

y [∀x xsRésze(x, y)] ⇒ Része(Köteg(s), y)

Ezek az axiómák a logikai minimalizálásnak (logical minimization) nevezett általános módszer egy példáját jelentik. A logikai minimalizálás azt jelenti, hogy egy objektumot bizonyos feltételeket kielégítő legkisebb objektumnak definiálunk.

10.2.2. Mérések

A világnak mind a tudományos, mind a józan ész elméleteiben az objektumoknak magassága, tömege, ára van és így tovább. Az ezekhez a tulajdonságokhoz előírt értékek a mértékek (measures). Közönséges, kvantitatív mértékeket könnyű reprezentálni. Képzeljük el, hogy az univerzum absztrakt „mértékobjektumokat” tartalmaz, mint például a hossz, ami az itt látható vonalszegmens hossza:

Nevezhetjük ezt a hosszot 1,5 hüvelyknek vagy 3,81 cm-nek. Ugyanannak a hossznak tehát a nyelvünkben több, különböző neve is lehet. Logikailag ez úgy lehetséges, hogy egy egységfüggvényt (unit function) egy számmal kombinálunk. (Egy alternatív sémával a 10.8. feladatban foglalkozunk.) Ha L1 a vonalszegmens neve, akkor azt írhatjuk, hogy:

Hossz(L1) = Hüvelyk(1,5) = Centiméter(3,81)

Az egységek közötti konverziót olyan állításokkal lehet megoldani, amelyek az egyik egység többszörösét a másik egységgel teszik azonossá:

Centiméter(2,54 × l) = Hüvelyk(l)

Hasonló axiómákat a fontokra és kilogrammokra, a másodpercekre és a napokra, a dollárokra és a centekre is felírhatunk. A mértékekkel az objektumokat az alábbi módon tudjuk leírni:

Átmérő(KosárLabda12) = Hüvelyk(9,5)

Ár(KosárLabda12) = $(19)

dNapokTartam(d) = Óra(24)

Jegyezzük meg, hogy a $(1) nem egy egydolláros bankó! Az egydolláros bankóból lehet kettő, de a $(1) nevű objektumból csak egy van. Jegyezzük meg azt is, hogy míg a Hüvelyk(0) és Centiméter(0) ugyanarra a zérushosszra hivatkozik, más zérusmértékekkel, mint például a Másodperc(0) nem azonosak.

Egyszerű, kvantitatív mértékeket reprezentálni könnyű. Más mértékek több problémát okoznak, mert nincs hozzájuk elfogadott értékskála. A gyakorlat nehéz, a desszert finom és a vers szép, azonban e kvalitásokhoz nehéz számokat rendelni. Valaki megkísérelhetné az ilyen tulajdonságokat teljesen elutasítani, mint olyanokat, melyeknek a logikai következtetés szempontjából nincs hasznuk, vagy – ami még rosszabb – megkísérelhetne a szépségre egy numerikus skálát rákényszeríteni. Ez súlyos hiba lenne, mert ilyen lépésre nincs is szükség. A mértékek legfontosabb tulajdonsága nem az, hogy valamilyen konkrét numerikus értékkel rendelkeznek, hanem, hogy rendezettek.

Annak ellenére, hogy a mértékek nem számok, összehasonlításukra a > rendező szimbólumot fogjuk használni. Így például hihetjük azt, hogy a Norvig írta feladatok nehezebbek, mint azok, amiket Russell írt, és hogy egy nehezebb feladatnál kevesebb pontot lehet elérni:

e1Feladatok e2Feladatok Írta(Norvig, e1) ∧ Írta(Russell, e1) ⇒

Nehézség(e1) > Nehézség(e2)

e1Feladatoke2Feladatok Nehézség(e1) ∧ Nehézség(e2) ⇒

VárhatóEredmény(e1) < VárhatóEredmény(e2)

Ez elég is ahhoz, hogy valaki eldönthesse, melyik feladattal érdemes foglalkoznia, bármennyire nem használtunk semmiféle numerikus értéket a nehézség kifejezésére. (Azért azt meg kell tudnunk állapítani, hogy melyik feladatot ki írta.) A mértékek közötti efféle monoton reláció az alapja a kvalitatív fizika (qualitative physics) területének. Ez az MI egy részterülete, amely azt vizsgálja, hogy hogyan lehetne a fizikai rendszerekre következtetni anélkül, hogy a részletes egyenletekbe és a numerikus szimulációkba belebonyolódnánk. A kvalitatív fizikával a történeti megjegyzésekben foglalkozunk.

Fontos

Természetes fajták

Egyes kategóriáknak szigorú definíciói vannak. Egy objektum akkor és csak akkor háromszög, ha egy háromoldalú sokszög. A valódi világban viszont a kategóriák többsége természetes fajtájú (natural kind) anélkül, hogy bármilyen letisztult definíciója lenne. Tudjuk például, hogy a paradicsomok mélyvörös színűek és nagyjából gömbszerűek szoktak lenni, a tetejükön, ahol a száruk csatlakozott, egy kis bemélyedéssel rendelkeznek, nagyjából 5–8 cm átmérőjűek, és vékony, de erős bőrrel, belül hússal, magvakkal és lével rendelkeznek. Azt is tudjuk azonban, hogy eltérések is vannak. Egyes paradicsomok narancsszínűek, az éretlen paradicsom zöld, egyesek kisebbek, illetve nagyobbak, mint az átlag, a miniparadicsomok egységesen kisméretűek. Ahelyett hogy a paradicsomok tökéletes definíciójára törekednénk, inkább egy tulajdonsághalmazzal rendelkezünk, amely arra szolgál, hogy azonosítsunk bizonyos objektumokat, amelyek nyilvánvalóan tipikus paradicsomok, más objektumok esetén azonban lehet, hogy a felismerés csődöt mond. (Lehet egy paradicsom szőrös, mint egy őszibarack?)

Egy logikai ágens részére ez problémát jelent. Az ágens nem lehet biztos abban, hogy az általa érzékelt objektum valóban egy paradicsom, és ha mégis biztos lenne benne, nem tudná eldönteni, hogy a tipikus paradicsom tulajdonságai közül az érzékelt objektum melyekkel rendelkezik. Ez a probléma egyenes következménye annak, hogy az ágens egy hozzáférhetetlen környezetben működik.

Egy hasznos megközelítés szétválasztani mindazt, ami a kategória minden egyedére igaz, attól, ami csupán a kategória tipikus egyedeire igaz. A Paradicsom kategória mellett szükség van még a Tipikus(Paradicsom) kategóriára. A Tipikus függvény egy kategóriát egy olyan alosztályra képez le, amely csak tipikus egyedekből áll:

Tipikus(c) ⊆ c

A természetes fajtákra vonatkozó tudás többsége tulajdonképpen tipikus egyedekről szól:

xTipikus(Paradicsom) ⇒ Piros(x) ∧ Gömbölyű(x)

Ily módon képesek vagyunk a kategóriákra vonatkozó fontos tényeket feljegyezni anélkül, hogy pontos definíciókat kellene megadnunk.

Azzal, hogy a természetes kategóriák többsége esetén az egzakt definíció megalkotása nehézségekbe ütközik, részletesen Wittgenstein foglalkozott a Philosophical Investigations c. művében (Wittgenstein, 1953). A játékok példáját használta fel, hogy kimutassa, a kategória egyedei inkább egyfajta „családi hasonlóságban” és nem valami szükséges és elégséges jellegzetességekben osztoznak.

Quine szintén támadta a szigorú definíció hasznosságát (Quine, 1953). Azt mutatta ki, hogy az „agglegény” definíciója, mint egy nem házas felnőtt férfi is gyanús. Valaki megkérdőjelezhetné például, hogy „A Pápa agglegény” értelmes állítás-e. Bár nem kifejezetten hamis, ez a fogalomhasználat mégis szerencsétlen, mert az olvasónak nem szándékolt következtetések levonását teszi lehetővé. A feszültséget fel lehetne oldani megkülönböztetést téve a tudásreprezentációban való belső használatra alkalmas logikai definíció és a helyes nyelvészeti használat jobban árnyalt kritériumai között. A másik megkapható az elsőből a levont következtetések szűrésével. Az is lehetséges, hogy a nyelvészeti használat kudarcai visszacsatolásként hatnak a belső definíció módosítása érdekében, fölöslegessé téve a szűrést.

10.2.3. Szubsztanciák és objektumok

A világot lehetne úgy szemlélni, hogy primitív objektumokból (részecskékből) és az azokból felépülő összetett objektumokból áll. Az olyan nagy objektumok, mint például az almák vagy az autók szintjén végzett következtetéssel meg tudunk birkózni a primitív objektumok óriási számából eredő bonyolultsággal. A valóság tekintélyes része azonban az egyedesítés (individuation) – az elkülönülő objektumokra való felbontásnak – látszólag ellenáll. A valóságnak ezt a részét az anyag (stuff) általános névvel fogjuk illetni. Példaképpen tételezzük fel, hogy van előttem egy malac és egy kevés vaj.[94] Azt mondhatom, hogy malacból egy van, de a „vaj objektum” nem megszámlálható, hiszen akármilyen része a vaj objektumnak szintén vaj objektum, legalábbis amíg az igazán kicsi részekhez el nem jutunk. Ez az anyag és a dolgok közötti fő különbség. Sajnos nem lesz két malacunk, ha a malacot kettészeljük.

Vegyük észre, hogy a magyar nyelv az anyag és a dolgok között különbséget tesz.[95] Azt mondjuk „egy malac”, de bizonyos éttermi vagy bolti gyakorlattól eltekintve, nem mondhatjuk azt, hogy „egy vaj”. A nyelvészek különbséget tesznek a megszámlálható főnevek (count nouns), mint például malacok, gödrök vagy tételek, és a nem megszámlálható főnevek (mass nouns), mint például vaj, víz és energia között. Néhány versengő ontológiáról azt állítják, hogy e különbségeket képes kezelni. Az egyiket itt írjuk le, a többiről a történeti feljegyzésekben lehet olvasni.

Hogy az anyagot jól reprezentálhassuk, egy nyilvánvaló dologgal kezdünk. Ontológiánkban az anyag nagyobb kötegeit kell tudnunk objektumként kezelni. Például a vajban felismerjük azt a vajat, amit tegnap este az asztalon hagytunk, esetleg felemelhetjük, megmérhetjük, eladhatjuk vagy akármi mást csinálhatunk vele. Ilyen értelemben ez egy objektum, pontosan olyan, mint egy malac. Nevezzük Vaj3-nak. Definiálni fogjuk a Vaj kategóriát is. Ennek elemei, informálisan, mindazok az objektumok, amikre azt lehet mondani: „Ez vaj”, a Vaj3-at is beleértve. A nagyon kicsi, de most elhanyagolt alkotórészek szerepére vonatkozó intésről nem megfeledkezve, a vaj objektum minden része szintén vaj objektum:

xVaj Része(y, x) ⇒ yVaj

Most már mondhatjuk, hogy vaj kb. 30 foknál olvad meg:

Vaj(x) ⇒ OlvadásiPont(x, Celsius(30))

A vaj sárga, kevésbé sűrű, mint a víz, szobahőmérsékleten puha, magas zsírtartalmú stb. Másrészt a vajnak nincs konkrét nagysága, alakja vagy súlya. Specializáltabb kategóriákat is definiálhatunk, mint például NemSózottVaj, ami szintén egy anyag, mert a nem sózott vaj objektum akármilyen része szintén nem sózott vaj objektum. Ha azonban az EgyKilóVaj kategóriát definiáljuk, amely az összes, egy kiló súlyú vaj objektumot tartalmazza, nincs többé anyagunk! Ha egy kiló vajat kettévágunk, nem kapunk kétszer egy kiló vajat – ami a valódi világ azon bosszantó dolgainak egyike, amivel sajnos együtt kell élni.

Valójában arról van szó, hogy vannak ún. belső (intrinsic) tulajdonságok: ezek inkább magához az objektum szubsztanciájához tartoznak, mint az objektum egészéhez. Ha valamit kettévágunk, a részei a belső tulajdonságukat megtartják – legyen ez sűrűség, forráspont, íz, szín, a tulajdonos stb. A külső (extrinsic) tulajdonságok éppen az ellenkezőt jelentik: olyan tulajdonságokat, mint a súlyt, hosszat, alakot, funkciót stb., amelyeket a részekre bontásnál megtartani nem lehet.

Az objektumok olyan osztálya, amelyek definíciójában csakis belső tulajdonságok szerepelnek, a szubsztanciák, illetve a nem megszámlálható főnevek osztálya. Az az osztály, amelynek definíciójában bármilyen külső tulajdonság is szerepel, a megszámlálható főnevek osztálya. Az anyag kategória a legáltalánosabb szubsztanciakategória, egyetlen belső tulajdonsága sincs. A dolog a diszkrét objektumok legáltalánosabb kategóriája, egyetlen külső tulajdonsága sincs. Minden fizikai objektum mindkét kategóriába tartozik, így a kategóriák együtt léteznek – ugyanazokra az entitásokra utalnak.



[94] A szövegben eredetileg „aardvark” (földimalac) szerepel, ami egy malacszerű dél-afrikai állatfajta. (A ford.)

[95] A szövegben eredetileg természetesen angol példa szerepel – „an aardvark” és „a butter/butter”. (A ford.)