5. Tétel: Mátrixok; Logikai problémák
Mátrix fogalma, műveletek, determináns, rang.
Mátrix:
- Egy m sorral és n oszloppal rendelkező számtáblázatot m x n-es mátrixnak nevezünk.
- Az összes m x n-es mátrix halmazát Mmxn-nel jelöljük.
- Ha n = m, akkor a mátrix négyzetes vagy kvadratikus.
- A mátrix főátlója alatt az (a11,a22,...amn) szám k-ast értjük.
- Két mátrix egyenlő, ha azonos típusúak (azaz ugyanannyi soruk és oszlopuk van), és a megfelelő elemeik megegyeznek.
- Azt az n x n-es mátrixot, melynek főátlójában csupa 1-es áll, minden más eleme 0, n-edrendű egységmátrixnak nevezzük.
Műveletek:
Mátrixok összeadása
-Csak azonos típusú mátrixokat tudunk összeadni. -Vagyis egy -as mátrixhoz, csak egy másik -as mátrixot tudunk hozzáadni. (sor és oszlopszám egyezik) -Azonos sor és oszlop-beli elemeket összeadjuk.
Mátrixok skalárral való szorzása
- Elemenként végezzük, azaz ha , , akkor
- Mátrixot megszorozzuk egy számmal, vagyis a mátrix minden elemét megszorozzuk vele.
Mátrixszorzás
- Egy -as mátrixszal csak egy -es mátrixot szorozhatunk.
- Vagyis az a szorzásban szereplő első mátrix arra kell, hogy végződjön, amivel a következő kezdődik.
- Szorzat mátrixnak annyi sora lesz, mint -nak és annyi oszlopa, mint -nek.
- Elemei úgy keletkeznek, hogy egyik sorát szorozzuk egyik oszlopával.
Mátrixok inverze:
- Azt mondjuk az A n-edrendű négyzetes mátrixról, hogy létezik inverze, ha létezik olyan B n-edrendű négyzetes (kvadratikus) mátrix, hogy a szorzatuk egységmátrix.
Mátrixok determinánsa:
- Nem más, mint egy négyzetes mátrixhoz rendelt szám.
- 2x2 mátrix esetén:
- Mátrix minden sorából és oszlopából kiválasztunk egy és csak egy elemet, majd ezeket összeszorozzuk.
- Ezt az összes lehetséges módon megtesszük, majd ellátjuk egy előjellel.
- 3x3 mátrix esetén:
- Kiszámolása saurrusz szabály néven ismert.
- Fogjuk a mátrixot, majd saját maga mögé leírjuk még egyszer.
- Majd vesszük a főátlókat és a mellékátlókat.
- Főátlók elemeit összeszorozzuk és pozitív előjellel vesszük
- A mellékátlók elemeit is összeszorozzuk, de azokat negatív előjellel vesszük.
- Kifejtési tétel:
- Minden n x n-es mátrixra jó.
- Kifejtése sorok szerint történik.
- Pl: vegyük az első sor elemeit, és alkalmazzuk rá a kifejtési tételt.
- Váltakozó előjellel kell venni az elemeket.
- Sakktábla szabályt megjegyezzük.
- Vesszük az első elemet, leírjuk az adott előjellel, majd megszorozzuk az aldeterminánssal, és így tovább..
- Aldeterminánsok pedig úgy keletkeznek, hogy az adott elem sorát és oszlopát egyszerűen kihúzzuk.
- Ami marad, az lesz az aldetermináns
- Az aldeterminánsokat pedig 2 x 2 mátrixok determinánsaként kiszámoljuk.
Gauss-elimináció:
- A mátrixot felső háromszög alakúra hozzuk (főátló alatt csupa 0), ekkor a determináns éppen a főátlóbeli elemek szorzata.
Mátrix rangja:
- Mátrixot a Gauss-elimináció segítségével alakítjuk át ekvivalens mátrixba.
- Átalakítás után a nemnulla együtthatókkal rendelkező sorvektorok száma megfelel a mátrix rangjának.
Speciális mátrixok, inverz.
Kvadratikus mátrix:
- Ugyanannyi sora van, mint oszlopa
Diagonális mátrix:
- Olyan kvadratikus mátrix, aminek a főátlóján kívüli elemek nullák.
Egységmátrix:
- Olyan diagonális mátrix, amelynek minden főátló-eleme egy.
Inverz mátrix:
- , vagyis az egységmátrix-szal.
- Lehet:
- Jobb inverz
- Bal inverz
- Jobb inverz
- Lehet:
Transzponált:
- Sorokból oszlopot, oszlopokból sort gyárt.
- Jele: vagy
- Az olyan mátrixok, melyeknek transzponáltja önmaga, szimmetrikus mátrixoknak nevezzük.
Mátrix, mint lineáris transzformáció.
- Egy fí (Φ φ) lineáris leképezés egy lineáris transzformáció, ha .
- Egy lineáris transzformáció különböző bázisokra vonatkozó mátrixainak megegyezik a rangja és a determinánsa.
Sajátérték, sajátvektor.
Vektor:
- A számok egyfajta általánosításának is tekinthetőek.
Sajátvektor, sajátérték:
- Legyen A egy -es mátrix.
- Az a nem nulla vektor, melyre igaz, hogy
- Ahol a valamilyen valós szám, és a a saját értéke.
A problémaredukciós reprezentáció és az ÉS/VAGY gráfok
Problémaredukció:
- Egy adott problémát úgy próbálunk megoldani, hogy több külön-külön megoldandó részproblémára bontjuk.
- Ha a részproblémákat megoldjuk, az eredeti probléma megoldását is megkapjuk.
- A részproblémák megoldását további részek megoldására vezetjük vissza, egészen addig, amíg csupa olyan problémához nem jutunk, amelyeket egyszerűségüknél fogva már könnyedén meg tudunk oldani.
Problémaredukciós reprezentáció:
- Legyen egy probléma.
- Azt mondjuk, hogy a problémát problémaredukciós reprezentációval írtuk le, ha megadtuk a:
- négyest, azaz
- A megoldandó problémát,
- A nem üres halmazt, a problémához hasonló problémák halmazát
- Az egyszerű problémák halmazát
- A redukciós operátorok nemüres, véges halmazát
ÉS/VAGY gráf:
- Legyen a p probléma a reprezentációval megadva.
- Ez a reprezentáció is egy irányított gráfot, úgynevezett ÉS/VAGY gráfot határoz meg.
- A problémahalmaz elemei (a problémák) a gráf csúcsai.
- Vezessük be a probléma által definiált csúcsra az jelölést
- Halmaza az
- Vezessük be a probléma által definiált csúcsra az jelölést
- A gráf csúcsai közül kitüntetett szerepet játszanak a problémát szemléltető úgynevezett startcsúcs
- Jele:
- És az egyértelmű problémákat szemléltető terminális csúcsok.
- Jele:
- Halmaza a
- Jele:
- Egy eleme problémát szemléltető csúcsból irányított éleket húzunk a problémákat szemléltető csúcsokba.
- Ezek az élek összetartozónak tekinthetőek
- Egy ÉS élköltséget vagy hiperélt alkotnak.
- A gráf hiperéleinek halmaza az
- Tehát azt mondjuk, hogy az irányított ÉS/VAGY gráf a p probléma problémaredukciós reprezentációjához tartozó reprezentációs gráfja.
- Az ÉS/VAGY gráfot olyan problémák reprezentálására alkalmazzuk, ahol a feladat felírható logikai állítások konjunkciójaként és diszjunkciójaként.
- Tehát a probléma végrehajtásánál a probléma szétválhat egy egy valamilyen formában eltérő problémára vagy alfeladatra (vagy kapcsolat), vagy egy adott probléma feladatot egyszerre kell megoldani (és kapcsolat).
- A gráfokkal további vizsgálatokat, átalakításokat vihetünk a feladatba, így könnyebben tudjuk elemezni a rendszerünket.
Ismeretreprezentációs technikák, bizonytalanság-kezelés (fuzzy logika).
Ismeretreprezentációs technikák:
Az ismeretreprezentáció azzal foglalkozik, hogy milyen eszközökkel lehet a tudás egy részét (az ismeretet) a számítógépen ábrázolni.
Reprezentáció szintjei:
- Tudásszint
- Valós világ tudati megjelenítése
- Explicit tudás:
- Közölt, szavakkal leírt
- Implicit tudás:
- Potenciálisan közölhető, leírható tudás
- Rejtett, hallgatólagos tudás:
- Nem közölhető, nem leírható
- Szimbólikus szint
- A tudás explicit vagy korábban közölt részeinek szimbólikus leírása
- Technikai szint
- A szimbólikus leírás számítógépes ábrázolása, algoritmusokkal, adatszerkezetekkel
Ismeretreprezentációs módszerek (Osztályozás szerint):
- Osztály
- Proceduláris (algoritmikus) reprezentáció
- Stratégiát ad arra, hogy hogyan oldjuk meg a feladatot.
- Dekleratív (leíró) reprezentáció
- Csak azt írjuk le, mit kell megoldani
- Proceduláris (algoritmikus) reprezentáció
- Osztály
- Logikai reprezentáció
- Struktúra nélküli dolgok leírására szolgál
- Strukturált reprezentáció
- Belső struktúrával rendelkező dolgok, objektumok és kapcsolataik leírására.
- Logikai reprezentáció
- Osztály
- Procedurális reprezentáció
- Valamely programozási nyelven leírt vezérlést módosító eljárások
- Logikai alapú reprezentáció
- Szabályalapú reprezentáció
- Strukturált reprezentáció
- Asszociatív hálók, döntési fák, rokonsági hierarchiák
- Hibrid reprezentáció
- Többféle reprezentációt egyszerre támogató módszerek
- Procedurális reprezentáció
Reprezentációs modellek:
- állapottér -reprezentáció
- Logikai reprezentáció
- Probléma redukció
- Elosztott reprezentáció
- Strukturált objektum alapú reprezentáció
Fuzzy logika:
- A fuzzy logika célja, hogy olyan módszerekkel szolgáljon, amelyekkel olyan problémák oldhatók meg, amelyek túlságosan bonyolultak, vagy nehezen megfogalmazhatóak a hagyományos vizsgálati módszerekkel.
- A logika formailag Arisztotelész tanításain alapul, ahol egy elem vagy tagja, vagy nem tagja egy halmaznak.
- Ha igen, akkor 1 (egy), ha nem akkor 0 (nulla) értéket vesz fel a logikai változó.
- Csak közelítő megoldás lehet.
- A 0 és 1 közötti értékek a bizonytalanságot reprezentálják.
- Alkalmazási technikái megtalálhatóak az automatizálási technikákban, üzemgazdaságban, orvosi technikában, szórakoztató elektronikában stb
- Tipikus alkalmazása a mosógépek oly módon történő programozása, hogy a gép a tisztítandó textíliák szennyezettségének függvényében adagolja a mosószert.
- A gondolatmenet kiindulópontja, hogy a ruhák szennyességi foka nem egyértelműen meghatározható. Példának okáért, nem létezik egy 55%-os szennyezettségi fok definíció.
- Mivel azonban a mosószer mennyisége pontosan meghatározandó, ezért egy olyan logikára van szükség, amely pontatlan, életlen fogalmakkal, mint "enyhén szennyes" vagy "erősen koszolódott" is bánni tud.
- Alapja a fuzzy halmazok (élettelen, elmosódott halmazok)
- A hozzárendelő függvények a fuzzy függvények.
A rezolúciós kalkulus.
Klóz:
- Literálok egy halmaza
- Ha nem tartalmaz literált, akkor üres a klóz.
- Az üres klóz kielégíthetetlen.
- Ahhoz, hogy egy klóz kielégíthető legyen, legalább egy literáljának igaznak kell lennie.
Rezolvens:
- Ha és klózok, eleme és eleme , akkor
- és ( menti) rezolvense a
- és ( menti) rezolvense a
Rezolúciós eljárás:
- Input: klózhalmaz.
- Output: kielégíthető vagy kielégíthetetlen.
- Algoritmus:
- Klózokról listát vezetünk
- Egy klózt felvehetünk, ha beli
- Vagy két, a listán már szereplő klóz rezolvense.
- Mindaddig csináljuk ezt, míg az üres klóz rá nem kerül a listára, akkor kielégíthetetlen lesz.
- Ha már nem tudunk új klózt felvenni és nem jött ki az üres klóz, akkor kielégíthető.
A rezolúciós algoritmus:
- Helyes:
- Ha az algoritmus kielégíthetetlen válasszál áll meg, akkor az input S valóban kielégíthetetlen.
- Ha azt mondom, hogy igen, akkor a válasznak tényleg igennek kellene lennie.
- Ha az algoritmus kielégíthetetlen válasszál áll meg, akkor az input S valóban kielégíthetetlen.
- Teljes:
- Ha S kielégíthetetlen, akkor az algoritmus mindig kielégíthetetlen válasszal áll meg.
- Ha a válasznak igennek kellene lennie, akkor én arra előbb utóbb rá is jövök.
- Ha S kielégíthetetlen, akkor az algoritmus mindig kielégíthetetlen válasszal áll meg.
- Viszont a rezolúció nem helyes, ha több literál mentén rezolválunk egyszerre.
A logikai program és az SLD rezolúció.
Logikai program, logikai programozás:
- Logikai program:
- Tudást ír le, melyet a gép a neki feltett kérdésekre való válaszoláshoz felhasznál.
- Ahhoz, hogy állításokat fogalmazzunk meg, szükség van az állításban szereplő objektumok leírására, amelyet termekkel oldhatunk meg.
- Az állításaink lehetnek egyszerűek és összetettek.
- Az egyszerű állításokat tényeknek nevezzük, leírt formában atomi formulák.
- Prolog programokban Horn-klózok szerepelhetnek.
- Horn-klóz:
- Olyan zárt klóz, melyben véges sok negált atomi formula van, diszjunkció által összekapcsolva, és legfeljebb egy negálatlan formula.
- Prolog maga deklaratív nyelv.
- Jelentése, leírjuk, hogy mit szeretnénk kapni.
- Működése:
- Meg kell adni egy célklózt, ezután a program ellenőrzi, hogy a célklóz a logikai program logikai következményei közt van-e.
SLD rezolúció:
- Vegyük a P programot és egy negált állítást, ami diszjunkciók sorozatával van megadva.
- Cél, hogy a gép a B-beli diszjunkciókból tüntesse el az atomi formulákat, tehát B legyen üres, ekkor eljutott egy hamis formuláig.
- Ehhez a gép B-ben cserélgetni kezdi a formulákat, egyet kiválaszt, majd kicseréli egy vagy több negált atomi formula diszjunkciójára.
- Vagyis:
- Kiválaszt egy negált formulát a megadott formulánkból, és kiválaszt egy klózfejet a P programból.
- Ha ez a kettő egyezik, akkor a negált formulát kicseréli a klóz törzsére.
- Egyesítés előtt a változókat átnevezi, hogy ne ütközzenek.