December 8, 2008

Újra szarvicc blog + tranzitív lezárás

Másfél év szünet után újraindult a termelés a 'Szar viccek' című blogomon, úgyhogy örülés van. A hosszú csendet, úgy hiszem, különösen szar viccekkel sikerült megtörnöm, úgyhogy a remény megvan egy nagyszerű újrakezdéshez. Egyébként most 'Adatbázisok' tárgyból tanulok.

Most ott tartok a könyvben, hogy a tranzitív lezárást taglalja. A tranzitív lezárás, az arról szól, hogy van állításoknak két halmaza, és "Ha-Akkor" szabályoknak egy halmaza. Baloldalon van olyan állításoknak egy kis halmaza, amikről biztosan tudod, hogy éppenséggel fennállnak. A jobboldalon pedig akármilyen állítások lehetnek. Kurvára mindegy, hogy igazak-e, vagy nem, csak az a lényeg, hogy legyen minél több. Például azt is beleírhadod, hogy mekkora egy fasz vagyok. Viszont a szabályoknak mindenképpen helytállóaknak kell lenniük, tehát nem mondhatod azt, hogy ha piros a trolibusz, akkor fasz vagyok, vagy ilyesmi. Ez fontos! De a szabályokat egyébként többnyire kívülről kapod meg - mint ahogy ez lenni szokott, ugyebár. Tehát nincs sok esélyed játszani. Hiába, a matematika egy szigorú tudomány!

Viszont: ha a bal oldali állítások egy részhalmazából következtet egy szabály a jobb oldali állítások egy részhalmazára, akkor ezeket a jobb oldali állításokat azon nyomban átpakolhatod balra. Ezt a tettet újra és újra elköveted mindaddig, amíg találsz a jobboldalon olyan állításokat, amikre tudsz a szabályaiddal a bal oldali halmazból következtetni. Ha már nincs jobboldalt ilyen állítás, akkor a baloldalon lévő halmaz akkori tartalma a kezdeti tartalmának a tranzitív lezártja.

Hogy ez mire jó? Hát arra, hogy a tesztelt állítások egy halmazáról megállapíthatjuk, hogy a fennálló szabályok értelmében következtethetünk-e belőlük egy olyan állításra, amit még nem teszteltünk. Ha a tranzitív lezárással át tudjuk pakolni ezt az állítást balra, akkor onnantól fogva az is oké. Persze, ennél tuti, hogy van precízebb és általánosabb definíciója is a dolognak, de amit én most fölvázoltam, az szerintem biztosan megfelel a tranzitív lezárás definíciójának. Ha nagyon leet vagy, akkor tranzitív lezárással megnézheted, hogy megfelel-e :D

Ezek nagyon szép dolgok!

Meg az adatbázisok, azok nagyon jók! Szeretem őket. Lehetne csinálni például egy olyan adatbázist, ami minden egyedülálló emberre nyomon követi, hogy kinek tetszik, és ha két ember egymásnak tetszik, akkor automatikusan meghívná mindkét embert randira. Bár lehet, hogy ilyen már létezik. De úgy kéne, hogy tényleg minden ember benne legyen, aki él és mozog. Úgy lenne igazán hatékony. Minden állampolgárnak lenne egy accountja, és aztán kötelezővé kéne tenni, hogy mindig mindenkinek legalább tíz név legyen a listáján... Na, jó, mondjuk, ötven fölött nem lenne kötelező. De aki ötven alatti és nem írna listát, annak havi büntetést kéne fizetnie. Vagy ha még nincs jövedelme, akkor közmunka. Még csak az kéne, hogy a tizenévesek ilyen egyszerűen kimaradhassanak a rendszerből! Őnekik kéne a leginkább benne lenniük.

Kevesebben lennének egyedül, az biztos. Az egyik humanista csajnak említettem, és neki tetszett az ötlet. Mondjuk, neki nem részleteztem a dolognak a jogi kereteit.

No comments: