• Nem Talált Eredményt

2. Alapfogalmak, jel¨ ol´ esek 22

2.4. Matematika logika

ut egyszer˝u, ha a benne szerepl˝o cs´ucsok p´aronk´ent k¨ul¨onb¨oz˝ok. A hv0, v1, . . . , vki ut´ k¨or, ha v0 =vk, ´es az ´ut legal´abb egy ´elt tartalmaz. Egy gr´afot ¨osszef¨ugg˝onek h´ıvunk, ha b´armely k´et cs´ucsa ¨osszek¨othet˝o ´uttal. A k¨ormenetes, ir´any´ıt´as n´elk¨uli gr´afot erd˝onek h´ıvjuk. Ha az erd˝o

¨osszef¨ugg˝o, akkor pedig f´anak. Az olyan f´at, amely tartalmazza egy G gr´af minden cs´ucs´at, a G fesz´ıt˝of´aj´anak h´ıvjuk.

A gy¨okeres f´aban az egyik cs´ucsnak kit¨untetett szerepe van. Ezt a cs´ucsot gy¨ok´ernek ne-vezz¨uk. A gy¨ok´erb˝ol egy tetsz˝oleges x cs´ucsba vezet˝o (egy´ertelm˝uen meghat´arozott) ´ut ´altal tartalmazott b´armely y cs´ucsot az x ˝os´enek nevez¨unk. Azt is mondjuk ekkor, hogy x az y lesz´armazottja. Hax6=y, akkorval´odi ˝osr˝ol ´es val´odi lesz´armazottr´ol besz´el¨unk. Ha az ´uton x 1 ´elen kereszt¨ul ´erhet˝o ely-b´ol, akkor xazy gyereke ´esyazxsz¨ul˝oje. Ha k´et cs´ucsnak ugyanaz a sz¨ul˝oje, akkor testv´ereknek mondjuk ˝oket.

A G= (V, E) gr´af S, V\S v´ag´as´an aV halmaz k´etr´eszes part´ıci´oj´at ´ertj¨uk. Az (u, v)∈E ´el keresztezi azS, V\S v´ag´ast, ha annak egyik v´egpontjaS-ben a m´asik V\S-ben van. Egy v´ag´as s´ulya – s´ulyozott gr´afok eset´eben – megegyezik a v´ag´ast keresztez˝o ´elek ¨osszs´uly´aval.

2.4. Matematika logika 2.5. Val´ osz´ın˝ us´ egsz´ am´ıt´ as

Felt´etelezz¨uk, hogy az olvas´o tiszt´aban van a val´osz´ın˝us´egi v´altoz´o, val´osz´ın˝us´egi v´altoz´o el-oszl´as´anak,s˝ur˝us´egf¨uggv´eny´enek,eloszl´asf¨uggv´eny´eneka val´osz´ın˝us´egi v´altoz´ov´arhat´o ´ert´ek´enek (E[X] =µ=P

x·p(x)) ´es sz´or´as´anak (D2[X] =σX2 =E[(X−µ)2]) vagy ´altal´anosan azn-edik centr´alis momentumok fogalm´aval (Dn[X] = E[(X−µ)n]), tov´abb´a ismeri k´et val´osz´ın˝us´egi v´altoz´o k¨oz¨otti kovarianci´at (Cov(X, Y) = E[(X−µ)(Y −ν)) ´es korrel´aci´ot (Corr(X, Y) =

=Cov(X,YσXσY )).

2.5.1. Nevezetes eloszl´ asok

A k¨ovetkez˝o nevezetes eloszl´asokkal fogunk tal´alkozni tanulm´anyaink sor´an.

Binomi´alis eloszl´as

Hipergeometrikus eloszl´as

Tegy¨uk fel, hogy van N k¨ul¨onb¨oz˝o elem¨unk, amelyb˝ol R darab rossz. A hipergeometrikus eloszl´as adja meg annak az es´ely´et, hogy X darab rossz elem lesz, ha az N elemb˝ol n darabot kivesz¨unk v´eletlenszer˝uen. Elemi kombinatorikus ´uton a val´osz´ın˝us´eg kisz´am´ıthat´o (0≤X≤n) :

P(X, N, R, n) =

R X

NR

nX

N n

A fenti s˝ur˝us´egf¨uggv´ennyel rendelkez˝o diszkr´et val´osz´ın˝us´egi eloszl´ast h´ıvjuk hipergeometrikus eloszl´asnak.

Amennyiben nN, akkor a hipergeometrikus eloszl´ast k¨ozel´ıthetj¨uk azn, R/N param´eter˝u binomi´alis eloszl´assal.

Norm´alis eloszl´as χ2 eloszl´as

Legyenek ξ1, ξ2, . . . , ξn egym´ast´ol f¨uggetlen, standard norm´alis eloszl´as´u val´osz´ın˝us´egi v´altoz´ok. Ekkor az Pn

i=1ξi2 val´osz´ın˝us´egi v´altoz´o eloszl´as´at n param´eter˝u χ2 eloszl´asnak (χ2n) nevezz¨uk.

2.5.2. Ferdes´ eg ´ es lapults´ ag

A ferdes´eg egy eloszl´as szimmetri´aj´at pr´ob´alja megadni. Ha a ferdes´eg nulla, akkor az el-oszl´as szimmetrikus (p´eld´aul norm´alis elel-oszl´asokn´al), ellenkez˝o esetben a v´arhat´o ´ert´ekt˝ol balra (negat´ıv ferdes´eg eset´eben) vagy jobbra

”ny´ulik el”. A ferdes´egnek t¨obb mutat´oj´at defini´alt´ak ; ezek k¨oz¨ul a legelterjedtebb a γ1=(DD2[X])3[X]3/2), de szok´as m´eg a β1=√γ1-et is hasz´alni.

Szint´en nem az alapfogalmak k¨oz´e tartozik alapults´agfogalma, ami egy eloszl´as cs´ucsoss´ag´at adja meg. A lapults´agnak is t¨obb elfogadott defin´ıci´oja l´etezik. Legelterjedtebb a β2= (DD24[X])[X]2

(kurtosis proper), ´es a γ22−3 (kurtosis excess) ´ert´ekek. A norm´alis eloszl´as β2 lapults´agi

´ert´eke h´arom, a norm´alisn´al laposabbak´e h´aromn´al kisebb. A ferdes´eget ´es a lapults´agot annak eld¨ont´es´en´el szokt´ak haszn´alni, hogy egy adott minta sz´armazhat-e norm´alis eloszl´asb´ol.

2.5.3. Egyenl˝ otlens´ egek

Legyen X egy E[X] v´arhat´o ´ert´ek˝u val´osz´ın˝us´egi v´altoz´o. A Markov egyenl˝otlens´eg szerint P(|X| ≥a) ≤ E[|aX|], ahol a >0. A Hoeffding-korl´at a mintav´etelz´essel kapcsolatos ´all´ıt´asok alapja.

2.1. lemma. Legyen Xi, 1≤i≤n µ v´arhat´o ´ert´ek˝u, f¨uggetlen, azonos eloszl´as´u val´osz´ın˝us´egi v´altoz´ok ´esa≤Xi≤b mindeni-re. Ekkor tetsz˝oleges λ >0-ra fenn´all a k¨ovetkez˝o egyenl˝otlens´eg :

Ph1 n

X

i=1

Xi−µ≥λ i

≤2e−2λ2n/(b−a)2.

2.5.4. Entr´ opia

Legyen X egy diszkr´et val´osz´ın˝us´egi v´altoz´o, amely ´ert´ekeit egy X halmazb´ol veheti fel. Az lX =−log2p(X) val´osz´ın˝us´egi v´altoz´ot az X entr´opias˝ur˝us´eg´enek nevezz¨uk. X entr´opi´aj´at – H(X)-et – ezen v´altoz´o v´arhat´o ´ert´ek´evel defini´aljuk :

H(X) =−X

xX

p(x) log2p(x).

Az entr´opia valamik´eppen a v´altoz´obizonytalans´ag´at fejezi ki. Ha Xelemsz´ama r¨ogz´ıtett ´es azX v´altoz´o csak egy ´ert´eket vehet fel (mert az egyik ´ert´ek val´osz´ın˝us´ege 1), akkorH(X) ´ert´eke 0 (nincs bizonytalans´ag), ha pedig X eloszl´asa egyenletes eloszl´ast k¨ovet, akkor az entr´opia a maximum´at veszi fel, log2(|X|)-t.

Legyen X ´es Y k´et diszkr´et ´ert´ek˝u val´osz´ın˝us´egi v´altoz´o. Az X-nek az Y felt´etellel vett felt´eteles entr´opi´aja :

H(X|Y) =−X

y∈Y

X

x∈X

p(x, y) log2p(x|y),

vagy egy kicsit ´atalak´ıtva kapjuk, hogy H(X|Y) =−X

yY

p(y)X

xX

p(x|y) log2p(x|y).

Be lehet bizony´ıtani, hogyH(X|Y) =H(XY)−H(Y), ami inform´alisan ´ugy lehet megfogalmaz-ni, hogy a felt´eteles entr´opia megadja, hogy mennyi bizonytalans´ag maradX-ben, ha elvessz¨uk azY bizonytalans´ag´at.

A felt´eteles entr´opia sz´amos tulajdons´aga k¨oz¨ul mi csak az al´abbit fogjuk felhaszn´alni : 0≤H(X|Y)≤H(X).

2.6. Statisztika

A statisztik´aban ´altal´abanX1, X2, . . . , Xnf¨uggetlen, azonos eloszl´as´u val´osz´ın˝us´egi v´altoz´ok vannak megadva, amiket mint´aknak nevez¨unk. Az eloszl´ast nem ismerj¨uk pontosan, de rendel-kez´es¨unkre ´allnak megfigyel´esek.

Legyenek X1, X2, . . . , Xn f¨uggetlen, azonos eloszl´as´u val´osz´ın˝us´egi v´altoz´ok. Ekkor a X¯ = X1+X2n+···+Xn val´osz´ın˝us´egi v´altoz´ot empirikus k¨oz´epnek, vagy minta´atlagnak, a sn2 =

= n−11 Pn

i=1(Xi−X)¯ 2 val´osz´ın˝us´egi v´altoz´ot pedig korrig´alt empirikus szor´asn´egyzetnek ne-vezz¨uk.

A χ2 eloszl´as defin´ıci´oj´ab´ol k¨ovetkezik, hogy az (nσ1)s2 2 val´osz´ın˝us´egi v´altoz´o eloszl´asa χ2n, amennyiben a s2 σ sz´or´as´u, norm´alis eloszl´as´u val´osz´ın˝us´egi v´altoz´ok korrig´alt empirikus szor´asn´egyzet´et jel¨oli

2.2. defin´ıci´o. Legyenek X ´es Y k´et olyan val´osz´ın˝us´egi v´altoz´o, amelyek eloszl´asa rendre χ2n

´es χ2m. Ekkor a Z= Y /mX/n val´osz´ın˝us´egi v´altoz´o eloszl´as´atFn,m eloszl´asnak h´ıvjuk.

2.6.1. Hipot´ ezisvizsg´ alat

A hipot´ezisvizsg´alat feladata mindig valamilyen ´all´ıt´as helyess´eg´enek vizsg´alata. Ezt az

´all´ıt´ast nullhipot´ezisnek nevezz¨uk, jele H0. A nullhipot´ezis ´altal´aban egy val´osz´ın˝us´egi v´altoz´o valamely param´eter´ere vagy a v´altoz´o viselked´es´ere vonatkoz´o ´all´ıt´as. Az ´all´ıt´as igazol´as´ahoz vagy elvet´es´ehez k´ıs´erletezget´esek, mint´ak ´allnak rendelkez´es¨unkre. Ha a mint´ak alapj´an a null-hipot´ezist elvetj¨uk, holott az igaz, akkor els˝ofaj´u hib´at k¨ovet¨unk el. Ellenkez˝o esetben – ami-kor a nullhipot´ezis hamis, de mi elfogadjuk – m´asodfaj´u hib´ar´ol besz´el¨unk. Puszt´an mint´ak seg´ıts´eg´evel nem tudunk teljesen biztos v´alaszt adni. A gyakorlatban egy param´eterrel (α) r¨ogz´ıtik az els˝ofaj´u hiba elk¨ovet´es´enek megengedett val´osz´ın˝us´eg´et. Az 1−α ´ert´eket a pr´oba szintj´enek h´ıvjuk.

Osszefoglalva teh´at, adott egy ´all´ıt´as, egy param´eter (α) ´es mint´ak sorozata. Feladatunk,¨ hogy a mint´ak alapj´an c´afoljuk vagy igazoljuk az ´all´ıt´ast ´ugy, hogy bizony´ıthat´oanα-n´al kisebb legyen annak val´osz´ın˝us´ege, hogy az ´all´ıt´as igaz, holott mi c´afoljuk. A hipot´ezisvizsg´alatn´al a mint´ak eredm´enyeit felhaszn´alva kisz´am´ıtunk egy ´un. pr´obastatisztika ´ert´eket, ´es ezt vetj¨uk

¨ossze egy ismert eloszl´assal. Az α-nak c´elszer˝u kis (0.1 ´es 0.01 k¨oz¨otti) ´ert´eket v´alasztani1.

1Gondolkozzunk el azon, hogy mi t¨ort´enne, haα-nak nagyon kis ´ert´eket v´alasztan´ank!

2.6.2. Az F -pr´ oba

AzF-pr´oba arra szolg´al, hogy k´et f¨uggetlen, norm´alis eloszl´as´u val´osz´ın˝us´egi v´altoz´o (X, Y) sz´or´as´anak egyenl˝os´eg´et eld¨onts¨uk.

H0XY. Tudjuk, hogy (nXσ−1)s2 ∗2X

X ´es (nY−1)sσ2 ∗2Y

Y χ2 eloszl´as´uak (nX−1) illetve (nY −1) param´eterrel. Ha a nullhipot´ezis fenn´all, akkor az

F =s∗2X s∗2Y

pr´obastatisztika F-eloszl´as´u (nX −1, nY −1) param´eterrel. Azonban F1 is F-eloszl´as´u (nY

−1, nX −1) param´eterrel, ez´ert a gyakorlatban F = max{F,1/F} ≥ 1 statisztik´at szok´as haszn´alni.

2.6.3. A χ

2

-pr´ oba

A χ2 pr´ob´ak az al´abbi t´etelt haszn´alj´ak fel.

2.3. t´etel. Legyen A1, A2, . . . , Ar egy teljes esem´enyrendszer (r≥3), legyenpi=P(Ai)>0, i=

=1, . . . , r. Ism´etelj¨uk a k´ıs´erletetn-szer egym´ast´ol f¨uggetlen¨ul. Jel¨oljeXi azAiesem´eny bek¨ ovet-kez´es´enek sz´am´at. Bel´athat´o, hogy ekkor a

Xr j=1

(Xj−npj)2 npj

val´osz´ın˝us´egi v´altoz´o eloszl´asa n→ ∞ eset´en χ2r1 eloszl´ashoz konverg´al.

A χ2 eloszl´as kvantiliseit f¨uggv´eny-t´abl´azatokban megtal´alhatjuk.

2-pr´oba legfontosabb alkalmaz´asi ter¨uletei az (1.) illeszked´es-, (2.) f¨uggetlens´eg- ´es (3.)ho-mogenit´asvizsg´alat. T´em´ankhoz a f¨uggetlens´eg-vizsg´alat tartozik hozz´a, ´ıgy a tov´abbiakban ezt r´eszletezz¨uk. A χ2 pr´oba ir´ant ´erdekl˝od˝oknek a [85] magyar nyelv˝u irodalmat aj´anljuk.

2.6.4. F¨ uggetlens´ egvizsg´ alat

Legyen A1, A2, . . . , Ar ´esB1, B2, . . . , Bs k´et teljes esem´enyrendszer. V´egezz¨unk n k´ıs´erletet.

Nullhipot´ezis¨unk az, hogy az esem´enyrendszerek f¨uggetlenek.

H0:P(Ai, Bj) =P(Ai)P(Bj), i= 1, . . . , r j= 1, . . . , s

Ha az esem´enyek val´osz´ın˝us´egei adottak, akkor tiszta illeszked´es vizsg´alati feladatr´ol besz´el¨unk, ahol

H0 :P(Ai∩Bj) =piqj

hiszenpi, qj ´ert´ekek adottak. Jel¨oljekij azAi∩Bj esem´eny bek¨ovetkez´es´enek sz´am´at. Ekkor ki kell sz´am´ıtanunk a

χ2= Xr

i=1

Xs j=1

(kij−npiqj)2 npiqj

´

un. pr´obastatisztika ´ert´eket. Jobban megvizsg´alva χ2-et l´athatjuk, hogy az egy P(megfigyelt ´ert´ek - v´art ´ert´ek)2

v´art ´ert´ek jelleg˝u kifejez´es. Amennyiben χ2 kicsi, akkor a megfi-gyelt ´ert´ekek k¨ozel vannak azokhoz, amit H0 fenn´all´asa eset´en v´artunk, teh´at a nullhipot´ezist elfogadjuk.

Hogy pontosan mit jelent az, hogy

”kicsi”, azt a 2.3-as t´etel alapj´an χ2rs−1 ´es az α pa-ram´eter hat´arozza meg. T´abl´azatb´ol keress¨uk ki, hogy a χ2rs1 eloszl´as hol veszi fel az 1−α

´ert´eket. Amennyiben ez nagyobb a fent kisz´am´ıtottχ2 ´ert´ekn´el, akkor a nullhipot´ezist elfogad-juk, ellenkez˝o esetben elvetj¨uk.

A gyakorlatban sokkal t¨obbsz¨or fordul el˝o az az eset, amikor az esem´enyek val´osz´ın˝us´egeit nem ismerj¨uk. Ekkor a val´osz´ın˝us´egeket az esem´enyek relat´ıv gyakoris´ag´aval becs¨ulj¨uk meg.

Jel¨olj¨uk az Ai esem´eny gyakoris´ag´at ki.-vel, teh´at ki.=Ps

j=1kij ´es hasonl´oan Bj esem´eny gya-koris´ag´at k.j-vel. χ2 pr´ob´ak sor´an az adatok szeml´eltet´es´enek gyakran haszn´alt eszk¨oze az ´un.

kontingencia-t´abl´azat. Ez egy t¨obbdimenzi´os t´abl´azat, amely cell´aiban a megfelel˝o esem´eny bek¨ovetkez´es´enek sz´ama tal´alhat´o. Egy ilyen 2-dimenzi´os kontingencia-t´abl´azatot l´athatunk a k¨ovetkez˝o ´abr´an.

B1 B2 . . . Bs P A1 k11 k12 k1s k1.

A2 k21 k22 k2s k2.

...

APr kr1 kr2 krs kr.

k.1 k.2 k.s n Az Ai∩Bj megfigyelt ´ert´eke kij, v´art ´ert´eke H0 eset´en n·ki.

n ·k.j

n . Ezek alapj´an χ2 ´ert´eke :

χ2= Xr

i=1

Xs j=1

(kij−ki.k.j

n )2 ki.k.j

n

Mivel a f¨uggetlens´eg fenn´all´asa eset´en r−1 darab pi-t ´es s−1 darab qj val´osz´ın˝us´eget kell megbecs¨ulni, ´ıgy a fenti H0 fenn´all´asa eset´en χ2rs1(r+s2)2(r1)(s1) eloszl´as´u.

A χ2 eloszl´as k¨ozel´ıt´ese csak abban az esetben pontos, ha akij´ert´ekek nagyok. Persze nincs pontos szab´aly arra n´ezve, hogy mennyire kell nagynak lennie. Azt szokt´ak mondani, hogy a kontingencia t´abl´azat elemeinek 90%-a nagyobb legyen ¨otn´el.

2.7. Algoritmus-elm´ elet

Terjedelmi okok miatt csak felsorolni tudjuk azokat az algoritmusokat, amelyeket az ol-vas´onak ismernie kell. Ezek pedig : line´aris-, bin´aris keres´es, m´elys´egi-, sz´eless´egi bej´ar´as, Krus-kal algoritmusa minim´alis s´uly´u fesz´ıt˝ofa meghat´aroz´as´ahoz stb. Emellett felt´etelezz¨uk, hogy az olvas´o tiszt´aban van az NP-teljess´eg (vagy ´altal´anosabban a bonyolults´ag) elm´elet´enek alap-jaival.

2.8. Adatstrukt´ ur´ ak

Felt´etelezz¨uk, hogy az olvas´o tiszt´aban van a lista (vektor) ´es a t¨omb fogalm´aval. Az adatb´any´aszatban tov´abbi k¨ozkedvelt adatstrukt´ur´ai az ´un.sz´ofa (trie), vagy m´as n´even prefix-fa (prefix-tree), a piros-fekete prefix-fa, illetve a hash-t´abla.

2.8.1. Sz´ of´ ak

A sz´of´at eredetileg sz´ot´ar szavainak t´arol´as´an´al alkalmazt´ak, annak ´erdek´eben, hogy gyorsan el lehessen d¨onteni, hogy egy adott sz´o szerepel-e a sz´ot´arban [41], [61]. A szavak az abc felett

´ertelmezett sorozatok, ´ıgy ´altal´anosan azt mondhatjuk, hogy egy sz´ofa egy adott v´eges elem-halmaz feletti sorozatok t´arol´as´ara ´es gyors visszakeres´es´ere alkalmas adatstrukt´ura. A sz´ofa angol neve (trie, amit ´ugy ejt¨unk, mint a try sz´ot) a visszakeres´es angol ford´ıt´as´ab´ol sz´armazik (retrieval). A tov´abbiakban az alaphalmazt I-vel, az alaphalmaz felett ´ertelmezett, adott so-rozatok halmaz´at sz´ot´arnak h´ıvjuk. A 2.1 ´abr´an egy sz´of´at l´athatunk, mely az C, F C, F B, CBP, F CAM P, F CABM sorozatokat t´arolja.

0

1 2

3 4 5

6 7

8 9

10 11

F C

C

B B

A P

M B

P M

2.1. ´abra. P´elda sz´of´ara

A sz´ofa egy (lefel´e) ir´any´ıtott gy¨okeres c´ımk´ezett fa. Egyd-edik szint˝u pontb´ol csakd+1-edik szint˝u pontba mutathat ´el. N´eha a hat´ekonys´ag kedv´e´ert minden pontb´ol a pont sz¨ul˝oj´ere is mutat ´el. A gy¨okeret 0. szint˝unek tekintj¨uk. A c´ımk´ek azI-nek egy-egy elemei. Minden pont egy elemsorozatot reprezent´al, amely a gy¨ok´erb˝ol ebbe a pontba vezet˝o ´eleken tal´alhat´o elemekb˝ol

´all. Akkor tartalmazza a sz´ofa az S sorozatot, ha van olyan pont, amely az S-t reprezent´alja.

Ha egy sorozatot tartalmaz egy sz´ofa, akkor annak tetsz˝oleges prefix´et is tartalmazza.

A prefix azonban nem biztos, hogy eleme a sz´ot´arnak. Ezt a probl´em´at k´etf´elek´eppen lehet kik¨usz¨ob¨olni. Egyr´eszr˝ol megk¨ul¨onb¨oztet¨unk elfogad´o ´es nem elfogad´o pontokat. Egy soroza-tot akkor tartalmazza a sz´ofa, ha van olyan elfogad´o ´allapot, amely a sorozasoroza-tot reprezent´alja.

M´asr´eszr˝ol bevezethet¨unk egy speci´alis elemet, amit minden sorozat v´eg´ere illeszt¨unk, tov´abb´a sorozatot csak lev´el reprezent´alhat.

A sz´of´anak k´et implement´aci´oj´at k¨ul¨onb¨oztetj¨uk meg att´ol f¨ugg˝oen, hogy milyen technik´at alkalmazunk az ´elek t´arol´as´ara. Az ´un. t´abl´azatos implement´aci´oban (tabular implementation)

[61] minden ponthoz egy r¨ogz´ıtett hossz´us´ag´u, mutat´okat tartalmaz´o vektort vesz¨unk fel. Az i-edik mutat´o mutat azi-edik elemhez tartoz´o ´el v´egpontj´ara. Ha a pontnak nincs ilyen c´ımk´ej˝u

´ele, akkor a mutat´o ´ert´eke NULL. A vektor hossza az Ielemsz´am´aval egyezik meg.

A l´ancolt list´as implement´aci´oban [41] az ´eleket egy l´ancolt list´aban t´aroljuk. A lista ele-mei ´elc´ımke, gyermekmutat´o p´arok. A l´ancolt lista k¨ovetkez˝o elem´ere mutat´o mutat´okat meg-sp´orolhatjuk, ha egy vektort alkalmazunk, aminek hossza megegyezik a pont ´eleinek sz´am´aval,

´es elemei szint´en c´ımke, mutat´o p´arok. Ez az´ert is j´o megold´as, mert egy l´ep´essel tudunk tetsz˝oleges index˝u elemre l´epni (a c´ımke, mutat´o p´ar mem´oriasz¨uks´eglet´enek ismeret´eben), ´es nem kell a mutat´okon kereszt¨ul egyes´evel l´epegetn¨unk.

Sz´of´ak eset´eben a legfontosabb elemi m˝uvelet annak eld¨ont´ese, hogy egy adott pontnak van-e adott c´ımk´ej˝u ´ele, ´es ha van, akkor ez hova mutat. T´abl´azatos implement´aci´on´al ezt a feladatot egy l´ep´esben megoldhatjuk a megfelel˝o index˝u elem megvizsg´al´as´aval. L´ancolt list´as, illetve v´altoz´o hossz´us´ag´u vektor eset´en a megold´as lassabb m˝uvelet. A vektor minden p´arj´at ellen˝orizn¨unk kell, hogy a p´ar c´ımk´eje megegyezik-e az adott c´ımk´evel. A hat´ekonys´agot n¨ovel-hetj¨uk, ha a p´arokat c´ımk´ek szerint rendezve t´aroljuk, ´es bin´aris keres´est v´egz¨unk.

Erdemes ¨osszehasonl´ıtanunk a k´et vektoros implement´aci´oban a pontok mem´oriaig´eny´et.´ Amennyiben a mutat´ok, ´es a c´ımk´ek is 4 b´ajtot foglalnak, akkor a t´abl´azatos implement´aci´oban egy pont mem´oriaig´enye (a vektor fejl´ec mem´oriaig´eny´et˝ol eltekintve) |I|·4 b´ajt, a list´as imple-ment´aci´o´en·2·4 b´ant, aholn az adott pontb´ol indul´o ´elek sz´ama, amire igaz, hogy 0≤n≤ |I|. Ha a sz´ofa pontjai olyanok, hogy kev´es ´el¨uk van, akkor a list´as implement´aci´onak lesz kevesebb mem´ori´ara sz¨uks´ege, sok ´eln´el azonban t´abl´azatos implement´aci´o a jobb megold´as. A k´et tech-nik´at ¨otv¨ozhetj¨uk ak´ar egy adott sz´of´an bel¨ul is [156], [187] : ha a pont ´eleinek sz´ama meghalad egy korl´atot (´altal´abanI/2-t), akkor t´abl´azatos implement´aci´ot haszn´alunk, ellenkez˝o esetben maradunk a list´as megold´asn´al.

Megeml´ıt¨unk k´et sz´ofa lesz´armazottat. Ezek a nyesett sz´of´ak (pruned trie) ´es a PATRI-CIA f´ak. Mindk´et fa abban k¨ul¨onb¨ozik az eredeti sz´of´at´ol, hogy kiiktatj´ak az olyan utakat a f´ab´ol, amelyekben nincsen el´agaz´as. A nyesett f´an´al ezt kiz´ar´olag lev´elhez vezet˝o utakkal teszik, PATRICIA f´akn´al ez a korl´atoz´as nem ´all fenn.

Halmazokat tartalmaz´o sz´of´ak

Amennyiben a sz´ofa hat´ekony adatstrukt´ura sorozatok t´arol´as´ara, ´es gyors visszakeres´es´ere, akkor ugyanez mondhat´o el elemhalmazok eset´ere is. Ha teh´at elemhalmazok adottak ´es az a feladat, hogy gyorsan meg´allap´ıtsuk, hogy egy elemhalmaz szerepel-e a megadottak k¨oz¨ott, akkor el´eg defini´alnunk az elemeken egy teljes rendez´est, ami alapj´an a halmazokat sorozatokk´a alak´ıthatjuk.

K¨ul¨onb¨oz˝o rendez´esek k¨ul¨onb¨oz˝o sorozatokat ´all´ıtanak el˝o, amelyek k¨ul¨onb¨oz˝o sz´of´akat eredm´enyeznek. Erre mutat p´eld´at a k¨ovetkez˝o ´abra, ahol k´et olyan sz´of´at l´athatunk, ame-lyek a AB, ABC elemhalmazokat t´arolj´ak. Az els˝o sz´ofa az ABC szerint cs¨okken˝o sorrendet haszn´al (C≺B≺A), m´ıg a m´asodik ennek ellenkez˝oj´et.

Egy sz´ofa mem´oriaig´enye ar´anyos a sz´ofa pontjainak sz´am´aval, ´ıgy jogos az az ig´eny, hogy azt a teljes rendez´est v´alasszuk, amely a legkevesebb pont´u, azaz minim´alis m´eret˝u sz´of´at adja.

Ez az ´un. minim´alis sz´ofa el˝o´all´ıt´as´anak feladata. Sajnos ez egy neh´ez feladat.

2.4. t´etel. A minim´alis sz´ofa probl´ema NP-neh´ez .

0

2.2. ´abra. P´elda : k¨ul¨onb¨oz˝o rendez´est haszn´al´o sz´of´ak

Eredetileg a feladatot n-esekre bizony´ıtott´ak, de ebb˝ol k¨ovetkezik, hogy halmazokra is

´erv´enyes. Legyen ugyanis az alaphalmaz I. Ekkor minden halmazt felfoghatunk, mint egy |I| hossz´u bin´aris ´ert´ekeket tartalmaz´o vektort.

A fenti p´eld´at szeml´elve az embernek az az ´erz´ese t´amad, hogy az a rendez´es adja a legkeve-sebb cs´ucs´u sz´of´at, amelyeben az elemek a halmazokban val´o el˝ofordul´asok sz´am´anak ar´any´aban cs¨okken˝o sorba vannak Rendezve. Ugyanis a gyakori elemek fognak a halmazok kapott soroza-tok elej´ere ker¨ulni, ´es ezek az elemek, mivel gyakoriak sok sorozat elej´en lesznek megtal´alhat´ok.

A sz´ofa a k¨oz¨os prefixeket csak egyszer t´arolja, ´ıgy akkor lesz a sz´ofa m´erete v´arhat´oan a legkisebb, ha min´el t¨obb sorozatnak van k¨oz¨os prefixe. Az el˝oz˝o ´abra is ezt sugallta.

Sajnos a fenti m´odon kapott sz´ofa nem felt´etlen¨ul adja a legkevesebb pontot tartalmaz´o sz´of´at. Ezt a legegyszer˝ubben egy ellenp´eld´aval tudjuk bizony´ıtani. Legyenek a halmazaink a k¨ovetkez˝oek :AB,AC,CZ,BCZ,BZ,Z. AZ elem gyakoris´aga 4, a B, C-´e 3 ´es azAelem´e 2.

Ha felrajzoljuk ezen gyakoris´agok alapj´an kapott rendez´es (Z > B > C > A, de aC, B elemek sorrende tetsz˝oleges lehet) szerinti sz´of´at, akkor a bal oldali sz´of´at kapjuk. Ha az A ´es B, C elemek sorrendj´et felcser´elj¨uk, akkor eggyel kevesebb pontot tartalmaz´o sz´of´at kapunk (jobb oldal).

2.3. ´abra. Ellenp´elda arra, hogy az el˝ofordul´as szerinti cs¨okken˝o sorrend adja a minim´alis m´eret˝u sz´of´at

Patr´ıcia-f´ak

Egy ir´any´ıtott utat l´ancnak h´ıvunk, ha minden pontj´anak csak egy gyereke van. A Patr´ıcia-fa a sz´of´ab´ol sz´armaztathat´o ´ugy, hogy a sz´ofa nem b˝ov´ıthet˝o l´ancait egy-egy ´ell´e vonjuk ¨ossze.

Az ´uj ´el a l´anc utols´o pontj´aba mutat, c´ımk´eje a l´anc ´eleinek c´ımk´eib˝ol ´all´o sorozat. Ha a

Az ´uj ´el a l´anc utols´o pontj´aba mutat, c´ımk´eje a l´anc ´eleinek c´ımk´eib˝ol ´all´o sorozat. Ha a