Hogy kell megértenünk,
hogy kell-e megértenünk?

Bevezető

Tegyük fel, hogy sikerül befognunk egy jelsorozatot, mellyel kapcsolatban gyanítható, hogy intelligens forrásból származik. Senki sem érti az üzenetet, de még csak az sem állítható teljes bizonyossággal, hogy általa bárki vagy bármi is üzent volna bárhová, ugyanis nem tudható még csak az sem, hogy intelligens forrás bocsátotta-e ki azt, s üzenet-e egyáltalán vagy csupán a természet űz velünk tréfát, cirkalmas véletlenjei által... Ez esetben, mielőtt sok-sok erőforrás ráfordításával megkísérelnénk megfejteni a "zsákmányt", hasznos lehet megbizonyosodnunk arról, hogy van-e értelme belevágnunk a várhatóan rengeteg kapacitást lekötő munkába, valóban értelmes üzenettel van-e dolgunk, magyarán.....kell-e értenünk, kell-e megértenünk? Kérdés, miként dönthető el a fenti kérdés? A válasz pedig, az alábbi írásból tudható meg.

Háttérsztori

Egy titkos kormányügynökség megkeres minket egy munkával. Miután aláírtuk a munkaszerződés titoktartási nyilatkozatot tartalmazó részét (erre amúgy a hétköznapokban is sor kerülne egy „mezei” kutató–fejlesztő cégnél is), beavatnak minket a részletekbe:

Az egyik új részecskegyorsítóban, miután elérték az 100 TeV–es energiaküszöböt (a CERN LHC–je a jelenlegi csúcstartó, a maga 14 TeV–es szintjével) mikroszkopikus féregjáratok megnyílására utaló jeleket detektáltak A megfigyelt járatok egyikét aztán egy új technológia segítségével – mely, a Casimir–effektusra alapozva, megváltoztatván az elektromágneses tér zérusponti energiájának homogenitását, „belenyúl” a tér szerkezetébe – sikerült stabilizálni és makroszkopikus méretűre „felfújni”.

Ezt követően a projektben dolgozó kutatók arra lettek figyelmesek, hogy a féreglyukból elektromágneses jelcsomagok érkeznek, melyek mindegyike azonos frekvenciájú, ám különböző mennyiségű fotont tartalmaz.

Felmerült hát a gyanú, hogy esetleg intelligens forrás állhat a jelsorozat mögött.

A mi feladatunk az, hogy megalkossunk egy programot, mely képes eldönteni azt, hogy intelligens forrásról lehet–e szó vagy csupán véletlenszerű fehérzaj okozza a tapasztalt jelenséget... Na de...

...hogyan döntsük el ezt?

Szerencsére, fizikából és az információelmélet tantárgy keretei között is tanultunk az entrópiáról, melyet most segítségül hívhatunk a kérdés eldöntésére. Maga az entrópia a fizikában csupán egy állapotfüggvény melynek értéke annál nagyobb, minél rendezetlenebb a rendszer, melyet jellemez. Tehát – konyhanyelven – mondhatnánk azt is, hogy az entrópia a rendezetlenség mértéke. De mi köze ennek az információelmélethez?

Röviden, annyi, hogy minél rendezetlenebb egy rendszer (pl. minél nagyobb a „kupi” a szobánkban), annál kevesebb információt tudunk „kinyerni” belőle.
Vagyis – végképp nagyon pongyolán fogalmazva – az entrópia növekedésével csökken a kinyerhető információ mértéke (nem magának a teljes információnak a mennyisége, hanem csak a kinyerhető információé).

A fentiekből az következik, hogy ha egy jelsorozatnak ki tudjuk számolni a nemsokára említésre kerülő Shannon–entrópiáját, s emellett képesek vagyunk megmondani azt is, hogy mennyi egy adott jelszámhoz (esetünkben a kapott fotoncsomagok számához) tartozó, maximálisan kapható Shannon–entrópia értéke, akkor kezünkben a megoldás!

Miért is? Azért, mert egy intelligens forrás esetében, ha az kommunikálni igyekszik, akkor az általa használt bármilyen jelrendszer Shannon–entrópiájának valahol a 0 és a maximális érték által határolt tartomány derekán kell lennie!

Megjegyzés: egy csomagban amúgy rém nehéz lenne megállapítani a fotonszámot, mert ha a fotonok Poisson–eloszlásban jönnek (pl. lézerek esetében), akkor egy foton detektálásakor nem zárhatjuk ki egy másik foton jelenlétét sem, na és persze a detektorok sem tökéletesek.

Shannon-entrópia

Tehát: van egyszer a fizikában megismert entrópia és van a kinyerhető információ, mely két mennyiség „kétfelé tart”, vagyis egymással fordított arányban állnak.
Az információelméletben azonban bevezetésre kerül a Shannon–entrópia, mely mennyiség viszont - szemben az eddig tárgyalt entrópiával - „együtt” halad a kinyerhető információ mennyiségével, azaz, arányos azzal.

A Shannon–entrópia ugyanis nem más, mint egy adott jelsorozat egyetlen jelére eső átlagos információ, bit–ben megadva.

Miről is van szó itt egyáltalán?

Arról, hogy meg ha meg tudjuk mondani egy adott jelsorozat egyetlen jelére eső átlagos információt (a Shannon–entrópiát), akkor – anélkül, hogy akár egy kukkot is értenénk az adott „nyelv”–ből – el tudjuk dönteni, hogy az valóban egy kommunikációs jelrendszer–e vagy sem.
Ugyanis ha például egy jelsorozat csakis egyfajta jelet tartalmaz, akkor ott egy jel információértéke nyilván 0 bit. Ha viszont minden jel különbözik és csak egyetlen egyszer fordul elő a sorozatban, akkor megint csak bajban vagyunk, mivel itt aztán látszólag tényleg magas az információérték, ám nem valószínű, hogy értelmes jelrendszerről van szó, hiszen nincsenek ismétlődő jelek benne.

Olvassuk csak vissza az eddigi szöveget, s láthatjuk, hogy az egyes betűk, szavak, stb, jó néhányszor szerepelnek benne, s ami fontos, van amelyik gyakrabban, van amelyik kevésbé gyakrabban (már persze, ha elfogadjuk, hogy ez az egész, általam eddig összehordott iromány egy értelmes rendszert alkot.. :) )

Maga a Shannon–entrópia ( jele, rendszerint: H ) az alábbi módon számítható:

képlet: Shannon-entrópia

, ahol pi –k, az egyes elemek előfordulási valószínűségei (relatív gyakoriságai), mely értékeket úgy kaphatjuk meg, hogy megszámoljuk, az adott fajtájú/értékű elem hányszor szerepel a jelsorozatban, s a kapott értéket elosztjuk a jelsorozat elemszámával.
A (1, 2, 3, 4, 2, 3, 5, 7, 9, 9) számsorozatban például a 3–as szám relatív gyakorisága: 1/5.

Nézzük, hogy például a „Szeretem e szemesztert!” mondatra alkalmazva a fenti formulát, mit kapunk H–ra!
A jelsorozat 23 elemből áll. Az egyes elemek relatív gyakorisága a következő: p(s)=3/23, p(z)=3/23, p(e)=7/23, p(r)=2/23, p(t)=3/23, p(m)=2/23, p(szóköz)=2/23, p(!)=1/23.
Ezekből azt kapjuk, hogy – ha jól számoltam – erre a jelsorozatra H=2,788077.

Ha csupa egyforma betűből állna a jelsorozat, akkor ez az érték 0 lenne.
Ha pedig mindegyik betű különbözne (pl.: „aysxdcfvgbhnjmklépqower”), akkor egy ilyen hosszúságú betűsorozatra H(max)=4,523562 lenne, ami szép és jó (meg persze nagyobb is), épp csak nem egy intelligens jelsorozat, hanem inkább egy „véletlenszerű” eloszlás jellemzője.
Látható, hogy – persze csak kellően nagy mintavétel esetén – bármilyen jelsorozatról eldönthető, hogy „beszél”–e hozzánk valaki/valami vagy sem anélkül, hogy dekódolnánk/értenénk az üzenetet, már, ha valóban az.

Tudunk hát mindent, hogy elkészítsük az elemzést végrehajtó programot, amit én már megírtam, s bele is tettem a JavaScript-be. (Természetesen ez csak egy nagyon egyszerű, könnyen kicselezhető(!) kis szkriptecske, ami "szereti", ha relatíve nagyobb jelhalmazzal etetjük, de szemléltetésnek megfelel.)

Megjegyzés: egy valódi eset persze jóval összetettebb, hisz nem csak független betűket, de szavakat, mondatokat, kifejezéseket, stb–t is tartalmazhat.

Egy próba?

Másold be a jelsorozatot az alábbi rubrikába! (Tekintve, hogy ez csak egy próba, a jelsorozat legyen egy tetszőleges szöveg (, akár a fentiekből kimásolva)!)