You are on page 1of 362

Sveučilište u Zagrebu

FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA

Robert Logožar

RAČUNSKI ZASNOVANO
MODELIRANJE DINAMIČKIH SUSTAVA

DOKTORSKI RAD

Zagreb, 2012.
FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA

Robert Logožar

RAČUNSKI ZASNOVANO
MODELIRANJE DINAMIČKIH SUSTAVA

DOKTORSKI RAD

Mentor: akademik prof. emer. dr. sc. Leo Budin

Zagreb, 2012.
FACULTY OF ELECTRICAL ENGINEERING AND COMPUTING

Robert Logozar

COMPUTATIONALLY BASED
MODELING OF DYNAMICAL SYSTEMS

DOCTORAL THESIS

Mentor: Academician Prof. Emer. Leo Budin, Ph.D.

Zagreb, 2012
Robert Logoµzar, doktorski rad:
Raµcunski zasnovano modeliranje dinamiµckih sustava
(Computationally Based Modeling of Dynamical Systems)

Doktorski rad izra†en je na Sveuµcilištu u Zagrebu, Fakultet elektrotehnike i raµcu-


narstva, Zavod za elektroniku, mikroelektroniku, raµcunalne i inteligentne sustave te
na Veleuµcilištu u Varaµzdinu.

Mentor rada: akademik prof. emer. dr. sc. Leo Budin.

Doktorski rad ima: 340 stranica,


46 slika i
14 tablica.

Doktorski rad br. :

iv
O mentoru. Leo Budin ro†en je u Vinkovcima 1937. godine. Diplomirao je, magistrirao
i doktorirao na Elektrotehniµckom fakultetu (danas: Fakultet elektrotehnike i raµcunarstva –
FER) Sveuµcilišta u Zagrebu 1962., 1967., odnosno 1976. godine. Godine 1962. prikljuµcio se
Zavodu za elektroniku, mikroelektroniku, raµcunalne i inteligentne sustave FER-a. Godine
1982. izabran je za redovitog profesora. Umirovljen je 2007. godine, a 2008. izabran je
za profesora emeritusa Sveuµcilišta u Zagrebu. Od godine 2004. redoviti je µclan Hrvatske
akademije znanosti i umjetnosti. Kao stipendist fondacije Alexander von Humboldt bo-
ravio je godinu dana kao gostujući istraµzivaµc na Universität Erlangen –Nürnberg, SR Nje-
maµcka (1968.–1969.) te, kao stipendist Fulbrightove fondacije, bio gostujući profesor na
University of Illinois, Urbana-Champaign, S.A.D. (1979.–1980.). Bio je glavni istraµzi-
vaµc na pet znanstvenih projekata koje je …nanciralo Ministarstvo znanosti, obrazovanja
i sporta Republike Hrvatske, a kao istraµzivaµc sudjelovao je i na mnogim drugim projek-
tima. Objavio je stotinjak radova u µcasopisima i zbornicima konferencija, uglavnom s
tematikom algoritama za analizu i projektiranje raµcunalom te algoritama za ugra†ene
raµcunalne sustave. Akademik Budin µclan je mnogih svjetskih udruga od kojih se istiµcu
Institute of Electrical and Electronic Engineers (IEEE) i Association for Computing Ma-
chinery (ACM). Bio je µclan programskih odbora više me†unarodnih konferencija te µclan
uredništava nekoliko me†unarodnih i domaćih µcasopisa.

About the Mentor. Leo Budin was born in Vinkovci in 1937. He received his B.Sc.,
M.Sc. and Ph.D. degrees in electrical engineering from the University of Zagreb, Faculty
of Electrical Engineering (now Faculty of Electrical Engineering and Computing –FER),
Zagreb, Croatia, in 1961, 1967 and 1976, respectively. Since 1962, he was with the De-
partment of Electronics, Microelectronics, Computer and Intelligent Systems of FER. He
was promoted to Full Professor in 1982. He retired in 2007 and was promoted to Professor
Emeritus in 2008. Leo Budin is a regular member of the Croatian Academy of Sciences and
Arts since 2004. As a Humboldt scholar he was a visiting researcher at the University of
Erlangen –Nürnberg, Germany (1968–1969) and, as a Fulbright scholar, he was a visiting
professor at the University of Illinois, Urbana-Champaign, U.S.A. (1979–1980). He was
the principal investigator in …ve scienti…c projects …nanced by the Ministry of Science,
Education and Sports of the Republic of Croatia, and participated in numerous other
projects. He published more than a hundred papers in journals and conference proceed-
ings, in the area of algorithms for computer aided analysis and design, and algorithms for
embedded systems. Professor Budin is a member of Institute of Electrical and Electronic
Engineers (IEEE), Association for Computing Machinery (ACM), and a few Croatian as-
sociations. He was a member of several international conferences’ program committees
and a few journal editorial boards.

v
vi
Predgovor

Ovaj je rad plod mojeg dugogodišnjeg bavljenja modeliranjem dinamiµckih sustava


zasnovanim na teoriji epsilon-strojeva i raµcunskoj mehanici Jamesa P. Crutch…elda.
Prvu etapu — zapoµcetu u drugoj polovici 1990-tih — okonµcao sam izradom prvobit-
ne inaµcice DSA programa za modeliranje iz binarnog vremenskog niza i dovršenjem
magistarskog rada 1999. godine. U narednom me je razdoblju širina ove teme µcesto
navodila na neproduktivna lutanja, dok su mnogi “kaotiµcni”µzivotni utjecaji potiski-
vali i odga†ali moju znanstvenu aktivnost, ponekad i na duµze vrijeme. Projekt je
ponovo intenziviran i konkretiziran u zadnjih nekoliko godina. Tada je postavljen
zadatak da se DSA program temeljito revidira i usavrši te da se njegove podatkovne
strukture i algoritmi podrobno opišu i proanaliziraju. Tome je pridodan zahtjev za
cjelovitim teorijskim prikazom ovog interdisciplinarnog podruµcja iz rakursa raµcunar-
skih znanosti. Tako†er, zadan je i cilj da se teorija i program primijene na nizu
dinamiµckih sustava te da se modeliranje provodi do krajnjih granica raspoloµzivih
raµcunarskih resursa. Konaµcan je rezultat ova disertacija. Nadam se da je njezin
pozamašan obim barem djelomiµcno opravdan dosegnutom razinom potpunosti te
brojem i relevantnošću ostvarenih znanstvenih doprinosa.
Osnivaµcu teorije, Jamesu P. Crutch…eldu, upućujem veliko hvala za podstrek i
savjete u ranim fazama rada. Za pomoć u implementaciji gra…µckih dijelova DSA
programa u vremenski kritiµcnom razdoblju projekta zahvaljujem svom dragom pri-
jatelju Ivanu Hipu. Na pomoći u izradi mnogih slika te na pregledu ispisa program-
skog koda i teksta u cjelini zahvaljujem svom suradniku Kruni Kukolji. Za jeziµcne
savjete koji su ovaj hrvatski tekst uµcinili boljim veliko hvala ide lektorici Marini
Šramek i mom dragom prijatelju, prevoditelju Predragu Mavaru. Gospo†i Mirjani
Grubiši iz studentske sluµzbe Fakulteta elektrotehnike i raµcunarstva upućujem iskrene
zahvale na brizi oko formalne procedure tijekom izrade i obrane rada te na strpljenju
glede mog notornog kašnjenja. Rukovodstvu Veleuµcilišta u Varaµzdinu zahvaljujem
na plaćanju troškova dovršetka doktorskog studija, a Ministarstvu znanosti, obra-
zovanja i sporta Republike Hrvatske na …nancijskoj potpori za tisak i opremanje
disertacije. Na kraju, posebice zahvaljujem svojem mentoru — akademiku profesoru
Leu Budinu — na njegovoj znanstvenoj širokogrudnosti i spremnosti da prihvati ovu
interdisciplinarnu temu te na svesrdnoj podršci u prepoznavanju i predstavljanju
vrijednosti ovog rada.

Robert Logoµzar, Varaµzdin, 2012.

vii
viii
Saµzetak
Raµcunski zasnovano modeliranje dinamiµckih sustava

U ovom multidisciplinarnom radu opisano je, implementirano i primijenjeno modeliranje


jednodimenzionalnih dinamiµckih sustava u kojem se iskljuµcivo na temelju primljenog binar-
nog vremenskog niza gradi raµcunski model s pridodanim stohastiµckim svojstvima. U teo-
rijskom uvodu pokazana je korektnost takvog pristupa. Simboliµcka dinamika povezana je s
kodiranjem u mjerno-modelirajućem kanalu i aproksimirana podnizovima konaµcne duljine.
Izme†u nekoliko raµcunarskih metodologija Crutch…eldova teorija -strojeva odabrana je kao
najprikladnija za modeliranje iz vremenskog niza. U njoj je temeljni -stroj predstavljen
stohastiµckim konaµcnim automatom (SFA), koji je ovdje izveden iz konaµcnih automata (FA).
Ilustrirana je podudarnost stohastiµckih nedeterministiµckih konaµcnih automata (SNFA) sa
skrivenim Markovljevim modelima temeljenim na granama grafa (EOHMM). Dan je i
pregled sloµzenijih automata koji su kandidati za -strojeve viših razina.
Uvedene su operativne inaµcice osnovnih pojmova teorije -strojeva: (L; )-ekvivalentna
uzroµcna stanja i njihov praktiµcni ekvivalent — (L; )-morfovi (nadalje, morfovi), te pripadni
razredi ekvivalencije. Poznata stanja i njihove vjerojatnosti prijelaza odre†uju prijelazni
tenzor te -stroj i SFA. Uvedeni su broj morfovima koreliranih simbola i duljina tako istra-
µzene korelacije te duljina korelacije SFA-modela i njegova rekurentnog ciklusa. Opisan je
hijerarhijski proces gradbe -strojeva. Iz vremenskog niza kreira se rašµclambeno stablo
visine D, u kojem se morfovi nalaze kao (L; )-jedinstvena podstabla. Ta (pod)stabla — s
listovima na konstantnoj razini (L) D — teorijski su razra†ena i nazvana -(pod)stabla.
Njihova se statistika temelji na prosjeµcnom broju bl djece iz µcvora na l-toj razini.
Glavni raµcunarski doprinos ovog rada izvorni su FM i TFM algoritmi. Oni nalaze mor-
fove (stanja) i njihove me†usobne prijelaze i vjerojatnosti, te time de…niraju SFA-model
sustava. Uz parametre modela L i FM algoritam nalazi najdublji morf na razini lDM i
općenito staje prije provjere svih podstabla. Stoga kaµzemo da je on potencijalno površan.
Uvjet regularnosti dobivenog SFA jest: lDM +L+1 D . Uveden je koncept sveobuhvatnog
modeliranja u kojem se varijacijom parametara L i — uz odabranu minimalnu rezoluciju
potonjeg — na zadanom glavnom stablu istraµzuje cijeli prostor rješenja FM algoritma.
Temeljiti (punoprolazni), TFM algoritam provjerava sva podstabla rašµclambenog stabla,
a potom uklanja ona koja su (L; )-ekvivalentna nekom ranijem podstablu (morfu). On
naµcelno potvr†uje korektnost rezultata FM algoritma. Oba algoritma garantiraju mini-
malnost i deterministiµcnost svojih regularnih SFA-modela, što im je glavna prednost pred
drugim algoritmima iste namjene. Iznijeta je cjelovita informacijsko-teorijska analiza pri-
mljenog vremenskog niza i SFA-modela. De…nirane su njihove stope entropija i razliµcite
sloµzenosti, ukljuµcujući i statistiµcku sloµzenost. Na izvoran je naµcin ekspliciran rastav ukupne
entropije SFA-modela na sumu statistiµcke sloµzenosti i stope entropije modela. Dokazano

ix
x

je da se stopa entropije modela dalje rastavlja na sumu stope entropije niza odaslanog
iz modela i nedeterminiranosti prijelaza, ili na sumu stope entropije Markovljevog izvo-
ra i novouvedene stope entropije simbola po prijelazu. De…nirani teorijsko-informacijski
pokazatelji izraµcunani su za raznovrsne sustave, a za periodiµcne su i dokazani.
Modeliranje do razine SFA ostvareno je u našem programskom alatu DSA. Opisana
je implementacija podatkovnih struktura i algoritama korištenih u njegova tri glavna pro-
gramska modula: za simulaciju dinamiµckih sustava, za hranidbu binarnog rašµclambenog
(glavnog) stabla i za nalaµzenje SFA. Pregledavanje vremenskog niza, glavnog stabla, mor-
fova i dobivenih modela omogućeno je u gra…µckim suµceljima. Za ostvarenje statistiµcki
relevantnog glavnog stabla, vremensko-prostorna sloµzenost procesa hranidbe eksponenci-
jalna je u njegovoj visini D . Dokazana je korektnost izvornih algoritama za nerekurzivni
prolazak kroz stabla te napravljena njihova usporedba s rekurzivnim algoritmima. FM al-
goritam unaprije†en je u odnosu na prvobitnu inaµcicu. Za njega je implementacija pomno
obrazloµzena, a za vrlo opseµzan TFM algoritam u bitnim crtama. Napravljena je iscrpna
analiza vremenske sloµzenosti FM algoritma za sluµcajeve razliµcitih glavnih stabala i razli-
µcitih naµcina njegova rada. Općenito je ta sloµzenost eksponencijalna u raznim linearnim
kombinacijama parametara L i D, a u najgorem sluµcaju u njihovoj razlici 2D L .
DSA program primijenjen je za modeliranje brojnih sustava. Za njihova su rašµclambena
-stabla utvr†ene krajnje razine statistiµcke konzistentnosti, odnosno maksimalne visine ko-
rektnih glavnih stabala u kojima će se nalaziti morfovi. Te su razine teorijski povezane s
toµcnosti numeriµckog izraµcuna i s Lyapunovljevim eksponentom sustava. Za periodiµcne i su-
stave zadane pravilom te za potpuno kvazistohastiµcke sustave dobivaju se toµcni SFA-modeli
i uz uporabu FM i TFM algoritama. To vrijedi i za logistiµcko preslikavanje u nastupu kaosa
na kraju puta udvostruµcavanjem perioda, za koje porastom duljine L morfa broj stanja
SFA divergira. Tu su dobiveni SFA-modeli plauzibilniji od prethodno poznatih, a na višoj
je razini potvr†en konaµcan registarski stroj. Logistiµcka preslikavanja u kaosu na mahove,
za Misiurewiczev parametar i nadomak potpunog kaosa pokazuju strukturu izmiješanu s
kvazistohastiµcnosti. Sveobuhvatno modeliranje ovih sustava za zadani L i sve manji daje
niz sve preciznijih SFA-modela, sa sve većim brojem stanja. Na temelju njihovih grafova i
izraµcunanih informacijsko-teorijskih pokazatelja odabrani su oni najreprezentativniji. Neki
su od njih potvr†eni i TFM algoritmom. Takav sloµzen postupak modeliranja uµcinkovito
obavlja humani modelar s pomoću DSA programa. Time je ustanovljena funkcionalna
modelirajuća platforma, pogodna za daljnju nadogradnju i poopćenja.

Kljuµcne rijeµci: modeliranje, (nelinearni) dinamiµcki sustavi, binarni vremenski niz, teorija
-strojeva, stohastiµcki konaµcni automati, mjere sloµzenosti sustava, FM i TFM algoritmi,
prostorno-vremenska kompleksnost algoritama, DSA program, logistiµcko preslikavanje.
Abstract
Computationally Based Modeling of Dynamical Systems

In this multidisciplinary work we describe, implement, and apply the modeling of one-
dimensional dynamical systems, in which the computational model with added stochastic
properties is built solely from the received binary time series. The introductory theoretical
chapters show the correctness of such an approach. Symbolic dynamics is connected to
the encoding in the measuring-modeling channel and approximated by the …nite-length
substrings. Among a few presented methodologies, the Crutch…eld’s theory of -machines
is selected as the best for the modeling from a time series. The basic -machine is presented
by a stochastic …nite automaton (SFA), which is here derived from the class of …nite
automata (FA). The equality of the stochastic nondeterministic …nite automata (SNFFA)
to the edge-output hidden Markov models (EOHMM) is illustrated. The more complex
automata that are suitable for the higher-level -machines are shortly outlined.
The basic concepts of the theory of -machines are given their operational versions:
(L; )-equivalent causal states and their practical substitutions — (L; )-morphs (further,
morphs), together with their classes of equivalence. Known states and their transitions’
probabilities de…ne the transition tensor, and thus an -machine and its SFA. The number
of the morph-correlated symbols and the morph-investigated correlation length are intro-
duced, as well as the correlation length of the SFA-model and the length of its recurrent
cycle. The reconstruction of -machines is a hierarchical process. From the time series, the
parse tree of height D is created, wherefrom morphs are found as (L; )-unique subtrees.
These -(sub)trees — with leaves at the constant level (L) D — are theoretically described.
Their statistics is based on the average number bl of children from an l-level node.
The main computational contributions of this work are original FM and TFM algo-
rithms. They …nd morphs (states), their mutual transitions and probabilities, and thus
de…ne the SFA-model of a system. For given L and , FM algorithm …nds the deepest
morph on level lDM and generally stops before having checked all the subtrees. This is
called (potential) super…ciality. The condition for a regular SFA is lDM + L + 1 D . The
concept of comprehensive modeling is introduced. By the variation of L and — with a
chosen resolution for the latter — the whole space of the FM algorithm solutions is being
explored for a parse tree of height D. The thorough, TFM algorithm …rst investigates all
the subtrees in the parse tree and then removes those which are (L; )-equivalent to earlier
subtrees. It con…rms the correctness of the FM algorithm results. Both algorithms guar-
antee the minimality and determinism of their regular SFA-models, which is their main
advantage over other algorithms of the same purpose. A complete information-theoretical
analysis of the time series and the SFA-model is given. The corresponding entropy rates
and various complexities are de…ned. An original expansion of the SFA total entropy to

xi
xii

the sum of statistical complexity and the model entropy rate is presented. It is proved
that the latter can be resolved as the sum of the entropy rate of the time series emitted
from the model and the transition indeterminacy, or the sum of the entropy rate of the
Markov source and the newly introduced symbol-per-transition entropy rate. All de…ned
quantities are calculated for various dynamical systems and proven for the periodic ones.
The modeling up to the SFA level is realized by our original DSA programming tool.
The implementation of data structures and algorithms used in its three main programming
modules is presented. Inspection of the time series, main (parse) tree, morphs and the
created models is possible via graphical user interfaces. The time-space complexity of the
tree-feed process for a statistically relevant main tree is generally exponential in the tree
height D . The correctness of original nonrecursive tree-traversal algorithms was proven,
and they were compared to the recursive versions. FM algorithm is upgraded from its
…rst version. Its implementation is described in detail, and the implementation of the
extensive, TFM algorithm in its essential parts. The exhaustive analysis of FM algorithm
time complexity is made for the cases of di¤erent parse trees and di¤erent ways of its
operation. For general systems, this complexity is exponential in di¤erent linear combina-
tions of parameters L and D, and in the worst case in their di¤erence 2D L.
DSA program was applied for the modeling of numerous systems. For their parse -
trees, the utmost levels of statistical consistency had been determined, so that their morphs
were being found from the consistent main trees. Those levels were theoretically connected
to the accuracy of numerical calculation and Lyapunov exponent of the system. For pe-
riodical, rule-de…ned, and fully quasi-stochastic systems, both FM and TFM algorithms
give the exact SFA-models. The same is true for the logistic map at the onset of chaos by
the end of the period-doubling route, for which the number of SFA states diverges with in-
creasing morph height L. Here, more plausible SFA-models were obtained than previously
known. Also, on a higher level, a …nite register machine is con…rmed. Logistic maps at the
intermittency chaos, Misiurewicz parameter, and near the climax of chaos show structure
mixed with quasi-stochasticity. The comprehensive modeling of these systems for a given
range of L and decreasing gives more and more precise SFA-models, with increasing
number of states. Based on their graphs and the calculated information-theoretic indica-
tors, the best representative models are chosen among them. Some of them were con…rmed
by the TFM algorithm. Such a complex modeling task can be e¤ectively accomplished
by a human modeler with the aid of the DSA program. It provides a functional modeling
platform that is suitable for further upgrades and generalizations.

Keywords: modeling, (nonlinear) dynamical systems, time series, theory of -machines,


stochastic …nite automata, complexity measures, algorithms, data structures, algorithm
space-time complexity, DSA program, logistic map.
Sadrµzaj

Predgovor vii

Saµzetak ix

Abstract xi

Sadrµzaj xiii

1 Uvod 1
1.1 Modeliranje dinamiµckih sustava . . . . . . . . . . . . . . . . . . . . . 2
1.1.1 Od linearnog k nelinearnom . . . . . . . . . . . . . . . . . . . 2
1.1.2 Novi pristup modeliranju . . . . . . . . . . . . . . . . . . . . . 3
1.2 Raµcunska mehanika . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.1 Crutch…eldovska raµcunska mehanika . . . . . . . . . . . . . . . 5
1.2.2 -strojevi i njihova rekonstrukcija . . . . . . . . . . . . . . . . 7
1.2.3 Princip raµcunske ekvivalencije . . . . . . . . . . . . . . . . . . 7
1.2.4 Autori i literatura . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3 Tema, podruµcje i plan ovog rada . . . . . . . . . . . . . . . . . . . . . 9
1.3.1 Raµcunarski i informacijski pristup raµcunskoj mehanici . . . . . 9
1.3.2 Obim i organizacija rada . . . . . . . . . . . . . . . . . . . . . 10
1.3.3 Uvodni dio i izbor modela (poglavlja 2 do 5) . . . . . . . . . . 10
1.3.4 Teorijska razrada (poglavlja 6 i 7) . . . . . . . . . . . . . . . . 11
1.3.5 Programska implementacija (poglavlje 8) . . . . . . . . . . . . 12
1.3.6 Primjeri i rezultati modeliranja (poglavlje 9) . . . . . . . . . . 12
1.3.7 Prilozi na CD-u: popratni tekst i DSA program . . . . . . . . 13

2 Simboliµcki opis dinamiµckih sustava 15


2.1 Iterativni procesi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2 Simboliµcka dinamika . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2.1 Putopis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2.2 Posmaµcno preslikavanje . . . . . . . . . . . . . . . . . . . . . . 23
2.2.3 Srodnost s dinamikom faznog prostora . . . . . . . . . . . . . 29
2.2.4 Kaotiµcnost posmaµcnog preslikavanja . . . . . . . . . . . . . . . 31
2.2.5 Generirajuća particija . . . . . . . . . . . . . . . . . . . . . . 34

xiii
xiv µ
SADRZAJ

2.3 K eksperimentalno-raµcunarskom pristupu . . . . . . . . . . . . . . . . 36


2.3.1 Tvorba putopisa s pomoću mjernog kodiranja . . . . . . . . . 36
2.3.2 Simboliµcki (binarni) vremenski niz . . . . . . . . . . . . . . . 37

3 Od izmjere do modela 39
3.1 Znanstveno modeliranje . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.1.1 Epistemološki temelji . . . . . . . . . . . . . . . . . . . . . . . 41
3.1.2 Teorija -strojeva kao epistemološki model . . . . . . . . . . . 43
3.1.3 Nuµznost eksperimentalne aproksimacije . . . . . . . . . . . . . 44
3.2 Mjerno-modelirajući kanal . . . . . . . . . . . . . . . . . . . . . . . . 45
3.2.1 Diskretizacija faznog prostora i kodiranje mjerenja . . . . . . . 46
3.2.2 Gruba izmjera . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.2.3 Dinamiµcki sustav kao izvor informacije . . . . . . . . . . . . . 49
3.3 Izmjera u jeziku simboliµcke dinamike . . . . . . . . . . . . . . . . . . 50
3.3.1 Preciznost konaµcne prezentacije . . . . . . . . . . . . . . . . . 51
3.4 Odabir i ugodba instrumenta . . . . . . . . . . . . . . . . . . . . . . 53
3.4.1 Odre†ivanje kritiµcne toµcke i generirajuće particije . . . . . . . 54
3.5 Modeliranje iz vremenskog niza . . . . . . . . . . . . . . . . . . . . . 58

4 Izbor raµcunarskog modela 59


4.1 Umjetne neuronske mreµze . . . . . . . . . . . . . . . . . . . . . . . . 59
4.2 Staniµcni automati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.3 Skriveni Markovljevi modeli . . . . . . . . . . . . . . . . . . . . . . . 65
4.3.1 HMM s izlazom temeljenim na stanjima (SOHMM) . . . . . . 66
4.3.2 Prikladnost SOHMM-a . . . . . . . . . . . . . . . . . . . . . . 67
4.3.3 HMM s izlazom temeljenim na granama grafa (EOHMM) . . . 67
4.3.4 Veza izme†u dviju formi HMM-a . . . . . . . . . . . . . . . . 70
4.3.5 Primjeri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.3.6 Nedeterminizam EOHMM-a . . . . . . . . . . . . . . . . . . . 73
4.3.7 Svojstva EOHMM-a i prikladnost za modeliranje iz
vremenskog niza . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.4 Teorija -strojeva kao najbolji izbor!? . . . . . . . . . . . . . . . . . . 75

5 Raµcunski automati u kontekstu modeliranja 77


5.1 Formalni jezici i teorija automata . . . . . . . . . . . . . . . . . . . . 77
5.1.1 Formalni jezici . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5.1.2 Diskretno izraµcunavanje i teorija automata . . . . . . . . . . . 80
5.2 Konaµcni automati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.2.1 Deterministiµcki konaµcni automati (DFA) . . . . . . . . . . . . 81
5.2.2 Nedeterministiµcki konaµcni automati (NFA) . . . . . . . . . . . 84
5.2.3 Primjer konverzije NFA u DFA . . . . . . . . . . . . . . . . . 85
5.3 Regularni izrazi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.3.1 Tvorba regularnih izraza . . . . . . . . . . . . . . . . . . . . . 88
µ
SADRZAJ xv

5.3.2 Primjer regularnog izraza za FA . . . . . . . . . . . . . . . . . 89


5.3.3 Veza sa simboliµckom dinamikom . . . . . . . . . . . . . . . . . 90
5.4 Stohastiµcki konaµcni automati . . . . . . . . . . . . . . . . . . . . . . . 91
5.4.1 Geneza iz razreda FA . . . . . . . . . . . . . . . . . . . . . . . 91
5.4.2 Funkcionalna speci…µcnost SFA . . . . . . . . . . . . . . . . . . 92
5.4.3 Formalni opis SFA . . . . . . . . . . . . . . . . . . . . . . . . 93
5.4.4 Tranzijentna i rekurentna stanja . . . . . . . . . . . . . . . . . 94
5.5 Stohastiµcki nedeterministiµcki konaµcni automati . . . . . . . . . . . . . 95
5.5.1 Geneza iz razreda NFA i usporedba s HMM-ima . . . . . . . . 95
5.5.2 Formalni opis SNFA . . . . . . . . . . . . . . . . . . . . . . . 96
5.6 Automati viših razreda . . . . . . . . . . . . . . . . . . . . . . . . . . 97
5.6.1 Razredi automata iznad SFA . . . . . . . . . . . . . . . . . . . 97
5.6.2 Univerzalno raµcunanje . . . . . . . . . . . . . . . . . . . . . . 98
5.7 Hijerarhija raµcunskih strojeva . . . . . . . . . . . . . . . . . . . . . . 98
5.7.1 Hijerarhija diskretnih strojeva . . . . . . . . . . . . . . . . . . 99
5.7.2 Hijerarhija konaµcnih nestohastiµckih i stohastiµckih
automata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

6 Raµcunska mehanika i -strojevi 103


6.1 Pregled raµcunske mehanike i smjernice . . . . . . . . . . . . . . . . . 104
6.1.1 -stroj kao kauzalni model . . . . . . . . . . . . . . . . . . . . 104
6.1.2 Nadogradnja raµcunskih modela . . . . . . . . . . . . . . . . . 105
6.1.3 Primjena raµcunske mehanike i teorije -strojeva . . . . . . . . 106
6.2 Osnove teorije -strojeva . . . . . . . . . . . . . . . . . . . . . . . . . 106
6.2.1 Uzroµcna stanja . . . . . . . . . . . . . . . . . . . . . . . . . . 106
6.2.2 Uvo†enje stohastiµcnosti . . . . . . . . . . . . . . . . . . . . . 108
6.2.3 -ekvivalentna stanja . . . . . . . . . . . . . . . . . . . . . . . 108
6.2.4 Operativna de…nicija uzroµcnih stanja . . . . . . . . . . . . . . 109
6.2.5 (L; )-ekvivalentna stanja (operativna de…nicija) . . . . . . . . 111
6.2.6 Morfovi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
6.2.7 De…nicija -stroja . . . . . . . . . . . . . . . . . . . . . . . . . 116
6.2.8 Veza -stroja s raµcunskim automatima . . . . . . . . . . . . . 119
6.2.9 Općeniti -stroj, funkcionalna de…nicija . . . . . . . . . . . . 119
6.3 Duljine korelacija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
6.3.1 Duljine morfovima istraµzenih korelacija . . . . . . . . . . . . . 121
6.3.2 Duljine korelacije -stroja i vremenskog niza . . . . . . . . . . 124
6.4 Rekonstrukcija -strojeva . . . . . . . . . . . . . . . . . . . . . . . . 128
6.4.1 Rijeµci i morfovi, -stabla i -podstabla . . . . . . . . . . . . . 128
6.4.2 Ekvivalencija morfova i jedinstvenih podstabala . . . . . . . . 129
6.4.3 Hijerarhijsko modeliranje . . . . . . . . . . . . . . . . . . . . . 130
6.4.4 Odrednice razvoja modela . . . . . . . . . . . . . . . . . . . . 136
6.4.5 Algoritam gradbe -strojeva . . . . . . . . . . . . . . . . . . . 137
6.4.6 Automatizacija inovativnog koraka?! . . . . . . . . . . . . . . 139
xvi µ
SADRZAJ

6.5 Od vremenskog niza do SFA . . . . . . . . . . . . . . . . . . . . . . . 139


6.5.1 Izluµcivanje rijeµci iz vremenskog niza . . . . . . . . . . . . . . . 140
6.5.2 Duljina rijeµci D (D = const:!?) . . . . . . . . . . . . . . . . . 141
6.5.3 Rašµclambeno stablo . . . . . . . . . . . . . . . . . . . . . . . . 142
6.5.4 Hranidba stabla . . . . . . . . . . . . . . . . . . . . . . . . . . 143
6.5.5 Vjerojatnosti podnizova i morfova . . . . . . . . . . . . . . . . 144
6.5.6 Morfološki i vjerojatnosno razliµcita stanja . . . . . . . . . . . 146
6.5.7 SFA-model sustava “nema uzastopnih nula” . . . . . . . . . . 149
6.6 Algoritmi za nalaµzenje morfova i SFA-modela . . . . . . . . . . . . . 151
6.6.1 FM algoritam . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
6.6.2 Uvjeti na dubinu morfova za regularan SFA . . . . . . . . . . 153
6.6.3 Izbor “srednje”dubine morfova . . . . . . . . . . . . . . . . . 155
6.6.4 Sveobuhvatno modeliranje . . . . . . . . . . . . . . . . . . . . 156
6.6.5 Temeljiti algoritam za nalaµzenje morfova (TFM) . . . . . . . . 158
6.6.6 Osvrt na druge algoritme — usporedba s FM i TFM . . . . . . 160
6.7 Modeliranje NCZ sustava u DSA programu . . . . . . . . . . . . . . . 162
6.7.1 Od izbora sustava i parametara do SFA-modela . . . . . . . . 162
6.7.2 Analiza dobivenog modela . . . . . . . . . . . . . . . . . . . . 164
6.7.3 Utjecaj hranidbe i generatora sluµcajnih brojeva na
preciznost modela . . . . . . . . . . . . . . . . . . . . . . . . . 166

7 Informacijsko-teorijski aspekti modela 171


7.1 Informacija iz vremenskog niza . . . . . . . . . . . . . . . . . . . . . 172
7.2 Mjere sloµzenosti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
7.2.1 Deterministiµcka sloµzenost . . . . . . . . . . . . . . . . . . . . . 174
7.2.2 Statistiµcka sloµzenost . . . . . . . . . . . . . . . . . . . . . . . 176
7.2.3 Metrika statistiµcke sloµzenosti . . . . . . . . . . . . . . . . . . . 179
7.3 Mjere sloµzenosti kao rezultat modeliranja . . . . . . . . . . . . . . . . 180
7.3.1 Informacija niza odaslanog iz -stroja . . . . . . . . . . . . . . 180
7.3.2 Rezultati modeliranja — temelj informacijsko-teorijske
analize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
7.3.3 Topološke sloµzenosti . . . . . . . . . . . . . . . . . . . . . . . 182
7.3.4 Ukupna entropija modela — entropija grana . . . . . . . . . . 184
7.3.5 Statistiµcka sloµzenost -stroja . . . . . . . . . . . . . . . . . . . 186
7.3.6 Stope entropije modela i nedeterminiranost . . . . . . . . . . . 187
7.3.7 Stopa entropije modela i Markovljevog lanca . . . . . . . . . . 188
7.3.8 Entropija suviška i logiµcka dubina . . . . . . . . . . . . . . . . 189
7.4 Pravilnost, sluµcaj i izme†u . . . . . . . . . . . . . . . . . . . . . . . . 191
7.4.1 Izme†u pravilnosti i sluµcaja . . . . . . . . . . . . . . . . . . . 191
7.4.2 Struktura iz periodiµcnosti . . . . . . . . . . . . . . . . . . . . 196
7.4.3 “Puka sluµcajnost”. . . . . . . . . . . . . . . . . . . . . . . . . 204
µ
SADRZAJ xvii

8 Programska implementacija 207


8.1 DSA Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
8.1.1 Razvoj DSA programa . . . . . . . . . . . . . . . . . . . . . . 209
8.1.2 Osnovni programski moduli . . . . . . . . . . . . . . . . . . . 210
8.1.3 Statistiµcki pogled na DSA program . . . . . . . . . . . . . . . 212
8.2 Simulacija dinamiµckih sustava i mjerno-modelirajućeg kanala . . . . . 213
8.2.1 Iteracija dinamiµckih sustava . . . . . . . . . . . . . . . . . . . 214
8.2.2 Implementacija vjerojatnosne pristranosti . . . . . . . . . . . 222
8.2.3 Algoritam binarne izmjere . . . . . . . . . . . . . . . . . . . . 224
8.2.4 Sloµzenost iteracijskih algoritama . . . . . . . . . . . . . . . . . 226
8.2.5 Rezultati mjerenja vremena za skupne iteracije . . . . . . . . 227
8.3 Struktura stabla i hranidba . . . . . . . . . . . . . . . . . . . . . . . 229
8.3.1 Klasa binarnog µcvora . . . . . . . . . . . . . . . . . . . . . . . 230
8.3.2 Algoritam hranidbe glavnog stabla . . . . . . . . . . . . . . . 231
8.3.3 Sloµzenost algoritma hranidbe . . . . . . . . . . . . . . . . . . 233
8.3.4 Rezultati mjerenja vremena za algoritam hranidbe . . . . . . . 238
8.4 Rekurzivni i nerekurzivni prolazni algoritmi . . . . . . . . . . . . . . 240
8.4.1 Prolazni algoritmi za binarna stabla . . . . . . . . . . . . . . . 241
8.4.2 Implementacija rekurzivnih algoritama . . . . . . . . . . . . . 243
8.4.3 Implementacija nerekurzivnih algoritama . . . . . . . . . . . . 245
8.4.4 Sloµzenost prolaznih algoritama . . . . . . . . . . . . . . . . . . 249
8.4.5 Rezultati mjerenja vremena za rekurzivne i nerekurzivne
prolazne algoritme . . . . . . . . . . . . . . . . . . . . . . . . 254
8.4.6 Rezime o prolaznim algoritmima . . . . . . . . . . . . . . . . 258
8.5 Algoritam za usporedbu stabala . . . . . . . . . . . . . . . . . . . . . 258
8.5.1 Funkcija CompareTo . . . . . . . . . . . . . . . . . . . . . . . 259
8.5.2 Odlike CT algoritma . . . . . . . . . . . . . . . . . . . . . . . 263
8.5.3 Sloµzenost CT algoritma . . . . . . . . . . . . . . . . . . . . . . 263
8.6 Algoritmi za nalaµzenje morfova i SFA modela . . . . . . . . . . . . . 265
8.6.1 Prolazno stablo i rubni morfovi . . . . . . . . . . . . . . . . . 266
8.6.2 Lista morfova . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
8.6.3 Programska implementacija FM algoritma . . . . . . . . . . . 268
8.6.4 Funkcija FindChildMorphs . . . . . . . . . . . . . . . . . . . 269
8.6.5 Funkcija FindAllMorphs . . . . . . . . . . . . . . . . . . . . . 277
8.6.6 Svojstva FM algoritma . . . . . . . . . . . . . . . . . . . . . . 278
8.6.7 Temeljiti FM algoritam (TFM) . . . . . . . . . . . . . . . . . 279
8.7 Sloµzenost FM algoritma . . . . . . . . . . . . . . . . . . . . . . . . . 281
8.7.1 Pregled izraµcuna vremenske sloµzenosti FM algoritma . . . . . 281
8.7.2 Komentar i revizija preliminarnih rezultata . . . . . . . . . . . 282
8.7.3 Rezime vremenskih sloµzenosti FM algoritma . . . . . . . . . . 284
8.7.4 Mjerenje vremena izvršavanja FM algoritma . . . . . . . . . . 287
8.7.5 Prostorna sloµzenost FM algoritma . . . . . . . . . . . . . . . . 290
8.8 Osvrt na osobite klase suµcelja . . . . . . . . . . . . . . . . . . . . . . 291
xviii µ
SADRZAJ

8.8.1 Klasa za prikaz glavnog stabla . . . . . . . . . . . . . . . . . . 291


8.8.2 Klasa za prikaz poloµzaja morfova u glavnom stablu . . . . . . 292
8.8.3 Gra…µcki prikaz glavnog stabla i morfova . . . . . . . . . . . . 292
8.9 Nedovršeni zadaci i moguća unaprje†enja . . . . . . . . . . . . . . . . 298
8.9.1 Zadaci manjeg obima . . . . . . . . . . . . . . . . . . . . . . . 298
8.9.2 Prilagodba za druge abecede . . . . . . . . . . . . . . . . . . . 299

9 Modeliranje s pomoću DSA programa 301


9.1 Analiza rašµclambenih -stabala . . . . . . . . . . . . . . . . . . . . . 301
9.1.1 Sustav BTS-rand i sustavi zadani pravilom . . . . . . . . . . . 302
9.1.2 Sustavi logistiµckog preslikavanja . . . . . . . . . . . . . . . . . 303
9.1.3 Analiza konzistentnosti rašµclambenih -stabala poteklih
iz numeriµcki iteriranih orbita . . . . . . . . . . . . . . . . . . . 304
9.2 SFA-modeli dinamiµckih sustava . . . . . . . . . . . . . . . . . . . . . 305
9.2.1 Sustavi BTS-rand i BTS-LMCC . . . . . . . . . . . . . . . . . 305
9.2.2 Periodiµcni sustavi . . . . . . . . . . . . . . . . . . . . . . . . . 306
9.2.3 Sustavi zadani pravilom . . . . . . . . . . . . . . . . . . . . . 306
9.2.4 Potvrda modela s pomoću TFM algoritma . . . . . . . . . . . 308
9.2.5 SFA-modeli sustava logistiµckog preslikavanja . . . . . . . . . . 308
9.3 Rezime o modeliranju raznorodnih sustava . . . . . . . . . . . . . . . 317
9.4 Pogled naprijed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
9.4.1 Primjena na eksperimentalnim podacima . . . . . . . . . . . . 318
9.4.2 Osvrt na univerzalno modeliranje . . . . . . . . . . . . . . . . 319

10 Zakljuµcak 321

Sadrµzaj priloµzenog CD-a 327

Sadrµzaj popratnog teksta na CD-u : Raµcunski zasnovano


modeliranje dinamiµckih sustava — PRILOZI 328

A Teorija -stabala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328


B Parametri modela periodiµcnih sustava . . . . . . . . . . . . . . . . . . . . . . . 328
C Informacijsko-teorijski raµcun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
D Vremenska sloµzenost FM algoritma . . . . . . . . . . . . . . . . . . . . . . . . . 329
E Izvod vremenske sloµzenosti FM algoritma za općenito -stablo . . . . . . 330
F Implementacija i sloµzenost TFM algoritma . . . . . . . . . . . . . . . . . . . 330
G Uporaba DSA programa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
H Analiza rašµclambenih -stabala . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
I Analiza SFA-modela dinamiµckih sustava . . . . . . . . . . . . . . . . . . . . . 332
J Statistiµcka analiza rašµclambenih -stabala logistiµckih sustava . . . . . . . 332
µ
SADRZAJ xix

K SFA-grafovi odabranih sustava . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332


L Odabrani ispisi programskog koda . . . . . . . . . . . . . . . . . . . . . . . . . . 332

Bibliogra…ja 333

µ
Zivotopis autora 339

Biography of the Author 339

Popis autorovih objavljenih radova


(The List of Publications from the Author) 340
Poglavlje 1

Uvod

Raµcunalno modeliranje stvarnih i umjetnih sustava danas je dio mnogih znanstve-


nih i primijenjenih podruµcja. Od razliµcitih mogućih sustava upravo su dinamiµcki
ti koji su povezani s fundamentalnim prirodnim pojavama. Formulirani matemati-
µcki apstraktno, oni postaju temelj zasebne discipline poznate pod nazivom teorija
dinamiµckih sustava. Dinamiµcki sustavi u kojima postoje nelinearnosti ne mogu se
izravno analitiµcki riješiti. Zato je do procvata ovog podruµcja došlo tek u drugoj
polovici dvadesetog stoljeća kad su digitalna raµcunala omogućila numeriµcku inte-
graciju njihovih jednadµzbi. Za razliku od tog standardnog pristupa, u ovom radu
predstavljamo modeliranje jednodimenzionalnih dinamiµckih sustava koje je u pot-
punosti zasnovano na konceptima teorije raµcunarstva i teorije informacija, od kojih je
prva temelj raµcunarskih, a druga informacijskih znanosti. Radi se o uµzem podruµcju
raµcunske mehanike koje je J. P. Crutch…eld utemeljio pred gotovo µcetvrt stoljeća,
ali koje još uvijek smatramo novim i drugaµcijim. Intrigantna ideja da se prirodni
procesi i dinamiµcki sustavi koji ih predstavljaju mogu opisati raµcunskim ustrojem,
još zahtijeva probitak i potvrdu — kako u razliµcitim podruµcjima primjene, tako i u
raµcunarstvu kao podruµcju metodologije.
Stoga nam je na formalno-teorijskoj razini zadaća da iz multidisciplinarnog ra-
kursa doprinesemo pregledu, upotpunjenju i zaokruµzenju ove inovativne metode
modeliranja. Na praktiµcnoj razini predstavit ćemo i analizirati izvorne algoritme
za rekonstrukciju raµcunskih modela jednodimenzionalnih dinamiµckih sustava. Njih
ćemo primijeniti na nizu primjera, ukljuµcujući i nelinearne dinamiµcke sustave s vrlo
osebujnim svojstvima. Pri tom ćemo nailaziti na mnoga iznena†enja koja će ovo
naše putovanje uµciniti popriliµcno “nelinearnim” i “razgranatim”. Nadamo se da to
neće previše oteµzati µcitanje ovog rada, već ga, naprotiv, uµciniti zanimljivijim.

1
2 1. Uvod

1.1 Modeliranje dinamiµckih sustava


Nakon nešto više od stoljeća po prvom Poincaréovom nagovještaju obilja novih po-
java u nelinearnim dinamiµckim sustavima i nakon što je u zadnjih µcetrdesetak godina
izuµcavanje dinamiµckih sustava ponovo stavljeno u µzarište suvremene znanosti, jasno
je da to nije tek pomodna i prolazna znanstvena tema. Podruµcje je dugo bilo na-
pušteno zbog toga što nisu postojali preduvjeti za dobivanje konkretnih rješenja,
a premalo valorizirano zato što znanstvena zajednica nije bila zrela za otkrivanje
cijelog jednog novog svijeta nelinearnih pojava. Danas nam primjena digitalnih
raµcunala omogućuje izuµcavanje širokog spektra prirodnih i umjetnih nelinearnih di-
namiµckih sustava. Spoznavanje njihovih svojstava pomaµze nam u odgovorima na
suštinska pitanja: Koji mehanizmi dirigiraju izmjenu pravilnosti i nepredvidljivosti,
organiziranosti i kaosa? Odakle potjeµce ta ogromna raznolikost prirodnih fenomena,
s bogatom i gotovo nesagledivom paletom pojavnosti? Na njih ćemo pokušati od-
govoriti i u ovom radu. Najprije ćemo u kratkom pregledu smjestiti njegovu temu u
širi kontekst izuµcavanja dinamiµckih sustava.

1.1.1 Od linearnog k nelinearnom


Prva je formulacija dinamiµckih sustava dana opisom gibanja zemaljskih i nebeskih
tijela u Newtonovoj klasiµcnoj mehanici. Jednadµzbe gibanja tu se dobivaju iz sila koje
djeluju me†u tijelima sustava. Nakon unaprje†enja matematiµckog formalizma kon-
cept dinamiµckih sustava postaje primjenjiv na mnogobrojnim i raznolikim pojavama,
u posve razliµcitim podruµcjima istraµzivanja. U standardnom se pristupu njihovo
“modeliranje”svodi na integraciju ili iteraciju jednadµzbi kojima su oni matematiµcki
opisani. Rezultat je trajektorija sustava predstavljena vremenskim nizom njegovih
stanja, unutar prostora stanja koji nazivamo fazni prostor (engl. phase space).
Analitiµcka rješenja tih jednadµzbi moguća su samo za linearne sustave (engl. linear
systems), s linearnim ovisnostima me†u varijablama stanja. Uz dostatnu toµcnost
parametara sustava i poµcetnih uvjeta za njih se mogu toµcno predvidjeti buduća ili
rekonstruirati prošla stanja. No u tu vrstu spadaju tek najjednostavniji stvarni
sustavi i aproksimacije onih sloµzenijih kad im se nelinearni µclanovi mogu zanemariti.
Ponašanje linearnih sustava ukratko moµzemo opisati kao pravilno i predvidljivo.
S druge strane, postoje li u jednadµzbama gibanja nelinearne ovisnosti o varija-
blama stanja, radi se o nelinearnom sustavu (engl. nonlinear system). Analitiµcki je
pristup rješavanju njihovih jednadµzbi bitno oteµzan, a dobivanje rješenja u zatvorenoj
1. Uvod 3

formi potpuno nemoguće [51]. Upravo su nelinearni µclanovi u njihovim jednadµzbama


izvor velike osjetljivosti na promjenu parametara i poµcetnih uvjeta te vrlo raznolikog
ponašanja sustava — od relativno jednostavne pravilnosti, preko sve veće i veće sloµze-
nosti, do potpunog nereda. Pri tom u opisu dinamike sustava opaµzamo cijelu paletu
razliµcitih uzoraka i struktura — od onih najjednostavnijih, preko intrigantnih, do
potpuno nasumiµcnih. Tu ulazimo u potpuno novi svijet nelinearnih pojava.
Cjelovito ponašanje nelinearnog dinamiµckog sustava opisuje njegov atraktor. To
je skup toµcaka faznog prostora prema kojima trajektorija sustava konvergira, neo-
visno o poµcetnim uvjetima [29]. Usprkos velike osebujnosti nelinearnih sustava, u
bitnom postoje samo tri vrste atraktora:

i. Atraktor …ksne toµcke, kad orbita konvergira u µcvrstu toµcku sustava (§2.1);
ii. Atraktor ograniµcenog ciklusa, kad orbita stabilno oscilira izme†u konstantnog
broja toµcaka (vidjeti odjeljak 2.2);
iii. Kaotiµcni atraktor, kad su toµcke (nepredvidljivo) razasute u nekom dijelu faznog
prostora, moµzebitno posebnoga pa i vrlo pravilnog oblika, ali koji se ne moµze
svesti na atraktore prva dva tipa (za µcudne atraktore vidjeti npr. [48]).

S pomoću posljednjeg atraktora opisujemo sustave u reµzimu deterministiµckog


kaosa. Trajektorije takvih sustava uobiµcajeno su vrlo osjetljive na promjenu poµcet-
nih uvjeta te izrazito ovise o toµcnosti izraµcuna. Stoga će rezultati njihove numeriµcke
iteracije biti unutar zadane toµcnosti tek za relativno mali broj izraµcunanih toµcaka.
Takva naµcelna nepreciznost µcini pojedinu trajektoriju sustava manje vaµznom, a ono
što nas zanima svojstva su uoµcenoga kaotiµcnog atraktora.

1.1.2 Novi pristup modeliranju


Prethodno opisano ponašanje nelinearnih dinamiµckih sustava, posebice onih u ka-
otiµcnom reµzimu, motivira nas da za njih potraµzimo alternativne opise. Rakurs is-
traµzivanja pomiµcemo od promatranja pojedinih toµcaka orbite i trajektorije same na
nalaµzenje “unutarnjih” stanja, bitnih za razvoj sustava i opis njegove strukture. U
jednostavnom sluµcaju to mogu biti i izravno mjerljive toµcke sustava predstavljene
svojim koordinatama u faznom prostoru, dok će u sloµzenijim sluµcajevima ta sta-
nja odgovarati skupovima toµcaka s odre†enim simetrijama, odnosno atraktorima
odre†enog tipa. Da bismo na ulazne podatke mogli primijeniti diskretnu analizu,
primljeni niz koordinata toµcaka sustava prikladno kodiramo znakovima neke abecede
te potom analiziramo na naµcin kao što se analiziraju izrazi raµcunalnih jezika. Iz
4 1. Uvod

te se analize moµze dobiti uvid u unutarnja stanja sustava i prijelaze izme†u njih,
µcime se dinamika razvoja sustava de…nira kroz prona†eni raµcunski ustroj. Uz do-
voljnu koliµcinu prikupljenih podataka tim se prijelazima moµze dodijeliti i stohastiµcka
mjera. Prijelazi izme†u stanja moraju inicirati odašiljanje (ili prihvat) uvedenih kod-
nih znakova, tako da je njihov niz u prosjeku jednak kodiranom nizu primljenom iz
sustava. Tako†er, koliµcina informacije koju model pri tom odašilje (ili prihvaća)
jednaka je koliµcini informacije odaslanoj iz izvornog kodiranog niza. Rezultat je dis-
kretan model dinamiµckog sustava u obliµcju automata ili stroja iz teorije automata,
koja je disciplina teorije raµcunarstava (engl. su nazivi redom: automaton, machine,
automata theory, theory of computation).
Za uspješnu reprodukciju jednostavnih procesa dovoljni mogu biti i jednostavniji
automati, dok će za one najsloµzenije trebati Turingov stroj. Na Turingovom je stroju
u naµcelu moguće ostvariti svaki algoritam, pa tako i onaj koji daje isti izlaz kao i
poµcetni program temeljen na integraciji ili iteraciji jednadµzbi sustava. To potvr†uje
tezu da je primjena raµcunskog modela (automata) u naµcelu uvijek moguća. Da ona
ne bude tek formalne naravi, traµzimo najjednostavniji model, na najmanje moćnoj
razini raµcunskih strojeva, koji daje dovoljno toµcan opis sustava. Time dobivamo
minimalni model koji odaje suštinski raµcunski ustroj promatranog sustava.
Gornji je opis skicirao novi, multidisciplinarni i interdisciplinarni pristup mode-
liranju dinamiµckih sustava, kojeg je u okviru svoje raµcunske mehanike razvio J. P.
Crutch…eld. To je ujedno i širi tematski okvir ovog rada.

1.2 Raµcunska mehanika


U uobiµcajenom, širem kontekstu, raµcunska mehanika (engl. computational mechan-
ics) predstavlja interdisciplinarno podruµcje u kojem se …zikalno-matematiµcki
problemi vezani uz mehaniku i dinamiku sustava izuµcavaju raµcunskim metodama.
Razvojem raµcunarstva intenzivirala se uporaba numeriµckih metoda u fundamental-
nim prirodnim znanostima, pa pored dvije standardne metodologije istraµzivanja —
teorijsko-matematiµcke i eksperimentalne — nalazimo i tre´ci pristup (engl. the third
way) [69]. U nelinearnim dinamiµckim sustavima i općenito u kompleksnim sustavima
gdje analitiµcka rješenja nisu moguća, ovaj se treći pristup pokazao kao neizosta-
van dio teorijskih razmatranja kojima se interpretiraju i nadopunjuju eksperimen-
talna istraµzivanja. Po analogiji s graditeljima eksperimenata — koji u …zici kreiraju
eksperimentalne naprave i postrojenja za konaµcnu provjeru teorija — u tom trećem
1. Uvod 5

pristupu moµzemo govoriti o graditeljima programa (engl. program builders). Oni


kreiraju programe za numeriµcko istraµzivanje dinamiµckih sustava, koji su raµcunarsko-
eksperimentalna nadopuna teorijskom razmatranju.
Kako je rasla primjena raµcunala u opisivanju prirodnih, tehniµckih i ostalih feno-
mena, tako je u tim podruµcjima rastao utjecaj raµcunarskih znanosti. Danas on seµze
i do njihove fundamentalne razine. Raµcunska je mehanika u poµcetku smještana u
primijenjenu matematiku ili ogranke teorijske mehanike, dok se danas ona općenito
de…nira kao interdisciplinarno podruµcje matematike, dinamike, mehanike i raµcunar-
stva. Kroz sintezu komplementarnih znanstvenih podruµcja dobiva se novi, drugaµciji
i potpuniji pogled na evoluciju i karakter nelinearnih fenomena. Matematika s jedne
i raµcunarstvo s druge strane koriste se kao metode za simuliranje i modeliranje di-
namike najrazliµcitijih sustava. U takvom nadopunjujućem pristupu novi i zanimljivi
numeriµcki rezultati mogu potaknuti razradu novih matematiµckih teorija. Jedan je
od primjera za to uvo†enje simboliµcke dinamike u izuµcavanje dinamiµckih sustava
[29]. Njezina viša razina apstrakcije omogućila je objašnjenje kaotiµcnog ponašanja
opaµzenog u numeriµckoj analizi.
Standardna raµcunska mehanika primjenjuje se u mnogim prirodnim i tehniµckim
disciplinama, kao što su: problemi više tijela, mehanika µcvrstih tijela (strukturalna i
frakturna mehanika), dinamika ‡uida, termodinamika, elektromagnetizam, . . . [engl.
nazivi: multibody problems, solid mechanics (structural and fracture mechanics),
‡uid dynamics, thermodynamics, electromagnetism].

1.2.1 Crutch…eldovska raµcunska mehanika


U okviru Crutch…eldove škole za izuµcavanje nelinearnih fenomena [14], pod poj-
mom raµcunske mehanike podrazumijeva se modeliranje dinamiµckih sustava koje je u
potpunosti zasnovano na teoriji raµcunarstva i teoriji informacije. Dakle, izuµcavanje
sustava tu ne zapoµcinje odabirom ili izumom teorije u okviru koje se postavljaju
jednadµzbe sustava, niti se — kao što je to sluµcaj u standardnoj raµcunskoj mehanici —
raµcunarstvo koristi tek za implementaciju programa koji rješava matematiµcki zadani
problem. Modeliranje se ovdje ab initio zasniva na entitetima koji potjeµcu iz teorije
raµcunarstva. Ono polazi od ulaznog vremenskog niza primljenog od sustava, a za-
vršava nekim (modi…ciranim) raµcunarskim modelom, automatom ili strojem.
Ovako suµzeno podruµcje precizno ćemo nazivati crutch…eldovska raµcunska meha-
nika. Već smo napomenuli da se ovaj rad bavi upravo tim podruµcjem, pa ćemo gornji
naziv najµcešće pojednostavljivati u raµcunska mehanika.
6 1. Uvod

Za prevo†enje vremenskog niza koordinata toµcaka faznog prostora u vremen-


ski niz znakova pogodan za diskretnu analizu, kodiranje se prilago†ava svojstvima
sustava uvo†enjem prikladnih particija njegova faznog prostora. Za jednodimen-
zionalne sustave — kakvima ćemo se baviti u ovom radu — to je najµcešće binarna
particija, pa je i dobiveni vremenski niz binaran. U okviru simboliµcke dinamike,
dinamika (iteracija) toµcaka faznog prostora preva†a se u dinamiku (posmak) bitova
binarnog niza, što predstavlja podudarne, odnosno homeomorfne procese. Zato tako
dobiveni binarni vremenski niz sa stanovišta sustava promatramo kao izlazne, a sa
stanovišta modelara i modela kao ulazne podatke. To su i jedini ulazni podaci,
pa se gradba modela u crutch…eldovskoj raµcunskoj mehanici zasniva iskljuµcivo na
zakljuµcivanju iz vremenskog niza (engl. inference from a time series).
Ulazni vremenski s raµcunarskog stanovišta interpretiramo kao niz znakova for-
malnog jezika kojeg emitira promatrani sustav. Cilj modeliranja jest odgonetnuti
strukturu tog jezika, a time i strukturu sustava. To ostvarujemo rašµclambom primlje-
nog vremenskog niza te nalaµzenjem simetrija i pravilnosti u njemu. Na osnovi takve
analize konstruiramo automat koji prihvaća jezik sustava, pa mu je u raµcunarskom
smislu ekvivalentan. Tim se raµcunskim modelima pridodaje stohastika prijelaza
izme†u njihovih stanja, iz koje potom proizlaze informacijsko-teorijski pokazatelji
modela. Tako dobiveni model općenito se naziva -stroj, a teorija u kojoj se razmatra
njihova rekonstrukcija iz vremenskog niza naziva se teorija -strojeva.
Na temelju raµcunskog ustroja dobivenog -stroja, tj. njegovih stanja i prijelaza
izme†u tih stanja, sudimo o unutarnjoj strukturi i dinamici razvoja sustava kojeg taj
-stroj predstavlja. Jednako tako, na temelju informacijsko-teorijskih veliµcina izraµcu-
nanih za dobiveni -stroj, prosu†ujemo sloµzenost promatranog sustava i odre†ujemo
koliµcinu informacije koju taj sustav odašilje.
Analogno gornjoj ideji za jednodimenzionalne sustave, izuµcavanje prostornih
fenomena u raµcunskoj se mehanici tako†er obavlja s pomoću raµcunskih entiteta —
staniµcnih automata — na koje ćemo se kratko osvrnuti u prvom dijelu rada.
Crutch…eldovska raµcunska mehanika izravno ili neizravno potakla je napredak
ili µcak i nastanak novih disciplina i znanstvenih teorija u kojima se za modeliranje
(prvenstveno) koristi raµcunarski pristup nadopunjen informacijsko-teorijskom ana-
lizom. Tu spadaju: nelinearno modeliranje i predvi†anje, …zika informacije, teorija
strukture (sloµzenosti), raµcunarska ergodiµcka teorija [86, 9], pronalaµzenje uzoraka [59]
[engl. nazivi: nonlinear modeling and forecasting, physics of information, theory of
structure (complexity), computational ergodic theory, pattern discovery].
1. Uvod 7

1.2.2 -strojevi i njihova rekonstrukcija


-strojevi apstraktni su raµcunski entiteti koji nastaju rekonstrukcijom u iterativnoj,
hijerarhijskoj shemi modeliranja, koja od niµze razine sloµzenosti i slabijih mogućnosti
ide prema višima. Rekonstrukcija zapoµcinje od nulte razine modela koju predstavlja
sam niz ulaznih znakova. Iz niza znakova izluµcuju se rijeµci i uµcitavaju u rašµclambeno
stablo koje predstavlja raµcunski model prve razine. U tom su stablu rašµclanjeni
svi podnizovi duljina manjih ili jednakih duljini uµcitanih rijeµci i izraµcunane njihove
(uvjetne) vjerojatnosti pojavljivanja. Na sljedećoj, drugoj razini modeliranja, u sta-
blu nalazimo podstabla jedinstvenog oblika i jedinstvenih vjerojatnosti µcvorova, koja
nazivamo morfovi. Morfovi predstavljaju kauzalna stanja sustava. Zajedno sa svo-
jim me†usobnim prijelazima i vjerojatnostima izme†u njih, oni de…niraju temeljni
-stroj. Njega prikazujemo kao konaµcni automat s pridodanim vjerojatnostima prije-
laza, kojeg nazivamo stohastiµcki konaµcni automat (SFA).
Posebni nelinearni sustavi mogu generirati vremenske nizove kojima s porastom
duljine neograniµceno raste i duljina korelacije izme†u njihovih simbola. Zelimo µ li
odgonetnuti njihovu strukturu, povećavamo visinu morfova i rašµclambenog stabla.
No, SFA-modelu broj stanja tada neograniµceno raste, jer je on ustrojen na razredu
konaµcnih automata. Sa svojim konaµcnim brojem stanja oni ne mogu opisati struk-
turalno narastajuće sustave. Zato treba prijeći na višu razinu -stroja, na kojoj se
odabire raµcunski automat višeg razreda, s neograniµcenom memorijom.
Iako su -strojevi uvedeni u prvom redu za istraµzivanje nelinearnih i kaotiµcnih di-
namiµckih sustava, njihova je rekonstrukcija općenita shema modeliranja koja se moµze
primijeniti na prirodne, tehniµcke, ekonomske, biološke, humane i druge sustave. Ona
moµze posluµziti i za svojevrsnu algoritmizaciju spoznajne teorije. Dobiveni -strojevi
raµcunski su model promatranog sustava, s odre†enom koliµcinom i strukturom memo-
rije te s odre†enim algoritamskim sposobnostima. Uz pridodani izvor stohastiµcnosti
oni ostvaruju i autonomno, spontano ponašanje.1

1.2.3 Princip raµcunske ekvivalencije


Ideju da iza prirodnih i umjetnih procesa stoji odre†eni raµcunarski ustroj, Stephen
Wolfram formulirao je i nadogradio u princip raµcunske ekvivalencije (engl. principle
of computational equivalence), kojeg saµzimamo na sljedeći naµcin [83]: 2
1
Spontano — u kvantno-teorijskom smislu.
2
Iako S. Wolfram djeluje van Crutch…eldove škole, njegovo se znanstveno podruµcje u potpunosti
poklapa s Crutch…eldovom, suµzenom, de…nicijom izraµcunske mehanike.
8 1. Uvod

Svi procesi, bilo produkti ljudskog stvaranja bilo oni koji se spontano doga†aju
u prirodi, mogu se promatrati kao raµcunanje. Mnogi fundamentalni prirodni
sustavi, s izuzetkom onih koji su oµcito jednostavni, mogu obaviti izraµcune sve
do maksimalne, univerzalne razine, pa su u tom smislu ekvivalentni.

Teorija -strojeva primijenjena na konkretnim primjerima dinamiµckih sustava


pokazat će da se praznina u gornjem naµcelu — izme†u sustava koji su “oµcito jedno-
stavni”te onih koji “mogu obaviti izraµcune sve do maksimalne, univerzalne razine”,
moµze popuniti cijelom paletom osebujnih sustava ustrojenih na jednostavnijim au-
tomatima, kao što su npr. SFA. Uz velik broj stanja i sloµzenu shemu me†usobnih
prijelaza oni mogu opisati vrlo suptilne i kompleksne procese.

1.2.4 Autori i literatura


Svoju raµcunsku mehaniku Crutch…eld zapoµcinje u ranim 1980-tim godinama. Tako
u radu s N. Packardom [15] opisuje dinamiµcke sustave jezikom simboliµcke dinamike
te za zadana stohastiµcka svojstva razmatra njihove informacijsko-teorijske mjere. U
seminalnom µclanku [17], popraćenom opseµznijim izlaganjem i nadopunama u [18],
J. P. Crutch…eld i K. Young daju temelje teorije -strojeva. Za poµcetni se opis di-
namiµckih sustava koristi SFA, iz kojeg proizlaze i informacijsko-teorijski pokazatelji.
Za logistiµcko preslikavanje na kraju podruµcja udvostruµcavanja perioda otkrivena je
divergencija SFA-modela te pokazana potreba uvo†enja automata više razine. Po
odjeku ovih otkrića u podruµcju teorije kaosa i nelinearnih sustava uslijedile su razrade
i formalizacije tih ideja koje su odredile standard ove teorije [21, 22, 23, 26].
Napretku teorije -strojeva doprinijeli su mnogobrojni Crutch…eldovi suradnici,
u svojim samostalnim i zajedniµckim radovima. Tako D. Feldman razra†uje mjere
sloµzenosti interesantne za …zikalne procese [32]. Vezu izme†u skrivenih Markovlje-
vih modela i stohastiµckih nedeterministiµckih konaµcnih automata, uoµcenu u [23, 26],
teorijski razra†uje D. Upper [65]. Pomaci u primjeni Crutch…eldove teorije na otkri-
vanju uzoraka u …zikalnim strukturama objavljeni su u [58], dok Shalizi [59] daje
novo teorijsko-formalno zaokruµzenje teorije kauzalnih stanja, odre†enje pojma or-
ganizacije i samoorganizacije kao arhitekture kauzalnih stanja, s primjenom na vre-
menske nizove, transduktore i staniµcne automate.
Povezivanje teorije -strojeva sa staniµcnim automatima provlaµci se kroz većinu
ranije navedenih preglednih i opseµznijih radova, a s tim u svezi istiµcemo i µclanak
J. E. Hansona i J. P. Crutch…elda [35]. Noviji je interes usmjeren prema primjeni
1. Uvod 9

teorije u konkretnim …zikalnim sustavima, što se moµze vidjeti u kasnijim radovima


dostupnim na [14, 60, 66] (J. P. Crutch…eld, C. R. Shalizzi, D. P. Varn). Primjer
primjene teorije -strojeva na gra…µcki kauzalne modele iznijet je u µclanku S. Friedman
[34]. Pregled veze raµcunske mehanike s teorijom dinamiµckih sustava (engl. dynamical
systems theory), uz kvalitativan opis osnovnih pojmova iz teorije kaosa, dan je u
[20]. Osvrt na šire podruµcje te epistemološko-…lozofski okvir teorije moµze se pronaći
u Crutch…eldovim znanstvenim esejima [25, 27]. Izvrstan pregled raµcunske mehanike
i korištene teorije informacije dan je u Feldmanovom tekstu [33].
U našem prvom radu [44], u uvodnom je poglavlju iznesen znanstveno-esejski
prikaz ovog podruµcja na hrvatskom jeziku. U [45] predstavili smo teoriju široj raµcu-
narskoj zajednici te uz nekoliko teorijskih doprinosa pripremili temelj za izlaganje
implementacije teorije -strojeva u okviru našeg programa DSA.3 Detaljniju analizu
uporabljenih algoritama i podatkovnih struktura iznijeli smo u [47].

1.3 Tema, podruµcje i plan ovog rada


Ovaj je rad zaokruµzenje autorovog bavljenja modeliranjem jednodimenzionalnih di-
namiµckih sustava primjenom teorije -strojeva, koje je — kao što smo već istakli —
zapoµceto u [44]. Tamo je cilj bio dati pregled teorije -strojeva potreban za imple-
mentaciju poµcetne inaµcice našeg DSA programskog alata za nalaµzenje SFA-modela
iz primljenog binarnog vremenskog niza. U duhu multidisciplinarnosti raµcunske me-
hanike tom smo poslu prionuli ne samo kao programeri, već i kao znanstvenici koji
kroz sintezu razliµcitih disciplina nastoje doprinijeti njihovu razvoju. Ovdje pro-
dubljujemo tu tematiku dajući sveobuhvatni prikaz podruµcja, usporedbu s drugim
raµcunarskim modelima, potpuniju formalizaciju teorijskih postavki, detaljnu razradu
dizajna korištenih algoritama i njihovu prostorno-vremensku analizu.

1.3.1 Raµcunarski i informacijski pristup raµcunskoj


mehanici
Raµcunska mehanika opisana u prethodnom odjeljku potekla je od …ziµcara koji su
izuµcavajući teoriju kaosa prigrlili raµcunarsku znanost (engl. computer science) i
teoriju informacije (engl. information theory) kao svoje nove teorijske alate. U raz-
matranju tog istog podruµcja mi pak polazimo upravo od tih disciplina. U teorijskom
3
Akronim DSA potjeµce od engl. naziva Dynamical System Automata (vidjeti pogl. 8).
10 1. Uvod

ćemo uvodu koristiti rezultate teorije raµcunarstva (engl. theory of computation),


dok se programska implementacija oslanja na primijenjeno raµcunarstvo (engl. ap-
plied computer science). Temeljitu formalizaciju teorije -strojeva provodimo kao
raµcunarski znanstvenici, uvodeći u nju parametre modela i povezujući je odmah s
konkretnim algoritmima koji će je implementirati. Na to nadovezujemo teorijsko-
informacijsku analizu. Dakle, multidisciplinarnost crutch…eldovske raµcunske meha-
nike proµzima i cijeli naš rad, samo uz pomaknuti rakurs izlaganja.
Radeći na DSA programu susreli smo se s mnogim raµcunarskim izazovima. Va-
ljalo je organizirati mnogobrojne klase, izabrati i implementirati najprikladnije po-
datkovne strukture, kreirati niz originalnih algoritama, ostvariti mnoga gra…µckih
suµcelja te koordinirati rad modula programa. Osim ostvarenja korektnog i uzornog
programskog alata, ovdje nam je cilj i podrobna analiza njegovih kljuµcnih podatkovnih
struktura i algoritama te testiranje rada njegovih modula. Tako ovaj primijenjeni
multidisciplinaran rad generira ideje, probleme i rješenja koji mogu biti od šireg
interesa u podruµcju raµcunarstva. Jednako vrijedi i za teoriju informacije.

1.3.2 Obim i organizacija rada


Široko postavljeni naslov i tema rada zahtijevaju da rekonstrukciju -strojeva uspore-
dimo s drugim metodama simulacije i modeliranja sustava te da ostvarimo svojevrsnu
sintezu podruµcja s raµcunarskog stanovišta. Na to su nadogra†ene naše formalne i
implementacijske razrade te primjeri modeliranja. Sve je to utjecalo na poveći obim
ovog teksta i potrebu da se njegovi opseµzni prilozi izdvoje na CD (§1.3.7).
Gdje god će to biti prikladno, u radu ćemo uz teorijsko izlaganje odmah iznositi
i primjere uporabe te rezultate rada DSA programa, poµcevši od iteracije dinamiµckog
sustava do kreacije SFA-modela i njihove analize. Na taj naµcin ilustriramo i pot-
krjepljujemo apstraktne matematiµcke formulacije, a ujedno upoznajemo mogućnosti
i naµcin uporabe našeg programa.
Preostali dio rada µcini pet cjelina, opisanih u pododjeljcima koji slijede.

1.3.3 Uvodni dio i izbor modela (poglavlja 2 do 5)


Cilj uvodnog dijela rada jest pregled šireg konteksta raµcunske mehanike i opravdanje
izbora teorije -strojeva kao najprikladnije metode modeliranja iz vremenskog niza.
Poglavlje 2 daje prikaz dinamiµckih sustava kao iterativnih procesa, iznosi formalizam
simboliµcke dinamike te uspostavlja vezu izme†u dinamike sustava u njegovu faznom
1. Uvod 11

prostoru i dinamike simbola u putopisu. Poglavlje 3 zapoµcinje epistemološkom anali-


zom znanstvenog modeliranja, a potom obrazlaµze mjerno-modelirajući kanal, toµcnost
opisa sustava uz zadanu duljinu vremenskog niza te odabir i ugodbu mjernog instru-
menta. To se povezuje s generirajućom particijom. Pošto je mjerni instrument gene-
rirao odgovarajuće kodirani vremenski niz, u 4. poglavlju razmatramo modele prikla-
dne za njegovu analizu: neuronske mreµze, staniµcne automate, skrivene Markovljeve
modele i teoriju -strojeva. Pobliµze obrazlaµzemo druga dva te posebice diskutiramo
srodnost skrivenih Markovljevih modela i nedeterministiµcke inaµcice stohastiµckih ko-
naµcnih automata. Poglavlje okonµcavamo obrazloµzenjem izbora teorije -strojeva kao
najpogodnije metode za nalaµzenje kauzalnog modela i dobivanje uvida u raµcunski
ustroj sustava (što će biti predmet pogl. 6). Prvi dio rada završava poglavljem 5,
o raµcunskim automatima. Podnizove izluµcene iz vremenskog niza promatramo kao
rijeµci formalnog jezika µciju gramatiku razaznajemo u procesu modeliranja. Nakon
de…nicije deterministiµckih i nedeterministiµckih konaµcnih automata te njima ekvi-
valentnih regularnih izraza formalno uvodimo deterministiµcki stohastiµcki konaµcni
automat i njegovu nedeterministiµcku verziju. Na koncu diskutiramo hijerarhiju au-
tomata s obzirom na njihovu moguću uporabu kao -strojeva viših razina.

1.3.4 Teorijska razrada (poglavlja 6 i 7)


U 6. poglavlju izlaµzemo osnovne pojmove teorije -strojeva. Polazimo od de…nicija
kauzalnih stanja, ekvivalentnih stanja i morfova, s naglaskom na njihovu operativnu
inaµcicu, koja je nuµzna u praktiµcnoj implementaciji modeliranja. Temeljni -stroj
formalno je de…niran i predstavljen kao SFA-model. Uvode se duljine korelacije
koje me†u simbolima vremenskog niza uspostavljaju prona†eni morfovi te duljine
korelacija kojima se opisuje linearna i cikliµcka struktura dobivenog modela. Nakon
toga opisan je hijerarhijski proces gradbe -strojeva i njegov naµcelni algoritam. U
odjeljku 6.5 dajemo primjer tvorbe SFA-modela iz primljenog vremenskog niza, što
moµze posluµziti za brzi pregled izloµzene teorije. Potom slijedi opis izvornog FM
algoritma za nalaµzenje SFA, uvedenog u [44]. Odmah analiziramo i uvjete koji
moraju vrijediti za kljuµcne parametre modela — duljinu izluµcenih rijeµci i duljinu
morfova — te opisujemo koncept sveobuhvatnog modeliranja. Predstavljamo i novi,
TFM algoritam, koji provjerava sva postojeća podstabla u glavnom stablu, te kao
takav predstavlja nadopunu FM algoritmu. Oba ta algoritma ukratko uspore†ujemo
sa srodnim algoritmima iz Crutch…eldove škole. Poglavlje završavamo detaljnom
razradom modeliranja testnog dinamiµckog sustava u DSA programu.
12 1. Uvod

Informacijsko-teorijske aspekte sustava i modela obrazlaµzemo u 7. poglavlju. Na-


kon razmatranja stope entropije vremenskog niza uvodimo Crutch…eldovu statistiµcku
sloµzenost — mjeru kompleksnosti sustava dobivenu na temelju stacionarnog dijela
rekonstruiranog SFA-modela. Nju kontrastiramo spram Kolmogorovljeve determi-
nistiµcke sloµzenosti. Potom slijedi izvorni izvod izraza u kojem se povezuju razliµcite
entropije, odnosno sloµzenosti i stope entropija proistekle iz dobivenog modela. Na
kraju poglavlja, iz odrednica modela dobivenih teorijskim putem i s pomoću DSA
programa izraµcunavamo uvedene informacijsko-teorijske veliµcine za nekoliko tipiµcnih
sustava, uz poseban osvrt na one periodiµcne.

1.3.5 Programska implementacija (poglavlje 8)


U poglavlju 8 izloµzena je programska implementacija našeg izvornog DSA programa.
Nakon pregleda njegovih općih odrednica i razvoja dan je globalan opis njegova tri
osnovna modula: za iteraciju i binarnu izmjeru, za hranidbu rašµclambenog stabla
te za nalaµzenje morfova i SFA-modela. Potom slijedi analiza dizajna i prostorno-
vremenske sloµzenosti kljuµcnih algoritama svakog od tih modula. Morfove i SFA
nalazi unaprije†ena inaµcica FM algoritma, kojeg će nadopunjivati temeljiti FM al-
goritam (TFM). Na koncu se tek ukratko osvrćemo na implementaciju najvaµznijih
klasa korisniµckih suµcelja, kljuµcnih za uµcinkovitu uporabu DSA programa.

1.3.6 Primjeri i rezultati modeliranja (poglavlje 9)


Poglavlje 9 sadrµzi pregled rezultata modeliranja dobivenih s pomoću DSA programa
za niz dinamiµckih sustava. U njemu je saµzeto detaljno izlaganje iz priloga H i I,
koji se nalaze na priloµzenom kompaktnom disku. Najprije, na prvoj razini mode-
liranja, provodimo analizu rašµclambenih -stabala sustava. Provjera njihove statis-
tiµcke (ne)konzistentnosti iznjedrit će mnoga iznena†enja i otkrića te postaviti temelj
za nalaµzenje korektnih SFA na sljedećoj razini modeliranja. Po kratkom pregledu
SFA-modela periodiµcnih sustava i sustava zadanih pravilom posebice se osvrćemo
na modeliranje pet odabranih, karakteristiµcnih sustava logistiµckog preslikavanja —
od zaµcetka do vrhunca kaosa. Na njima će primjena sveobuhvatnog modeliranja
uz uporabu FM algoritma dati pregršt zanimljivih SFA-modela. Kao nadopuna i
provjera na svim će sustavima biti primijenjen i TFM algoritam. Sveukupno će u
ovom poglavlju biti saµzet niz novih i zanimljivih rezultata, izme†u ostalog i korekcija
jednog od kljuµcnih modela raµcunske mehanike.
1. Uvod 13

1.3.7 Prilozi na CD-u: popratni tekst i DSA program


Nakon zakljuµcnog, 10. poglavlja naveden je sadrµzaj kompaktnog diska priloµzenog uz
ovaj rad. Tu su u zasebnom tekstu, naslovljenom “Raµcunski zasnovano modeliranje
dinamiµckih sustava — PRILOZI”, skupljeni dodaci A do L. Njih oznaµcavamo na
uobiµcajen naµcin — velikim slovima — ali ćemo ih zbog izdvojenosti nazivati prilozi
(engl. supplements). Detaljan im je sadrµzaj dan pri kraju ovog rada (str. 328).
U prilogu A izlaµzemo izvornu teoriju -stabala. Rašµclambeno stablo na prvoj te
podstabla morfova na drugoj razini hijerarhijskog modeliranja primjeri su -stabala.
Ona predstavljaju speci…µcnu i temeljnu podatkovnu strukturu koja se koristi u al-
goritmima za rekonstrukciju -strojeva (pogl. 6 i 8). Njihov pak se statistiµcki opis
koristi za odre†ivanje vremensko-prostorne sloµzenosti algoritama koji operiraju nad
njima (pogl. 8) i za provjeru konzistentnosti rašµclambenih stabala (pogl. 9).
Prilog D zapoµcinje izvodom vremenske sloµzenosti FM algoritma za njegov najgori
sluµcaj — punog rašµclambenog stabla — u kojem se sva podstabla prepoznaju kao
morfovi. Potom se rezimiraju sloµzenosti i za općenita rašµclambena stabla i za ostale
moguće ishode rada FM algoritma, pri µcemu se koriste rezultati izvedeni u prilogu
E. Ti će se izvodi tako†er zasnivati na statistici -stabala iz priloga A.
U prilogu G dan je pregled izbornika DSA programa. Nadalje, već smo naveli da
su rezultati modeliranja iz poglavlja 9 detaljno obrazloµzeni u prilozima H i I. U H
se za pregršt dinamiµckih sustava analiziraju njihova rašµclambena -stabala, a u I se
razmatraju njihovi SFA-modeli. Na njih se nadovezuju i tablice u prilogu J, odnosno
SFA-grafovi u prilogu K. Konaµcno, prilog L sadrµzi izvatke nekih zanimljivih dijelova
programskog koda kojima se nadopunjuje izlaganje poglavlja 8.
Na priloµzenom je CD-u i naš DSA program, zajedno sa svojom kompletnom
programskom dokumentacijom. Zainteresirani µcitatelj moµze izlaganje i primjere iz
ovog rada izravno pratiti i provjeravati u tom interaktivnom programskom alatu.
Uvod završavamo slikom 1.1 koja nam doµcarava središnju temu ovog rada. U
njezinu je gornjem dijelu rašµclambeno -stablo gotovo nasumiµcnog sustava logisti-
µckog preslikavanja. Na manjim je razinama stablo popunjeno, ali nakon razine 4
uoµcavamo pojavu strukture (korijen glavnog stabla na nultoj je razini). Ta se struk-
tura oµcituje u izostanku µcvora najprije u najljevijoj stazi na razini 5, potom u naj-
ljevijoj stazi desne polovice stabla na razini 6 itd. Podstrukture uoµcene u ovom
podstablu predstavljaju morfove, od kojih su prva tri izdvojena u donjem dijelu
slike. Kraj priµce o ovom sustavu µcitatelj moµze pronaći u predzadnjem poglavlju
ovog rada (§9.1.2, 9.2.5), a njezin je pravi poµcetak u poglavlju koje slijedi.
14 1. Uvod

Slika 1.1: Rašµclambeno stablo dubine 7 i prva tri morfa dubine 4, dobiveni u DSA pro-
gramu za sustav logistiµckog preslikavanja s parametrom r = 3:997. Za r = 4 (reµzim pot-
punog kaosa) sustav bi emitirao niz nalik Bernoullijevom nizu sluµcajnih nula i jedinica.
Tada bi stablo bilo puno i postojao bi samo jedan morf. Tik do tog vrhunca kaosa, za
samo malo manji r, otkrivamo tragove zaostale pravilnosti — nakon µcetiri znaka 0 uvijek
dolazi 1 . Tri prikazana morfa (podstabla) de…nirana su svojim korijenima: e ="" (prazan
niz), 0 i 00. Pored njih, za ovaj se sustav otkriva još 16 oblikovno razliµcitih podstabala
dubine L = 4 (sl. I.17). Ovaj i drugi dinamiµcki sustavi detaljnije su obrazloµzeni u pogl. 9.
Poglavlje 2

Simboliµcki opis dinamiµckih sustava

Cilj modeliranja jest stvoriti odgovarajući opis nekog sustava na temelju niza po-
dataka primljenih od njega. Izraµzen u prikladnoj formi, takav opis ili prikaz predsta-
vlja model sustava. Znanstveni model i zadaće koje on mora ispuniti de…nirat ćemo
u sljedećem poglavlju, a ovdje se usredotoµcujemo na dinamiµcki sustav i podatke
koje on odašilje. Evoluciju sustava u vremenu odraµzava njegova orbita, koju µcini
niz toµcaka faznog prostora. Za jednodimenzionalne sustave — µcijim se modeliranjem
bavimo u ovom radu — te ćemo toµcke na jednostavan naµcin preva†ati u diskretne
simbole, a njegovu orbitu u niz takvih simbola. Ovime smo ocrtali rad program-
skog modula za simulaciju dinamiµckih sustava i generaciju njihova vremenskog niza
u poglavlju 8. Model ćemo rekonstruirati iz vremenskog niza sastavljenog od upra-
vo takvih, diskretnih znakova, pa nas zanima toµcnost s kojom takav niz i njegovi
podnizovi konaµcne duljine opisuju dinamiku sustava.
Otuda proizlazi i poµcetni cilj ovog rada — potvrditi korektnost te ustanoviti pre-
ciznost simboliµckog opisa dinamiµckih sustava, iz kojeg ćemo u daljnjem izlaganju
rekonstruirati modele. Zato u ovom poglavlju utvr†ujemo formalizam simboliµcke
dinamike, nadopunjujući time izlaganje iz [44, pogl. 2]. Vremenski razvoj dinami-
µckih sustava dobiva se (numeriµckom) iteracijom njihovih rekurentnih jednadµzbi. U
kratkom pregledu iznosimo osnovne manifestacije nelinearnih pojava koristeći za to
logistiµcko preslikavanje kao arhetipski primjer jednodimenzionalnog nelinearnog su-
stava. Potom prelazimo na simboliµcki opis dinamiµckih sustava te ustanovljujemo
njegovu srodnost s dinamikom faznog prostora i kaotiµcnost posmaµcnog preslikava-
nja. Uvodimo pojmove generirajuće particije i mjernog kodiranja, na temelju kojih
de…niramo simboliµcki vremenski niz. Time ćemo pripremiti teorijsku podlogu za
raµcunarsko-eksperimentalni pristup u sljedećim poglavljima.

15
16 2. Simboliµcki opis dinamiµckih sustava

2.1 Iterativni procesi


Evolucija dinamiµckih sustava opisuje se preko iterativnih procesa (engl. iterative
processes) [28]. Za općeniti deterministiµcki iterativni proces s Dim dimenzija,1 na
temelju poznate toµcke x (t) 2 RDimx iz trajektorije sustava, vrijednost nove toµcke
x (t + t) u vremenu t nakon trenutka t iznosi

x (t + t) = F (x (t)) ; t; t 2 R: (2.1)

F je vektorska funkcija koja predstavlja jednadµzbe gibanja iterativnog procesa na


njegovu faznom prostoru, tj. skupu RDim
x RDim svih mogućih toµcaka x (t) . Gornji
je izraz poznat kao jednadµzba diferencija (engl. di¤erence equation).
Uvo†enjem diskretnog vremena, kontinuiranu varijablu zamjenjujemo diskretnim
nenegativnim indeksima: t ! i, t = 1, i 2 N+ 0 , pa po analogiji s izrazom (2.1)
novu toµcku xi+1 u trajektoriji sustava raµcunamo iz trenutne toµcke xi na sljedeći
naµcin:
xi+1 = F (xi ) ; i 2 N+ 0 : (2.2)
Ovu, iterativnu, formu jednadµzbe diferencija (2.1) nazvat ćemo iteracijska jedna-
dµzba (engl. iterative, recurrence equation). U trenutku t0 = 0 dinamiµcki je sustav u
svojoj poµcetnoj toµcki x0 koja se naziva sjeme iteracije. Oznaµcimo li i-tu iteraciju
sustava kao F i , i-tu toµcku trajektorije raµcunamo kao

xi = F i (x0 ) : (2.3)

0-ta iteracija jest funkcija identiteta, F0 (x) = x. Toµcka xf jest …ksna toµcka (engl.
…xed point) ako vrijedi F i (xf ) = xf , i > 1 . Periodiµcne toµcke uvest ćemo u 2.2.2.
Poznavanjem funkcije F (xi ) gornje se iterativne jednadµzbe jednostavno imple-
mentiraju na digitalnim raµcunalima. Numeriµcko rješavanje diferencijalnih jednadµzbi,
odnosno jednadµzbi diferencija, u suštini se tako†er svodi na iterativan proces.
Za 1-dimenzionalne (1D) iterativne procese uzimamo skalarnu verziju izraza (2.1)
te postavljamo sljedeću de…niciju:

De…nicija 2.1 1-dimenzionalni iterativni proces jest proces u kojem se vrijednost


sljede´ce toµcke (xi+1 ) trajektorije dinamiµckog sustava raµcuna na temelju vrijednosti
trenutne toµcke (xi ) kao preslikavanje

xi+1 = F (xi ) ; F : Rx ! Rx ; i = 0; 1; 2; : : : : (2.4)


1
Ovdje pojam dimenzionalnosti koristimo u apstraktnom matematiµckom smislu. Iznos od Dim
moµze, ali i ne mora biti povezan s …zikalnom dimenzijom dinamiµckog sustava.
2. Simboliµcki opis dinamiµckih sustava 17

Kao što je dobro znano, µcak se i vrlo jednostavne nelinearne iterativne jednadµzbe
ne mogu analitiµcki riješiti u općenitom sluµcaju [29]. Primjer je za to i µcuveno logis-
tiµcko preslikavanje (engl. logistic map),

xi+1 = rxi (1 xi ) ; (2.5)

zadano jednoparametarskom funkcijom fr na jediniµcnom intervalu: 2

fr (x) = rx (1 x) ; x 2 [0; 1] ; 0 < r 4: (2.6)

Parametar r predstavlja kontrolni faktor logistiµckog sustava. Uvjeti na njega proi-


zlaze iz zahtjeva za ograniµcenjem toµcaka orbite na jediniµcni interval.
Još je jednostavniji primjer preslikavanja koje rezultira nelinearnim 1D dinami-
µckim sustavima funkcija qc iz kvadratne porodice (engl. quadratic family),

qc (x) = x2 + c ; x 2 [ 2; 2] ; 2 c 1=4 : (2.7)

Ograniµcenje parametra c uobiµcajeno se navodi iz sliµcnih zahtjeva kao i za logistiµcku


funkciju (mada za c < 2 toµcke iz Cantorovog skupa tako†er ne napuštaju zadani
interval [ 2; 2] [29]). Po ostalim naµcelnim osobinama ovo preslikavanje i iz njega
proizašli fenomeni analogni su onima za logistiµcko preslikavanje. 3
U kontrastu s nemogućnosti analitiµckog rješenja za većinu nelinearnih dinamiµckih
sustava, iterativan numeriµcki izraµcun toµcaka prema (2.2) i (2.4) na raµcunalu je lako
provediv. Radi zornog prikaza ponašanja dinamiµckog sustava ovakvo se numeri-
µcko rješenje prikazuje u spletnom dijagramu (prema engl. originalu, web ili cob-
web diagram). Primjer takvog rješenja logistiµckog sustava uz kontrolni parametar
r = 4 prikazan je na slici 2.1. Iteracija zapoµcinje iz sjemene toµcke x0 nalaµzenjem
f (x0 ) = rx20 + rx0 . Ta se vrijednost preko identitetnog pravca xi+1 = xi vraća u
domenu funkcije kao toµcka x1 = f (x0 ), pa se iz x1 na isti naµcin izraµcunava sljedeća
toµcka orbite itd. Toµcke su ucrtane na temelju ispisa dijela orbite sustava u DSA pro-
gramu uz korištenje standardnog tipa dvostruke preciznosti, s 15 znaµcajnih dekadskih
znamenki (primjer ispisa niza toµcaka orbite sustava dan je na slici 2.3). Sasvim mala
promjena vrijednosti sjemene toµcke na slikama 2.1(a) i (b) uvjetuje drastiµcnu razliku
u razvoju putanje sustava već i u prvih nekoliko toµcaka. Naravno, to je posljedica
osjetljivosti kaotiµcnog sustava na poµcetne uvjete (vidjeti 2.2.4).
2
Prema [79], analitiµcka (netrivijalna) rješenja logistiµckog preslikavanja postoje samo za vrijed-
nosti r = 2; 4. Spomenimo usput da kontinuirana, diferencijalna logistiµcka jednadµzba dx=dt =
1
rx (1 x) ima analitiµcko rješenje u formi sigmoidne funkcije: x (t) = [1 + (1=x0 1) e rt ] .
3
Obje ove iteracijske funkcije implementirane su u našem DSA programu u skupini standardnih
kvadratiµcnih nelinearnih sustava (vidjeti G.1).
18 2. Simboliµcki opis dinamiµckih sustava

Slika 2.1: Gra…µcka iteracija logistiµckog preslikavanja xi+1 = rxi (1 xi ) uz r = 4:0 .


Prikazano je prvih 13 toµcaka dviju orbita koje kreću iz razliµcitih ali bliskih sjemena:
(a) x0 = 0:20 , (b) x0 = 0:21 . Usprkos bliskim ishodištima, zbog osjetljivosti sustava na
poµcetne uvjete udaljenost me†u orbitama (a) i (b) jako narasta već nakon nekoliko iteracija.
Kritiµcna toµcka xc = 0:50 dijeli domenu na dva dijela i de…nira particiju po kojoj se gornje
orbite kodiraju u nizove bitova: (a) 0110111001011 : : : , (b) 0110101101011 : : : .
2. Simboliµcki opis dinamiµckih sustava 19

Mjera osjetljivosti orbite sustava na pomak njezine poµcetne toµcke jest Lyapunov-
ljev eksponent. Ako su dvije orbite u koraku i = 0 me†usobno udaljene za d0 > 0,
tada njihovu udaljenost di u i-tom koraku izraµzavamo preko i-tog Lyapunovljevog
eksponenta baze b (najµcešće e ili 2),

di = F i (x0 + d0 ) F i (x0 ) d0 b i : (2.8)

Uz uobiµcajeno ograniµcenje faznog prostora — kojim se odraµzava …zikalna realnost


sustava — ograniµcava se i di . Za sustave s privlaµcnim …ksnim ili periodiµcnim toµckama
vrijedi da je i < 0 i udaljenost di asimptotski ide u nulu. Za divergentne je sustave
i > 0, pa udaljenost di raste eksponencijalno sve do toµ cke imax kad ona doseµze
maksimalnu veliµcinu koju dopušta fazni prostor i kad imax pada na imax 0.
Jednako razmatranje vrijedi i za naposljetku …ksne i naposljetku periodiµcne toµcke.4
Konaµcno, za nepostojane je orbite u kaotiµcnom reµzimu i > 0 za većinu toµcaka
i, bez tendencije stabilizacije ili konvergencije za i ! 1 . Me†utim, prosjek tih
veliµcina konvergira, pa se zato uvodi prosjeµcni Lyapunovljev eksponent:

1X
n
di+1
= lim logb ; (2.9)
n!1 n i=0 d0;i

gdje je d0;i udaljenost toµcaka prije, a di+1 poslije (i + 1)-ve iteracije.


U postupku izraµcuna gornjeg prosjeka d0;i standardno se …ksira na neku malu
vrijednost. Uz poznati analitiµcki oblik funkcije preslikavanja moµzemo uzeti in…nite-
zimalni iznos d0;i = ", te udaljenost di+1 izraziti preko derivacije funkcije F 0 ,

di+1 = lim [F (xi + ") F (xi )] = "F 0 (xi ) :


"!0

Odavde slijedi prosjeµcni Lyapunovljev eksponent,

1X
n
= lim logb jF 0 (xi )j : (2.10)
n!1 n
i=0

Za logistiµcku funkciju preslikavanja, F = fr , uz r = 4, analitiµcki se moµze po-


kazati da je = logb 2 [48], što je i najveća prosjeµcna vrijednost Lyapunovljevog
eksponenta za to preslikavanje. Uz standardnu raµcunarsku i informacijsko-teorijsku
bazu, b = 2, ta je vrijednost = 1.

4
Za kraću diskusiju ovih toµcaka vidjeti i sljedeći pododjeljak. Za detalje vidjeti npr. [28, 48].
20 2. Simboliµcki opis dinamiµckih sustava

Slika 2.2: Veća slika: orbitni dijagram logistiµckog preslikavanja u podruµcju najzanimljivi-
jih vrijednosti parametra r. Za r inkrementiran po 10 3 ucrtano je po 105 toµcaka (r; xi ),
uz i 1000 (preuzeto iz [67]). Umetnuta manja slika: povećani dio desno od druge donje
bifurkacije— koji kreće iz treće grane podruµcja perioda 4 (konstruirano programom iz [78]).

Globalno ponašanje 1D sustava u funkciji karakteristiµcnog parametra pregledno


se moµze pratiti na orbitnom ili bifurkacijskom dijagramu. Na njemu se za gusti
izbor vrijednosti parametara prikazuju toµcke orbite sustava. Primjer orbitnog r; x
dijagrama za logistiµcko preslikavanje prikazan je na slici 2.2. Da se dopusti (moguća)
stabilizacija orbite, odnosno eliminira ili umanji utjecaj izbora sjemene toµcke, pro-
pušta se odre†eni broj poµcetnih, tzv. prolaznih ili tranzijentnih, toµcaka — tipiµcno
njih stotinjak. Primjerice, za vrijednost parametra r = 4, kao na slici 2.1, vidljivo
je da toµcke xi orbite sustava jednoliko popunjavaju cijeli fazni prostor [0; 1], pa se
radi o potpuno kaotiµcnom reµzimu, u kojem je “sve moguće”.

Ovaj kratak pregled iteracijskih procesa jednodimenzionalnih dinamiµckih sustava


temelj je za razmatranje simboliµcke dinamike u sljedećem odjeljku. Na orbitni di-
jagram sa slike 2.2 vraćat ćemo se kod izlaganja primjera sustava logistiµckog presli-
kavanja za razliµcite vrijednosti r u kasnijim poglavljima. [Lyapunovljevi eksponenti
za neke od njih izraµcunani su u prilogu H, §H.5.3.]
2. Simboliµcki opis dinamiµckih sustava 21

2.2 Simboliµcka dinamika


U skladu s osnovnom idejom teorije -strojeva, pored diskretizacije vremena diskre-
tizirat ćemo i varijablu stanja. Na taj ćemo naµcin opis gibanja sustava moći prevesti
u simboliµcki oblik prikladan za raµcunarsku analizu. Fazni prostor kontinuiranih va-
rijabli podijeli se na particije, koje potom predstavljaju osnovu za kodiranje vrijed-
nosti varijabli. Dinamiku sustava tada promatramo kroz dinamiku nizova znakova u
okviru simboliµcke dinamike (engl. symbolic dynamics). Ukratko ćemo izloµziti temelje
ove discipline koji su nuµzni za formalizaciju našeg modeliranja i vezu prema raµcun-
skim automatima. Ovo izlaganje slijedi i nadogra†uje poglavlje 2 iz [44].

2.2.1 Putopis
U razmatranju simboliµcke dinamike pojavljuje se pojam putopisa (engl. itinerary),
kojim ćemo opisivati razvoj dinamiµckog sustava unutar nizovnog prostora.

De…nicija 2.2 Nizovni prostor. Neka je A abeceda koja sadrµzi a = card (A)
simbola. Skup svih beskonaµcnih nizova sastavljenih od simbola abecede A zvat ´cemo
nizovni prostor (engl. sequence space) i oznaµcavati sa 1 ,

1 = f (s0 ; s1 ; s2 ; : : : ) : si 2 f0; 1; : : : ; a 1g g (2.11)


= f0; 1; : : : ; a 1g f0; 1; : : : ; a 1g :::
1
= f0; 1; : : : ; a 1g :

Za kodiranje varijabli stanja u simbole presudan je pojam particije faznog pro-


stora dinamiµckog sustava. Jednostavnosti radi, ograniµcavamo se na razmatranje 1D
(jednodimenzionalnog) sustava, s domenom I R . Neka je A1 skup svih onih
toµcaka koje napuštaju interval I nakon jedne iteracije. Tada je razlika = I A1
skup koji se preslikava u sebe samog. Ukoliko je taj skup prazan, orbita divergira.
Postojanje nepraznog skupa preduvjet je za pojavu i periodiµcnih i općenito ne-
divergentnih orbita koje dinamiµcke sustave µcine interesantnima. Uobiµcajene su kan-
didatkinje za nelinearnu dinamiku funkcije f s “grbom”, usmjerenom prema gore ili
prema dolje. Ako je skup A1 neprazan, on predstavlja upravo podruµcje oko kritiµcne
toµcke (vrha ili dna grbe) u kojem vrijednost funkcije izlazi iz intervala I, tako da će
ponovna iteracija uroditi divergentnom putanjom.5 Prema tome A1 dijeli interval I
5
Detalji se mogu naći u npr. [29, pogl. 7, 8, 9].
22 2. Simboliµcki opis dinamiµckih sustava

na dva podintervala, lijevi i desni, koje ćemo oznaµciti kao 0, odnosno 1, za koje
vrijedi 0 [ 1 = . O tome govori sljedeća de…nicija:

De…nicija 2.3 Particija P (I) predstavlja podjelu faznog prostora prikazanog in-
tervalom I kao P (I) = f 0 ; 1 g, uz 0 [ 1 = = I A1 I , 0 \ 1 = ; .

Particija P u općenitom sluµcaju ne mora biti potpuna, pa je A1 = I ( 0 [ 1)


općenito neprazan skup. To npr. vrijedi za kvadratnu porodicu funkcija (2.7).
Sada putopis moµzemo de…nirati na sljedeći naµcin:
De…nicija 2.4 Putopis s jest element (toµcka) nizovnog prostora, s 2 1 , s =
(s0 ; s1 ; s2 ; : : :), što ´cemo kra´ce zapisivati kao s = s0 s1 s2 : : : si : : : , si 2 f0; 1g, gdje
su binarni simboli si dobiveni kodiranjem na temelju particije P kao
(
0 ; F i (x0 ) 2 0 ;
si = (2.12)
1 ; F i (x0 ) 2 1 :

Vidimo da nas ovakva binarna particija vodi na elementarnu dvoµclanu abecedu


simbola A = f0; 1g . Takva je abeceda uobiµcajena u razmatranju simboliµcke dina-
mike. Mi ćemo je tako†er koristiti u našem modeliranju.
Da razmatranje uµcinimo općenitijim, na trenutak se moµzemo vratiti i na vi-
šedimenzionalne sustave. Kod njih uvo†enjem odgovarajuće Poincaréove plohe i
preslikavanja prvog povratka (engl. termini su i surface of section, odnosno …rst re-
turn map) problem reduciramo na dvodimenzionalni, odnosno jednodimenzionalni,
te ga daljnjom diskretizacijom na gore opisani naµcin prevodimo u simboliµcku dina-
miku. Time smo razmatranje apstrahirali u formu prikladnu za raµcunarsku analizu.
Simboliµcka dinamika dosad je uglavnom primjenjivana na jednodimenzionalnim sus-
tavima, upravo zbog lakog uvo†enja diskretizacije, no ovo generalno topološko naµcelo
nudi mogućnost poopćenja na sustave s većim brojem dimenzija.
Gore navedenu tvorbu putopisa ilustrirat ćemo na primjerima logistiµckog pre-
slikavanja te na kvadratnoj porodici funkcija. Funkcija fr logistiµckog preslikavanja
(2.5) jest parabola:

xi+1 = fr (xi ) ;
fr (x) = rx (1 x) ; x 2 I = [0; 1] ; r 2 [0; 4] : (2.13)

Ovdje vrijedi da je skup A1 = ;. Restrikcija parametra r na interval [0; 4] nuµzna


je da se zadrµzi svojstvo zatvorenosti u grupi de…niranoj funkcijom iteracije fr i in-
tervalom I = [0; 1]. Za te je vrijednosti kodomena funkcije fr u potpunosti unutar
2. Simboliµcki opis dinamiµckih sustava 23

intervala [0; 1], pa je skup = I = [0; 1]. Najprirodnije je kao toµcku diskrimi-
nacije uzeti upravo kritiµcnu toµcku xc = 1=2; odre†enu kriterijem ekstrema (odnosno
in‡eksije) f 0 (xc ) = 0. Odatle dobivamo particiju koja je potpuna:

PLM = f [0; 1=2) ; [1=2; 1] g ; (2.14)


0 [ 1 =I;

a simboli si putopisa s dobivaju se sljedećim kodiranjem:


(
0 ; fri (x0 ) 2 [0; 1=2) ;
si = (2.15)
1 ; fri (x0 ) 2 [1=2; 1] :

Već smo istaknuli da je za općenitu vrijednost parametra c u funkcijama iz


kvadratne porodice (2.7) skup A1 neprazan. Me†utim, u praksi numeriµckog pri-
stupa ponovno je dovoljno uzeti particiju domene naspram kritiµcne toµcke, koja je
sada xc = 0 . Naime, trajektorije za sve toµcke iz skupa A1 ionako divergiraju u
beskonaµcnost, te nisu zanimljive. U razmatranju ovog dinamiµckog sustava lako se
pokazuje da je zanimljivo podruµcje parametra c ograniµceno na 2 c 1=4, gdje
vrijedi da je A1 prazan [29]. Slijedi da ćemo za tako ostvarene sustave svakoj toµcki
iz I moći pridruµziti element iz skupa 1 te kreirati putopis sljedećim kodiranjem:
(
0 ; qci (x0 ) 2 [ 2; 0) ;
si = (2.16)
1 ; qci (x0 ) 2 [ 0; 2 ] :

2.2.2 Posmaµcno preslikavanje


Ovdje nam je cilj podastrijeti teorijsku osnovu simboliµcke dinamike te iz nje za-
kljuµciti omogućuje li analiza rijeµci izluµcenih iz vremenskog niza vjernu reprodukciju
dinamike sustava. U našem ćemo postupku rekonstrukcije -strojeva iz primljenog
vremenskog niza uzimati rijeµc po rijeµc odabrane konstante duljine i raµcunarski je
analizirati — tj. rašµclaniti po simbolima. Svaka sljedeća rijeµc poµcet će znakom koji
je za jedno mjesto naprijed, tj. drugim simbolom prethodne rijeµci, te završavati
sljedećim, novim simbolom iz vremenskog niza (vidjeti tako†er 6.5). Ova je operacija
eksperimentalni analogon funkcije posmaµcnog preslikavanja koja u simboliµckoj di-
namici osigurava dinamiku sustava. Konaµcna i konstantna duljina rijeµci kljuµcni je
parametar eksperimentalne toµcnosti koju pri tom moµzemo ostvariti.
Zapoµcinjemo s de…nicijom udaljenosti dviju toµcaka (putopisa) iz nizovnog pro-
stora.
24 2. Simboliµcki opis dinamiµckih sustava

De…nicija 2.5 Udaljenost d dviju toµcaka s; t 2 1 ; s = s0 s1 s2 : : : si : : :, t =


t0 t1 t2 : : : ti : : :, de…nira se kao

X
1
jsi ti j
d [s; t] = : (2.17)
i=0
2i

Za udaljenost d lako je pokazati da predstavlja valjanu metriku, tj. da za nju


vrijede: pozitivna de…nitnost, d [s; t] 0; simetriµcnost, d [s; t] = d [t; s] i nejed-
nakost trokuta, d [s; t] + d [t; u] d [s; u] . Na temelju toga postavljamo:

Teorem 2.1 Teorem bliskosti (engl. proximity theorem). Neka su s; t 2 1 puto-


pisi iz nizovnog prostora s jednakih prvih n + 1 simbola: si = ti , i = 0; 1; : : : ; n .
Tada je udaljenost ovih dviju toµcaka d [s; t] 1=2n . Obratno, ako je udaljenost
d [s; t] < 1=2n , tada mora vrijediti da je si = ti za i n .

Dokaz. Uz si = ti , i = 0; 1; : : : ; n , iz 2.17 slijedi:

X
1
jsi ti j X1
1 X1
1 Xn
1
d [s; t] = = (2.18)
i=n+1
2i i=n+1
2i
i=0
2i i=0
2i
1 1
=2 2 1 = :
2n+1 2n

Time je prva tvrdnja dokazana. Za dokaz druge tvrdnje pretpostavit ćemo da postoji
j < n takav da je sj 6= tj . U tom je sluµcaju

1 1
d [s; t] : (2.19)
2j 2n
Dakle, ako je d [s; t] 1=2n , tada prethodna pretpostavka ne moµze vrijediti, pa za
i n nuµzno mora biti si = ti .
Sada smo spremni za de…niciju posmaµcnog preslikavanja (engl. shift map):

De…nicija 2.6 Posmaµcno preslikavanje ostvareno funkcijom : 1 ! 1 ; djeluje


na niz simbola tako da uklanja poµcetni simbol, a sve ostale simbole posmiµce za jedno
mjesto ulijevo:
(s0 s1 s2 : : :) = s1 s2 s3 : : : : (2.20)

Otuda slijedi da je k-struko djelovanje posmaka:

k
(s0 s1 s2 : : :) = sk sk+1 sk+2 : : : ; k 2 N+
0 : (2.21)
2. Simboliµcki opis dinamiµckih sustava 25

Za identitetni posmak na putopisu s 2 1 vrijedi 0 (s) = s . U skladu s


de…nicijom 2.1, oµcito je da se radi o iterativnom procesu na skupu 1 : Za vremenski
niz sa sjemenom toµckom x0 , koja odgovara poµcetnom vremenskom trenutku i0 , k
posmiµce ishodišnu toµcku putopisa na vremenski trenutak ik .
Nalaµzenje periodiµcnih toµcaka za funkciju jednostavno je. Ukoliko s 2 1
predstavlja periodiµcnu toµcku perioda n, tada je putopis

s = s0 s1 : : : sn 1 s0 s1 : : : sn 1 : : : = s0 s1 : : : sn 1 ; (2.22)

gdje smo potezom oznaµcili ponavljajući niz znakova. Za ovu toµcku mora vrijediti

n
(s) = s : (2.23)

Ako se radi o naposljetku periodiµcnoj toµcki (engl. eventually periodic point), koja
tek nakon k-iteracija prelazi u periodiµcnu toµcku perioda n, tada vrijedi:

s = s0 s1 : : : sk 1 sk sk+1 : : : sk+n 1 ;
n k
s =s: (2.24)

Ovo ćemo ilustrirati na primjerima poµcetnih perioda. Za postoje dvije …ksne


toµcke, koje su ujedno toµcke perioda 1: s10 = 0000 : : : i s11 = 1111 : : : . Toµcke
perioda 2 tako†er su dvije: s20 = 010101 : : : i s21 = 101010 : : : , i za njih vrijedi:

(s20 ) = s21 ; (s21 ) = s20 : (2.25)

Toµcaka s periodom 3 ima tri za primarne uzorke s dvije nule i jednom jedinicom
te isto toliko za komplementarne uzorke — s jednom nulom i dvije jedinice. One
se pregledno mogu prikazati u obliku dva ciklusa perioda 3. U svakom se ciklusu
sljedeća toµcka dobiva posmaµcnim preslikavanjem prethodne:

001 7! 010 7! 100 7! 001 ; (2.26)


011 7! 110 7! 101 7! 011 :

Na slici 2.3 ispisi su toµcaka iz dijelova orbite logistiµckog preslikavanja s parame-


trom r = 3:741, potekle iz sjemena x0 = 0:00079. U prvih 20 toµcaka nema nikakve
pravilnosti. Nakon stotinjak toµcaka sustav se stabilizira, te se od toµcke i = 104
nadalje ponavlja podniz 01101 . Iz toga proizlazi da je x0 = 0:00079 naposljetku
periodiµcna toµcka za koju je k = 104 . Spletni dijagrami za taj isti sustav prikazani
26 2. Simboliµcki opis dinamiµckih sustava

Slika 2.3: Izvatci iz liste toµcaka orbite logistiµckog preslikavanja s parametrom r = 3:741
i sjemenom iteracije x0 = 0:00079 , dobivene u DSA programu. Legenda: i0 = relativni
indeks toµcke u zadnjoj skupnoj iteraciji, i = apsolutni indeks (izvedena je tek jedna skupna
iteracija, pa su ova dva indeksa jednaka), x (i) = vrijednost toµcke, BI (i) = BI [x (i)] =
kodni simbol toµcke prema binarnoj izmjeri. U prvih 20 toµcaka nema pravilnosti. Nakon
stotinjak toµcaka sustav se stabilizira te je od 104. toµcke naposljetku-periodiµcan s primar-
nim uzorkom 01101 . Varijacije u vrijednostima sliµcnih toµcaka tu su jošu drugoj decimali.
Nakon 103 iteracija podudarno je 5 decimala, a nakon 106 iteracija njih 11 . [Preslike
prozora DSA programa za prikaz liste toµcaka ure†ene su (poravnate) za potrebe slike.]
2. Simboliµcki opis dinamiµckih sustava 27

Slika 2.4: Logistiµcko preslikavanje s parametrom r = 3:741 , x0 = 0:00079 . (a) Poµcetnih


13 toµcaka orbite pokazuje nepravilno gibanje. (b) Stanje nakon oko 100 toµcaka. Vertikal-
nom toµckastom linijom oznaµcena je toµcka i = 104 , od koje je ucrtano daljnjih 11 iteracija.
Nakon pet iteracija orbita se vraća u okolinu blisku prethodnoj i ponovo prolazi kroz pet
sve uµzih podruµcja koja se steµzu u pet zasebnih toµcaka (usporediti sa sl. 2.3). Na taj se
naµcin formira superstabilni cikliµcki atraktor perioda 5 , s primarnim uzorkom 01101 .
28 2. Simboliµcki opis dinamiµckih sustava

su na slici 2.4. Gornja slika prikazuje poµcetnih 13 toµcaka iteracije, bez ikakve pravil-
nosti, a na donjoj je vidljiva stabilizacija orbite u ciklusu perioda 5.
Iako djeluje na diskretne simbole, posmaµcno preslikavanje : 1 ! 1 ima
svojstvo kontinuiranosti. Za formalizaciju pojma kontinuiranosti potrebna je:
De…nicija 2.7 Funkcija F kontinuirana je u toµcki s 2 1 ako za svaki " > 0
postoji > 0; takav da iz d [s; t] < slijedi da je d [F (s) ;F (t)] < ":

Dakle, za po volji malu udaljenost " u nizovnom prostoru postoje toµcke s i


t dovoljno bliske da se njihove slike F (s) i F (t) razlikuju za manje od ". Sada
korištenjem teorema bliskosti dokazujemo kontinuiranost funkcije posmaka [29].

Teorem 2.2 Posmaµcna funkcija : 1 ! 1 kontinuirana je u svim toµckama


nizovnog prostora 1 .
Dokaz. Neka je zadan parametar " > 0 te neka je s = s0 s1 s2 : : : proizvoljna
toµcka nizovnog prostora 1 . Odabiremo n 2 N+ 0 tako da je 2
n
< " i koji je
(n+1)
manji od ", npr. = 2 . Odabiremo toµcku t = t0 t1 t2 : : : iz 1 takvu da
je d [s; t] < . Sada po teoremu bliskosti vrijedi da se s i t podudaraju u svojih
prvih n + 2 znakova, tj. si = ti , i = 0; 1; : : : ; n + 1, pa toµcku t moµzemo napisati
kao t = s0 s1 : : : sn+1 tn+2 tn+3 : : : . Djelovanjem posmaka na s i t dobivamo toµcke
(s) = s1 s2 : : : sn+1 sn+2 sn+3 : : : i (t) = s1 s2 : : : sn+1 tn+2 tn+3 : : :, koje se me†usobno
podudaraju u prvih n + 1 simbola, pa za njih po teoremu bliskosti vrijedi:
n
d [ (s) ; (t)] 2 <": (2.27)

Budući da je toµcka s bila proizvoljna, pokazali smo da je funkcija kontinuirana


za bilo koji putopis iz nizovnog prostora 1 .
Naravno, nuµzan je preduvjet za to proizvoljna (beskonaµcna) duljina nizova u 1 ,
tako da uvijek moµzemo odabrati po volji veliki n do kojeg ćemo sumirati simbole
si ; i = 0; 1; : : : ; n u izrazu (2.17). Svojstvo kontinuiranosti nuµzno je za uvo†enje
korespondencije izme†u posmaka i funkcija na faznom prostoru koje su uglavnom
kontinuirane.
Iz gornjih je primjera uoµcljiva lakoća kojom se u simboliµckoj dinamici nalaze
periodiµcne toµcke i ciklusi te kako se u njoj dinamika sustava elegantno svodi na
djelovanje jednostavnog, posmaµcnog preslikavanja. Oµcito je da simboliµcka dinamika
apstrahira opis dinamiµckih sustava na najjednostavniju moguću formu. Time je
njezino uvo†enje u potpunosti opravdano.
2. Simboliµcki opis dinamiµckih sustava 29

2.2.3 Srodnost s dinamikom faznog prostora


Ovdje nam je cilj uspostaviti jasnu vezu dinamike na faznom prostoru sa sim-
boliµckom dinamikom na nizovnom prostoru 1 . Polazimo od sljedeće de…nicije:

De…nicija 2.8 Dva su skupa homeomorfna ako izme†u njih postoji homeomor…zam,
tj. preslikavanje koje je “jedan naprama jedan i na”(dakle bijekcija) te kontinuirano,
s inverznom funkcijom koja je tako†er kontinuirana.

Skupove koji su homeomorfni moµzemo smatrati kvalitativno jednakima. Temelj


za homeomor…zam izme†u skupova i 1 uspostavili smo u izrazu kodiranja
(2.12) u de…niciji 2.4. Njime će se rezultati djelovanja funkcije F (x) na prevoditi
u rezultate djelovanja posmaka (s) na 1 . To formalizira sljedeća:

De…nicija 2.9 Tvorba putopisa. Funkcija S : ! 1 , kojom se tvori putopis


S (x0 ) = s0 s1 s2 : : : iz neke sjemene toµcke x0 , de…nirana je u bitnom particijom na
faznom prostoru, odnosno funkcijom kodiranja (de…nicije 2.3, 2.4). To rezimiramo
sljede´cim izrazima:

S : ! 1 ; S : x0 7! s ; (2.28)
s = s0 s1 s2 : : : ; si 2 f0; 1g ;
(
0 ; F i (x0 ) 2 0 ;
si =
1 ; F i (x0 ) 2 1 :

Za odabrane (interesantne) dijelove faznog prostora pojedinih dinamiµckih su-


stava zadatak je teorije dokazati homeomorfnost skupova i 1 , tj. pokazati da
je gore opisano preslikavanje, S : ! 1 , homeomor…zam. To vrijedi za sve
dinamiµcke sustave opisane “standardnim”funkcijama, u koje spada i logistiµcka. Ri-
gorozni pristup i dokaze µcitalac moµze pronaći u matematiµckoj literaturi (npr. za
kvadratnu porodicu funkcija dokaz homeomorfnosti dan je u [29]).
Uoµcimo još jedno vaµzno svojstvo funkcije S , iskazano sljedećim teoremom.
Teorem 2.3 Neka je x 2 : Tada je kompozicija homeomor…zma (tvorbe putopisa)
S i funkcije iteracije F istovjetna kompoziciji posmaµcnog preslikavanja i tvorbe
putopisa S: 6
S F = S: (2.29)

6
Poštujemo dogovor da desna funkcija u kompoziciji djeluje prva.
30 2. Simboliµcki opis dinamiµckih sustava

Dokaz. Neka je S (x0 ) = s0 s1 s2 : : : . Tada sjeme x0 trajektorije mora pripadati


skupu s0 , a općenita iduća i-ta iteracija skupu si , uz si 2 f 0 ; 1 g . Analogno
će vrijediti za trajektoriju koja zapoµcinje u sljedećoj toµcki x1 = F (x0 ), što sumarno
zapisujemo kao:
F 0 (x0 ) 2 s0 ; F 1 (x0 ) 2 s1
F 1 (x0 ) 2 s1 ; F 2 (x0 ) 2 s2
.. .. (2.30)
. .
F i (x0 ) 2 si ; F i+1 (x0 ) 2 si+1 :

Druga kolona predstavlja upravo putopis razvijen iz sljedeće toµcke iteracije x1 =


F (x0 ), tj. vrijedi da je

S (F (x0 )) = s1 s2 s3 : : : = (s0 s1 s2 : : :) = (S (x0 )) ; (2.31)

µcime je gornja tvrdnja dokazana.


Iskaz prethodnog teorema zorno se prikazuje s pomoću komutativnog dijagrama:

F
!
S# #S : (2.32)
!
1 1

Po†emo li od bilo koje sjemene toµcke x0 2 u gornjem lijevom kutu dijagrama,


slijedeći strelice do donjeg desnog kuta bilo kojim putem, završavamo u istoj toµcki
1 nizovnog prostora, tj. u istom putopisu.

Funkcija S jest homeomor…zam pa ima svojstva bijekcije, a otuda slijedi i po-


stojanje inverzne funkcije S 1 . Stoga postoji i “inverzni”komutativni dijagram:

F
!
1 1 : (2.33)
S " "S
!
1 1

Tvrdnja inverznog komutativnog dijagrama jest:

1 1 1
F S = S S F S (2.34)
1 1
= S S S
1
= S :
2. Simboliµcki opis dinamiµckih sustava 31

Konaµcno, promotrimo djelovanje funkcije S na proizvoljnu i-tu toµcku F -orbite:

S Fi = S F Fi 1
(2.35)
= S Fi 1

= S F Fi 2

2
= S Fi 2

..
.
i
= S:

Ako funkcija koja je homeomor…zam ima i upravo obrazloµzeno svojstvo iskazano


izrazom (2.29), tada se ona još naziva i konjugacija.7 Iz gore iznesenog slijedi da je
S konjugacija kojom su funkcije F i me†usobno konjugirane ili sparene (engl.
conjugated).
Zakljuµcujemo da funkcija S pretvara F -orbite u -orbite, a funkcija S 1 -orbite
u F -orbite. Ovaj će zakljuµcak biti posebno vaµzan u našem daljnjem razmatranju, jer
se ispostavlja da analizom putopisa dobivamo ispravne zakljuµcke u svezi ponašanja
orbita u faznom prostoru. Ako smo zakljuµcili da je neka toµcka s 2 1 periodiµcna
s obzirom na posmak ; tada će i toµcka x = S 1 (s) ; x 2 , biti periodiµcna s
obzirom na iteraciju F . Isto će vrijediti i za naposljetku periodiµcne ili µcvrste toµcke.
Dakle, općenito postoji potpuna srodnost (konjugiranost) izme†u dinamike posmaka
na skupu 1 i funkcije F na skupu : U bitnim odrednicama te dvije dinamike
moµzemo smatrati podudarnima.

2.2.4 Kaotiµcnost posmaµcnog preslikavanja


Kontinuiranost, kao vaµzno svojstvo funkcije posmaka , već je istaknuto i dokazano
u 2.2.2. Pored toga, posmaµcno preslikavanje kaotiµcni je dinamiµcki sustav.
Za dokaz ove tvrdnje potrebno je ustanoviti prikladnu de…niciju kaosa, odnosno
kaotiµcnog reµzima dinamiµckih sustava. Moµzemo reći da ne postoji strogi konsenzus
oko kriterija koji dinamiµcki sustav µcine kaotiµcnim te da se de…nicije razlikuju od
podruµcja do podruµcja. Kriteriji koji su korisni pri izravnoj izmjeri parametara u
faznom prostoru i prikladni za inµzenjerski pristup mogu se naći npr. u [48]. Nama
ovdje odgovaraju upravo kriteriji opisani na matematiµcki apstraktan naµcin, koji se
nadovezuju na izlaganje ovog poglavlja. Njih saµzima sljedeća de…nicija [28].
7
Konjugacija u smislu stapanja, sparivanja, sro†ivanja.
32 2. Simboliµcki opis dinamiµckih sustava

De…nicija 2.10 Dinamiµcki sustav kaotiµcan je ako vrijedi:


1. Periodiµcne toµcke od guste su;
2. je tranzitivan;
3. je osjetljiv na poµcetne uvjete.8

Potpunosti radi navodimo de…nicije korištenih pojmova:

De…nicija 2.11 Gusto´ca skupa (toµcaka). Neka je skup A2 podskup od A1 . Za A2


kaµzemo da je gust u svojem nadskupu A1 ako za svaku toµcku x1 2 A1 i proizvoljan
parametar " > 0, vrijedi da postoji toµcka x2 iz A2 za koju je njezina udaljenost od
toµcke x1 : d (x1 ; x2 ) < " .

Korolar 2.1 Iz gornje de…nicije proizlazi da za svaki prostor nad kojim je de…ni-
rana metrika i udaljenost moµzemo de…nirati guste podskupove. Zato što je i na
nizovnom prostoru 1 de…nirana udaljenost (2.17), tada to vrijedi i za njegove
toµcke, tj. u simboliµckoj dinamici de…nirani su gusti podskupovi.

De…nicija 2.12 Tranzitivnost. Dinamiµcki sustav tranzitivan je ako za svaki par


toµcaka x1 i x2 , uz proizvoljan parametar " > 0, postoji tre´ca toµcka x3 udaljena za
d (x1 ; x3 ) < ", iz koje se orbita pribliµzava x2 na udaljenost manju od " . Drugim
rijeµcima postoji toµcka F i (x3 ) za koju je d (x1 ; F i (x3 )) < ", uz i n, n 2 N+
0 .

Dakle, sustav je tranzitivan ako se za bilo koje dvije njegove toµcke moµze izna-
ći treća, koja prolazi proizvoljno blizu objema toµckama. Ako je dinamiµcki sustav
gust, tj. ima orbitu koja je gusti skup, tada je i tranzitivan jer gusta orbita pro-
lazi proizvoljno blizu svim toµckama. Obrat ove tvrdnje tako†er vrijedi, ali iziskuje
zahtjevan dokaz.
Konaµcno, de…niramo svojstvo osjetljivosti na poµcetne uvjete ili kratko, osjetljivost
(engl. sensitivity). To je najµcešće navo†eno svojstvo kaotiµcnih sustava, za koje po-
stoji opća suglasnost da predstavlja presudni kriterij kaotiµcnosti.

De…nicija 2.13 Osjetljivost. Dinamiµcki sustav osjetljiv je ako za svaki x1 i za


svaki parametar " > 0, postoji x2 na udaljenosti d (x1 ; x2 ) < " te indeks k 2 N+ 0
k k
takav da vrijedi da ´ce se k-te iteracije F (x1 ) i F (x2 ) me†usobno udaljiti za više
ili jednako od nekog proizvoljnog parametra > 0, tj. da je d F k (x1 ) ; F k (x2 ) >
".
8
Gornja svojstva nisu u potpunosti nezavisna, iako vezu nije jednostavno pokazati. Iz prva dva,
treće svojstvo slijedi kao posljedica.
2. Simboliµcki opis dinamiµckih sustava 33

Drugim rijeµcima, za sjemena udaljena manje od " zahtijevamo divergenciju orbita


za više od neke proizvoljne donje granice.
Sada moµzemo dokazati sljedeći vaµzan teorem simboliµcke dinamike:

Teorem 2.4 Kaotiµcnost posmaµcnog preslikavanja. Dinamiµcki sustav opisan


funkcijom : 1 ! 1 kaotiµcan je u smislu de…nicije 2.10.

Dokaz. Gusto´ca. Periodiµcne su toµcke guste, jer za bilo koju toµcku s 2 1 ,


zadanu sa svojih prvih n + 1 simbola kao s = s0 s1 s2 : : : sn , uz 2 n < ", po teoremu
bliskosti moµzemo kreirati periodiµcnu toµcku t perioda n + 1, udaljenu od nje za
manje od ", tako da uzmemo t = s0 s1 s2 : : : sn s0 s1 s2 : : : sn .
Tranzitivnost. Za dokaz tranzitivnosti koristi se posebna toµcka ^ s 2 1 , koja ima
svojstvo da je njezina orbita gusta u 1 . To je toµcka:

s = |{z}
^ 0 1 00
| 01{z10 11} 000
| 001{z : : }: 0000
| : : : : : :} : : : : : :
{z : (2.36)
l=1 l=2 l=3 l=4 :::

u kojoj smo grupirali sve podnizove duljine 1, 2 itd. Sada se, uz sliµcnu argumentaciju
kao i u dokazu gustoće, pokazuje da orbita toµcke ^
s prolazi proizvoljno blizu bilo koje
druge toµcke (detalji u [29, pogl. 10]).
Osjetljivost. Da dokaµzemo osjetljivost sustava : 1 ! 1 , odaberimo kao pa-
rametar divergencije = 1 . Neka je s; t 2 1 , s 6= t, te neka je d [s; t] < ", uz
" < 2 n : Drugim rijeµcima, s i t se razlikuju, ali tek u znakovima za neki indeks
k > n, tako da vrijedi jsk tk j = 1 . Sada je dovoljno primijeniti k iteracija funkcije
pa da se orbite koje polaze od s i t udalje za više ili jednako :

jsk tk j X
1
jsi ti j
k k
d (t) ; (s) = +
20 i=1
2i
jsk tk j
=1: (2.37)
20
U sluµcaju proizvoljnog moramo jednostavno napraviti pn q iteracija, pa time
izneseni dokaz postaje općenit.
Rezimirajmo najvaµznije zakljuµcke o kaotiµcnosti posmaµcnog preslikavanja. Usta-
novljenjem konjugacije izme†u (uobiµcajenih) nelinearnih dinamiµckih sustava de…ni-
ranih svojim iterativnim funkcijama na faznom prostoru i simboliµcke dinamike na
prostoru beskonaµcnih nizova, moµzemo o znaµcajkama prvih govoriti prouµcavajući
mnogo jednostavniji sluµcaj drugih. Egzaktno gledano, ako µzelimo prouµcavati neki
34 2. Simboliµcki opis dinamiµckih sustava

dinamiµcki sustav nepoznatih svojstava te ustanovimo da postoji konjugacija S koja


prvi prostor µcini srodnim drugom, tada je to dokaz da se u bitnom radi o ekviva-
lentnim sustavima. Konkretno, to je dokaz da je nepoznati sustav kaotiµcan, jednako
kao što je kaotiµcan posmak na prostoru svih beskonaµcnih nizova.

2.2.5 Generirajuća particija


U pododjeljku 2.2.3 pokazano je da se homeomor…zam S de…nira uvo†enjem odre-
†ene particije P na domeni I . Budući da kodiranje toµcaka orbite u simbole ovisi
o izboru te particije, ishod prevo†enja dinamike faznog prostora u simboliµcku di-
namiku time je suštinski povezan. Particija mora biti odabrana tako da funkcija S
ima svojstva homeomor…zma te da iterativne funkcije na i 1 µcini sparenima.
Za funkcije dobrog ponašanja (npr. analitiµcke) uglavnom moµzemo primijeniti
već spomenuto naµcelo uzimanja kritiµcne toµcke xc [odre†ene uvjetom f 0 (xc ) = 0 ]
kao diskriminirajuće toµcke particije. Već navedeni primjeri za particiju logistiµcke
jednadµzbe (xc = 1=2) i kvadratne porodice funkcija (xc = 0; vidjeti napomene u
[29]) dobro su poznati. Jasno je da ćemo u općenitom sluµcaju, a posebice ako se radi
o funkcijama koje nisu glatke, za svaku pojedinu funkciju morati pribjeći rigoroznom
matematiµckom dokazu.
Generiraju´ca particija (engl. generating partition) predstavlja upravo takvu par-
ticiju koja će de…nirati homeomor…zam s faznog prostora na prostor simboliµcke
dinamike 1 : Ovaj vaµzan pojam opisat ćemo sljedećom de…nicijom: 9

De…nicija 2.14 Neka particija P = f 0 ; 1 ; : : : ; a 1 g domene I na disjunktne


podskupove i , j , i \ j = ; , i; j = 0; 1; : : : ; a 1, i 6= j , za koje vrijedi
0 [ 1 [ ::: [ a 1 = I , jest generiraju´ca particija ili kratko generator,
ako gotovo svakoj toµcki x 2 pridjeljuje jedinstveni niz simbola.

Termin “u gotovo svakoj toµcki” precizno se de…nira kao -skoro u svim (engl.
-almost all), što znaµci da mjera skupa toµcaka koje ne zadovoljavaju zadani
uvjet iznosi nula, tj. = 0 . Za realne je brojeve standardna Lebesgueova mjera
(engl. Lebesgue measure), kao što je za 1D sustave duljina. Dakle, ako za neke toµcke
gornji zahtjev i ne vrijedi, duljina njihova skupa iznosi nula.
Ova je de…nicija ekvivalentna zahtjevu da je inverz S 1 funkcije S kontinuiran
u svakoj toµcki s 2 1 . Drugim rijeµcima za svaki " > 0 mora postojati n > 0
9
Precizna de…nicija generirajuće particije moµze se naći i u [57]. Njezino bi obrazloµzenje zahtije-
valo preveliku digresiju za ovaj rad.
2. Simboliµcki opis dinamiµckih sustava 35

takav da za nizove s i t , s 6= t, koji se podudaraju u svih n prvih znamenaka si ,


i = 0; 1; : : : ; n 1, vrijedi da je

1 1
d S (s) ; S (t) = d [x0;s ; x0;t ] < " ; x0;s ; x0;t 2 : (2.38)

Kao što je već istaknuto, dokaz za kontinuiranost funkcije S 1 provodi se u sklopu


opseµznijeg dokaza da se radi o homeomor…zmu (za kvadratnu porodicu vidjeti npr.
[29]). Dakle, ako je S 1 kontinuirana, naµcelno moµzemo udovoljiti zahtjevu de…nicije
2.14 i konstruirati generirajuću particiju.
Gornju ćemo µcinjenicu precizno formulirati sljedećim teoremom:

Teorem 2.5 Putopis stvoren na temelju generiraju´ce particije moµze po volji toµcno
opisati toµcku u faznom prostoru, tj. za proizvoljnu toµcku x0 2 i za svaki " > 0,
postoji n > 0 takav da je parcijalan putopis duljine n, sn =S (x0 ) = s0 s1 s2 : : : sn ,
udaljen od nje za d [S 1 (sn ) ; x0 ] < " .

Dokaz. Prema de…niciji 2.14 za gotovo svaku toµcku postoji jedinstven niz sim-
bola. Pretpostavimo da to vrijedi i za x0 (ako ne, odemo u njoj proizvoljno blisku
toµcku u kojoj to vrijedi), tako da za nju postoji de…nirani putopis t =S (x0 ) : Sada
zbog kontinuiranosti S 1 , iskazanoj izrazom (2.38), postoji n takav da uz odabir
parcijalnog putopisa sn , koji se u prvih n simbola podudara s t, vrijedi:

1 1
d S (sn ) ; S (t) = d [x0;sn ; x0 ] < " : (2.39)

Gornji dokaz potkrijepit ćemo dodatnim razmatranjem u kojem koristimo al-


ternativni, konstruktivni pristup. Kad promatramo koliko toµcno S 1 (sn ) opisuje
neku izvorišnu toµcku x0 , uvaµzavamo µcinjenicu da se kod djelovanja inverznog presli-
kavanja S 1 (sn ) svakim simbolom putopisa razdjeljuje interval na onoliko dijelova
koliko podskupova particija ima. Stoga konkretan odabir n ovisi o veliµcini domene
i broju dijelova particije. Za primjer logistiµcke jednadµzbe s particijom (2.14), koja
ima diskriminirajuću toµcku na polovici jediniµcnog intervala, svaki simbol u S 1 (sn )
raspolavlja interval. Poµcetni (0-ti) simbol odre†uje jesmo li lijevo ili desno od kri-
tiµcne toµcke, sljedeći raspolavlja taj podinterval itd. Uz n simbola suzujemo podruµcje
toµcke na 2 n , pa uz odabir 2 n < " pokazujemo valjanost teorema za ovaj sluµcaj.
Za dinamiµcke sustave s drugaµcijim domenama i particijama na sliµcan bismo naµcin
odabrali dovoljno veliki n za traµzenu toµcnost ".
36 2. Simboliµcki opis dinamiµckih sustava

Kolmogorovljev teorem. De…nicija generirajuće particije moµze se izreći i u


informacijsko-teorijskom kontekstu kroz Kolmogorovljev teorem [42, 57]. Ukratko,
tu se nad faznim prostorom dinamiµckog sustava uspostavlja -algebra s vjerojat-
nosnom mjerom (vidjeti npr. [49, 75]), a potom se de…nira entropija dinamiµckog
sustava preko supremuma entropija dobivenih za razliµcite particije. Particija P
generirajuća je za promatrani dinamiµcki sustav ako je -algebra uspostavljena na
sustavu ujedno i najmanja -algebra takva da sadrµzi sve moguće toµcke dobivene
iteracijom orbite sustava iz bilo kojeg dijela particije. Kolmogorovljev teorem tvrdi
da je entropija izraµcunana za takvu particiju supremum entropija izraµcunanih za sve
moguće konaµcne particije što je po de…niciji entropija deterministiµckog sustava. Pre-
ciznije, neka je deterministiµcki proces opisan sluµcajnom varijablom XP dobivenom
na temelju particije P te neka niz znakova koji su predstavljeni tom varijablom ima
stopu entropije, ili kratko entropiju, h (XP ) > 0 (§C.2). Entropija h (XP ) bit
će maksimalna ako je particija P generirajuća. Ovaj vaµzan informacijsko-teorijski
aspekt generirajuće particije ilustrirat ćemo i koristiti u 3.4.
U zakljuµcku ovog odjeljka, istaknimo da teorem 2.5 potvr†uje egzaktnost sim-
boliµckog prikaza dinamike sustava i predstavlja teorijski temelj našeg modeliranja.

2.3 K eksperimentalno-raµcunarskom pristupu

2.3.1 Tvorba putopisa s pomoću mjernog kodiranja


Kad na osnovi zadane iteracijske jednadµzbe najprije generiramo toµcke orbite dinami-
µckog sustava, a potom ih i odgovarajuće kodiramo da dobijemo niz simbola, de…niciju
2.9 funkcije S prilago†ujemo µcinjenici da je za izraµcun sljedeće toµcke dovoljna njoj
prethodna toµcka, odnosno da i-ti simbol putopisa si dobivamo tako da (binarno)
kodiramo toµcku xi 2 I ,

xi = F (xi 1 ) ; i 1; (2.40)
si = B (xi ) :

Ovdje B oznaµcava funkciju mjernog kodiranja koju će obavljati mjerni instrument.
Mjerno kodiranje u bitnom je odre†eno particijom P iz de…nicije 2.3, P =
f 0 ; 1 g . Već je istaknuto da particija P u općenitom sluµcaju ne mora (primjer
kvadratne porodice), ali i moµze biti potpuna (logistiµcko preslikavanje). Ako je par-
ticija binarna, što je µcest sluµcaj za funkcije s vodećim kvadratnim µclanom, tada je i
2. Simboliµcki opis dinamiµckih sustava 37

funkcija mjernog kodiranja binarna:

B : I ! f0; 1g ; (2.41)
(
0; x 2 0;
B (x) =
1; x 2 1 :
Uz uporabu funkcije mjernog kodiranja tvorbu putopisa iz de…nicije 2.9 moµzemo
preformulirati na sljedeći naµcin:

De…nicija 2.15 Tvorba putopisa uz mjerno kodiranje. Simbole putopisa ge-


neriramo tako da svaku toµcku orbite mjerno kodiramo, što je saµzeto u izrazu:

S (x0 ) = s0 s1 s2 : : : (2.42)
= B F 0 (x0 ) B F 1 (x0 ) B F 2 (x0 ) : : :
= B F 0 (x0 ) B F 0 (x1 ) B F 0 (x2 ) : : :
= B (x0 ) B (x1 ) B (x2 ) : : : :

Dakle, putopis kreiramo tako da nakon svake iteracije na faznom prostoru do-
bivenu toµcku kodiramo (npr. binarno), te novodobiveni znak (bit) dodajemo u pu-
topis. Dobiveni putopis s moµzemo opisati i kao beskonaµcan vremenski niz znakova.
O njegovoj eksperimentalno-raµcunarskoj prezentaciji govori sljedeći pododjeljak.

2.3.2 Simboliµcki (binarni) vremenski niz


Vremenski niz (engl. time series) općenito predstavlja niz standardiziranih podataka
o nekom sustavu ili procesu dobivenih u ekvidistantnim trenucima vremena. U na-
šem se sluµcaju radi o nizu koordinata toµcaka orbite dinamiµckog sustava u diskretnom
vremenu, dobivenih npr. iteracijom ili izmjerom. Modelar (tvorac modela) kao rezul-
tat izmjere nekog dinamiµckog sustava oµcekuje vremenski niz odgovarajuće kodiranih
podataka. Jasno je da se on mora zadovoljiti aproksimacijom putopisa koja se sastoji
od podniza konaµcne duljine. U protivnom ne bismo bili u stanju dovršiti modeliranje
u konaµcnom vremenu. Na temelju toga izriµcemo sljedeće odre†enje vremenskog niza
u kontekstu teorije -strojeva:

De…nicija 2.16 Simboliµcki vremenski niz jest konaµcni podniz sns = s0 s1 : : :


: : : sns 1 putopisa s = s0 s1 s2 : : : , dobiven mjernim kodiranjem konaµcnog broja ns 2
N toµcaka orbite sustava, kojim se svakoj od tih toµcaka pridjeljuje jedan od simbola
si iz a-µclane abecede A . Uz a = 2 govorimo o elementarnom binarnom vremen-
skom nizu.
38 2. Simboliµcki opis dinamiµckih sustava

Napomena 1. U uvodnom teorijskom dijelu nastojimo zadrµzati općenitost izlaganja


za abecedu s a znakova. No u konkretnom dijelu rada razmatrat ćemo vremenske
nizove binarnih simbola.
Napomena 2. Nadalje ćemo pod (kratkim) terminom vremenski niz uglavnom pod-
razumijevati da se radi o binarnom vremenskom nizu.

Ograniµcenje duljine cijelog primljenog vremenskog niza, jednako kao i ograniµcenje


duljine podnizova (rijeµci) koje ćemo analizirati, nuµzne su i standardne aproksimacije
u eksperimentalnom i raµcunarskom pristupu, neovisno o tome radi li se o linearnim ili
nelinearnim sustavima. Te aproksimacije ne predstavljaju bitan gubitak općenitosti
za sustave s konaµcnom sloµzenošću, odnosno za sustave u kojima se me†u simbolima
pojavljuju korelacije konaµcne duljine. Modelar će kroz praćenje dobivenih modela
prosu†ivati jesu li rijeµci koje se izluµcuju iz vremenskog niza dovoljne dugaµcke da
reproduciraju korelacije koje postoje izme†u njegovih simbola, a time i korelacije
koje postoje izme†u stanja sustava. Po potrebi će duljinu tih rijeµci povećavati i
na taj naµcin ostvarivati toµcnije modele. Budući da je u praksi to povećanje uvijek
ograniµceno raspoloµzivim raµcunarskim resursima, cilj modelara bit će da na temelju
rijeµci i nizova konaµcne duljine induktivnim zakljuµcivanjem izgradi takav model koji
će µcim bolje odraµzavati općenita svojstva sustava i koji će omogućiti predvi†anje po-
našanja sustava i u produljenim korelacijama. Opće odrednice cjelokupnog procesa
modeliranja opisat ćemo u sljedećem poglavlju.
Poglavlje 3

Od izmjere do modela

U izradu modela dinamiµckog sustava ukljuµceno je niz radnji — od izmjere njegovih


stanja u faznom prostoru, preko kodiranja i organizacije tako dobivenih podataka u
vremenski niz pa do samog postupka modeliranja koji se sastoji od analize primljenog
niza znakova i gradbe modela odre†enom metodologijom. Rezultantni će model biti
zadovoljavajući ukoliko dobro reproducira općenita svojstva promatranog sustava
te na temelju toga omogućuje predvi†anje njegova ponašanja. Budući da se do
tih “općenitih” odrednica došlo kroz postupak gradbe modela temeljene na anali-
zi primljenog vremenskog niza koji je tek posredni — a zbog svoje konaµcne duljine
i partikularni — pokazatelj stanja sustava, sam postupak modeliranja predstavlja
induktivno zakljuµcivanje (engl. inductive inference).
U crutch…eldovskoj raµcunskoj mehanici teorija -strojeva primjer je induktivnog
zakljuµcivanja zasnovanog na raµcunskim automatima. Ona je inicirala pojavu slje-
dećih novih disciplina nelinearnog modeliranja: teoriju inovativnosti (engl. theory
of innovation), izraµcun novopojavnosti (engl. calculi of emergence) [18, 21, 22, 26].
Suštinska pitanja koja se tu postavljaju sljedeća su:
Kako modelar (agent) promatranjem nekog procesa u svojoj okolini, uz ograni-
µcena raµcunarska izvorišta i neki poµcetni, elementarni model, moµze iznaći nešto
novo?
Kako će ta novopojavnost biti izraµzena u terminima starog znanja?
Kako poopćiti i automatizirati proces inovativnosti i stvaranja modela?

U daljnjem izlaganju nastojimo odgovoriti na ova pitanja. Polazimo od episte-


mološke analize znanstvenog modeliranja i ciljeva koje ono mora ostvariti u kon-
tekstu raµcunarsko-eksperimentalne realnosti. Kao dobru paradigmu modeliranja

39
40 3. Od izmjere do modela

istiµcemo upravo hijerarhijsku gradbu -strojeva. Potom prelazimo na eksperimen-


talne aspekte modeliranja, koje opisujemo u kontekstu mjerno-modelirajućeg kanala.
Odre†ujemo preciznost prezentacije toµcke orbite 1D sustava preko (pod)nizova ko-
naµcne duljine. Navodimo vaµznost ugodbe mjernog instrumenta te naµcelni postupak
odre†ivanja kritiµcne toµcke nepoznatih sustava. U zadnjem odjeljku formalno ćemo
de…nirati pojam modeliranja iz vremenskog niza i time pripremiti temelj za izbor
raµcunarskog modela u sljedećem poglavlju.

3.1 Znanstveno modeliranje


Da preciznije de…niramo …lozofsko-epistemološki okvir ovog rada i da dobijemo sliku
konkretnih zadaća koje moramo ostvariti u pojedinim etapama modeliranja, ukratko
ćemo se pozabaviti glavnim odrednicama znanstvenog modeliranja. Pored konteksta
izuµcavanja dinamiµckih sustava, one će biti i općenito primjenjive (objavljeno u [45]).
Radi se o sljedećim osnovnim spoznajnim pojmovima:

i. Znaµcenje i znanje (engl. meaning and knowledge);


ii. Saµzimanje (engl. compression);
iii. Predvi†anje (engl. prediction).

Znaµcenje i znanje. Nalaµzenje znaµcenja i ekstrakcija znanja odnose se na sposob-


nost prepoznavanja razliµcitih struktura i podstruktura u primljenim podacima te
na uoµcavanje njihova uzajamnog odnosa i odnosa prema cjelini. Na primjer, ako
u promatranom sustavu nakon neke podstrukture A sa sigurnošću uvijek slijedi
podstruktura B a nikad C, tada ta µcinjenica stanju A pridaje konkretno znaµcenje.
Njega moµzemo kratko opisati tvrdnjom kao što je: “A znaµci da je sljedeće stanje
B i nikad C”. Ako uspijemo sustavno analizirati znaµcenje svih prona†enih stanja
(podstruktura), u svim “okolnostima”u kojima se ona mogu naći — tj. s obzirom na
sve moguće prijelaze u ta stanja po emitiranju (prijamu) razliµcitih simbola — tada
smo izgradili znanje o sustavu. To znanje predoµcavamo apstraktnom tvorbom koju
nazivamo model sustava (engl. the model of a system).
Saµzimanje. Saµzimanje je smanjenje koliµcine podataka potrebne za opis modela
sustava u odnosu na koliµcinu primljenih podataka iz kojih je model izgra†en. Ono
je nuµzno za apstrahiranje znaµcenja i znanja. Jednom kad razumijemo “jezik pod-
struktura”, a ne samo “jezik simbola”ili suštih podataka, moći ćemo opisati stanja i
3. Od izmjere do modela 41

ponašanje sustava u skraćenoj i apstraktnoj formi. Ovo saµzimanje omogućuje uštedu


prostorno-vremenske kompleksnosti, odnosno memorijsko-procesnih zahtjeva koji su
potrebni da model reproducira podatke primljene od sustava. Na taj naµcin reduci-
ramo veliµcinu modela. No pored toga, suštinski je i epistemološki bitno uvesti razinu
apstrakcije koja nadilazi puko biljeµzenje ili tek dekodiranje simbola. Otuda proizla-
zi da saµzimanje nije moguće bez uvo†enja znaµcenja i znanja. Jedino sve to troje
zajedno omogućuje izgradnju modela koji vjerno opisuju sustav i koji će se, unutar
odre†enih granica, moći poboljšavati.
Predvi†anje. Predvi†anje je mogućnost spoznavanja budućih stanja sustava, te-
meljeno na odre†enim poµcetnim uvjetima ili pretpostavkama. U skladu s kvantno-
teorijskim pogledom na eksperiment predvi†anje je u općenitom sluµcaju stohastiµcke
naravi, te se izraµzava kroz vjerojatnosti mogućih budućih stanja. Sposobnost pred-
vi†anja budućih stanja moglo bi se okarakterizirati kao podrazumijevajući dio znanja,
no zbog vaµznosti je istaknuto kao posebno. Znanstveno je predvi†anje toµcno, u
smislu da greška, odnosno margina tolerancije, mora biti poznata te da model mora
predvi†ati ponašanje stvarnog sustava na provjerljiv naµcin.

3.1.1 Epistemološki temelji


Prethodno navedene spoznajne odrednice modeliranja poklapaju se s kljuµcnim ko-
racima u tvorbi znanstvene teorije. S tim u svezi, te u skladu s našim planom da
modeliramo sustave iskljuµcivo na temelju podataka koje smo primili od njih, posta-
vljamo pitanje je li moguće ostvariti uspješno modeliranje u “hermetiµckim uvjetima”.
Je li moguće da — nakon što automatiziramo proces modeliranja — uvijek dobivamo
korektne modele bez intervencije modelara u svijet oko sebe, odnosno konkretno, u
eksperiment iz kojeg crpi podatke. Negativan odgovor intuitivno je jasan, a dodatno
ćemo ga obrazloµziti u odjeljcima 3.2, 3.4. No valja naglasiti da jedino sveobuhvatni
pristup — koji u modeliranje ukljuµcuje i eksperiment — eksplicira to pitanje i daje
konkretne odgovore na njega. Mjeritelj i modelar bez nuµznog predznanja te bez
nuµznih raµcunarskih sposobnosti moµze primati nevaljale ili nevaµzne podatke, a da to
nije u stanju prepoznati. Posljediµcno, njegov će model biti neadekvatan.
Iz gornjeg izlaganja slijede tri epistemološka preduvjeta za uspješno modeliranje:
i. Temeljno znanje i temeljni raµcunarski kapaciteti;
ii. Redukcija;
iii. Iterativno uga†anje.
42 3. Od izmjere do modela

Temeljno znanje i temeljni raµcunarski kapaciteti. Mjeritelj mora posjedovati


odre†eno temeljno znanje o sustavu kojeg mjeri i o njegovu širem kontekstu (engl.
broader context) kako bi mogao organizirati prikladnu eksperimentalnu postavu i
odabrati odgovarajući mjerni instrument dovoljne preciznosti. Poznavanje šireg kon-
teksta nuµzno je da se iskljuµce utjecaji koji nisu predmet modelarovog interesa.
Na strani graditelja modela nuµzno je postojanje temeljnog znanja i temeljnih
raµcunarskih kapaciteta, kako bi se mogla obaviti analiza prikupljenih podataka, a
potom i izrada modela prema odre†enom algoritmu. Modeliranje se ne moµze uspje-
šno provesti iz stanja totalnog neznanja, odnosno stanja tabulae rasae, niti ako su
raµcunarski resursi nedostatni za prijam i organizaciju ulaznih podataka te za pohranu
i provedbu potrebnih algoritama.1
Modelirajući alat moµze biti promijenjen iz apstraktnog matematiµckog u rela-
tivno jednostavan raµcunarski kao što sugerira našpristup. No bez obzira na njegovu
izvedbu ili sloµzenost, mora postojati mogućnost i sposobnost da se njime “inteligen-
tno” upravlja, u smislu odabira i modi…ciranja parametara te procjene rezultata.
Mjerenje moµze zapoµceti nekom elementarnom eksperimentalnom postavom, a mo-
deliranje najjednostavnijim raµcunarskim entitetima te s njima povezanim razmjerno
malim temeljnim znanjem i jednostavnom obradom podataka. To će se znanje potom
nadogra†ivati i poboljšavati.

Redukcija. Redukcija je općeniti princip znanstvenog modeliranja. Kad u okviru


neke teorije odluµcimo što ćemo istraµzivati te odaberemo prikladan mjerni instrument
da prikupimo podatke, najµcešće ćemo biti primorani izvršiti selekciju onoga što je
bitno za sustav, odnosno odabrati aspekt sustava koji nas interesira. To ukljuµcuje eli-
minaciju sporednih fenomena koji kompliciraju istraµzivanje ili zamagljuju pravu sliku
stvari. Tako†er, na koncu modeliranja, µcesto ćemo biti primorani rabiti Occamo-
vu britvu za diskvali…kaciju nepotrebno sloµzenih modela ako postoje jednostavniji.
Oµcito je da za uspješnu redukciju trebamo temeljno znanje o sustavu i o njegovu
širem kontekstu. Drugim rijeµcima, trebamo inteligentnog modelara koji će prepo-
znati utjecaje ometajućih fenomena i redundantnost modela.

Iterativno uga†anje. Pored zadovoljavajućih poµcetnih eksperimentalnih postavki


i temeljnog znanja, u procesu modeliranja nuµzno je osigurati povratnu vezu za itera-
tivno uga†anje mjernih instrumenata i mogućnost unaprje†enja cijele modelirajuće
1
U analizi algoritama kojima implementiramo teoriju -strojeva pokazat ćemo da raµcunarski
resursi po sloµzenosti i veliµcini moraju znatno nadmašivati veliµcinu i kompleksnost dobivenog modela
(vidjeti poglavlja 6 i 8).
3. Od izmjere do modela 43

sheme (vidjeti 3.2). Modelar mora pratiti koliµcinu informacije sadrµzanu u primljenim
podacima te uga†ati mjerni instrument tako da se ona maksimizira. Ovaj proces
uga†anja instrumenta nije trivijalan, jer modelar mora znati kako iskljuµciti pogrešne
podatke, odnosno razaznati šum u komunikacijskom kanalu koji koliµcinu primljene
informacije moµze povećati irelevantnim podacima. Uga†anje instrumenta u našem se
sluµcaju konkretizira u nalaµzenju prave particije faznog prostora dinamiµckih sustava,
što ćemo detaljnije obrazloµziti u odjeljku 3.4.

3.1.2 Teorija -strojeva kao epistemološki model


U uvodnom smo poglavlju istaknuli da je cilj teorije -strojeva rekonstruirati model
promatranog sustava iskljuµcivo na temelju niza podataka koji su tijekom vremena
primljeni od njega (§1.2.2). Ovakav nam pristup omogućuje da u model unosimo
minimalnu koliµcinu prethodnih pretpostavki. Sa znanstveno-…lozofskog aspekta to
je jedna od glavnih osobitosti ove teorije [25, 27]. Nalaµzenjem pravilnosti i struk-
ture u nizu primljenih znakova, razaznajemo jezik sustava, tj. odre†ujemo njegovu
gramatiku i pripadni raµcunski model. Taj će model biti predstavljen modi…ciranim
automatima iz teorije raµcunarstva, za koje nastojimo da budu minimalni i po svojoj
programskoj i po svojoj memorijskoj kompleksnosti. Ustroj dobivenog modela te
njegove kvalitativne i kvantitativne odrednice govore nam o raµcunarskom ustroju i
sloµzenosti promatranog sustava.
Zbog toga je gradba -strojeva posve općenita i programatska shema modelira-
nja. U njezinu se hijerarhijskom procesu koriste algoritmi µciji se zajedniµcki zadatak
najjednostavnije moµze opisati rekurzivno — radi se o nalaµzenju strukture u strukturi
(detaljnije u 6.4). Shema gradbe -strojeva moµze posluµziti ne samo za tvorbu modela
dinamiµckih sustava, već i kao općeniti “model za modeliranje”. Uvo†enjem takve
sheme u spoznajni proces, u epistemologiju uvodimo hijerarhiju analognu hijerarhiji
automata u teoriji raµcunarstva (§5.7). Tako†er, da se nadoveµzemo na izlaganje iz
3.1.1, teoriju -strojeva moµzemo promatrati i kao svojevrsni rudimentarni ili generiµcki
model znanstvenih teorija.
Teorija -strojeva odgovara na fundamentalna pitanja …lozo…je prirodnih i teh-
niµckih znanosti, zasnovanih na eksperimentalnom principu. U svojem autentiµcnom
nastojanju da stvara model dinamiµckih sustava iz primljenih podataka samih, ova
nas teorija potiµce da suštinski preispitamo korake koje provodimo u procesu gradbe
modela. To je u kontrastu s etabliranim procesom mjerenja i modeliranja stan-
dardnog znanstvenog pristupa, gdje se mjere i interpretiraju prede…nirane …zikalne
44 3. Od izmjere do modela

veliµcine unutar zadanog teorijskog okvira. I dok je klasiµcna metodologija nesporno


uspješna kad je temeljno znanje relativno veliko, kad su teorijski koncepti jasni,
a njihove matematiµcke formulacije rješive (analitiµcki, numeriµcki ili konceptualno),
ovdje predloµzeno modeliranje postaje interesantno u suprotnim situacijama — kad je
temeljno znanje nisko, kad je teorijski okvir nepoznat ili njegove jednadµzbe izmiµcu
jasnim rješenjima, odnosno ukratko, kad je sve što imamo skup sirovih podataka
prikupljenih iz nekog mjernog instrumenta.

3.1.3 Nuµznost eksperimentalne aproksimacije


Gradba -strojeva inherentno se naslanja na rezultate eksperimenta kojim se dobiva
vremenski niz podataka o sustavu. Naµcin modeliranja tjera nas da provjeravamo
u kojoj su mjeri primljeni podaci valjana osnovica za gradbu vjerodostojnog mo-
dela. Već smo u 2.3 istaknuli nuµznost aproksimacije putopisa konaµcnim vremenskim
nizom. Bez obzira je li promatrani sustav linearan ili nelinearan, njegova je eksperi-
mentalna izmjera dana podacima konaµcne (ograniµcene) toµcnosti. Kao što je i tamo
zakljuµceno, konaµcna prezentacija rezultata mjerenja zahtijeva odustajanje od kon-
cepta egzaktnog putopisa, tj. moramo se zadovoljiti s vremenskim nizom konaµcne
duljine. Kod linearnih sustava ova se µcinjenica gotovo previ†ala, odnosno njezin
utjecaj nije bio od presudne vaµznosti za poimanje znanstvenih mjerenja. Uz do-
bro poznati model tu će mala odstupanja u mjerenju poµcetnih uvjeta rezultirati
proporcionalno malim odstupanjima izraµcunanih vrijednosti stanja sustava.2
Pod mjerenjem sustava podrazumijevamo izmjeru njegovih varijabli stanja pri
nekim zadanim parametrima koje podrazumijevamo konstantnima. Cak µ i da imamo
toµcna mjerenja, model s konaµcnom prezentacijom koji je stvoren s pomoću konaµcnih
raµcunarskih kapaciteta rezultira s implicitnom nemogućnosti za toµcno predvi†anje
stanja sustava. Ta nas µcinjenica tjera da stalno prilago†ujemo svoj eksperimentalni
pristup, odnosno da preispitujemo koliko precizna mjerenja trebaju biti i što iz njih
moµzemo dobiti u procesu induktivnog zakljuµcivanja.3
Modeliranje na temelju vremenskog niza bitno ovisi od instrumenta iz kojeg
je niz primljen, i to ne samo glede toµcnosti mjerenja nego i sveukupne prikladnosti
instrumenta da u sklopu mjerno-modelirajućeg kanala mjeri bitne i µzeljene odrednice
sustava (usporediti s primjerom u [44, 1.2.2 Minimalna prezentacija]). Uz toµcnost
2
U okvirima Laplacéovog deterministiµckog pristupa, problematika konaµcne toµcnosti mjerenja
općenito nije razmatrana kao vaµzan dio teorijskog opisa sustava.
3
Oµcita je sliµcnost s eksperimentalnim nedeterminizmom pri mjerenju mikrosustava, gdje je nede-
terminizam posljedica kvantnih relacija neodre†enosti.
3. Od izmjere do modela 45

instrumenta oznaµcenu realnim pozitivnim parametrom ", raµcunarski modeli koje


gradimo inherentno nose pogrešku koja je jednaka ili veća od te vrijednosti. To
je jedan od razloga da ćemo rekonstruirane modele nazivati -strojevi [26]. je tu
kumulativni pokazatelj toµcnosti, odnosno pokazatelj gornje granice greške (vidjeti
3.3.1). Gledano kvalitativno, ima i dodatnu ulogu podsjetnika na upravo izreµcenu
µcinjenicu — mada precizan, instrument koji ne odgovara strukturalnoj suštini sustava
daje neadekvatan vremenski niz iz kojeg će proizići iskrivljena slika sustava.
Za kaotiµcne sustave izmjera i izraµcun stanja dinamiµckih sustava postaju speci-
…µcni. Zbog osjetljivosti na poµcetne uvjete (§2.1) postavlja se pitanje koliko precizno
ima smisla mjeriti sustav koji je u kaotiµcnom reµzimu. S raµcunarskog stanovišta zani-
ma nas s kojom preciznošću valja izraµcunavati trajektoriju takvog sustava. Kratak
je odgovor da ćemo tu toµcnost drµzati većom od µzeljene toµcnosti predvi†anja modela.
µ i kad prije†emo u µcisto statistiµcko razmatranje, za precizne funkcije gustoće vje-
Cak
rojatnosti moramo osigurati dostatnu toµcnost izmjere i izraµcuna stanja sustava. Di-
namiµcki sustavi pokazuju slojevite promjene na svom putu prema kaosu (engl. route
to chaos), kad prelaze iz deterministiµckih u kvazistohastiµcke sustave4 (primjeri u
9.1.2 i u prilogu H.4). Na tom se putu pojavljuje bogatstvo razliµcitog ponašanja
koje prepoznajemo kao novine ili strukture. Dakle, nakon dovoljno toµcne izmjere
poµcetnog stanja i dovoljno preciznog izraµcuna orbite odustajemo od promatranja or-
bite same. Gradimo modele kojima ćemo opisivati te strukture, a potom ćemo uvesti
i metode za kvanti…kaciju njihove sloµzenosti. Opis ovako zadane sheme mjerenja i
modeliranja predmet je sljedećeg odjeljka.

3.2 Mjerno-modelirajući kanal


Kako bismo precizirali i formalizirali gornja razmatranja, pretpostavimo da nam je
zadaća opisati sustav S na kojem se odvija neki (iterativni) proces P: Na raspo-
laganju nam je odre†eni mjerni instrument I i apstraktni modelar kao stvaralac
modela. Cilj modelara je izgraditi najbolji mogući model promatranog procesa
P na osnovi dobivenih mjerenja. U tom sadrµzajnom okviru govorimo o mjerno-
modeliraju´cem kanalu (engl. measuring and modeling channel) [45]. U kontekstu
diskusije iz prethodnog odjeljka, na slici 3.1 sumiran je naš projekt postavljanja
eksperimenta, uga†anja instrumenta i gradbe modela.
4
Kvazistohastiµcnost se odnosi na reµzim deterministiµckog kaosa. Orbita kaotiµcnog atraktora de-
terministiµcki je reproducibilna, ali samo uz toµcno poznati algoritam iteracijskog izraµcunavanja,
identiµcan diskretni raµcunski stroj i jednake poµcetne uvjete.
46 3. Od izmjere do modela

3.2.1 Diskretizacija faznog prostora i kodiranje mjerenja


Da eksperiment i modeliranje prikaµzemo u općenitom i …zikalno realistiµcnom svjetlu,
u opis deterministiµckih dinamiµckih sustava iz odjeljka 2.1 uvodimo nekoliko gene-
ralizacija. Budući da je cilj našeg modeliranja nalaµzenje unutarnjih stanja sustava,
u formalnom ćemo opisu umjesto toµcaka orbite xt promatrati stanje Xt u nekom
vremenskom trenutku t . Zadatak modeliranja bit će da izmjenu stanja poveµzemo s
toµckama trajektorije u faznom prostoru sustava. Sustav općenito moµze biti nesta-
cionaran, tj. njegov razvoj moµze ovisiti o vremenu t, odnosno o indeksu iteracije i .
Nadalje, da dobijemo realistiµcan prikaz procesa u pravim prirodnim i tehniµckim su-
stavima, u opis dodajemo i šum, predstavljen varijablom t koja tako†er moµze biti
vremenski ovisna. Izvor šuma moµze biti intrinziµcan samom sustavu ili pak posljedica
smetnji u informacijskom kanalu izme†u sustava i mjeritelja-modelara. Jednadµzbu
općenitog iterativnog procesa P koji se odvija na dinamiµckom sustavu u višedimen-
zionalnom faznom prostoru, moµzemo sada opisati djelovanjem vektorske funkcije
F:
Xt+4t = F (Xt ; t ; t) ; t ; t2R: (3.1)

Na jednak naµcin kao i u odjeljku 2.1, uvodimo konaµcno vrijeme da dobijemo


iterativnu jednadµzbu
Xi+1 = F (Xi ; i ; i) ; i 2 N+
0 : (3.2)

Izbor nenegativnog konaµcnog vremena odgovara kontekstu u kojem je dobro po-


znat poµcetni trenutak (indeks) t = 0 i poµcetna (sjemena) toµcka x (t = 0) = x0 iz
koje iteracija kreće. U kontekstu izuµcavanja dijelova orbite, odnosno u simboliµckoj di-
namici podnizova iz primljenog vremenskog niza kao konaµcne prezentacije putopisa,
nultu toµcku postavljat ćemo na poµcetak podniza, tako da će indeksi moći poprimiti
i negativne vrijednosti:

Xi+1 = F (Xi ; i ; i) ; i 2 Z : (3.3)

Kao što je prikazano na slici 3.1, stanje procesa Xt doznajemo na temelju mje-
renja instrumenta I . Mjerenje interpretiramo kao nalaµzenje projekcije S stanja Xt
na tzv. mjerni prostor RDim (npr. Euklidski prostor). Tu je dimenzija Dim jednaka
broju eksperimentalnih proba instrumenta I . Instrument je neki pretvornik (engl.
transducer), na slici prikazan kao dvodimenzionalan. Shema predvi†a mogućnost
prilago†ivanja i uga†anja instrumenta za dati eksperiment “u hodu”.
3. Od izmjere do modela 47

Model

Dim = 2 eksp. probe


ε
ε
PROCES ε-Dim
Koder ...6A9F...
Instrument Modelar
ε-Dim an
1

Eksperiment

Slika 3.1: Shematski prikaz mjerno-modelirajućeg kanala. Na slici je Dim = 2 eksperi-


mentalnih proba kojima se diskretizira mjerni prostor na ćelije dimenzija " " . Postoji
ukupno " Dim mogućih vrijednosti oµcitanja koje se odgovarajuće kodiraju i prenose mo-
delaru (agentu). Instrument je zajedno s procesom sastavni dio eksperimenta, ali i dio
modela. Rezultati modeliranja pomaµzu da se instrument iterativno uga†a i modi…cira na
osnovi trenutno prikupljenih informacija, preko ostvarene povratne veze (prema [21]).

U ovisnosti o preciznosti " danog instrumenta govorimo o podjeli mjernog pro-


stora na skup ´celija (intervala, podjeljaka, engl. notches) ili mjernih signala koje
oznaµcavamo s " (Dim). Vrijedi:

" (Dim) = i : i 2 RDim ; i 2 N ; (3.4)


Dim 2 N ; N N
Dim
N = f0; 1; : : : ; nI 1g ; nI = " :

Broj podjeljaka nI odgovara uobiµcajenom pojmu “rezolucije” u današnjoj teh-


nološkoj praksi, kao ukupnom broju djelića ili piksela odre†enog (faznog) prostora,
najµcešće površine. Preciznost " moµze se tako†er interpretirati kao mjera razluµcivosti
cjeline na njezine najsitnije dijelove. Na primjer, uz " 10 3 i Dim = 2, bit
će nI = 106 ćelija. Svaka ćelija i klasa je ekvivalencije skupa svih stanja Xt
48 3. Od izmjere do modela

projiciranih na RDim koja su nerazluµciva za dati mjerni instrument. N jest skup


svih mogućih indeksa i, tj. skup svih efektivnih rezultata mjerenja. Na taj smo
naµcin ostvarili diskretizaciju faznog prostora dinamiµckog sustava.
Iz gornjeg izlaganja slijedi da je funkcija instrumenta I nalaµzenje podjeljka i
kojem odgovara projekcija S (Xt ), što moµzemo opisati kao

I : RDim ! N ; (3.5)
I (S (Xt )) = i ; uz S (Xt ) 2 i ;
i = 1; 2; : : : ; nI :

Dakle, izlaz mjernog kanala odgovarajući je kodni prikaz indeksa i ustanovljenog


podjeljka i u obliµcju niza znakova (engl. string, series). Prirodno je da skup N s
nI elemenata interpretiramo jednostavno kao kodnu abecedu A s a = card (A) =
nI znakova, tako da u daljnjem razmatranju govorimo o abecedi A kao skupu od
a elemenata.
Uoµcljivo je da se niz rezultata mjerenja svodi na niz simbola primljenih od
mjernog instrumenta, što se naµcelno podudara s konceptom vremenskog niza s uve-
denog u 2.3.2:
s = s0 s1 : : : si : : : ; si 2 A ; i = 0; 1; 2; : : : ; l 1: (3.6)

Ovime smo pokazali formalnu vezu izme†u niza mjerenja stanja dinamiµckog su-
stava sa simboliµckom dinamikom.

3.2.2 Gruba izmjera


Uobiµcajeno je da pri mjerenju odaberemo najjednostavniju ili najgrublju podjelu
koja će toµcno opisati sustav. Govorimo o tzv. gruboj izmjeri (od engl. coarse grain-
ing, coarse measurement). Dakle, iako gruba — s obzirom da se radi o malom broju
podjeljaka — takva izmjera mora biti uskla†ena sa sustavom koji mjerimo. Tako†er,
ona mora osigurati izrazitu (engl. crisp) diskriminaciju pripadnosti toµcke orbite po-
jedinom podjeljku do na odre†enu toµcnost.
Za jednodimenzionalne sustave najgrublja će biti binarna izmjera, koja je eksperi-
mentalni analogon pojmu binarne particije P faznog prostora, uvedene u de…niciji
2.4. Za 1D sustav s jediniµcnom domenom I = [0; 1], kao što je npr. logistiµcko
preslikavanje, dioba tog intervala na dva podjeljka daje:

nI = 2 = a ;
3. Od izmjere do modela 49

što vodi na samo dvije ćelije i ; i = 0; 1 i binarnu abecedu A = f0; 1g . Uvaµzavamo


gornji zahtjev da je instrument dobro ugo†en, u smislu da se granica ova dva pod-
jeljka poklapa s kritiµcnom toµckom (za logistiµcku jednadµzbu xc = 1=2), odnosno
da podjeljci 0 i 1 realno odraµzavaju pripadnost varijabli stanja podskupovima
mjerne particije P .
Konaµcna je preciznost "I izmjere instrumenta gruba, jer uz podjelu jediniµcnog
intervala na dva dijela ne moµzemo ostvariti preciznost bolju od 1=2 :

"I ' 1=2 ; 1=2 "I < 1 : (3.7)

U skladu s razmatranjem generirajuće particije u 2.2.5, usprkos gruboj izmjeri, uz


dovoljno veliki broj primljenih (emitiranih) simbola dobit ćemo po volji toµcne rezul-
tate. U sljedećem odjeljku cilj nam je uspostaviti vezu izme†u rezultata mjerenja i
simboliµcke dinamike kako bismo uspostavili jasan temelj naše teorije modeliranja.

3.2.3 Dinamiµcki sustav kao izvor informacije


Informacijsko-teorijski aspekti našeg modeliranja bit će detaljno obra†eni u poglavlju
7. Ovdje dajemo tek kratak pregled pojmova koji su nuµzni za izlaganje u ovom
poglavlju. Instrument sa slike 3.1 za modelara je izvor informacije, pa nas stoga
zanima njegova entropija. Za proces P uvodimo (vjerojatnosnu) mjeru (X) na
njegovu kon…guracijskom prostoru — koji je matematiµcko poopćenje prostora stanja
sustava. Na osnovi nje de…niramo stopu entropije (engl. entropy rate) h (X) kao
mjeru koliµcine informacije koju dobivamo od procesa pri jednoj izmjeri stanja tijekom
vremena (§7.1, de…nicije u prilozima C.1, C.2). U teoriji informacije standard-
no uzimamo = 1. Instrument I kojim mjerimo proces P promatramo kao
informacijski kanal kroz koji se informacija h (X) prenosi do modelara. Kapacitet
tog kanala predstavlja maksimalnu informaciju IP koju instrument moµze prenijeti
o procesu:
IP = H (p) : (3.8)
Tu je H (p) Shannonova entropija distribucije vjerojatnosti p,
X
a 1
H (p) = pi ld pi ; (3.9)
i=0

uz log2 = ld . U distribuciji p, pi je vjerojatnost da se pojedini rezultat mjerenja iz


mjernog prostora RDim nalazi unutar podjeljka i , što pišemo kao

p = (p0 ; p 1 ; : : : ; pa 1 ) ; pi = ( i) ; i 2 " (Dim) : (3.10)


50 3. Od izmjere do modela

Mjera mora biti normirana na jedinicu radi normiranosti distribucije p .


Da bi instrument prenio svu informaciju o procesu, mora vrijediti Shannonov
teorem za kodiranje bez dodatka šuma, koji u našem sluµcaju zahtijeva:

IP h (X) : (3.11)

Uz dovoljno veliki kapacitet mjernog kanala, uvo†enjem redundantnih zaštitnih


bitova moguće je napraviti preslikavanje (kodiranje) iz mjernog prostora u skup in-
dekasa podjeljaka (niza simbola) bez unošenja šuma. Ako pak gornji izraz ne vrijedi,
tada na instrumentu dolazi do gubitka informacije (ekvivokacije) od h (X) IP > 0 .
Izgubljena je informacija nenadoknadiva i predstavlja donju granicu koliµcine šuma
unesenog u rekonstruirani model. Zbog realnog ograniµcenja raspoloµzivih raµcunarskih
resursa postoji općenita mogućnost pojave šuma u procesu modeliranja, a zbog toga
i do smanjenja kvalitete dobivenog modela.

3.3 Izmjera u jeziku simboliµcke dinamike


U ovom odjeljku razmatramo uporabu teorijskih koncepata simboliµcke dinamike u
kontekstu …zikalne izmjere dinamiµckog sustava te interpretacije izmjerenih rezultata
u okviru nekog modela. Cilj nam je premoštenje jaza koji postoji izme†u matema-
tiµckog pristupa teoriji dinamiµckih sustava s jedne strane i primjene te iste teorije
u okruµzenju eksperimentalne stvarnosti ili raµcunarskog modeliranja s druge strane.
Prirodne i tehniµcke znanosti inzistiraju na eksperimentalnoj potvrdi. Tek “izlazak u
stvarni svijet”i primjena matematiµckog aparata na modeliranju stvarnih problema,
predstavlja njegovu ultimativnu provjeru i daje smisao onom što radimo. U takvim,
realnim okolnostima, eksperimentalna i raµcunarska ograniµcenja zahtijevaju odusta-
janje od elegantnih matematiµckih idealizacija. Stoga ćemo ovdje obrazloµziti uµcinke
konaµcne prezentacije, nagoviještene na kraju odjeljka 2.3 prethodnog poglavlja.
Idealizacija koja je neostvariva u mjerenjima i izraµcunu jest vremensko-prostorni
kontinuum. Posmaµcna funkcija iz prijašnjeg poglavlja kontinuirana je kad djeluje
na prostoru 1 beskonaµcno dugaµckih nizova. U praksi ćemo se morati zadovoljiti
prijamom nizova s konaµcnim brojem ns 2 N znakova, iz kojih se izluµcuju podnizovi
(rijeµci) konaµcne duljine D 2 N, uz uobiµcajeni odnos ovih veliµcina D ns . Polazi-
mo od ograniµcenja duljine D rijeµci. Sustav analiziramo traµzeći strukturu unutar niza
primljenih simbola, tj. analizirajući te ekstrahirane rijeµci. Uz duµze rijeµci dobivamo
bolju toµcnost opisa toµcke u faznom prostoru, no uz preduge rijeµci postupak njihove
3. Od izmjere do modela 51

analize moµze postati prezahtjevan. Duljina rijeµci jednaka je visini binarnog stabla s
pomoću kojeg ćemo te rijeµci parsirati (rašµclaniti) te tvoriti njihovu statistiku, a i sta-
tistiku svih njihovih pre…kasa. Zbog općenito eksponencijalnog rasta broja µcvorova
stabla s njegovom visinom, duljina D ograniµcena je raspoloµzivim raµcunarskim resur-
sima. U prvom se redu to odnosi na memoriju za pohranu strukture rašµclambenog
stabla, a za sustave u kaotiµcnom reµzimu D je ograniµceno i korištenom numeriµckom
preciznosti (vidjeti 8.3.3 i noticu 3 u prilogu H.2, odnosno kraj 3.3.1 i 9.1.3).
µ
Zelimo li postići statistiµcku relevantnost prikupljenih podataka, analizu moramo
obaviti nad velikim brojem rijeµci. Uz D ns taj je broj pribliµzno jednak ns
(vidjeti 6.5). Kod odre†enja broja rijeµci koje će se uµcitavati, morat ćemo uvaµziti da
je za postizanje veće statistiµcke relevantnosti potrebno utrošiti duµze vrijeme.5 ns je i
dodatno ograniµcen brojem bitova cjelobrojne aritmetike kojom u µcvorovima brojimo
koliko je odgovarajućih podnizova prona†eno.6

3.3.1 Preciznost konaµcne prezentacije


Konaµcna prezentacija rezultata mjerenja s pomoću vremenskog niza sl duljine l
simbola povlaµci odustajanje od kontinuiranosti izraµzene de…nicijom 2.7. Gubitkom
kontinuuma, uvodi se konaµcna preciznost (engl. …nite precision) kao odraz eksperi-
mentalne realnosti simboliµckog opisa i modeliranja dinamiµckog sustava. Njezin iznos
bit će povezan s brojem l simbola u vremenskom nizu koji analiziramo. Jasno je
da se i u numeriµckoj iteraciji toµcaka orbite xi u faznom prostoru koristi konaµcna
preciznost uvijek kad za njihov izraµcun koristimo tip podataka de…nirane duljine,
kao npr. tip dvostruke preciznosti, koji mantisu biljeµzi s 53 bita (52 eksplicitno).
Jednostavni zakljuµcci koji proizlaze iz prethodnog razmatranja saµzeti su u slje-
dećim tvrdnjama:

De…nicija 3.1 Toµcnost ili preciznost "l konaµcne simboliµcke prezentacije sl s ukup-
no l simbola odre†ena je gornjom granicom njezina odstupanja l;max u odnosu na
putopis s 2 1 . To ´cemo kratko zapisivati kao "l / l;max i µcitati da je preciznost
"l do na l;max , ili u labavijoj verziji da je preciznost "l reda veliµcine l;max .

Korolar 3.1 Za niz simbola sl duljine l 2 N+


0 , toµcnost ili preciznost prikaza jest
"l / l;max = 2 (l 1)
.
5
DSA program moµze u prihvatljivom vremenu generirati nizove s 108 –109 binarnih simbola te
uµcitati jednak, statistiµcki vrlo signi…kantan broj rijeµci (vidjeti 8.3.4 i podbilješku 8 u prilogu H).
6
32-bitna cjelobrojna aritmetika, primijenjena u sadašnjoj inaµcici DSA programa, ograniµcava
taj broj na 4 Gi 1 (vidjeti i podbilješke H.6, 7, 9 — u prilogu H).
52 3. Od izmjere do modela

Dokaz. Neka je toµcka t 6= s takva da se s toµckom s podudara u prvih l simbola:


ti = si , i = 0; 1; 2; : : : ; l 1, tako da su u konaµcnoj prezentaciji s l binarnih simbola
ove dvije toµcke jednake. Sada po teoremu bliskosti 2.1 vrijedi da je d [t; s] < 2 (l 1) ,
iz µcega proizlazi traµzena granica greške.
Za niz duljine 0 znakova dobivamo da je 0 = 2, što je ujedno i najveća moguća
udaljenost dviju toµcaka u nizovnom prostoru — ona izme†u …ksnih toµcaka 000 : : : i
P
111 : : :, d [000 : : : ; 111 : : :] = 1i=0 2
i
= (1 1=2) 1 = 2 . Za l = 1; 2 dobivamo
1
1 = 1, 2 = 2 itd.

De…nicija 3.2 l je prosjeµcna pogreška konaµcne simboliµcke prezentacije s ukupno


l simbola.
1
Korolar 3.2 l = 2 l;max = 2 l.

Dokaz. Uz uniformnu distribuciju svih mogućih nizova, prosjeµcna je pogreška


srednja vrijednost maksimalne pogreške iz prethodnog korolara i minimalne pogreške
0 za sluµcaj podudarnog niza.
Na ovaj smo naµcin povezali preciznost naše prezentacije sa standardnim pojmom
pogreške kvantizacije (engl. quantization error) iz digitalne obrade signala.

Korolar 3.3 Neka niz sl duljine l 2 N+ 0 predstavlja prvih l simbola putopisa S (x0 )
logistiµckog preslikavanja. Tada je toµcka x0 u pripadnom faznom prostoru I = [0; 1]
duljine 1 opisana s preciznoš́cu od "l / 2 l .

Dokaz. Iznesen je u obrazloµzenju, odnosno u konstruktivnoj inaµcici dokaza,


teorema 2.5 za primjer logistiµckog preslikavanja.
U općenitom sluµcaju, particije faznog prostora i funkcija S 1 nisu tako jedno-
stavne naravi kao za logistiµcko preslikavanje. Ipak, procjenu reda veliµcine preciznosti
simboliµckog prikaza moµzemo napraviti po uzoru na prethodni korolar. Taj će izraz
predstavljati gornju granicu operativne toµcnosti našeg modeliranja.

Propozicija 3.1 Neka niz sl duljine l 2 N+ 0 predstavlja prvih l simbola putopisa


S (x0 ) nekog iterativnog sustava na faznom prostoru I duljine I = d (I), podijelje-
nom prema particiji P (I) = f 0 ; 1 ; : : : ; a 1 g na a podskupova. Tada je toµcka
x0 u tom faznom prostoru opisana s preciznoš́cu reda veliµcine "l I a l.

Dokaz. Kao i u korolaru 3.3, slijedimo konstruktivnu inaµcicu dokaza teorema


2.5. Za odre†enje reda veliµcine preciznosti pretpostavljamo da su duljine podskupova
3. Od izmjere do modela 53

de…niranih particijom P (I) jednake. Svaki od simbola u nizu moµze poprimiti


jedno od ukupno a vrijednosti, pa suzuje podruµcje u kojem se nalazi toµcka x0 na
veliµcinu I a 1 . Prema tome, uz postojanje l simbola red veliµcine preciznosti "l
geometrijskom se progresijom spušta na I a l , što potvr†uje propoziciju.
Ovime smo pokazali da se uz mjerno kodiranje B , uvedeno u 2.3.1, uzimanjem
dovoljnog broja l slijednih simbola sj+i ; i = 1; 2; : : : ; l 1; za koje vrijedi:

sj+i = B (xj+i ) = B F i (xj ) ; (3.12)

prema teoremu 2.5 dobiva po volji toµcno pribliµzenje toµcki xj u : Ili, drugim
rijeµcima, ako primjenom iterativne funkcije F na toµcku xj dobijemo trajektoriju
xj xj+1 : : : xj+l : : : kojoj odgovara beskonaµcni vremenski niz sj sj+1 : : : sj+l 1 sj+l : : : ;
tada išµcitavanjem konaµcnog podniza sjL = sj sj+1 : : : sj+l 1 duljine l , dobivamo
informaciju o poloµzaju xj unutar intervala odre†enog s "l ' I a l .
Me†utim, ovdje valja navesti da kod numeriµcke iteracije toµcaka orbite sustava u
kaotiµcnom reµzimu, dakle onih koji imaju veliki Lyapunovljev eksponent, zbog kona-
µcne preciznosti izraµcuna dolazi do znatnih odstupanja orbite, što smo već napomenuli
u uvodu ovog odjeljka. Uz dvostruku preciznost, s oko 15 signi…kantnih dekadskih
znamenaka, to se za izrazito kaotiµcne atraktore doga†a već za l & 20 . Ukoliko toµcke
xj+1 postaju sustavno krivo izraµcunane te pri tom prelaze u drugu kodnu particiju,
tada će i simboli sj+i = B (xj+i ) biti krivi i narušivati strukturu (pod)nizova. Stoga
je duljina rijeµci D koje ćemo analizirati ograniµcena odozgo, i to vrijedi jednako i za
sustave dobivene uporabom generatora sluµcajnih brojeva (vidjeti 9.1.1 i 9.1.3).

3.4 Odabir i ugodba instrumenta


Ako se skup podjeljaka " (Dim) nekog instrumenta podudara s generirajućom par-
ticijom faznog prostora, tada po de…niciji 2.14 slijedi da se uz dovoljno dugaµcak niz
indekasa i pojedino stanje procesa moµze proizvoljno toµcno opisati. Za determini-
stiµcki proces kojem je entropija h (X) > 0, Sinai-Kolmogorovljev teorem govori
da je entropija H (p) maksimalna uz generirajuću particiju (§2.2.5). Standardni
deterministiµcki procesi po de…niciji nemaju inherentnu stohastiµcku nepredvidljivost,
pa im je entropija nula. No za nelinearne je dinamiµcke sustave u kaotiµcnom reµzimu
entropija općenito veća od nule. Iako je inherentni proces takvih sustava tako†er
deterministiµcki, za vanjskog promatraµca postoji neizvjesnosti glede razmještaja sta-
nja unutar kaotiµcnog atraktora (§1.1.1). Razlog tome izrazita je osjetljivost kaotiµcnih
54 3. Od izmjere do modela

sustava na poµcetne uvjete, a tako†er i na vrijednost parametara te na preciznost


izraµcuna. Entropija će biti veća od nula i za sluµcaj kombiniranih sustava, u kojima
deterministiµcki proces (u nekaotiµcnom ili u kaotiµcnom reµzimu) potpada pod utjecaj
nekog vanjskog izvora šuma. To je tipiµcna situacija stvarnih mjerenja [15].
Zahtjev za ostvarenjem generirajuće particije utjeµce na konstrukciju i ugodbu
instrumenta. Ako dimenzionalnost Dim njegovih eksperimentalnih proba ne odgo-
vara dimenzionalnosti problema, mjerenja će biti neadekvatna. To potvr†uje vaµznost
posjedovanja temeljnog znanja obrazloµzenog u 3.1.1. Prilikom postavljanja eksperi-
menta i mjernog instrumenta moµzemo koristiti znanje ili iskustvene µcinjenice priku-
pljene iz modeliranja drugih, sliµcnih sustava. Njih ćemo potom — koristeći naµcela
redukcije i iterativnog uga†anja — prilago†ivati novom sustavu.

3.4.1 Odre†ivanje kritiµcne toµcke i generirajuće particije


Ukoliko dinamiµcki sustav modeliramo bez ikakvih apriornih spoznaja o njemu, po-
stavlja se kljuµcno pitanje kako odrediti kritiµcnu toµcku za koju će particija njegova
faznog prostora biti generirajuća, a vremenski niz dobiven kodiranjem s obzirom
na tu toµcku sadrµzavati dostatnu i relevantnu informaciju o njemu. U tom sluµcaju
za analitiµcko nalaµzenje kritiµcne toµcke (§2.2.1, 2.2.5) valja naći alternativnu metodu,
koja će se temeljiti samo na podacima primljenim od sustava. Radi se o netrivijalnom
problemu, posebice za višedimenzionalne i kompleksne sustave.7
Po Kolmogorovljevom teoremu (§2.2.5) generirajuća je particija ona koja mak-
simizira stopu entropije kreiranog vremenskog niza. U mjerno-modelirajućem kanalu,
s povratnom vezom od modela prema instrumentu (sl. 3.1), moµzemo je pronaći ite-
rativnom ugodbom mjernog instrumenta. Za 1D sustave s dva podskupa u particiji,
0 i 1 , to se svodi na nalaµ zenje jedinstvene kritiµcne toµcke xc . Shematski je to
prikazano na slici 3.2. Diskriminacijsku kazaljku instrumenta postavljamo u toµcku
x0c unutar intervala I 0 [ 1 tako da kodiranjem toµ caka orbite s obzirom na
nju dobivamo binarni niz µcim veće (stope) entropije. Statistiµcka analiza podnizova
duljine L (L D) i izraµcun entropije mogu se obaviti i u okviru nekog znanstvenog
modela. Toµcka x0c;max , za koju primljeni vremenski niz ima maksimalnu entropiju,
predstavljat će našu procjenu kritiµcne toµcke sustava. Postupak precizira:

7
Za nalaµzenje generirajućih particija ovih sustava predlaµzu se metode teselacije faznog pro-
stora [36] te statistiµcko-relaksacijski algoritmi [8]. Njihovo se testiranje standardno provodi
na Hénonovom i Ikedinom preslikavanju. Prvo je opisano dvjema iterativnim jednadµzbama:
2
xi+1 = yi + 1 ax2i , yi+1 = bxi , a drugo kompleksnom funkcijom zi+1 = A + B zi ei(jzi j +C ) .
3. Od izmjere do modela 55

1D DINAMIČKI SUSTAV MODEL


1 ULAZ Vremenski niz s = s (xC'):
xi (xC') xC (xC') xj s = ...011010101110...
D
D
D

Analiza podnizova (model)


L sL L sL L sL
Senzor 1 0 1 1 1 1
2 01 2 11 2 10
3 011 3 110 3 101
B ( xi ) = 0 + B ( xj ) = 1 ... ... ... ... ... ...

Stopa entropije ( L >> 1 ):


xC' xC',1 xC',2 . . . xC',n
...

.726

.789

.544
MJERNI INSTRUMENT hµ ( xC' )

Ugodba:

{ xx ' ←← x ' ±x Δ’x


1 IZLAZ C C
C C

Slika 3.2: Uga†anje instrumenta na kritiµcnu toµcku xc porodice 1D dinamiµckih sustava


(algoritam 3.1). Instrument binarno kodira toµcke orbite xi , xj naspram diskriminacijske
kazaljke u toµcki x0c te odašilje vremenski niz s . Na temelju (statistiµcke) analize podni-
zova sL duljine L (L D) tvorimo model sustava te za L 1 raµcunamo stopu entropije
0
h (xc ) primljenog niza. Kazaljka je najbliµza kritiµcnoj toµcki i ostvaruje generirajuću par-
ticiju kad je stopa entropije dobivenog binarnog niza maksimalna.

Algoritam 3.1 IAS (od engl. naziva: Instrument Adjustment on a Single critical
point). Ugodba instrumenta na jednostruku kritiµcnu toµcku, za porodicu 1D dina-
miµckih sustava predstavljenu zajedniµckom iteracijskom funkcijom. Kritiµcna toµcka
xc 2 I dijeli fazni prostor I na disjunktne podskupove 0 i 1 (def. 2.3).

0. Nalaµzenje sustava s entropijom h > 0 . Odabrati neki poµcetni kontrolni


parametar r (ili skup kontrolnih parametara) porodice dinamiµckih sustava.
Postaviti diskriminacijsku kazaljku instrumenta u neki poµcetni poloµzaj x0c ,
npr. u sredinu intervala I , te tako de…nirati poµcetnu particiju faznog prostora.
Za navedeni sustav odrediti stopu entropije h vremenskog niza dobivenog
kodiranjem s obzirom na odabranu diskriminacijsku toµcku x0c (pobliµze opisano
u koraku 1). Ukoliko je h > 0 prijeći na sljedeći korak. Ako nije, proći
kroz interval I uzimajući za x0c bliske susjedne vrijednosti uz rezoluciju x >
0. Ako se za neki x0c dobije particija koja daje h > 0, prijeći na sljedeći
korak. Ako se takva ne nalazi niti uz smanjeni x, odbrati drugi sustav, s
drugim kontrolnim parametrom ri , te se vratiti na poµcetak ovog postupka.
56 3. Od izmjere do modela

Ako ni za koji kontrolni parametar ne dobivamo entropiju veću od nule, ovim


se algoritmom ne moµze naći kritiµcna toµcka porodice dinamiµckih sustava. Kraj.
1. Nalaµzenje kritiµcne toµcke xc za sustav s entropijom h > 0 . Za su-
stav zadan iteracijskom funkcijom svoje porodice i kontrolnim parametrom
r postaviti diskriminacijsku kazaljku mjernog instrumenta na poµcetnu x0c po
nekom kriteriju (npr. na sredinu intervala faznog prostora). To je poµcetna pro-
cjena kritiµcne toµcke xc sustava. Binarno kodirati toµcke orbite prema particiji
s obzirom na x0c i kreirati vremenski niz s . U njemu statistiµcki proanalizi-
rati podnizove sL duljine L, L = 1; 2; 3; : : : ; D , te izraµcunati stopu entropije
h = h (x0c ) s pomoću formula (C.16a, b). Alternativno, izraµcunati stope en-
tropije preko prikladnog modela sustava (npr. -stroja). Pri tom je za toµcan
izraµcun stope entropije nuµzno uzimati dovoljno dugaµcke podnizove, L 1.
Pomicanjem kazaljke instrumenta za najmanji inkrement x postaviti novu
diskriminacijsku toµcku x0c x0c x i za nju odrediti novu stopu entro-
pije. Ponavljanjem tog postupka odrediti toµcku x0c;max maksimuma entropije.
Budući da se podintervali 0 i 1 ne moraju nadovezivati, provjeriti pojavljuje
li se u okolini maksimuma “plato”.8 Tada za x0c;max odabrati njegovo središte.
Po potrebi i provjere radi, proći kroz cijeli interval I faznog prostora i
ustanoviti dobiva li se za prethodno odre†eni x0c;max jedini maksimum stope
entropije. Ako to nije tako, ostale maksimume usporediti s x0c;max i raz-
motriti mogući uzrok (eksperimentalne) greške. Povećati duljinu L i preciznost
izraµcuna stope entropije, odnosno smanjiti rezoluciju x te ponoviti prethodni
i ovaj korak.
2. Ponoviti algoritam za druge izbore parametra r za koje je h > 0 . Statistiµcki
usporediti dobivene x0c;max i njihove toµcnosti x te odabrati konaµcnu procjenu
kritiµcne toµcke xc sustava. Kraj algoritma.

IAS algoritam dozvoljava ugodbu instrumenta na temelju iskljuµcivo primljenog


vremenskog niza, no uz relativno veliku cijenu. Za svaku diskriminacijsku toµcku
x0c potrebno je izraµcunati stope entropije na temelju statistike podnizova duljine
L 1 . Izborom potpuno kaotiµcnog sustava, u kojem su toµcke orbite podjednako
raspodijeljene duµz podintervala 0 i 1 , postupak se moµze bitno pojednostaviti.
8
Funkcija (stope) entropije dviju varijabli, H (p0 ; p1 ) = H (p0 ; 1 p0 ) , kakvu imamo u ovom
sluµcaju, strogo je konveksna (prema gore, [49]), a isto vrijedi i za proizvoljan broj varijabli. No, za
stopu entropije kao funkciju diskriminacijske toµcke x0c to ne vrijedi kad je udaljenost desne granice
od 0 i lijeve granice od 1 veća od nule. Tada funkcija h = h (x0c ) = h ( 0 ; 1 ) nije strogo
konveksna, pa zato oko maksimuma ima horizontalan plato.
3. Od izmjere do modela 57

Takvoj raspodjeli toµcaka pripisujemo uniformnu (konstantnu) funkciju gustoće vje-


rojatnosti (engl. probability density function). Za nju binarni niz postiµze maksimalnu
stopu entropije od 1 bit kad je diskriminacijska toµcka na sredini intervala kojim je
predstavljen njihov fazni prostor. Primjeri su za to logistiµcko preslikavanje uz kon-
trolni parametar r = 4 i kvadratna porodica funkcija s parametrom c = 2 , što je
opisano particijama u izrazima (2.14, 2.16). U vremenskom nizu ovakvih sustava svi
podnizovi iste duljine imaju jednaku vjerojatnost pojavljivanja. Nalaµzenje kritiµcne
toµcke u ovom sluµcaju poopćujemo i formaliziramo u sljedećem algoritmu.
Algoritam 3.2 IAS-C (od engl. naziva: Instrument Adjustment on a Single critical
point, specialized for fully Chaotic systems). Ugodba instrumenta na jednostruku
kritiµcnu toµcku, specijaliziran za potpuno kaotiµcan 1D dinamiµcki sustav, s uniformnom
gusto´com vjerojatnosti. Ostalo kao u algoritmu 3.1.
0. Unutar porodice dinamiµckih sustava pronaći kontrolni parametar (ili skup kon-
trolnih parametara) ru za koji se dobiva kvazistohastiµcan sustav µcija je funkcija
gustoće vjerojatnosti toµcaka orbite (pribliµzno): (i) uniformna duµz cijelog inter-
vala I faznog prostora, u (x) = 1= (j 0 j + j 1 j); (ii) uniformna po dijelovima,
9
u;0 (x) = 1= (2 j 0 j), u;1 (x) = 1= (2 j 1 j); gdje je j i j duljina podintervala

i , i = 0; 1 . Za oba su sluµ caja vjerojatnosti p0 i p1 nalaµzenja toµcke u 0 ,


odnosno u 1 , (pribliµzno) jednake: p0 = p1 = 1=2 . Netrivijalan zadatak
nalaµzenja ovakvog sustava unutar zadane porodice moµze se obaviti pregledom
orbitnog dijagrama iteracijske funkcije. Ako je takav sustav na†en, prijeći na
sljedeći korak. Inaµce kraj (tj. primijeniti IAS algoritam).
1. Za sluµcaj (i) diskriminacijsku toµcku x0c postaviti na sredinu intervala I, a u
sluµcaju (ii) na kraj podintervala 0 , odnosno na granicu izme†u podintervala
0 i 1 . Kraj algoritma.

Dakle, IAS-C algoritam bitno pojednostavljuje nalaµzenje kritiµcne toµcke u odnosu


na općeniti IAS algoritam, ali uz potrebu poznavanja distribucije toµcaka orbite u
faznom prostoru. Prema tome je za njega osim vremenskog niza nuµzno poznavanje i
“šireg konteksta”. No i cjelokupna postava mjerno-modelirajućeg kanala — a pose-
bice mjernog instrumenta i njegove funkcije kodiranja — jednako zahtijeva pozna-
vanje odgovarajućeg šireg konteksta. To smo već obrazloµzili u 3.1.1.
Korektnost IAS algoritma preliminarno je provjerena na logistiµckom preslikava-
nju uz pomoć našeg programa DSA — općenita inaµcica na sustavu s Misiurewiczevim
9
Usporediti s razmatranjem linearno pristrane distribucije u 8.2.2, 8.2.3 i primjerom u H.2.3.
58 3. Od izmjere do modela

parametrom rM 3:927 737, a IAS-C inaµcica u sustavu na vrhuncu kaosa, s r = 4


(vidjeti pogl. 9). Detalje ove provjere te razmatranje algoritma za višestruke kritiµcne
toµcke ostavljamo za zasebno izlaganje.
Prethodni algoritmi potvr†uju ideje iznijete u pododjeljku 3.1.1. Dobar je in-
strument onaj koji omogućuje prijam podataka dostatnih za poµcetak modeliranja te
za iterativno uga†anje instrumenta kojim se particija faznog prostora treba uµciniti
generirajućom. Rezultat će biti maksimizacija koliµcine relevantne informacije koju
modelar prima od instrumenta. U suprotnom, mjerenja iz neadekvatnog ili neu-
go†enog instrumenta dat će nekorektan model.

3.5 Modeliranje iz vremenskog niza


U prethodnim smo odjeljcima razmotrili mjerno-modelirajući kanala te opisali iz-
mjeru promatranog dinamiµckog sustava s pomoću prikladno ugo†enog mjernog in-
strumenta. Kljuµcan korak našeg modeliranja bit će da se iz niza simbola primljenih
od mjernog instrumenta izgradi µcim vjerniji model sustava. Taj postupak nazivamo
modeliranje iz vremenskog niza (engl. modeling from a time series).

De…nicija 3.3 Modeliranje iz vremenskog niza jest nalaµzenje modela dinamiµckog


sustava jedino iz primljenog vremenskog niza. Vremenski niz rezultat je izmjere
stanja sustava s pomo´cu odre†enog mjernog instrumenta.

Nakon što je mjerni instrument postavljen i ugo†en, u samom µcinu modeliranja


koristit ćemo se jedino primljenim nizom simbola.
Pošto smo opisali mjerno-modelirajući kanal i de…nirali zadatak modeliranja iz
vremenskog niza, red je da odaberemo raµcunarski model kojim ćemo to ostvariti. To
je predmet sljedećeg poglavlja.
Poglavlje 4

Izbor raµcunarskog modela

U ovom poglavlju razmotrit ćemo prikladnost nekoliko raznorodnih raµcunarskih mo-


dela za modeliranje dinamiµckih sustava iz vremenskog niza. Najprije ćemo svakog od
njih ukratko opisati te potom navesti njegovu najµcešću primjenu. Posebice ćemo se
osvrnuti na skrivene Markovljeve modele — srodnike stohastiµckih nedeterministiµckih
automata kojima ćemo se baviti u narednim poglavljima. Na koncu ćemo opravdati
izbor teorije -strojeva kao najbolje metodologije za postavljenu zadaću.

4.1 Umjetne neuronske mreµze


Umjetne neuronske mreµze ili kraće neuronske mreµze (ANN, NN, od engl. Arti…-
cial Neural Networks) vrlo su uspješan matematiµcki model koji se koristi u širokom
podruµcju primjene, od nalaµzenja (aproksimativnih) funkcija, regresijske analize, …l-
triranja podataka, do numeriµcke kontrole i prepoznavanja uzoraka [55]. Za nas je
interesantna primjena neuronskih mreµza u prepoznavanju i klasi…kaciji te njihova
sposobnost adaptacije, odnosno uµcenja na temelju primljenih podataka. Standardni
algoritam kojim se to ostvaruje jest unatraški algoritam (engl backpropagation algo-
rithm) koji modi…cira parametre modela (teµzinske indekse neurona) tako da mini-
mizira odstupanje dobivenog izlaza modela od µzeljenog izlaza. To se moµze interpre-
tirati i kao zahtjev za minimizacijom funkcije koštanja (engl. cost function).
Bez ulaµzenja u detalje izvedbe, navest ćemo osnovne probleme koji se javljaju u
primjeni neuronskih mreµza za modeliranje iz vremenskog niza prema našoj progra-
matskoj de…niciji 3.3. Budući da je tu potrebno analizirati binarne podnizove (rijeµci)
duljine D , neuronska bi mreµza trebala imati D ulaza koji bi s teµzinskim indeksima
1 vodili na sloj od D ulaznih neurona.

59
60 4. Izbor raµcunarskog modela

Odavde zakljuµcujemo:
Uz jednostavnu organizaciju neuronske mreµze kao binarnog dekodera nailazi-
mo na standardan problem broja izlaza dekodera, koji raste eksponencijalno s
brojem D njegovih ulaza. Ostaje pitanje kako bi izbor drugaµcije sheme, odno-
sno povećanje broja me†uslojeva mreµze, utjecali na transparentnost modela i
mogućnost zakljuµcivanja o strukturi i broju rijeµci uµcitanih iz vremenskog niza,
odnosno na nalaµzenje stanja sustava i njihovih me†uodnosa.
U sluµcaju modeliranja u kojem nemamo prede…nirani izlaz, ne moµzemo rabiti
standardne modele i algoritme neuronskih mreµza, kao što su modeli temeljeni
na uµcenju s nadzorom uz korištenje spomenutog unatraškog algoritma.
Postavlja se pitanje kako za neki prepoznati niz ustanoviti njegovu relaciju
naspram drugih nizova, odnosno bi li se to moglo ostvariti išµcitavanjem vrijed-
nosti teµzinskih indekasa modela.
Pri korištenju uµcenja bez nadzora, postoji problem de…niranja “mjere kvalitete
znanja” na kojem se ono zasniva. Ta bi mjera mogla biti povezana s mini-
mizacijom broja na†enih stanja, no implementacija mjere i algoritma uµcenja
ostaje upitna.
µ
Zelimo li ne samo raspoznati pripadnost uzorka nekom (dinamiµckom) sustavu,
već iz modeliranja zakljuµciti i na njegovu strukturu te pronaći stanja i ustroj
sustava, nije jasno kako to ostvariti, µcak i uz uporabu redundantne neuronske
mreµze. Takva mreµza već i samom svojom topologijom predeterminira neke
elemente modela (npr. broj stanja) te moµzebitno jednostavne sustave prikazuje
nepotrebno sloµzenima.

Već je iz ove kratke analize svojstava neuronskih mreµza jasno da one nisu pogodne
za modeliranje iz vremenskog niza.

4.2 Staniµcni automati


Staniµcni automati (engl. cellular automata, CA) predstavljaju danas dobro poznati i
vrlo popularan diskretan model za opis dinamiµckih sustava. Staniµcni automat sastoji
se od ćelija koje evoluiraju u diskretnim vremenskim koracima. Stanje promatrane
ćelije u sljedećem diskretnom trenutku odre†uje se na temelju pravila ili funkcija u
kojima se kao ulazni parametri ili varijable pojavljuju stanja ćelija u njezinu susjed-
stvu (engl. neighborhood). Od poµcetka izuµcavanja staniµcnih automata — sredinom
4. Izbor raµcunarskog modela 61

prošlog stoljeća — pa do danas, za staniµcne su automate uvo†ena proširenja poµce-


tnih de…nicija i nalaµzene nove organizacije domene ćelija (tzv. staniµcni univerzumi,
engl. the CA universe), novi naµcini zadavanje pravila i funkcija te nove primjene u
najrazliµcitijim podruµcjima [83, 82, 68].
Najjednostavniji su jednodimenzionalni staniµcni automati. Njihove su ćelije ras-
pore†ene u liniju, a vremenski im se razvoj prikazuje duµz osi okomite na tu liniju.
Takvi su i elementarni staniµcni automati (engl. elementary cellular automata, ECA),
µcija ćemo svojstva ukratko razmotriti.
Razvoj elementarnog staniµcnog automata de…niran je susjedstvom, koje se sastoji
od ćelije same i dvije susjedne ćelije. Susjedstvo i-te ćelije ci de…nirano je s tri
binarne ćelije bi;3 = ci+1 ci ci 1 (lijeva, promatrana, desna), ci 2 f0; 1g, i = 0; 1;
: : : ; n 1, gdje je n broj promatranih ćelija. Indeksi ćelija rastu zdesna ulijevo, je-
dnako kao i teµzinski indeksi znamenaka u pozicionom brojevnom sustavu. Na gra…-
konima se uobiµcajeno vrijednost 0 oznaµcava bijelom, a 1 crnom bojom. Za indekse se
standardno pretpostavlja svojstvo obmotavanja (engl. wraparound) nepredznaµcene
cjelobrojne aritmetike modulo n, pa će desna ćelija od c0 biti cn 1 , a lijeva će ćelija
od cn 1 biti c0 . Time se de…nira topologija analogna torusu. Za ovako de…nirano
susjedstvo postoji 23 = 8 razliµcitih ure†enih nizova bitova. Oni se nazivaju uzorci
susjedstva (engl. neighborhood pattern), a moµzemo ih zvati i vektorima.
Pravilo broj m za elementarni CA funkcijski de…nira binarno stanje ćelije ci u
(k + 1)-vom koraku iteracije, na osnovi uzorka susjedstva u prethodnom koraku:

fm (ci ; k + 1) = fm ( bi;3 ; k) 2 f0; 1g ; 8 k = 0; 1; 2; : : : : (4.1)

Dakle, za svaki od osam vektora susjedstva — u sklopu kojeg je de…nirano i


sadašnje stanje promatrane ćelije — pravilo fm de…nira jedno od dva mogućih stanja
te ćelije u sljedećem koraku. Otuda proizlazi da postoji ukupno 256 razliµcitih pravi-
la. Odnosno, Wolframova metodologija kodiranja pravila slijedi raµcunarski pristup
[83], po kojem se gornja formalizacija reinterpretira na sljedeći naµcin: vektori su-
sjedstva predstavljaju binarne teµzinske indekse 8-bitnog registra, u kojem pojedini
bitovi oznaµcavaju vrijednost sljedećeg stanja promatrane ćelije. Jedno od stanja
registra predstavlja jedno pravilo, pa stoga postoji 28 razliµcitih ECA.
U tablici 4.1 izdvojeno je pet automata s eksplikacijom njihovih pravila. Prvo
pravilo m = 0 daje potpuno bijelu, a zadnje pravilo m = 255 potpuno crnu sliku, bez
obzira na poµcetno stanje. ECA-4 opisan je jednostavnim pravilom koje kaµze da će
crni trag nastaviti ćelija koja je i ranije bila crna, pod uvjetom da joj niti lijeva niti
desna susjedna ćelija nisu crne. Uz poµcetni uvjet zadan jedinstvenom, središnjom
62 4. Izbor raµcunarskog modela

bi;3 111 110 101 100 011 010 001 000


ECA-0 0 0 0 0 0 0 0 0
::: ::: ::: ::: ::: ::: ::: ::: :::
ECA-4 0 0 0 0 0 1 0 0
::: ::: ::: ::: ::: ::: ::: ::: :::
ECA-30 0 0 0 1 1 1 1 0
::: ::: ::: ::: ::: ::: ::: ::: :::
ECA-110 0 1 1 0 1 1 1 0
::: ::: ::: ::: ::: ::: ::: ::: :::
ECA-255 1 1 1 1 1 1 1 1

Tablica 4.1: Kodiranje brojeva i pravila elementarnih staniµcnih automata po Wolframu.


Svaki CA de…niran je pravilom µciji je broj stanje 8-bitnog registra, oznaµcenog teµzinskim
indeksima jednakim binarnoj vrijednosti vektora susjedstva bi;3 . bi;3 odre†en je stanjem
lijeve, promatrane i desne ćelije. Ako je npr. promatrana ćelija 0, a njezina lijeva (desna)
susjeda 0 (1), dobiva se bi;3 = 001. On de…nira teµzinski indeks 001b , druge kolone
zdesna. Npr., za ECA-30 (30d = 0001 1110b ) u toj je koloni 1, pa njegova ćelija s takvim
susjedstvom u sljedećoj iteraciji postaje 1. Ako je ćelija 1 a obje su joj susjede 0, tada je
bi;3 = 010, pa ona u sljedećem koraku poprima (odnosno zadrµzava) vrijednost 1. Itd.

crnom toµckom (kao što je to i na slikama 4.1, 4.2), taj automat kreira središnju,
okomitu, crnu crtu. Ako postoji više takvih samostalnih toµcaka, bez susjeda, iz
svake će biti generirana takva crta. Sve crne toµcke koje imaju barem jednog susjeda
nestaju već u sljedećem koraku, jer vrijednosti ćelija postaju 0.
Vraćamo se na pobliµzi opis preostala dva elementarna staniµcna automata iz tab-
lice 4.1. Za ECA-30 prema Wolframovom je kodiranju 30d = 1Eh = 00011110b , pa
iz tablice išµcitavamo sljedeće pravilnosti u ponašanju ovog automata:

Ćelija se ne mijenja ako je razliµcita od obje susjede (bi;3 = 010; 101), ili ako
je jednaka desnoj susjedi pod uvjetom da je lijeva nula (bi;3 = 000; 011);
Ćelija se mijenja ako je jednaka lijevoj i ako je razliµcita od desne susjede
(bi;3 = 001; 110), ili ako je jednaka desnoj i ako je lijeva susjeda jednaka jedan
(bi;3 = 100; 111);
Ćelija će biti 0 ako je razliµcita od desne susjede i ako bi;3 ima više jedinica od
nula (bi;3 = 110; 101), ili ako su sve ćelije jednake (bi;3 = 000; 111);
Ćelija će biti 1 ako je jednaka desnoj i ako je razliµcita od lijeve susjede (bi;3 =
011; 100), ili ako je razliµcita od svoje desne susjede, uz uvjet da vektor susjed-
stva ima više nula od jedinica (bi;3 = 001; 010);
Itd.
4. Izbor raµcunarskog modela 63

Slika 4.1: Elementarni staniµcni automat ECA 30 (pravilo 30d = 00011110b ). Za 250 ćelija
prikazan je vremenski razvoj u 250 uzastopnih koraka, prema dnu slike. U poµcetnom
stanju sve su ćelije na 0 (bijele) osim središnje, koja je na 1 (crna). Tijekom vremena
sustav prelazi u nepravilno, kaotiµcno stanje (na dnu dijagrama). Preuzeto sa [81].

Slika 4.2: Staniµcni automat ECA-110 (6Eh = 01101110b ). Za razliku od kaotiµcnog ECA-
30, koji daje nasumiµcan uzorak, ECA-110 gradi uzorke sloµzene unutarnje strukture. To je
odraz njegove ultimativne raµcunarske moći, ekvivalentne univerzalnom Turingovom stroju.
Poµcetni uvjet te broj ćelija i koraka isti su kao i na prethodnoj slici. Preuzeto sa [81].
64 4. Izbor raµcunarskog modela

Razvoj ECA-30 sastavljenog od n = 250 ćelija, za 250 vremenskih koraka, odno-


sno 249 iteracija, prikazan je na slici 4.1. U poµcetku (najgornja linija), samo je
jedna ćelija crne boje, odnosno u stanju 1 (od sredine prva lijevo). Iako zasnovan na
jednostavnim pravilima, sustav s vremenom prelazi u nepravilno i kaotiµcno stanje,
naµcelno nepredvidive forme (vidjeti opis Wolframove klase III, niµze).
Drugi je primjer proslavljeni automat ECA-110. Sliµcno kao i za prethodni staniµcni
automat, za njega išµcitavamo nekoliko lako uoµcljivih pravilnosti:

Ćelija se ne mijenja za bi;3 = 000; 010; 011; 100, 110 , tj. kad je desna susjeda
0 ili kad je bi;3 = 011b = 3d (bi;3 je paran broj ili 3);
Ćelija se mijenja za bi;3 = 001; 101; 111 , tj. kad je desna ćelija 1 i kad je
bi;3 6= 011b = 3d (bi;3 je neparan broj razliµcit od 3);
Ćelija će biti 0 ako je jednaka svojoj desnoj susjedi i ako bi;3 ima više nula od
jedinica (bi;3 = 000; 100), ili ako su sve ćelije 1 (bi;3 = 111);
Ćelija će biti 1 kad je jednaka lijevoj i razliµcita je od desne susjede (bi;3 =
001; 110), ili kad je razliµcita od obje susjede (bi;3 = 010; 101), ili kad je jednaka
desnoj susjedi koja je 1 a razliµcita je od lijeve, tj. kad je bi;3 = 011b = 3d ;
Itd.

Iako su razlike u odnosu na pravilo 30 naizgled nevelike, automat ECA-110


posebne je naravi. Na slici 4.2 prikazan je razvoj ovog staniµcnog automata za isti
broj ćelija i za isti broj iteracija kao i u prethodnom primjeru. Sustav pokazuje bo-
gatu i kompleksnu strukturu, razliµcitu u odnosu na puku kvazistohastiµcnosti ECA-30
(pa se svrstava u Wolframov razred IV, obrazloµzen niµze). Dodatno, za njega je M.
Cook dokazao Wolframovu pretpostavku da se radi o sustavu koji je Turing-potpun
(engl. Turing-complete). Konkretno, dokazano je da su izranjajući objekti koji se
pojavljuju u uzorku ECA-110 ekvivalentni sustavu cikliµcke-znaµcke (engl. cyclic-tag
system), koji je raµcunarski univerzalan [11]. Stoga i EC-110 ima univerzalnu raµcu-
narsku moć i moµze izvršiti proizvoljan algoritam.
Prethodno navedeni primjeri i svi ostali ECA (njih ukupno 256), uobiµcajeno se
svrstavaju u µcetiri razreda: [83]:
I. Elementarni staniµcni automati µciji razvoj brzo konvergira u jednoliko stanje
(primjeri: ECA-0, 32, 160, 250, 255);
II. Automati koji brzo konvergiraju u ponavljajuće (periodiµcno) ili stabilno stanje,
te tvore speci…µcne uzorke (primjeri: ECA-4, 108, 218, 232);
4. Izbor raµcunarskog modela 65

III. Automati koji prelaze u stanje koje moµzemo opisati kao puko sluµcajno ili
kaotiµcno, bez bogate strukture (primjeri: ECA-22, 30, 126, 150, 182, . . . );

IV. Automati koji u svojim uzorcima pokazuju ponavljajuća ili stabilna stanja,
ali tvore i bogate strukture koje me†usobno djeluju na kompleksan i općenito
nepredvidljiv naµcin (primjer: ECA-110).

Dakle, usprkos svojoj izuzetnoj jednostavnosti, već i elementarni staniµcni au-


tomati pokazuju paletu vrlo razliµcitih ponašanja i s time povezan veliki raspon raµcun-
skih mogućnosti. Wolframovo naµcelo raµcunske ekvivalencije, spomenuto u uvodnom
poglavlju, uvelike je bilo motivirano upravo ovim — po izvedbi jednostavnim, a po
mogućnostima fascinantnim — raµcunskim modelima.
Me†utim, “programiranje” staniµcnih automata u inµzenjerskom je smislu vrlo
komplicirano. To potvr†uje i izuzetna sloµzenost ranije spomenutog dokaza o Turing-
potpunosti ECA-110. Isto vrijedi i za ostale, manje sloµzene i raµcunarski manje moćne
elementarne staniµcne automate. Stoga, iako su oni prikladni za usporedbu, opis i
simulaciju nekih kompleksnih pojava u prirodi, u literaturi ne nalazimo na njihovu
uporabu za modeliranje na temelju podataka primljenih izvana.

4.3 Skriveni Markovljevi modeli


Skriveni Markovljevi modeli (engl. Hidden Markov Models, HMM) predstavljaju sto-
hastiµcki (vjerojatnosni) raµcunski model kod kojeg se razvoj temelji na Markovljevom
lancu s memorijom prvog reda, kojem stanja sustava ostaju skrivena. Skrivenost sta-
nja proizlazi iz µcinjenice da jedino što promatraµc prima jesu od sustava emitirani
simboli te da u općenitom sluµcaju ne postoji deterministiµcka veza izme†u odaslanog
simbola i prijelaza izme†u stanja u kojem se sustav nalazi. Umjesto deterministiµcke
veze postoji stohastiµcka, tj. uz emitirani simbol veµzemo uvjetnu distribuciju vjero-
jatnosti za moguće prijelaze, uvjetovanu samo stanjem iz kojeg se prijelaz doga†a.
Ukratko, stanja se mijenjaju kao Markovljev lanac, ali su za promatraµca skrivena.
Na temelju primljenih simbola moµzemo dobiti tek vjerojatnosnu prosudbu o kojem
se stanju sustava radi.
Skriveni Markovljevi modeli mogu se de…nirati na više naµcina. Najpoznatiji
su kao funkcije Markovljevih lanaca (engl. Functions of Markov Chains, FMC)
te u formi HMM-a s izlazom temeljenim na stanjima (engl. State-Output HMM,
SOHMM), koji je i najµcešći u današnjoj primjeni raspoznavanja uzoraka [54, 62].
66 4. Izbor raµcunarskog modela

Njihov treći oblik predstavljaju Markovljevi modeli s izlazom temeljenim na granama


grafa (engl. Edge-Output HMM, EOHMM ).1 Proces prikazan HMM-om u nekoj od
nabrojanih formi, moµze se prevesti u HMM druge forme. U ovom ćemo se poglavlju
osvrnuti na SOHMM i EOHMM forme i njihovu me†usobnu vezu. Od njih nam
je posebice vaµzna ova potonja, jer je ona izravno povezana s nedeterministiµckom
verzijom konaµcnih stohastiµckih automata (SNFA) [23, 26]. Njihova deterministiµcka
verzija — konaµcni stohastiµcki automati (SDFA) — pak su osnovni raµcunski model
teorije -strojeva. S njima, kao i s vezom SNFA i EOHMM-a, pozabavit ćemo se u
sljedećem poglavlju.

4.3.1 HMM s izlazom temeljenim na stanjima (SOHMM)


Ovu standardnu formu skrivenih Markovljevih modela predstavljamo s ponešto iz-
mijenjenim oznakama, prilago†enim formalizmu ovog rada.

De…nicija 4.1 Skriveni Markovljev model s izlazom temeljenim na stanjima


(SOHMM) jest ure†ena petorka SO = (Q; A; T; S; p0 ), gdje je Q = fq0 ; q1 ; : : :
: : : ; qn 1 g ili kratko Q = f0; 1; : : : ; n 1g skup stanja, A = f0; 1; : : : : : : ; a 1g
jest abeceda (skup simbola), T je matrica prijelaznih vjerojatnosti izme†u stanja,
T = [Tij ]n n = [Pr (qj jqi )]n n , i; j = 0; 1; : : : ; n 1 , S je matrica uvjetnih
vjerojatnosti za pojavu signala sk iz stanja qi : S = [Sik ]n a = [Pr (sk jqi )]n a ,
i = 0; 1; : : : ; n 1 , k = 0; 1; : : : ; a 1 , a p0 je poµcetna distribucija vjerojatnosti
stanja.
Napomena 1. U literaturi je uobiµcajeno da se indeksacija stanja i simbola prilagodi
raµcunarskim potrebama te da poµcinje od 0, jednako kao i da se stanja i simboli
poistovjećuju sa svojim indeksima. U tom se smislu gornja de…nicija moµze reducirati
na sljedeći naµcin:

De…nicija 4.2 SOHMM jest ure†ena trojka SO = (T; S; p0 ), gdje je broj stanja
implicitno odre†en dimenzijom kvadratne T matrice, T = [Tij ]n n , a broj simbola
brojem kolona matrice S = [Sik ]n a .

U literaturi se matrica T uobiµcajeno naziva matrica prijelaza stanja (engl. state


transition matrix ) i oznaµcava s A. Matrica S naziva se matrica promatranja (engl.
observation matrix ) i najµcešće je oznaµcena slovom B.
1
Za engleski pojam graph edge, koji oznaµcava par µcvorova, ovdje koristimo hrvatski naziv grana
grafa. Taj se naziv udomaćio u našoj raµcunarskoj literaturi (npr. [61]). Za detaljnije obrazloµzenje
vidjeti § A.1.1 u prilogu A, na priloµzenom kompaktnom disku.
4. Izbor raµcunarskog modela 67

4.3.2 Prikladnost SOHMM-a


Skriveni Markovljevi modeli prikazani u standardnoj, SOHMM formi prema de…ni-
ciji 4.2, korištenjem uµcinkovitih algoritama uspješno rješavaju sljedeća tri funda-
mentalna problema:
1. Uz zadani model SO = (T; S; p0 ) i za opaµzeni niz simbola s = s0 s1 : : : sD 1 ,
s D znakova, potrebno je odrediti vjerojatnost Pr (s j SO ) da se taj niz dogodi
za pretpostavljeni model SO .
2. Uz zadani model SO = (T; S; p0 ) i uz opaµzeni niz simbola s = s0 s1 : : : sD 1 ,
s D znakova, potrebno je naći optimalan slijed stanja temeljnog Markovljevog
lanca modela (def. 4.3, niµze), tj. razotkriti skriveni dio modela.
3. Za opaµzeni niz simbola s = s0 s1 : : : sD 1 s D znakova i zadane dimenzije
modela n; a (gdje se broj a razliµcitih simbola moµze dokuµciti iz analize pri-
mljenog niza), potrebno je pronaći model SO = (T; S; p0 ) koji maksimizira
vjerojatnost Pr (s j SO ).

Prva dva problema tipiµcna su za uporabu HMM-a u prepoznavanju uzoraka, dok


nama zanimljivo modeliranje iz vremenskog niza odgovara problemu 3. U njemu
postoji problem apriornog odre†ivanja broja stanja, no on se moµze riješiti iterativnim
postupkom. Kreće se od manjeg broja stanja za koji se provjerava uspješnost modela
izraµcunom vjerojatnosti Pr (s j SO ). Ukoliko je ta vjerojatnost premala, potrebno je
poboljšati toµcnost opisa sustava povećanjem broja stanja (povećavanjem dimenzija
matrica T i S).
Oµcito je da HMM-i predstavljaju vrlo općeniti stohastiµcki model, pa će biti gotovo
univerzalni u analizi i modeliranju na temelju primljenih uzoraka. U nastavku ćemo
promotriti drugi naµcin njihova prikazivanja, koji će omogućiti eksplikaciju njihove
veze s nedeterministiµckim stohastiµckim konaµcnim automatima.

4.3.3 HMM s izlazom temeljenim na granama grafa


(EOHMM)
Kao ilustraciju ove forme promotrimo elementarni EOHMM na slici 4.3. Proces ima
dva stanja A i B predstavljena µcvorovima grafa. Usmjerene grane grafa prikazuju
prijelaze izme†u stanja. Na svakoj je grani oznaµcen simbol koji se emitira pri pro-
mjeni stanja i vjerojatnost prijelaza. Tako se pri prijelazu iz stanja A u B emitira
simbol 1 uz vjerojatnost od 1=2. Vjerojatnost prijelaza u novo stanje ovisi iskljuµcivo
68 4. Izbor raµcunarskog modela

1| 1
2

1| 1 A B
2

0|1

Slika 4.3: Prikaz jednostavnog skrivenog Markovljevog modela s izlazima temeljenim na


granama grafa (EOHMM). Model ima stanja A i B, oznaµcena kruµzićima, koja su proma-
traµcu nepoznata (skrivena). Stanja modela mijenjaju se u skladu s Markovljevim pro-
cesom. Prijelaz izme†u stanja jest grana grafa, na kojoj sk j pvi !vj oznaµcava simbol sk
koji se emitira po prijelazu i vjerojatnost pvi !vj prijelaza iz stanja vi u vj . Po emitiranju
simbola 0 sustav s vjerojatnošću 1 prelazi u stanje A. Po emitiranju simbola 1 s jedna-
kom se vjerojatnošću od 1=2 prelazi u stanje B ili natrag u stanje A. Stoga emitiranje
simbola 0 moµzemo izravno povezati sa stanjem A, dok emitiranje simbola 1 povezujemo
s mješovitim, stohastiµcki opisanim stanjem (P A = 1=2; P B = 1=2) .

o sadašnjem stanju, a ne i onim prethodnima. Stoga je to Markovljev lanac s memo-


rijom prvog reda (engl. Markov chain with the …rst order memory), koji se uobiµcajeno
kratko naziva Markovljev lanac.
Prijelaze po emitiranju a simbola opisuje a sastavnih matrica prijelaza (engl.
component transition matrices, vidjeti def. 4.3). One u svakom retku imaju uvjetnu
distribuciju za prijelaz iz poµcetnog stanja (oznaµcenog indeksom retka), u ure†eni par
sastavljen od novog stanja (odre†enog indeksom stupca) i emitiranim znakom.
Za primjer sa slike 4.3 te su matrice:
! !
1 1
0 0
T s=0 = ; T s=1 = 2 2
: (4.2)
1 0 0 0

Emitiranje znaka 0 povezano je sa sigurnim prijelazom iz stanja B u stanje A, pa


je zato u drugom retku prve matrice uvjetna distribucija degenerirana. Emitiranje
znaka 1 pak moµze znaµciti prijelaze A ! A i A ! B, koji se oba doga†aju s jednakom
vjerojatnošću od 1=2. Dakle, spomenute uvjetne distribucije opisane su retkom Tjsi ,
j = A, B , u matrici T si , uz uvjet da je on nenulredak. Nulredak indeksa j u matrici
T si oznaµcava da se po prijelazu iz stanja j 2 fA; Bg u bilo koje drugo stanje simbol
si ne emitira, tj. da s tim stanjem nije ni u kakvoj stohastiµckoj svezi.
Na poµcetku razmatranja, pogledajmo moµzemo li uz poznate sastavne matrice
prijelaza, odnosno uz poznati graf sa slike 4.3, u potpunosti de…nirati sustav ako
primimo neki niz simbola, odnosno ovdje — zbog jednostavnosti modela koji ima
4. Izbor raµcunarskog modela 69

samo dva stanja — jedan simbol. Ako se emitira 0, time je jedinstveno odre†en
prijelaz B ! A, pa se sustav mora nalaziti u stanju A . To je opisano degeneriranom
distribucijom u drugom retku prve sastavne matrice. Me†utim, ako se emitira signal
1, jedino što moµzemo odrediti jest da se sustav s podjednakom vjerojatnošću nalazi
ili u stanju A ili u stanju B. Umjesto toµcnog odre†enja konaµcnog stanja, nedetermi-
nistiµcnost sustava nam sugerira da takvo stanje opišemo distribucijom vjerojatnosti
p2 = (pA = 1=2; pB = 1=2), tj. da prije†emo iz deterministiµckog u nedeterministiµcki
opis stanja sustava (usporediti s 5.2.1 i 5.2.2), koji nadopunjujemo i stohastikom
prijelaza. To smo formalno mogli napraviti i u sluµcaju emitiranja znaka 0, uvo†enjem
degenerirane distribucije p1 = (pA = 1; pB = 0) . Prema tome, usprkos poznavanju
matrica ili dijagrama prijelaza, prava stanja u naµcelu ostaju skrivena.
Sada smo spremni i za formalnu de…niciju ove vrste HMM-a (prilago†eno forma-
lizmu ovog rada na temelju [65]):

De…nicija 4.3 Skriveni Markovljev model s izlazom temeljenim na granama grafa


(EOHMM) ure†ena je µcetvorka EO = V; A ; T k ; pst , gdje je V skup sta-
nja: V = fv0 ; v1 ; : : : ; v n 1 g ili kratko V = f0; 1; : : : ; n 1g, A je abeceda: A =
f0; 1; : : : ; a 1g, T k je skup sastavnih matrica prijelaza T k = Tikj n n dimen-
zija n n , k = 0; 1; : : : a 1 , u kojima je element uvjetna vjerojatnost Tikj =
Pr ((sk ; vj ) jvi ) = Pr (sk ; vj jvi ), a pst je stacionarna distribucija vjerojatnosti. De-
…niramo i (skupnu) stohastiµcku matricu prijelaza T sumiranjem svih sastavnih ma-
P
trica T = [Ti j ]n n = ak=01 T k . Pri tom za uvedene veliµcine mora vrijediti:

Tikj 0; 0 i; j n 1; 0 k a 1; (4.3a)
X
n 1
Ti j = 1 ; 0 i n 1; (4.3b)
j=0

pst = pst T : (4.3c)

Napomena 1. Zbog nenegativnosti elemenata sastavnih matrica prva dva uvjeta


osiguravaju stohastiµcku valjanost cijelog modela i regularnost matrice T kao matrice
prijelaza. Treći uvjet de…nira stacionarnu distribuciju vjerojatnosti pst kao lijevi
svojstveni vektor matrice prijelaza.
Napomena 2. Stanja smo oznaµcili imenom vi koje podsjeća na µcvorove (engl. verti-
ces) našeg dijagrama. Odabirom imena razliµcitog od onog za SOHMM naglašavamo
70 4. Izbor raµcunarskog modela

da naµcelno ne mora postojati podudarnost izme†u ta dva prikaza HMM-a. EOHMM


sadrµzi više informacije o prijelazima i emitiranim simbolima.
Napomena 3. Za matrice T k u [65], pored engl. naziva transition matrices, ko-
risti se i naziv joint matrices — jer se radi o uvjetnoj vjerojatnosti za pojavu para
doga†aja (qj ; sk ) pod uvjetom da je sadašnje stanje — ono koje je neposredni pret-
hodnik stanju qj — stanje qi . No engl. pridjev joint uobiµcajeno se veµze uz potpune
zdruµzene vjerojatnosti, pa ćemo ga i mi saµcuvati za skupnu zdruµzenu vjerojatnost
pojave trojke doga†aja (qi ; qj ; sk ). Ovdje smo te matrice nazvali sastavnima, jer se
njihovom sumacijom dobiva standardna matrica prijelaza izme†u stanja.2
Uz gornju se de…niciju automatski veµze i sljedeća tvrdnja:

Korolar 4.1 Za skriveni Markovljev model V; A ; T k ; pst odre†en de…nicijom


4.3, ure†ena trojka M C = (V; T; pst ) predstavlja temeljni ili pozadinski (engl. un-
derlying) Markovljev lanac.

Dokaz. Prema de…niciji matrice prijelaza T izme†u stanja sustava, T =


Pa 1 k
= [Ti j ]n n = k=0 T te njezina svojstva stohastiµcnosti po retcima (4.3b), radi se o
matrici prijelaza koja de…nira Markovljev lanac.3 Broj stanja u lancu implicitno je
zadan dimenzijom n kvadratne matrice.
Vratimo li se nakratko na gornji primjer, zbrajanjem dviju sastavnih matrica
dobivamo matricu prijelaza (izme†u stanja),
!
1 1
T = T s=0 + T s=1 = 2 2
: (4.4)
1 0
Odavde na temelju uvjeta stacionarnosti, pst = pst T , dobivamo stacionarnu di-
stribuciju pst = 23 ; 13 . Ure†ena trojka M P = f0; 1g ; T; pst = 23 ; 31 de…nira
pozadinski Markovljev lanac za ovaj EOHMM.

4.3.4 Veza izme†u dviju formi HMM-a


Uvo†enjem matrice T u prethodnu de…niciju 4.3 već smo napravili vezu izme†u
skupa sastavnih matrica T k i matrice prijelaza stanja u de…niciji 4.1. Preostaje
jošobjasniti dobivanje matrice promatranja S te razliku izme†u proizvoljne poµcetne
distribucije stanja i stacionarne distribucije stanja. Prvo od toga iskazujemo kao:
2
Usporediti s rastavom prijelaznog tenzora T na matrice T s u odjeljku 7.3.
3
U informacijsko-teorijskoj literaturi ta se matrica najµcešće oznaµcava s P ili [13, 49].
4. Izbor raµcunarskog modela 71

Korolar 4.2 Iz EOHMM-a EO = V; A ; T k ; pst [def. 4.1], elemente Sik ma-


trice promatranja S njemu odgovaraju´ceg SOHMM-a, SO = (Q; A; T; S; p0 ) [def.
P
4.1], kV k = kQk , T = ak=01 T k , dobivamo sljede´com transformacijom:

X
n 1
Sik = Tikj ; 0 i n 1; 0 k a 1: (4.5)
j=0

Dokaz. U de…nicijama 4.1, odnosno 4.3, elementi matrica S i T de…nirani su


kao uvjetne vjerojatnosti Sik = Pr (sk j qi ), Tikj = Pr ((vj ; sk ) jvi ) = Pr (vj ; sk jvi ).
Polazeći od prve uvjetne vjerojatnosti dobivamo: 4
Pn 1
Pr (qi ; sk ) j=0 Pr (qi ; sk ; qj )
Sik = Pr (sk j qi ) = (4.6)
Pr (qi ) Pr (qi )
X
n 1 X
n 1
Pr (sk ; qj j qi ) = Tikj :
j=0 j=0

U drugom retku gornjeg dokaza vidljivo je da se prilikom sumacije elemenata


sastavnih matrica prijelaza gubi informacija o konaµcnom stanju j prijelaza i ! j,
za koji je došlo do emitiranja simbola sk . Stoga je ova transformacija modela
µ
općenito surjekcija. Zelimo li vjerno saµcuvati informaciju sadrµzanu u EOHMM-u,
moramo u općenitom sluµcaju za svaki ure†eni par (vi ; vj ) uvoditi po jedno stanje u
SOHMM (vidjeti npr. [65]).
Potrebno je još obrazloµziti razliku u de…niranju poµcetne distribucije vjerojatno-
sti stanja p. U standardnim SOHMM-ima ona je proizvoljna, tj. moµze se zadati na
temelju potreba modela, dok u de…niciji za EOHMM zahtjev (4.3c) nalaµze da dis-
tribucija mora biti stacionarna. Dakle, uz poµcetnu distribuciju koja je stacionarna,
p0 = pst , pozadinski je Markovljev lanac stacionaran, tj. distribucija njegovih stanja
(pst ) ne mijenja se u vremenu. Izbor drugaµcije distribucije moµze rezultirati ispušta-
njem nekih od stanja iz procesa ukoliko je pozadinski Markovljev lanac reducibilan,
odnosno ako ima više od jednog ponavljajućeg stanja (vidjeti 5.4.4) [65].
Pogledajmo još mogućnost obrnutog prelaska, iz SOHMM-a u EOHMM:

Korolar 4.3 Na temelju zadanog SOHMM-a SO = (V; A ; T; S; p0 ) moµzemo rekon-


struirati EOHMM grade´ci elemente sastavnih matrica prijelaza na sljede´ci naµcin:

Tikj = Tij Sjk : (4.7)


4
Ovime ujedno korigiramo grešku u izrazu za elemente matrice promatranja, u [65, pogl. 3].
72 4. Izbor raµcunarskog modela

Dokaz. Polazimo od de…nicije Tikj kao uvjetne vjerojatnosti:

Pr (vi ; sk ; vj )
Tikj = Pr (sk ; vj jvi ) (4.8)
Pr (vi )
Pr (vi ; vj ) Pr (sk jvi ; vj )
= = Pr (vj j vi ) Pr (sk jvi ; vj )
Pr (vi )
= Tij Pr (sk jvi ; vj ) , Tij Sjk :

Umjesto jednakosti, u zadnjem smo redu napisali da lijeva strana “odgovara”


Tij Sjk , jer je općenito uzevši Sjk = Pr (sk jvi ), a ne Pr (sk jvi ; vj ).
Dakle — u duhu diskusije ispod korolara 4.2 — zato što transformacija izme†u
modela nije bijekcija, u izrazu (4.7) za općeniti sluµcaj ne postoji obostrana jedno-
znaµcnost. Ako SOHMM prevedemo u EOHMM na temelju (4.7) i potom provje-
rimo inverznu transformaciju (4.5), rezultat će biti u redu. No za općenito zadani
EOHMM, SOHMM izraµcunan s pomoću (4.5) i potom preveden natrag u EOHMM
transformacijom (4.7), zbog spomenutog gubitka informacije koji se doga†a u (4.5),
ne mora dati poµcetni EOHMM.

4.3.5 Primjeri
Polazimo od primjera EOHMM-a sa slike 4.3, µcije su sastavne matrice (4.2). Iz
njih slijedi matrica prijelaza T (def. 4.3) i matrica S promatranja (korolar 4.2), koje
de…niraju SOHMM:
! !
1 1
2 2
0 1
T = ; S = : (4.9)
1 0 1 0

Ove se vrijednosti mogu i izravno išµcitati iz grafa modela prema de…niciji 4.1.
Promotrimo još i primjer sa slike 4.4. On je dobiven modi…kacijom EOHMM-a
sa slike 4.3, dodavanjem novog prijelaza iz stanja B, po drugom simbolu (1). Model
je zadan sljedećim sastavnim matricama:
! !
1 1
0 0
T s=0 = 1
; T s=1 = 2 2
1
: (4.10)
2
0 0 2

Kao i gore, iz de…nicije 4.3 i transformacije (4.5) slijede matrice SOHMM forme:
! !
1 1
2 2
0 1
T = 1 1
; S = 1 1
: (4.11)
2 2 2 2
4. Izbor raµcunarskog modela 73

Slika 4.4: Modi…kacija prethodnog primjera skrivenog Markovljevog modela s izlazom


temeljenim na granama grafa (EOHMM). Dodan je prijelaz iz stanja B po odašiljanju
(prihvaćanju) znaka 1 . Budući da se prethodno postojeći prijelaz iz B odvija po znaku 0 ,
dodavanjem ovog prijelaza nije povećan nedeterminizam modela.

One se tako†er mogu lako zakljuµciti i izravno iz grafa. Iz matrice prijelaza T koja
u svim retcima ima uniformne distribucije, proizlazi stacionarna vjerojatnost pst =
1 1
; . Tako†er, µcitatelj se lako moµze uvjeriti da primjenom transformacije (4.7) ni
2 2
u kojem od gornjih primjera ne dobivamo poµcetne sastavne matrice, što je posljedica
gore diskutiranog gubitka informacije u kreiranju matrica T i S.
Promotrimo joškakve će nizove generirati sustavi iz gornjih primjera. Iz grafova
sustava lako je uoµciti da u oba sluµcaja vrijedi sljedeće pravilo: pošto je emitiran znak
0 (prijelaz u stanje A), on se ne moµze ponoviti, već nakon njega mora uslijediti znak
1. Pošto se emitira znak 1, oba sustava mogu emitirati bilo 0 bilo 1. Ovo pravilo i
niz znakova nastao po njemu moµzemo kratko opisati nazivom nema uzastopnih nula
(engl. No Consecutive Zeros, NCZ). Taj ćemo jednostavan sustav koristiti kao testni
primjer i u okviru teorije -strojeva, od poglavlja 6 (§6.5) pa nadalje.

4.3.6 Nedeterminizam EOHMM-a

Prikaz skrivenih Markovljevih modela s izlazom temeljenim na granama grafa


(EOHMM) ekvivalentan je nedeterministiµckim stohastiµckim konaµcnim automatima
koje ćemo uvesti u sljedećem poglavlju. Ukratko, kod deterministiµckih automata,
poµcetno stanje i simbol jedinstveno odre†uju sljedeće stanje. Kod nedeterministi-
µckih automata to nije sluµcaj, pa iz nekog stanja isti simbol moµze de…nirati više
razliµcitih konaµcnih stanja. Jasno je da naš EOHMM odgovara nedeterministiµckom
automatu. Budući da su za prijelaze de…nirane uvjetne vjerojatnosti, govorimo o
nedeterministiµckom stohastiµckom konaµcnom automatu (NSFA).
74 4. Izbor raµcunarskog modela

4.3.7 Svojstva EOHMM-a i prikladnost za modeliranje iz


vremenskog niza
Samim time što smo skrivene Markovljeve modele opisali s pomoću grafova i na taj
ih naµcin pribliµzili raµcunskim automatima, jasno je da su oni u toj formi priklad-
ni za naše modeliranje. Aspekte koje u modeliranje unosi njihov nedeterminizam
povezan sa stohastiµcnosti, tvorac teorije -strojeva Crutch…eld obrazlaµze u svojim
preglednim radovima [23, 26]. Svaki inherentno nedeterministiµcki sustav zahtijeva
uporabu modela s nedeterministiµckim mogućnostima. U protivnom, ako za njega
odaberemo deterministiµcki model, broj stanja modela potrebnih za toµcan stohastiµcki
opis takvog sustava divergira.
Rad D. R. Uppera [65] posvećen je teorijskoj razradi skrivenih Markovljevih mo-
dela u EOHMM formi i algoritmima za njihovu konstrukciju u kontekstu raµcunske
mehanike. U njemu je pokazno je da su stohastiµcki konaµcni automati (SFA) i
HMM ekvivalentni na općenitoj razini. I deterministiµcka (SDFA) i nedetermini-
stiµcka (SNFA) verzija SFA imaju konaµcnu EOHMM prezentaciju. S druge strane,
EOHMM će u općenitom sluµcaju imati konaµcnu prezentaciju samo preko SNFA, u
kojem iz jednog stanja po istom simbolu mogu postojati prijelazi u dva ili više stanja
(vidjeti 4.3.6).
Usprkos općenitoj prikladnosti za stohastiµcku analizu proizvoljnog niza znakova,
kod gradbe i primjene modela s pomoću skrivenih Markovljevih modela nailazimo
na sljedeća dva problema:
1. Identi…kacijski problem (engl. identi…ability problem): dva razliµcita HMM-a
mogu prikazivati isti proces na jednako zadovoljavajući naµcin [7]. Postavlja se
pitanje kako to prepoznati iz modela. Problem je riješen uvo†enjem generali-
ziranih skrivenih Markovljevih modela (GHMM, engl. Generalized HMM ) kod
kojih elementi matrica mogu biti i negativni [41].
2. Problem minimalnosti (engl. minimality problem): za procjenu uspješnosti
dobivenog modela vrlo je vaµzno ustanoviti je li on minimalan, odnosno naći
ekvivalentan model koji jest minimalan. Rješenje ovog problema moµze se naći
npr. u [3], a speci…µcno za EOHMM u kontekstu raµcunske mehanike u [65].

Gornji problemi odraz su same suštine HMM-a koja leµzi u stohastiµckoj inter-
pretaciji naµcelno nepoznatih stanja. U domeni prepoznavanja uzoraka oni nisu pre-
sudni. No za modeliranje u kojem µzelimo analizirati veze izme†u stanja dinamiµckog
sustava i njihove uzroµcno-posljediµcne veze, kao bolji nameće se koncept kauzalnih
4. Izbor raµcunarskog modela 75

stanja. On je implementiran u teoriji -strojeva kroz model sustava općenito nazvan


-stroj, koji se na temeljnoj razini svodi na SDFA. Naravno, kao što je već istaknuto,
mogućnosti SDFA neće biti dovoljne za konaµcni prikaz nedeterministiµckih sustava,
pa niti za prezentaciju općenitih HMM-a (EOHMM-a). To nas moµze motivirati da
u širi kontekst raµcunske mehanike — kao nadopunu kauzalnim modelima — uvedemo
i nedeterministiµcku inaµcicu stohastiµckih konaµcnih automata, SNFA. O raµcunskim
aspektima ovih modela bit će rijeµci i u sljedećem poglavlju.

4.4 Teorija -strojeva kao najbolji izbor!?


U prethodnim odjeljcima ovog poglavlja dali smo kratak pregled nekoliko raµcunar-
skih modela i analizirali njihovu prikladnost za modeliranje iz vremenskog niza.
Prilikom diskusije najprikladnijeg od dosad izloµzenih, skrivenih Markovljevih mo-
dela, već smo se dotakli nekih aspekata teorije -strojeva. Spomenuli smo da se kroz
nalaµzenje kauzalnih stanja u njoj rekonstruiraju stohastiµcki modi…cirani raµcunski
automati (SFA) kao posve općeniti modeli dinamiµckih sustava.
Pojam kauzalnih stanja ugra†en je u same temelje teorije -strojeva [17, 18, 21]
(matematiµcki stroµzi pristup moµze se naći u [58, 59]). Mi ćemo ga — zajedno s po-
stupkom gradbe -strojeva — detaljno izloµziti u poglavlju 6. Za potrebe ove diskusije
tek ukratko navodimo da se kauzalno stanje procesa svodi na uvjetnu distribuciju
vjerojatnosti za pojavu budućih nizova pod uvjetom nekog prošlog «su…ksa» ili
«povijesti» niza. U teoriji -strojeva to se standardno interpretira kao jedinstvena
topološka i vjerojatnosna (pod)struktura koju nazivamo morf. Ona se pronalazi unu-
tar strukture rašµclambenog stabla u kojem su parsirani podnizovi odre†ene maksi-
malne duljine, izluµceni iz primljenog vremenskog niza. Trenutno (sadašnje) kauzalno
stanje i simbol jedinstveno, deterministiµcki — u smislu teorije automata — odre†uju
sljedeće stanje, što se podudara s konceptom SDFA (§ 5.4). Stohastiµcnost pak se tu
odnosni na µcinjenicu da iz trenutnog stanja općenito moµze biti emitiran bilo koji od
znakova iz abecede niza, svaki s odre†enom vjerojatnošću.
Dinamiµcki procesi s konaµcnom i deterministiµckom inherentnom strukturom mogu
se uspješno opisivati s pomoću SDFA. Za njih su prezentacijska stanja (ono što
promatraµc vidi ili zakljuµcuje iz opaµzanja simbola) i stvarna stanja procesa (koja su
naµcelno skrivena) me†usobno “sliµcna”, iako ne nuµzno i podudarna.
Kao zakljuµcak ovog odjeljka i kao odgovor na pitanje postavljeno u njegovu
naslovu navest ćemo bitne usporedne µcinjenice koju teoriju -strojeva izdvajaju kao
76 4. Izbor raµcunarskog modela

metodologiju koja je najpogodnija za modeliranje iz vremenskog niza, posebice na


elementarnoj razini kad se niz sastoji od binarnih simbola:

Teorija -strojeva ne zahtijeva nikakve kvalitativne pretpostavke glede ustroja


modela, niti apriorne procjene broja njegovih stanja (za razliku od ANN-a i
HMM-a, opisanih u 4.1, odnosno u 4.3).

Teorija -strojeva predvi†a iterativno usavršavanje ne samo na kvantitativnoj


razini glede veliµcine modela i toµcnosti stohastiµcke analize, već i na razini raµcu-
narske moći automata na kojima će se model temeljiti. Tek ako baziµcni konaµcni
automati ne ostvare konvergentan model, uvode se sloµzeniji automati viših ra-
zina, s većim raµcunskim mogućnostima.

Prethodna odrednica osigurava minimalnost modela glede razine uporabljenog


raµcunskog stroja. Tako†er, za zadanu razinu toµcnosti korektan postupak grad-
be -stroja mora (i moµze) osigurati nalaµzenje modela s minimalnim brojem
kauzalnih stanja, µcime se rješava problem minimalnosti.

Minimalnost za deterministiµcke modele automatski garantira i njihovu identi-


…kaciju, tj. rješava identi…kacijski problem (usporediti s [58, 59]).

Dobiveni stohastiµcki model daje osnovu za informacijsko-teorijsku analizu su-


stava i nalaµzenje njegovih (invarijantnih) mjera sloµzenosti.
Poglavlje 5

Raµcunski automati u kontekstu


modeliranja

U prethodnom smo poglavlju opisali nekoliko standardnih raµcunarskih modela te


obrazloµzili izbor teorije -strojeva kao najbolje za modeliranje iz vremenskog niza.
Naµcelna univerzalnost ove teorije proizlazi iz uporabe (modi…ciranih) raµcunskih stro-
jeva po potrebi velike raµcunske moći, od onih najjednostavnijih pa do univerzalnih.
Zato, kao temelj daljeg izlaganja, u ovom poglavlju podastiremo kratak pregled
osnovnih pojmova iz teorije formalnih jezika i automata. Opis automata zapoµcinjemo
elementarnim i nama vaµznim konaµcnim automatima, u deterministiµckoj i nedeter-
ministiµckoj verziji. Njima su ekvivalentni regularni izrazi, prikladni za opis pravilno
strukturiranih vremenskih nizova. Uvo†enjem stohastiµcnog opisa prijelaza izme†u
stanja, iz razreda konaµcnih automata izvodimo stohastiµcke konaµcne automate. Nji-
hova je deterministiµcka verzija kljuµcna u našem modeliranju jer odgovara temeljnom,
kauzalnom -stroju. Nedeterministiµcku verziju stohastiµckih konaµcnih automata pak
povezujemo s HMM modelima s izlazima temeljnim na granama grafa. Poglavlje za-
vršavamo pregledom hijerarhije automata, s osvrtom na one koji imaju stohastiµcki
podršku i koji su prikladni za primjenu u teoriji -strojeva.

5.1 Formalni jezici i teorija automata


U ovom odjeljku iznijet ćemo nekoliko temeljnih de…nicija teorije formalnih jezika,
automata i izraµcunavanja. Podsjetit ćemo na ekvivalenciju izme†u formalnih jezika
i njihovih gramatika s pojedinim razredima automata te time napraviti pripremu za
izuµcavanje konkretnih automata na kojima se zasniva naše modeliranje.

77
78 5. Raµcunski automati u kontekstu modeliranja

5.1.1 Formalni jezici


Objekti koje razmatra teorija raµcunarstva i formalnih jezika diskretnog su i konaµcnog
znaµcaja i nad njima se obavlja diskretno izraµcunavanje. Ti su objekti nizovi znakova
za koje koristimo i naziv rijeµc. Rijeµc s l znakova zapisujemo kao wl = s0 s1 : : : sl 1 .
Znakovi ili simboli si elementi su neke abecede, si 2 A = f0; 1; : : : ; a 1g, gdje
je a 2 N kardinalni broj skupa A : Skup svih mogućih rijeµci izgra†enih od simbola
abecede A oznaµcavat ćemo s A , A = fw0 ; w1 ; : : : ; wl ; : : : ; g, wl 2 A l ; l =
0; 1; 2; : : : . w0 prazna je rijeµc duljine l = 0, koju ćemo oznaµciti simbolom e .1 Uz
neograniµcenu duljinu rijeµci l ovaj je skup prebrojivo beskonaµcan.
Sada formalni jezik (engl. formal language) de…niramo na sljedeći naµcin:

De…nicija 5.1 Formalni jezik L neki je podskup iz skupa A ,

L A : (5.1)

O konkretnom jeziku ovisi pobliµze odre†enje ovog skupa, odnosno izbor rijeµci
koje će on sadrµzavati.
Ograniµcimo li duljinu rijeµci na maksimalnu vrijednost lmax 2 N+ 0 , de…niramo
skup Almax = fw0 ; w1 ; : : : ; wlmax g . U tom ćemo sluµcaju promatrati jezik Llmax
opisan sljedećom de…nicijom.
De…nicija 5.2 Formalni jezik Llmax s rijeµcima maksimalne duljine L neki je pod-
skup iz skupa Almax ,
Llmax Almax : (5.2)

Odavde slijedi praktiµcna tvrdnja o broju mogućih rijeµci:

Lema 5.1 (i) Za konaµcnu abecedu A s a 2 simbola, jezik Llmax ima maksimalno
card Almax = Almax rijeµci,
almax +1 1
Almax = : (5.3a)
a 1
(ii) Specijalizacija gornjeg izraza za a = 2 daje:

Almax = 2lmax +1 1: (5.3b)

1
Uobiµcajena oznaka za prazan niz u literaturi ovog podruµcja jest ili " [37, 56]. Da se iz-
bjegnu krive konotacije te oznake naspram -strojeva i s njima povezanih -stabala (vidjeti sljedeće
poglavlje), ovdje ćemo za prazan niz koristiti oznaku e.
5. Raµcunski automati u kontekstu modeliranja 79

Dokaz. Dokaz se svodi na izraµcun broja rijeµci u skupu Almax , koji odgovara
jeziku Llmax s maksimalnim brojem rijeµci, µcija je maksimalna duljina lmax . Dokaz
slijedi izravno iz sume koja predstavlja prvih lmax + 1 µclanova geometrijskog niza:
X
lmax
almax +1 1
Almax = al = : (5.4a)
l=0
a 1

Alternativno, dokaz moµzemo provesti matematiµckom indukcijom. Za lmax = 0 u


Almax imamo samo praznu rijeµc, e. Za l lmax = 1 vrijedi Almax = fe; 0; 1; : : : ; a
1g , tj. postoji jedna prazna i a jednoslovµcanih rijeµci, ukupno a+1. (Lako je provjeriti
da su obje vrijednosti u skladu s gornjim izrazom.). Za općeniti lmax , broju rijeµci
duljine 0 l lmax 1 moramo dodati broj almax rijeµci duljine lmax :
almax 1 almax +1 1
Almax = + almax = : (5.4b)
a 1 a 1

Poznavanjem maksimalnog broja rijeµci jezika Llmax moµzemo obrazlagati njegovu


statistiku stvorenu u sklopu modeliranja te procjenjivati broj na†enih rijeµci u odnosu
na maksimalan mogući broj rijeµci. Odmah moµzemo uoµciti da je Almax jednak
maksimalnom broj µcvorova u rašµclambenom stablu visine D = lmax , kroz koje ćemo
parsirati rijeµci primljene od dinamiµckog sustava.2
Ukoliko se iz ovih rijeµci grade odre†ene “nadstrukture” de…nirane parametrom
lmax , kao što će to biti sluµcaj u našem postupku modeliranja (§6.4), taj se para-
metar tijekom jedne iteracije mora …ksirati na konstantu vrijednost. Ako se ukaµze
potreba, postupak se u sljedećoj iteraciji moµze ponoviti s većim lmax . Postupak koji
je izraµcunljiv (engl. computable) za neku poµcetnu vrijednost lmax , u naµcelu će biti
izraµcunljiv i za njegovu proizvoljnu vrijednost, pa stoga na njega ne postoje teorij-
ska ograniµcenja. No, zbog mogućeg eksponencijalnog rasta ukupnog broja rijeµci s
njihovom duljinom, u raµcunarskoj ćemo praksi zbog ograniµcene memorije i procesne
moći raµcunala brzo doći do maksimalno primjenjivog iznosa lmax .
Pod gramatikom nekog jezika podrazumijevamo teoriju o njegovoj strukturi [10],
odnosno skup pravila koji tu strukturu de…nira. Ta se pravila nazivaju supstitucij-
ska pravila ili produkcije (engl. substitution rules, productions) [56, 61]. Produkcije
2
Vidjeti dodatak A. U lemi A.2 dan je minimalan i maksimalan broj µcvorova binarnih stabala,
koja korespondiraju s rijeµcima sastavljenim od binarnih simbola (a = kAk = 2). Ti su rezultati
poopćeni u lemi A.9 za binarna -stabla s prosjeµcno b djece po µcvoru. Napomena. U izrazima
(A.29) simbol a nema znaµcenje broja slova abecede, već zajedniµckog (korekcijskog) faktora µclanova
geometrijskog niza. Za b = bmin = 1 (A.29a) i za b = bmax = 2 (A.29c), taj je faktor 1 .
80 5. Raµcunski automati u kontekstu modeliranja

de…niraju gramatiku G na osnovi koje se mogu generirati nizovi znakova. Skup svih
nizova znakova koji se mogu stvoriti na temelju gramatike G, odnosno skup svih
znakova koje ta gramatika dopušta, naziva se jezik L (G) .
Tako će npr. pravila za tvorbu regularnih izraza odrediti regularne jezike (engl.
regular languages), u kojima se pravila odnose na unaprijed odre†enu strukturu i
duljinu karakteristiµcnih podnizova (vidjeti 5.3). S druge strane, rekurzivne tvorbe
generiraju kontekstno neovisne gramatike (engl. context-free grammars, CFG) i jezike
koji proizlaze iz njih. Zbog svoje rekurzivnosti ova gramatika dopušta tvorbu proiz-
voljno duboko ugnijeµz†enih struktura [37, 56].
Teorijski gledano, L (G) općenito je beskonaµcan, pa dopušta tvorbu beskona-
µcno dugaµckih nizova. Jasno je da ćemo u konkretnom modeliranju morati pribjeći
prouµcavanju jezika Llmax (G), s rijeµcima konaµcne maksimalne duljine lmax .

5.1.2 Diskretno izraµcunavanje i teorija automata


Jedan od glavnih zadataka teorije izraµcunavanja u svezi formalnih jezika jest odre-
†enje raµcunarske sloµzenosti njihova prepoznavanja. Prepoznavanje jezika jest po-
stupak u kojem se za proizvoljnu rijeµc wl ustanovljuje pripada li ona jeziku L ili
ne. Sloµzenost jezika izraµzava se kroz sloµzenost njemu pridruµzenog tipa diskretnog
stroja (engl. discrete machine), odnosno automata (engl. automaton) sposobnog za
vršenje tog razredbenog postupka. S druge strane, po†emo li od automata oznaµcenog
simbolom M, tada moµzemo govoriti o skupu L (M) svih podnizova, ili u našem
kontekstu rijeµci wM , koje taj automat prihvaća. Skup L (M) upravo je formalni
jezik de…niran navedenim automatom.
U teoriji automata kao dijelu teorije raµcunarstva, jedan je od glavnih zadataka
upravo spomenuto nalaµzenje automata koji raspoznaje odre†eni jezik. Formalno se
pokazuje ekvivalencija izme†u odre†enih jezika i automata koji ih raspoznaju, kao
npr. izme†u konaµcnih automata i regularnih izraza. Zato gramatiku jezika moµzemo
prouµcavati i kroz ustroj ekvivalentnog automata [37]. U tom smislu u teoriji izraµcu-
navanja postoji stalan dualizam izme†u formalnih jezika kao skupova i automata
kao funkcija koje operiraju na tim skupovima. Konaµcnim automatima i regularnim
izrazima posvećen je sljedeći odjeljak.
Automati se me†usobno razlikuju po svojem ustroju glede korištenih raµcunskih
izvorišta. To se odnosi na memoriju, tj. njezin kapacitet (konaµcan ili beskonaµcan)
i strukturu (naµcin pristupa podacima), zatim na logiµcke i aritmetiµcke operacije
raspoloµzive pri obradi te na vrijeme dopušteno za dovršenje klasi…kacije.
5. Raµcunski automati u kontekstu modeliranja 81

Svojstva i koliµcina tih raµcunskih izvorišta odre†uju kompleksnost automata te


kompleksnost najsloµzenijeg jezika kojeg oni mogu raspoznati. Na tome se zasniva
raµcunska sposobnost automata kao i njihova me†usobna hijerarhija. Kod konaµcnih
automata, konaµcni i prede…nirani broj stanja te isto takva struktura prijelaza izme†u
tih stanja upućuje da se radi o sustavima s konaµcnom i unaprijed de…niranom me-
morijom. Stoga je njihov krajnji doseg razaznavanje regularnih nizova znakova, sa-
stavljenih od uzoraka prede…nirane forme i konaµcne duljine. S druge strane, potisni
stoµzni automat (engl. Push Down Automaton, PDA) ima sposobnost razaznavanja
jezika s kontekstno neovisnom gramatikom (CFG), što mu daje funkcionalnost do-
voljnu za prevo†enje standardnih raµcunarskih jezika. Ostvarenje tog — praktiµcki
gledano — sloµzenog raµcunarskog zadatka u bitnom je omogućeno stoµznom organiza-
cijom memorije proizvoljne veliµcine. No stoµzni automat ipak nema dovoljnu raµcu-
narsku sposobnost za univerzalno izraµcunavanje, kao Turingov stroj ili njemu ek-
vivalentan -raµcun (engl. -calculus). Na usporedbu i hijerarhiju automata vratit
ćemo se u odjeljcima 5.6 i 5.7.

5.2 Konaµcni automati


Ovdje ćemo iznijeti temeljne odrednice deterministiµckih i nedeterministiµckih kona-
µcnih automata koje su dovoljne za uvo†enje njihove stohastiµcke inaµcice. Konaµcne au-
tomate (engl. …nite automata, FA), kako se uobiµcajeno nazivaju u teoriji raµcunarstva,
po potrebi ćemo nazivati i deterministiµcki konaµcni automati (engl. deterministic …-
nite automata, DFA), da ekspliciramo njihovu razliku naspram nedeterministiµckih
konaµcnih automata (engl. nondeterministic …nite automata, NFA).

5.2.1 Deterministiµcki konaµcni automati (DFA)


De…nicija 5.3 (Deterministiµcki) konaµcni automat, (D)FA, de…niramo kao ure†enu
petorku (Q; A; q0 ; ; QF ) ; gdje je Q konaµcni skup stanja, A je konaµcna ulazna
abeceda, q0 je poµcetno stanje iz Q, QF Q jest skup prihvatljivih konaµcnih stanja,
dok je funkcija prijelaza,

:Q A ! Q; (5.5)
(q; s) = q 0 :

Tu je q 0 novo stanje, nastalo kao rezultat prijelaza pošto je u stanju q primljen


simbol s.
82 5. Raµcunski automati u kontekstu modeliranja

µ
Slika 5.1: Primjer konaµcnog automata (FA). Cvorovi grafa oznaµceni kruµzićima predsta-
vljaju stanja automata. Poµcetno stanje oznaµceno je na naµcin uobiµcajen u teoriji automata
— ravnom strelicom koja dolazi slijeva te sugerira da se radi o ulaznom stanju (u našem
sluµcaju q0 ). FA na slici prihvaća sve nizove koji sadrµze ukupno paran broj jedinica i paran
broj nula. Konaµcno stanje ovdje je oznaµceno upisanim kvadratom.

S pomoću oznaµcenog usmjerenog grafa (engl. labeled directed graph, LDG), koji
se naziva i prijelazni dijagram (engl. transition diagram), moµzemo ostvariti gra…µcki
prikaz konaµcnog automata prema de…niciji 5.3. Stanja automata oznaµcena su µcvo-
rovima grafa, a abecedu simbola išµcitavamo na temelju njihovih oznaka na granama
grafa. Poµcetno stanje oznaµceno je ulaznom strelicom koja ne vodi ni iz kojeg drugog
stanja, dok su konaµcna stanja ovdje oznaµcena upisanim kvadratom.3 Funkcija prije-
laza ostvarena je usmjerenim granama od poµcetnog do konaµcnog stanja, oznaµcenim
primljenim simbolom s po kojem se doga†a prijelaz q ! q 0 , što ćemo zapisivati kao
s
q ! q 0 . Ako niz w primljen kroz poµcetno stanje završava u nekom od konaµcnih
stanja, tada kaµzemo da je novo stanje automata prihvatljivo stanje, odnosno da FA
prihva´ca niz w .
Na slici 5.1 dan je primjer konaµcnog automata koji prihvaća sve nizove s ukupno
parnim brojem jedinica i parnim brojem nula [37]. U tom se primjeru konaµcno stanje
podudara s poµcetnim.
Konaµcni automat jest stroj na kojem posredstvom primljenog niza ostvarujemo
konaµcnu kontrolu (engl. …nite control). 0pćenito će FA primati simbole iz nekog
niza, kojeg u teoriji automata zamišljamo kao zapisanog na traci (sl. 5.2). Ako je
FA trenutno u stanju q 2 Q, nakon što s trake oµcita simbol s on prema (5.5) prelazi
u stanje q 0 = (q; s) . Potom pomiµce traku tako (ulijevo) da moµze proµcitati sljedeći
3
U teoriji automata konaµcna stanja standardno se obiljeµzavaju dodatnom upisanom kruµznicom.
Kod konaµcnih stohastiµckih automata tu ćemo oznaku koristiti za poµcetno stanje, pa smo zato za
konaµcna stanja uveli novu oznaku (u SFA modelima standardno ćemo je ispuštati, vidjeti 5.4.2).
5. Raµcunski automati u kontekstu modeliranja 83

Slika 5.2: Shematski prikaz funkcije konaµcnog automata (FA). FA je ostvaren s pomoću
konaµcne kontrole koja ostvaruje funkciju prijelaza i trake na kojoj su upisani simboli. Na
temelju trenutnog stanja q i uµcitanog simbola s , konaµcna kontrola odre†uje sljedeće stanje
q 0 i pomiµce glavu za µcitanje na sljedeći simbol.

simbol (desni). Sve simbole zapisane na traci moµzemo promatrati kao jedinstveni
niz wT . Ukoliko je niz wT prihvatljiv, tj. ako nakon njegova oµcitanja FA završava u
jednom od konaµcnih stanja, tada kaµzemo da je FA prihvatio cijelu traku. Prije nego
što je završen prolazak kroz cijelu traku, FA moµze prihvatiti mnogobrojne pre…kse
od wT , neovisno o tome je li cijela traka prihvaćena ili nije.
Zato što nas kod konaµcne kontrole općenito zanima stanje stroja nakon primi-
tka nekog niza w; u daljnjem razmatranju funkciju zamjenjujemo općenitijom
funkcijom b :

b:Q A ! Q; (5.6)
b (q; w) = q 0 :

U skladu s prethodnom de…nicijom formalnog jezika, A jezik je koji u sebi


sadrµzi sve moguće jezike de…nirane abecedom A . Funkciju b opisujemo sljedećom
rekurzivnom vezom:

b:Q A ! Q; (5.7)
b (q; e) = q ;
b (q; ws) = ( b (q; w) ; s) :

Po primitku praznog niza e FA ne mijenja stanje, već ostaje u prethodnom.


Primitak proizvoljnog niza svodi se na niz prijelaza uzrokovanih svim pre…ksima tog
niza. Funkcija b djeluje na niz ws, dobiven spajanjem ili nadovezivanjem (engl.
concatenation) niza w sa znakom s, tako da je w pre…ks, a s su…ks spojenog niza.
84 5. Raµcunski automati u kontekstu modeliranja

5.2.2 Nedeterministiµcki konaµcni automati (NFA)


Ukoliko dozvolimo da se iz nekog stanja konaµcnog automata po odre†enom pri-
mljenom simbolu moµze prijeći u 0, 1 ili više narednih stanja, tada u prethodno
de…niranu konaµcnu kontrolu uvodimo nedeterminizam i dobivamo nedeterministiµcki
konaµcni automat (NFA). Zahvaljujući nedeterminizmu, µcesto je zadani niz lakše
konstruirati NFA nego DFA. Kad je za odre†eni problem na†en valjan NFA, njega
je po ustaljenim pravilima moguće prevesti DFA koji se moµze praktiµcno ostvariti.
De…nicija NFA u bitnom je istovjetna s onom za DFA, do na kodomenu funkcije
prijelaza. Za NFA kodomena je općenito particioni skup P (Q) od Q . Dodatno,
ako proširimo abecedu A na skup Ae = A [ feg, tako da sadrµzi i prazan simbol
e, dobivamo najopćenitiji mogući NFA u kojem je dozvoljen i prijelaz bez primitka
simbola. Takav prijelaz nazivamo e-prijelaz. Ovime je pripremljena:
De…nicija 5.4 Nedeterministiµcki konaµcni automat (NFA) de…niramo kao ure†enu
petorku (Q; A; q0 ; ; QF ), gdje je Q konaµcan skup stanja, A je konaµcna ulazna
abeceda, q0 je poµcetno stanje iz Q, QF Q jest skup prihvatljivih konaµcnih stanja,
dok je preslikavanje iz Q na particioni skup P (Q) od Q:

:Q Ae ! P (Q) ; (5.8)
(q; s) 2 P (Q) :

Napomena 1. Ako se iz stanja q po simbolu s prelazi u nepostojeće stanje, q 0 = ;,


radi se o nepostojećem, odnosno nemogućem prijelazu, koji se na grafu ne crta.
Napomena 2. Gornja de…nicija moµze se ograniµciti na NFA bez e-prijelaza tako da ih
ukinemo, zamjenjujući u gornjoj de…niciji Ae s A .
Uvi†amo da je kod NFA rezultat prijelaza iz q 0 po primitku s općenito neki skup
stanja iz Q, koji moµze biti i prazan. Kod DFA prijelazi su deterministiµcki, jer se iz
trenutnog stanja uvijek prelazi u jedinstveno sljedeće stanje.
Na analogan naµcin kao u izrazima (5.6) i (5.7) moµzemo sada modi…cirati funkciju
prijelaza na b (q; w) 2 P (Q) te je izraziti rekurzivno preko funkcije iz (5.8).
Prilikom provjere prihvaća li NFA neki niz, moramo uzeti u obzir sve moguće
prijelaze iz svakog stanja po zadanom simbolu u sva moguća sljedeća stanja, kreira-
jući pritom skup svih dozvoljenih sljedova stanja. Ukoliko bilo koji od tako dobivenih
sljedova završava konaµcnim stanjem iz QF , tada NFA prihvaća niz. Mogućnost
proizvoljnog izbora slijeda stanja koji vodi do konaµcnog, prihvatljivog stanja, speci-
…µcnost je NFA koja olakšava njihovu konstrukciju.
5. Raµcunski automati u kontekstu modeliranja 85

Slika 5.3: Nedeterministiµcki konaµcni automat (NFA). Nedeterminizam omogućuje da se


iz nekog stanja qi po prijamu simbola sk prije†e u više od jednog stanja. Za automat na
slici nedeterministiµcki je prijelaz iz q0 po prijamu 0 , nakon kojeg on moµze prijeći ponovo
i u q0 i u q 1 . Ovaj NFA prihvaća sve nizove koji imaju barem jedan par uzastopnih nula
ili barem jedan par uzastopnih jedinica. Prema izvorniku iz [37].

Po de…niciji 5.4 bilo koje stanje q iz skupa Q moµze biti konaµcno, ako vrijedi
; 2
= Q . Ako u nizu postoji barem jedan nemoguć prijelaz, koji vodi u stanje ;,
tada NFA ne moµze prihvatiti niti cijeli taj niz. Kad se stanje ; formalno pojavi u
Q, kao npr. prilikom transformacije NFA u ekvivalentni DFA [vidjeti izraz (5.10)],
implicitno ćemo podrazumijevati da ono ne moµze biti konaµcno. U protivnom bi
automat prihvaćao i nedopuštene nizove, što bi bilo kontradiktorno.
Primjer NFA bez e-prijelaza dan je na slici 5.3. Nedeterministiµcki je prijelaz iz
stanja q0 po primitku simbola 0 : q0 ! fq0 ; q1 g i 1 : q0 ! fq0 ; q3 g . Ovaj NFA pri-
0 1
hvaća sve nizove koji automat nedeterministiµcki dovode u stanje q2 ili q4 . Vidljivo
je da prijelaze moµzemo odabrati tako da već i nizom 00 (11) do†emo u stanje q2
(q4 ). Otuda proizlazi da će ovaj NFA prihvatiti sve nizove koji u sebi imaju barem
jedan par uzastopnih nula ili barem jedan par uzastopnih jedinica.

5.2.3 Primjer konverzije NFA u DFA


DFA i NFA raµcunarski su ekvivalentni [37, 56]. Da je svaki DFA specijalan sluµcaj
NFA, jasno je iz njihovih de…nicija. No i DFA moµze simulirati NFA tako da se u njega
uvode stanja koja odgovaraju svakom od skupova stanja iz NFA u koje postoji barem
jedan prijelaz te da njegova funkcija prijelaza ostvari sve prijelaze koji se doga†aju
u NFA. Dobiveni DFA općenito je kompleksniji od NFA kojemu je ekvivalentan, s
86 5. Raµcunski automati u kontekstu modeliranja

1 1

1 A B 1 A B 1

0 0

(a) (b)

Slika 5.4: Nedeterministiµcki konaµcni automati (NFA) dobiveni zadrµzavanjem topoloških


karakteristika skrivenih Markovljevih modela (HMM). (a) NFA koji odgovara HMM-u sa
sl. 4.3, (b) NFA koji odgovara HMM-u sa sl. 4.4. Za poµcetno je stanje tek sugerirano da
to bude A. U fazi modeliranja sva su stanja konaµcna, pa nisu posebno oznaµcena.

više stanja i s sloµzenijom funkcijom prijelaza. Ekvivalentnost koja vrijedi izme†u


deterministiµcke i nedeterministiµcke inaµcice konaµcnih automata postoji i kod nekih
drugih vrsta automata, ali to nije opće pravilo.
Kao primjer konverzije NFA u DFA promotrit ćemo kako izgleda deterministiµcki
ekvivalent od NFA koji odgovara skrivenim Markovljevim modelima prikazanim na
slikama 4.3 i 4.4 u prethodnom poglavlju. NFA se iz EOHMM-a dobiva uvaµzavanjem
samo topoloških odrednica, dok se stohastika prijelaza uklanja. Rezultantni NFA
prikazani su na slikama 5.4 a i b.
Zato što u HMM poµcetno stanje nije de…nirano nezavisno već preko poµcetne
distribucije, na slici je tek sugerirano da bi poµcetno stanje za oba NFA moglo biti
npr. A. U fazi modeliranja uµcimo na temelju primljenih ulaznih rijeµci i prihvaćamo
sve nizove, pa ćemo uvijek podrazumijevati da su sva, u ovom sluµcaju, oba, stanja
konaµcna. Sa slika je vidljivo da su, prema de…niciji 5.4, NFA.a i NFA.b odre†eni
sljedećim ure†enim petorkama i prijelaznim funkcijama a i b :

NFA.a, NFA.b = (fA; Bg ; f0; 1g ; x ; (A) ; fA; Bg), x = a, b ;

a 0 1 b 0 1
A ; fA; Bg A ; fA; Bg (5.9)
B A ; B A B

Da ove NFA prevedemo u njima ekvivalentne DFA, de…niramo particioni skup


P (fA; Bg) = f;; A; B; fA; Bgg = fq0 ; q1 ; q2 ; q3 g i preva†amo gornju funkciju prije-
laza (standardni se postupak moµze naći npr. u [37]). Dobivaju se:
5. Raµcunski automati u kontekstu modeliranja 87

q2 q2 1

0 0
1 1

q1 q3 1 q1 q3 1

0 0

q2 1 q2

0 0
0 0

1 q3 q1 1 q3 q1
1 1

(a) (b)

Slika 5.5: Deterministiµcki konaµcni automati (DFA) a i b, ekvivalentni nedeterministiµckima


(NFA) sa sl. 5.4 a i b. Stanje q0 (nepostojeće) ne crta se. Poµcetna stanja nisu posebno
oznaµcena — ostavljena je mogućnost da svako stanje bude poµcetno. Sva prikazana stanja
konaµcna su. Gore: DFA.a i DFA.b dobiveni iz konverzija u izrazu (5.10), sa stanjima
raspore†enim slijeva nadesno. Dolje: drugi pogled na iste grafove. Tranzijentno stanje
q2 = B oznaµceno je crtkano. Stanje q3 = fA, Bg mješovito je stanje.

0
DFA.a, DFA.b = (fq0 ; q1 ; q2 ; q3 g ; f0; 1g ; x ; (A) ; fq1 ; q2 ; q3 g), x = a, b ;

0 0
a 0 1 b 0 1
; ; ; ; ; ;
A ; fA; Bg A ; fA; Bg (5.10)
B A ; B A B
fA; Bg A fA; Bg fA; Bg A fA; Bg

U gornjim je funkcijama eksplicirano da se iz nepostojećeg stanja q0 = ; uvijek


prijelazi u isto takvo stanje. Skupno ili mješovito stanje q3 = fA; Bg uvedeno je
zbog nedeterministiµckih prijelaza iz NFA verzija (vidjeti i §4.3). Rezultantni DFA.a
i DFA.b prikazani su na slikama 5.5 a i b. Poµcetna stanja nisu speci…cirana, tako da
moµzemo razmatrati karakter dobivenog DFA za sluµcaj da svako od stanja odaberemo
kao poµcetno. Jednako kao i na prethodnoj slici, sva su stanja konaµcna, pa to nije
posebno oznaµceno.
88 5. Raµcunski automati u kontekstu modeliranja

U donjem su dijelu slike isti grafovi reorganizirani. Mješovito stanje q3 stavljeno


je slijeva ne bi li se izgled grafova pribliµzio ekvivalentnim NFA sa slike 5.4. Naravno,
usprkos okvirne sliµcnosti, ostaju suštinske razlike u karakteru prijelaza iz lijevog sta-
nja, koji su u oba NFA nedeterministiµcki po znaku 1, a u oba DFA deterministiµcki
po razliµcitim simbolima. Dodatno, na donjim je slikama tranzijentno stanje q2 oz-
naµceno crtkano da se naglasi njegova nepostojanost. Ako nije odabrano kao poµcetno,
ono nikad neće biti aktivirano, pa ga moµzemo i ukloniti.4 Ako jest poµcetno, DFA.b
ostaje u njemu sve dok prima jedinicu. Oba DFA moraju primiti znak 0 da “uhvate
fazu”, nakon µcega prelaze u sljedeće stanje. Jednako kao i ekvivalentni im NFA, oba
DFA prihvaćaju svaki binarni niz bez uzastopnih nula.

5.3 Regularni izrazi


Kao što konaµcni automati predstavljaju temeljne, najjednostavnije automate, tako i
regularni (pravilni) izrazi (engl. regular expressions) predstavljaju najjednostavnije
formalne jezike.
I deterministiµcki i nedeterministiµcki konaµcni automati me†usobno su ekvivalentni
jer oba razreda automata mogu raspoznati upravo te regularne izraze i ništa više
[37]. Mogućnost automata da raspoznaje odre†eni jezik uvodi ekvivalenciju izme†u
njega i jezika, što opisuju sljedeće dvije tvrdnje:
Za svaki jezik generiran s pomoću regularnih izraza moµze se konstruirati ko-
naµcni automat koji će prihvaćati sve nizove tog jezika;
Za svaki konaµcni automat postoji regularni izraz koji generira takve jezike da
će svi nizovi (rijeµci) iz tog jezika na tom konaµcnom automatu biti prihvaćeni.

5.3.1 Tvorba regularnih izraza


U ovom letimiµcnom pregledu ilustrirat ćemo naµcin tvorbe i zapisivanja regularnih
izraza koliko je potrebno za njihovo razumijevanje u ovom radu (za formalni opis
vidjeti npr. [37, 56, 62]). Zapis regularnih izraza sugestivan je, pa ćemo ga objasniti
na primjerima binarnih znakova iz abecede A = f0; 1g. Tako pravilan izraz (0 + 1)
oznaµcava skup svih mogućih nizova sastavljenih od nula i jedinica (ukljuµcujući i
prazan niz), a izraz (01) predstavlja skup svih nizova u kojima se kao osnovni
element pojavljuje podniz 01; tj. skup f e; 01; 0101; 010101; : : : g : Zvjezdica u ovim
4
Za opis tranzijentnih i rekurentnih stanja vidjeti 5.4.1.
5. Raµcunski automati u kontekstu modeliranja 89

izrazima oznaµcava Kleenovo zaokruµzenje ili okruµzenje 5 (engl. Kleen closure), koje se
za neki skup (rijeµci) W de…nira kao:

[
1
W = Wi : (5.11)
i=0

Vrijedi da je W 0 = e , W i = W W i 1 , gdje W W i 1 oznaµcava nadovezivanje


skupova, tj. takav skup nizova u kojem se elementu iz W s njegove lijeve strane
pripaja element iz W i 1 . Primijetimo da vrijedi (0 + 1) = f0; 1g = A , tj. da
u regularnom izrazu znak ’+’ ima znaµcenje (proizvoljnog) odabira jednog od ele-
S
menata iz skupa dobivenog uniranjem f0g f1g, dok navo†enje simbola jedan iza
drugoga, kao u primjeru (01) , predstavlja njihovo spajanje u jedinstvenu rijeµc.
Spomenimo još nekoliko primjera regularnih izraza. Izraz (0 + 1) 00 (0 + 1)
predstavlja skup svih nizova u kojima se pojavljuje najmanje jedan par nula, is-
pred i iza kojeg slijede bilo kakvi pre…ksi, odnosno su…ksi. Izraz (1 + 10) pred-
stavlja skup nizova koji zapoµcinju jedinicom i ne sadrµze dvije uzastopne nule, dok
(0 + e) (1 + 10) predstavlja skup svih nizova koji poµcinje bilo kako i ne sadrµze dvije
uzastopne nule (NCZ sustav, uveden u 4.3.5). Dakle, jezik de…niran predzadnjim
regularnim izrazom sadrµzan je u jeziku de…niranom zadnjim regularnim izrazom.
Uz ternarnu abecedu, A = f0; 1; 2g, izraz 0 1 2 oznaµcava skup nizova s pro-
izvoljnim brojem nula, iza kojeg slijedi proizvoljan broj jedinica, iza kojeg slijedi
proizvoljan broj dvojki. U skladu s gornjom de…nicijom zaokruµzenja u nizu moµze
biti i nula bilo kojih, pa i tako i nula sveukupnih znamenaka. Podskup tog skupa koji
sadrµzava nizove s barem jednom od svake znamenke iz abecede opisujemo izrazom
00 11 22 , koji se kratko oznaµcava i kao 0+ 1+ 2+ .

5.3.2 Primjer regularnog izraza za FA


Regularni izraz ekvivalentan konaµcnom automatu na slici 5.1 jest

( (00 + 11) + (01 + 10) (00 + 11) (01 + 10) ) : (5.12)

To se dade zakljuµciti iz oblika prijelaznog dijagrama, odnosno iz pravila koje automat


implementira (paran ukupan broj nula i paran ukupan broj jedinica). Zagrade oko
prvog unutarnjeg izraza nisu nuµzne i sluµze da naglase sluµcaj pojave uzastopnog
parnog broja nula ili jedinica. Sljedeće tri unutarnje zagrade µcine regularni izraz
5
Prijevod prema [61]. Kao primjer alternativnog prijevoda, u [44] korišten je izraz “zatvaraµc”.
90 5. Raµcunski automati u kontekstu modeliranja

za tvorbu sastavljenog niza u kojem broj uzastopnih nula i jedinica ne mora biti
paran. Prva od njih opisuje sluµcaj kad se nakon pojave jedne nule i jedne jedinice,
ili obrnuto — jedne jedinice i jedne nule, prelazi u desno donje stanje na dijagramu.
Srednja zagrada opisuje mogućnost da se iz desnog donjeg stanja proµcita proizvoljan
paran broj nula i jedinica, a posljednja oznaµcava da se na kraju trebamo vratiti u
konaµcno stanje u lijevom gornjem uglu. Lako je provjeriti da će gornji regularni
izraz, baškao i konaµcni automat sa slike 5.1, prihvatiti svaki niz w s parnim ukupnim
brojem nula i parnim ukupnim brojem jedinica, a neće prihvatiti niz koji nema to
svojstvo. To ilustriraju sljedeći primjeri nizova:
(
101110000110101101 ; prihvatljiv ;
w= (5.13)
101110100110101101 ; nije prihvatljiv .

5.3.3 Veza sa simboliµckom dinamikom

Veza konaµcnih automata sa simboliµckom dinamikom iz prethodnog poglavlja oµcita


je. Raspišemo li skup w svih rijeµci sa znakovima binarne abecede:

w e ; 0; 1 ; 00; 01; 10; 11 ; 000; 001; : : : ; : : : ; : : : g ;


= f |{z}
|{z} | {z } | {z } (5.14)
l=0 l=1 l=2 l=3

jasno je da se radi o skupu svih binarnih podnizova duljine l = 0; 1; 2; : : : . Skup w


jednak je skupu svih podnizova sadrµzanih u gustoj orbiti (2.36) simboliµcke dinamike.
Uµcitavanje niza duljine l u FA analogno je l-strukom djelovanju posmaµcnog pre-
slikavanja na toµcke iz prostora beskonaµcnih nizova 1 : Primanjem uzastopnih
nizova FA analizira jesu li oni prihvatljivi ili nisu, odnosno odgovaraju li njegovu
ustroju. Ako je odre†eni niz prihvatljiv, tj. ako njegova struktura odgovara regular-
nom izrazu ekvivalentnom za dati FA, tada će svaki takav niz biti ekvivalentan nekom
konaµcnom stanju. Na taj naµcin, FA opisan ure†enom petorkom (Q; A; q0 ; ; QF ),
odnosno svojim prijelaznim dijagramom, predstavlja kriterij za usporedbu nepozna-
tih struktura sa svojom strukturom. Nalaµzenjem odgovarajućeg FA koji će prihvatiti
sve nizove emitirane od nepoznatog procesa, našli smo raµcunarski opis te strukture i
omogućili njezinu kvanti…kaciju. Kvanti…kacija se moµze zasnivati npr. na broju sta-
nja u Q ili, u idućoj aproksimaciji, na odgovarajućoj kvanti…kaciji mogućih prijelaza
i njihovih svojstava i tome sliµcno.
5. Raµcunski automati u kontekstu modeliranja 91

5.4 Stohastiµcki konaµcni automati


Kod deterministiµckih konaµcnih automata iz svakog njihova stanja po svakom simbolu
abecede postoji jedinstveni prijelaz u sljedeće stanje. Pridodamo li tim prijelazima
vjerojatnosti njihova pojavljivanja, dobivamo stohastiµcke deterministiµcke konaµcne
automate (engl. Stochastic Deterministic Finite Automata, SDFA). Osim kad će
trebati naglasiti njihovu deterministiµcnost, taj ćemo naziv skraćivati u stohastiµcki
konaµcni automati (SFA). Zbog uvedene stohastiµcnosti SFA postaju temelj statisti-
µcke mehanike [21, 22]. Po analogiji sa statistiµckom …zikom zadaća je tog podruµcja
da skupljanjem podataka o “mikroskopskim stanjima” objašnjava “makroskopske
pojave”. Konkretno, na temelju analize podnizova znakova izluµcenih iz vremenskog
niza kreirat će se model cjelovitog dinamiµckog sustava u formi SFA, u kojem će
raµcunski opis strukture biti nadopunjen rezultatima statistiµcke analize.

5.4.1 Geneza iz razreda FA


Polazimo od (deterministiµckog) konaµcnog automata opisanog ure†enom petorkom
(Q; A; q0 ; ; QF ) [def. 5.3]. Funkcija de…nira prijelaze q ! q 0 , iz stanja q po
s
simbolu s u stanje q 0 . Prijelaz de…nira granu (brid) e usmjerenog grafa FA,6 odnosno
ure†enu trojku e = (q; s; q 0 ) . Skup E svih takvih grana jest
n o
E = e : e = (q; s; q 0 ) q ! q 0 ; q; q 0 2 Q ; s 2 A : (5.15)
s

Deterministiµcki FA (DFA) iz stanja q po simbolu s moµze prijeći u samo jedno


stanje q 0 i takav prijelaz mora biti de…niran za svaki simbol s 2 A . Stoga poznavanje
para doga†aja (q; s) funkcijski odre†uje i konaµcno stanje q 0 , pa i granu e .
De…niramo li sada za svaku granu e iz E uvjetnu vjerojatnost Pr ((s; q 0 ) j q) =
Pr (s; q 0 jq), za pojavu ure†enog para doga†aja (s; q 0 ) pod uvjetom stanja q ,
Pr (q; s; q 0 ) Pr (e)
Pr (s; q 0 j q ) = = 0; (5.16)
Pr (q) Pr (q)
dobivamo stohastiµcki konaµcni automat (SFA).
Uz v stanja sustava i a simbola abecede ovih vjerojatnosti ima v v a, pa ih
s
kao elemente Tqq0 organiziramo u tenzor T dimenzija v v a :

a
XX
s s
T = Tqq0 v v
; Tqq0 = Pr (s; q 0 j q ) ; s
Tqq0 =1: (5.17)
q 0 2Q s2A

6
Za diskusiju naziva iz teorije grafova vidjeti podbilješku 1 u 4.3.
92 5. Raµcunski automati u kontekstu modeliranja

U gornjem smo izvodu svakom prijelazu q ! q 0 iz FA pridruµzili njegovu uvjetnu


s
vjerojatnost Pr (s; q 0 j q) 0 . Ukoliko je za neki simbol s ta vjerojatnost nula, prije-
laz je nemoguć i na grafu SFA ga nećemo crtati. Za DFA to se nije moglo dogoditi,
ali za NFA jest (napomena 1 uz de…niciju 5.4), pa smo uvo†enjem stohastike u inaµce
deterministiµcki model uveli i osobitost nedeterministiµckih automata.
Normiranost u (5.17) zahtijeva da iz svakog stanja postoji barem jedan mogući
prijelaz. Ako je prijelaz samo jedan, onda je njegova vjerojatnost 1. Takav prijelaz
zovemo siguran ili deterministiµcki prijelaz (engl. sure, deterministic transition),
gdje drugi atribut, naravno, nema veze s (ne)deterministiµcnosti automata.
Tenzor T u potpunosti opisuje prijelaznu i vjerojatnosnu strukturu SFA. Primjeri
SFA-grafova dani su u narednim poglavljima (npr. sl. 6.5, 7.2, prilog K,. . . ).

5.4.2 Funkcionalna speci…µcnost SFA


Temeljna zadaća konaµcnih automata jest provjera pripadnosti proizvoljnih nizova
znakova odre†enim regularnim jezicima. Ako niz pripada regularnom jeziku nekog
konaµcnog automata, tada ga taj automat “prihvaća”, te po uµcitanju svih znakova
niza staje u nekom od svojih konaµcnih stanja. Za ostvarenje ove standardne uloge,
prihvatnika i raspoznavatelja (engl. acceptor, recognizer), gramatika (regularnog)
jezika mora biti unaprijed poznata da bi se po njoj konstruirao ekvivalentni joj
automat. Za razliku od toga, glavna je namjena SFA da prikaµze model ekvivalentan
jeziku s apriori nepoznatom gramatikom, koju tek trebamo istraµziti. Stoga u fazi
gradbe modela, ili — rjeµcnikom podruµcja strojnog uµcenja (engl. machine learning) —
u fazi uµcenja (engl. learning phase),7 prihvaćamo i poslije analiziramo svaki primlje-
ni niz i svaki njegov podniz. Tu nema apriornog naµcina da se neki niz a…rmira kao
prihvatljiv, a drugi diskriminira kao neprihvatljiv. Ovo moµzemo interpretirati kao
zahtjev za potpunosti i nepristranosti modeliranja. On prirodno slijedi iz de…nicije
modeliranja iz vremenskog niza (def. 3.3).
Iz navedenog zakljuµcujemo sljedeće:
I. U fazi gradbe modela prihvaćamo sve (pod)nizove i u dobivenom SFA sva
stanja smatramo konaµcnima.
II. Po okonµcanju gradbe SFA moµzemo prijeći u fazu prihvaćanja i raspoznavanja,
u kojoj provjeravamo prihvaća li dobiveni SFA neki proizvoljni ulazni niz. Tada
moµzemo postupiti na dva naµcina:
7
Uµcenje modela spomenuto je kod opisa umjetnih neuronskih mreµza u 4.1.
5. Raµcunski automati u kontekstu modeliranja 93

i. Bez daljnje analize sva na†ena stanja u SFA moµzemo proglasiti konaµcni-
ma, QF = Q . Takav SFA prihvaća sve nizove koji se u njemu mogu
kreirati poµcevši od zadanog stanja i slijedeći neku od njegovih mogućih
s
staza (s prijelazima za koje je Tqq0 = Pr (s; q 0 j q ) > 0). 8 [To mora vrijediti
za sve podnizove koji su bili uµcitani u fazi uµcenja (vidjeti 6.4, 6.5).]
ii. Analizom strukture SFA ili na drugi naµcin odrediti skup prikladnih ko-
naµcnih stanja QF Q (npr. eliminacijom tranzijentnih stanja), pa onda
kao i u prethodnoj toµcki koristiti takav SFA za provjeru prihvatljivosti
proizvoljnih nizova.

5.4.3 Formalni opis SFA


Uz uvaµzavanje gornje diskusije o konaµcnim stanjima, na temelju de…nicija skupa
prijelaza (5.15) i tenzora prijelaza (5.17) prirodno slijedi:

De…nicija 5.5 SFA jest ure†ena µcetvorku (Q; A; q0 ; T) odre†ena skupom stanja Q;
abecedom A; poµcetnim stanjem q0 i vjerojatnosnim tenzorom prijelaza T de…nira-
nim izrazom (5.17), pri µcemu je svaki prijelaz (grana grafa) e = (q; s; q 0 ) funkcijski
odre†en ure†enim (zdruµzenim) parom doga†aja (q; s) .9 Ako nije drugaµcije navedeno,
sva stanja iz Q smatramo konaµcnima.
Napomena 1. SFA jest regularan ako i samo ako je T regularan prema (5.17).
Napomena 2. Vjerojatnost prijelaza (grane) e = (q; s; q 0 ) iz skupa E iznosi Pr (e) =
Pr (q) Pr (s; q 0 j q) , 10 pa tenzor T de…nira dozvoljene (nedozvoljene) prijelaze e kao
s
one za koje je Tqq0 s
= Pr (s; q 0 j q) > 0 (Tqq0 = 0). Nedozvoljene ili nemoguće prijelaze
ne prikazujemo u SFA-grafu. Za deterministiµcki prijelaz vrijedi Tqqsd0 = 1 (§5.4.1).
d

Korolar 5.1 SFA (Q; A; q0 ; T) jedinstveno je odre†en svojim tenzorom prijelaza


T i indeksom i0 poµcetnog stanja q0 (uobiµcajeno i0 = 0 ili 1), pa vrijedi jednakost
(Q; A; q0 ; T) = (T; i0 ) .
Dokaz. Skupovi Q i A odre†eni su brojem svojih elemenata koji slijede iz di-
menzija tenzora T prema (5.17). Stoga je uz tenzor T potrebno poznavati jošsamo
indeks i0 retka (stupca) poµcetnog stanja. Obrat je jasan po de…niciji SFA.
8
Formalni prijelaz iz SFA u FA zahtijeva da se za svaki simbol s0 , po kojem u SFA iz stanja
q ne postoji prijelaz (jer mu je vjerojatnost nula), uvede prijelaz u novo stanje (npr. ;) koje nije
konaµcno i iz kojeg se prijelazi po svim simbolima vraćaju u to isto stanje.
9
Za pojmove i nazive ure†eni, odnosno zdruµzeni par (n-torka) doga†aja vidjeti C.1.3.
10
Tu podrazumijevamo da su vjerojatnosti poznate s dovoljnom toµcnosti, bilo na osnovi teorijske
analize pravila sustava, bilo na osnovi statistike primljenog vremenskog niza (vidjeti 6.5, 6.7).
94 5. Raµcunski automati u kontekstu modeliranja

si
Korolar 5.2 Neka je (Q; A; q0 ; T) SDFA i Tqq0 > 0, si 2 A, q; q 0 2 Q . Tada
je vjerojatnost prijelaza u sva ostala stanja q 00 2 Q, q 00 6= q 0 , Tqqsi00 = 0 . Drugim
rijeµcima, u svakom retku matrice T si postoji jedan i samo jedan nenulelement .
Dokaz. Za SDFA je prijelaz e = (q; si ; q 0 ) funkcijski odre†en zdruµzenim parom
doga†aja (q; si ) . Dakle, za svaki par (q; si ) postoji jedinstveno konaµcno stanje q 0 ,
si
pa stoga i samo jedan element u retku q matrice T si takav da je Tqq0 > 0.
Gornje ćemo svojstvo pokazati na konkretnim primjerima prilikom razmatranja
informacijsko-teorijskih aspekata SFA u odjeljku 7.4.
Nestohastiµcku aproksimaciju SFA, koju ćemo oznaµcavati s FA’, dobivamo “ukla-
njanjem”vjerojatnosti prijelaza. U tenzoru T sve nenulelemente zamjenjujemo jedi-
nicama, µcime tvorimo spojni tenzor T0 (§7.3.3). FA’nalik je FA, ali on dozvoljava
da po nekim simbolima prijelazi ne postoje (vidjeti i podbilješku 8, u 5.4.2).
Rezimiramo da stroj M iz razreda SFA formalno moµzemo opisati kao:
i. Stohastiµcki konaµcni automat MSF A = (Q; A; q0 ; T) ;
ii. Nestohastiµcku aproksimaciju SFA s FA’, MF A0 = (Q; A; q0 ; T0 ) .

Zbog ukljuµcene stohastike SFA sadrµzi više informacije od FA’. Stoga bi njemu
ekvivalentan regularan izraz trebao sadrµzavati informaciju o vjerojatnostima prije-
laza izme†u stanja. Primjerice, za Bernoullijev niz u kojem su jedinice dvostruko
vjerojatnije od nula to bismo mogli zapisati kao 0j 23 + 1j 13 . Uobiµcajeno su te
vjerojatnosti jednake i tada zapis pojednostavljujemo na standardni, (0 + 1). Uz
ovu, implicitnu, de…niciju vjerojatnosti regularni izrazi u potpunosti de…niraju SFA.
Koristit ćemo ih za opis “pravilnih”dinamiµckih sustava (primjeri u 6.5, 7.4, I.3).
Stohastiµcki konaµcni automati predstavljat će temeljni -stroj — kljuµcnu opera-
tivnu razinu modeliranja u teoriji -strojeva. Podudarnost izme†u ta dva pojma i
naµcin njihove gradbe iz vremenskog niza pokazat ćemo u sljedećem poglavlju.

5.4.4 Tranzijentna i rekurentna stanja


Odjeljak završavamo razmatranjem karaktera stanja proizvoljnog razreda automata,
glede (ne)mogućnosti njihova ponavljanja.

De…nicija 5.6 Neprazan skup Q stanja proizvoljnog automata dijeli se na dva dis-
junktna podskupa Q = Qt [ Qr , Qt \ Qr = ;, za koje vrijedi:
(i) Qt je skup prolaznih ili tranzijentnih stanja (engl. transient states) u koja se
sustav više ne vra´ca nakon prelaska u bilo koje stanje skupa Qr ;
5. Raµcunski automati u kontekstu modeliranja 95

(ii) Qr je skup ponavljajućih ili rekurentnih stanja (engl. recurrent states) izme†u
kojih sustav prelazi po ulasku u bilo koje od tih stanja.

Napomena 1. Valja uoµciti da gornja de…nicija dozvoljava da se sustav vrati u odre-


†eno tranzijentno stanje nakon što ga je napustio, ali samo ako je u me†uvremenu
boravio u drugim, iskljuµcivo tranzijentnim, stanjima.
Napomena 2. Rekurentna stanja jedina su stanja s vjerojatnošću većom od nula u
vektoru pst stacionarnih vjerojatnosti [vidjeti def. 5.7, odnosno izraz (4.3c)], pa ih
u tom kontekstu nazivamo i stacionarna stanja (engl. stationary states).

Korolar 5.3 (i) Za regularan SFA (Q; A; q0 ; T), s nepraznim skupom Q stanja,
skup Qt moµze biti prazan, dok Qr mora biti neprazan, tj. kQt k 0, kQr k 1 .
(ii) Skup Qr rekurentnih stanja i skup Er prijelaza me†u njima, Er = fe : e =
(q; s; q 0 ) ; q; q 0 2 Qr g, µcine jako povezanu sastavnicu (engl. strongly connected com-
ponent) oznaµcenog usmjerenog grafa kojim je SFA prikazan.

Dokaz. (i) Uz neprazan Q oµcito je da neprazan mora biti i skup Qr , inaµce Qt


i Qr ne bi udovoljavali de…niciji 5.6. Ako je Qt prazan, sustav se odmah nalazi u
barem jednom rekurentnom stanju iz Qr . (ii) Kad sustav u†e u jedno od stanja
iz Qr , tada po de…niciji on prelazi samo izme†u stanja iz tog istog skupa. Drugim
rijeµcima, kad se u neko stanje q 0 2 Q ne bi moglo prijeći iz bilo kojeg drugog
rekurentnog stanja, tada po de…niciji 5.6 ono ne bi bilo rekurentno. Zato iz svakog
rekurentnog stanja postoji staza kojom moµzemo prijeći u bilo koje drugo rekurentno
stanje, što odgovara de…niciji jako povezane sastavnice LDG-a.

5.5 Stohastiµcki nedeterministiµcki konaµcni


automati
U prethodnom smo odjeljku iz deterministiµckih konaµcnih automata izveli njihovu
stohastiµcku inaµcicu, a ovdje iz nedeterministiµckih konaµcnih automata izvodimo sto-
hastiµcke nedeterministiµcke konaµcne automate (engl. stochastic nondeterministic …-
nite automata, SNFA).

5.5.1 Geneza iz razreda NFA i usporedba s HMM-ima


Polazimo od NFA de…niranog petorkom (Q; A; q0 ; ; QF ) ; prema de…niciji 5.4.
Budući da za NFA postoje nedeterministiµcki prijelazi, u skupu E općenito se za neko
96 5. Raµcunski automati u kontekstu modeliranja

stanje q i primljeni simbol s pojavljuje više grana e, e 2 f(q; s; q 0 ) : q 0 2 Qg . Dakle,


za razliku od DFA gdje je svaka grana (q; s; q 0 ) predeterminirana parom doga†aja
(q; s), kod NFA q 0 nije funkcija od (q; s). Me†utim, skup svih grana E opisan je na
jednak naµcin kao i kod SDFA, relacijom (5.15). Uz tako odre†ene prijelaze izme†u
stanja proširenje koncepta tenzora prijelaza na SNFA svodi se na neku raspodjelu,
s s
npr. uniformnu, jedinstvenog elementa Tqq0 iz SFA (5.17) na n vjerojatnosti Tqq0 ,
0 0 0 0
P n s s
i

za n mogućih sljedećih stanja q = q1 ; q2 ; : : : ; qn , tako da je i=1 Tqq0i = Tqq0 . Glede


konaµcnih stanja SNFA vrijedi ista diskusija kao i u 5.4.2.
Da bismo de…niciju SNFA uµcinili što općenitijom, usporedit ćemo taj opis i sa
skrivenim Markovljevim modelima. Vidimo da je gore uvedeni vjerojatnosni tenzor
T operativna zamjena za skup T k matrica prijelaza iz EOHMM-a prema de…niciji
4.3. Preostala je razlika u tome što kod SNFA govorimo o poµcetnom stanju, dok
se kod EOHMM-a de…nira distribucija vjerojatnosti za poµcetno stanje na temelju
svojstva stacionarnosti pst = pst T . Dozvolimo li da sustav zapoµcne svoju dinamiku
iz bilo kojeg stanja — a prema distribuciji stacionarnih vjerojatnosti pst — pripremili
smo temelje za formalno odre†enje SNFA.

5.5.2 Formalni opis SNFA


De…nicija 5.7 Stohastiµcki nedeterministiµcki automat (SNFA) jest ure†ena µcetvorka
(Q; A; T; pst ), odre†ena skupom stanja Q; abecedom A; vjerojatnosnim tenzorom
prijelaza T de…niranim izrazom (5.17), te stacionarnom distribucijom vjerojatnosti
pst za poµcetna stanja, dobivenom iz uvjeta stacionarnosti pst = pst T .

Ovako de…nirani SNFA predstavlja poopćenje SDFA. Za njega vrijedi uvjet normi-
ranosti jednak onom za SDFA u (5.17). Naravno, za SNFA ne vrijede korolari 5.1 i
5.2, što slijedi iz diskusije u prethodnom odjeljku.
Gornja de…nicija navodi nas na sljedeći vaµzan teorem.

Teorem 5.1 SNFA (Q; A; T; pst ) odre†en prema de…niciji 5.7 ekvivalentan je
EOHMM-u V; A ; T k ; pst , uz Q = V , T , T k .

Dokaz. Budući da smo cijeli naškoncept SNFA prilagodili de…niciji EOHMM-a,


dokaz slijedi izravno iz prethodne de…nicije.
Za obje vrste stohastiµckih konaµcnih automata, i SDFA i SNFA, potpunosti radi
navodimo i sljedeći korolar:
5. Raµcunski automati u kontekstu modeliranja 97

Korolar 5.4 Za SDFA (Q; A; q0 ; T) i SNFA (Q; A; T; pst ) (def. 5.5, 5.7) ure-
†ena trojka M C = (V; T; pst ) jest pozadinski Markovljev lanac.

Dokaz. Jednak dokazu korolara 4.1 za Markovljev lanac kod EOHMM-a.

5.6 Automati viših razreda


Pored prethodno navedenih automata, u teoriji -strojeva naµcelno se mogu pojaviti i
drugi apstraktni raµcunski strojevi. Racionalni modelar nastojat će uporabiti najma-
nje sloµzenu vrstu automata koja je sposobna proizvesti konaµcan model promatranog
sustava. U ovom ćemo odjeljku ukratko, na kvalitativnoj razini, opisati automate i
strojeve viših razina koji su prikladni za modeliranje dinamiµckih sustava.

5.6.1 Razredi automata iznad SFA


U sluµcaju da model temeljen na SFA divergira, potrebno je uvesti viši razred au-
tomata koji moµze raspoznati i generirati nizove znakova uskla†ene s gramatikom
jezika koji primamo od sustava. Za takav bismo automat potom mogli razmotriti
uvo†enje stohastike, kao što je to bilo napravljeno kod konaµcnih automata.
Na primjer, za jezike s kontekstno neovisnom gramatikom (CFG, §5.1) razina
SFA u općenitom sluµcaju neće biti dovoljna jer, rekurzivna de…nicija zahtijeva or-
ganizaciju stoµzne memorijske strukture. Rješenje je uporaba potisnog stoµznog au-
tomata, PDA, koji je ekvivalentan CFG (vidjeti pododjeljak 5.1.2).
Prilikom modeliranja strukturalno bogatih dinamiµckih sustava, posebice onih na
pragu kaosa, ispostavlja se da gramatika ne moµze biti kontekstno neovisna, tj. da je
nuµzno pregledavanje sadrµzaja zadnjih podnizova koji su izluµceni iz primljenog vre-
menskog niza. Da bi se ostvario konaµcan model, potrebno je organizirati višu razinu
automata — jednosmjerni nedeterministiµcki ugnijeµz†eni stoµzni automat (engl. one-
way nondeterministic nested stack automata, 1NnSA) [18, 26]. Ugnijeµz†eni stoµzni
automat (nSA) posjeduje memorijski stog u kojem se kao elementi mogu pojavljivati
drugi stogovi, te je zato strukturalno znatno moćniji od obiµcnih PDA. PDA moµze
pristupati samo vršnom elementu stoga i upravljati njime s pomoću standardnih
stoµznih operacija. Pored toga nSA moµze µcitati sadrµzaj svih elemenata stoga, dakle i
onih ispod vršnog. Odrednica “jednosmjerni”(1) govori da je pristup drugim stogo-
vima u nSA onemogućen dok se ne isprazni stog na kojem automat trenutno operira.
98 5. Raµcunski automati u kontekstu modeliranja

Konaµcno, pridodana nedeterministiµcnost (N) omogućava dodatne stupnjeve slobode


u radu automata, a time i opis strukturalno vrlo sloµzenih sustava.

5.6.2 Univerzalno raµcunanje


Univerzalni Turingov stroj (engl. Universal Turing Machine, UTM) ima univerzalnu
raµcunarsku moć i sposoban je obaviti svaki deterministiµcki algoritam. Bernoulli-
Turingov stroj (engl. Bernoulli-Turing Machine, BTM) povrh toga ima i svoj izvor
stohastiµcnosti, kojim moµze simulirati nepredvidljivost ponašanja dinamiµckih sustava
(sl. 5.6). Pravi izvor stohastiµcnost moµze potjecati od velikog broja teško odredljivih
parametara na makroskopskoj razini — kao kod bacanja novµcića, ili od inherentne
spontanosti kvantnih sustava u mikrosvijetu, kao npr. kod emisije fotona u atomu.
Na slici je zamišljena prva mogućnost, ali na molekularnoj razini. Posebna sonda
mjeri brzinu pojedinih molekula vrele tekućine, koja je raspodijeljena po normal-
noj distribuciji. Tako dobivene brojeve moµzemo transformirati i na drugaµciju, npr.
ravnomjernu, raspodjelu. Na taj naµcin ostvarujemo pravi, potpuno nepredvidljivi
generator sluµcajnih brojeva, fundamentalno razliµcit od algoritamski ostvarenih ge-
neratora pseudosluµcajnih brojeva (PRNG, vidjeti 8.2.1). Takav izvor stohastiµcnosti
moµzemo pridjeljivati i drugim automatima i strojevima koji trebaju opisati sustave
sa stohastiµckom i kvazistohastiµckom komponentom (vidjeti podbilješku 4 u 3.1.3).
BTM ćemo iskoristiti kao model usporedbe prilikom formalizacije pojma statistiµcke
kompleksnosti u odjeljku 7.2.

5.7 Hijerarhija raµcunskih strojeva


Kao rezime poglavlja u ovom ćemo odjeljku prikazati hijerarhiju raµcunskih au-
tomata — od najjednostavnijih do univerzalnog Turingovog stroja. Najprije ćemo
promotriti me†usobni odnos standardnih raµcunskih strojeva, a potom i njihovih
dopunjenih verzija koje ukljuµcuju stohastiµcke parametre sustava.
Da opišemo strukturu nekog procesa moramo pronaći njegove elementarne uzorke
i njihove me†uodnose. Time stvaramo i temelj za kvanti…kaciju sloµzenosti strukture
i njezina opisa (§7.2, 7.3). Potom traµzimo model koji dovoljno dobro opisuje ustroj
promatranog procesa i koji je uz to minimalno sloµzen. Odnosno, u okviru gore izloµze-
ne raµcunske interpretacije, moramo pronaći stroj s najniµzom razinom sloµzenosti koji
daje konaµcnu prezentaciju procesa. Pri tom se zahtijeva i µcim jednostavniji razred
stroja i µcim jednostavnija implementacija stroja u okviru tog razreda. U sluµcaju da
5. Raµcunski automati u kontekstu modeliranja 99

Ulazna traka
1 0 1 1 1 0 0 1 1 0 1 1 1

Radna traka
1 1 0 1 1 1
Bernoulli- Kontrolna
Turingov jedinka
Stroj (s konačnim
(BTM) brojem stanja) Izvor
stohastičnosti

0 0 1 0 1 0 0 0 1 0 1 0 1
Izlazna traka

Slika 5.6: Bernoulli-Turingov stroj (BTM). To je univerzalni Turingov stroj (UTM) s pri-
dodanim izvorom stohastiµcnosti — ovdje u formi sonde koja mjeri brzine molekula u uza-
vreloj tekućini. Motiv za uvo†enje BTM-a odustajanje je od deterministiµckog opisa (kvazi)
stohastiµckih sustava [u koje spadaju i oni u reµzimu deterministiµckog kaosa]. UTM zahtijeva
beskonaµcni raµcunarski napor za toµcnu reprodukciju beskonaµcno dugaµckog sluµcajnog niza.
BTM stohastiµcke nizove samo simulira, tj. generira njihove statistiµcke ekvivalente.

poµcetno odabrani razred ne moµze dati odgovarajući model, moramo preći u moćniji
razred strojeva (vidjeti §6.4).

5.7.1 Hijerarhija diskretnih strojeva


Hijerarhijska podjela standardnih diskretnih automata i strojeva glede njihovih raµcu-
narskih mogućnosti prikazana je na slici 5.7. Idući od dna prema vrhu slike naila-
zimo na sve moćnije strojeve, sposobne za interpretaciju jezika sa sve sloµzenijom
gramatikom. Ukoliko je razred strojeva Mi ispod razine razreda Mj i ako je na slici
povezan s njime, tada strojevi iz razreda Mj mogu razaznati sve jezike kao i Mi ,
uz mogućnost interpretacije i dodatnih jezika koje razina ispod ne prihvaća. Tako
je ovdje vidljivo da su — zbog svoje raµcunske ekvivalentnosti — DFA i NFA na istoj
razini, mada će DFA općenito imati više stanja od ekvivalentnog mu NFA. Ispod
automata napisana je gramatika koju on reproducira. Sa slike je tako†er vidljivo
da — za razliku od konaµcnih — kod stoµznih automata (SA) ne vrijedi ekvivalent-
nost izme†u njihovih deterministiµckih (DSA) i nedeterministiµckih inaµcica (NSA).
(1)NSA razred moćniji je od (1)DSA. Jednako tako, prethodno spomenuti 1NnSA
ima mogućnost raspoznavanja tzv. indeksirane kontekstno neovisne gramatike (engl.
100 5. Raµcunski automati u kontekstu modeliranja

TM/UTM
RE/2LS
RS
2NSA 2
CN
2DSA UCDTIME(2 )
UCDTIME(nCN)
2NENSA
2
2NEDSA NSPACE(n )
DSPACE(nlogn) 1LS
NLBA/CSG
2DLBA NSPACE(n)
DSPACE(n)
1NnSA
ICFG
0LS

RICFG
1NRPA

1NSA

PDA
1NENSA
CFG
1DSA mogućnosti
Opisne

DPDA
1NEDSA
DCFL
Beskonačno
Konačno
DFA/NFA
Pravilni izrazi
Striktno Konačni
sofički potposmaci

Jednoliki
Periodični
Bernoulli

Slika 5.7: Hijerarhija raµcunskih automata i strojeva (prema [26]). Idući od dna prema
vrhu nailazimo na sve moćnije strojeve, sposobne za interpretaciju sve sloµzenijih jezika.
Stroj više razine razaznaje jezik stroja niµze razine s kojim je povezan. Legenda pridjeva
(engl.): 1 (2) = 1 (2) way input tape, D (N) = (non)deterministic, I = indexed, RI =
restricted I, n = nested, NE = nonerasing, CF = context free, CS = context sensitive, R =
recursive, RE = R enumerable, U = universal. Legenda objekata (engl.): G = grammar, A
= automaton (automata), FA = …nite A, PDA = pushdown A, SA = stack A, LBA linear
bounded A, RPA = reading PDA, TM = Turing machine, LS = Lindenmayer system, 0L
= CF LS, 1L = CS LS, RS = R set.
5. Raµcunski automati u kontekstu modeliranja 101

SNFA/EOHMM/
RHMM/FMC
Nedeterministički
Kontinuirani
Deterministički SDA
Fraktalni
SDA
Prebrojivi
SDA

SDFA

MC

Bernoulli

DFA NFA

Striktno
sofički

Topološki Konačni
MC potposmaci

Puni
posmak Periodični

Slika 5.8: Hijerarhija raµcunskih strojeva i sustava s konaµcnom memorijom (prema [26]).
Odijeljeni su deterministiµcki od nedeterministiµckih sustava te sustavi bez od sustava sa
podrškom stohastiµckoj mjeri. Opisne mogućnosti rastu koso, gore-udesno. Nestohastiµcki
su klasiµcni automati koji razaznaju formalne jezike (preuzeti iz donjeg dijela sl. 5.7). Sto-
hastiµcki automati pored topologije stanja i prijelaza daju i njihove vjerojatnosti, pa zato
podrµzavaju mjeru entropije. Na ovoj bi slici ultimativni BTM stroj bio gore-desno, iznad
svih ostalih automata. Legenda kratica (engl.): A = automaton (automata), F = …nite,
D = Deterministic, N = nondeterministic, S = stochastic, MC = Markov chain, HMM
= hidden Markov model, RHMM = recurrent HMM, FMC = Function of Markov Chain.
Pridodano izvorniku: EOHMM = edge output HMM (§ 4.3, 5.5).
102 5. Raµcunski automati u kontekstu modeliranja

indexed context-free grammar, ICFG). U gornjem desnom uglu, na najvišoj razini,


nalazi se UTM kao ultimativni stroj za diskretno izraµcunavanje.
Navedeni hijerarhijski ure†aj ipak nije potpun, jer svi razredi automata nisu
izravno usporedivi (takvi na slici nisu povezani linijama). Tako†er, u ovim, stan-
dardnim, strojevima ne postoji podrška za praćenje stohastiµcnosti sustava, pa na
temelju njih ne moµzemo provesti informacijsko-teorijsku analizu.

5.7.2 Hijerarhija konaµcnih nestohastiµckih i


stohastiµckih automata
Za modeliranje u okviru teorije -strojeva posebice je zanimljiva hijerarhija automata
i strojeva s konaµcnom memorijom, prikazana na slici 5.8 (prema [26]). Automati su
tu poredani glede svoje raµcunarske moći sliµcno kao i na prethodnoj slici, uz dvije do-
datne podjele: na deterministiµcke i nedeterministiµcke (koje dijeli kosa crta od dolje-
desno prema gore-lijevo), te prema podršci vjerojatnosnoj mjeri na nestohastiµcke
(dolje) i stohastiµcke (gore, od horizontalne crte). Smjer porasta opisnih mogućnosti
okvirno je oznaµcen kosom strelicom usmjerenom gore, udesno.
Na slici su DFA i NFA nacrtani na istoj visini, jer su raµcunarski ekvivalentni.
Me†utim, NFA je “iznad”, odnosno desno od kose linije koja razdvaja deterministi-
µcke i nedeterministiµcke strojeve te — u skladu sa smjerom donje strelice — ima veće
deskriptivne mogućnosti od DFA. Razlika izme†u ovih klasa automata produbljuje
se nakon uvo†enja podrške za stohastiµcke procese. Tada DFA prelazi u jedinstveni
SDFA razred, opisan u 5.4. S druge strane, NFA prelazi u tri razliµcite klase automata
tipa SDA (stohastiµcki, deterministiµcki prebrojivi), koje su sve, naravno, moćnije od
SDFA. Ove su tri klase podklase od SNFA, kojem su ekvivalentni rekurentni HMM
i funkcije Markovljevih lanaca [23, 26]. Mi smo u 5.5 pokazali ekvivalentnost SNFA
s EOHMM (što je pridodano izvornoj slici iz [26]). Ultimativni BTM stroj, s besko-
naµcnom memorijom i podrškom stohastiµckoj mjeri iz vlastitog izvora stohastiµcnosti,
bio bi smješten povrh svih ovih konaµcnih automata, visoko gore-desno.
Poglavlje 6

Raµcunska mehanika i -strojevi

U prethodnom dijelu ovog rada osvrnuli smo se na širi kontekst raµcunske mehanike
te pripremili podlogu za izlaganje teorije -strojeva i algoritama njihove gradbe. U
poglavljima 2 i 3 opisana je generacija vremenskog niza iz dinamiµckog sustava, a u
poglavlju 4 — kao najpogodnija za modeliranje iz takve vrste ulaznih podataka —
odabrana je upravo teorija -strojeva. Potom su u poglavlju 5 formalno izvedeni
stohastiµcki konaµcni automati, za koje ćemo ovdje pokazati da su temeljni prezen-
tacijski model -strojeva. Tako†er, dan je pregled automata i strojeva viših razina
koji mogu posluµziti kao raµcunski modeli za sloµzenije sustave.
Ovo poglavlje zapoµcinjemo nerigoroznim opisom -strojeva u kontekstu crutch-
…eldovske raµcunske mehanike. Potom na temelju izvornika u [21, 22, 26] i naših pre-
gleda teorije iz rakursa raµcunarskih znanosti [44, 45], de…niramo njezine osnovne poj-
move u matematiµcki postroµzenoj formi. Radi aktualizacije teorije uvodimo operativ-
ne de…nicije u kojima su pored parametra vjerojatnosne preciznosti ukljuµcena i pre-
ostala dva parametra modela — duljina izluµcenih rijeµci i duljina sljedova unaprijed.
Time je omogućena analiza duljina korelacija i postavljanje uvjeta regularnosti mo-
dela. Matematiµcko-formalni dio završit ćemo de…nicijama operativnog i reprezen-
tativnog temeljenog -stroja te uspostavom njihove formalne podudarnosti sa sto-
hastiµckim konaµcnima automatima (SFA). Naµcelnu hijerarhijsku gradbu -strojeva
konkretizirat ćemo na primjeru nalaµzenja SFA iz rašµclambenog stabla testnog su-
stava, “na papiru”. To će posluµziti kao ideja za konstrukciju izvornog, FM algoritma
za nalaµzenje SFA-modela [44, 45]. On će biti nadopunjen temeljitim, TFM algorit-
mom koji pri gradbi modela istraµzuje sva podstabla rašµclambenog stabla. Poglavlje
završava primjerom uporabe DSA programa za modeliranje testnog dinamiµckog su-
stava zadanog pravilom i detaljnom analizom dobivenih rezultata.

103
104 6. Raµcunska mehanika i -strojevi

6.1 Pregled raµcunske mehanike i smjernice


U uvodnom poglavlju de…nirali smo crutch…eldovsku raµcunsku mehaniku kao suµzeno
podruµcje raµcunske mehanike u kojem se dinamiµcki sustavi i prirodni procesi analizi-
raju, opisuju i modeliraju iskljuµcivo s pomoću raµcunskih entiteta (§1.2.1). Okosnicu
tog podruµcja — kojeg u ovom radu kratko nazivamo raµcunska mehanika — µcini teo-
rija -strojeva. Njezina je zadaća da na temelju primljenog vremenskog niza gradi
(modi…cirani) raµcunski model sustava temeljen na kauzalnim stanjima. U ovom
ćemo odjeljku dati kratak i neformalan opis osnovnih pojmova iz ovog podruµcja i
osvrnuti se na njegovu primjenu.

6.1.1 -stroj kao kauzalni model


U ovako suµzenoj raµcunskoj mehanici cilj je nalaµzenje raµcunskog ustroja promatranog
procesa ili sustava. Pri tom se postavlja pitanje kako sustav odašilje (ili prima)
informaciju i kako je ta informacija povezana s dinamikom sustava. Zanima nas
intrinziµcan raµcun (engl. intrinsic computation), odnosno pohrana, prijenos i obrada
informacije koju sustav interno obavlja tijekom svoje evolucije [33]. Tom unutarnjem
raµcunu moµze se potom dodijeliti i neka konkretna, npr. …zikalna, interpretacija.
Da bi se pronašao raµcunski ustroj, na temelju primljenog vremenskog niza gradi
se -stroj — raµcunski model de…niran kauzalnim stanjima i prijelazima izme†u njih.
Uz svaki prijelaz vezano je odašiljanje (primanje) odre†enog znaka iz abecede su-
stava. Na temelju statistike podnizova izluµcenih iz vremenskog niza raµcunskom se
ustroju pridodaje stohastika prijelaza (engl. transition stochastics), tj. vjerojatnost
za pojavu odre†enog simbola i narednog (kauzalnog) stanja pod uvjetom trenutnog
kauzalnog stanja.1 Dakle, iz takvog se stanja razvoj sustava odvija neuvjetovano od
njemu prethodnih stanja [21, 22, 26], odnosno ono µcini budućnost sustava neovisnom
o prošlosti koja se doga†ala prije njega [23, 85]. Stoga je poznavanje kauzalnog stanja
dovoljno da se stohastiµcki predvide moguća buduća stanja sustava.
Dobiveni -stroj mora biti i minimalan model, s minimalnim brojem stanja i
sa stohastikom prijelaza koja reproducira nizove statistiµcki podudarne vremenskim
nizovima promatranog sustava — unutar zadane vjerojatnosne toµcnosti.

1
Zbog deterministiµcnosti kauzalnog modela, trenutno stanje i simbol jedinstveno odre†uju
sljedeće kauzalno stanje, odnosno, trenutno i sljedeće stanje jedinstveno odre†uju simbol po kojem
se prijelaz doga†a (vidjeti izlaganja u 6.2.7, 6.2.8 i def. 5.5).
6. Raµcunska mehanika i -strojevi 105

6.1.2 Nadogradnja raµcunskih modela


Iz prethodnog opisa -stroja razvidno je da metodologiju teorije raµcunarstva treba
upotpuniti da bi se ona mogla uspješno primjenjivati za modeliranje sustava iz
stvarnog svijeta. Crutch…eld navodi tri, kvalitativno nove, sastavnice koje se moraju
pridodati raµcunskim modelima [23, 26]:
i. Stohastiµcnost (vjerojatnosni aspekti sustava);
ii. Induktivno zakljuµcivanje (uvo†enje inventivnog koraka pri modeliranju);
iii. Uvo†enje višedimenzionalnosti (opis prostornih fenomena).
Zahtjevu (i) već smo udovoljili u prethodnom poglavlju — na aksiomatskoj razini
uvo†enjem BTM-a, a na konkretnoj razini uvo†enjem SFA. U sljedećim ćemo odjelj-
cima pokazati da (temeljni) -stroj, dobiven analizom podnizova u primljenom vre-
menskom nizu, de…nira stanja SFA i njegovu stohastiku. Zahtjev (ii) već smo disku-
tirali pri razmatranju epistemoloških temelja modeliranja u pogl. 3, a uvo†enje ino-
vacijskog koraka precizirat ćemo prilikom opisa gradbe -strojeva u 6.4.
Zahtjev (iii) predstavlja posebno podruµcje koje se bavi problemima aproksimacije
prostornog kontinuuma. Spomenut ćemo tek da postoje tri glavna modela kojima
se to ostvaruje [48]:
Staniµcni automati, kao potpuno diskretni sustavi, s diskretnim prostornim i
vremenskim koordinatama te diskretnim stanjima (§4.2);
Vezana preslikavanja ili rešetka vezanih preslikavanja (engl. coupled maps, cou-
pled maps lattice), u kojima se diskretiziraju prostor i vrijeme ali varijabla
stanja ostaje kontinuirana [16];
Vezane diferencijalne jednadµzbe (engl. coupled di¤erential equations) u ko-
jima se klasiµcni pristup prostorno-vremenskog kontinuuma rješava numeriµckim
metodama [48].
Kao što smo već naglasili u 1.2.1, nezaobilazni je dio naše raµcunske mehanike
uporaba Shannonove teorije informacija. Budući da smo u modele uveli stohastiµcnu
komponentu, Shannonova teorija omogućuje izraµcun entropija za raznovrsne dis-
tribucije vjerojatnosti koje moµzemo iznaći iz dobivenog raµcunskog modela. Te će
entropije dati informacijsko-teorijske pokazatelje o modelu, odnosno globalni, sta-
tistiµcki uvid o informacijskim svojstvima promatranog sustava — od koliµcine infor-
macije koju on odašilje, do njegove unutarnje raµcunarske sloµzenosti. Za ovo potonje
uvodi se mjera sloµzenosti koja proizlazi iz strukture raµcunskog modela. Ovim ćemo
se aspektom raµcunske mehanike baviti u poglavlju 7.
106 6. Raµcunska mehanika i -strojevi

6.1.3 Primjena raµcunske mehanike i teorije -strojeva


Raµcunska mehanika uspješno je primijenjena za modeliranje mnogih nelinearnih di-
namiµckih sustava. Teorija -strojeva dala je svoj doprinos izuµcavanju jednodimen-
zionalnih (1D) sustava kao što su logistiµcko preslikavanje (§2.1) i šatorsko presli-
kavanje (engl. tent map). Prvo je istraµzeno za neke tipiµcne vrijednosti kontrolnog
parametra, od kojih istiµcemo “kraj puta prema kaosu udvostruµcenjem perioda” te
Misiurewiczev parametar [17, 18, 21, 26]. U ovom ćemo radu to ponoviti i nadopu-
niti (§9.1.2, 9.2.5). U radovima Shalizia i Crutch…elda [58, 59] razmatra se uporaba
teorije -strojeva u novim podruµcjima — od pretvornika bez i sa memorijom, do
vremenskog niza i staniµcnih automata, ukljuµcujući i primjenu na više prostornih
dimenzija (tako†er vidjeti i uvodni pregled, u pododjeljku 1.2.4).
Okosnica našeg rada implementacija je i primjena programskog alata za praktiµcno
modeliranje, pa se ovdje ograniµcavamo na uobiµcajenu primjenu teorije -strojeva na
1D sustave. Sva primljena informacija sadrµzana je u jedinstvenom nizu znakova,
pa se glede ulaznih podataka radi o standardnom zakljuµcivanju iz vremenskog niza
(§1.2.1, 3.5). Modeli dobiveni iz lineariziranog niza podataka ne mogu izravno
odraziti prostornost, odnosno višedimenzionalnost sustava. No bez obzira na to, i u
jednoj dimenziji nailazimo na veliku raznolikost i posvemašnju osebujnost ponaša-
nja dinamiµckih sustava (§1.1.1). To će potvrditi njihovi mnogobrojni primjeri koje
izlaµzemo u ovom radu — od testnih sustava zadanih pravilnim izrazima, preko peri-
odiµcnih, do razliµcitih sluµcajeva kaotiµcnog ponašanja logistiµckog preslikavanja (vidjeti
odjeljke 6.5 i 6.7, 7.4, te cjelokupne rezultate modeliranja u poglavlju 9).

6.2 Osnove teorije -strojeva


Formalnu razradu teorije -strojeva iz naših izlaganja u [44, 45] ovdje zaokruµzujemo i
nadopunjujemo operativnim de…nicijama temeljnih pojmova, u kojima su pridodani
svi relevantni parametri modeliranja. To doprinosi njihovoj aktualizaciji u stvarnom
modeliranju i izravnoj primjenjivosti u algoritmima gradbe -strojeva.

6.2.1 Uzroµcna stanja


Sa stanovišta modelara koji prima vremenski niz, rezultat mjerenja u mjerno-modeli-
rajućem kanalu svodi se na nalaµzenje indeksa i podjeljka i u danom mjernom
prostoru, gdje je i 2 N = f0; 1; : : : ; nI 1g, a nI je vezan za dimenzionalnost
6. Raµcunska mehanika i -strojevi 107

i toµcnost mjerenja: nI " Dim (pogl. 3). Indeks i kodiramo kao jedan znak s iz
abecede A, koju odabiremo tako da vrijedi card (A) = kAk = nI :

s = si 2 fs0 ; s1 ; : : : ; sa 1 g = A : (6.1)

Kodirana mjerenja s (posredni) su pokazatelji stanja promatranog sustava,

2 = 0; 1; : : : ; v 1 ; (6.2)

gdje je skup svih mogućih stanja i v = k k . Cilj nam je pronaći ta stanja iz niza
mjerenja s = s0 s1 s2 : : : i opisati ih kauzalnim modelom. Uvodimo pojam uzroµcnog
(kauzalnog) stanja (engl. causal state) za vremenski niz proizvoljne duljine.

De…nicija 6.1 Neka je zadan vremenski niz s u kojem su simboli indeksirani s


obzirom na diskretni vremenski trenutak t 2 Z ,

s = : : : st 2 st 1 st st+1 st+2 : : : ; si 2 A : (6.3a)

Tada niz s moµzemo podijeliti na vremenski slijed:

(i) unatrag : st 1 = : : : st 2 st 1 ; (6.3b)


(ii) unaprijed : s!
t = st st+1 st+2 : : : : (6.3c)

Za vremenski slijed st 1 unatrag kaµzemo da je uzroµcno ili kauzalno stanje vre-


menskom slijedu s!t unaprijed.

Napomena 1. Naziv slijed koristit ćemo za vremenski usmjereni (pod)niz znakova.


Napomena 2. Slijed unatrag pisat ćemo pojednostavljeno i kao st 1 = s, posebice
kad se nalazi ispred slijeda s!
t unaprijed koji de…nira t .

Ovako de…nirani sljedovi unaprijed (unatrag) predstavljaju informaciju o buduć-


nosti (prošlosti) sustava u odnosu na vremenski trenutak t . U općenitom sluµcaju
promatrat ćemo niz mjerenja koja ne moraju imati dobro de…nirani poµcetak, što
odgovara eksperimentalnoj realnosti i problemu nalaµzenja faze procesa. Dobiveni
kauzalni model bit će vjeran ako pojedina stanja automata, zajedno s njihovim
prijelazima i odgovarajućim vjerojatnostima, dobro odgovaraju stvarnim stanjima
sustava i prijelazima izme†u njih. Kao što je navedeno u 6.1.1, model mora repro-
ducirati vremenske nizove koji su statistiµcki podudarni onima iz sustava. Pri tom
otkrivena stanja mogu ili ne moraju biti podudarna sa stvarnim stanjima sustava
(vidjeti HMM, §4.3). No, usporedbom predvi†anja koje daje model s onim što se
stvarno doga†a, moµzemo ocijeniti njegovu uspješnost. Strogoća znanstvenih kriterija
u tom smislu moµze biti potpuna (vidjeti izlaganje u 3.1).
108 6. Raµcunska mehanika i -strojevi

6.2.2 Uvo†enje stohastiµcnosti


Za vjerojatnosni opis sustava koristimo zdruµzene vjerojatnosti (engl. joint probabi-
lities)2 svih mogućih parova sljedova unatrag i unaprijed, te uvjetne vjerojatnosti
(engl. conditional probabilities) za pojavu slijeda unaprijed pod uvjetom slijeda una-
trag. Standardne su oznake za njih:

Pr st 1 ; s!
t = zdruµzena vjerojatnost pojave para doga†aja:
(slijed unatrag = st 1 , slijed unaprijed = s!
t );

Pr s!
t j st 1 = uvjetna vjerojatnost, za pojavu uvjetnog doga†aja:
(slijed unaprijed = s!
t j pod uvjetom: prethodio je slijed unatrag = st 1 ).

Vjerojatnost za pojavu niza s moµzemo izraziti kao vjerojatnost ure†enog para


Pr st 1 ; s!
t , odakle po de…niciji uvjetne vjerojatnosti slijedi:

Pr (s) = Pr st 1 ; s!
t = Pr s!
t j st 1 Pr st 1 : (6.4)

Za slijed unatrag, odnosno za uzroµcno stanje st 1 = s, moµzemo promatrati


distribuciju uvjetnih vjerojatnosti Pr (s!
t j s), kao vjerojatnosnu mjeru zadanu za
sve moguće buduće sljedove s!
t nakon s .

6.2.3 -ekvivalentna stanja


Sada smo spremni za de…niciju -ekvivalentnih stanja (engl. -equivalent states).

De…nicija 6.2 Dva uzroµcna stanja s = st 1 i s0 = st0 1 , de…nirana vremenskim


trenucima t; t0 2 Z i pripadnim sljedovima unatrag st 1 , st0 1 , -ekvivalentna ( -
jednaka) su za neki 2 R ; 0 < 1, ako im se uvjetne vjerojatnosti svih sljedova
s!
t 2 A ne razlikuju za više od . To pišemo kao

s s0 () jPr (s!
t j s) Pr (s! 0
t j s )j ; s!
t 2 A ; (6.5a)

ili kao -ekvivalentnost pripadnih uvjetnih distribucija vjerojatnosti:

Pr (s!
t j s) Pr (s! 0
t js ) : (6.5b)

Napomena 1. Prema notaciji iz odjeljka 5.3 A oznaµcava skup svih proizvoljno


dugaµckih nizova simbola iz A . Od njih se u promatranom nizu pojavljuju oni koje
“sustav dozvoljava”. Za takve je nizove gornja uvjetna vjerojatnost veća od nule.
2
Kod nas zvane i 2-dimenzionalne vjerojatnosti.
6. Raµcunska mehanika i -strojevi 109

Normiranost uvjetne distribucije zahtijeva da je vjerojatnost za prijelaz u barem


neko od budućih stanja veća od nule.
Napomena 2. Za -ekvivalenciju tranzitivnost ne vrijedi, jer iz s1 s2 i s2 s3
općenito ne proizlazi s1 s3 . Stoga to nije prava relacija ekvivalencije.
Napomena 3. U daljnjem izlaganju pod pojmom ekvivalencija ili jednakost stanja
podrazumijevat ćemo da se radi o -ekvivalenciji (jednakosti).
U modeliranju zasnovanom iskljuµcivo na informaciji primljenoj iz vremenskog
niza, gornja je de…nicija prirodna i opravdana. Dva uzroµcna stanja s i s0 , koja
opisuju sustav u trenucima t i t0 , iako s razliµcitim prošlostima i stoga opisana
razliµcitim sljedovima unatrag, s 6= s0 , mogu biti -jednaka: s s0 .
Jednakost kauzalnih stanja rezimiraju sljedeće dvije tvrdnje:
Dva kauzalna stanja -ekvivalentna su kad imaju jednaku paletu budu´cih stanja
i -jednake vjerojatnosti za prijelaz u svako od tih stanja.
Sa stanovišta modelara dva su kauzalna stanja -ekvivalentna kad je predvi†ena
budu´cnost sustava — odre†ena na temelju prikupljenog znanja — iz oba ta sta-
nja ( ) jednaka, odnosno kad ta stanja imaju jednako znaµcenje (§ 3.1). Znanje,
odnosno mogu´cnost predvi†anja budu´cnosti, sastoji se u poznavanju distribuci-
je vjerojatnosti budu´cih stanja pod uvjetom sadašnjeg. Te uvjetne distribucije
modelar nalazi iz statistike primljenih rijeµci i njihovih pre…kasa.

6.2.4 Operativna de…nicija uzroµcnih stanja


U prethodnoj, idealiziranoj de…niciji, A oznaµcava skup svih nizova proizvoljne
duljine. Prilikom konkretnog modeliranja moramo odrediti maksimalnu duljinu niza
kao bitan parametar modela, kao što je već i diskutirano u 5.1.1. Stoga uvodimo
ograniµcenje da za sve sljedove unaprijed mora vrijediti da im je duljina l L.
Beskonaµcan skup A restringiramo na konaµcan skup A L svih nizova µcija duljina ne
premašuje L, što smo već diskutirali u 5.1.1.
U našem se modeliranju pojavljuje i duljina D rijeµci koje ekstrahiramo iz vre-
menskog niza. Unutar tih rijeµci analiziramo sljedove unaprijed duljine L, pa mora
vrijediti: D; L 2 N ; L D . D oµcito ne moµze biti 0 jer na temelju praznih rijeµci
nema smisla graditi model. Tako†er, da bismo mogli uspore†ivati vremenske slje-
dove unaprijed, oni ne smiju biti prazni (e). Sada izraz (6.3a) preinaµcujemo za
vremenski podniz sD konaµcne duljine D :
sD = st+1 : : : st+k 1 st+k st+k+1 : : : st+D ; 1 k D; (6.6a)
110 6. Raµcunska mehanika i -strojevi

gdje smo zbog jednostavnijeg prebrojavanja znakova krenuli od trenutka t + 1 .


Za svaku novu ekstrakciju posmiµcemo ovaj “prozor” širine D znakova za jedno
mjesto udesno, tj. na trenutak t + 2, t + 3 itd. Pojednostavljenja radi prelazimo na
relativno vrijeme koje je za poµcetni simbol prozora uvijek t0 = 0, pa pišemo

sD = s1 s2 : : : sk+1 sk sk+1 : : : sD : (6.6b)

Ovime smo pripremili temelj za operativnu inaµcicu de…nicije uzroµcnih (kauzalnih)


stanja za konaµcne duljine D i L (usporediti s def. 6.1).

De…nicija 6.3 Neka je iz vremenskog niza s izluµcen podniz sD duljine D :

sD = s1 s2 : : : sk 1 sk sk+1 : : : sD ; 1 k D;

sa simbolima sk 2 A . Neka si;j oznaµcava podniz od sD koji poµcinje simbolom si


te ima duljinu j , 1 j D , 1 i D j + 1, uz pokratu s1;j = sj . Tada podniz
sD moµzemo podijeliti na vremenske sljedove:

(i) unatrag : sk 1 = s1 s2 : : : sk 1 ; (6.7a)


(ii) unaprijed : s!
k; L = sk sk+1 : : : sk+L 1 : (6.7b)

Za vremenski slijed st 1 = sk 1 unatrag kaµzemo da je uzroµcno stanje vremenskom


slijedu s!
t = s!k; L unaprijed. Za k = 1 vremenski slijed st 1 = s1;k 1 = s0
unatrag prazan je niz e, što odgovara inicijalnom uzroµcnom stanju. Slijed unatrag
pojednostavljeno ´cemo oznaµcavati kao st 1 = sk 1 = s kad mu je duljina de…nirana
iz nadovezanog slijeda s!
k; L unaprijed.

Napomena. U gornjoj de…niciji slijed unatrag sk 1 = s1;k 1 indeksiramo od njegova


poµcetnoga, lijevog znaka, koji u prozoru širine D ima indeks 1 i predstavlja praktiµcnu
µcvrstu toµcku. Time se nova notacija razlikuje od one iz de…nicije 6.1, gdje se indek-
sacija ravnala prema promatranom znaku. Ne postoji suštinska razlika izme†u ova
dva pristupa. Nova je notacija prilago†ena analizi rijeµci duljine D u rašµclambenom
stablu µciji će korijen odgovarati praznom slijedu s0 , odnosno inicijalnom stanju.

Ograniµcenja iz gornje de…nicije prevedena na indeks simbola k daju:

1 k D L+1: (6.8)
6. Raµcunska mehanika i -strojevi 111

6.2.5 (L; )-ekvivalentna stanja (operativna de…nicija)


S obzirom na gornju diskusiju o maksimalnoj duljini sljedova unaprijed, stegnut ćemo
prethodnu teorijsku de…niciju ekvivalentnih stanja na sljedeću operativnu inaµcicu:
De…nicija 6.4 Uz rijeµci duljine D iz AD (izluµcene iz nekog vremenskog niza) te
maksimalnu duljinu L sljedova unaprijed, D; L 2 N, L D , dva uzroµcna stanja
0
s = sk 1 i s = sk0 1 , de…nirana vremenskim trenucima k i k 0 , 1 k; k 0 D L,
(L; )-ekvivalentna su za neki 2 R ; > 0, ako su im uvjetne vjerojatnosti svih
sljedova s!
k unaprijed, duljine od 1 do L, -jednake:

s s0 () jPr (s!
k j s) Pr (s! 0
k j s )j ; (6.9a)
L;
8 s!
k 2 AL :
To zapisujemo i kao (L; )-ekvivalentnost pripadnih uvjetnih distribucija:
Pr (s!
k j s) Pr (s! 0
k js ) : (6.9b)
L;

Ako stanja nisu (L; )-ekvivalentna, kaµzemo da su (L; )-razliµcita.

Sva stanja koja su me†usobno (L; )-ekvivalentna de…niraju jedan razred ekviva-
lencije (engl. equivalence-class) i isto kauzalno stanje. O tome govori:
De…nicija 6.5 Skup D; L; svih stanja i sustava jest skup razreda ekvivalencije
uzroµcnih stanja s za sljedove unaprijed s! !
t;L = sk;L 2 AL s obzirom na relaciju ,
L;
u kojima je s predstavnik (engl. representative) razreda ekvivalencije stanja i:

D; L; =f i : s; s0 2 AL ; s0 sg; (6.10)
L;

L D ; i = 0; 1; : : : ; v 1; v 2 N :
Napomena 1. Za ograniµcene nizove duljine D , kao i za sve nizove ograniµcene slijeva,
za predstavnika razreda ekvivalencije odabiremo najkraći s . Iz njega se za zadani
D moµze ostvariti najveći L, a i vjerojatnosti će mu biti najpreciznije (§6.5.5).
Napomena 2. Za L se moµze uzeti L = D , no tada je jedini slijed unatrag prazan
niz, pa se moµze ustanoviti postojanje samo jednog, inicijalnog, stanja.
Zanemarenjem stohastiµckih parametara, odnosno otpuštanjem na 1, proma-
tramo samo morfološki razliµcita (engl. morphologically di¤erent) stanja.
De…nicija 6.6 Skup D; L svih stanja sustava prona†enih u nekom podskupu iz
AD promatramo kao skup razreda ekvivalencije morfološki razliµcitih uzroµcnih stanja
s!
t 2 AL s obzirom na relaciju = prema de…niciji 6.5.
L L; =1
112 6. Raµcunska mehanika i -strojevi

6.2.6 Morfovi
U praktiµcnom modeliraju vaµzan je pojam morfa (engl. morph).

De…nicija 6.7 Skup M i svih budu´cih sljedova s!


i unaprijed, mogu´cih iz nekog
stanja i 2 de…niranog slijedom s unatrag (koji vodi do njega),

M i = f s! !
i : Pr (si j s) > 0 g ; si ; s!
i 2 A ; (6.11)

naziva se budući morf (engl. future morph) ili kratko morf. Skup svih sljedova s
unazad koji potpadaju pod klasu ekvivalencije stanja i (koji dovode do tog stanja),
naziva se prošli morf (engl. past morph).

Na isti naµcin kao i kod specijalizacije -ekvivalencije na (L; )-ekvivalenciju sta-


nja, de…niramo sada L-morfove:

De…nicija 6.8 Skup M i ; L svih budu´cih sljedova s!


i;L unaprijed duljine od 1 do L,
L D , koji su mogu´ci iz nekog stanja i 2 D; L , de…niranog slijedom s unatrag iz
razreda ekvivalencije (6.10) tog stanja,

M i ;L = f s! ! !
i : Pr (si j s) > 0 g ; si ; si 2 AL ; (6.12)

nazivamo budu´ci L-morf (engl. future L-morph) ili kratko L-morf. Maksimalnu
duljinu L sljedova u (budu´cem) morfu nazivat ´cemo, ovisno o prikladnosti: duljina,
visina ili dubina morfa. Skup svih sljedova si unazad duljine od 0 do D L koji
su doveli do stanja i , naziva se prošli L-morf (engl. past L-morph).
Napomena. Naziv L-morf µcesto ćemo skraćivati u morf.

Iz de…nicije 6.2 izravno slijedi da je nuµzan uvjet za ekvivalenciju dva stanja


jednakost njihovih L-morfova, tj.

i j =) M i ;L
=M i ;L
; i; j 2 ; L D: (6.13)
L;

Obrat ne vrijedi, jer ako je morfologija istovjetna, M i = M i , to ne uvjetuje i


-jednakost njihovih uvjetnih vjerojatnosti.

Korolar 6.1 (i) Svaki je (budu´ci) L-morf jedinstveno de…niran stanjem i 2 iz


kojeg proizlazi, odnosno bilo kojim od sljedova si unatrag iz prošlog morfa stanja
i . (ii) Svaki prošli morf de…nira jedan i samo jedan (budu´ci) L-morf.
6. Raµcunska mehanika i -strojevi 113

Dokaz. (i) Da stanje i jedinstveno de…nira morf proizlazi izravno iz de…nicije


(budućeg) morfa. Stanje i po de…niciji 6.1 (odnosno de…niciji 6.3) odre†eno je
slijedom unatrag si sk 1 koji vodi do njega. Takvih sljedova moµze biti više, istih
ili razliµcitih duljina. Oni zajedno µcine prošli morf navedenog stanja. Budući da
svi oni vode do stanja i , svaki od njih ga i de…nira. (ii) Prošli je morf de…niran
preko stanja i koje prema de…niciji 6.5 predstavlja klasu ekvivalencije, pa stoga
ima jedinstven skup sljedova unaprijed koji de…niraju jedinstven budući morf.
De…niciju 6.4 moµzemo sada preobliµciti u operativnu inaµcicu:
De…nicija 6.9 Uzroµcna su stanja (L; )-ekvivalentna ako i samo ako:
i. Imaju jednake L-morfove unutar rijeµci duljine D , L D;
ii. Ako su im vjerojatnosti za odgovarajuće sljedove unaprijed -jednake.

Uvodimo i morfološku (oblikovnu) jednakost (engl. morphological equality), jed-


nakost do na duljinu L morfova. Nju ćemo nazivati i topološka (engl. topological) jed-
nakost, jer je u svezi s postojanjem ili nepostojanjem odre†enih podnizova, odnosno
µcvorova, grana i staza u strukturi glavnog stabla i njegovih podstabala (usporediti
s de…nicijom 6.6, vidjeti odjeljke 6.4 i 6.5).
De…nicija 6.10 Za stanja iz D; L koja imaju jednake L-morfove (ali nisu nuµzno
(L; )-ekvivalentna) kaµzemo da su L-morfološki (oblikovno) jednaka, ili kra´ce, mor-
fološki (oblikovno) jednaka, što ´cemo oznaµcavati kao

i j ; (L D) : (6.14)
L

Morfološka ekvivalencija predstavlja grublju relaciju od (L; )-ekvivalencije, pa


će broj njezinih razreda ekvivalencije biti manji ili jednak broju razreda dobivenih
primjenom (L; )-jednakosti stanja.
Za stanja koja nisu morfološki ekvivalentna kaµzemo da su morfološki razliµcita.
Ako to vrijedi, tada po de…niciji 6.9 stanja ne mogu biti -ekvivalentna jer ne sadrµze
jednake sljedove unaprijed. Tada vjerojatnosti prijelaza nije ni potrebno provjera-
vati, pa pišemo:
i j =) i j; i ; j 2 D; L; : (6.15)
L L;

De…nirani pojmovi shematski su prikazani na slici 6.1. Mada s razliµcitom prošlosti,


stanja u t11 i t15 morfološki su ekvivalentna jer oba imaju jednake mogućnosti za
buduće nizove, pa time i za buduća stanja. To zapisujemo kao

st11 = i ; st15 = j ; i j : (6.16)


L
114 6. Raµcunska mehanika i -strojevi

Slika 6.1: Budući morfovi (sljedovi unaprijed) proistekli iz općenito razliµcitih uzroµcnih
stanja. Kad su palete budućih mogućnosti i odgovarajuće vjerojatnosti jednake, proces je
u istom uzroµcnom stanju, neovisnom o prošlosti koja mu je prethodila. U trenucima t11 i
t15 uzroµcna su stanja jednaka, jer su jednaki izgledi za budućnost (prema [21, 26]).

Stanje u t13 opisano sa st13 = k ; k 6= i; j , razliµcito je — jer nas vodi u razliµcitu


budućnost. Iz njega ne postoji mogućnost za prijelaz u ista stanja kao iz i i j .
Stanje k informacijski je minimalno ovisno o i i j jer nudi razliµcitu informaciju
o budućnosti.3
Ukoliko su za i i j uvjetne vjerojatnosti prijelaza za sva nova stanja (za sve
sljedove unaprijed koji proistiµcu iz tog stanja) jednaka unutar parametra ; tada su
morfološki ekvivalentna stanja i i j po de…niciji i (L; )-ekvivalentna,

i j : (6.17)
L;

Prema tome, pridodaju li se sljedovima unaprijed i njihove (uvjetne) vjerojatnosti


pojavljivanja, L-morf se poistovjećuje s uzroµcnim stanjem. To formalizira sljedeća:
De…nicija 6.11 Neka je zadan L-morf Ms0 ; L kao skup budu´cih sljedova s! k;L una-
0
prijed duljine od 1 do L, L D , mogu´cih nakon slijeda sk 1 = s unatrag, i neka je
zadano uzroµcno stanje i 2 D; L; de…nirano slijedom s unatrag iz razreda ekviva-
lencije (6.10) tog stanja. Ukoliko za uvjetne vjerojatnosti sljedova unaprijed vrijedi
relacija (6.9a), tada je takav morf (L; )-ekvivalentan stanju i , pa ga oznaµcavamo
kao M i ; L; i nazivamo precizno (L; )-morf:

i Ms; L = M i ; L; : (6.18)
L;

3
Primjer morfova (stanja) i sljedova unatrag koji ih de…niraju vidljiv je i na sl. 7.4.
6. Raµcunska mehanika i -strojevi 115

Napomena 1. U daljnjem ćemo tekstu, a posebice u praktiµcnoj uporabi, pod kratkim


nazivom morf podrazumijevati upravo (L; )-morf. Gdje je potrebna distinkcija u
odnosu na L-morf, koristit ćemo puni naziv (vidjeti i napomenu uz def. 6.8).
Napomena 2. Kao i kod de…nicije (L; )-ekvivalentnih stanja i njihovih razreda
ekvivalencije u 6.2.5, za predstavnika razreda ekvivalencije morfova (engl. morph’s
equivalence-class representative) odabiremo morf Ms; L = M i ; L; s najkraćim s .

Kao nadopuna korolaru 6.1, koji vrijedi za sve morfove, iz gornje de…nicije slijede
dodatne dvije tvrdnje kojima se eksplicira ekvivalencija novouvedenih (L; )-morfova
s uzroµcnim stanjima.

Korolar 6.2 (i) Svako stanje i odre†eno je skupom (L; )-morfova Ms0 ; L , sa slje-
dovima unatrag (stanjima) s0 iz klase (L; )-ekvivalencije koju de…nira stanje i .
(ii) Morfovi M i ; L; , de…niraju klase ekvivalencije iste kao i stanja i 2 D; L; ,
i = 1; 2; : : : ; v , kojima su (L; )-ekvivalentni.

Dokaz. Izravno iz de…nicija 6.11 i 6.5.

Rezime o morfovima, prilagodba indeksacije. Nakon gornjeg izlaganja pojam


(budućeg) (L; )-morfa i uzroµcnog stanja poistovjećujemo i oba naziva koristimo kao
sinonime. Konotacije naziva morf usmjerene su prvenstveno prema formi i struk-
turi (podnizova, odnosno stabala i podstabala), no zbog prikladnosti koncepta koji
opisuje, pod tim ćemo nazivom podrazumijevati i njegove vjerojatnosne osobine.

Po korolaru 6.1 (budući) L-morf ili (L; )-morf de…niran je svojim uzroµcnim sta-
njem, odnosno slijedom sk 1 unatrag koji to stanje de…nira. Otuda zakljuµcujemo:

i. Za slijed unatrag sk 1 koji identi…cira morf, uvodimo prikladniji indeks te


pišemo: sk 1 = sl , l = k 1, l = 0; 1; : : : ; D L . Tada je slijed unaprijed niz
s!
l+1; L [usporediti s def. 6.3 i izrazom (6.8)], pa morf koji je (L; )-ekvivalentan
uzroµcnom stanju i de…niranim sa sl oznaµcavamo kao M i ; L; = Msl ; L; ili
jednostavnije Ms; L (vidjeti napomenu o oznaµcavanju u def. 6.3).

ii. Kao i ranije, s0 = e prazan je slijed unatrag duljine 0, koji po de…niciji 6.3
predstavlja inicijalno stanje. Njega sada povezujemo s indeksom l = 0 . Dva
moguća slijeda unatrag duljine 1, s1 = 0 i s1 0 = 1, povezujemo s indeksom
l = 1 te, općenito, 2l sljedova unatrag duljine l povezujemo s indeksom l .
116 6. Raµcunska mehanika i -strojevi

6.2.7 De…nicija -stroja


Rekonstrukcija -stroja jest nalaµzenje uzroµcnih (kauzalnih) stanja sustava iz pri-
mljenog vremenskog niza uz zadane parametre modela D; L; . Na temelju (L; )-
ekvivalencije (def. 6.4) formira se skup stanja D; L; kao skup razreda ekvivalencije
(def. 6.5), od kojih je svaki predstavljen jednim — npr. prvim prona†enim — stanjem
za koje je utvr†eno da je (L; )-razliµcito od svih predstavnika do tada ustanovljenih
razreda ekvivalencije.
Vremenski razvoj dinamiµckog sustava svodi se na prijelaze iz stanja u stanje.
Neka je sustav u trenutku t = l u stanju l , a u sljedećem trenutku, t + 1 = l + 1,
u stanju l+1 (uz indeksaciju s kraja prethodnog pododjeljka). Trenutke l i l + 1
moµzemo poistovjetiti s pozicijom u rijeµci od D znakova. Po de…niciji 6.11 i korolaru
6.2 ta uzroµcna stanja poistovjećujemo s (L; )-morfovima M l ; L; i M l+1 ; L; .
Poµcetni znak sljedova s! l+1;L unaprijed u prvom morfu M l ; L; , koji je de…niran
nekim slijedom unatrag s, moµze biti bilo koji znak si od a znakova abecede A i on
jedinstveno odre†uje sljedeći morf u trenutku (na mjestu) l+1 . Stoga ćemo taj morf
oznaµciti kao M( l+1 ; si ); L; . Nakon znaka si sljedovi su me†usobno nezavisni, pa je
vjerojatnost za pojavu morfa M( l+1 ; si ); L; nakon stanja l jednaka sumi uvjetnih
vjerojatnosti svih mogućih sljedova unaprijed prvog morfa, duljine toµcno L znakova
i koji zapoµcinju znakom si . Otuda slijedi:
X X Pr ssi ; s!
l+2; L 1
Pr M( l+1 ; si ); L; j l = Pr si s!
l+2; L 1 j l =
s! s!
Pr (s)
l+2; 2AL 1 l+2; 2AL 1

Pr (ssi ) X
= Pr s!
l+2; L 1 jsi
Pr (s) s!
l+2; 2AL 1

= Pr (si j l ) ; si 2 A : (6.19)

Gornjom smo jednakošću dokazali da je vjerojatnost sljedećeg morfa M( l+1 ;si ); L;


jednaka vjerojatnosti pojave simbola si iz stanja l . Budući da je taj morf (L; )-
ekvivalentan stanju l+1 , pojava simbola si automatski znaµci da je uz njega vezano
upravo stanje l+1 , pa govorimo o paru doga†aja si ; l+1 . Dakle, u -stroju prepo-
znajemo bitnu odrednicu deterministiµckih (u smislu teorije raµcunarstva) automata,
kod kojih se po jednom simbolu moµze prijeći u samo jedno stanje.
Prijelaz ! iz stanja l = u trenutku l , u stanje l+1 = 0 u trenutku
si
l + 1, potaknut simbolom si , opisat ćemo djelovanjem općenitog operatora T :
0
T : D; L; ! D; L; ; = T ( ; si ) ; si 2 A : (6.20)
si
6. Raµcunska mehanika i -strojevi 117

Kroz shemu dozvoljenih prijelaza operator T daje topologiju procesa (engl. process’s
topology). Preciznije — preko uvjetnih vjerojatnosti tih prijelaza — on de…nira i sto-
hastiku procesa (engl. process’s stochasticity). Uvjetnu vjerojatnost prijelaza,4

Pr ! T ( ; si ) = Pr ! 0
= Pr (si ; 0 j ) = T si0 ; (6.21)
si si

zapisujemo kao element T si0 tenzora prijelaza (engl. transition tensor) T . Time su
prijelazi izme†u stanja odmah povezani s poopćenom inaµcicom tenzora prijelaza T
SFA-modela [vidjeti izraz (5.17)].
Sumiranjem tenzora T po svim simbolima, reduciramo ga na matricu prijelaza:
X a
T = T si0 ; (6.22)
i=1

koja u retcima sadrµzi uvjetnu distribuciju vjerojatnosti za prijelaze u stanja 0 pod


P
uvjetom stanja , tako da vrijedi 0
2 D; L; T
0 = 1 . T je matrica prijelaza poza-

dinskog Markovljevog lanca de…nirana u 5.5.2.


Uvid u ponašanje sustava nakon primitka vrlo velikog (beskonaµcnog) broja sim-
bola daje stacionarna distribucija vjerojatnosti pst [uvedena u (4.3)],
pst = pst T : (6.23)

Na temelju ove distribucije u sljedećem ćemo poglavlju de…nirati tzv. statisti-


µcku sloµzenost sustava. U stacionarnoj distribuciji nalazimo informaciju o tome koja
su stanja tranzijentna, a koja rekurentna (§5.4.4). Tranzijentna stanja imaju sta-
cionarnu vjerojatnost nula, dok rekurentna ili stacionarna stanja imaju stacionarnu
vjerojatnost veću od nule. Dakle, uz poznatu stacionarnu pst distribuciju za ukupno
v stanja sustava, broj vr rekurentnih stanja iznosi:

vr = kfpi : pst = (p1 ; p2 ; : : : ; pv ) ; pi > 0 ; i = 1; 2; : : : ; vgk : (6.24)

Naravno, broj rekurentnih stanja moµzemo dobiti i analizom prijelaza izme†u


stanja, no gornjim se matriµcnim raµcunom postupak automatizira.
Po de…niciji skupa D; L; mogućih stanja sustava i stohastike njihovih prijelaza
spremni smo za formalno odre†enje -stroja i njegove veze sa SFA-modelima.

De…nicija 6.12 (i) Ure†eni par ( ; T )D; L; ; nazivamo temeljni operativni -


stroj ili kra´ce operativni -stroj, gdje su preciznost i kapacitet raµcunarskih izvorišta
oznaµceni skupnim parametrom . (ii) Ako za neki (širi) interval parametara modela
4 0 0
Zagrade oko para doga†aja ispuštamo kad su unutarnje, tj. Pr si ; j = Pr si ; j .
118 6. Raµcunska mehanika i -strojevi

D , L i dobivamo jednak skup stanja i operator T , tada ure†eni par ( ; T )


nazivamo (temeljni) reprezentativni -stroj.
Napomena 1a. Atribut “temeljni” naglašava da se radi o -stroju koji se prema
hijerarhiji njihove gradbe u 6.4.3 (sl. 6.2) pojavljuje na drugoj razini raµcunskih mo-
dela. Tu ćemo odrednicu uglavnom ispuštati, osim ako te strojeve ne kontrastiramo
naspram -strojeva više razine.
Napomena 1b. Kad se u zapisu ure†enog para ili skupa stanja pojavljuju indeksi
D , L i , razvidno je da se radi o operativnoj, a kad tih indekasa nema, o reprezen-
tativnoj inaµcici stroja, pa se nazivi dodatno mogu skratiti na -stroj.
Napomena 2. u gornjim imenima podsjeća nas da se radi o tvorbi koja je:5
i. za operativne i reprezentativne -strojeve ovisna o znaµcajkama mjernog instru-
menta, njegovoj moći razluµcivanja ("), broju eksperimentalnih proba (Dim,
moµzebitno odraµzenima i kroz veliµcinu abecede, vidjeti 3.2) te o preciznosti i
kapacitetu raspoloµzivih raµcunarskih izvorišta;
ii. za reprezentativne -strojeve zakljuµcena na temelju aproksimacije raµcunske
strukture procesa uvo†enjem konaµcne duljine D rijeµci koje analiziramo, s mak-
simalnom duljinom Lmax morfova te u sprezi s aproksimacijom stohastiµcke
strukture procesa do na vjerojatnosnu preciznost min (za me†usobni odnos
ovih veliµcina vidjeti pododjeljak koji slijedi).
Iz dosadašnjeg izlaganja izvodimo sljedeća tri svojstva -stroja:
1. -stroj reproducira razvoj sustava kao jezgroviti uzroµcno-posljediµcni slijed sta-
nja, potaknut primljenim (odaslanim) simbolima. Primjerice, ako stanje 2
slijedi nakon stanja 1 , tada je sa stanovišta modelara 1 uzrok od 2 , odno-
sno 2 je posljedica od 1 . Na razini temeljnog -stroja stanja su predstavljena
(L; )-morfovima i izme†u njih postoji minimalna informacijska ovisnost.
2. Ako je 1 uzrok od 2 , tada je tok informacije od 1 prema 2 , a koliµcina
prenesene informacije vlastita je informacija vezana uz uvjetnu vjerojatnost
prijelaza Pr ( 2 j 1 ) = p 1 ! 2 , tj. vrijedi I 1 ! 2 = ld p 1 ! 2 .
3. -stroj mora biti minimalan model koji s minimalnim brojem stanja repro-
ducira razvoj sustava i pripadni vremenski niz do na preciznost odre†enu pa-
rametrima D, L i . U suprotnom su neka stanja i uzroµcno-posljediµcne veze
me†u njima rezultat loše izmjere i modeliranja sustava. Minimalnost modela
standardan je zahtjev modeliranja po Occamovoj britvi (§3.1.1).
5
Analogni se parametar koristi u Shannonovoj dimenzionalnoj stopi i u teoriji sloµzenosti
funkcionalnih prostora [19].
6. Raµcunska mehanika i -strojevi 119

6.2.8 Veza -stroja s raµcunskim automatima


Prevedemo li -stroj u formu grafa, dobivamo stohastiµcki konaµcni automat (SFA).
SFA je i uveden u odjeljku 5.4 kao model prikladan za analizu primljenog vremen-
skog niza. Da ga formalno poveµzemo s -strojem, nadopunjujemo njegovu poµcetnu
de…niciju (def. 5.5).
De…nicija 6.13 SFA (Q; A; q0 ; T) koji je prona†en uz eksperimentalno-raµcunarska
ograniµcenja opisana parametrom , oznaµcavamo kao (Q; A; q0 ; T) .
Korolar 6.3 (i) Operativni -stroj ( ; T )D; L; ; s tenzorom prijelaza T de…nira
SFA-model (Q; A; q0 ; T) = (T; i0 ) , s indeksom i0 poµcetnog stanja. Obrat tu ne
vrijedi. (ii) Reprezentativni -stroj ( ; T ) s tenzorom prijelaza T ekvivalentan je
(reprezentativnom) SFA-modelu (T; i0 ) .
Dokaz. Po korolaru 5.1 SFA-model (Q; A; q0 ; T) = (T; i0 ) . Nadalje:
(i) Skup D; L; ( ) kauzalnih stanja -stroja de…nira skup Q stanja SFA, u ko-
jem poµcetno stanje q0 odgovara stanju 0 2 D; L; de…niranom praznim slije-
dom e unatrag. Skup simbola si po kojima se doga†aju prijelazi u operatoru T
[koji odre†uju matrice T si tenzora prijelaza T (6.21)], de…nira abecedu A . Otuda
( ; T )D; L; ; =) (T; i0 ) . Obrat u općenitom sluµcaju ne vrijedi, jer isti se SFA-
model moµze dobiti iz razliµcitih operativnih -strojeva, s razliµcitim D , L, i .
(ii) Implikacija ( ; T ) =) (T; i0 ) dokazuje se kao pod (i). Obrat. Po de…niciji 6.12
-stroj ( ; T ) predstavlja skup operativnih -strojeva ( ; T )D; L; ; koji su jednaki
i uz razliµcite D, L , i . Zato iz SFA-modela (T; i0 ) moµzemo jedinstveno ustvrditi
za koji se interval vrijednosti D, L , i dobivaju operativni -strojevi koji su
me†usobno jednaki, pa stoga i jednaki traµzenom reprezentativnom -stroju.
Prema gornjem korolaru svakom -stroju (i nereprezentativnom) moµzemo pri-
dijeliti njegov SFA, koji predstavlja usmjereni oznaµceni graf (LDG) s pridodanom
stohastikom prijelaza. Stoga je temeljni -stroj nadogradnja deterministiµckih ko-
naµcnih automata (DFA) kao temeljnih modela u teoriji raµcunarstva. Preko njih
povezan je i s regularnim jezicima u Chomskyjevoj hijerarhiji (§5.2, 5.3). Tako†er,
temeljni -stroj povezan je i s Weissovim (striktno) so…µckim sustavima u simboliµckoj
dinamici (§5.7) [17, 18].

6.2.9 Općeniti -stroj, funkcionalna de…nicija


Koncept kauzalnih stanja dade se poopćiti i na više razine. Iz toga proizlazi pojam
općenitog -stroja kao apstraktnog raµcunskog modela [19]. U temeljnom -stroju
120 6. Raµcunska mehanika i -strojevi

kauzalno stanje de…nirano je morfom koji predstavlja skup mogućih budućih sljedova
znakova. U tako dobivenom -stroju skup mogućih budućih razvoja stanja sustava
moµzemo promatrati kao budući morf više razine. Uvo†enjem prikladnih relacija
ekvivalencije, za takve morfove moµzemo de…nirati kauzalno stanje više razine, iz
kojeg nalaµzenjem veza izme†u stanja dobivamo i -stroj više razine. Motiv za takav
postupak moµze biti divergencija broja stanja u poµcetnom modelu, što ćemo detaljno
opisati u sljedećem odjeljku.
Uvo†enje apstraktnog -stroja, općenite razine, omogućava modeliranje proiz-
voljno sloµzenih sustava i zaokruµzuje teoriju -strojeva kao općenito primjenjivu mo-
delirajuću shemu. Pri tom zahtijevamo da općeniti -stroj zadrµzi sva kljuµcna svojstva
temeljnog -stroja, koja su primjenjiva na općenitim razinama modeliranja (uspore-
diti sa svojstvima saµzetim na kraju pododjeljka 6.2.7). Otuda proizlazi funkcionalno-
programatska de…nicija -stroja koju Crutch…eld nagovještava u [18] i formulira u
[19, 21, 26, 24], koju ovdje nadopunjujemo u njezinoj toµcki (iii):

De…nicija 6.14 -stroj jest:


(i) minimalan model,
(ii) na najmanje mo´cnoj raµcunarskoj razini,
(iii) koji daje konaµcan, (L; )-toµcan stohastiµcki opis sustava i reproducira statisti-
µcki ekvivalent (engl. statistical equivalent) njegova vremenskog niza.
Napomena. -stroj prihvaća svaki niz iz sustava kojeg predstavlja. Općeniti primlje-
ni niz on reproducira samo statistiµcki toµcno, do na (L; )-preciznost, tj. podnizove
duljine L emitira s vjerojatnostima koje su unutar od frekvencije tih podnizova
u primljenom vremenskom nizu. -stroj reproducira deterministiµcne (periodiµcne)
nizove deterministiµcki toµcno, nakon što statistiµcki toµcno prona†e njihovu fazu.

6.3 Duljine korelacija


Nakon formalnog opisa -stroja kao ure†ene dvojke ( D; L; ; T ) odredit ćemo broj
simbola vremenskog niza i duljinu korelacije izme†u njih koje taj stroj pronalazi kao
model promatranog sustava. Iz toga potom proizlaze i uvjeti na me†usobni odnos pa-
rametara duljine L morfa i duljine D promatranih rijeµci. Tako†er uvodimo pojmove
linearne i cikliµcke duljine korelacije (engl. linear, cyclic correlation length) kojima
ćemo opisivati najkraću stazu, odnosno najkraći ciklus kojima se mogu povezati sva
stanja -stroja. U usporedbi s brojem (rekurentnih) stanja modela, ove će veliµcine
davati uvid u strukturalnu kompleksnost sheme prijelaza dobivenog modela.
6. Raµcunska mehanika i -strojevi 121

6.3.1 Duljine morfovima istraµzenih korelacija


Po de…niciji 6.11 i toµcki (i) u rezimeu o morfovima ispod nje, morf Msl ; L; s mak-
simalnom duljinom L sljedova unaprijed, zajedno sa slijedom sl unatrag duljine l
koji ga de…nira, povezuje l + L susjednih simbola. Pri tom duljina l slijeda unatrag
općenito ovisi o parametrima L i -stroja kojim opisujemo sustav, pa kad ćemo
to htjeti naglasiti oznaµcavat ćemo je s l (L; ) . Tu duljinu nadalje nazivamo i razina
morfa (engl. morph’s level). Ovime je pripremljena sljedeća:
De…nicija 6.15 Za morf Msl ; L; duljine L na razini l (L; ) uvodimo:
(i) Ukupan broj morfom povezanih (koreliranih) uzastopnih simbola [engl.
total number of the morph-connected (correlated) consecutive symbols]

Ncrr;M r (l; L; ) = l (L; ) + L ; l( ) 0; L 1: (6.25a)

(ii) Ukupnu duljinu morfom istraµzene korelacije [engl. total morph-investiga-


ted correlation length] koju morf moµze na´ci me†u simbolima vremenskog niza

lcrr;M r (l; L; ) = Ncrr;M r (l; L; ) 1 (6.25b)


= l (L; ) + L 1; l( ) 0; L 1:

Napomena 1. U gornjim nazivima pridjev “ukupan” naglašava da doprinos broju


morfom povezanih simbola, odnosno pripadnoj duljini korelacije, daju slijed unatrag
duljine l i sljedovi unaprijed duljine L . Nadalje ćemo radi skraćenja naziva tu odre-
dnicu, jednako kao i odrednicu “uzastopni”, uglavnom ispuštati.
Napomena 2. Duljina korelacije iz (ii) daje maksimalni red memorije izvora koji
model moµze otkriti (vidjeti opis Markovljevog lanca u 4.3.3, [49]). Tako uz lcrr;M r 1
moµzemo otkriti izvor s memorijom prvog reda, u kojem vjerojatnost pojavljivanja
simbola ovisi samo o njegovu neposrednom prethodniku.
Broj NM rCn (l; L; ) simbola, koje povezujemo kroz morf duljine L sa slijedom
unatrag duljine l uz parametar vjerojatnosne preciznosti , odre†uje toµcnost opisa
toµcke u faznom prostoru dinamiµckog sustava (vidjeti 3.3.1, uz prilagodbu oznaka
Ncrr ! l ). Za veću preciznost modela potrebno je da taj broj bude veći. Modelar
moµze na to izravno utjecati povećanjem parametra L kao donje granice ukupnog
broja simbola u korelaciji. Pored toga, taj se broj moµze povećati i povećanjem
duljine l (L; ) promatranih sljedova unatrag, jer razina l (L; ) ovisi i o L i o . S
tim u svezi, u daljnjem razmatranju duljina korelacija anticipiramo bitne odrednice
rada našeg standardnog, FM algoritma, za nalaµzenje morfova (§6.6, alg. 6.2).
122 6. Raµcunska mehanika i -strojevi

Primjerice, za premalu duljinu L morfa moguće je da se za inkrementirani l,


l l + 1, ne nalazi ništa novo, što navodi na obustavu istraµzivanja njihovih daljnjih
(dubljih) podmorfova. Uz veći L povećava se mogućnost za otkrivanje novih morfova
na višim razinama. Sliµcno, uz manji na većim ćemo razinama oblikovno jednake
morfove vjerojatnosno sve bolje razlikovati. Ako pak je “otpušten” na veliku
vrijednost ( 1), uµcinak je sliµcan kao kod premalog L . Tada će podmorfovi koji
su oblikovno jednaki prethodno na†enim morfovima uglavnom biti i -ekvivalentni
s njima, pa se potraga za njihovim daljnjim podmorfovima obustavlja.
Pretpostavimo sada da je uz odabranu duljinu L na razini l otkrivena ili mor-
fološka ili vjerojatnosna novina u strukturi sljedova s!l+1; L unaprijed, a time i novi
morf Msl ; L; . Moramo provjeriti hoće li se za l l + 1 otkrivanje novih morfova
nastaviti ili pak će oni biti (L; )-ekvivalentni nekom prethodnom morfu. Ukoliko
na razini l + 1 nisu otkriveni novi morfovi, tada potraga za novim morfovima staje.
Otuda se nameće:
De…nicija 6.16 Neka je zadan regularan -stroj ( D; L; ; T ) sa stanjima i 2 ,
i = 1; 2; : : : ; v , predstavljenim morfovima na razini li . Neka je lj razina morfa
M j ; L; ve´ca (ili jednaka) od svih ostalih, lj li , j 2 f1; 2; : : : ; v g . Tada ´cemo
razinu lj = lDM zvati razina najdubljeg morfa (morfova) [engl. the level of the
deepest morph (morphs)].

De…niciju 6.15 sada specijaliziramo za razinu najdubljeg prona†enog morfa:


De…nicija 6.17 Neka je zadan -stroj ( D; L; ; T ) s razinom najdubljeg morfa (mor-
fova) lDM (L; ) = lDM . Uvrštavanjem te razine u de…nicije 6.15 (i) i (ii) dobivamo:
(i) Maksimalan broj Ncrr;DM (lDM ; L; ) = Ncrr;DM morfovima povezanih (ko-
reliranih) simbola [engl. max. num. of the morph-connected (correlated) symbols].
(ii) Maksimalnu duljinu lcrr;DM (lDM ; L; ) = lcrr;DM morfovima istraµzene
korelacije [engl. maximal morph-investigated correlation length].
Napomena 1. Pridjev “maksimalan” govori da se radi o veliµcinama dobivenim za
najdublji morf. One ne vrijede za sve podnizove, već samo za one sastavljene od
slijeda unatrag i sljedova unaprijed koji de…niraju taj ili više morfova na razini lDM .
Kratkoće radi, tu ćemo odrednicu ispuštati iz gornjih naziva, podrazumijevajući da
se radi o maksimalnim vrijednostima, karakteristiµcnim za promatrani -stroj.
Napomena 2. Najdublji morf povezan je sa sebi prethodnim morfovima, pa je u
de…niciji 6.16 on zadan u kontekstu cijelog -stroja. Zato se i veliµcine u de…niciji
6.17 odnose na cijeli -stroj i zato se morfovi u njihovim nazivima navode u mnoµzini.
6. Raµcunska mehanika i -strojevi 123

Korolar 6.4 Izravno iz de…nicija 6.17 i 6.15, uz lDM 0, L 1, slijedi:


Ncrr;DM (lDM ; L; ) = lDM + L ; (6.26a)
lcrr;DM (lDM ; L; ) = lDM + L 1: (6.26b)

U ranije opisanom nalaµzenju morfova, za ustanovljenje najdubljeg morfa na razini


lDM morali su na razini lDM + 1 biti na†eni podmorfovi koji spadaju u neku od
ranije oformljenih klasa ekvivalencije. To je preduvjet za zatvorenost svih prijela-
za izme†u stanja i za de…niranost tenzora T , odnosno za regularnost (temeljnog)
-stroja. Stoga se u tom postupku povezuje jedan simbol više i postiµze duljina kore-
lacije za jedan veća od vrijednosti iz izraza (6.26). Za postupak u kojem se uvijek
istraµzuju svi podmorfovi, odnosno sva podstabla u glavnom stablu (kojeg će im-
plementirati temeljiti, TFM algoritam, 6.3), te će veliµcine uvijek biti maksimalno
moguće. To rezimiraju sljedeća de…nicija i korolar.
De…nicija 6.18 Za regularan -stroj ( D; L; ; T ) s najdubljim morfom na razini
lDM (L; ) = lDM uvodimo:
0 0
(i) Broj Ncrr;DM (lDM ; L; ) = Ncrr;DM morfovima povezanih (koreliranih)
simbola pri nalaµzenju -stroja [engl. number of the morph-connected (correlated)
symbols established at …nding of the -machine];
0 0
(ii) Duljinu lcrr;DM (lDM ; L; ) = lcrr;DM morfovima istraµzene korelacije pri
nalaµzenju -stroja [engl. morph-investigated correlation length established at …nd-
ing of the -machine].
Korolar 6.5 Uz lDM 0 i L 1 za FM i TFM algoritme vrijedi:
0 0 (6.27a)
FM: Ncrr;DM = lDM + L + 1 ; TFM: Ncrr;DM = D;
0 0 (6.27b)
lcrr;DM = lDM + L ; lcrr;DM =D 1:

Uvaµzavanjem donjih i gornjih granica dobivamo raspone ovih veliµcina:


Korolar 6.6 Za nalaµzenje regularnog -stroja ( D; L; ; T ) s najdubljim morfom na
razini lDM (L; ) = lDM 0, uz L 1, nuµzni su i dovoljni uvjeti:
(a) na veliµcine iz de…nicije 6.17, za FM i TFM algoritam (po korolaru 6.4):

1 Ncrr;DM = lDM + L D 1; (6.28a)


0 lcrr;DM = lDM + L 1 D 2; (6.28b)

(b) na veliµcine iz de…nicije 6.18, samo za FM algoritam (po korolaru 6.5):


0
2 Ncrr;DM = lDM + L + 1 D; (6.29a)
0
1 lcrr;DM = lDM + L D 1: (6.29b)
124 6. Raµcunska mehanika i -strojevi

Poseban sluµcaj, L = 0. Minimalna duljina morfa, L = 0, daje jedinstveni morf


predstavljen praznim slijedom e unaprijed. Kao takav on nema ni morfološku niti
vjerojatnosnu strukturu. Nalazi se odmah na razini l = 0 i predstavlja jedino stanje
sustava. Za njegove se podmorfove duljine L = 0 na razini l = 1 ustanovljuje da
su mu (0; )-jednaki za svaki , pa stanje prelazi u sebe samog po svim simbolima.
Zato je za L = 0 uvijek lDM = 0 i taj je morf de…niran jedinstvenim, praznim
slijedom e unatrag. Duljina morfovima istraµzene korelacije pri nalaµzenju -stroja
0
jest lcrr;DM (0; ) = 0, jer zbog L = 0 nikakvu korelaciju me†u simbolima nismo
niti mogli istraµziti. Duljina morfovima istraµzene korelacije lcrr;DM pak je negativna
u tom sluµcaju, lcrr;DM = 1 . Oµcito je da ta veliµcina ne moµze biti dobro de…nirana
kad je morfovima povezano maksimalno Ncrr;DM = 0 simbola.

6.3.2 Duljine korelacije -stroja i vremenskog niza


Po primitku velikog broja (raznovrsnih) simbola -stroj prelazi u skup stacionarnih
ili rekurentnih stanja (def. 5.6). Shema prijelaza izme†u tih stanja — jednako kao i
izme†u svih ostalih — dana je operatorom T , odnosno tenzorom prijelaza T. Pri-
mjenom izraza (6.22 - 6.24) iz tenzora T dobivamo broj vr rekurentnih stanja, vr
1, kao jednu od osnovnih odrednica vremenski stacionarnog dijela -stroja. Po
korolaru 5.3 skup rekurentnih stanja (µcvorova) i prijelaza (grana) me†u njima µcini
jako povezanu sastavnicu SFA-grafa stroja. Stoga uvodimo sljedeće pojmove koji
odraµzavaju shemu prijelaza -stroja.
De…nicija 6.19 Neka je zadan -stroj ( D; L; ; T ) s vr 1 jako povezanih rekurent-
nih stanja. Najmanji broj prijelaza, odnosno duljinu najkra´ceg puta, kojim se sva
rekurentna stanja mogu povezati:
(i) Stazom – poµcevši od prvog rekurentnog stanja, koje moµze biti poµcetno ili stanje
najbliµze poµcetnom (jedno od takvih ako ih ima više), nazivamo stacionarna duljina
korelacije -stroja (modela) [engl. stationary correlation length of the -machine
(model)] i oznaµcavamo s l M ;
(ii) Ciklusom –nazivamo duljina stacionarnog ili rekurentnog ciklusa -stroja
(modela) [engl. length of the stationary or recurrent cycle of the -machine (mo-
del)] i oznaµcavamo s M .

Napomena 1. Pridjev “stacionaran”µcesto ćemo ispuštati iz gornjih naziva.


Napomena 2. Pri nalaµzenju najkraće staze izme†u stanja ignoriramo vjerojatnosti
prijelaza (razmatramo samo topološke odrednice operatora T ).
6. Raµcunska mehanika i -strojevi 125

Napomena 3. Duljina ciklusa M u bitnom se razlikuje od duljine puta u CPP-


problemu iz teorije grafova (od engl. Chinese postman problem). Ovdje treba naj-
kraćim putem posjetiti sve µcvorove grafa, a ne proći svim njegovim granama.

Korolar 6.7 Za -stroj ( D; L; ; T ), s vr rekurentnih stanja i a znakova abecede,


duljine korelacije i duljine ciklusa modela imaju sljede´ce donje granice:
lM vr 1; (6.30a)
M vr : (6.30b)

Dokaz. vr stanja ne moµze se povezati s manje od vr 1 prijelaza (grana) što


daje donju granicu za l M . Još je najmanje jedan prijelaz potreban za povratak u
poµcetno stanje, odakle slijedi donja granica za duljinu ciklusa M .
Gornje granice ovih veliµcina ovise o strukturi prijelaza -stroja. Primjer kon-
…guracije -stroja koja rezultira velikom stacionarnom duljinom korelacije moµzemo
dobiti iz SFA-modela sa slike K.3c. On ima standardnih a = 2 slova abecede i
sva stanja rekurentna, v = vr = 5, koja povezuje (staza) ciklus ABCEBCD duljine
(6) 7. Uklonimo li mu prijelaz E ! B (µcime prijelaz E ! A postaje deterministi-
0 1
µcki), za povezivanje svih stanja minimalna je (staza) ciklus ABCEABCD duljine
(7) 8 . Općenito će kod takve kon…guracije izravno biti povezano vr a > 0 stanja
s vr a 1 prijelaza, a iz posljednjeg tako povezanog stanja vodi a prijelaza do
preostalih a najudaljenijih stanja. Dakle, iz prvog rekurentnog stanja vodi ukupno
vr a prijelaza (grana) do svakog od a najudaljenijih stanja, iz kojih pak vodi veza
samo prema prvom rekurentnom stanju. Stoga se ostvaruje duljina puta

l M;LNG1 = a (vr a) + a 1; (6.31)

gdje smo indeksom LNG1 oznaµcili ovaj tip kon…guracije. Za vr < a ta je duljina
manja od vr 1, pa je l M = vr 1 . Iz zadnjeg povezanog stanja moµze se izravno
prijeći u polazno, pa je duljina ciklusa samo za jedan veća. Otuda slijedi:
(
vr 1; vr a ;
l M;LNG1 = (6.32a)
a (vr a + 1) 1 ; vr > a :
M;LNG1 = l M;LNG1 + 1 : (6.32b)

Specijalizacija izraza (a) za a = 2 < vr daje

l M;LNG1 = 2vr 3 ; vr > 2 : (6.32c)


126 6. Raµcunska mehanika i -strojevi

Kod većeg broja rekurentnih stanja mogu se kreirati kon…guracije -stroja koje
daju jošveće duljine korelacije. Njih ćemo oznaµciti kraticom LNG2. One se zasniva-
ju na višestrukim uzastopnim grananjima i kompleksnim parcijalnim povratcima na
poµcetno rekurentno stanje, pa se pri povezivanju stanja u sredini pojedinih zasebnih
grana treba više puta prolaziti kroz iste dijelove staze. Izraµcun duljina korelacije tu
je vrlo sloµzen pa ga izostavljamo. Na†eni su konkretni primjeri u kojima se takva
kon…guracija pojavljuje tek djelomiµcno (§I.4.4), pa su u konaµcnici duljine korelacije
i za te modele ispod onih u izrazima (6.32). Stoga kao pribliµznu gornju granicu
duljina korelacija navodimo vodeći µclan iz prethodnog izraza (a),

l M / avr , M / avr + 1 . (6.33)

To ćemo i eksperimentalno potvrditi na nizu prona†enih modela u poglavlju 9.


Ovdje ćemo odmah opisati i empirijski uoµcenu vezu izme†u gornje granice broja
rekurentnih stanja i broja morfovima koreliranih simbola Ncrr;DM;min , dobivenog uz
minimalni L koji još daje isti tenzor T, pa zato i isti broj rekurentnih stanja:

vr Ncrr;DM;min + k = lDM + Lmin + k ; k 2 N+


0 (k 0) . (6.34)

Za mnoge -strojeve, ali ne i sve, pokazat će se da vrijedi upravo k = 0 . U tom će
smislu iznos k posluµziti kao jedna od komparativnih odrednica dobivenih modela.
Zadaća -stroja jest nalaµzenje svojstava sustava na temelju vremenskog niza kojeg
taj sustav odašilje. Odlike primljenog niza u općenitom su sluµcaju nepoznate. No,
u svrhu provjere, pretpostavit ćemo da znamo pravila, odnosno program, kojim je
taj niz kreiran. Za niz de…niramo broj koreliranih simbola i duljinu korelacije me†u
tim simbolima na analogan naµcin kao u de…niciji 6.18. O tome govori sljedeća:
De…nicija 6.20 (i) Najve´ci broj uzastopnih simbola vremenskog niza me†u kojima
se nuµzno uspostavlja me†uzavisnost prilikom njegove kreacije nazivamo broj ko-
reliranih simbola vremenskog niza (engl. number of the correlated symbols of
the time series) i oznaµcavamo s Ncrr;T S . (ii) Izme†u Ncrr;T S koreliranih simbola
vremenskog niza postoji duljina korelacije lcrr;T S = Ncrr;T S 1 .
Napomena 1. Pri nalaµzenju Ncrr;T S i lcrr;T S podrazumijeva se da je faza poznata,
jer je to podatak koji je nuµzan za kreiranje (programiranje) niza.
Napomena 2. Ista kao i napomena 2 nakon de…nicije 6.15.
Da -stroj ( D; L; ; T ) vjerno opiše sustav, broj Ncrr;DM morfovima povezanih
simbola, odnosno duljina lcrr;DM morfovima istraµzene korelacije, ne smiju biti manji
6. Raµcunska mehanika i -strojevi 127

od odgovarajućih korelacija u vremenskom nizu. Uz dobro de…nirane Ncrr;DM 1,


lcrr;DM 0, to vodi na sljedeće, me†usobno ekvivalentne, zahtjeve:
Ncrr;DM Ncrr;T S () lcrr;DM lcrr;T S : (6.35)
Pretpostavimo sada da se morfovi nalaze na temelju vjerojatnosne preciznosti
uskla†ene sa statistiµckom relevantnosti analiziranih morfova, µcime izuzimamo
mogućnost nalaµzenja prevelikog broja morfova zbog nepreciznih vjerojatnosti prije-
laza. Tada za duljinu l M korelacije -stroja i duljinu lcrr;T S korelacije vremenskog
niza mora vrijediti:
lM lcrr;T S : (6.36)
Ukoliko je zahtjev (6.35) za morfovima istraµzenom korelacijom zadovoljen, tj. ako
su parametri L i prikladno odabrani (pogo†eni), tada u gornjoj relaciji vrijedi jed-
nakost l M = lcrr;T S i dobiveni -stroj ispravno odraµzava duljinu korelacije primlje-
nog vremenskog niza. Ako pak (6.35) ne vrijedi, tada morfovi podcjenjuju duljinu
korelacije niza, što rezultira znakom manje u relaciji (6.36). U tom je sluµcaju do-
biveni model tek reducirana aproksimacija sustava iz kojeg je vremenski niz potekao.
µ
Zelimo li postići jednakost l M = lcrr;T S , moramo povećati duljinu L morfova, µcime
općenito raste i broj mogućih sljedova unaprijed. Trend tog rasta ovisan je o struk-
turi vremenskog niza. On moµze biti i eksponencijalan u L za nizove s kompleksnom
strukturom ili pak s vrlo jakom stohastiµckom komponentom. Posljedica je povećana
mogućnost otkrivanja novih morfova, a time i povećanje duljine l sljedova unatrag
kojima su oni de…nirani. Broj sljedova unatrag tako†er moµze rasti eksponencijalno
u l, pa jednako tako raste i broj na†enih morfova (za kvantitativnu analizu vidjeti
6.6.3). Rast l dovodi i do rasta razine lDM najdubljeg morfa, što dodatno doprinosi
produljenju korelacije uspostavljene morfovima. Da je zahtjev (6.35) konaµcno zado-
voljen, utvr†ujemo kad rast duljine L morfova više ne dovodi do otkrivanja novih
morfova, pa niti do rasta najdublje razine na kojoj se oni otkrivaju.
Daljnja formalizacija gore uvedenih pojmova u kontekstu teorije grafova iziskuje
zasebno razmatranje. Koncepte broja koreliranih simbola i njima ostvarene duljine
korelacija ilustrirat ćemo na nizu primjera, poµcevši od jednostavnog SFA-modela
za testni sustav na kraju ovog poglavlja, do sloµzenih modela raznovrsnih sustava
u poglavlju 9. Tamo ćemo izloµziti i rijetke primjere za koje je u uvjetu (6.34)
k > 0 (I.4.1, I.4.4). Pokazat ćemo da je duljina korelacije modela — osim za rijetke
iznimke — uglavnom na svojoj donjoj granici l M;min = vr 1, dok duljina ciklusa
-strojeva dolazi na svoju donju granicu, M = v (korolar 6.7), u sustavima s
naglašenim cikliµcnim, odnosno periodiµcnim strukturama.
128 6. Raµcunska mehanika i -strojevi

6.4 Rekonstrukcija -strojeva


Rekonstrukcija ili gradba -strojeva (engl. reconstruction of -machines) postupak
je nalaµzenja i postepenog usavršavanja modela na temelju podataka primljenih od
promatranog sustava. U njemu nalazimo kauzalna stanja i veze izme†u njih, što smo
kvalitativno opisali u 6.1.1, a matematiµcki formalno de…nirali u 6.2.7. Ovdje ćemo taj
postupak najprije oslikati iz šire raµcunarske perspektive, a potom opisati i općenitim
algoritmom. Njegove hijerarhijske razine dijelimo u dvije etape [26, 44, 45]. U
prvoj se model izgra†uje u okviru prirodno predodre†enih i hijerarhijski ure†enih
raµcunskih struktura, sve do razine stohastiµckih konaµcnih automata (SFA). Tu je
glavna okosnica struktura posebnog, -stabla, koje je detaljno obrazloµzeno u prilogu
A. Iz njega se nalazi glavni rezultat ove etape modeliranja — temeljni -stroj.
Ako je potrebno daljnje poboljšanje modela, prelazi se na drugu etapu modelira-
nja. U njoj se u tzv. inovativnom koraku pronalazi moćniji stroj, na višoj razini, s
memorijom proizvoljne veliµcine ali konaµcnog opisa. Inovativnost koja je tu potrebna,
modelarova je sposobnost unaprje†enja poimanja promatranog procesa na temelju
prethodno uoµcenih uzroµcnih stanja i njihova me†uodnosa. Stoga je nuµzan preduvjet
za uspješan inovativni korak da su na prethodnim razinama dobiveni zadovoljava-
jući modeli. Inovativnost nije svojstvo iskljuµcivo humanog modelara, već ga moµzemo
pripisati prirodnim ili umjetnim agentima koji u sklopu neke …zikalne, kemijske, bi-
ološke ili raµcunarske okoline razaznaju ili kreiraju odre†ene procese [23, 44].

6.4.1 Rijeµci i morfovi, -stabla i -podstabla


Kauzalna stanja i na njima zasnovani -stroj de…nirani su u odjeljku 6.2 preko
morfova — skupova sljedova unaprijed s jedinstvenom oblikovnom i vjerojatnosnom
strukturom. Za odre†eno stanje de…nirano slijedom unatrag morfovi se pronalaze
iz skupova rijeµci …ksne duljine izluµcenih iz primljenog vremenskog niza koje sadrµze
taj isti slijed unatrag. Pojam stanja i pojam morfa mogu se uµciniti algoritamski
operativnijima i zornijima ako ih poveµzemo s posebnom strukturom stabla, koju
ćemo nazvati -stablo. Iz vremenskog niza izluµcivat ćemo rijeµci duljine D = const:
i njihovim parsiranjem ili rašµclambom po znakovima koje one sadrµze gradit ćemo
-stablo visine, ili dubine, D: Unutar tako dobivenog -stabla dubine D nalaze se
potom morfovi duljine L = const: D , kao -podstabla visine, ili dubine, L . 6
6
Od dva termina koje koristimo kao sinonime: visina i dubina stabla, u ovom i u ostalim teorij-
skim odjeljcima povezanim s modeliranjem i stablima koristit ćemo drugi (§ 6.5, 6.6, dodatak A).
6. Raµcunska mehanika i -strojevi 129

Odavde proizlazi da je -stablo odre†eno uvjetom da su svi njegovi listovi na


istoj, maksimalnoj razini, jednakoj dubini D stabla. Sve staze u takvom stablu
doseµzu svaku razinu l D i predstavljaju l-cilindre ili l-blokove znakova iz abecede
A, odnosno rijeµci iz Al . 7 Iz µcvora na razini lR takvog stabla moµzemo de…nirati
-podstabla dubine (visine) D0 D lR , na analogan naµcin kao i -stabla.
U našem multidisciplinarnom pristupu -(pod)stabla zanimljiva su i s općenitog
raµcunarskog stanovišta kao specijalizacija strukture stabla. Nadalje, poznavanje
njihovih svojstava presudno je u analizi sloµzenosti algoritama i analizi konzistentnosti
rašµclambenih stabala (pogl. 8, 9). Temeljne postavke o ovim stablima objavili smo
u [46]. Ovdje to nadopunjujemo teorijom koja je izdvojena u prilog A.
Spomenutu gradbu rašµclambenog ili parsirajućeg -stabla dubine D, ostvarenu
uµcitavanjem rijeµci duljine D “izluµcenih”iz vremenskog niza, nazivat ćemo hranidba
stabla. Taj je postupak otprilike inverzan parsiranju izraza formalnih jezika s po-
znatom gramatikom. On je opisan i potkrijepljen primjerom u pododjeljku 6.5.1
(formalno je utvr†en u prilogu A.2.3). Kao što ćemo vidjeti u razmatranju koje
slijedi, već je i to rašµclambeno ( -)stablo svojevrsni raµcunski model.

6.4.2 Ekvivalencija morfova i jedinstvenih podstabala


U sljedećem koraku modeliranja, unutar rašµclambenog -stabla promatramo njegove
podstrukture — -podstabala dubine L, de…nirana u A.2.2. Nalaµzenjem simetrija,
odnosno ekvivalencije izme†u njih, a potom i njihova me†uodnosa, de…nirat ćemo i
(temeljni) -stroj. I formalno su -podstabla ekvivalentna budućem morfu kao skupu
svih sljedova unaprijed do ukljuµcivo duljine L (def. 6.8). Budući da po korolaru 6.2
morfove poistovjećujemo s kauzalnim stanjima, isto vrijedi i za -podstabla. Stoga
za ustanovljenje simetrija na podstablima primjenjujemo relaciju (L; )-ekvivalencije
iz 6.2.5, na temelju koje formiramo klase ekvivalencije -podstabala na isti naµcin kao
što smo to radili za apstraktno de…nirana kauzalna stanja i morfove. -podstablo
dubine L koje je predstavnik svoje klase ekvivalencije nazivamo (L; )-jedinstveno
-podstablo [engl. (L; )-unique -subtree] i ono je ekvivalentno (L; )-jedinstvenom
morfu. Time pojmovi -podstablo i morf duljine (dubine) L postaju sinonimi, pa
za prvog od njih koristimo sve de…nicije i zakljuµcke izvedene za drugog. Ovime je
općenito teorijsko razmatranje vremenskih podnizova (sljedova), kauzalnih stanja i
morfova, povezano s -(pod)stablima.
Dubine stabla i morfa povezujemo s ostvarenom “dubinom” modeliranja (§ 6.3).
7
Za diskusiju pojmova l-cilindar i l-blok vidjeti 7.1.
130 6. Raµcunska mehanika i -strojevi

U kontekstu rašµclambenog -stabla, jedinstveno -podstablo vaµzna je konkretiza-


cija pojma morfa zbog svoje prikladnosti za algoritamsku implementaciju. Ekviva-
lenciju ovih pojmova dodatno ćemo ilustrirati u opisu hijerarhijskog modeliranja u
pododjeljku koji slijedi te u 6.5.6.

6.4.3 Hijerarhijsko modeliranje


Gradba -strojeva hijerarhijski je proces nalaµzenja sve saµzetijih raµcunskih modela
kojima opisujemo promatrani dinamiµcki sustav. Prema svojim raµcunskim mogućno-
stima ti modeli odraµzavaju strukturu, odnosno reproduciraju gramatiku simboliµckog
jezika kojim sustav govori (pogl. 5). Modeliranje zapoµcinjemo pretpostavkom jezika
koji jednostavno ponavlja cijeli primljeni niz znakova, bez spoznavanje njegove struk-
ture i bez nalaµzenja njegovih gramatiµckih pravila. Korespondentni je automat sa-
stavljen od stanja koja doslovno odgovaraju pojedinim znakovima niza, pa stoga
njihov broj raste s duljinom niza. Na sljedećim razinama hijerarhijskog modeliranja
nastojimo pronaći odre†ene pravilnosti i strukture u primljenom nizu, što se opisuje
automatima sve viših razreda. Ideja je predstavljena na slici 6.2.
Da bi se ostvarila konzistentnost rekonstrukcije -strojeva, za predstavnike raz-
reda odabiru se automati s me†usobno dobro de…niranim hijerarhijskim odnosom.
Primijenimo li na modeliranje matematiµcki rjeµcnik, to moµzemo opisati kao izbor
povoljnih baznih vektora u “prostoru induktivnog zakljuµcivanja”. Ono što je speci-
…µcno za teoriju -strojeva jest rašµclamba vremenskog niza kombinacijom raµcunarskog
i statistiµcko-informacijskog pristupa. Rijeµci (podnizovi) iz primljenog vremenskog
niza rašµclanjuju se na naµcin svojstven prevodiocima — s pomoću rašµclambenog sta-
bla. No pored toga gradi se i statistika tih podnizova iz koje se raµcunaju vjerojatnosti
prijelaza. To ćemo ilustrirati na konkretnom primjeru u sljedećem odjeljku.
U hijerarhiji na slici 6.2 raµcunski se strojevi sastoje od stanja (krugovi ili kvadrati)
i prijelaza (grane s oznakama). Svaki model ima jedinstveno poµcetno stanje oznaµceno
dodatnom upisanom kruµznicom. Slika slijedi hijerarhijsku gradbu raµcunskih modela,
koju dijelimo u dvije etape:

I. Nalaµzenje raµcunskih modela na razinama 0, 1 i 2, do ukljuµcivo raz-


reda konaµcnih automata. Uz de…nirane uvjetne vjerojatnosti prijelaza re-
zultat ove etape jest temeljni -stroj, kojeg predstavlja stohastiµcki konaµcni
automat (SFA). Koraci za prelazak iz niµzih razina (0 i 1) u više (1, odnosno 2)
ovdje su predeterminirani upravo de…nicijom temeljnog -stroja kao kauzalnog
modela, odnosno algoritmom njegove rekonstrukcije.
6. Raµcunska mehanika i -strojevi 131

II. Nalaµzenje modela -strojeva viših razina, 3, 4, . . . . U okviru inovativnog


koraka (engl. innovation step) odabiremo najmanje moćan raµcunski automat
razreda višeg od SFA, koji po de…niciji 6.14 općenitog -stroja daje konaµcan
model (vidjeti hijerarhiju raµcunskih automata i strojeva u 5.6).

I. Rekonstrukcija (temeljnog) -stroja — nalaµzenje SFA-modela.


0. Vremenski niz. Ovo je nulta razina modeliranja opisana raµcunskim modelom
M0 . Primljeni niz od ns znakova tu predstavlja sebe samog, pa pišemo:

M0 = (s0 s1 s2 : : : sns ; si 2 A) ; kM0 k = ns = O (ns ) : (6.37)

Za ns primljenih znakova iz abecede A s a = kAk simbola, veliµcina kM0 k modela


tako†er je ns znakova, odnosno ns ld a bit . To je ujedno i red veliµcine modela izraµzen
funkcijom veliko O. Indeks podsjeća nas da u eksperimentalnoj (raµcunarskoj)
realnosti moµzemo primiti samo nizove konaµcne duljine ns i da to predstavlja granicu
naše spoznaje o sustavu koji generira primljeni niz. Model je uglavnom beskoris-
tan jer — osim za najjednostavnije sluµcajeve — ne otkriva internu strukturu niza, pa
stoga niti znaµcenje njegovih podnizova. Kao takav on ne doprinosi našem znanju
i ne omogućuje predvi†anje (§3.1). Model ne ostvaruje saµzimanje podataka, već
divergira s povećanjem duljine niza ns . S druge strane, nulti je model doslovna
replika podataka samih, pa je zato i njihov najtoµcniji prikaz.
1. Rašµclambeno stablo. Da dobijemo raµcunski stroj na prvoj razini rekon-
strukcije, u modelu M0 (vremenskom nizu) nalazimo simetrije vezane uz prikladnu
relaciju ekvivalencije ’ ’. Kao najjednostavniji izbor nameće se relacija jednakosti
’=’ izme†u rijeµci wD duljine D, izluµcenih iz vremenskog niza. Po njoj će dvije
jednake rijeµci, w1D = w2D , biti predstavljene istim razredom ekvivalencije. Ope-
rativno to ostvarujemo rašµclambom ili parsiranjem (engl. parsing) rijeµci wD kroz
parsiraju´ce ili rašµclambeno -stablo (engl. parse -tree) dubine D, kojem su svi li-
stovi na istoj, razini D (prilog A.2). Svaki µcvor na razini l tog stabla jedinstveno
je odre†en pre…ksom wl duljine l neke uµcitane rijeµci wD , 0 l D , pa su rijeµci
w1D i w2D jednake ako i samo ako su predstavljene istim listom. Prilikom rašµclambe
rijeµci tvorimo statistiku svih njihovih pre…kasa (µcvorova stabla). Takvo rašµclambeno
stablo de…nira model M1 koji zapisujemo kao skup svih rijeµci wD ili D-blokova
(cilindara), s poznatim distribucijama vjerojatnosti Prl za pre…kse svih duljina:

M1 = wD : wD 2 AD ; Prl wl ; l D ; kM1 k = O aD : (6.38)


132 6. Raµcunska mehanika i -strojevi

Veliµcina modela odgovara broju µcvorova stabla koji moµze rasti i eksponencijalno s
dubinom stabla D. Parametar podsjeća nas da — pored ograniµcenja navedenih za
model M0 — ovdje postoje i ograniµcenja na duljinu rijeµci D. Razlozi su ograniµcena
memorija za pohranu µcvorova stabla, potreba da se stabla hrane s brojem rijeµci koji
općenito raste eksponencijalno s D te ograniµcena preciznost izraµcuna D uzastopnih
simbola (vidjeti 8.3.3, 9.1.3). Ovaj model razvrstava sve l-blokove i daje njihovu
statistiku, na temelju koje je moguć izraµcun uµcestalosti l-blokova u vremenskom nizu.
Model postiµze saµzimanje niza proizvoljne duljine ns na veliµcinu kM1 k = O aD
neovisnu o ns . Pored onog što je izravno predstavljeno modelom M1 , rašµclambeno
stablo daje i uvjetne vjerojatnosti za prijelaze iz svakog µcvora, opisanog rijeµcju wl ,
u sebi nasljedne µcvorove po svakom od a znakova abecede, što je kljuµcna informacija
za inovativni korak na sljedećoj razini modeliranja.
2. Konaµcni automat (FA) s pridodanom stohastikom prijelaza (SFA).8 Na
drugoj razini modeliranja iz rašµclambenog stabla modela M1 nalazimo oblikovno
i stohastiµcki jedinstvena podstabla, odnosno morfove. Dodatni parametar koji se
pojavljuje na ovoj razini modela jest dubina (duljina, visina) L tih morfova te vje-
rojatnosna preciznost ili rezolucija kojom diskriminiramo stohastiµcke razliµcitosti u
njihovim sljedovima unaprijed. To je postupak jednak nalaµzenju kauzalnih stanja na
temelju (L; )-ekvivalencije (§6.2). Rezultat je skup D; L; kauzalnih stanja i ope-
rator T prijelaza izme†u njih, što de…nira operativni -stroj ( ; T )D; L; ; . Ukoliko
za širi interval parametara modela dobivamo isti skup stanja i isti operator T , -
stroj ( ; T ) jest reprezentativan (def. 6.12). Po korolaru (6.3) ovi strojevi de…niraju
SFA-model (T; i0 ) s tenzorom prijelaza T (5.17, 6.21) i indeksom poµcetnog stanja
i0 (najµcešće i0 = 1), pa za model M2 ove razine vrijedi:

M2 = MSF A = (T; i0 ) ; kM2 k = O (kTk) : (6.39)

Veliµcina modela izraµzena je nekom prikladnom mjerom tenzora T . To moµze biti


npr. broj ukupnih ili broj rekurentnih stanja, pa ovaj model ostvaruje saµzimanje s
omjerom reda veliµcine kTk =ns . Raµcunska ograniµcenja modela na koje nas upućuje
parametar već su diskutirana poslije de…nicije 6.12.
Uzroµcna stanja modela uvjetno su nezavisna, jer svako je od njih vezano uz dru-
gaµciju povijest sustava (slijed prethodnih znakova). Model omogućuje predvi†anje
8
U [19] se ova razina raµcunskih modela dijeli na µcetiri podrazine: (i) potposmaci konaµcnog tipa
i Markovljevi lanci, (ii) polu-grupe (engl. semi-groups), (iii) so…µcki sustavi i konaµcni automati,
(iv) nizovni automati (engl. string automata). Za prvu podrazinu gramatika je de…nitna (engl.
de…nite), a za preostala tri regularna. (Vidjeti hijerarhiju automata na slikama 5.7 i 5.8.)
6. Raµcunska mehanika i -strojevi 133

Razred
STROJ Veličina Relacija
Razina modela / ekvivalencije
[ računski model ] modela
automata

1 0 1 1 Rezultat
Vremenski
0 ns mjerenja
niz

p(0)|0 1| p(1)

Nezavisnost
1 Stablo p(1|0) 1 ...0 1... O ( || A || D
)
D-blokova
0 0 1 1

s | p (q2 | q1,s)
s’| p’
Stohastički ...
Uvjetna
2 konačni ... O (|| T ||) nezavisnost
automat
[ Temeljni -stroj ]

1 A 1 A 0 A

Konačno-
Stroj za
rekurzivna
3 proizvodnju 0 A O (|| T || + ||P||) uvjetna
nizova
A 0 1 1 1 0 nezavisnost
[ -stroj više razine ]

Slika 6.2: Hijerarhija raµcunskih modela kao rezultat iterativne rekonstrukcije -strojeva
iz vremenskog niza, prema [26]. Na svakoj višoj razini model se gradi iz moćnijeg razreda
automata. Stanja modela oznaµcena su kruµzićima ili kvadratićima, poµcetno s dodatnom
upisanom kruµznicom. Niz znakova iz abecede A nulta je razina modela. Iz nje se na razini
1 formiraju stabla dubine D . Od te razine naviše prijelazima izme†u stanja (granama
grafa) pridijeljene su uvjetne vjerojatnosti. Grupiranjem morfova u stablima dobiva se
na razini 2 temeljni -stroj i ekvivalentni SFA-model. Na višim razinama slijede moćniji
-strojevi, kao npr. stroj za proizvodnju nizova (PM). Red veliµcine modela slijedi iz njegove
raµcunske prezentacije (za SFA iz tenzora T). Detaljnija razrada hijerarhije dana je u [19].
134 6. Raµcunska mehanika i -strojevi

budućih stanja i s njima u svezi odaslanih (primljenih) simbola iskljuµcivo na temelju


poznatog trenutnog kauzalnog stanja, neovisno o prošlosti sustava, kao što smo već
naveli u 6.1.1. Iz strukture modela išµcitava se semantika pojedinih stanja, µcime
modelar stjeµce znanje o sustavu. Model MSF A predstavlja temeljni -stroj.

II. Strojevi viših razina. Ako je prva etapa u svojoj ultimativnoj toµcki 2 rezul-
tirala divergentnim modelom, tada je potrebno napraviti daljnji inovativni korak.
Divergentan je model onaj koji uz povećanje parametara D i L daje sve veći broj
stanja sustava, usprkos udovoljenju moµzebitnog zahtjeva za uporabom povećanih
raµcunarskih resursa. Dakle, iako bismo npr. povećali memoriju za pohranu stati-
stike svakog µcvora te utrošili više vremena za uµcitavanje i rašµclambu većeg broja
rijeµci u svrhu dobivanja statistiµcki relevantnijeg stohastiµckog prikaza, kod takvog se
modela broj na†enih stanja ne bi se smanjio. U tom je sluµcaju potrebno prijeći na
više raµcunske modele, s beskonaµcnom memorijom, kao što su npr. sljedeća dva:
3. Stroj za proizvodnju nizova i potisni stoµzni automat. Stroj za proizvodnju
nizova PM (od engl. string production machine) koristi konaµcnu kontrolu i registar
neograniµcene veliµcine za pohranu i rekurzivnu tvorbu proizvoljno dugaµckih nizova.
Dijelovi tih nizova emitiraju se, odnosno prihvaćaju, pri promjeni stanja stroja.
Pravila za proizvodnju nizova nalaze se na temelju analize simetrija koje postoje u
SFA-modelima -strojeva u koraku 2 (vidjeti i I.4.2). Dodatnim unaprje†enjem PM
stroja dobiva se jednosmjerni nedeterministiµcki ugnijeµz†eni stoµzni automat (1NnSA,
§5.6.1), koji simbole generira (prihvaća) jednog po jednog. To je u potpunoj analogiji
s iteriranjem i kodiranjem jedne po jedne toµcke orbite sustava.
Modeliranje strukturalno vrlo bogatih kaotiµcnih sustava pri nastupu kaosa po-
kazuje da je ova razina automata dostatna, tj. da rezultira konaµcnim modelom [17].
Njegova je raµcunska moć bitno veća od SFA, ali manja od univerzalnih strojeva
najviše razine koji su ekvivalentni UTM-u (BTM-u) [usporediti s komentarom uz
princip raµcunske ekvivalencije u 1.2.3].

4. Nuµzna još viša razina? Ukoliko i prethodna razina daje divergentan model,
npr. za procese sloµzene strukture i s dugaµckim korelacijama izme†u simbola, treba
prijeći u još viši razred raµcunskih strojeva.

Gornje hijerarhijsko modeliranje ilustrirat ćemo na nekoliko primjera. Neka je


primljen niz s duljine ns koji se sastoji od ns mjerenja. Model nulte razine (M0 ),
tj. podaci sami, zavisni su o duljini ns . Za ns ! 1 , ovaj “model” divergira µcak i
u sluµcaju najjednostavnijih struktura kakve tvore periodiµcni nizovi. Oµcito je da se
6. Raµcunska mehanika i -strojevi 135

ne radi o svrsishodnom modelu, jer on ne omogućuje saµzimanje, ne daje konaµcan


model, niti u općenitom sluµcaju omogućava predvi†anje.
Na sljedećoj razini, model M1 u formi stabla dubine D daje toµcan opis nizova
s periodom n, pod uvjetom da je D “dostatno” veće od n (D ' 2n 1, vidjeti
prilog B.2). Najkasnije na razinama rašµclambenog stabla većim od n 1 uoµcit
ćemo postojanje samo n staza duljine D, od kojih svaka predstavlja izbor razliµcite
faze primarnog uzorka u vremenskom nizu. Ove staze moµzemo poistovjetiti sa sta-
njima sustava. Stoga stablo dubine D predstavlja konaµcan model i za beskonaµcne
duljine vremenskog niza. No ako taj niz nije periodiµcan, razred stabala u općenitom
sluµcaju više ne daje model koji je konaµcan i neovisan o duljini ns niza. Uz stopu
entropije izvora h > 0, veliµcina će modela biti proporcionalna aDh , gdje je nI =
a = " Dim broj podjeljaka prema (3.4). Budući da izvor nema …ksni period, s
porastom D raste i broj staza, pa i model divergira (primjer rašµclambenog stabla
NCZ sustava, sl. 6.3, te drugih neperiodiµcnih sustava opisanih u 9.1 i 9.2).
Ukoliko su u neperiodiµcnom izvoru duljine korelacija me†u simbolima relativno
kratke, tada će druga razina modeliranja — koja rezultira (temeljnim) -strojem i
pripadnim SFA — dati konaµcan model procesa, za koji broj kQk stanja SFA ne di-
vergira [26]. Taj broj stanja nastojimo povezati s memorijom sustava, koja pak se
ogleda u maksimalnoj duljini korelacije izme†u znakova odaslanog niza. Od svih
stanja, kao speci…µcna nameću se rekurentna stanja iz skupa Qr (§5.4.4, def. 5.6).
U njih sustav ulazi nakon što po odašiljanju (primitku) dovoljnog broja, moµzebitno
razliµcitih, simbola iza†e iz tranzijentnih stanja i uhvati fazu ulaµzenjem u jedno od
rekurentnih stanja. Budući da su rekurentna stanja jedina koja preostaju nakon
primjene uvjeta stacionarnosti (4.3c), ona opisuju stabilno, “stacionarno” (engl. sta-
tionary) ponašanje sustava. Zato će broj vr = kQr k rekurentnih stanja biti dobar
odraz unutarnje memorije sustava (vidjeti odjeljak 7.3, u sljedećem poglavlju).
Tako†er, broj rekurentnih stanja već smo preko uvjeta (6.34) okvirno povezali
s duljinama korelacije koje pri modeliranju uspostavljaju morfovi. Uvaµzavanjem
sheme prijelaza izme†u rekurentnih stanja de…nirali smo duljinu l M korelacije -
stroja (def. 6.19) koju za njegovu temeljnu razinu — predstavljenu SFA-modelom —
oznaµcavamo kao lSF A . To je naša prosudba duljine lcrr;T S korelacije vremenskog
niza [izraz (6.36)] kojom se broj rekurentnih stanja SFA-modela funkcijski povezuje
s duljinom korelacije vremenskog niza.
Me†utim, kao što smo već naveli, druga razina modeliranja i temeljni -stroj neće
biti dostatni za prikaz sustava s beskonaµcnom memorijom. Kod takvih se sustava
136 6. Raµcunska mehanika i -strojevi

povećanjem duljine D rijeµci otkrivaju sve dulje korelacije. Primjer za to jest sustav
logistiµckog preslikavanja u nastupu kaosa udvostruµcenjem perioda (§I.4.2).

6.4.4 Odrednice razvoja modela


Hijerarhijska shema rekonstrukcije -strojeva daje odgovor na imanentni episte-
mološki problem: Kako zapoµceti bilo kakvo modeliranje, kako odabrati instrument
za mjerenje, kako iz mjerenja izgraditi valjanu teoriju? Na pitanje odabira instru-
menta dali smo odgovor u pogl. 3.2, dok smo u prethodnom pododjeljku pokazali
hijerarhiju modeliranja koja zapoµcinje s podacima samim, a nastavlja se u hijerar-
hijskom uvo†enju modela sve većih opisnih mogućnosti. U toj razvojnoj dinamici
modela kljuµcan je inovativni korak. U njemu se — na temelju sliµcnosti i simetrija
u organizaciji stanja niµzih razreda te u njihovu odgovarajućem grupiranju i saµzi-
manju — ostvaruje napredovanje od manje prema više uspješnim razredima modela.
Pri tom na svakoj od razina nalazimo sljedeće kljuµcne odrednice [26]:

Simetrije — odraµzavaju modelarove pronalaske o strukturi sustava iz kojih


proizlazi semantiµcki sadrµzaj pojedinog modelarnog razreda MC . Taj sadrµzaj,
odnosno znaµcenje, za odre†enu simetriju proizlazi iz relacije ekvivalencije ( )
kojom je ona de…nirana (primjeri u 6.2.3 do 6.2.6).
Jezik sustava — skup konaµcno-predstavljivih manifestacija procesa.
Rekonstrukcija — postupak tvorbe procijenjenog modela M 2 MC , izluµci-
vanjem simetrija odre†enih relacijom iz niza znakova s, što formalno ozna-
µcavamo kao M = (s ; ) .
Modeli M — modeli iz razreda MC dobiveni rekonstrukcijom, sastavljeni
od skupa stanja i sheme prijelaza izme†u njih.
Sloµzenost procesa — veliµcina minimalnog modela M unutar razreda MC
rekonstruiranog iz primljenog niza: C (hs jMC i) = kMmin k (vidjeti pogl. 7).
Predvidljivost — utvr†ena u odnosu na prijelaze izme†u stanja modela i
pritom emitiranih simbola, izraµzena preko informacijsko-teorijskih pokazatelja,
kao npr. stope entropije modela, statistiµcke sloµzenosti i sliµcno (pogl. 7).

Odavde proizlazi relativnost informacije, entropije i sloµzenosti s obzirom na razi-


nu i toµcnost dobivenog modela. “Model”na razini 0 najtoµcniji je, ali on ne ostvaruje
bitne zahtjeve modeliranja. Modeli viših razina otkrivaju internu strukturu i ostva-
ruju saµzimanje, ali odustaju od toµcne reprodukcije ponašanja sustava i primljeni niz
6. Raµcunska mehanika i -strojevi 137

simuliraju unutar dozvoljenih statistiµckih odstupanja. Svojstva modela odre†uju


semantiku koja se pridaje njegovim stanjima (primjer u 6.5.7) i znaµcaj njegovih
informacijskih pokazatelja (§7.3). Hijerarhija raµcunskih modela sa slike 6.2 ujedno
je i induktivna hijerarhija. U njoj se s porastom razine postiµze sve veće saµzimanje
modela, µcime njegovo kauzalno stanje dobiva sve veću semantiµcku teµzinu.

6.4.5 Algoritam gradbe -strojeva


Na temelju hijerarhije raµcunskih modela iz pododjeljka 6.4.3 i prethodno izloµzenih
odrednica njihova razvoja izvodimo sljedeći općeniti algoritam (prema [26, 44]).
Algoritam 6.1 Rekonstrukcija -stroja.
1. Na najniµzoj razini, lev = 0, niz podataka svoj je vlastiti model, M0 = s
(tautološki, trivijalan i nesaµzet). Inkrementirati razinu, lev lev + 1 :
2. Rekonstruirati model Mlev na razini lev nalaµzenjem pravilnosti i podudarnosti
u strukturi modela Mlev 1 niµze razine. Tako na†ene podstrukture treba raz-
vrstati u razrede ekvivalencije i naći njihove me†usobne odnose. To daje model
Mlev = (Mlev 1 ; ), gdje je ’ ’ relacija ekvivalencije koja de…nira uzroµcna
stanja razine lev . Drugim rijeµcima, treba naći skupine stanja iz Mlev 1 s
karakteristiµcnom strukturom, koje će postati nova uzroµcna stanja u Mlev
i de…nirati klase ekvivalencije s obzirom na relaciju . Prijelazi izme†u tih
skupina stanja u Mlev 1 postaju prijelazi izme†u stanja u Mlev .
3. Provjeriti saµzetost (škrtost) razreda na razini lev gradbom i analizom sve toµc-
nijih modela, µciju preciznost opisuje skupni parametar [npr., uz duljinu rijeµci
(morfova) od D (L) bitova, D 1 (L 1 )]. Za ! 0 , 0 < 0 1, dosiµze
se graniµcna toµcnost ( 0 ) koju je moguće ostvariti uz raspoloµziva raµcunarska
izvorišta. Rezultat je niz modela: Mlev ( 1 ), Mlev ( 2 ), : : :, Mlev ( 0 ) .
4. Provjera divergencije i inovativni korak. Ako model ne divergira, tj. ako je
kMlev k < 1 za ! 0 (0 < 0 1), ići na korak 5. U suprotnom, model
divergira, kMlev k ! 1, pa je nuµzno prijeći na sljedeći (inovativni) korak.
! 0

(a) Ukoliko je razina lev < 2 odabrati standardni, predeterminirani raµcunski


model: za lev = 0 rašµclambeno -stablo, a za lev = 1 SFA (sl. 6.2).
Inkrementirati razinu modeliranja, lev lev + 1, te ići na korak 2.
(b) Za razinu lev 2 najprije provjeriti je li pogrešno postavljena relacija
ekvivalencije uzrok divergencije modela — stoga vratiti se na korak 2 uz
istu razinu lev i ponoviti proceduru. Inaµce, prijeći na sljedeći korak.
138 6. Raµcunska mehanika i -strojevi

(c) U nizu Mlev ( 1 ), Mlev ( 2 ),: : :, Mlev ( i ),: : : modela uoµciti pravilnosti
u rastu njihovih raµcunskih i memorijskih zahtjeva nastalih s porastom
njihove preciznosti. Odabrati raµcunski stroj (automat) moćniji od pret-
hodnog ali najmanje razine, takav da moµze reproducirati modele Mlev ( i )
za ! 0 na naµcin da njegova veliµcina (opis) ne divergira. Pri tom mogu
postojati proizvoljni (neograniµceni) zahtjevi na veliµcinu memorije. Podići
razinu modeliranja, lev lev + 1, i vratiti se na korak 2.

5. Ukoliko za ! 0 vrijedi kMlev k < 1, na†ena je najniµza razina modela koja


daje konaµcnu prezentaciju sustava (u koraku 2 treba osigurati i da je model
minimalan). -stroj je rekonstruiran. Kraj.

U koraku 1 kreće se od raµcunskog modela razine lev = 0, tj. od vremenskog niza


s kao svojeg vlastitog modela, a potom se razina diµze na lev = 1 i prelazi na korak
2 algoritma. U primljenom nizu uvodimo relaciju ekvivalencije rijeµci w1D = w2D ,
koju realiziramo kroz rašµclambeno stablo dubine D, prema opisu razine 1 hijerarhije
-strojeva u 6.4.3. U općenitom sluµcaju, za sustave koji nisu periodiµcni, u koraku
3 gradimo modele s povećanim D (L) te u koraku 4 uoµcavamo divergenciju modela
rašµclambenog stabla na razini 1. Stoga povećavamo razinu na lev = 2 i vraćamo
se na korak 2 algoritma. U drugoj iteraciji koraka 2, u stablu dubine D nalazimo
podudarnosti izme†u podstabala dubine L D . Za njih uvodimo relaciju (L; )-
ekvivalencije, nalazimo (buduće) morfove kao uzroµcna stanja sustava te tvorimo
temeljni -stroj i pripadni SFA — kao što je to opisano na razini 2 hijerarhije raµcun-
skih modela. U toµcki 3 algoritma provjeravamo ponašanje modela — sada poveća-
vanjem parametra L (po potrebi i D). Ukoliko temeljni -stroj divergira, u koraku
4 prelazimo na višu razinu raµcunskog modela — sada i višu razinu -stroja — te se
opet vraćamo na toµcku 2, u treću iteraciju algoritma.
Primijetimo da su za više razine modeliranja, lev 2, koraci 2 i 4 gornjeg
algoritma opisani tek naµcelno. U koraku 2 treba “nekako” prepoznati “morfove”
novog modela. U tome bi npr. mogla pomoći poznata metoda s razine lev = 1
(nalaµzenje temeljnog -stroja). Kod odabira adekvatnog višeg razreda modela, u
inovativnom koraku 4.c, od pomoći bi bila lista prikladnih automata i strojeva viših
razina koji su funkcionalno i hijerarhijski dobro ure†eni (sl. 5.7, 5.8).
Detaljnijom razradom toµcke 4 precizirali smo prvobitnu inaµcicu gornjeg algoritma
iz [26] te korigirali ideje o inovativnom koraku u [44]. Algoritam 6.1 pokazuje da se
temeljni pojmovi uvedeni u prethodnom odjeljku dadu poopćiti, tj. da se zakljuµcci
izvedeni za temeljni -stroj mogu proširiti i na -strojeve više razine.
6. Raµcunska mehanika i -strojevi 139

6.4.6 Automatizacija inovativnog koraka?!


Ako modelar u koraku 2 algoritma gradbe -stroja ne postavi prave relacije ekviva-
lencije, ili ako u njegovu inovativnom koraku u toµcki 4.c ne odabere uµcinkovitu višu
razinu automata, moµze dobiti nekorektan model koji odstupa od de…nicije -stroja,
6.14. Primjerice, model moµze dati konaµcan opis sustava, ali uz pretjeranu veliµcinu
modela ili uz nepotrebno visoku razinu automata. Stoga se u navedenim koracima
algoritma ogleda domišljatost, odnosno inteligencija i inovativnost modelara (engl.
the modeler’s intelligence and innovativeness).
Algoritam 6.1 sugerira kako bi inteligentni agent mogao upravljati procesom uni-
verzalnog modeliranja (engl. universal modeling) [23]. Već smo istakli da su njegovi
koraci 2 i 4 za razine lev 2 opisani tek naµcelno. Moµzemo reći da je njihovo rješa-
vanje prepušteno agentu (modelaru), od sluµcaja do sluµcaja. Pored toga, agent mora
stalno provjeravati konzistenciju modela niµzih razina — i glede njihove statistiµcke re-
levantnosti i glede utjecaja akumulacije numeriµckih pogrešaka. U općenitom sluµcaju
radi se o izrazito sloµzenim zadacima koji iziskuju i posvemašnju inteligenciju i znatnu
inovativnost. Oµcito je da su navedene zadaće vrlo zahtjevne i za humanog, a kamoli
ne za arti…cijelnog agenta. Na ovo ćemo se jošosvrnuti u 9.4.2, pošto u prethodnim
poglavljima steknemo konkretno iskustvo modeliranja raznovrsnih sustava.
U našoj implementaciji modeliranja jednodimenzionalnih dinamiµckih sustava ko-
ristimo interaktivni DSA program, koji humanom korisniku omogućuje da za µzeljene
parametre modeliranja na†e -stroj na SFA razini. Program daje mnoge dodatne po-
datke i o toj razini, ali i o rašµclambenom stablu te vremenskom nizu. Na temelju njih
modelar provjerava regularnost modela te izvodi zakljuµcke o njegovoj korektnosti i
konvergentnosti. Tako†er, ti podaci omogućuju gore navedenu provjeru konzisten-
tnosti niµzih razina modeliranja, koju za SFA-modele predstavlja razina rašµclambe-
nog stabla (vidjeti 9.1). Upravo takav, komplementaran pristup — u kojem se dobro
osmišljen i uµcinkovit raµcunalni alat nadopunjuje s inteligencijom i znatiµzeljom hu-
manog modelara — po našem je mišljenju i najbolji.

6.5 Od vremenskog niza do SFA


Nakon prethodnih teorijskih razmatranja u ovom ćemo odjeljku konkretizirati po-
stupak rekonstrukcije temeljnog -stroja i njemu ekvivalentnog SFA-modela. Cilj je
utvrditi prethodni apstraktan pristup i eksplicirati ga na primjeru modeliranja jed-
nostavnog testnog sustava. Na taj ćemo naµcin pripremiti temelj za izlaganje naših
140 6. Raµcunska mehanika i -strojevi

izvornih algoritama za nalaµzenje morfova i SFA-modela u sljedećem odjeljku te za


njihovu implementaciju u poglavlju 8.

6.5.1 Izluµcivanje rijeµci iz vremenskog niza


Rekonstrukciju -strojeva zapoµcinjemo razmatranjem primljenog vremenskog niza.
Za jednodimenzionalne sustave mjerna particija najgrublje izmjere ima dva elementa
(" ' 1=2), pa je abeceda binarna. To daje binarni vremenski niz s,

s = s0 s1 s2 s3 : : : sns 1 ; si 2 A = f0; 1g ; i = 0; 1; : : : ; ns 1; (6.40)

s ns simbola (bitova), što je po de…niciji 2.16 konaµcna aproksimacija putopisa u


simboliµckoj dinamici (§2.2.1, 3.3.1). Iz s išµcitavamo ili “izluµcujemo” (engl. read
out, extract) rijeµci wD 2 f0; 1gD duljine D simbola, D ns , uz uobiµcajeni odnos
D ns .9 Izluµcivanje rijeµci duljine D iz vremenskog niza moµzemo zamisliti kao
µcitanje simbola kroz prozor širine D mjesta (§ 6.2.4, 6.4.1). Idući od diskretnog
trenutka t = 0; 1; 2; : : : prozor posmiµcemo udesno sve do t = ns D. Rijeµcima wD
proµcitanim unutar prozora “hranimo”rašµclambeno stablo. Tako iz niza

s = s0 s1 s2 : : : sD 1 sD sD+1 : : : sns D sns D+1 : : : sns 1 ; (6.41)

moµzemo proµcitati Nw = ns D + 1 rijeµci duljine D, koje su redom:

w0D = s0 s1 : : : sD 1 ; (6.42)
w1D = s1 s2 : : : sD ;
w2D = s2 s3 : : : sD+1 ;
.. .. ..
. . .
wnDs D = sns D sns D+1 : : : sns 1 :
D
Rijeµc wi+1 dobiva se djelovanjem posmaµcnog preslikavanja na prethodnu rijeµc,
D
wi (§2.2.2), pri µcemu se na mjesto nedostajućeg simbola pridodaje sljedeći simbol
iz niza s :
D
wi+1 = wiD si+D ; i = 0; 1; : : : ; ns D 1; (6.43a)
wiD = wD i
(s) ; i = 0; 1; : : : ; ns D: (6.43b)

Ovdje primjenjujemo aproksimaciju simboliµcke dinamike s preciznošću reda D /


2 (D 1) , odnosno s prosjeµcnom greškom l = 2 D , pa svi teorijski zakljuµcci izvedeni
9
D drµzimo relativno malim zbog općenito eksponencijalnog rasta broja rijeµci wD (vidjeti 6.4.3).
6. Raµcunska mehanika i -strojevi 141

u odjeljku 2.2 vrijede do na tu toµcnost. Svaka rijeµc aproksimira toµcku u faznom


prostoru do na 2 D , funkcija posmaka kvazikontinuirana je do na tu veliµcinu itd.

6.5.2 Duljina rijeµci D (D = const:!?)

Prilikom izluµcivanja rijeµci iz vremenskog niza njihova je duljina konstantnog iznosa


D = const: Stoga ćemo u daljnjem postupku modeliranja moći analizirati samo
njihove pre…kse wl duljine l D . U usporedbi s ‡eksibilnosti izraza i tvrdnji
(viših) raµcunarskih jezika, ovo moµze izgledati kao veliko ograniµcenje. No rašµclamba
(parsiranje) u raµcunarskim jezicima odvija se prema unaprijed odre†enoj strukturi
de…niranoj gramatikom jezika. Prema toj se gramatici gradi i rašµclambeno stablo
µciji se terminalni simboli nalaze u listovima na općenito razliµcitim razinama. S druge
strane, u modeliranju tek treba razaznati strukturu jezika. Dakle, poµceci odnosno
završeci rijeµci ili izraza koje sustav odašilje tako†er su nepoznati, pa se ovdje javlja
i kljuµcan problem nalaµzenja faze prilikom analize vremenskog niza.
Stoga je u modeliranju jedino valjano rješenje odabir konstantne duljine D rijeµci.
Poµcetke takvih rijeµci posmiµcemo simbol po simbol u smjeru generacije vremenskog
niza, kao što je opisano u prethodnom pododjeljku. Duljina D tu predstavlja gornju
granicu duljine korelacije koju moµzemo pratiti u vremenskom nizu (§6.3.1, 6.3.2,
6.6.2). Rašµclamba tih rijeµci rezultirat će -stablom sa svim listovima na istoj razini
D . Budući da ne moµzemo apriori odrediti fazu u vremenskom nizu, jedino -stablo
omogućuje daljnju konzistentnu analizu njegovih podstruktura (podstabala) — kao
što je to navedeno na razinama 1 i 2 hijerarhije raµcunskih modela u 6.4.3. Tek po
kreaciji -stroja ( ; T )D; L; ; sa zadanim D = const: promišljamo je li njegov SFA
zadovoljavajući, odnosno treba li, ili moµze li se, povećati ili smanjiti dubina morfa
L, odnosno je li nuµzno mijenjati dubinu D rašµclambenog stabla.
Sa stanovišta teorije kodiranja, problem nalaµzenja faze, odnosno poµcetka i kraja
rijeµci, ekvivalentan je problemu trenutne jednoznaµcne razrješivosti (engl. instan-
taneous and unique decodability) nizova sastavljenih od kodnih rijeµci promjenjive
duljine. Skupina pre…ksnih kodova [49] (engl. pre…x codes [13]) to uspješno rješava,
ali na aposterioran naµcin, uz unaprijed zadanu shemu kodiranja. To kod nas nije
moguće. Isto tako nije moguće oznaµcavanje kraja rijeµci na neki “drugi naµcin”, kao
kod Morseovog koda, jer je to ekvivalentno uvo†enju novog simbola u abecedu.
Znaµcenje tog novog simbola apriorno je nepoznato, jednako kao i znaµcenje, tj.
me†uodnos, svih ostalih simbola (diskutirano u [44]).
142 6. Raµcunska mehanika i -strojevi

Glede duljine rijeµci D, već je navedeno da nju odabiremo prema osobitostima


vremenskog niza. Po potrebi je u iterativnom postupku moµzemo i povećavati. Za
nepoznate nizove moµzemo odabrati maksimalan D moguć za raspoloµzive raµcunarske
resurse. Za standardno (binarno) rašµclambeno -stablo — zbog općenito eksponen-
cijalnog rasta broja µcvorova — pomišljamo na relativno mali D, npr. oko 20 ili ne
mnogo veći od 30 do 40. Tome odgovarajuća duljina rijeµci od D znakova (bitova) pak
djeluje skromno, pogotovo ako je usporedimo s brojem znakova potrebnih za kodi-
ranje izraza u raµcunalnim programima ili u ljudskom jeziku. Za utjehu, u odnosu na
duljine strojnih instrukcija jednostavnih procesora takav je D već itekako usporediv.
Odabrana duljina D rijeµci krajnji je raµcunarski doseg danog modela. Maksi-
malni D kojeg nam dopuštaju raspoloµzivi raµcunarski kapaciteti pak je granica našeg
modelirajućeg univerzuma koju ne moµzemo prijeći.

6.5.3 Rašµclambeno stablo


Pošto smo u prethodnom koraku iz vremenskog niza izluµcili rijeµci wD , njima se hrani
rašµclambeno (parsirajuće) -stablo, uvedeno u 6.4.3 te formalizirano u de…niciji A.11
(prilog A, na kompaktnom disku). Ako su rijeµci sastavljene od binarnih simbola,
stablo će biti binarno -stablo. Za razliku od parsirajućih stabala raµcunarskih jezika,
stablo u modeliranju nije zadano unaprijed. Ono se formira u procesu hranidbe
kad se stvaraju µcvorovi koji odgovaraju svim pre…ksima svake rijeµci wD izluµcene iz
vremenskog niza. Stoga bi potpuniji naziv za takvo stablo bio rastu´ce i rašµclambeno
stablo (engl. grow and parse tree [47]). No, zato što se najµcešće podrazumijeva da su
po (dostatnoj) hranidbi uµcitane sve razliµcite rijeµci nekog sustava i da je time stablo
konaµcno oblikovano, prvu odrednicu standardno izostavljamo.
Dubina (visina) stabla po de…niciji je duljina najdulje staze od korijena stabla
do lista (def. A.4). Za rašµclambeno -stablo svi su listovi na istoj razini i ta je razina
upravo jednaka D (def. A.11). Zato vrijedi da: idu´ci od korijena -stabla bilo kojom
njegovom stazom moµzemo ostvariti put duljine D. U našem radu iskljuµcivo se bavimo
-stablima, pa ćemo pre…ks nadalje µcesto ispuštati.
Uz ulazne rijeµci konstantne duljine D , rašµclambeno stablo daje podatke o svim
podnizovima (pre…ksima) wl rijeµci wD , duljine 0 l D . Tu se ogleda reprezen-
tativna snaga strukture stabla. Da je u nekom vremenskom nizu statistiµcki anali-
zirano pojavljivanje samo rijeµci wD duljine D, ništa ne bismo doznali o statistici
(pod)nizova kraćih od D, niti bismo dobili uvid u njihove me†usobne odnose i vje-
rojatnosti prijelaza (vidjeti diskusiju hijerarhijske razine 1 u 6.4.3).
6. Raµcunska mehanika i -strojevi 143

6.5.4 Hranidba stabla


Hranidba stabla jest proces u kojem gradimo rašµclambeno -stablo dubine D. Ovdje
ga konkretiziramo i ilustriramo na primjeru (za formalni opis vidjeti prilog A.2.3,
def. A.15). U poµcetku je stablo prazno, u smislu da nije prihvatilo ni jednu rijeµc.
Takvo stablo ne sadrµzi niti jedan µcvor, pa ni korijen. Kad zapoµcne proces hranidbe,
kreiramo korijen i poµcinjemo s unosom i rašµclambom rijeµci. Svaki µcvor stabla sadrµzi
brojaµc koji se inkrementira ukoliko je staza koju de…nira unesena rijeµc prošla kroz
taj µcvor. Svaka rijeµc wD duljine D de…nira stazu koja poµcinje u korijenu, pa brojaµc
u korijenu pokazuje broj ukupno pohranjenih rijeµci.
Da preciziramo ovaj postupak, pretpostavimo da je potrebno pohraniti rijeµc

wD = s0 s1 s2 : : : sD 1 : (6.44)

Ona de…nira ukupno D + 1 pre…ks, uz standardnu de…niciju da su pre…ksi i prazan


niz e i sama rijeµc wD . Svaki od pre…kasa de…nira toµcno jedan µcvor stabla. Tako
pre…ks e de…nira korijenski µcvor na razini nula, pre…ks s0 de…nira lijevi (desni) µcvor
prve razine za sluµcaj da je proµcitani simbol 0 (1), pre…ks s0 s1 analogno de…nira
jedan od µcetiri µcvora na razini dva itd., sve do same rijeµci wD koja de…nira µcvor na
razini D. Svi µcvorovi predstavljeni pre…ksima rijeµci wD de…niraju hranidbenu stazu
wD . Ukoliko je tijekom hranidbe utvr†eno da neki µcvor iz wD ne postoji,
tada se taj µcvor stvara i njegov se brojaµc inicijalizira na 1, a ako taj µcvor postoji od
ranije, tada se njegov brojaµc inkrementira (uvećava za 1).
Na slici 6.3 prikazan je proces hranidbe stabla vremenskim nizom

s = 01101011011110110101 : : : : (6.45)

Taj je niz generiran iz procesa kojeg moµzemo okarakterizirati sljedećim pravilom:


generiraj znak 1 ako je prethodio znak 0, a bilo što ( 0 ili 1) ako je prethodio znak
1. To je proces identiµcan sustavu “nema uzastopnih nula”, već spomenutom u 4.3.5
i 5.2.3 (vidjeti i prilog A.4.3).10 Njega opisuje regularan izraz

(0 + e) (1 + 10) ; (6.46)

uz dogovor da + oznaµcava jednaku vjerojatnost izbora.11 Na slici je podebljanom


linijom oznaµcena staza (01101) koja se dobiva pohranom poµcetne rijeµci w0D iz
niza s .
10
Niz s ovim svojstvima lako dobivamo uporabom DSA programa, odabirom grupe sustava za-
danih pravilom i potom izborom sustava “No Consecutive 0s”.
11
Za detaljniji prikaz regularnih izraza vidjeti odjeljak 5.3.
144 6. Raµcunska mehanika i -strojevi

t
0 1

Slika 6.3: Hranidba binarnog stabla. Prikazan je izgled binarnog -stabla dubine D = 5
nakon hranidbe vremenskim nizom s = 01101011011110110101::: . Rijeµci duljine 5 uµci-
tavaju se u rašµclambeno stablo. Podebljana je linija staza stvorena uµcitavanjem prve rijeµci
(podniza), wt50 = 01101 , u trenutku t0 . Crtkano su oznaµceni µcvorovi koje niz s ne sadrµzi,
ali ih dozvoljava pravilo NCZ sustava. Tanje oznaµceni µcvorovi nepostojeći su.

6.5.5 Vjerojatnosti podnizova i morfova


Pošto je glavno -stablo oformljeno i pošto je u njegovim µcvorovima zabiljeµzen broj
pojavljivanja svakog podniza duljine od l = 0 do l = D, to omogućuje jedno-
stavan izraµcun svih µzeljenih vjerojatnosti — bilo uvjetne vjerojatnosti µcvora prema
njegovom roditelju, bilo prema nekom od njegovih ranijih prethodnika. Zato što je
vjerojatnost korijena glavnog stabla 1, uvjetna vjerojatnost proizvoljnog µcvora prema
njemu jest i totalna vjerojatnost tog µcvora. Ona je ujedno i totalna vjerojatnost po-
javljivanja µcvoru pripadnog podniza (l-cilindra) u primljenom vremenskom nizu.
Prilikom razmatranja vremenskog razvoja -strojeva i prijelaza izme†u njihovih
stanja u pododjeljku 6.2.7, izrazom (6.19) pokazali smo da je vjerojatnost pojavljiva-
nja sljedećeg stanja, odnosno njemu ekvivalentnog morfa, jednaka uvjetnoj vjerojat-
nosti simbola kojim je taj sljedeći morf odre†en (prvim znakom sljedova unaprijed).
Ovdje ćemo tu vjerojatnost povezati s podatkom o broju pojavljivanja podniza za-
pisanom u svakom µcvoru. Koristimo notaciju iz 6.5.3 i 6.5.4, gdje je s cijeli primljeni
vremenski niz s ns simbola. Vjerojatnost za pojavu podniza ili rijeµci wl , l D,
ns > D , kojem odgovara µcvor na razini l , jest

c c
Pr wl j s = Pr ( ) = = : (6.47)
ns D+1 cRoot
6. Raµcunska mehanika i -strojevi 145

c oznaµcava izbrojak (engl. count) pohranjen u brojaµcu µcvora = wl , koji broji


broj pojavljivanja podniza wl u primljenom vremenskom niz. Zbog acikliµcnosti
strukture stabla, odnosno zbog µcinjenice da postoji bijekcija izme†u svih mogućih
binarnih nizova iz f0; 1gD i binarnog -stabla visine D, ukupan je broj uµcitanih
podnizova na svim razinama me†usobno jednak. Stoga je taj broj jednak izbrojku
u jedinstvenom, korijenskom µcvoru = e, na razini l = 0 :
X
c =wl = c =e = ns D + 1 ; l = 0; 1; 2; : : : ; D : (6.48)
wl 2Al

Alternativno je objašnjenje da svaki podniz wl ima prazan pre…ks e, pa izbrojak


korijena glavnog stabla broji sve uµcitane podnizove.
Budući da se radi o eksperimentalno, odnosno raµcunarski, ustanovljenom omjeru,
ovo je u suštini frekvencija pojavljivanja podnizova unutar niza s . Uz statistiµcki re-
levantne (velike) brojeve cRoot i c , tj. uz ns D , preva†amo eksperimentalno
utvr†enu frekvenciju u aposteriornu vjerojatnost. Time veliµcine dobivene modeli-
ranjem preva†amo (ekstrapoliramo) u osobine sustava.
Prijelazna vjerojatnost Pr ( ! 0 ) izme†u µcvorova i 0 , gdje je 0 nasljednik
od , uvjetna je vjerojatnost za pojavu podniza wl2 nakon što je primljen podniz
wl1 , l1 + l2 D : Za nju vrijedi:
8
< Pr(wl1 wl2 ) = c 0 ; c > 0 ;
Pr ( ! 0 ) = Pr wl2 jwl1 = Pr(wl1 ) c
(6.49)
: 0; c =0:
Donji sluµcaj c = 0 znaµci da µcvor ne postoji, pa ne postoje ni njegovi nasljednici.
U sluµcaju kad je 0 neposredni nasljednik, tj. lijevo ili desno dijete µcvora , tada iz
gornje formule slijedi uvjetna vjerojatnost da se poslije podniza wl1 pojavi simbol
abecede si 2 A ,
8
< Pr(wl1 s) c 0
0 l1 Pr(
= ; c >0;
Pr ( ! ) = Pr si jw = w l1 ) c
(6.50)
: 0; c =0:
Pretpostavimo da slijed unatrag wl1 de…nira morf M ; L; — predstavljen (L; )-
jedinstvenim podstablom — koji je (L; )-ekvivalentan stanju 2 D; L; . Tada
prema jednakosti (6.19) izraz (6.50) oznaµcava uvjetnu vjerojatnost za pojavu sljede-
ćeg morfa M( 0 ;si ); L; nakon pojave simbola si . Taj (pod)morf i pripadno podstablo
tako†er su vezani uz neko stanje 0 2 D; L; , moµzebitno isto kao i prethodno. Time
je pokazano da su vjerojatnosti prijelaza izme†u stanja omjeri izbrojaka zapisanih
u korijenima morfova (podstabala) koji ta stanja predstavljaju.
146 6. Raµcunska mehanika i -strojevi

6.5.6 Morfološki i vjerojatnosno razliµcita stanja


Za rekonstrukciju -stroja kao ure†enog para ( ; T )D; L; ; potrebno je iznaći nje-
gova kauzalna stanja 2 D; L; i shemu njihovih prijelaza opisanu operatorom T .
U 6.2.6 ustanovili smo da se stanja sustava poistovjećuju s morfovima, a u 6.4.2 da
su morfovi ekvivalentni jedinstvenim podstablima u rašµclambenom stablu sustava.
Prvo jedinstveno podstablo uvijek niµce iz korijena glavnog stabla. Skup staza iz
njegova korijena odre†en je svim pre…ksima wl duljine l od 0 do L svih uµcitanih
rijeµci wD . To odgovara svim mogućim sljedovima unaprijed s! 1;L , koji uz de…nirane
vjerojatnosti prijelaza µcine morf, (L; )-ekvivalentan inicijalnom uzroµcnom stanju
(def. 6.11, korolar 6.2). Taj ćemo morf i njemu pripadno jedinstveno podstablo zvati
korijenski morf (engl. root morph). Inicijalno stanje i korijenski morf predstavljeni
su jedinstvenim, praznim slijedom s1;0 = s0 = e unatrag.
Ostala uzroµcna stanja, de…nirana sljedovima unatrag duljine l > 0, nalazit će
se u µcvorovima na razinama l, 0 < l < D L 1, glavnog stabla i biti pred-
stavljena podstablima visine L koja rastu iz njih (§6.3.1). Ako takvo podstablo
ima jedinstvenu strukturu ili vjerojatnosti prijelaza izme†u svojih µcvorova u odnosu
na sva ranije prona†ena, ono je (L; )-jedinstveno te predstavlja novi morf M i ; L;
i novo stanje i sustava. Ono je predstavnik novog razreda ekvivalencije, kojem
se pridruµzuje svako podstablo — de…nirano nekim drugim µcvorom (slijedom unatrag
sl ) — koje mu je (L; )-ekvivalentno.
Dakle, nakon ustanovljenja korijenskog podstabla provjerimo je li njegovo lijevo
(desno) podstablo u koje se prelazi primitkom simbola 0 (1) jedinstveno, te zato
morf. Ako jest, provjeravamo i njihova podstabla. Postupak nastavljamo sve dok se
otkrivaju novi morfovi.
Morfološki jedinstvena podstabla (morfovi). Usredotoµcimo li se isprva samo
na strukturu podstabala, govorimo o njihovoj morfološkoj ili oblikovnoj jednakosti
odnosno nejednakosti s obzirom na relaciju u de…niciji 6.10.
L
Kao primjer promotrimo sliku 6.3. Uz D = 5 uzet ćemo L = 2 . Iako je s
ovakvim dubinama (pod)stabla moguće uoµciti samo kratke korelacije, za ovaj će
sustav, s jednostavnim regularnim izrazom, to biti dovoljno. Podstablo koje niµce
iz korijena glavnog stabla prikazano je na slici 6.4 i oznaµceno s A. Kao prvo, ono
de…nira (L; )-jedinstveni morf, koji je predstavnik prvog razreda ekvivalencije.
Na slici 6.3 vidljivo je u koja stanja prelazi naš model iz poµcetnog stanja A po
primitku (odašiljanju) binarnih simbola. Po znaku 0 on prelazi u stanje de…nirano
morfom (podstablom) B na slici 6.4, koje je po svom obliku razliµcito od A. Iz relacije
6. Raµcunska mehanika i -strojevi 147

B A C

1 2 1 1
11 0 3 1 3 0 2 1 2

1 1 1 1 1 1
0 2 1 2 11 0 2 1 2 11 0 2 1 2

Slika 6.4: Morfovi — morfološki i vjerojatnosno jedinstvena podstabla dubine L = 2 ,


prona†ena u rašµclambenom -stablu sa sl. 6.3. Svaki morf predstavlja stanje SFA (vi-
djeti sl. 6.5). Korijenski morf, ovdje A, uvijek je jedinstven i predstavlja poµcetno stanje
(na slici oznaµceno upisanim kruµzićem). Iz A se prelazi u B (C) po prijamu 0 (1) s vjerojat-
nošću od 1=3 (2=3). Morfovi A i B morfološki su razliµciti (jedinstveni). Morf C blizanac
je morfu A jer mu je oblikovno jednak, ali ima razliµcite vjerojatnosne parametre.

(6.15) jasno je da B predstavlja novi razred ekvivalencije. Po primitku 1 pak iz stanja


A vodi prijelaz u stanje koje je morfološki jednako stanju A, jer su im pripadna
podstabla dubine L 2 jednaka po svojoj strukturi. Me†utim, iako morfološki jed-
nako stanju A, ovo novo stanje ima morf s drugaµcijom vjerojatnosnom strukturom.
To ćemo pokazati u sljedećem koraku.

(L; )-jedinstvena podstabla (morfovi). Budući da u ovom, testnom, primjeru


znamo strukturu procesa po njegovu regularnom izrazu (6.46), vjerojatnosti prijelaza
izme†u njegovih stanja moµzemo odrediti teorijski. Stanje A odgovara situaciji kad
modelar nije primio niti jedan simbol iz niza, pa ne moµze razmišljati kroz kontekst
uvjetnih vjerojatnosti. To odgovara uzroµcnom stanju de…niranom praznim slijedom
unatrag, koje je u rašµclambenom stablu predstavljeno gore uvedenim korijenskim
morfom. Kako naš proces u prosjeku emitira dva puta više jedinica od nula, slijedi
da vjerojatnost za znak 0 iznosi 1=3, a za znak 1 ona iznosi 2=3 . Prema tome,
kad sustav u stanju A primi znak 0, on s vjerojatnošću od 1=3 prelazi u stanje B.
Zbog pravila ovog procesa da nema uzastopnih nula, morf B ima samo jednu granu
iz svojeg korijena. Drugim rijeµcima, nakon stanja B prijelaz je deterministiµcki, jer
jedino što se moµze dogoditi jest pojava jedinice.
Stanje u koje se iz B prelazi po simbolu 1 privremeno ćemo oznaµciti s X . Kad je
sustav u tom stanju, vjerojatnost za “prijam” nule i jedinice jednaka je, što je lako
uoµcljivo iz pravila na kojem se temelji naš sustav. Stoga je i vjerojatnost prijelaza
iz stanja X u njegov lijevi i desni podmorf jednaka, te iznosi 1=2. Otuda po izrazu
148 6. Raµcunska mehanika i -strojevi

(6.9a) izraµcunavamo sljedeće apsolutne razlike vjerojatnosti prijelaza:


1 1
jPr (0 jX) Pr (0 jA)j = 2 3
= 16 ;
1 2
(6.51a)
jPr (1 jX) Pr (1 jA)j = 2 3
= 61 :

Relacija (6.9a) zahtijeva da vjerojatnosna razlika postoji barem za neki od pod-


nizova, pa gornji raµcun potkrjepljuje da će za svaki izbor > 1=6 stanje X biti
-razliµcito od A. Stoga ćemo ga preimenovati u stanje C i uvrstiti u skup jedinstve-
nih stanja kao predstavnika klase ekvivalencije. Iako je ovo dovoljno za a…rmaciju
jedinstvenog morfa i novog stanja, potpunosti radi izraµcunat ćemo vjerojatnosne
razlike za preostale moguće nizove duljine 2. Iz stanja A i C (= X) to su podnizovi:
01, 10 i 11 . Jednostavnim razmatranjem, sliµcnim onom ranije, dobivamo: 12
1 1 1
jPr (01 jX) Pr (01jA)j = 2
1 3
1 = 6
;
1 1 2 1 1
jPr (10 jX) Pr (10jA)j = 2 2 3 2
= 12
; (6.51b)
1 1 2 1 1
jPr (11 jX) Pr (11jA)j = 2 2 3 2
= 12
:

Potrebno je još objasniti kuda sustav prelazi iz stanja A po znaku 1: Nazovimo


to stanje Y: Po de…niciji (L; )-ekvivalencije stanja -jednakost mora vrijediti za
podnizove duljina l L (za -jednakost to mora vrijediti za sve l 0). Za nizove
jediniµcne duljine, 0 i 1, vjerojatnosti iz stanja Y iznose 1=2, jer se u stanje Y dolazi
po emitiranju simbola 1, nakon µcega se s jednakom vjerojatnosti moµze pojaviti bilo
1 bilo 0 . No to je upravo jednako vjerojatnostima za nizove duljine 1 iz stanja C.
Nadalje, mogući nizovi duljine l = 2 iz stanja Y jesu. 01; 10 i 11. Uvjetne vje-
rojatnosti za njihovo pojavljivanje nakon stanja Y iznose redom: 1=2, 1=4 i 1=4 .
Primjerice, za pojavljivanje niza 01 vrijedi:

1 1
Pr (01jY) = Pr (01j1) = Pr (1j0) Pr (0j1) = 1 2
= 2
: (6.51c)

Jednako vrijedi i za nizove duljine 2 potekle iz stanja C. Zakljuµcujemo da Y nije


jedinstveno stanje, već da ono pripada razredu ekvivalencije stanja C.
Još ćemo razmotriti ulogu duljine L morfa u relaciji (L; )-ekvivalencije. Već
iz same de…nicije NCZ sustava jasno je da on u korelaciju dovodi dva uzastopna
simbola, te da zato ima memoriju prvog reda. Najdublji su morfovi ovdje B i C, na
razini 1, pa je razina najdubljeg morfa lDM = 1 . Iz izraza (6.26) sada slijedi da
12
Pri nalaµzenju morfova u DSA programu odre†uju se vjerojatnosne razlike izme†u podudarnih
µcvorova podstabala koja se uspore†uju. Ako je podstablo oblikovno ekvivalentno nekom ranijem
(blizancu), biljeµzi se najveća razlika i pripadni µcvor. Taj podatak pomaµze u analizi modela i izboru
parametra (npr. takvog da morf postane -ekvivalentan tom ranijem blizancu, vidjeti 8.5, 8.6).
6. Raµcunska mehanika i -strojevi 149

se morfovima povezuje Ncrr;DM = 2 susjedna simbola i postiµze duljina morfovima


istraµzene korelacije lcrr;DM = 1, već uz minimalnu dubinu morfa Lmin = 1 . To
ćemo i eksperimentalno potvrditi u 6.7. Da se radilo o kompleksnom sustavu, s puno
duljim korelacijama, moguće je da bismo uz gornje parametre (D = 5, L = 2) i uz
dovoljno otpušteni dobili isti broj kauzalnih stanja kao i za NCZ sustav. Naravno,
takav bi model bio tek gruba aproksimaciju tog sloµzenog sustava. Za precizniji model
trebalo bi povećati L i D te uz adekvatan primijeniti gornji postupak.

6.5.7 SFA-model sustava “nema uzastopnih nula”


Rezultat prethodne teorijske analize jest stohastiµcki konaµcni automat (SFA) sustava
“nema uzastopnih nula”, koji je na slici 6.5 prikazan svojim oznaµcenim usmjerenim
grafom (LDG). Budući da je dobiven teorijskim izvodom, on je toµcan za proizvoljne
L 1, D L+1, a uz idealnu hranidbu i za proizvoljno mali , 0 < 1=6 . Stoga
taj (reprezentativni) SFA po korolaru 6.3(ii) de…nira reprezentativni -stroj ( ; T ) ,
sa skupom stanja = fA; B; Cg i operatorom prijelaza T , odnosno stohastiµckim
tenzorom T . Iz prethodnog razmatranja, saµzetog u SFA-grafu, proizlaze matrice T 0
i T 1 prijelaza po simbolima te matrica T prijelaza izme†u stanja:
0 1 0 1
0 13 0 0 0 32
B C B C
T0 = @ 0 0 0 A; T1 = @ 0 0 1 A ; (6.52)
1 1
0 2
0 0 0 2

0 1
0 13 32
B C
T = T0 + T1 = @ 0 0 1 A : (6.53)
0 12 21
Lijevi svojstveni vektor za gornju matricu T iznosi

1 2
pst = 0; ; : (6.54)
3 3

Matricom prijelaza T i stacionarnom distribucijom pst de…niran je temeljni ili


pozadinski Markovljev lanac s vr = 2 stacionarna, ili rekurentna, stanja.
Razinu najdubljeg morfa odre†ujemo iz SFA-grafa prema sljedećoj lemi.

Lema 6.1 Za SFA nastao gornjim postupkom (ekvivalentnim FM algoritmu, 6.2)


razina lDM najdubljeg morfa jednaka je najkra´coj udaljenosti (najmanjem broju
grana) izme†u njegovih krajnjih stanja.
150 6. Raµcunska mehanika i -strojevi

2
1 3

11 1
A B C 1 2

1 1
0 3 0 2

Slika 6.5: Stohastiµcki konaµcni automat (SFA) za proces “nema uzastopnih nula”, prikazan
svojim oznaµcenim usmjerenim grafom (LDG). U poµcetnom stanju, A, model odraµzava svoje
neznanje o fazi procesa. Vjerojatnosti prijelaza tu su jednake (bezuvjetnim) vjerojatno-
stima za pojavu nula i jedinica. Stanje A je tranzijentno. Po pojavi nule model nalazi
fazu i dalje oscilira izme†u rekurentnih stanja B i C. Prijelaz iz B u C deterministiµcki je.

Dokaz. Razina morfa (stanja) odre†ena je najmanjim brojem simbola po ko-


jima se do njega dolazi iz korijenskog morfa. Ure†aj nalaµzenja morfova u glavnom
stablu — širinom-prvo (vidjeti alg. 6.2) — nalaµze da je zadnji prona†eni morfu vijek
na najvećoj razini. Sada po de…niciji 6.16 slijedi tvrdnja korolara.
Po gornjoj lemi, iz SFA sa slike 6.5 nalazimo da je za NCZ sustav lDM = 1, što je
u suglasju s izvodom u prethodnom pododjeljku. Uz minimalan L za koji se dobiva
korektan SFA, Lmin = 1, broj morfovima povezanih simbola Ncrr;DM = 2, a duljina
tako istraµzene korelacije lcrr;DM = 1 (def. 6.17). Duljina korelacije modela povezuje
samo rekurentna stanja i za nju nalazimo istu, minimalnu vrijednost, lSF A = 1 (def.
6.19, kor. 6.7). Za samo dva rekurentna stanja to je ujedno i maksimalna moguća
vrijednost te veliµcine [usporediti sa (6.32)]. Isto vrijedi i za duljinu ciklusa modela,
M = SF A = 2 . Duljina lSF A korelacije modela jednaka je duljini korelacije vre-
menskog niza sustava s memorijom prvog reda, lcrr;T S = 1, pa dobiveni SFA korektno
reproducira odnose me†u primljenim simbolima [def. 6.20(ii), izraz (6.36)].
Semantika dobivenih kauzalnih stanja modela proizlazi iz njihova me†uodnosa.
Konkretno znaµcenje pojedinog stanja odre†eno je budućim razvojima sustava koji su
mogući iz njega [21, 22], što su budući morfovi na višoj razini. Tako je znaµcenje stanja
A odre†eno µcinjenicom da su iz njega mogući prijelazi u rekurentna stanja B i C, od
kojih je drugi — po simbolu 1 — dva puta vjerojatniji. Iz daljnje strukture prijelaza
išµcitavamo i prolaznost stanja A — kad ga sustav jednom napusti u njega se više ne
vraća. Nadalje, B je ono stanje iz kojeg je jedini, deterministiµcki, prijelaz po znaku 1
u stanje C. Za C moµzemo reći da mu je znaµcenje distribucijsko (engl. distributional),
jer se iz njega s jednakom vjerojatnosti prelazi u stanje B i natrag u C.
6. Raµcunska mehanika i -strojevi 151

6.6 Algoritmi za nalaµzenje morfova i SFA-modela


U prethodnom smo odjeljku prikazali konkretan primjer nalaµzenja temeljnog -
stroja, predstavljenog SFA-modelom. Time smo do ukljuµcivo druge razine ilustri-
rali hijerarhijsko modeliranje opisano naµcelnim algoritmom 6.1. Pokazali smo da je
kreiranje raµcunskog modela prve razine — rašµclambenog -stabla — vrlo jednostavno
(implementacija u 8.3). Ovdje pak ćemo se pozabaviti kljuµcnim algoritmom — koji
u tom stablu nalazi morfove i kreira SFA-model sustava.

6.6.1 FM algoritam
Prilikom nalaµzenja SFA-modela u zadanom je rašµclambenom stablu potrebno pro-
naći morfološki i vjerojatnosno jedinstvene morfove te ustanoviti prijelaze izme†u
njih. Prema tim kljuµcnim radnjama algoritmu je dano englesko ime Find Morphs
i kratica FM. Algoritam se zasniva na teorijskim postavkama iz odjeljaka 6.2 i 6.4,
posebice na operativnoj de…niciji (L; )-ekvivalencije kauzalnih stanja (def. 6.4) i
njima ekvivalentnih morfova te prikazu morfova kao -podstabala (§6.4.2). FM
algoritam slijedi postupak iznesen u primjeru iz prethodnog odjeljka.
Algoritam 6.2 (FM) Nalaµzenje (L; )-morfova (podstabla) u rašµclambenom -stablu
dubine D i de…niranje SFA-modela.
Rezime de…nicija. L je dubina morfova (podstabala), je preciznost vjerojatnosne
usporedbe. Uzroµcno stanje i 2 D; L; predstavljeno je morfom kojeg pojednosta-
vljeno oznaµcavamo s i (def. 6.11). Uvodimo skup C razreda ekvivalencije morfova
koji je ekvivalentan skupu D; L; stanja sustava (korolar 6.2). Morf i odre†en
je korijenom i svojeg -podstabla i njegovom dubinom (visinom) L µ
D . Cvor
binarnog -stabla de…niran je binarnim nizom koji odgovara stazi od korijena glavnog
stabla do tog µcvora. Korijen glavnog stabla de…niran je praznim nizom e.
1. Tekući µcvor 0 postaviti u korijen nepraznog glavnog stabla, 0 = e . -pod-
stablo s korijenom u 0 = e, dubine L, prvo je i zato morf 0 , koji je prvi
element u skupu razreda ekvivalencije, C = f 0 g [a time i D; L; = f 0 g].
2. Naći morf iz C kojem nisu provjerena njegova podstabla. Taj je morf neprazno
-podstablo koje po de…niciji mora imati barem jednu stazu duljine L . Ako je
korijen 0 morfa na razini D L, tada se njegova podstabla-kandidati dubine
L ne mogu kreirati. Zabiljeµziti da morf ima nede…nirane prijelaze i ići na korak
3. Ako pak je korijen morfa 0 na razini manjoj od D L, odabrati jedno od
152 6. Raµcunska mehanika i -strojevi

dva njegova moguća djeteta, dodajući mu 0 (1) ako se radi o lijevom (desnom)
djetetu:
0 0
s ; s 2 f0; 1g : (6.55)

(a) Novo podstablo dubine L s korijenom u µcvoru 0 de…nira kandidata za


morfa 0 . Usporediti 0 redom s jedinstvenim morfovima iz C, provje-
rom kriterija jednakosti (6.9a). Za morfove predstavljene podstablima to
se svodi na usporedbu vjerojatnosti svih staza koje proistjeµcu iz korije-
na 0 podstabla morfa 0 , odnosno, po de…niciji 6.8, svih sljedova s!0
unaprijed duljine od 1 do L, prema izrazu (def. 6.4):
0
i () jPr (sj ) Pr (sj 0 )j ; 8s 2 0
: (6.56)
L;

Uvjetne vjerojatnosti u gornjoj relaciji izraµcunati prema (6.49).


Ako postoji morf i 2 C takav da gornja relacija vrijedi, tada mu je
0
(L; )-ekvivalentan i spada u njegov razred ekvivalencije, pa kandidat
0
nije novi morf. Zabiljeµziti da roditeljski morf prelazi u morf i po
simbolu 0 (1) ako mu je 0 lijevo (desno) dijete, kao i pripadnu vjerojat-
nost prijelaza. Prijeći na korak 2b.
Ako ne postoji morf i 2 C kojemu je 0 -ekvivalentan, tada je 0
jedinstven morf, kojeg treba uvrstiti u C kao novi razred ekvivalencije:
C C [ f 0 g . Zabiljeµziti da roditeljski morf prelazi u 0 i pripadnu
vjerojatnost prijelaza. Tako†er zabiljeµziti je li 0 roditelju lijevo ili desno
dijete — što daje informaciju o simbolu koji je prouzroµcio prijelaz.
0
(b) Ukoliko postoji i drugo dijete, postaviti tekući µcvor na mjesto tog
drugog djeteta i vratiti se na toµcku 2a.

3. Ako su u koraku 2 na†eni novi morfovi, odnosno ako još postoje morfovi za
µcija podstabla-kandidate nije provjeren razred ekvivalencije, vratiti se na korak
2. Ako nema neprovjerenih morfova, u skupu C sadrµzani su svi (jedinstveni)
morfovi koji odgovaraju stanjima i iz skupa stanja, što zajedno s podacima
o shemi i vjerojatnostima prijelaza izme†u njih predstavlja model M proma-
tranog sustava. Kraj.
Rezultat algoritma. Ukoliko u skupu C postoje morfovi na razini D L s nede…ni-
ranim prijelazima, tada operator T (6.20) nije valjano de…niran i dobiveni je SFA
neregularan (engl. irregular). Ako to nije sluµcaj, model M jest temeljni -stroj
( D; L; ; T ), odnosno regularan (engl. regular) deterministiµcki SFA-model (SDFA)
6. Raµcunska mehanika i -strojevi 153

MSF A = (Q; A; q0 ; T). Postupak u koraku 2a osigurava da dobiveni SFA ima mi-
nimalan broj me†usobno (L; )-razliµcitih stanja (morfova).
Odmah istiµcemo još dva vaµzna svojstva FM algoritma (rezimirana u 8.6.6). Po
poloµzaju svojih korijena u glavnom stablu prona†eni morfovi i , j poredani su po
ure†aju širinom-prvo, tj. uz i < j za razine l morfova vrijedi l ( i ) l j (§8.4).
To je posljedica redoslijeda biljeµzenja morfova — nakon korijenskog morfa na nultoj
razini njegovi se novoprona†eni lijevi i desni podmorf uvijek umeću na kraj liste.
Me†utim, svaki morf neće nuµzno biti i predstavnik klase ekvivalencije na najmanjoj
razini cijelog glavnog stabla. U nekim je stazama potraga za morfovima mogla biti
obustavljena, a duµz drugih nastavljena, pa u neistraµzenim dijelovima glavnog stabla
mogu postojati istovjetni morfovi i na ranijim razinama. Stoga kaµzemo da je to tek
djelomiµcni ure†aj širinom-prvo. Ipak, za istraµzeni dio glavnog stabla predstavnik
klase ekvivalencije uvijek će biti na najmanjoj razini, gdje su stohastiµcna obiljeµzja
glavnog stabla statistiµcki relevantnija i vjerojatnosti prijelaza toµcnije.
Na ovo se nadovezuje i drugo svojstvo. Ako se morfu i na razini l ( i ) za
njegovo lijevo, desno ili oba podstabla na razini l ( i ) + 1 ustanovi da su ona (L; )-
ekvivalentna s prethodno prona†enim morfovima, tada se na toj stazi potraga za
dubljim morfovima obustavlja. Sva podstabla — µciji korijeni kao pre…ks sadrµze niz
kojim je opisan takav morf i — na razinama l l ( i ) + 2 ostaju neistraµzena.
Dakle, u općenitom će sluµcaju FM algoritam okonµcavati svoj rad bez provjere svih
podstabala u glavnom rašµclambenom stablu. Stoga za njega kaµzemo da je (potenci-
jalno) površan [engl. (potentially) super…cial].

6.6.2 Uvjeti na dubinu morfova za regularan SFA


Po opisu algoritma za nalaµzenje morfova ovdje se nadovezujemo na odre†enje granica
za L i D iz 6.3.1 i dajemo uvjete za regularnost dobivenog SFA. Za dubinu (visinu)
morfa L već je u operativnoj de…niciji uzroµcnog stanja uveden oµciti uvjet: L D
(§6.2.4). No uz L = D moµze se kreirati samo jedno podstablo, koje predstavlja
jedno “stanje” (napomena 2 iza def. 6.5). Iz njega su prijelazi nede…nirani, pa je
takav SFA neregularan (vidjeti niµze). Uz minimalan, L = 0, tako†er postoji najviše
jedno stanje, ali se uz D 1 uvijek dobiva regularan SFA, naravno, ne i prikladan
(§6.3.1, 6.6.4, I.1, I.2). Otuda slijede nuµzni uvjeti na L za regularan SFA:

Teorijski dopuštene granice : 0 L<D; (6.57a)


Nalaµzenje više od jednog stanja : 1 L<D. (6.57b)
154 6. Raµcunska mehanika i -strojevi

U toµcki 2 algoritma 6.2 stoji da se svakom novoprona†enom morfu provjeravaju


njegova podstabla kao potencijalni kandidati za morfa te se odmah biljeµzi kuda vode
prijelazi iz njega po prijamu simbola 0 i 1 . Glede toga kritiµcni su morfovi na većim
razinama. Kad bi se na razini D L pojavili novi morfovi — koje ćemo nazvati
rubni morfovi (engl. edge morphs) — toµcka 3 algoritma nalaµze daljnju provjeru nji-
hovih podstabala. No to je nemoguće, jer se u glavnom stablu dubine D iz razine
D L+1 ne mogu kreirati podstabla dubine L .13 Zato iz rubnog morfa nema de…ni-
ranih prijelaza. Dakle, za regularnost SFA nuµzno je da rubni morfovi ne postoje,
odnosno da svi morfovi najdalje do razine D L 1 imaju podstabla-kandidate
jednake nekom ranije prona†enom morfu. Tada se prijelazi iz svih morfova korektno
zatvaraju u ranije prona†ene morfove, što daje regularan SFA.
U pododjeljku 6.3.1 uvedena je razina lDM najdubljeg morfa — odnosno duljina
slijeda unatrag — nakon koje(g) se više ne nalaze novi morfovi. Donja granica lDM =
0 vrijedi kad se pronalazi samo jedan, korijenski morf. Gornja granica lDM za
regularan (neregularan) SFA za jedan je manja (jednaka) razini D L rubnih
morfova. Uz L 1 to daje sljedeći uvjet na zbroj lDM + L :

Reg. SFA : 0 lDM + L D 1; (6.58a)


Nereg. SFA : 0 lDM + L D: (6.58b)

Iz (a) dijela ekspliciramo nuµzan i dovoljan uvjet na L za regularan SFA

Reg. SFA : 0 L D 1 lDM . (6.59)

Ovime smo po ekspliciranju FM algoritma ukratko rezimirali razmatranje prove-


deno prilikom analize duljine korelacije morfova u 6.3.1 i dobili gornju granicu za
L regularnog SFA kao u (6.28, 6.29), dok je za donju granicu dopušten i poseban
sluµcaj, L = 0 . Naime, iako ta dubina morfa vodi na negativnu duljinu morfovima
istraµzene korelacije (6.28b), lcrr;DM = 1, za trivijalne se sustave s jednim stanjem
i uz nju dobivaju korektni SFA-modeli (primjeri u 9.2.1, 9.2.2).
Razina lDM ovisi o parametrima L i koje odabire modelar, no kad su ti para-
metri modela dobro postavljeni, ona odraµzava strukturu rašµclambenog stabla i prati
porast broja prona†enih morfova (vidjeti obrazloµzenje u 6.3.1). Ta je razina rezul-
tat rada FM algoritma i nije unaprijed poznata. U tom su sluµcaju korisna sljedeća
dva uvjeta na L za regularan SFA s v stanja, koji jednostavno slijede iz (6.58a) i
13
U programskoj implementaciji SFA algoritma pretraga tu staje, te se biljeµzi da rubni morfovi
više ne mogu imati regularne prijelaze (vidjeti odjeljak 8.6).
6. Raµcunska mehanika i -strojevi 155

izlaganja u 6.3.1. Prvi je od njih i dovoljan, a drugi tek nuµzan:

Reg. SFA : 0 L D 1; v = 1 ; (6.60a)


1 L <D 1; v > 1 : (6.60b)

Regularnost SFA-modela ne znaµci automatski i njegovu adekvatnost za opis su-


stava. To se tek mora provjeriti varijacijom (povećanjem) parametra L, a s tim u
svezi i potrebnim korekcijama parametra . O tome govori sljedeći pododjeljak.

6.6.3 Izbor “srednje” dubine morfova


Nakon ustanovljenog raspona parametra L za regularan SFA, postavljamo pitanje
izbora njegove konkretne vrijednosti. Za odabranu duljinu rijeµci i time odre†enu
dubinu D glavnog stabla isprva traµzimo optimalni iznos od L za koji će modeliranje
dati zadovoljavajući rezultat. Za istraµzivanje µcim dulje korelacije izme†u primljenih
simbola i prouµcavanje µcim raznolikije strukture zahtjev je da L bude µcim veći, uz
L D 1. U rašµclambenom se stablu to svodi na istraµzivanje -(pod)stabala dubine
L
L . Morfološki razliµcitih takvih stabala ima 22 1, tj. broj im raste “dvostruko
eksponencijalno” u L (teorem A.1, prilog A). No za gornju granicu iz (6.60a),
L = D 1, otkriva se najviše jedno stanje, jer tada maksimalan lDM iznosi 0.
Dakle, nastojimo li pri nalaµzenju -stroja uspostaviti ukupnu korelaciju me†u
simbolima samo preko dubine L morfa, to je kontraproduktivno [vidjeti izraz (6.27)].
Da se poveća broj mogućih stanja, treba povećati maksimalnu razinu D L 1
nerubnih morfova, što će omogućiti i rast razine lDM najdubljeg prona†enog morfa.
Broj morfova ne moµze premašiti maksimalan broj µcvorova -stabla dubine D
L 1, koji iznosi 2D L 1 (lema A.2). Sam za sebe, ovaj zahtjev navodi na drugu
krajnost izbora L, L D . No smanjenjem L drastiµcno pada broj mogućih razliµcitih
struktura, pa postoji mogućnost da se ne uhvati potrebna raznolikost podstabala.
Ovdje smo na trenutak zanemarili utjecaj parametra vjerojatnosne preciznosti , koji
tako†er utjeµce na broj prona†enih stanja i razinu lDM . Njega u poµcetku moµzemo
postaviti na maksimalnu vrijednost 1, a potom ga — promatrajući njegov utjecaj na
dobivene SFA-modele — postepeno stezati na manje vrijednosti.
Zakljuµcak je da kompromisnu, “srednju vrijednost” dubine L dobivamo kad u
duljini lcrr;DM morfovima istraµzene korelacije (6.26b) odaberemo lDM L . Time
izjednaµcujemo maksimalnu duljinu L sljedova unaprijed s! l+1; L (l = 1; 2; : : : ; D L)
i duljinu lDM najduljeg slijeda slDM unatrag (§6.3.1). Konkretno, uz lDM = L ili
156 6. Raµcunska mehanika i -strojevi

lDM = L 1, izjednaµcenje s gornjom granicom u (6.28b) daje:14


(
(D 1) =2 ; L = lDM ;
L= (6.61)
D=2 ; L = lDM + 1 :

6.6.4 Sveobuhvatno modeliranje


Gore dobiveni izbor, L D=2, zadovoljavajući je za preliminarni model kojim stje-
µcemo okvirni uvid u broj stanja sustava i duljine korelacije me†u njima. No µcak i
ako je taj model regularan SFA, ne znamo je li on i korektan. Algoritam 6.1 gradbe
-stroja u svom koraku 3 zahtijeva provjeru preciznijih modela. Za SFA-model to
se svodi na povećanje duljine L i s tim u sprezi varijaciju tolerancije . Tek ako
povećanjem preciznosti modela ne dolazi do njegove divergencije, moµzemo reći da je
model zadovoljavajući. Primijetimo odmah da takav pristup kompenzira površnost
SFA algoritma, koja nastupa kad se glavno stablo istraµzuje samo s (pre)malim L .
Dodatni je razlog za varijaciju parametara nalaµzenje njihovih najmanje zahtje-
vnih vrijednosti, tj. najmanjeg L i najvećeg za koje se postiµze jednak i zadovoljava-
jući model. Da na†emo takve parametre, pronalazimo najprije najveći L (uz neki
) za koji se još dobiva regularan SFA, a potom pronalazimo Lmin kao minimalnu
dubinu morfa za koju se dobiva isti takav SFA. Pri tom se moµzda moµze postići i
smanjenje parametra — zbog manjeg utjecaja statistiµckih ‡uktuacija vjerojatnosti
na manjim razinama glavnog stabla. No se ne smije previše smanjiti. On mora biti
veći od statistiµckih ‡uktuacija vjerojatnosti prijelaza, koje su posljedica konaµcnog i
moµzebitno statistiµcki nedovoljno relevantnog broja uµcitanih rijeµci.
Dva operativna -stroja ( 1 ; T1 )D1 ; L1 ; 1 ; 1 i ( 2 ; T2 )D2 ; L2 ; 2 ; 2 , predstavljena svo-
jim SFA-modelima MSF A;1 = (T1 ; i0;1 ) i MSF A;2 = (T2 ; i0;2 ), jednaki su ako i samo
ako su im jednaki tenzori prijelaza T1 = T2 i indeksi poµcetnog stanja i0;1 = i0;2 (ko-
rolar 6.3). Za jednake SFA oµcekujemo da će razina lDM najdubljeg morfa biti ista.15
Zato iz na†enog Lmin raµcunamo najmanji broj Ncrr;DM;min morfovima povezanih
simbola i najmanju duljinu lcrr;DM;min morfovima istraµzene korelacije (def. 6.17).
Ako se ovim postupkom ustanovljuje širi raspon parametara L i za koje dobivamo
isti SFA, tada je po de…niciji 6.12 to reprezentativni -stroj ( ; T ) , predstavljen
modelom MSF A = (T; i0 ), T = T1 = T2 , i0 = i0;1 = i0;2 . Iz tog SFA išµcitavamo
14
Izbor L = D=2 bez detaljnijeg se obrazloµzenja navodi u [21], a neizravno se sugerira npr.
u [18]. U [44] smo takav izbor opravdali pomirenjem zahtjeva za maksimalnim brojem mogućih
podstabala-kandidata za morfa (D L 1) i µcim većeg broja razliµcitih morfova (L 1).
15
Primjer odstupanja od tog pravila teško je pronaći. S druge strane, jasno je da općenito razliµciti
SFA mogu dati najdublji morf na istoj razini lDM .
6. Raµcunska mehanika i -strojevi 157

duljinu korelacije lSF A = l M i duljinu rekurentnog ciklusa SF A = M modela (def.


6.19). Odatle prosu†ujemo o duljinama korelacije i drugim svojstvima vremenskog
niza i sustava koji ga je generirao.
Postupak modeliranja moµze ići i od najmanjeg mogućeg L 0 (za primjer izbora
L = 0 , vidjeti priloge I.1 i I.2). Uz mali poµcetni L najprije odabiremo veliki ili µcak i
najveći parametar 1, koji potom smanjujemo. Nakon toga povećavamo dubinu
L morfa i ponovo kontroliramo modele dobivene uz sve manji . Tako provjeravamo
skup rješenja FM algoritma dok L ne do†e do svoje gornje granice za regularan SFA
(6.59), odnosno dok ne postignemo µzeljenu toµcnost SFA-modela.
Prema zakljuµccima iz 6.3.1 i 6.3.2, ako je duljina korelacije me†u simbolima
vremenskog niza velika, tada s porastom L raste i lDM , a time i broj morfovima
koreliranih simbola i duljina korelacije morfova (6.26, 6.27). Taj će rast ići sve dok
se ne udovolji zahtjevu (6.35) za toµcan SFA-model, kad se prema (6.36) duljina
lSF A korelacije izme†u njegovih stanja treba izjednaµciti s duljinom lcrr;T S korelacije
vremenskog niza. Ostvari li se to, tada se razina lDM najdubljeg morfa stabilizira i
više ne raste s porastom dubine L morfa. Tada i relacije (6.58a, 6.59) postaju korisne
za procjenu raspona L ili donje granice D potrebne za regularne SFA. Konstantnost
lDM moµze biti ograniµcena i samo na odre†ene podintervale dozvoljenih vrijednosti
L, što je sluµcaj kod sustava s udvostruµcavajućim periodom, opisanog u I.4.2.
Povećavanjem dubine L morfa i smanjenjem vjerojatnosne preciznosti moµze se
dobiti neregularan SFA, u kojem na razini lDM = D L postoje rubni morfovi.
Tada na temelju dodatnih pokazatelja modela (raspoloµzivih u DSA programu), pro-
cjenjujemo koliko treba otpustiti parametre modeliranja (povećati ili smanjiti L)
da bismo ponovo dobili regularan SFA. Prvi je takav pokazatelj broj morfološki
(oblikovno) razliµcitih morfova. Ako je on rastao s povećanjem L, to je indikator
moguće divergencije modela zbog sustavskih razloga (primjer LMOC modela u I.4.2)
ili pak numeriµckih grešaka (primjer u I.4.4). Inaµce je dobiveni model invarijantan na
promjene L od nekog Lmin naviše. Drugi je pokazatelj najveća na†ena vjerojatnosna
razlika u odnosu na najbliµzi oblikovno jednaki morf. Povećamo li parametar da
bude veći ili jednak toj razlici, moµzemo utjecati na ranije okonµcanje FM algoritma i
dobivanje regularnog modela. Dakle, sustavnim mijenjanjem diskretnog parametra
L i varijacijom realnog parametra uz odabranu rezoluciju (npr. od 10 3 ) do neke
minimalne vrijednosti, moµzemo istraµziti potpun skup rješenja FM algoritma.
Ovakav, cjeloviti postupak nalaµzenja modela u zadanom rašµclambenom stablu
nazvat ćemo sveobuhvatno modeliranje (engl. comprehensive modeling). On
158 6. Raµcunska mehanika i -strojevi

nadopunjuje FM algoritam i znaµcajno kompenzira njegovu potencijalnu površnost.


Izborom rigoroznijih parametara modelar moµze utjecati na provjeru većeg broja
podstabala. Tako će za regularne SFA, kojima su prona†eni morfovi i na razini
lDM = D L 1, vrijediti da su istraµzena njihova podstabla-kandidati na najdubljoj,
D L razini (za neregularne modele to vrijedi po de…niciji). Valja naglasiti da to
općenito ne će vrijediti za sva rubna podstabla već samo za neka, jer FM algoritam
moµze otkrivati morfove idući samo niz neke od moµzebitno mnogih staza u glavnom
stablu. Tu modelar moµze — daljnjim povećanjem L ili smanjenjem — tek posredno
utjecati na daljnje povećanje broja istraµzenih podstabala.
Sveobuhvatno modeliranje ostvareno uporabom DSA programa ilustrirat ćemo
na NCZ sustavu u sljedećem odjeljku (§6.7), a na drugim sustavima u odjeljku 9.2
(posebice vidjeti modeliranje LMI, LMM i LMNCC sustava u 9.2.5).

6.6.5 Temeljiti algoritam za nalaµzenje morfova (TFM)


Iako su u opisu FM algoritma istaknute dobre strane njegove potencijalne površnosti,
te iako se potpunost njegova istraµzivanja rašµclambenog stabla moµze uvelike pobolj-
šati varijacijom parametara modela u okviru sveobuhvatnog modeliranja, mode-
lar moµze postaviti strogi zahtjev za provjerom svih podstabla glavnog stabla i za
razmatranjem svakog od njih kao potencijalnog kandidata za morfa. Za tu ćemo
zadaću konstruirati temeljiti algoritam za nalaµzenje morfova ili temeljiti FM algo-
ritam (kratica TFM, od engl. Thorough Find Morphs algorithm). Njegovi će rezul-
tati — dobiveni po biljeµzenju i me†usobnoj usporedbi svih podstabla — omogućiti
bolju prosudbu rezultata i naµcina rada FM algoritma, posebice svojstva površnosti.
Stoga će TFM algoritam predstavljati suštinsku nadopunu FM algoritmu.
TFM algoritam u svim je svojim detaljima vrlo sloµzen. Radi zaokruµzenja teme i
usporedbe s FM algoritmom ovdje ga predstavljamo tek u kratkim crtama.16
Algoritam 6.3 (TFM) Nalaµzenje SFA-modela usporedbom svih podstabala dubine
L u rašµclambenom -stablu dubine D , uz vjerojatnosnu preciznost .
1. Zabiljeµziti korijensko podstablo kao prvi element u listi podstabala te na njega
postaviti indeks promatranog podstabla.
2. Za promatrano podstablo naći ima li ono lijevo, desno ili oba podstabla, za
njih provjeriti (L; )-ekvivalenciju sa svim prethodno prona†enim podstablima
te ih zabiljeµziti na kraj liste podstabala. U njoj paralelnim listama zabiljeµziti
16
Njegove inaµcice TFM1 i 2 te primjer rada opisani su u 8.6.7. Detaljniji je prikaz u prilogu F.
6. Raµcunska mehanika i -strojevi 159

podatak o najranijem (L; )-jednakom podstablu, ako takvo postoji, te o prije-


lazima izme†u podstabala i njihovim vjerojatnostima.
3. Ako je promatrano podstablo zadnje iz liste, ići na 4. Inaµce povećati indeks
promatranog podstabla za jedan i vratiti se na korak 2.
4. Analizu uklanjanja podstabala zapoµceti od onog koje je posljednje u list.
5. Ako je provjerena mogućnost uklanjanja svih podstabla prije korijenskog (koje
se ne moµze ukloniti), kraj algoritma. Inaµce za promatrano podstablo provje-
riti: (i) je li u koraku 2 za njega ustanovljeno da je (L; )-ekvivalentno nekom
prethodnom podstablu (predstavniku klase ekvivalencije); (ii) moµze li se ono
ukloniti s obzirom na karakter svojih nasljednika, a uz postroµzene kriterije i
s obzirom na karakter predstavnika klase ekvivalencije. Ako ovi uvjeti nisu
ispunjeni, prijeći na prethodno podstablo u listi i vratiti se na 5.
6. Provesti zamjenu promatranog podstabla s njemu ekvivalentnim prethodni-
kom, uz oµcuvanje konzistentnog odnosa podstabala (morfova). Vezu iz roditelja
uklonjenog stabla preusmjeriti na ekvivalentnu zamjenu. Odgovarajućim sup-
stitucijama zadrµzati konzistenciju svih ostalih podstabala. Ukloniti podstablo
iz liste. Prijeći na prethodno podstablo i vratiti se na korak 5.

Rezultat algoritma. Ako me†u preostalim podstablima ima rubnih (na razini D L),
rezultat je neregularan SFA. Inaµce, regularan i deterministiµcki SFA, s minimalnim
brojem (L; )-razliµcitih stanja,17 poredanih po (strogom) ure†aju širinom-prvo.
Zbog provjere svih podstabala u glavnom stablu TFM algoritam uvijek postiµze
0
najveći broj morfovima povezanih simbola pri nalaµzenju -stroja, Ncrr;DM = D i
0
maksimalnu duljinu morfovima istraµzene korelacije pri nalaµzenju -stroja, lcrr;DM =
D 1 (def. 6.18, kor. 6.5). Ove veliµcine vrijede za sve podnizove (rijeµci) prona†ene
u vremenskom nizu i uvrštene u rašµclambeno stablo, a ne za samo neke — kao što u
općenitom sluµcaju vrijedi za FM algoritam (vidjeti napomenu 1 iza def. 6.17).
Da bi TFM algoritam dao regularan SFA, sva rubna podstabla (s nede…niranim
daljnjim prijelazima) moraju biti uklonjena. Stoga su uvjeti na parametre L i D za
regularan SFA jednaki onima za FM algoritam [§6.6.2, izrazi (6.58, 6.59)].
Prilikom uklanjanja podstabala koja imaju ranijeg (L; )-ekvivalentnog pred-
stavnika, TFM algoritam (posebice njegova inaµcica TFM1) zadrµzava konzistenciju
me†uodnosa prona†enih morfova, a time i konzistentnost konaµcnog modela. Zato
se — pored postojanja ranijeg ekvivalentnog podstabla — za promatrano podstablo
17
Za minimalnost uz TFM2 inaµcicu ponekad će trebati formalno prede…nirati (§ F.1.1, I.4.3).
160 6. Raµcunska mehanika i -strojevi

provjerava i status njegovih nasljednih podstabala. Konaµcan je rezultat ili regula-


ran ili neregularan SFA-model, ali s deterministiµckim raµcunskim ustrojem (SDFA).
Analiza u 8.6.7 pokazat će da ako je dobiveni model regularan i posebice ako je
kreiran rigoroznijom inaµcicom TFM1, tada je on identiµcan modelu koji uz iste pa-
rametre daje FM algoritam, okarakteriziran svojstvom površnosti (tab. 8.5). No za
regularan je (TFM) model kod nekih sustava nuµzno znatno povećati parametar ,
µcak i do iznosa kojim se asimiliraju sva osim morfološki razliµcitih stanja.18
Za naše je razmatranje bitno da rezultati TFM algoritma potvr†uju korektnost
osnovnog FM algoritma. Osim oµcekivanih, povećanih, vjerojatnosnih razlika, na
dubljim se razinama konzistentnih rašµclambenih stabala ne nalaze nikakve novine i
iznena†enja u odnosu na ono što otkriva FM algoritam kojem površnost kontroli-
ramo izborom (većeg) L i (manjeg) . Naravno, TFM algoritam uvijek će osigurati
pretragu cijelog rašµclambenog stabla. Stoga je on suštinska nadopuna FM algoritmu
te alternativa za odre†ene etape sveobuhvatnog modeliranja.

6.6.6 Osvrt na druge algoritme — usporedba s FM i TFM


U pregledima autora, doprinosa i primjene raµcunske mehanike (§1.2.4, 6.1.3) istakli
smo da je teorija -strojeva uspješno primijenjena u mnogim podruµcjima. Prema
navodima iz [59, pogl. 5], u okviru Crutch…eldove škole raµcunske mehanike [14]
kreiran je i implementiran tzv. Crutch…eld-Youngov (CY), “stapajući”(engl. merg-
ing) algoritam rekonstrukcije -strojeva. Prema šturom opisu iz iste literature spaja-
jući se algoritam zasniva na nalaµzenju svih mogućih podstabala dubine L u glavnom
stablu, odabiru “bilo koja dva”od njih i razmatranju njihove -ekvivalencije [našim
rjeµcnikom (L; )-ekvivalencije]. Ukoliko su ekvivalentna, tada se ta podstabla (prema
doslovnom opisu: “µcvorovi i njihovi nasljednici”) stapaju u jedno, a korijen novodo-
bivenog podstabla poprima veze od oba roditelja prethodnih podstabala. Postupak
se nastavlja dok je god moguće postići nova spajanja.19
Za opisani stapajući algoritam Shalizi navodi nekoliko zamjerki. Kao prvo, po-
stupak polazi od maksimalnog mogućeg broja kauzalnih stanja (svih podstabala u
glavnom stablu), a time i od modela maksimalne veliµcine i sloµzenosti, koji tek nakon
postupka spajanja moµze, ali i ne mora, biti pojednostavljen. To je u suprotnosti s
naµcelom Occamove britve. Nadalje se postavlja pitanje izbora parametra , a kao
18
Razmatranje ekvivalentnosti regularnih reprezentativnih modela oba algoritma i parametara
za koje se to doga†a zanimljiva je tema koju izostavljamo iz ovog izlaganja. Vidjeti i noticu 17.
19
Prema našoj spoznaji, precizan, algoritamski opis ove metode rekonstrukcije -stroja do razine
SFA nije objavljen. Tako†er, o njemu nam nisu dostupni nikakvi dodatni podaci.
6. Raµcunska mehanika i -strojevi 161

krucijalna zamjerka navodi se da algoritam ne daje uvijek deterministiµcki model, s


dobro de…niranim pozadinskim Markovljevim procesom.
Otklanjanje ovih manjkavosti bila je motivacija za uvo†enje novog algoritma za
nalaµzenje kauzalnih stanja i modela [59, pogl. 5], poslije nazvanog CSSR algoritam
(od engl. Causal-State Splitting Reconstruction) [60, (i)]. CSSR algoritam polazi od
jedinstvenog stanja koje odgovara sluµcajno i identiµcno raspodijeljenim znakovima
niza (i.i.d., vidjeti def. 8.1 u 8.2.2). Nulta hipoteza jest da se radi o Markovljevom
procesu s odre†enim — do tada na†enim — brojem stanja (u poµcetku jednim). Po-
tom se raµcunaju uvjetne vjerojatnosti za sljedove unaprijed koji tvore L-morfove
pa se nulta hipoteza provjerava s pomoću Kolmogorov-Smirnovljevog statistiµckog
testa. Tek u sluµcaju da su razliµcitosti me†u morfovima veće od odabrane razine
statistiµcke znaµcajnosti, nulta se hipoteza odbacuje i Markovljevom se procesu pri-
dodaju nova stanja. Korištenjem svojstava Markovljevih lanaca s memorijom prvog
reda te homogenosti i deterministiµcnosti proisteklih iz svojstava kauzalnih stanja,
ispostavlja se da u algoritmu nije potrebno razmatrati budućnosti dulje od jednog
simbola. Rezultat je statistiµcki konzistentan, deterministiµcki model.
Jedna od ozbiljnih mana CSSR algoritma jest mogućnost kreiranja neminimalnog
modela [59]. Toj zamjerci moµzemo pridodati i skretanje od, po nama, prvotne ideje
vodilje teorije -strojeva — da se gradba modela sustava treba zasnivati na raµcunskim
modelima i algoritmima temeljenim prvenstveno na uoµcenim (podatkovnim) struk-
turama u primljenom nizu. Umjesto toga, CSSR algoritam zasniva se na uporabi
sloµzene statistiµcke obrade vremenskog niza. To umanjuje izravnost raµcunskog pri-
stupa, a moµzebitno i raµcunsku autentiµcnost na†enog ustroja sustava.
Naši, FM i TFM algoritmi, jednako kao i CY, koriste koncept morfa — (L; )-
jedinstvenog -podstabla u rašµclambenom -stablu. Za razliku od ostala dva, FM
algoritam nastavlja s radom tek ako se stalno otkrivaju sve novi i novi morfovi. Stoga
on uvijek daje minimalan model. Ako podstablo poteklo iz nekog prethodnog morfa
ne predstavlja novinu u strukturi ili u vjerojatnostima prijelaza, daljnje se istraµzi-
vanje po njegovoj stazi obustavlja. Ovo smo svojstvo nazvali potencijalna površnost.
Ono odgovara osnovnom naµcelu CSSR algoritma da se nova stanja kreiraju tek ako
je to zaista nuµzno. Zato oba ta algoritma inicijalno udovoljavaju Occamovoj britvi.
TFM pak je sliµcan CY algoritmu, jer njih obojica kreću od pretpostavke da su sva
podstabla potencijalna kauzalna stanja. Me†utim, za razliku od stapanja podsta-
bala “proizvoljnim redom”, kao u CY algoritmu, u TFM-u se podstablo na niµzoj
razini nadomješta reprezentantom svojeg razreda ekvivalencije na višoj razini — i to
162 6. Raµcunska mehanika i -strojevi

samo ako se pri tom zadrµzava konzistencija i deterministiµcnost cjelokupnog modela.


Detaljnija usporedba naših i algoritama drugih autora iziskuje zasebno izlaganje, a
za sluµcaj Crutch…eld-Youngovog algoritma nuµzan je i njegov podrobniji opis.

6.7 Modeliranje NCZ sustava u DSA programu


Prezentaciju teorije -strojeva završavamo primjerom modeliranja našeg standard-
nog testnog sustava “nema uzastopnih nula” uz uporabu DSA programa. Time
ćemo pokazati podudarnost rezultata koje daje naš program s modelom dobivenim
analitiµcki u odjeljku 6.5. Ujedno ćemo diskutirati preciznost dobivenih vjerojatnosti
prijelaza u ovisnosti o broju uµcitanih rijeµci. Ovo kratko predstavljanje mogućnosti i
rezultata DSA programskog alata posluµzit će kao uvod i motivacija za njegov detaljan
opis u poglavlju 8 i za njegovu primjenu u modeliranju u poglavlju 9.

6.7.1 Od izbora sustava i parametara do SFA-modela


Modeliranje zapoµcinje izborom sustava. U izborniku System/Select New našeg pro-
grama, u grupi sustava Rule De…ned (Regular Expressions) odabiremo sustav No
Consecutive Zeros. Sjeme iteracije (inicijalna toµcka orbite iz koje se ovdje tvori sjeme
generatora sluµcajnih brojeva) ostavljeno je na podrazumijevajućoj vrijednosti koju
daje suµcelje, x0 = 0:33 : : : 3 (1=3 zapisana s 15 decimala). Ostavljamo i postavku da
se prvih 100, tzv. tranzijentnih, toµcaka orbite preskoµci (za izgled dijaloškog okvira
s parametrima za sustave de…nirane pravilom vidjeti sl. H.2, u prilogu H). Nadalje
kreiramo rašµclambeno stablo visine (dubine) D = 10, koje hranimo u etapama:
najprije s 105 rijeµci, pa zatim za faktor 10 većim brojem rijeµci itd., sve do zadnje
od šest hranidbi, kojom je uµcitan broj od 2Gi = 231 = 2 147 483 648 rijeµci.20 U
njoj smo odstupili od okruglog broja 2 109 zbog speci…µcnosti (manjkavosti) našeg
generatora pseudosluµcajnih brojeva, na što ćemo se vratiti poslije.
Za svaku od hranidbi kreirana su po dva SFA-modela. Njihova je lista s tablicom
osnovnih podataka vidljiva na slici 6.6, u većem prozoru, zvanom Causal Models –
Stochastic Finite Automata (SFA). Prvih 6 kolona odnosi se na SFA-model i u njemu
prona†ene morfove, dok se preostale kolone odnose na glavno (rašµclambeno) stablo.
Model se kreira pritiskom na puce Add New, pri µcemu se odabiru njegovi parametri:
(i) visina (dubina) morfa L, (ii) vjerojatnosni parametar , te (iii) naµcin usporedbe
20
Za kratice binarnih pre…kasa vidjeti podbilješku 8.5. Usput, maksimalan broj nepredznaµcenog
32-bitnog cjelobrojnog tipa koji koristimo za pobrojavanje jest 4Gi 1 = 232 1 .
6. Raµcunska mehanika i -strojevi 163

Slika 6.6: SFA modeli sustava “nema uzastopnih nula” s varijabilnim L i D = 10 , u


radnim dijaloškim prozorima DSA programa. Ve´ci prozor: lista kauzalnih modela s pa-
rametrima i osnovnim rezultatima po hranidbama s 105 , 106 , 107 , 108 , 109 i 2 Gi = 231
rijeµci (sjeme generatora sluµc. brojeva x0 = 1=3 na 15 decimala, hranidba zapoµcinje po pro-
puštenih 100 toµcaka). Legenda. Model – SFA: No. = redni broj modela, HMr = L = visina
(dubina) morfova, Delta Prob. = , SC = redoslijed i naµcin usporedbe kandidata-morfa
s već prona†enim morfovima (-> od prvog, <- od zadnjeg , j - j sa svima, vidjeti 8.6.4),
Rg = –/+ oznaµcava (ne)regularan model, Mr. Di¤. = broj oblikovno razliµcitih morfova,
Mr. Tot. = ukupan broj na†enih morfova (stanja), Mx. Poss. = maksimalan mogući broj
morfova za dano glavno stablo. Main Tree and Source System: HTr = visina glavnog stabla,
Status: Up/Cut –glavno stablo postoji/obrisano, Strings Fed = broj rijeµci kojima je stablo
nahranjeno, L.(R.) Nodes = broj lijevih (desnih) µcvorova glavnog stabla. Manji prozor:
izvješće (Report) za SFA br. 7 iz većeg prozora, s 3 na†ena morfa i njihovim me†usobnim
prijelazima. Legenda. Morph: ID# = broj morfa, String = identi…kacijski niz od korijena
glavnog stabla do korijena morfa, Twin = ID# morfološki jednakog podstabla (morfa),
$ / Di¤...: $ = morfološki jedinstven morf, Di¤. = maksimalna vjerojatnosna razlika podu-
darnih µcvorova morfova blizanaca (proširenjem 5. kolone otkriva se relativni niz µcvora u
kojem se ta razlika dogodila, ovdje: 0 ). Left (Right) Morph: ID# lijevog (desnog) podmor-
fa, Prob. to L (R) = uvjetna vjerojatnost lijevog (desnog) podmorfa, po prijamu 0 (1). U
oba se prozora legende pojmova dobivaju po kliku na naslove oznaµcene s [Legend & Info].
164 6. Raµcunska mehanika i -strojevi

podstabala-kandidata. Ovi su podaci vidljivi u kolonama HMr (od engl. Height of


Morphs), Delta Prob. i SC (od engl. Subtree-Candidates’ Comparison). Primjerice,
za model broj 1 odabrano je L = 1, = 0:005 te smjer usporedbe -> . Kod
ovog naµcina usporedbe, podstablo koje je kandidat za morfa uspore†uje se s već
prona†enim morfovima u listi idući od poµcetnog morfa pa do prvog koji mu je -
ekvivalentan (ako takav postoji). Suprotan naµcin usporedbe, koji kreće od zadnjeg
prona†enog morfa, oznaµcen je strelicom ulijevo <- . Cjelovita usporedba, oznaµcena
s j - j, uspore†uje kandidata sa svim prethodno prona†enim morfovima i nalazi onog
koji mu je vjerojatnosno najbliµzi (§8.6.4). U listi je vidljivo da smo u modelima
varirali i naµcin usporedbe, na što ćemo se ukratko osvrnuti kasnije.
Uz glavno stablo visine D, s prethodna dva parametra i sa smjerom usporedbe
model je u potpunosti de…niran. Nalaµzenje morfova pokrećemo pritiskom na puce
Find. Iz kolona Mr. Tot. i Mr. Di¤ (engl. Morphs Total, Morphologically Di¤erent)
µcitamo da su na†ena ukupno tri morfa od kojih su dva i morfološki razliµcita. U
koloni Mx. Pss. (od engl. Maximally Possible) pak vidimo da za ovo konkretno glavno
stablo (nahranjeno sustavom “nema uzastopnih nula” i visine 10) maksimalan broj
morfova visine 1 iznosi 231 . Sljedeća kolona prikazuje spomenutu visinu glavnog
stabla, njegov status (u ovom je primjeru stablo još “µzivo”, tj. nije “posjeµceno”) te
broj rijeµci s kojim je stablo bilo nahranjeno u trenutku nalaµzenja SFA-modela (za
prvi model to je 105 rijeµci). Potom slijede kolone sa statistikom µcvorova stabla.
Za prvu se hranidbu isti SFA dobiva i uz L = 2 i uz L = 3; 4; 5 (nije prikazano).
Svi ti modeli podudarni su s teorijski izvedenim SFA sa slike 6.5, uz vjerojatnosnu
toleranciju 0:005 . No uz = 0:001 i L = 1 dobiva se model s (prekobrojnih)
7 stanja, a za L 2 SFA imaju još više stanja i postaju neregularni (izbrisani
iz liste). Uzrok tome jest pretjerana preciznost za statistiµcku teµzinu ostvarenu
uµcitanim brojem rijeµci. Deset puta veća hranidba daje korektan SFA i uz = 0:001,
ali samo za L = 1; 2 . Hranidbe s 107 rijeµci pak za isti daju korektne modele
u rasponu visina morfa 1 L 8, dakle sve do maksimalne visine s kojom se uz
razinu najdubljeg morfa lDM = 1 po (6.59) još dobiva regularan SFA.

6.7.2 Analiza dobivenog modela


Pošto je kauzalni SFA-model izraµcunan (i odabran), njegovo se izvješće otvara pri-
tiskom na puce Report. U tom izvješću morfovi (stanja) te prijelazi izme†u njih i
pripadne vjerojatnosti u potpunosti de…niraju SFA-graf. Dodatni podaci u izvješću
pomaµzu modelaru u procesu sveobuhvatnog modeliranja (§6.6.4).
6. Raµcunska mehanika i -strojevi 165

Izvješće za model br. 7 (odabran u gornjem prozoru sl. 6.6) prikazano je u do-
njem, manjem prozoru, zvanom Stochastic Finite Automaton – Tree Morphs Transi-
tions. Njega µcini lista prona†enih morfova (stanja sustava) s vjerojatnostima njihovih
me†usobnih prijelaza i dodatnim podacima. Lista uvijek zapoµcinje korijenskim mor-
fom (ID broj 1). Svaki je morf jednoznaµcno de…niran svojim korijenskim µcvorom —
predstavljenim binarnim nizom u koloni String — i svojom visinom. Korijenski morf
uvijek proistjeµce iz korijena glavnog stabla, pa mu je korijen opisan praznim nizom.
Nakon korijenskog morfa u listi se niµzu njegovi podmorfovi (ako postoje). U našem
su sluµcaju to morf br. 2 (3) s korijenom oznaµcenim nizom 0 (1). Prva dva morfa
oblikovno (morfološki) su jedinstvena. U koloni $ / Dif to je oznaµceno znakom $, a u
prethodnoj koloni, Twin, minusom, jer oni nemaju ranijeg oblikovno jednakog morfa.
Za morf koji pak nije morfološki jedinstven (morf br. 3), zapisuje se identi…kacijski
broj ranijeg morfa kojemu je on morfološki blizanac s najmanjim vjerojatnosnim
razlikama. Tada je u susjednoj koloni $ / Dif maksimalno vjerojatnosno odstupanje
prona†eno za dva odgovarajuća µcvora takvih blizanaca. Taj podatak daje minimalan
iznos parametra koji je potreban za vjerojatnosnu asimilaciju tih blizanaµckih sta-
nja s njihovim ranijim predstavnicima. Proširenjem pete kolone dobiva se i podatak
o µcvoru u kojem se to maksimalno odstupanje pojavilo (vidjeti opis sl. 6.6).

Daljnje kolone daju podatke o prijelazima i njihovim vjerojatnostima. Tako u


dvije kolone oznaµcene nadnaslovom Left Submorph oµcitavamo identi…kacijski broj
lijevog podmorfa — u koji se prelazi po znaku 0 — i njegovu vjerojatnost. Iz korijen-
skog se morfa po znaku 0 prelazi u morf broj 2 s vjerojatnošću 0:333338 . Analogni
podaci navedeni su i za desni podmorf — u koji se prelazi po znaku 1 . U drugom
retku vidljivo je da morf br. 2 nema lijevi podmorf već samo desni, pa je prije-
laz u taj podmorf deterministiµcki — s vjerojatnošću 1 . U istovjetnom izvješću za
model broj 1 vidjeli bismo da prijelazi i njihove vjerojatnosti tako†er u potpunosti
odgovaraju teorijski predvi†enom modelu sa slike 6.5, ali uz nešto veća odstupanja
(vidjeti sljedeći pododjeljak i sl. 6.7). Budući da svi morfovi imaju dobro de…nirane
prijelaze u druge morfove po znakovima 0 i 1, kao i vjerojatnosti tih prijelaza (µciji
zbroj uvijek iznosi 1), ovo izvješće de…nira valjani tenzor T i regularan SFA-model.
Ta je µcinjenica zapisana na vrhu prozora izvješća, a i oznaµcena znakom ’+’u koloni
Rg (od engl. regular) liste modela, u većem prozoru.

Pomakom vidljivog prozora izvješća modela udesno, otvaramo dodatne kolone


sa statistiµckim podacima o morfu kao podstablu, saµcuvane u objektu za pohranu
statistike -(pod)stabla (vidjeti implementaciju FM algoritma u 8.6).
166 6. Raµcunska mehanika i -strojevi

6.7.3 Utjecaj hranidbe i generatora sluµcajnih brojeva


na preciznost modela
Vjerojatnosti za svih 6 razliµcitih hranidbi, tj. za svih 6 parova modela, ukljuµcujući
i model 7 s prethodne slike, vidljive su na slici 6.7. Tu je SFA-model prikazan u
standardnoj formi oznaµcenog usmjerenog grafa (LDG). Vjerojatnosti prijelaza dane
su u listi jedne ispod drugih. Za prva dva modela, nastala po prvoj etapi hranidbe s
105 rijeµci, vjerojatnosti prijelaza dane su najgornjim brojem u listi, za modele broj
3 i 4 — iz drugog para — vjerojatnosti su dane drugim brojem odozgo itd.
Oznake uvjetnih vjerojatnosti prijelaza na slici prilago†ene su uobiµcajenom gra-
…µckom prikazu SFA. Prvo je napisan znak po kojem se prijelaz doga†a, a potom i
skraćena oznaka uvjetne vjerojatnosti. To povezujemo s ranije uvedenim formalnim
oznakama (6.21, 5.17) na sljedeći naµcin:

si j p ! 0 = Pr (si ; 0 j ) : (6.62)
si

si je simbol iz abecede A, a i 0 stanja su iz skupa stanja D; L; .


Za modele 3 i 4 u drugom paru (s parametrima L = 2; 5 i = 0:001) hranidba je
povećana na 106 rijeµci. Za model 3 na†en je isti broj morfova kao i za par modela iz
prethodne hranidbe. Njegove se vjerojatnosti već znatno primiµcu teorijskim vrijed-
nostima. Me†utim, za model br. 4, s visinom morfa L = 5, dobiva se prekomjeran
broj stanja. Zbog relativno velikog L u podstablima će se uspore†ivati vjerojatnosti
odgovarajućih µcvorova na razinama l = 1; 2; : : : ; 5, odnosno vjerojatnosti svih slje-
dova unaprijed duljine l 5 . Zato se za podstabla na većim razinama µcešće nalaze
vjerojatnosna odstupanja veća od , te se ona prepoznaju kao (L; )-jedinstvena.
To rezultira modelom koji od 32 postojeća podstabla njih µcak 24 prepoznaje kao
morfove. Od tih morfova i dalje su samo prva dva oblikovno jedinstvena — jer to
dirigira karakter vremenskog niza u kojem nakon nule mora doći jedinica — dok su
svi ostali njihovi morfološki blizanci. Da smo otvorili SFA izvješće ovog modela,
vidjeli bismo da su mu donji morfovi rubni, na razini lDM = D L = 5 . Oni ne
mogu imati de…nirane prijelaze u druge (prethodne) morfove, pa je SFA neregularan
(vidjeti uvjete u 6.6.2). Program to istiµce odmah po svršetku nalaµzenja morfova,
a tako†er i u naknadnoj poruci koja se za već formirane modele dobiva ponovnim
pritiskom na puce Find. U listi modela to je zabiljeµzeno znakom ’–’u koloni Rg.
Prema zakljuµccima iz 6.3.1, 6.3.2 i 6.6.3, smanjenje visine morfova u općenitom
se sluµcaju ne smije olako napraviti jer se time moµze narušiti zahtjev (6.35). U ovom
primjeru jednostavnog dinamiµckog sustava, s kratkom korelacijom, smanjenje sve do
6. Raµcunska mehanika i -strojevi 167

0.666900
0.666761
0.666688
1 0.666662 0.500525
0.666653 0.500212
0.666667 0.500049
1 0.499989
0.499969
0.500001
11
A B C

0.333100 0.499475
0.333239 0.499788
0.333312 0.499951
0 0.333338 0 0.500011
0.333347 0.500031
0.333333 0.499999

Slika 6.7: SFA-graf sustava “nema uzastopnih nula”, prema modelima iz DSA programa
sa sl. 6.6. Visina (dubina) glavnog stabla D = 10 . Vjerojatnosti prijelaza izme†u stanja
po primljenom simbolu oznaµcene su odozgo prema dolje za 6 hranidbi s 105 , 106 , 107 ,
108 , 109 ; 231 2:147 109 rijeµci. Iteracija kreće iz sjemena x0 = 1=3 . Hranidba stabla
zapoµcinje nakon 100 tranzijentnih toµcaka. Za svaku hranidbu generirana su po dva modela,
s visinom morfova L i parametrom navedenima u listi na sl. 6.6. Oba ta modela imaju
jednake vjerojatnosti prijelaza — prikazane na ovoj slici.

Lmin = 1 (model br. 1) ne rezultira gubitkom stanja i presimpli…ciranim modelom.


No za neki kompleksniji sustav to bi se moglo dogoditi. U 6.5.6 već smo pokazali
da je za NCZ sustav razina najdubljeg morfa lDM = 1, a ovdje je to i potvr†eno za
sve regularne modele. Iz izvješća sa slike 6.6 ta se razina izravno išµcitava kao duljina
niza kojim je de…niran korijen najdubljeg morfa ili morfova (kolona String). Ovdje
su najdublji morfovi 2 i 3 de…nirani jednoslovµcanim nizovima 0, odnosno 1 . Time
smo i eksperimentalno potvrdili zakljuµcke izvedene u odjeljku 6.5.
Me†utim, ako se radi o kompleksnom sustavu, modelar mora paziti ne samo
da visinu morfa previše ne smanji nego i da njezinim pretjeranim povećanjem ne
dovede do prevelikog pada broja morfova koji se u zadanom rašµclambenom stablu
mogu kreirati (vidjeti 6.6.3). Preveliki L uz pribliµzno konstantan lDM rezultirat će
narušenjem uvjeta (6.59) i neregularnim SFA. Po odabiru parametara L i modelar
moµze pratiti maksimalan mogući broj morfova za konkretno glavno stablo proma-
tranog sustava u koloni Mx. Pss. liste kauzalnih modela (vidjeti sl. 6.6).21
Vratimo li se na našu listu SFA-modela, vidimo da je za sljedeći par morfova —
nahranjen s 107 rijeµci — zadrµzano = 0:001, dok je za preostala tri para modela, s
hranidbama od 107 ; 108 ; 109 i 231 rijeµci, parametar redom smanjivan. Tu je odabi-
rana srednja visina, L D=2 [prema (6.61)], te povećana visina morfova, L > D=2,
21
S time je povezan koncept prolaznog stabla, obrazloµzen u pododjeljku 8.6.1.
168 6. Raµcunska mehanika i -strojevi

da se ilustrira povećanje toµcnosti vjerojatnosti prijelaza izme†u stanja po obilnijoj


hranidbi i time ostvarenoj većoj preciznosti vjerojatnosti µcvorova rašµclambenog sta-
bla. Preciznost je teµze postići na većim razinama, do kojih u FM algoritmu svojim
sljedovima unaprijed dopiru tek morfovi s većim L . Da je tamo narušena -jednakost
morfološki jednakih podstabala, algoritam bi otkrio povećani broj morfova.
Rezultati sa slike 6.7 govore da vjerojatnosti prijelaza izme†u stanja modela
konvergiraju k teorijskim vrijednostima:

p0; A!B = Pr ((0; B) jA) ! 1=3 ; (6.63a)


p1; A!C = Pr ((1; C) jA) ! 2=3 ; (6.63b)
p0; C!B = Pr ((0; B) jC) ! 1=2 ; (6.63c)
p1; C!C = Pr ((1; C) jC) ! 1=2 : (6.63d)

Prijelaz iz stanja B u C deterministiµcki je, pa je njegova vjerojatnost za sve hranidbe


potpuno toµcna, 1jpB!C = Pr ((0; C) jB) = 1 .
Budući da se vjerojatnosti za (6.63a, b) formiraju odmah iz korijenskog morfa
(korijena rašµclambenog stabla), one predstavljaju omjer emitiranih nula i jedinica.
Vjerojatnosti (6.63c, d) odre†uju se na niµzoj, l = 1 razini u rašµclambenom stablu,
pa je njihova konvergencija nešto sporija. Uoµcimo da konvergencija nije monotona.
Nakon µcetvrte hranidbe, s ukupno 108 rijeµci (modeli 7 i 8), odstupanje od idealnih
vrijednosti najprije raste za hranidbu s 109 rijeµci, da bi tek potom, u hranidbi s 231
rijeµci, pala na gotovo idealnu vrijednost za prikazanih 6 decimala.22
Napomenimo da za ovaj jednostavan, pravilom zadan, dinamiµcki sustav promjena
smjera usporedbe podstabala-kandidata ne utjeµce na dobivene SFA-modele. Pored
jednakosti u shemi i vjerojatnostima prijelaza izme†u stanja, podudarnost vrijedi
i za kolonu broj 4 ($ / Di¤...). To je provjereno izradom modela u kojima su za
istovjetne ostale parametre uporabljena sva tri naµcina usporedbe.23
Da ovaj pregled modeliranja NCZ sustava uµcinimo potpunim, razmotrit ćemo još
utjecaj koji na modele ima odabir sjemena iteracije — koje se u ovom sluµcaju svodi
22
Po pribliµzenju oµcekivanim (idealnim) vjerojatnostima, gore opisanu hranidbu s 2Gi = 231
rijeµci nadmašuju nešto manje hranidbe. Uz podrazumijevajuće parametre NCZ sustava (sjeme
x0 = 1=3 , 100 tranzijentnih toµcaka) to vrijedi za uµcitanih 1:9587 109 rijeµci. Usporedbe radi, vje-
rojatnosti (6.63a, b, c, d) na 10 decimala za prvu (drugu) spomenutu hranidbu su: 0:333 332 777 5
(0:333 333 332 8), 0:666 667 222 5 (0:666 666 667 2), 0:499 998 749 3 (0:499 999 999 6), 0:500 001 251 7
(0:500 000 000 4). Uz isto sjeme i 0 tranzijentnih toµcaka ponašanje je vrlo sliµcno. Razvoj orbite
osjetljiviji je na promjenu sjemena. Uz x0 = 0 i 0 tranzijentnih toµcaka najmanja odstupanja od
idealnih vjerojatnosti su za hranidbu od oko 1:9922 109 rijeµci i iznose 5 10 9 .
23
Sustavi sa suptilnim vjerojatnosnim razlikama, u kojima promjena naµcina usporedbe daje
razliµcite SFA-modele, opisani su u I.4.1.
6. Raµcunska mehanika i -strojevi 169

Nw10 , x0 p0; A!B p1; A!C p0; C!B p1; C!C


105 , x0 = 0:0 0.332540 0.667460 0.498202 0.501798
x0 = 1=3 0.333140 0.666860 0.499550 0.500450
6
10 , x0 = 0:0 0.333112 0.666888 0.499502 0.500498
x0 = 1=3 0.333233 0.666767 0.499773 0.500227
107 , x0 = 0:0 0.333329 0.666671 0.499991 0.500009
x0 = 1=3 0.333312 0.666688 0.499952 0.500048
8
10 , x0 = 0:0 0.333362 0.666638 0.500066 0.499934
x0 = 1=3 0.333338 0.666662 0.500011 0.499989
9
10 , x0 = 0:0 0.333326 0.666674 0.499983 0.500017
x0 = 1=3 0.333347 0.666653 0.500031 0.499969
231 , x0 = 0:0 0.333333 0.666667 0.499999 0.500001
x0 = 1=3 0.333333 0.666667 0.499999 0.500001

Tablica 6.1: Konvergencija prijelaznih vjerojatnosti SFA sustava “nema uzastopnih nula”
za dvije skupine rastućih hranidbi. Svaka skupina ima zasebnu iteraciju zaµcetu u sjemenu
x0 , s 0 tranzijentnih toµcaka. S porastom broja NwD uµcitanih rijeµci vjerojatnosti prije-
laza teµze k teorijskim vrijednostima iz (6.63). Konvergencija je nemonotona. Oscilacije
uzrokuje statistiµcki nekonzistentan generator pseudosluµcajnih brojeva (vidjeti i sl. 6.7).

na sjeme kojim starta generator sluµcajnih brojeva (§ 6.7.1). Za razliµcite vrijedno-


sti sjemena konvergencija prema toµcnim vrijednostima razlikuje se u detaljima ali
je sliµcnog trenda. U tablici 6.1 prikazana je konvergencija vjerojatnosti prijelaza
prema teorijskim vrijednostima za hranidbe s iteracijama iz sjemena x0 = 0:0 i
x0 = 1=3 (zapisano s 15 decimala). Ovdje hranidba kreće odmah, bez tranzijentnih
toµcaka, za razliku od prethodnog primjera gdje je prvih 100 toµcaka orbite propu-
šteno. Uoµcavamo da su — u odnosu na rezultate sa slike 6.6 — rezultati za sjeme
x0 = 1=3 razliµciti u prve dvije hranidbe, gotovo isti u druge dvije, a identiµcni za
dani broj decimala u zadnje dvije hranidbe. Iz tablice se moµze išµcitati da su glede
promjene sjemene toµcke rezultati ovdje još osjetljiviji. Tek za hranidbu s 231 rijeµci
vjerojatnosti prijelaza postaju iste za obje sjemene toµcke.
Gore opisane oscilacije u svezi su s cikliµckim ponašanjem pojedinih grupa bitova
u generiranim 16-bitnim brojevima, unutar glavnog ciklusa korištenog generatora
pseudosluµcajnih brojeva. U našem je DSA programu korištena standardna funkcija
rand iz MS Visual Studio(C) C++ razvojne okoline. Spomenuta anomalna ponaša-
nja odraz su njezinih relativno slabih statistiµckih svojstava (vidjeti tako†er 8.2.1).
Za hranidbe nakon 2Gi rijeµci ponavljaju se sliµcne oscilacije — smanjene amplitude,
no s istim unutarnjim periodima. Nakon dvostrukog broja, od 4Gi uµcitanih rije-
µci, ponovo se dobiva ista toµcnost kao i za 2Gi rijeµci. Sve nam to sugerira da ovaj
170 6. Raµcunska mehanika i -strojevi

generator pseudosluµcajnih brojeva ima period od 2Gi = 231 . Taj ćemo zakljuµcak
dodatno potvrditi u odjeljku 9.1, nakon analize rašµclambenih stabala ovog i drugih
sustava zadanih pravilom.
Iz ovog primjera konkretnog modeliranja jasno proizlazi vaµznost uporabe konzi-
stentnog generatora pseudosluµcajnih brojeva s dobrim statistiµckim svojstvima te —
posebice ako se radi o lošijem generatoru — vaµznost poznavanja njegovih osobina
(mana). Budući da ovaj testni sustav ima vrlo kratku duljinu korelacije, uspjeli
smo po vrlo obilnoj hranidbi dobiti odstupanja vjerojatnosti prijelaza u odnosu na
teorijske vrijednosti od svega 1 10 6 .
Na koncu zakljuµcujemo da je za zadanu duljinu rijeµci od D = 10 i za obilne
hranidbe s 108 i više rijeµci, nizom SFA-modela sa slike 6.6 predstavljen saµzetak sve-
obuhvatnog modeliranja NCZ sustava (§6.6.4). U listi modela predstavljen je
tek presjek rezultata dobivenih za razliµcite parametre L i koji daju isti, korektan,
SFA. Iz prethodnog izlaganja proizlazi da se on dobiva i za Lmin = 1, pa sve do
maksimalne dubine Lmax = 8 za regularan morf [prema (6.59)]. Zato je SFA na
slici 6.7 reprezentativan SFA-model MSF A = (T; i0 = 1) , u smislu de…nicije
6.12 i korolara 6.3, koji toµcno opisuje NCZ sustav, neovisno o izboru D i L za
3 D Dmax , 1 L D 2, 24 te za širi izbor vjerojatnosne tolerancije,
5 10 6 < 1=6 . Parametar podsjeća nas da je preciznost ipak konaµcna i
ovisna o broju uµcitanih rijeµci te da bi npr. uz premali ili puno veći D i L mogli
dobiti i drugaµcije, nekorektne i neregularne modele.
Ovako ilustrirani koncept sveobuhvatnog modeliranja pokazat će se nezamjenji-
vim u analizi zaista nepoznatih sustava, kakve ćemo istraµzivati u poglavlju 9.

24
Dmax odre†en je konaµcnim raµcunarskim izvorištima (kapacitetom memorije i vremenom po-
trebnim za statistiµcki relevantnu hranidbu, § 6.6.3, 8.3.3) te konzistentnošću generatora pseudoslu-
µcajnih brojeva za izrazito duge rijeµci (§ 9.1.1).
Poglavlje 7

Informacijsko-teorijski aspekti
modela

Pored raµcunarskih znanosti i teorije raµcunarstva teorija informacije druga je vaµzna


poluga našeg izuµcavanja dinamiµckih sustava. U dosadašnjem izlaganju već smo se
susreli s potrebom de…niranja koliµcine informacije koju modelar prima od sustava u
kontekstu mjerno-modelirajućeg kanala. U 3.2.3 uveli smo Shannonovu entropiju te
za potrebe ugodbe mjernog instrumenta koristili stopu entropije — prosjeµcnu koliµcinu
informacije dobivenu od izvora primitkom jednog njegova znaka. Tu smo veliµcinu
koristili i ranije, u de…niciji generirajuće particije (§2.2.5).
Klasiµcna Shannonova teorija informacije uvodi entropiju kao mjeru koliµcine in-
formacije koju primamo od stohastiµckih sustava. Stohastiµcnost je kao zahtjev za
opis realistiµcnih sustava ugra†ena u same temelje teorije -strojeva i crutch…eld-
ovske raµcunske mehanike. Ona je sastavni dio raµcunskih modela poµcevši od razine
rašµclambenog stabla i kljuµcan je dio de…nicije stohastiµckih konaµcnih automata (SFA,
§6.1, 6.2). Stohastiµcke odrednice dobivenih modela omogućuju da se njihovi raµcun-
ski aspekti nadopune informacijsko-teorijskim pokazateljima. Uporaba teorije in-
formacije u izuµcavanju dinamiµcnih sustava i …zikalnih procesa istiµce se već od po-
µcetnih radova ovog podruµcja [17, 18], nadogra†uje se kroz naprednije epistemološke
koncepte proizašle iz modeliranja — semantiku i znanje [22] te primjenjuje u opisu
staniµcnih automata i više-dimenzionalnih sustava [26, 58, 59].
Iz ovog vrlo opseµznog opusa primjene teorije informacije u raµcunskoj mehanici
izdvojit ćemo i podrobnije opisati statistiµcku sloµzenost — izvornu mjeru sloµzenosti
dinamiµckih sustava koja prirodno proizlazi iz temeljnog -stroja (SFA-modela). Od
mnogobrojnih mjera sloµzenosti koje su nakon naglog razvoja ovog podruµcja pred-

171
172 7. Informacijsko-teorijski aspekti modela

loµzene kao mjere strukture dinamiµckih sustava, ta se mjera nameće zbog jedno-
stavnog teorijskog utemeljenja na pozadinskom Markovljevom procesu kojeg SFA
de…nira. Nakon aksiomatskog obrazloµzenja tu i druge sloµzenosti izvest ćemo iz SFA-
modela te ilustrirati na primjerima. U tom se postupku koristi informacijsko-teorijski
raµcun µciji su opseµzniji dijelovi — zajedno s nekoliko osnovnih de…nicija i svojstava
funkcije entropije — izdvojeni u prilog C.

7.1 Informacija iz vremenskog niza


Prilikom primanja nizova znakova koliµcina informacije u općenitom sluµcaju diver-
gira s duljinom niza. Elementarni je zadatak teorije informacije da opiše svojstva
izvora dobro de…niranom konaµcnom veliµcinom. Da ovo matematiµcki uobliµcimo, pret-
postavimo da je gore uvedeni objekt predstavljen nizom simbola hxj i = sl =
s1 s2 : : : sl duljine l koji se u kontekstu dinamiµckih sustava i raµcunske mehanike
nazivaju i l-cilindri [18], a u teoriji informacije i kodiranja l-blokovi (npr. kod blok-
kodova). Za ovakve se nizove promatra stopa (brzina) entropije (engl. entropy rate),1
kao koliµcina informacije h koju on daje po jednom emitiranom znaku.
U prilogu C.2 de…nirana je najprije generalizirana Rényieva stopa entropije (C.11)
iz koje proizlaze topološka i metriµcka (Shannonova) stopa entropije (C.12). Za njihov
izraµcun s pomoću tamo navedenih izraza treba poznavati distribucije vjerojatnosti
Pr sl za podnizove proizvoljne duljine l , l = 1; 2; : : :, pa zato u naµcelu i dis-
tribuciju vjerojatnosti Pr (s1 ) za nizove beskonaµcne duljine s = s1 s2 : : : si : : : . U
praktiµcnoj primjeni formule (C.12b) treba napraviti statistiku svih mogućih nizova
sl i odrediti njihove aposteriorne vjerojatnosti za dovoljno veliki l .
(l 1)
Drugi je pristup naći distribuciju uvjetnih vjerojatnosti Pr st+1 jst za
pojavu simbola st+1 2 A uz uvjet da mu je prethodio slijed unatrag duljine l 1,

(l 1)
st = st l+2 ; st l+1 ; : : : ; st ; l = 1; 2; : : : , (7.1)

gdje taj slijed unatrag moµze biti i prazan. Ovdje ćemo apsolutni trenutak t posmi-
cati redom na vrijednosti t = l 1; l; l + 1; : : : i promatrati prozor ukupne širine l
znakova, od kojih l 1 simbola µcine slijed unatrag, a posljednji, l-ti znak jest onaj za
kojeg promatramo uvjetnu vjerojatnost. Da pojednostavimo oznake, uvodimo rela-
tivno vrijeme t0 koje se prilikom svakog posmaka prozora resetira, tako da najljeviji
1
U [33] koristi se i naziv gusto´ca entropije (engl. entropy density). U domaćoj se literaturi nalazi
i prijevod omjer entropije.
7. Informacijsko-teorijski aspekti modela 173

simbol u prozoru ima indeks t0 = 1, a najdesniji t0 = l .2 Tako†er, za slijed unatrag


ispuštat ćemo lijevu strelicu i indeks relativnog vremena, jer je potonji uvijek jednak
t0 = l 1 . Potpunosti radi, navodimo transformacije oznaka:

t ! t0 ; t0 = 1; 2; : : : ; l ; (7.2)
slt 1 ! sll 11 =s l 1
; st+1 ! sl :

Na ovaj smo se naµcin pribliµzili standardnoj notaciji teorije informacija. Sada za


vjerojatnost pojave niza s = sl 1 si , koji se sastoji od slijeda sl 1 unatrag:

sl 1
= s1 s2 : : : sl 1 ;

s pridodanim su…ksom sl na l-tom mjestu, vrijedi izraz

Pr (s) = Pr sl 1
; sl = Pr sl 1
Pr sl j sl 1
; 8 sl 1
2 Al 1 ; (7.3)

jednak razvoju (C.13), na temelju kojeg su u prilogu C.2 izvedene sljedeće dvije
metriµcke stope entropije:
1 1 X
h0 ;l = H Pr sl = Pr sl ld Pr sl ; (7.4a)
l l l
s 2Al
X
h00 ;l = Pr sl ld Pr sl j sl 1 : (7.4b)
sl 2Al

S obzirom na distribucije vjerojatnosti iz kojih su dobivene, prvu stopu entropije


moµzemo kratko zvati bezuvjetna, a drugu uvjetna [engl. (un)conditional]. Temeljni
je rezultat teorije informacije da su one asimptotski jednake (C.17):

lim h0 ;l = lim h00 ;l = h : (7.5)


l !1 l !1

Stopa entropije predstavlja brzinu ili uµcestalost kojom sustav odašilje informa-
ciju. Izraµzava se kao prosjeµcna koliµcina informacije po jednom znaku. Jasno je da
ćemo u općenitom sluµcaju umjesto toµcne entropije h za konaµcnu duljinu l-cilindara
moći odrediti tek aproksimacije h0l ili h00l . No, za kratke korelacije izme†u simbola
vremenskog niza veliµcina h00l moµze dati zadovoljavajuće rezultate i uz vrlo mali l .
Ako je niz Markovljev lanac s memorijom prvog reda, tada je dovoljno razmatrati
sljedove unatrag duljine 1, pa već i 2-cilindri daju potpuno toµcnu vrijednost stope
entropije h002 = h (vidjeti primjer NCZ sustava u tab. 7.1).
2
U ovom, teorijsko-informacijskom pristupu, odabrana je standardna matematiµcka indeksacija
koja kreće od 1. Za sliµcan koncept prozora, u 6.5.4 rabljena je raµcunarska indeksacija od 0.
174 7. Informacijsko-teorijski aspekti modela

7.2 Mjere sloµzenosti


Metrika raµcunarskih mogu´cnosti (engl. computation power, computation capabilities)
izraµzava se pojmom sloµzenosti ili kompleksnosti (engl. complexity). Tako će automat
većih raµcunarskih mogućnosti imati i veću sloµzenost. Promatramo li stanje nekog
sustava, odnosno proces kroz koji sustav prolazi, moµzemo ga na općenitoj razini
tretirati kao neki objekt x . Opisujemo li taj objekt rjeµcnikom iz nekog jezika ,
tada se govori o “prezentaciji x-a s pomoću ”. To na apstraktnoj razini odgo-
vara skalarnom produktu hxj i vektora hxj i j i iz me†usobno dualnih vektorskih
prostora, od kojih prvi opisuje stanja objekta, a drugi moguće rijeµci odabranog for-
malnog jezika. Naša je pretpostavka da je prvo (x) izrazivo s drugim ( ). Prvo moµze
predstavljati niz rezultata mjerenja nekog sustava, a drugo našizbor u modeliranju.
Oznaµcimo li sada s Mmin hxj i minimalnu takvu prezentaciju s obzirom na ko-
rišteni vokabular unutar jezika ; tada je kompleksnost C (x) objekta x odre†ena
mjera (veliµcina) te minimalne prezentacije, što pišemo kao

C (x) = kMmin hxj ik : (7.6)

Jasno je da ovako de…nirana sloµzenost ovisi o izboru jezika iz kojeg odabiremo


vokabular, odnosno o izboru razreda automata kao osnove modeliranja. Primjerice,
ona će općenito biti razliµcita za sluµcaj modeliranja temeljenog na razredu konaµcnih
automata od onog temeljenog na razredu stoµznih automata.

7.2.1 Deterministiµcka sloµzenost


Iz gornjeg razmatranja saµzetog u izrazu (7.6) nameće se ideja da sloµzenost preciznije
de…niramo odabirom standardnog jezika, odnosno njemu odgovarajućeg raµcunskog
stroja. Prirodan je izbor univerzalni Turingov stroj (UTM), odakle proizlazi:

De…nicija 7.1 Kolmogorovljeva sloµzenost K (s) nekog niza s jednaka je duljini naj-
kra´ceg programa koji na univerzalnom Turingovom stroju kao izlaz proizvodi (ekvi-
valent od) s i zaustavlja stroj, što pišemo kao:

K (s) = min length (prog) : (7.7)


prog : U T M (prog) = s

Kolmogorovljeva je sloµzenost uobiµcajen pojam u teoriji informacije [13]. U skladu


sa svojom de…nicijom naziva se još i algoritamska sloµzenost. U našem je kontekstu
prikladan naziv i deterministiµcka sloµzenost, zato što je rad UTM-a u potpunosti
7. Informacijsko-teorijski aspekti modela 175

determiniran pa je takav i ishod svih programa koji se na njemu izvršavaju.3 Ova


je sloµzenost relativno mala za nizove koje je algoritamski jednostavno opisati, a za
posve sluµcajne nizove divergira s porastom duljine niza. Ta se µcinjenica moµze koristiti
za testiranje stohastiµcnosti sustava.
Omjer rasta Kolmogorovljeve sloµzenosti teµzi k stopi entropije:
1
K (s0 s1 : : : sl 1 ) ! h ; (7.8)
l l !1

što je posljedica formalne podudarnosti teorije Kolmogorovljeve sloµzenosti s teorijom


informacije temeljenoj na Shannonovoj entropiji[13]. Iz prethodnog je izraza jasno
da će uz stopu entropije h > 0 deterministiµcka sloµzenost divergirati za l ! 1,
jednako kao i entropija H (s) cijelog niza:

K (s0 s1 : : : sl 1 ) ! l h = H (s) ! 1 : (7.9)


l !1

Glavna je konceptualna novina Kolmogorovljeve sloµzenosti u odnosu na entropiju


njezina neovisnost o distribuciji vjerojatnosti. To omogućuje da se pojam koliµcine in-
formacije ili koliµcine informacijskog sadrµzaja proširi i na deterministiµcke sustave, kao
što su raµcunalni programi i algoritmi. Tako†er, ovakvim se pristupom na naµcelnoj
razini omogućuje algoritamsko razmatranje vjerojatnosnih mehanizama stohastiµckih
procesa. S druge strane, ma koliko god gornja dva izraza bila fascinantna u smislu
povezivanja teorije automata sa statistiµckim pristupom, za vjerojatnosno opisani
sustav proizlazi da u odnosu na entropiju Kolmogorovljeva kompleksnost ne pred-
stavlja kvantitativno novu mjeru koliµcine informacije sustava.
Drugim rijeµcima, ako u procesu postoji neki stohastiµcki izvor informacije, deter-
ministiµcka sloµzenost divergirat će s povećanjem duljine promatranog niza usprkos
njegovoj strukturalnoj jednostavnosti. Primjer za to sustav je bacanja novµcića.
Pored prave algoritamske komponente sloµzenosti objekta, Kolmogorovljeva sloµzenost
sadrµzi i njegovu mjeru stohastiµcnosti. I dok algoritamska komponenta najµcešće ne
ovisi bitno o duljini niza, stohastiµcka komponenta po izrazu (7.9) µcini Kolmogorov-
ljevu sloµzenost linearno ovisnom o toj duljini. Zbog toga će za velike vrijednosti l
stohastiµcka komponenta sloµzenosti prevladati nad bitovima koji predstavljaju algo-
ritamsku ovisnost.
Razlog za ovakvo ponašanje leµzi u podrazumijevajućem deterministiµckom kon-
ceptu, odnosno u zahtjevu da se prona†e najkraći program koji toµcno reproducira
3
U ranijim radovima [44, 45], za ovu sloµzenost koristili smo naziv Kolmogorov-Chaitinljeva
sloµzenost (K-C sloµzenost). Ovisno o kontekstu koriste se još i nazivi: opisna sloµzenost (engl.
descriptive complexity) te sloµzenost prema veliµcini programa (engl. program-size complexity).
176 7. Informacijsko-teorijski aspekti modela

niz s . Ukoliko je niz potpuno stohastiµcan, kao što je npr. bacanje novµcića, tada
tu ne postoji deterministiµcki komponenta i prevladava puka sluµcajnost. Najkraći
program potreban da se na UTM-u toµcno reproducira takav niz znakova bit će sam
taj niz. Budući da su niz i program koji ga reproducira jednake duljine, s porastom
duljine niza, divergirat će i duljina programa. Ovo ćemo joši dodatno objasniti kroz
relaciju izme†u deterministiµcke i statistiµcke sloµzenosti u sljedećem pododjeljku.

7.2.2 Statistiµcka sloµzenost


Dinamiµcki sustavi koje µzelimo simulirati s pomoću raµcunskih modela u naµcelu su
nepoznate unutarnje strukture. Njihov “raµcunalni program”, odnosno algoritam
po kojem rade, tek moramo otkriti. Na temelju vremenskog niza s ograniµcene
duljine (ns ), u kojem ćemo analizirati podnizove koji su jošmnogo kraći (D ns ),
moguće je da nikad nećemo u potpunosti upoznati prave mehanizme promatranog
sustava. Uzmimo za primjer sustav koji je deterministiµcan, ali i vrlo “intrigantan”
te s “bogatom strukturom”— kao što su to sustavi u reµzimu deterministiµckog kaosa.
Na tu njegovu inherentnu sloµzenost superponirat će se spomenuta greška kvanti-
zacije proistekla iz konaµcne duljine (pod)nizova, koja doprinosi sveukupnom šumu u
mjerno-modelirajućem kanalu. Taj kanal sada promatramo kao informacijski kanal
odre†enog kapaciteta. Sve ovo unosi stohastiµcnost u model koji bi trebao opisivati
potpuno deterministiµcki sustav. Otuda se nameće zahtjev da se de…nira:

Mjera sloµzenosti koja odraµzava “pravu” strukturu sustava, ranije opisanu kao
intrigantnu (zanimljivu), iz koje su iskljuµceni puki sluµcajni procesi.

Kao rješenje J. P. Crutch…eld predlaµze uvo†enje statistiµcke sloµzenosti (engl. sta-


tistical complexity) [21, 26], kojoj je glavna razlika u odnosu na deterministiµcku
sloµzenost ta da se njoj ne pridodaje duljina onog dijela algoritma UTM-a koji je
utrošen na simulaciju sluµcajno generiranih bitova u s . Moµzemo reći da se odustaje
od (uzaludnog) napora da se potpuno sluµcajan uzorak algoritamski toµcno repro-
ducira. Umjesto toga, sluµcajan uzorak dovoljno je statistiµcki analizirati i oponašati
ga dodatnim izvorom stohastiµcnosti, što je inherentno svim -strojevima (§6.1).
Tri su intuitivno jasna postulata koji potvr†uju korektno ponašanje statistiµcke
sloµzenosti C kao mjere strukture:

1. Statistiµcka sloµzenost išµcezava za trivijalne periodiµcne procese koji emitiraju


nizove perioda 1, sf ix;0 = 000 : : : 0, sf ix;1 = 111 : : : 1 : C (sf ix ) = 0 . Objekt
7. Informacijsko-teorijski aspekti modela 177

s monotonim nizom nema strukturu. Za ovakve nizove vrijedi podudarnost


statistiµcke i deterministiµcke sloµzenosti: C (sf ix ) = K (sf ix ) = 0 .
2. Statistiµcka sloµzenost išµcezava i za potpuno stohastiµcki niz sstoh : C (sstoh ) =
0 . Objekt s ovakvim nizom tako†er nema strukturu, već je on jednostavno
nasumiµcan. Primjeri za to su nasumiµcno gibanje µcestica plina ili ‡uktuacije
napona zbog bijelog šuma. Za razliku od toga, deterministiµcka je sloµzenost
veliµcina koja divergira s produljenjem niza: K (sstoh ) l h > 0 .
3. Za sustave izme†u gornja dva graniµcna sluµcaja statistiµcka je sloµzenost općenito
veća od nule (C (s) > 0) i razliµcita od deterministiµcke sloµzenosti. Interpreti-
ramo je kao mjeru strukture (engl. measure of structure) sustava. Uz zahtjev
da je C (s) kontinuirana i nekonstantna funkcija, ona mora imati maksimum
izme†u graniµcnih stohastiµcnosti opisanih u toµckama 1 i 3.

Odnos izme†u deterministiµcke i statistiµcke sloµzenosti dan je sljedećim okvirnim


izrazom:
K (s0 s1 : : : sl 1 ) C (s0 s1 : : : sl 1 ) + l h : (7.10)

Kao što je najavljeno, da se dobije statistiµcka sloµzenost, od deterministiµcke se


moraju oduzeti “stohastiµcki bitovi”, µcime se eliminira algoritamski napor UTM-a
za reprodukciju sluµcajnih procesa. Tada u mjeri C (s) preostaju samo struktu-
ralno relevantni bitovi, koji realno opisuju sloµzenost procesa. Odnos izme†u dviju
sloµzenosti vidljiv je na slikama 7.1a i b, gdje su veliµcine K (s) i C (s) prikazane
kao proizvoljne funkcije stupnja stohastiµcnosti procesa izraµzenog stopom entropije
h . Uoµcljivo je da K (s) monotono raste s h , tj. ne predstavlja kvalitativno
novu informaciju naspram stope entropije. Nasuprot tome, C (s) ima maksimum
izme†u toµcaka nulte i maksimalne stohastiµcnosti procesa. Za binarnu abecedu, koja
se na slici podrazumijeva, maksimalna je stopa entropije h ;max = 1 bit, što moµzemo
nazvati idealna stohastiµcnost (engl. ideal randomness, random oracle).
Druga, vrlo sugestivna interpretacija ove mjere jest sljedeća: statistiµcka sloµzenost
jest minimalna koliµcina informacije prikupljena iz povijesti sustava koja je dovoljna
za optimalno predvi†anje simbola (bitova) u objektu s s omjerom greške jednakim
omjeru entropije h .
Krenemo li od prvog graniµcnog sluµcaja, za periodiµcni sustav, njegova je stopa
entropije h = 0 bit. Nikakva struktura ne treba biti prona†ena u prošlosti, jer
je ponašanje sustava potpuno monotono. Na taj naµcin moµzemo bez ikakve greške
predvi†ati da će se sustav nastaviti ponašati na isti, periodiµcan naµcin. Zato je i
178 7. Informacijsko-teorijski aspekti modela

Slika 7.1: (a) Deterministiµcka (Kolmogorovljeva) sloµzenost K i (b) statistiµcka sloµzenost


C , kao funkcije stohastiµcnosti sustava izraµzene stopom entropije h (x) primljenog vre-
menskog niza (prema [21, 26]). Za potpuno stohastiµcan proces K-C kompleksnost jest
K(x) = l log2 a = max , jer će program potreban da UTM reproducira sve duµze nizove
divergirati. S druge strane, na BTM-u će isti taj program biti duljine nula, jer ustroj
takvog sustava moµzemo simulirati izravnim povezivanjem “toplinske kupke” s izlaznom
trakom (vidjeti sl. 5.6). Maksimalna sloµzenost od l log2 a jednaka je umnošku duljine
niza l i maksimalne entropije abecede od a znakova (za a = 2 , to je 1 bit).

sloµzenost 0 bit . S druge strane, za potpuno stohastiµcan sustav koji se sastoji u


bacanju novµcića (graniµcni sluµcaj 2), vrijedi da je h = 1 bit, što je maksimalna
entropija izvora s binarnom abecedom. Da bismo s tom maksimalnom neizvjesnosti
od 1 bit predvi†ali buduća stanja sustava, iz prošlosti ne moramo izvući nikakvu
koliµcinu informacija, pa je statistiµcka sloµzenost ponovo 0 bit . Drugim rijeµcima, u
ovom sluµcaju moµzemo odustati od traµzenja strukture u prošlosti, jer je nema.
Prava strukturalna sloµzenost nalazi se u podruµcju izme†u ova dva ekstremna
sluµcaja, kao što je opisano u prethodnoj toµcki 3. Neka je npr. h = 0:25 bit, tada
moramo pregledati simbole emitirane u prošlosti sustava i pronaći statistiµcku kom-
pleksnost koja je sada razliµcita od nule. Ta informacija mora biti dovoljna da prog-
noziramo budućnost s neizvjesnosti ne većom od 0:25 bit. U sustavu od dva stanja,
odnosno za abecedu od dva simbola, ta entropija odgovara distribuciji vjerojatnosti
Pr (s) = Pr (0; 1) = (0:0417 ; 0:9583), ili inverznoj. Dakle, toµcnost predvi†anja
zasnovana na informaciji prikupljenoj iz povijesti sustava mora imati vjerojatnost
0:9583 ili, ekvivalentno, pogreška mora biti 0:0417.
Zakljuµcujemo da je statistiµcka sloµzenost upravo komplementarna Kolmogorov-
ljevoj sloµzenosti i Shannonovoj entropiji. Tako†er, C je eksplicitno povezana s
7. Informacijsko-teorijski aspekti modela 179

raµcunarstvom i induktivnim zakljuµcivanjem te odraµzava raµcunarski ustroj objekta.


To ćemo pokazati u daljnjem izlaganju.

7.2.3 Metrika statistiµcke sloµzenosti


Statistiµcka sloµzenost moµze se formalno povezati s teorijom raµcunarstva na sliµcan
naµcin kao i Kolmogorovljeva sloµzenost, uz adekvatnu zamjenu raµcunskog stroja.
Umjesto univerzalnog Turingovog stroja uzet ćemo Bernoulli-Turingov stroj (BTM),
uveden u 5.6.2 (sl. 5.6). Njegov izvor stohastiµcnosti posluµzit će kao izvor nasumiµcnih
brojeva za simulaciju sluµcajnih procesa u dinamiµckim sustavima koje modeliramo.
Dakle, nakon što smo statistiµckom obradom primljenog niza ustanovili njegova vje-
rojatnosna svojstva, pripremit ćemo model koji generira statistiµcki ekvivalent pri-
mljenog niza (vidjeti def. 6.14).4
Sada po analogiji s deterministiµckom sloµzenosti uvodimo sljedeće odre†enje.

De…nicija 7.2 Statistiµcka sloµzenost C (s) nekog niza s predstavlja duljinu naj-
kra´ceg programa koji na Bernoulli-Turingovom stroju kao izlaz proizvodi statistiµcki
ekvivalent od s i zaustavlja stroj:

C (s) = min length (prog) : (7.11)


prog : BT M (prog) = s

Uz ranije uvedenu vektorsku notaciju te uz uvo†enje vektora vokabulara jUTMi


i jBTMi za univerzalni, odnosno za Bernoulli-Turingov stroj, izraze za determini-
stiµcku i statistiµcku sloµzenost moµzemo saµzeto napisati kao:

K (s) = k Mmin hs jUTMi k ; (7.12a)


C (s) = k Mmin hs jBTMi k : (7.12b)

Iako teorijski utemeljene i vaµzne za razumijevanje koncepta sloµzenosti, obje gornje


de…nicije tek su naµcelne naravi. One postavljaju zahtjev da valja pronaći najkraći
program koji na odabranom univerzalnom stroju reproducira traµzeni niz, ali ne daju
naµcin kako to odrediti. Štoviše, Kolmogorovljeva sloµzenost u općenitom je sluµcaju
neizraµcunljiva (engl. uncomputable) funkcija, Turing-ekvivalentna problemu zausta-
vljanja (engl. halting problem) Turingovog stroja [13]. Za izvore (kvazi)stohastiµcke
4
Odustajanje od deterministiµcke interpretacije primljenog niza i dinamiµckog sustava koji ga
emitira te uvo†enje statistiµckog pristupa i u analizi mjerenja i u njihovoj interpretaciji, podudarno
je epistemološkom pomaku nastalom pri zamjeni klasiµcne …zike kvantnom.
180 7. Informacijsko-teorijski aspekti modela

naravi, kao što su npr. Markovljevi lanci, K (s) moµzemo izraµcunati preko stope en-
tropije prema (7.9) [26]. Tada, zbog zahtjeva za deterministiµckom reprodukcijom
niza, K (s) divergira s duljinom tog niza. Jednako vrijedi i za sve druge deter-
ministiµcki, odnosno algoritamski, de…nirane sloµzenosti, kao npr. one temeljene na
Lemepl-Zivovim algoritmima saµzimanja [60, (ii)].
Izraz (7.12b) za statistiµcku sloµzenost u praksi je tako†er koristan tek u jednostav-
nim sluµcajevima, u kojima je — kao u prethodnim primjerima — lako razluµciti izme†u
stohastiµcki i algoritamski uvjetovanih sastavnica sustava. Me†utim, za razliku od
Kolmogorovljeve, statistiµcku ćemo sloµzenost uspješno izraµcunavati za proizvoljne
nizove, izravno iz stohastiµckih odrednica njihovih -strojeva na SFA-razini.

7.3 Mjere sloµzenosti kao rezultat modeliranja


Pored stope entropije kao uobiµcajenog statistiµckog pokazatelja u teoriji informacije,
ovdje ćemo operacionalizirati izraµcunavanje mjera strukturalne sloµzenosti koje slijede
izravno iz parametara rekonstruiranih -strojeva.

7.3.1 Informacija niza odaslanog iz -stroja


Za -stroj ( D; L; ; T ) , formalno uveden u 6.2.7, po de…nicijama 6.5 i 6.7 vrijedi
da je svaki niz si 2 Al unatrag koji se moµze pojaviti u vremenskom nizu, pa tako
(l 1)
i niz st = sl 1 , vezan uz odre†eno stanje sustava j 2 , j = 1; 2; : : : ; v , gdje
smo zapis stanja skratili ispuštajući indekse parametara modela. Tako je prazan niz
e, duljine l = 0, vezan uz stanje 1 , koje je predstavljeno korijenskim morfom. Niz
s = 0 (1), duljine l = 1, odgovara stanju predstavljeno lijevim (desnim) podstablom
korijenskog morfa, ako takav morf postoji itd. Općenito, za svaki niz duljine l u
kauzalnom modelu postoji jedinstveno stanje koje mu odgovara.
Zanima nas stopa entropije takvog niza, kao mjera koliµcine informacije koja se
prima po jednom znaku niza odaslanog iz modela. To će ujedno biti naša procjena
stope entropije izvornog niza primljenog iz sustava. Tu ćemo veliµcinu oznaµciti s
h ;l; M . Indeks M govori da se stopa entropije odnosi na -stroj kao model kojim
opisujemo sustav. Pridodana oznaka sluµcajne varijable — koja predstavlja općeniti
znak abecede — odre†uje da se radi o informaciji primljenoj iz niza kojeg taj model
reproducira. Stoga ova veliµcina ne ukljuµcuje nikakve moµzebitne unutarnje aspekte
modela (dodatno obrazloµzenje u 7.3.7). Nadalje, u ovisnosti raµcunamo li tu stopu
7. Informacijsko-teorijski aspekti modela 181

preko bezuvjetnih ili uvjetnih distribucija vjerojatnosti, pišemo je kao h0 ;l; M ili
h00 ;l; M , u skladu s oznakama u (C.16a, b).
U prilogu C.2.2 pokazano je da vrijedi:
X X
h00 ;l; M = Pr si ; j ld Pr si j j = H ( jX) ; (7.13)
j2 si 2A

te da se u limesu l ! 1 dobiva jedinstvena stopa h00 ; M entropije -stroja (C.19), u


µcijem izraµcunu preostaju samo rekurentna stanja,
X X
h ; M = lim h00 ;l; M Pr sl ; j ld Pr sl j j : (7.14)
l !1 ;L
j2 r sl 2A

Za -stroj i njemu ekvivalentni SFA-model ova koliµcina informacije više ne ovisi


o duljini l niza. Me†utim, ostaje eksperimentalna ovisnost o dubini morfova L i o
vjerojatnosnoj preciznosti . Ta dva parametra u sprezi de…niraju relaciju (L; )-
ekvivalencije na skupu svih mogućih budućih morfova, odnosno podstabala (§6.2.5,
6.4.2). Ukoliko model nije uhvatio relevantna stanja sustava — jer zbog premale
dubine L ili pregrubog parametra ne udovoljava zahtjevu na duljinu korelacije
morfova (6.35) — gornja će formula dati tek grubu procjenu stope entropije stvarnog
niza. To je u gornjem izrazu naglašeno znakom pribliµzne jednakosti.

7.3.2 Rezultati modeliranja — temelj informacijsko-teorijske


analize
U 6.2.7 povezali smo -stroj s ekvivalentnim SFA-modelom, pa ovdje koristimo po-
jednostavljene oznake iz odjeljka 5.4. Rekonstrukcija -stroja daje operator T iz
s a
kojeg proizlazi tenzor prijelaza T = Tqq0 v v
, de…niran izrazom (5.17). Za a slova
abecede, T je predstavljen s a matrica prijelaza T s , dimenzija v v , po jedna
s
za svaki znak s 2 A . Element Tqq0 tenzora T predstavlja vjerojatnost da sustav
0
prije†e iz stanja q u stanje q po emitiranju simbola s,
XX
s
Tqq0 = pq ! q0 = p (s; q 0 j q) ; s
Tqq0 = 1: (7.15)
s
q 0 2Q s2A

Tu je p (s; q 0 j q) kraće zapisana uvjetna vjerojatnost Pr ((s; q 0 ) j q), za pojavu sim-


bola s i sljedećeg stanja q , tj. para doga†aja (s; q 0 ) pod uvjetom stanja q . 5
5
U izrazima tipa ((a; b) j c) ispuštat ćemo unutarnje zagrade kad ne moµze doći do zabune i pisati
ih (a; b j c) . Vidjeti tako†er podbilješku 6.4 i komentar u C.1.3.
182 7. Informacijsko-teorijski aspekti modela

Slika 6.5 ilustrira graf SFA-modela na kojem µcvorovi prikazuju stanja, a usmje-
rene oznaµcene grane odgovaraju prijelazima izme†u stanja, s oznaµcenim simbolom
po kojem se prijelaz doga†a i vjerojatnošću tog prijelaza.
Nenulelementi iz T de…niraju postojeće prijelaze e, od kojih je sastavljen skup
E grana SFA-grafa,
n o
0 0 s
E = e : e = (q; s; q ) q ! q ; pq ! q0 = Tqq0 > 0 : (7.16)
s s

U skladu s poµcetnom de…nicijom u izrazu (5.15), tu ulaze i one grane za koje će —
zbog nulte vjerojatnosti pq = 0 stanja u stacionarnoj distribuciji — totalna vjero-
jatnost p (q; s; q 0 ) = pq Pr (s; q 0 j q) išµcezavati (vidjeti pododjeljak 7.3.4).
s
Sumiranjem elemenata tenzora Tqq0 po svim simbolima abecede A dobivamo
elemente Tqq0 matrice prijelaza (engl. transition matrix ) T . Elementi daju ukupnu
prijelaznu vjerojatnost izme†u stanja bez obzira na simbol,
X X
Tq q0 = pq!q0 = p (q 0 jq) = p (s; q 0 jq) = s
Tqq0 : (7.17)
s2A s2A

Analogna matriµcna operacija jest zbrajanje svih T s matrica


X
T = [Tqq0 ]v v = Ts: (7.18)
s2A

T je matrica prijelaza Markovljevog lanca dimenzija v v , stohastiµcna po retcima,


P P
jer su oni normirani na jedan: q 0 Tqq0 = q 0 pq!q 0 = 1 .

7.3.3 Topološke sloµzenosti


Na osnovi gornjih rezultata modeliranja i uz izbor = 0 u poopćenoj Rényievoj en-
tropiji (prilog C.1.2), dobivamo topološke inaµcice informacijskih pokazatelja. One
se temelje na kardinalnom broju kao najjednostavnijoj mjeri diskretnih skupova.
Preko ukupnog broja grana de…niramo prijelaznu ili topološku sloµzenost grana
(engl. transition or edge topological complexity) C0e ,

C0e = ld kEk : (7.19)

Za skup Er sastavljen samo od rekurentnih grana er = (q; s; q 0 ), za koje su


stanja q; q 0 elementi skupa Qr rekurentnih stanja, de…niramo rekurentnu inaµcicu
gornje veliµcine,
e
C0;r = ld kEr k : (7.20)
7. Informacijsko-teorijski aspekti modela 183

Nadalje, preko broja v svih stanja odnosno broja vr rekurentnih stanja, uvo-
dimo topološku sloµzenost (engl. topological complexity) C0 i topološku sloµzenost
rekurentnih stanja (engl. topological complexity of recurrent states) C0;r [21, 22]:

C0 = ld kQ k = ld v ; (7.21a)
C0;r = ld kQr k = ld vr : (7.21b)

C0 (C0;r ) ima znaµcenje maksimalne koliµcine informacije potrebne da se ustanovi u


kojem se od v ukupnih (vr rekurentnih) stanja proces nalazi, što je jednako entropiji
uniformne distribucije vjerojatnosti za v (vr ) doga†aja.
Još se jedna okvirna mjera sloµzenosti moµze de…nirati ispuštanjem stohastiµcnih i
zadrµzavanjem samo strukturalnih osobitosti SFA-modela. U tenzoru T zamijenimo
sve nenulelemente (koji odgovaraju granama grafa) s jedinicama, da dobijemo tzv.
spojni tenzor (engl. connection tensor) T0 , s elementima:
(
s 1; pq ! q0 > 0
(T0 )qq0 = s ; s2A: (7.22)
s
0 ; Tqq0 = 0:
Iz spojnog tenzora sumiranjem po svim simbolima dobivamo spojnu ili matricu
susjedstva (engl. connection, adjacency matrix )
X s
T0 = (T0 )qq0 : (7.23)
s2A

Za ovu se matricu raµcuna glavna (maksimalna) svojstvena vrijednost max (T0 ).


Ona je pokazatelj prosjeµcne povezanosti jednog µcvora (stanja) rekurentnog dijela
SFA-grafa preko izlaznih grana s njegovim susjedima i sobom samim.6 Najmanji
broj prijelaza iz svakog stanja SFA-modela jest jedan. Jedinstveni je prijelaz “de-
terministiµcki” u stohastiµckom smislu, tj. ima jediniµcnu vjerojatnost. Ukoliko takve
prijelaze imaju sva rekurentna stanja, tada je i prosjek njihova broja po jednom
stanju max (T0 ) = 1 . Maksimalni mogući broj prijelaza iz pojedinog stanja modela
pak ovisi o njegovu raµcunarskom determinizmu. U deterministiµckom SFA (SDFA)
s abecedom od a znakova, iz svakog stanja moµze voditi najviše max (a; v) prijelaza
prema postojećih v stanja, a za nedeterministiµcki SFA (SNFA) po svakom simbolu
moµzemo prijeći u svako od stanja, što vodi na maksimalno a v prijelaza, a; v 1
(§5.4, 5.5). Otuda slijedi:
(
a ; za SDFA ;
0 max (T0 ) (7.24)
av ; za SNFA .
6
Elaboraciju i formalni dokaz ove tvrdnje izostavljamo iz ovog izlaganja.
184 7. Informacijsko-teorijski aspekti modela

U standardnim, deterministiµckim SFA, izlazne grane iz njihovih µcvorova moµzemo


povezati sa strukturom rašµclambenog -stabla iz kojeg su nastali. Za dobar model,
koji toµcno odraµzava strukturu rašµclambenog stabla µcak i (proizvoljno) velike visine,
prosjeµcan broj grana iz µcvora SDFA bit će jednak graniµcnoj vrijednosti b , prosjeµc-
nog bl broja djece -stabla iz razine l :
Nl+1
max (T0 ) = b = lim bl = : (7.25)
l >1 Nl

[bl formalno je uveden u prilogu A.3.4, def. A.18.]


Alternativno, b de…niramo i kao prirast broja razliµcitih l-cilindara (blokova) za
l ! 1 (vidjeti primjer u 7.4.1 i tablicu 7.1).
Na temelju glavne svojstvene vrijednosti de…niramo (spojnu) topološku stopu
entropije modela [engl. (connection) topological entropy rate of the model],

h0; M = ld max (T0 ) ; (7.26)

koja daje entropiju prirasta broja razliµcitih nizova sl emitiranih iz -stroja, sa sva-
kim novim znakom, tj. po inkrementaciji duljine niza, l ! l + 1 [21, 22].
Granice za ovu veliµcinu proizlaze iz (7.24):
(
ld a ; za SDFA ;
0 h0; M (7.27)
ld av ; za SNFA .

Uz (standardni) izbor SDFA-modela i a = 2 vrijedit će da je h0; M 1 bit.

7.3.4 Ukupna entropija modela — entropija grana


Za potpunu informacijsko-teorijsku analizu polazimo od ukupne entropije modela,
koja predstavlja prosjeµcnu koliµcinu informacije koju model daje po jednom svom
prijelazu predstavljenom jednom granom svojeg grafa. Stoga ćemo tu entropiju
konkretnije nazivati i entropija prijelaza ili grana (engl. transition or edge entropy)
[18, 21]. Oznaµcit ćemo je kao H (Pre ), gdje je Pre = (pe : e 2 E) distribucija total-
nih vjerojatnosti pe grana iz skupa E (5.15). Totalna vjerojatnost pe grane umno-
µzak je vjerojatnosti pq stanja q i uvjetne vjerojatnosti pq ! q0 prijelaza, koji predsta-
s
vlja tu granu, što prema (7.15) daje zdruµzenu vjerojatnost p (q; s; q 0 ) = Pr (q; s; q 0 )
pojavljivanja trojke doga†aja (q; s; q 0 ):

pe = pq pq ! q0 = pq p (s; q 0 jq) = p (q; s; q 0 ) : (7.28)


s
7. Informacijsko-teorijski aspekti modela 185

Otuda je ukupna entropija modela, odnosno, entropija grana,


XX X
H (Pre ) = H (X; ; X 0 ) = p (q; s; q 0 ) ld p (q; s; q 0 ) : (7.29)
q2Q s2A q 0 2Q

U prilogu C.3.1 ova je entropija rastavljena na šest razliµcitih naµcina, korištenjem


razvoja (C.21) zdruµzene vjerojatnosti p (q; s; q 0 ), od kojih su nam zanimljiva tri.
Prvi od njih, (C.22), dobiva se razvojem p (q; s; q 0 ) = pq p (s; q 0 jq), jednakim kao
u (7.28). Rezultat, (C.22c), govori nam da se ukupna koliµcina informacije modela
moµze prikazati kao zbroj dvije entropije,

H (Pre ) = H (X; ( ; X 0 )) = H (X) + H ( ; X 0 jX) : (7.30)

Prva od njih jest entropija H (X) = H (Prq ), koja daje mjeru neizvjesnosti glede
ishoda stanja sustava, odnosno prosjeµcnu koliµcinu informacije koju dobivamo sazna-
njem o tome u kojem je stanju promatrani sustav.
Druga entropija, H ( ; X 0 jX), prosjeµcna je koliµcina informacije koju daje model
nakon što iz poznatog stanja predstavljenog sluµcajnom varijablom X emitira simbol
i pri tom prije†e u novo stanje, što je predstavljeno zdruµzenim parom doga†aja
( ; X 0 ) . Budući da se radi o ukupnoj takvoj informaciji pri jednoj promjeni stanja,
ovu ćemo veliµcinu nazvati ukupna metriµcka stopa entropije -stroja (modela) [engl.
total metric entropy rate of the -machine (model)] i oznaµciti je s h ; M . Gdje ne
moµze doći do zabune, naziv ćemo skraćivati u stopa entropije modela. Prema drugom
µclanu u (C.22a), uz uporabu oznaka za vjerojatnosti prijelaza prema (7.15), za tu
veliµcinu dobivamo sljedeću eksplicitnu formulu:

h ; M = H ( ; X 0 jX) (7.31)
X XX
= pq pq pq ! q0 ld pq pq ! q0 :
s s
q2Q q 0 2Q s2A

Gornji izraz predvi†a mogućnost prijelaza u više stanja uz zadani q i s, pa on


vrijedi i za nedeterministiµcki SFA (SNFA). Na to ćemo se vratiti kasnije.
Metriµcka stopa entropije modela odozdo je, kao i svaka entropija, ome†ena nulom,
a odozgo svojom topološkom inaµcicom h0; M iz (7.26),

0 h ; M h0; M ; (7.32)

što vrijedi i za odnose svih ostalih metriµckih i topoloških entropija (vidjeti dalje).
Entropiju grana, odnosno ukupnu entropiju modela, moµzemo sada prema (7.30)
raspisati kao sumu entropije stanja modela i stope entropije modela,

H (Pre ) = H (Prq ) + h ; M : (7.33)


186 7. Informacijsko-teorijski aspekti modela

Gornji je izraz jedan od naµcina na koji se preko entropija proizašlih iz modela za


njega moµze napisati zakon oµcuvanja koliµcine informacije (engl. the law of conserva-
tion of information).

7.3.5 Statistiµcka sloµzenost -stroja


U rastavu (7.33) ukupne entropije modela, stopa h ; M entropije -stroja mjera je
neizvjesnosti glede odaslanih simbola i pri tom nastalih promjena stanja, pod uvje-
tom poznatog poµcetnog stanja. Detaljnije ćemo tu veliµcinu razmotriti u sljedećem
pododjeljku. Preostala je veliµcina u tom rastavu entropija H (Prq ) stanja modela.
Ona mjeri prosjeµcnu koliµcinu informacije koju model odaje zbog mogućnosti boravka
u razliµcitim stanjima. Zbog svojeg internog karaktera ta se entropija nameće kao
mjera strukture samog modela, a time i kao procjena strukture promatranog sustava
(vidjeti diskusiju u 7.2.2).
Za izraµcun entropije H (Prq ) i stope entropije modela h ; M (7.31) potrebno
je poznavati distribuciju vjerojatnosti Prq = (p1 ; p2 ; : : : ; pv ) stanja sustava. Za
stacionarne sustave — one s vremenski nepromjenjivim stohastiµckim svojstvima —
najprirodniji izbor za Prq jest stacionarna distribucija pst . Ona je za vremenski
invarijantne Markovljeve lance de…nirana uvjetom:

pst T = pst : (7.34)

Tu je pst = (p1 ; p2 ; : : : ; pv ) lijevi svojstveni vektor matrice prijelaza T , sa svojstve-


Pv
nom vrijednosti 1, za koji mora vrijediti uvjet normiranosti: i=1 pi = 1 .
Zakljuµcujemo da je prirodan izbor mjere strukturalne sloµzenosti rekonstruiranog
-stroja upravo entropija njegovih stanja uz stacionarnu distribuciju, H (Prq ) =
H (pst ) . Stoga tu veliµcinu poistovjećujemo s metriµckom statistiµckom sloµzenosti C ,
uvedenom u 7.2.2,
C = H (X) = H (Prq ) = H (pst ) : (7.35)
U njoj oznaµcava metriµcki izbor = 1 poopćene Rényieve entropije (prilog C.1.2).
C kvanti…cira informaciju pohranjenu u stanjima modela, te tako daje koliµcinu
memorije rekonstruiranog modela i procjenu memorije sustava.
Po analogiji s upravo de…niranom statistiµckom sloµzenosti punu entropiju modela
H (Pre ) nazvat ćemo još i metriµcka sloµzenost prijelaza ili grana (engl metric tran-
sition or edge complexity) i oznaµciti s C e = H (Pre ) . Uz nove oznake jednakost
(7.33) postaje:
Ce = C + h ; M : (7.36)
7. Informacijsko-teorijski aspekti modela 187

7.3.6 Stope entropije modela i nedeterminiranost


Ukupna stopa entropije h ; M -stroja moµze se raspisati po lanµcanom pravilu (C.10),
h ; M = H ( ; X 0 jX) = H ( jX) + H (X 0 jX; ) : (7.37)
Za entropiju H ( jX) pokazano je da se radi o stopi entropije h ;l; M niza
odaslanog iz -stroja (§7.3.1 ), što je ujedno i naša procjena koliµcine informacije
koju daje niz primljen iz promatranog sustava.
Druga uvjetna entropija, H (X 0 jX; ) = H (X 0 j (X; )), neizvjesnost je glede
ishoda sljedećeg stanja predstavljenog sluµcajnog varijablom X 0 , pod uvjetom pozna-
tog poµcetnog stanja i simbola, predstavljenih zdruµzenim parom sluµcajnih varijabli
(X; ) . Iz izvoda u (C.23a, b) vidljivo je da se radi o usrednjenoj entropiji uvjetnih
distribucija Pr (q 0 jq; s) (C.24) :
H (X 0 jX; ) = H ( Pr (q 0 jq; s) ) = IG (7.38)
X X X
= p (q) p (sjq) p (q 0 jq; s) ld p (q 0 jq; s) :
q2Q s2A q 0 2Q

Uvjetnu entropiju H (X 0 jX; ) Crutch…eld naziva nedeterminiranost (engl. in-


determinacy) i oznaµcava s IG , te je uvodi kao mjeru odstupanja modela (grafa) od
deterministiµckog automata [17, 18]. Oµcuvanje informacije cijelog modela moµzemo
sada izraziti preko metriµckih entropija. Sloµzenost C e grana jest zbroj stope h ;l; M
entropije niza emitiranog iz modela i nedeterminiranosti IG ,
Ce = C + h ;l; M + IG : (7.39)
U diskusiji gornjeg izraza valja se prisjetiti da je -stroj de…niran u 6.2 na temelju
kauzalnih stanja, odnosno njima ekvivalentnih morfova. Dakle, radi se o kauzalnom
modelu koji je u 6.2.8 (korolar 6.3) izjednaµcen s deterministiµckim SFA-modelom
(SDFA). Za zadani par doga†aja (q; s) konaµcno stanje q 0 uvijek je determinirano,
pa je p (q 0 jq; s) = 1 za svaki q; q 0 2 Q, s 2 A . Drugim rijeµcima, uvjetne su distri-
bucije Pr (q 0 jq; s) degenerirane za svaki ure†eni par (q; s), pa je zato neizvjesnost
H (Pr (q 0 jq; s)) = 0 . Ovu smo µcinjenicu već diskutirali u odjeljku 5.4 i formalizirali
u korolaru 5.2. S druge strane, za nedeterministiµcki SFA (SNFA, §5.5) iz zdruµzenog
para (q; s) ne postoji jedinstveno, kauzalno-uvjetovano, konaµcno stanje. Stoga su
entropija H (Pr (q 0 jq; s)), odnosno nedeterminiranost IG , općenito veće od nule.
To rezimira sljedeći izraz:
(
C + h ;l; M ; za SDFA ;
Ce = (7.40)
C + h ;l; M + IG ; IG > 0 ; za SNFA .
188 7. Informacijsko-teorijski aspekti modela

7.3.7 Stopa entropije modela i Markovljevog lanca


Drugi mogući rastav ukupne stope entropije -stroja po (C.10) jest

h ; M = H ( ; X 0 jX) = H (X 0 jX ) + H ( jX; X 0 ) : (7.41)

[usporediti s rastavima (C.22e) i (C.25d)].


Entropija H (X 0 jX ) neizvjesnost je glede pojave sljedećeg stanja uz uvjet sada-
šnjeg. To je stopa entropije Markovljevog lanca (engl. Markov chain entropy rate)
de…niranog matricom prijelaza T [13, 49]. U standardnoj je notaciji ona raspisana
u (C.26). Ovdje ćemo je oznaµciti s h (T ) i napisati preko uvjetnih vjerojatnosti
prijelaza, prema (7.17),
X X
h (T ) = H (X 0 jX ) = pq pq!q0 ld pq!q0 : (7.42)
q2Q q 0 2Q

Preostala entropija H ( jX; X 0 ) jest prosjeµcna koliµcina informacije koju dobi-


vamo primitkom simbola uz poznati prijelaz, de…niran parom sluµcajnih varijabli
(X; X 0 ) . Pojavljuje se kao drugi µclan u rastavu (C.25a) i zapisana je u (C.27). Na-
zvat ćemo je stopa entropije simbola po prijelazu (engl. symbol-per-transition entropy
rate)7 i oznaµciti kao
X
h (s) = H ( jX; X 0 ) = p (q; q 0 ) H ( Pr (sjq; q 0 ) ) : (7.43)
(q;q 0 )2Q Q

Kad se pri svakom prijelazu q ! q 0 emitira samo jedan simbol, uvjetne distribucije
Pr (sj (q; q 0 )), (q; q 0 ) 2 Q Q, degenerirane su, pa vrijedi h (s) = H (Pr (sjq; q 0 )) =
0 . Tada elementi spojne matrice T0 , de…nirani izrazom (7.23), ne mogu premašiti
vrijednost 1 . Postoji li mogućnost ostvarenja istog prijelaza preko dva ili više od
ukupno a mogućih simbola, te su entropije veće od nule,

0 < H ( Pr (s jq; q 0 ) ) ; h (s) ld a : (7.44)

Tada se u spojnoj matrici mogu pojaviti elementi s vrijednostima većim od 1, sve


do maksimalne vrijednosti a.
Uz nove oznake ukupna je stopa entropije modela suma stope entropije Marko-
vljevog lanca i stope entropije simbola po prijelazu,

h ; M = h (T ) + h (s) : (7.45)
7
Tu smo veliµcinu uveli u [45] i tamo za nju koristili engl. naziv symbol-per-transition entropy.
7. Informacijsko-teorijski aspekti modela 189

Na temelju rezultata prethodnog i ovog pododjeljka raspisujemo oµcuvanje ukupne


koliµcine informacije modela (grana) kao:

Ce = C + h ;l; M + IG ; (7.46a)
= C + h (T ) + h (s) : (7.46b)

Izraz (b) objavljen je u [45].8 Ovdje je on nadopunjen i alternativnim rastavom


(7.46a), u kojem je po (7.40) IG > 0 samo za nedeterministiµcke modele.
Prethodna razmatranja, rezimirana u izrazima (7.46), potvr†uju znaµcaj stati-
stiµcke sloµzenosti kao izdvojene mjere sloµzenosti sustava. Za njezinu je relevant-
nost nuµzno inzistirati na minimalnosti dobivenih modela izraµzenih brojem stanja
-strojeva. Ako je udovoljeno tom kriteriju i ako veliµcina modela kQk ne diver-
gira s povećanjem duljine primljenog niza, tada statistiµcka sloµzenost C predstavlja
prosjeµcnu memoriju potrebnu za pohranu informacije o stanju sustava.

7.3.8 Entropija suviška i logiµcka dubina


Na kraju ovog teorijskog odjeljka spomenut ćemo jošdvije mjere sloµzenosti: entropiju
suviška i logiµcku dubinu. Njih ćemo u letimiµcnom pregledu usporediti sa statistiµckom
sloµzenosti.
Entropija suviška E (engl. excess entropy) de…nira se kao graniµcna razlika en-
tropije l-cilindra (bloka) od umnoška stope h entropije s duljinom l niza [33]:

E = lim ( H ( 1; 2 ;:::; l) l h ): (7.47)


l!1

Pogotovo za male l postoji relativno velika razlika izme†u izraµcunane vrijednosti


H ( 1 ; 2 ; : : : ; l ) i umnoška l h . Entropija H ( 1 ; 2 ; : : : ; l ) asimptotski se
pribliµzava pravcu E + l h .
Alternativno, entropija suviška moµze se de…nirati i preko novog (trećeg) izraza
za stopu entropije h000
l nizova duljine l , odre†enog razlikom entropija nizova duljine
l + 1 i l,

h000
l = H( 1; 2 ;:::; l ; l+1 ) H( 1; 2 ;:::; l) ; l = 1; 2; : : : : (7.48)

8
U µclanku [45] jednakost (7.45) izvedena je na drugaµciji naµcin — izravno iz raspisa ukupne stope
entropije modela prema (7.31). U nešto elegantnijem obliku taj je izvod naveden i u dodatku
C.3.2, kao primjer informacijsko-teorijskog raµcuna.
190 7. Informacijsko-teorijski aspekti modela

Za l ! 1, stopa entropije h000 l asimptotski se steµ ze u svoju graniµcnu vrijednost,


0 00
jednako kao i stope hl i hl [izrazi (7.4a, b) u 7.1, odnosno (C.16a, b) u prilogu C.2].
Preko h000
l entropiju suviška de…niramo kao sumu beskonaµ cnog reda
X1
E= (h000
l h ): (7.49)
l=1

Entropija suviška dade se izraziti i kao uzajamna informacija (engl. mutual in-
formation) [13] koju slijed unatrag daje o slijedu unaprijed i obrnuto. Slijed unatrag
(unaprijed) jest lijevi (desni) dio primljenog niza, povezan s prošlim (budućim) mor-
fom, odnosno sa sadašnjim (budućim) stanjem sustava, pa otuda slijedi da je
E = H (X; X 0 ) = H (X) H (X jX 0 ) (7.50)
= C H (X jX 0 ) :
Dakle, gornja granica entropije suviška jest statistiµcka sloµzenost, E C . E
mjeri povećanje neizvjesnosti glede sadašnjeg stanja sustava ako nestane informacija
sadrµzana u slijedu unatrag. U funkciji stohastiµcnosti sustava E se u grubo ponaša kao
i C — išµcezava za potpunu deterministiµcnost i potpunu stohastiµcnost, dok je izme†u
tih krajnjih sluµcajeva razliµcita od nule (§7.2.2). Za poseban sluµcaj Markovljevih
lanaca u kojima su l-cilindri simbola s 2 A u bijekcijskom odnosu spram internih
stanja q 2 Q sustava, vrijedi sljedeća jednakost [32]:
C = E+lh : (7.51)
Logiµcka dubina (engl. logical depth) još je jedna mjera sloµzenosti koja se djelo-
miµcno podudara sa statistiµckom sloµzenosti i entropijom suviška [4, 5]. Za razliku
od Kolmogorovljeve sloµzenosti (def. 7.1), logiµcka dubina nekog objekta veµze se uz
vrijeme izvršavanja algoritma na UTM-u. Ona se de…nira kao vrijeme potrebno da
algoritam izvede (izraµcuna) objekt iz njegova najkraćeg potpunog opisa na standar-
dnom UTM-u. Ova će sloµzenost, jednako kao i statistiµcka, prepoznati manjak prave
strukture u sluµcajnim procesima i proglasiti ih plitkima (engl. shallow). S druge
strane, procese koji imaju daleku kauzalnu povijest (kao npr. izraµcunavanje zname-
naka broja ) prepoznat će kao duboke (engl. deep). Takvi će procesi zahtijevati dugo
vrijeme izvršavanja, bez obzira na moµzebitnu relativnu kratkoću njihovih programa.
Me†utim, logiµcka dubina vuµce istu manu kao i Kolmogorovljeva sloµzenost — nema
praktiµcnog naµcina za njezin izraµcun.
Za razliku od toga, statistiµcku sloµzenost raµcunamo na temelju izgra†enih -
strojeva. U sljedećem ćemo odjeljku to ilustrirati na nizu primjera. Dodatna raz-
matranja i usporedba mjera sloµzenosti mogu se pronaći npr. u [58, 59].
7. Informacijsko-teorijski aspekti modela 191

7.4 Pravilnost, sluµcaj i izme†u


Ovdje ćemo najprije dovršiti informacijsko-teorijsku analizu i mjere sloµzenosti sto-
hastiµckog konaµcnog automata za sustav “nema uzastopnih nula”, a potom navesti
još nekoliko interesantnih primjera.

7.4.1 Izme†u pravilnosti i sluµcaja


Za primjer sustava koji posjeduje i striktna pravila i stohastiµcku komponentu uzet
ćemo sustav “nema uzastopnih nula”(NCZ). Taj nam je sustav u prošlom poglavlju
posluµzio za ilustraciju nalaµzenja SFA-modela i za primjer uporabe DSA programa
(§6.5 sl. 6.5, §6.7 sl. 6.7).
Iz SFA-grafova oµcitavamo da je skup svih stanja sustava Q = fA; B; Cg, a
skup rekurentnih stanja Qr = fB; Cg. Preglednosti radi ponavljamo matrice (6.52)
kojima je predstavljen tenzor T prijelaza SFA-modela ovog sustava te odmah navo-
dimo i njihove rekurentne inaµcice:
0 1 0 1
0 31 0 0 0 32
B C B C
T s=0 = @ 0 0 0 A ; T s=1 = @ 0 0 1 A ; (7.52a)
1 1
0 2
0 0 0 2
! !
0 0 0 1
Trs=0 = 1
; Trs=1 = : (7.52b)
2
0 0 12

Za matrice u gornjem retku, vjerojatnost da se po simbolu 0 dogodi prijelaz iz stanja


A u B dana je elementom T12s=0 = 13 , a za prijelaz potaknut simbolom 1 iz B u C
elementom T23s=1 = 1 itd. U svakom je retku gornjih matrica samo jedan nenul-
element (korolar 5.2). Jako povezana komponenta grafa koju µcine rekurentna stanja
(§5.4.4, korolar 5.3) dade se išµcitati i iz matrica prijelaza — u njima nema prijelaza
(povezanosti) prema prvoj koloni u matricama T s . To se tako†er jasno oµcituje iz
spojne matrice T0 napisane niµze.
Polazimo od izraµcuna topoloških sloµzenosti, obrazloµzenih u 7.3.3. Iz SFA-grafa
nalazimo ukupan broj grana, ne = kEk, koji je jednak ukupnom broju nenuleleme-
nata tenzora T. Broj rekurentnih grana (engl. recurrent branches) — onih koje izlaze
a stoga i ulaze iskljuµcivo u rekurentna stanja — iznosi ne;r = kEr k. On je jednak
broju elemenata tenzora T koji povezuju rekurentna stanja. U našem su primjeru
to elementi koji nisu u prvom retku niti u prvom stupcu. Otuda nalazimo prijelaznu
topološku sloµzenost C0e i njezinu rekurentnu inaµcicu C0;r e
. Iz ukupnog broja stanja
192 7. Informacijsko-teorijski aspekti modela

v = kQk i broja ponavljajućih stanja vr = kQr k pak nalazimo topološke sloµzenosti


C0 , odnosno C0;r . Rezultate rezimiraju sljedeći izrazi:

C0 = ld v = ld 3 = 1:5850 bit ; C0;r = ld vr = ld 2 = 1 bit ;


(7.53)
C0e = ld ne = ld 5 = 2:3219 bit ; C0;r
e
= ld ne;r = ld 3 = 1:5850 bit :

Topološke matrice kreiramo prema (7.23), T0 iz (7.52a), a njezinu rekurentnu


inaµcicu T0;r iz (7.52b):
0 1
0 1 1 !
B C 0 1
T0 = @ 0 0 1 A ; T0;r = : (7.54)
1 1
0 1 1

Za obje je ove matrice maksimalna svojstvena vrijednost jednaka omjeru zlatne


sredine ,9
1 p
max = 1 + 5 = ; (7.55)
2
koja predstavlja omjer porasta broja l-cilindara (blokova) s porastom njihove duljine
l (vidjeti prilog A.4, def. A.25, te razmatranje -stabla ovog sustava u A.4.3).
Iz max dobiva se topološka stopa entropije modela

h0; M = ld 1:61803 = 0:69424 bit : (7.56)

Zbrajanjem sastavnih matrica (7.52a, b) tenzora T dobivamo matricu prijelaza


T i njezinu rekurentnu inaµcicu Tr :
0 1
0 31 32 !
B C 0 1
T = @ 0 0 1 A; Tr = 1 1
: (7.57)
1 1 2 2
0 2 2

Matrice prijelaza stohastiµcki odre†uju pozadinski Markovljev lanac, T sa i Tr bez


tranzijentnih stanja (§5.5.2).
Za matricu T stacionarna distribucija vjerojatnosti dobiva se prema (7.34),
1 2
pst = 0; ; : (7.58)
3 3
Za stanje A stacionarna je vjerojatnost p1 = Pr (A) = 0, µcime je potvr†en raniji
zakljuµcak o nepostojanosti, odnosno o tranzijentnosti tog stanja.
9 2
Karakteristiµcni polinom matrice T0;r i jednadµzba zlatnog reza oblika su: p+ b 1 , gdje za
prvo (drugo) vrijedi b = 1 (b = 1) . Stoga su njihova rješenja: 1;2 = b 5 =2 = b ,
1
p
= 2 5 + 1 = 1:61803398874 : : : .
7. Informacijsko-teorijski aspekti modela 193

Matricu Tr prijelaza rekurentnih stanja mogli smo dobiti kao u (7.57) ili iz T
uklanjanjem redaka i stupaca s indeksima svih tranzijentnih stanja. Tr ima sta-
cionarnu distribuciju jednaku kao i matrica prijelaza T , pst;r = 13 ; 23 , jer obje
matrice imaju isti lijevi svojstveni vektor sa svojstvenom vrijednosti 1 .
Iz izloµzenog slijedi jedinstvena statistiµcka kompleksnost,

C (Q; T ) = H (pst ) = H (pst;r ) 0:91830 bit : (7.59)

Uz poznate stacionarne vjerojatnosti stanja raµcunamo vjerojatnosti grana SFA-


grafa:

Pre = pA pA !0 A ; pA pA !1 C ; : : : ; pC pC !1 C
2 1 1 2 1 2 1
= 0 3
; 0 ;
3 3
1; 3
;
2 3 2
1 1 1
= 0; 0; 3
; ;
3 3
: (7.60)

Iz distribucije Pre slijedi ukupna entropija modela, odnosno metriµcka sloµzenost


grana,
C e = H (Pre ) = ld 3 = 1:58496 bit : (7.61)
Prijelazi iz tranzijentnih stanja — koja imaju nultu stacionarnu vjerojatnost —
ne doprinose ovoj entropiji. U našem je sluµcaju to stanje A. Zdruµzene vjerojatnosti
za preostala tri prijelaza iz ponavljajućih stanja imaju uniformnu distribuciju, iz
koje proizlazi ukupna sloµzenost C e modela (grana) jednaka logaritmu broja stanja,
odnosno jednaka topološkoj sloµzenosti C0 .
Stopa entropije h (T ) Markovljevog lanca slijedi izravno iz matrice T odnosno
Tr , prema (7.42):
1 2 1 1
h (T ) = h (Tr ) = 3
H (0; 1) + 3
H ;
2 2
= 23 bit : (7.62)

Stopa entropije simbola po prijelazu prema (7.43) iznosi h (s) = 0, jer uz zadano
poµcetno i konaµcno stanje nema neizvjesnosti glede simbola po kojem se to dogodilo.
Stoga iz (7.45) slijedi ukupna metriµcka stopa entropije modela:

h ; M = h (T ) 0:66667 bit : (7.63)

Da tu veliµcinu poveµzemo sa stopom entropije (C.19) i da potvrdimo komentar


nakon izvoda (7.31), pokazat ćemo da se isti rezultat dobiva i kao limes h u (C.17).
Distribuciju vjerojatnosti Pr sl i uvjetnu distribuciju Pr sl jsl 1 moµzemo na
osnovi znanih pravila naći teorijski ili je moµzemo odrediti eksperimentalno na temelju
194 7. Informacijsko-teorijski aspekti modela

statistike podnizova iz primljenog vremenskog niza. Za NCZ sustav to je uµcinje-


no na oba naµcina. U prvom, teorijskom pristupu, na osnovi uvjetnih vjerojat-
nosti odre†enih u 6.5.6 izraµcunane su vjerojatnosti pojavljivanja nizova za l =
1; 2; 3; 4; 5; 6 te uvrštene u tablicu tabliµcnog kalkulatora pripremljenu za izraµcun
stopa entropija h0 ;l i h00 ;l . Nakon obilne hranidbe s 108 nizova duljine 6 istovjetne
su vrijednosti oµcitane i u DSA programu, s odstupanjima tek u šestoj decimali.10
Rezultati izraµcuna dvije metriµcke stope entropije h0 ;l i h00 ;l prema (7.4a, b)
prikazani su u tablici 7.1. Njima prethodi Nl , broj l-blokova koji se pojavljuju
u nizu te iz njega odre†ena topološka stopa entropije h0;l (C.12a). Osim za NCZ su-
stav, usporedbe radi iste su veliµcine dane i za Bernoullijev vremenski niz koji sadrµzi
sve moguće l-blokove.
U kontekstu -stabala, u kojima l-blokove rašµclanjujemo, Nl je broj µcvorova na
razini l (prilozi A.2, A.3). Veza Nl za NCZ sustav i Fibonaccijevih brojeva dana
je u A.4.3 izrazom (A.60), dok su konkretni brojevi navedeni u tablici A.3. Za BTS
sustav pak je Nl maksimalan mogući broj µcvorova na razini l , Nl = Nl;max = 2l
[formula (A.27c)]. Stoga za topološke stope entropije ova dva sustava vrijedi:
ld Fl+2
NCZ : h0;l = lim = ld = 0:694 241 913 63 : : : bit : (7.64a)
l!1 l
ld Nl;max
BTS : h0;l = lim = 1 bit : (7.64b)
l!1 l
Za idealan BTS s jednakom vjerojatnošću emitiranja znakova 0 i 1 obje su
metriµcke stope entropije jednake, te su u tablici skupno zapisane kao h0 ;l = h00 ;l =
h ;l . Njihov je iznos isti kao u gornjem izrazu: h ;l = h0;l = 1 bit . Za NCZ sustav
vidimo da stopa entropije h0l cijelih podnizova sporo konvergira ka graniµcnoj vrijed-
nosti od 2=3 bit . Tu istu vrijednost uvjetna stopa entropije h00l dosiµze već za blokove
duljine l = 2 . To potvr†uje da se radi o sustavu s memorijom prvog reda, jer po
primitku jednog simbola zakljuµcujemo o vjerojatnosti pojavljivanja sljedećeg.11
Za oba su sustava metriµcke stope entropije jednake stopama h ; M entropije
njihovih modela [za NCZ vidjeti izvod u (7.62, 7.63), za oba sustava vidjeti rezime
10
Navedene vjerojatnosti oµcitavamo u radnom prozoru DSA programa Tree / Show and Feed,
spuštanjem na razinu l rašµclambenog stabla iz µcvora odre†enog nizom sl . Pr sl dobivamo oda-
birom radio-puceta Pr/Root (od engl. Probability to Root), a Pr sl j sl 1 uz podrazumijevajuću
postavku Pr/Parent (od engl. Probability to Parent). Vidjeti npr. donji lijevi dio sl. 8.5.
11
Ovo moµzemo povezati i sa SFA modelom NCZ sustava (sl. 6.5 i 6.7). Oba morfa stacionarnih
stanja nalaze se na razini lM T r = 1 rašµclambenog stabla i odre†ena su jednim prethodno primljenim
simbolom — što u informacijsko-teorijskom kontekstu odgovara memoriji prvog reda. Pod uvjetom
tog prethodno primljenog simbola, morfovi visine Lmin = 1 istraµzuju sve moguće buduće podnizove
duljine 1 i u korelaciju stavljaju sveukupno lM T r +Lmin = 2 simbola. To je dovoljno za reprodukciju
jednostavnog pravila ovog sustava da nakon nule mora doći jedinica.
7. Informacijsko-teorijski aspekti modela 195

Nema uzastopnih nula (NCZ) Bernoullijev niz (BTS)


l Nl h0;l = bit h0 ;l = bit h00 ;l = bit Nl (h0;l = h ;l ) = bit
1 2 1.00000 0.91830 0.91830 2 1.00000
2 3 0.79248 0.79248 0.66667 4 1.00000
3 5 0.77398 0.75054 0.66667 8 1.00000
4 8 0.75000 0.72957 0.66667 16 1.00000
5 13 0.74009 0.71699 0.66667 32 1.00000
6 21 0.73205 0.70860 0.66667 64 1.00000
... ... ... ... ... ... ...
1 1 0.69424 0.66667 0.66667 1 1.00000

Tablica 7.1: Broj Nl l-blokova i stope entropije za vremenske nizove sustava: (i) “nema
uzastopnih nula”(NCZ), gdje je Nl izraµzen preko Fibonaccijevih brojeva: Nl; NCZ = Fl+2 ;
(ii) Bernoullijev niz (BTS), s maksimalnih Nl = 2l podnizova duljine l . h0;l topološka
je stopa entropije (C.12a), a h0 ;l i h00 ;l metriµcke stope entropije (C.16). Za BTS je
h0 ;l = h00 ;l = h ;l za svaki l 1 . Za NCZ sustav h0l sporo konvergira. Uvjetna stopa
entropije h00l pak postiµze graniµcnu vrijednost već od l = 2 , jer se radi o memoriji 1. reda.

u tab. 7.2]. Stoga, u skladu s komentarom nakon (C.19), zakljuµcujemo da njihovi


SFA-modeli toµcno opisuju vremenske nizove na temelju kojih su kreirani.
Na primjeru NCZ sustava ilustrirat ćemo i zakon oµcuvanja sloµzenosti i entropija,
sadrµzan u jednakostima (7.36) i (7.46b):

C e = C + h = ld 3 = 1:58496 bit : (7.65)

Statistiµcka sloµzenost ovdje prevladava nad stopom entropije, C > h . Naime, h


je tek za oko 8% manja od maksimuma za sustave s dva ponavljajuća stanja, koji
iznosi 1 bit . Stopa entropije h pak je manja za 33% od maksimuma iste vrijednosti
zbog sigurnog prijelaza B ! C u drugom retku matrice T (prvom u Tr ), koji vodi
na degeneriranu distribuciju i nultu entropiju te smanjuje prosjek u (7.62).
Prepoznavanjem deterministiµckog prijelaza dobiveni SFA-model korektno repro-
ducira strukturu (regularni izraz) NCZ sustava i diferencira ga od pukog sluµcajnog
procesa. Tako†er, statistiµcka sloµzenost odre†ena iz SFA-modela, C 0:92 bit,
daje mjeru prosjeµcne sustavske memorije, odnosno prosjeµcne koliµcine informacije
koju dobivamo spoznajom stanja sustava. Raµcunarski gledano, trebamo organizirati
C0;r = 1 bit memorije za biljeµzenje trenutnog rekurentnog stanja. Ukupnoj sloµzenosti
modela (grana), pored statistiµcke sloµzenosti, doprinosi još i stopa entropije koja u
sustav unosi stohastiµcku (nedeterministiµcku) komponentu.
U zakljuµcku istaknimo da ovaj, naoko jednostavan, sustav moµze posluµziti za
p p
odre†ivanje zlatne sredine = 1 + 5 =2, a otuda i iracionalnog broja 5 . Ista
196 7. Informacijsko-teorijski aspekti modela

se veza dobiva i preko maksimalne svojstvene vrijednosti topološke matrice (7.55).


Zato se proces u ovom sustavu uobiµcajeno naziva proces zlatnog reza (engl. golden
mean process). Dakle, iako se NCZ sustav zasniva na vrlo jednostavnom pravilnom
izrazu, te iako ga simulira jednostavan SFA-model koji je raµcunski ekvivalentan
razredu (elementarnih) konaµcnih automata, on pokazuje izrazite raµcunske sposobno-
sti (usporediti s diskusijom u 1.2.3).

7.4.2 Struktura iz periodiµcnosti

Period 1. Ciklus perioda 1 jednostavan je sustav već spomenut u 7.2.2 kojemu


odgovaraju dvije …ksne toµcke nizovnog prostora (§2.2.2). Moµze biti opisan regular-
nim izrazom 0 (ili 1 ) koji generira potpuno monotoni niz 0000 : : : (ili 1111 : : :).
Ovakav niz stvara samo jednu stazu u rašµclambenom stablu — sastavljenu od najlje-
vijih (najdesnijih) µcvorova, de…niranu najljevijim (najdesnijim) listom. Glavno i sva
podstabla koja niµcu iz niµzih µcvorova identiµcna su i lijevo (desno) degenerirana (def.
A.12). Sustav ima samo jedan morf i odgovarajuće jedinstveno stanje. Tako†er, on
je potpuno deterministiµcan. SFA za niz 1 prikazan je na slici 7.2a. Trivijalni ten-
zor i matrica prijelaza [T = (1)] vode na isto tako trivijalnu topološku, statistiµcku
i ostale sloµzenosti, koje su sve 0 (navedene u tablici 7.2). U skladu s intuitivnom
predodµzbom, ovaj sustav ima najjednostavniju moguću strukturu, opisanu statisti-
µckom sloµzenosti C = 0 bit . Tako†er, zato što sustav nema stohastiµcke komponente,
njegova je stopa entropije modela h ; M = 0 bit .

Periodi 2 i 3. Ciklus perioda 2 opisan je regularnim izrazom (01) + (10) koji daje
dva vremenska niza: 0101 : : : ili 1010 : : : . Iz njih se mogu izluµciti samo dva razliµcita
podniza koji će popunjavati dvije staze u parsirajućem stablu. Ukupno postoje tri
stanja koja su sva morfološki (topološki) razliµcita: prvo izrasta iz korijena glavnog
stabla, a druga dva iz njegova lijevog, odnosno desnog, djeteta. SFA je prikazan
na slici 7.2b. Po hvatanju faze (nalaµzenju o kojem se podnizu radi) sustav napušta
prolazno stanje A i deterministiµcki oscilira izme†u ponavljajućih stanja B i C.
Matrica prijelaza T i njezina rekurentna inaµcica Tr iznose:

0 1
0 21 12 !
B C 0 1
T = @ 0 0 1 A; Tr = : (7.66)
1 0
0 1 0
7. Informacijsko-teorijski aspekti modela 197

A1
A 1 2
0| 3
1| 3
1
1 1 1
0 2 1 2 0| 2
1 B A2
A
0|1
1
1|1 1| 2
B C
C D
0 1 1|1

(a) (b) (c)

Slika 7.2: Stohastiµcki konaµcni automati (SFA) za cikluse perioda: (a) 1 , (b) 2 , (c) 3 , koji
generiraju nizove: 1111111 : : : , 0101010 : : : , odnosno 0110110 : : : . Prvi SFA prelazi u
automat za emitiranje nula uz zamjenu 1 ! 0 . Drugi SFA jedinstven je za sve period-2
sustave. Treći automat, uz zamjenu 0 ! 1 , 1 ! 0 , emitira niz 0010010 : : : (drugi od
dva ciklusa perioda 3). Sva tri poµcetna ciklusa moµze generirati sustav logistiµcke jednadµzbe:
period 1 za 2 r . 3 , period 2 za 3 r . 3:45 , a period 3 dobiva se npr. uz r 3:83 .
Za njih DSA program reproducira SFA jednake ovima prikazanim na slici.

Pune i rekurentne topološke sloµzenosti te sloµzenosti grana iznose:

C0 = ld 3 = 1:5850 bit ; C0;r = ld 2 = 1 bit ;


(7.67)
C0e = ld 4 = 2 bit ; e
C0;r = ld 2 = 1 bit :

Topološka stopa entropije h0; M = 0 bit, jer topološka matrica T0 ima glavnu
svojstvenu vrijednost 1 . Nulti iznos stope h0; M govori da broj mogućih razliµcitih
nizova ne raste s njihovom duljinom l , jer od l 2 postoje samo dva strukturalno
razliµcita niza: 010101 : : : i 101010 : : : .
Iz T se dobiva stacionarna distribucija pst = 0; 12 ; 21 , a iz Tr reducirana, uni-
formna inaµcica pst;r = 12 ; 21 . Otuda slijedi i statistiµcka sloµzenost C = 1 bit (rezul-
tati su saµzeti u tab. 7.2). Determiniranost sustava po nalaµzenju faze ogleda se u
degeneriranim uvjetnim distribucijama u retcima matrice Tr , zbog kojih je stopa
entropije h ; M modela, a time i (procijenjena) stopa entropije sustava:

h ; M = h (T ) + h (s) = 0 bit . (7.68)

Sloµzenost grana zbog toga se svodi samo na statistiµcku sloµzenost:

Ce = C + h ; M = C = 1 bit : (7.69)
198 7. Informacijsko-teorijski aspekti modela

A1

1| 3
4
0| 1
4
A1 A2

0| 1 1| 1 0| 1
2 2 3 1| 23

A2 A3 0| 1 A3
2

0| 12 1| 12 0| 12 1| 12 1| 1
2
1|1 1|1 0|1 1|1 1|1 1|1
B C D E B C D E
0|1 0|1

(a) (b)

Slika 7.3: Sustavi perioda n = 4 koji primaju (emitiraju) nizove: (a) 001100110. . . (b)
011101110 : : : Tri su tranzijentna: A1, A2, A3 i µcetiri rekurentna stanja: B, C, D, E.
Lijevi SFA nalazi fazu po prijamu bilo koja dva znaka. Desni SFA nalazi fazu po prijamu
rijeµci wn od n znakova: w1 = 0 , w2 = 10 , w3 = 11 0 , što uz prikazane vjerojatnosti daje
prosjek od 9=4 bita. Ovaj se SFA dobiva u DSA programu odabirom logistiµckog su-
stava s r = 3:5 , uz sjeme x0 2 (0; 1), broj tranzijentnih toµcaka ' 50 , podrazumijevajuće
postavke binarnog instrumenta (xBI = xc = 0:5) i parametre modela: L 3 , D 7 .

Gornje je razmatranje lako ponoviti za sustav perioda 3, µciji je SFA prikazan na


slici 7.2b. To je ujedno i zadnji periodiµcni sustav s topološki jedinstvenim SFA.

Period 4. Za sustave s periodom 4 postoje dva topološki razliµcita SFA, jedan za


nizove oblika : : : 001100110 : : :, te drugi za : : : 011101110 : : : (sl. 7.3a i b). Prvi od
njih sam je sebi nepotpuni (prvi) komplement, a drugome je to niz 000100010 : : : .
Jasno je da će taj niz reproducirati SFA koji je po obliku jednak onom sa slike 7.3b,
uz zamjenu (komplementiranje) binarnih znakova: 0 7! 1 i 1 7! 0 .
Ove je SFA jednostavno teorijski izvesti. Za oba je stanje A1 poµcetno stanje
sustava, prije primitka simbola, koje odgovara korijenu glavnog stabla. Za lijevi SFA,
niz 001100110 : : : ima u prosjeku jednak broja nula i jedinica, pa je vjerojatnost da
prvi primljeni znak bude 0 ili 1 jednaka. Po prijamu znaka 0 (1) sustav prelazi
u stanje A2 (A3) s vjerojatnošću od 1=2. Vjerojatnost da sljedeći znak iz oba ta
stanja bude 0 (1) ponovo je jednaka. Nakon primljena toµcno dva znaka sustav izlazi
iz tranzijentnih stanja A1, A2 i A3 te prelazi u jedno od µcetiri rekurentna stanja:
7. Informacijsko-teorijski aspekti modela 199

B, C, D ili E. Tako nakon prva dva znaka 00 sustav prelazi u rekurentno stanje B,
nakon kojeg slijede sami deterministiµcki prijelazi. Rezultantni je niz 0011 0011 : : : .
Ako su prva dva znaka 01 sustav prelazi u rekurentno stanje C, pa se dobiva niz
0110 0110 : : : . Jednako slijede i prijelazi u rekurentna stanja D i E.
Iz tranzijentnih stanja moµze se ući u bilo koje od rekurentnih. Za njihove uvjetne
vjerojatnosti, a time i za vjerojatnost pojave bilo kojeg od µcetiri niza, vrijedi:
1
Pr (BjA1) = Pr (CjA1) = Pr (DjA1) = Pr (EjA1) = : (7.70)
4
Prosjeµcan broj hmn;ph i primljenih simbola, ili broj prijelaza potrebnih da sustav
perioda n uhvati fazu i prije†e u rekurentno stanje, ovdje je toµcno 2 :

1
hmn;ph i = 4 2 =2: (7.71)
4

U desnom SFA, nastalom iz niza : : : 011101110 : : :, prijelazne vjerojatnosti iz


korijenskog morfa odraµzavaju µcinjenicu da je broj jedinica tri puta veći od broja
nula. Po primitku znaka 0, s vjerojatnošću od 1=4, odmah se izlazi iz tranzijentnog
stanja i prelazi u rekurentno stanje B, što vodi na niz 0111 0111 : : : . Vjerojatnost da
je prvi primljeni znak 1 iznosi 3=4 i tada sustav prelazi u drugo tranzijentno stanje,
A2. Budući da su ispred sljedeće nule tri jedinice u nizu, vjerojatnost da je primljen
znak 1 upravo onaj ispred nule iznosi 1=3 . To onda mora biti i uvjetna vjerojatnost
za primitak nule, pa je za primitak jedinice uvjetna vjerojatnost 2=3 . Dakle, sustav
iz stanja A2 po znaku 0 prelazi u B i hvata fazu, µcime nastaje niz 1011 1011 : : : .
Sustav iz A2 po 1 prelazi u posljednje tranzijentno stanje A3. Primitak 11 s jed-
nakom se vjerojatnošću odnosi na desni ili lijevi par jedinica. U prvom je sluµcaju
sljedeći znak 0, a u drugom 1 . Stoga iz A2 s jednakom vjerojatnošću prelazimo ili
u rekurentno stanje B, što vodi na niz 1101 1101 : : :, ili u stanje E, što vodi na niz
1110 1110 : : :. Po prelasku u rekurentno stanje periodiµcnog sustava (modela) svi su
daljnji prijelazi deterministiµcki. Time je dokazan i ovaj SFA.
U ovom sluµcaju tranzijentna stanja mogu ući samo u B i E rekurentna stanja, za
koja su vjerojatnosti:
3 1
Pr (BjA1) = ; Pr (EjA1) = : (7.72)
4 4
Prosjeµcan broj simbola primljen do ulaska sustava u fazu jest
1 1 1 1 9
hmn;ph i = 1 +2 +3 +3 = : (7.73)
4 4 4 4 4
200 7. Informacijsko-teorijski aspekti modela

Period n. Periodiµcni sustav Pn kreira (naposljetku) periodiµcnu toµcku simboliµcke


mehanike µciji je period n (§2.2.2). Pn je odre†en svojom primarnom rijeµci ili
uzorkom (engl. primary word, sample), kao najkraćim neperiodiµcnim podnizom koji
se toµcno ponavlja i tvori ciklus-n (engl. n-cycle). Primjer je ciklus 0k 1m u kojem se
ponavlja rijeµc wn = 0k 1m s k nula i m jedinica, 1 k; m < n, k + m = n . Iz wn
se permutacijom mogu dobiti i druge primarne rijeµci, istog ili manjeg perioda.
Sustav sa stabilnim ciklusom-n ima n 1 prolaznih (tranzijentnih) i vr = n
ponavljajućih (rekurentnih) stanja, što ćemo okvirno pokazati. Za n = 1 sustav
je odmah u svojem jedinstvenom ponavljajućem stanju. Za n > 1, prije primitka
bilo kojeg simbola sustav je u svom prvom tranzijentnom stanju. Po primitku prvog
simbola sustav prelazi ili u drugo tranzijentno ili, ako je uhvatio fazu, u neko od
rekurentnih stanja. Ponavljajući uzorak ima period n, pa sustav dolazi u fazu nakon
primljenih najmanje 1, a najviše n 1 simbola. Stoga tranzijentnih stanja ne moµze
biti više od n 1 . Ovo je pobliµze objašnjeno u prilogu B, kod izvoda graniµcnih
vrijednosti parametara L i D potrebnih za rekonstrukciju sustava perioda n .
Za primarnu rijeµc oblika 01n 1 tranzijentna su stanja oznaµcena sljedovima una-
trag: e, 1, . . . , 1n 2 , kojih ima n 1 (primjer na sl. 7.3b), a analogno vrijedi i
za komplementaran niz. Ako je uzorak oblika 0k 1k , tada su tranzijentna stanja
oznaµcena sljedovima unatrag e, 0,. . . , 0k 1 , 1,. . . , 1k 1 i nikojim drugim, jer µcim se
dogodi prijam podniza 01 ili 10 takav sustav hvata fazu i ulazi u rekurentno stanje
(sl. 7.3a). Stoga tranzijentnih stanja ponovo ima 2 (k 1) + 1 = n 1 . Dokaz za
općeniti niz ispuštamo. Broj rekurentnih stanja pak mora biti jednak periodu n, jer
se ponavljajući uzorak moµze toµcno reproducirati jedino deterministiµckom izmjenom
n stanja, pri µcemu se redom emitira njegovih n simbola.
Ako su morfovi dostatne duljine (visine) L da uhvate ponavljajući uzorak wn
(§B.2), tada su oni oblikovno jedinstveni. To vrijedi i za tranzijentne i za rekuren-
tne morfove (stanja), jer iz slijeda unatrag kojim su de…nirani, ponavljajući uzorak
jedinstveno odre†uje skup sljedova unaprijed duljine L, a time i oblik morfa, odnosno
topologiju µcvorova njegova podstabla. Zato ne mogu postojati dva morfa istog oblika
s razliµcitim vjerojatnostima prijelaza.
Iz svakog od n 1 tranzijentnih stanja moraju voditi toµcno dvije grane. U
protivnom bi iz nekog od takvih stanja prijelaz bio deterministiµcan, što bi znaµcilo
da je u tom stanju sustav već u fazi, pa se ne bi radilo o tranzijentnom već o
ponavljajućem stanju. S druge strane, iz svakog od vr = n rekurentnih stanja
periodiµcnog sustava uvijek vodi samo jedna grana. Po de…niciji je sustav u jednom
7. Informacijsko-teorijski aspekti modela 201

od rekurentnih stanja tek po nalaµzenju faze, a tada su za periodiµcan sustav prijelazi


deterministiµcni. Zato je broj rekurentnih grana (onih koje izlaze, a stoga i ulaze,
iskljuµcivo u rekurentna stanja) ne;r = n . Otuda je ukupan broj grana:

ne = kEk = 2 (n 1) + n = 3n 2: (7.74)

Sva su rekurentna stanja periodiµcnog sustava jednakovjerojatna, pa je pst;r


uvijek uniformna distribucija s maksimalnom entropijom, H (pst;r ) = ld vr . Zbog
deterministiµcnih prijelaza u stacionarnom dijelu SFA-modela njegova je ukupna
stopa entropije h ; M uvijek nula. Zato je ukupna entropija modela — koju iskazu-
jemo kao sloµzenost C e grana — istovjetna statistiµckoj sloµzenost C .
Gore dokazane tvrdnje za broj stanja i grana te za topološke i metriµcke sloµzenosti
sustava perioda n 1, rezimiraju sljedeći izrazi (rezultati skupljeni i u tab. 7.2):

vr = ne;r = n ; ne = 3n 2; (7.75a)
e
C0;r = C0;r = ld n ; C0e = ld (3n 2) ; (7.75b)
C = ld n ; C e = C = ld n ; (7.75c)
h ; M = h (T ) + h (s) = 0 . (7.75d)
e
Sloµzenosti C0;r i C0e odraµzavaju ono što smo lako mogli primijetiti na konkret-
nim primjerima periodiµcnih sustava, posebice onima većeg perioda — strukturalna
sloµzenost periodiµcnih sustava ogleda se u tranzijentnom dijelu modela, u kojem se
uspostavlja faza. To moµzemo išµcitati iz razlike ukupne topološke sloµzenosti C0e grana
e
i topološke sloµzenosti C0;r rekurentnih grana. Za njih vrijedi C0e C0;r e
, gdje znak
jednakosti nastupa ako i samo ako je n = 1 .
Generacija periodiµcnih sustava s pomoću logistiµckog preslikavanja. Pret-
hodne primjere SFA-modela periodiµcnih sustava, ukljuµcujući i model sa slike 7.4,
reproducira DSA program uz izbor sustava logistiµckog preslikavanja s odgovara-
jućim cikliµcnim (periodiµcnim) atraktorima (§1.1.1). Iznose kontrolnog parametra r
za neke od periodiµcnih toµcaka moµzemo išµcitati izravno sa slike 2.2, a preciznije vrijed-
nosti poµcetaka njihovih podruµcja mogu se pronaći npr. u [80]. Tako se za r = 3:83
dobiva sustav perioda 3 (sl. 7.2c).12 Taj je SFA-model potpuno stabilan već po pro-
puštanju nekoliko desetaka tranzijentnih toµcaka, za većinu izbora sjemena orbite, a
nakon njih stotinjak stabilan je za sva sjemena koja smo testirali.13 Budući da se
12
Povećano podruµcje orbitnog dijagrama u okolini ove vrijednosti r dano je na sl. H.6 .
13
Ako za 1D dinamiµcki sustav postoji period 3 , tada po teoremu Sarkovskog moraju postojati svi
periodi [29]. No od njih stabilan moµze biti samo jedan. U ovom su sluµcaju ostali periodi zatomljeni
u kratkom tranzijentnom dijelu orbite, koja brzo konvergira u super-stabilni period-3 atraktor.
202 7. Informacijsko-teorijski aspekti modela

radi o stabilnom atraktoru, dovoljno je uµcitati i samo stotinjak rijeµci — a moguće


je i milijarde — uz potpunu invarijantnost strukture µcvorova rašµclambenog stabla.
Vjerojatnosti prijelaza toµcne su na 6 decimala već nakon hranidbe s 1 Mi rijeµci, zbog
gomilanja svih izbrojaka u relativno malom broju kreiranih µcvorova.
Period 4 s uzorkom 0111 dobiva se iz logistiµckog preslikavanja s parametrom
r = 3:5 . SFA sa slike 7.3b dobiva se uz visinu morfova L 3 i visinu glavnog
stabla D 7, u skladu s uvjetima iz B.2.4. Zanimljivost je ovog sustava da se
uz sasvim malu promjenu ugodbe binarnog instrumenta, s xBI = xc = 0:5 na
xBI = 0:501, poµcinje primati niz 010101010 : : : perioda 2 . To je posljedica blizine
jedne od toµcaka orbite (x3 = 0:500 884 210 : : :) kritiµcnoj toµcki sustava. Oµcito je
da ugodba instrumenta bitno utjeµce na strukturu primljenih podataka i koliµcinu
informacije primljene od sustava (usporediti 2.2.5, 3.4). Period 4 s uzorkom 0011
za sada nije prona†en — niti uz varijaciju ugodbe binarnog instrumenta.

Sloµzenost i neizvjesnost uz nultu stopu entropije. Prethodni primjeri i općeni-


ti zakljuµcci pomoći će nam u rezimiranju fundamentalne razlike izme†u stope entro-
pije i ostalih uvedenih informacijsko-teorijskih pokazatelja. Svi su periodiµcni sustavi
deterministiµcki i stoga im je ukupna stopa entropije h = 0 bit (7.75d). No, jasno
je da npr. periodiµcni nizovi : : : 10101010101010101 : : : i : : : 10101101011010110 : : :
imaju razliµcitu sloµzenost. Prvi je sustav perioda n = 2, kojem ćemo lako uoµciti
pravilnost i uhvatiti fazu. Kod drugog je to nešto teµze zbog većeg perioda i zbog
uzorka s podjednakim brojem “nepregledno”razmještenih jedinica i nula. No µcitatelj
će zasigurno razaznati da se radi o nizu perioda n = 5, s ponavljajućim uzorkom
01011 ili nekim od njegovih cikliµckih posmaka, kojeg reproducira SFA sa slike 7.4.
Veća strukturalna sloµzenost drugog niza odraµzava se u njegovoj većoj statistiµckoj
sloµzenosti, C = ld n . Tako†er, pokazuje se da isti iznos ima i entropija suviška,
E = ld n [31]. Zato su obje ove veliµcine neovisne o primarnom uzorku sustava. S
druge strane, prethodna je analiza pokazala da već za sustave P4 dobivamo dva
razliµcita SFA-modela, za dva njihova moguća uzorka, 0011 i 0111 (ne raµcunajući
komplement drugog). Kod njih je — uz poznati period i primarni uzorak — nalaµzenje
faze razliµcito. Da opišu tu razliµcitost, Feldman i Crutch…eld uvode tranzijentnu in-
formaciju (engl. transient information), kao ukupnu prosjeµcnu koliµcinu informacije
koja je potrebna da model (sustav) u†e u fazu, odnosno da inteligentni agent sinkro-
nizira proizvoljno zapoµceti niz iz tog sustava s poznatim mu primarnim uzorkom [31].
Primjerice, za uzorak 0011 (0111), koji u fazu ulazi u prosjeku po primitku 2 (2:25)
simbola, tranzijentna informacija iznosi 3 bit (3:689 bit).
7. Informacijsko-teorijski aspekti modela 203

1
0| 25 1| 35
0| 23
2 3
1|1 1| 13

1| 12
4 5
0| 1 0|1
2

1|1
6 7 (a)
1|1 1|1

8 9 Legenda stanja
0|1 Niz ID# (b)

A1

0| 25 1| 35
0| 23
A2 A3
1|1

A4 1| 1 (b)
3

0| 12 1| 1
2

1|1 1|1 0|1 1|1


E F B C D
0|1

Slika 7.4: SFA logistiµckog preslikavanja za r = 3:741 , rekonstruiran u DSA programu.


Zaµceta iz proizvoljnog sjemena x0 2 (0; 1) , orbita se stabilizira po propuštenih stotinjak
toµcaka (< 120). Binarna izmjera daje niz . . . 0110101101. . . perioda 5 (usporediti sa sl.
2.3 i 2.4). Već uz hranidbu od 8 Mi rijeµci vjerojatnosti su toµcne na 6 decimala. (a) LDG
nacrtan izravno iz izvješća DSA programa, slijedom strukture glavnog stabla. Vidi se da
je morf 2 lijevo, a morf 3 desno dijete korijena glavnog stabla itd. (b) Preure†eni graf, s
prolaznim (tranzijentnim) stanjima (A1 do A4) odvojenim od ponavljajućih (rekurentnih)
stanja (B do F). Legenda sa strane povezuje stanja (morfove) SFA sa sl. (a) i (b) te daje
njihov identi…kacijski niz, odnosno slijed unatrag (niz simbola od korijena glavnog stabla
do korijena morfa). Korijenski morf, br. 1 = A1, opisan je praznim nizom e.
204 7. Informacijsko-teorijski aspekti modela

B
0| 12 1| 12 0| 12 1| 12 1| 12 1| 12

A A 1| 12 0| 12 D

( 0.49980 ≈ ½ ) ( 0.50020 ≈ ½ ) 0| 12 0| 12
C

(a) (b)

Slika 7.5: SFA za Bernoullijev niz. Oba modela korektno simuliraju Bernoullijev niz je-
dinica i nula, opisan pravilnim izrazom (0 j 12 +1 j 21 ) . (a) Minimalan model, reproduciran
DSA programom uz D = 10 , L = 5 , = 2:5 10 4 , po hranidbi s ' 8:4 106 rijeµci.
Odstupanja od idealnih vrijednosti su (tek) u µcetvrtoj decimali. Parametar mora biti
veći od tih odstupanja, u protivnom će za podmorfove biti prona†ena -nejednakost. (b)
Neminimalan model koji toµcno reproducira sustav ali precjenjuje njegovu kompleksnost.
FM algoritam (alg. 6.2) garantira minimalnost modela, pa ne daje takve rezultate.

7.4.3 “Puka sluµcajnost”

Zadnji je primjer ovog poglavlja Bernoullijev (vremenski) niz [engl. Bernoulli (time)
series, BTS ]. On predstavlja elementarni stohastiµcki sustav koji sluµcajno, s jedna-
kom vjerojatnošću, generira simbole 0 i 1 . Njega moµzemo simulirati nasumiµcnim
bacanjem novµci´ca (engl. coin ‡ip) koji s jednakom vjerojatnošću pada na glavu i na
pismo. Regularan izraz ovog sustava jest

1 1
BT S = 0j + 1j = (0 + 1) : (7.76)
2 2

U prvom je izrazu iza svakog simbola eksplicirana vjerojatnost njegova pojavljivanja.


U drugom je izrazu pisanje pojednostavljeno, jer su obje vjerojatnosti jednake.14
Nahranimo li rašµclambeno stablo rijeµcima duljine D iz takvog niza, svi µcvorovi
stabla na istoj razini imat će pribliµzno jednaku vjerojatnost. Tako†er, iz svakog
µcvora će vjerojatnost za emitiranje bilo simbola 0 bilo 1 biti 1=2 . Iz toga proizlazi
da rezultirajući SFA ima samo jedno stanje, kao što je prikazano na slici 7.5a, pa
sustav ima topološku sloµzenost C0 = 0 bit .

14
Notacija s eksplicitno naznaµcenim vjerojatnostima uvedena je na kraju pododjeljka 5.4.3. U
6.5.4 pretpostavili smo da znak + oznaµcava jednaku vjerojatnost izbora simbola.
7. Informacijsko-teorijski aspekti modela 205

Stohast. kon. automat (SFA) D i n a m i µc k i S ustav


Statistiµcke i informacijsko-teorijske Period 1, 2, 3,. . . , n Pravilni izraz
veliµcine (sloµzenosti) 1 2 3 n NCZ BTS
Broj stanja, v = kQk 1 3 5 2n 1 3 1
Broj tranzijentnih stanja, v v r 0 1 2 n 1 1 0
Broj rekurentnih stanja, vr = kQr k 1 2 3 n 2 1
Broj LDG grana, ne = kEk 1 4 7 3n 2 5 2
Broj rekur. LDG grana, ne;r = kEr k 1 2 3 n 3 2
Topološka sloµzenost, C0 / bit 0 1.585 2.322 ld v 1.585 0.
Top. sloµz. rekur. stanja, C0; r / bit 0 1. 1.585 ld n 1. 1.
Prijelazna topol. sloµz., C0e / bit 0 2. 2.807 ld ne 2.322 1.
e
Prijel. topol. rekur. sloµz., C0;r / bit 0 1. 1.585 ld v 1.585 1.
Topol. stopa entr. modela, h0; M / bit 0 0 0 0 0.694 1.
Statistiµcka sloµzenost, C / bit 0 1. 1.585 ld n 0.918 0.
Stopa entr. Mark. lanca, h (T ) /bit 0 0 0 0 0.667 0.
Entr. znaka po prijelazu, h (s)/ bit 0 0 0 0 0 1.
TMER, [ h ; M = h (T ) + h (s) ] /bit 0 0 0 0 0.667 1.
Sloµzenost grana, C e = C +h ; M /bit 0 1.000 1.585 ld n 1.585 1.

Tablica 7.2: Statistika SFA-modela za dinamiµcke sustave perioda n i za dva sustava


zadana pravilima, s pridodanim izvorom stohastiµcnosti: NCZ (No Consecutive Zeros),
s regularnim izrazom (0 + e) (1 + 10) , te BTS (Bernoulli Time Series), s regularnim
izrazom (0 + 1) . Mjere sloµzenosti i entropije su u bitima. ld = log2 . TMER (od engl.
Total Model Entropy Rate) = ukupna stopa entropije modela h ; M (7.45).

Tenzor prijelaza opisan je s dvije matrice:

0 1 1 1
T= T11 = ; T11 = : (7.77)
2 2

Odavde proizlazi topološka matrica s jednim elementom, T0 = (2), i topološka


sloµzenost C0 = 0 bit. Me†utim, topološka stopa entropije modela h0; M iznosi 1 bit.
Dakle, stopa rasta broja nizova s porastom njihove duljine maksimalna je za binarnu
abecedu, što proizlazi iz puke stohastiµcnosti ovog sustava.
Matrica prijelaza T = (1) daje svojstveni vektor pst = (1) i statistiµcku sloµzenost
C = 0 bit : U ovom sustavu ne pronalazimo strukturu, samo stohastiµcnost. Budući
da postoji samo jedno stanje, entropija pozadinskog Markovljevog lanca h (T ) =
0 bit . Jedini je doprinos stopi entropije h ; M modela i punoj entropiji grana C e
onaj od stope entropije simbola po prijelazu, h (s) = H 12 ; 21 = 1 bit . Informacij-
ska statistika SFA-modela za ovaj puki sluµcajan proces moµze se usporediti s onom
za sustav “nema uzastopnih nula”(vidjeti zadnje dvije kolone tablice 7.2).
206 7. Informacijsko-teorijski aspekti modela

Budući da kljuµcne informacijsko-teorijske pokazatelje i mjere sloµzenosti izraµcu-


navamo na temelju dobivenog SFA-modela, taj model mora biti ne samo korektan
glede simulacije promatranog sustava, nego i minimalan po broju stanja i prijela-
za (def. 6.14). U protivnom će izraµcunane sloµzenosti biti pretjerane. Na slici 7.5b
prikazan je model za BTS sustav koji toµcno reproducira niz, ali s nepotrebno velikim
brojem stanja. Kod modeliranja -strojeva po našem, FM algoritmu (alg. 6.2), ovo
se ne moµze dogoditi ako su prijelazne vjerojatnosti izme†u stanja (morfova) toµcno
1=2 kao na slici. Tada će sva stanja biti stavljena u istu klasu ekvivalencije, predsta-
vljenu npr. poµcetnim stanjem A. Me†utim, u konkretnom modeliranju uvijek govo-
rimo o aproksimaciji vjerojatnosti do na odre†enu toµcnost, pa ćemo umjesto toµcnih
apriornih vjerojatnosti dobivati vrijednosti s odstupanjima, koje su prikazane u za-
gradama na slici 7.5a. Tu će izbor optimalnog vjerojatnosnog parametra odigrati
presudnu ulogu (vidjeti def. 6.2, 6.4). Ukoliko je premali s obzirom na statistiµcku
relevantnost prikupljenih podataka i toµcnost aposteriornih vjerojatnosti, moµze se
dogoditi da otkrijemo prekobrojna stanja i precijenimo sloµzenost sustava. O ovome
će biti više rijeµci kod analize algoritama za nalaµzenje morfova (§8.6.6, 8.6.7, 8.7).
U zakljuµcku ovog poglavlja naglašavamo da je novouvedena statistiµcka sloµzenost
komplementarna Shannonovoj entropiji, preko koje smo izraµcunavali stopu entro-
pije modela i time procjenjivali i stopu entropije sustava. To smo izrazili zakonom
oµcuvanja informacije za dobiveni model, odnosno za promatrani dinamiµcki sustav.
Statistiµcka sloµzenost bolja je mjera unutarnje strukture sustava od Kolmogorovlje-
ve sloµzenosti, i to ne samo zbog kvalitativno bolje postavljenog koncepta nego i
zbog µcinjenice da se ona — kao i sve ostale ovdje razmatrane informacijsko-teorijske
veliµcine i mjere sloµzenosti — moµze praktiµcno izraµcunavati na temelju rekonstruiranog
-stroja, odnosno iz njegova SFA.
Poglavlje 8

Programska implementacija

Nakon što smo u prethodna dva poglavlja izloµzili teoriju -strojeva, predstavili al-
goritme za njihovu rekonstrukciju i iznijeli informacijsko-teorijske pokazatelje do-
bivenih modela, ovdje prelazimo u domenu raµcunarskih znanosti i primijenjenog
raµcunarstva. Izloµzit ćemo programsku implementaciju našeg izvornog, DSA pro-
grama, koji korištenjem navedenih teorijskih rješenja ostvaruje konkretan zadatak
ovog rada — modeliranje jednodimenzionalnih dinamiµckih sustava iz primljenog vre-
menskog niza. DSA program cjelovit je alat s razvijenim gra…µckim suµceljem, koji
omogućuje generaciju vremenskog niza odabranog sustava i njegovu uµcinkovitu i in-
teraktivnu analizu. On nalazi SFA-modele promatranog sustava uporabom izvornih
FM i TFM algoritama (uvedenih u odjeljku 6.6). Prema nama dostupnim navodima
to je ujedno i jedini program za modeliranje iz vremenskog niza koji je koncipiran
kao sveobuhvatna radna okolina s korisniµcki prijateljskim suµceljem.1
Poglavlje zapoµcinje odjeljkom u kojem obrazlaµzemo opće odrednice programa i
njegova razvoja. Potom predstavljamo izvorne klase i s pomoću njih ostvarene po-
datkovne strukture koje µcine temelj implementacije DSA programa. Detaljno ćemo
proanalizirati dizajn i prostorno-vremensku sloµzenost kljuµcnih algoritama programa,
od kojih neki mogu imati i širu primjenu. Velik dio DSA programa predstavljaju
programski vrlo zahtjevna gra…µcka suµcelja, na koja ćemo se moći tek ukratko osvr-
nuti. Uvid u njihovu, kao i u cjelokupnu implementaciju DSA programa, moµze se
dobiti pregledom svih zaglavnih i izvornih datoteka programskog koda, u popratnoj
dokumentaciji ovog rada na priloµzenom kompaktnom disku.
1
U § 6.6.6 već smo diskutirali oskudnost dostupnog opisa Crutch…eld-Youngovog algoritma. O
njegovoj programskoj implementaciji tako†er nam nisu dostupni nikakvi podaci. CSSR algoritam,
koji je najmanje deset godina mla†i, implementiran je u C++ jeziku kao konzolna aplikacija [60](i).
Stoga pretpostavljamo da je na sliµcan naµcin izveden i prvospomenuti, CY algoritam.

207
208 8. Programska implementacija

8.1 DSA Program


Izvorni program razvijen u okviru ovog rada nazvan je engleskim nazivom Dynamical
Systems Automata (hrv. Automati za dinamiµcke sustave) i nosi kraticu DSA. Pro-
gram je napisan u jeziku C++, u razvojnoj okolini Microsoft Visual Studio, C++(C) .
Gra…µcko suµcelje ostvareno je korištenjem MFC klasa (od engl. Microsoft Foundation
Classes).2 Ovakav izbor predstavlja jedan od raµcunarskih standarda današnjice.
Jezik C++ općenito se koristi za izradu najraznovrsnijih sustavskih i primjenskih
programa koji moraju doseći najbolje moguće izvo†aµcke odlike (engl. performance),
što je bio i našzahtjev. Moµzemo ustvrditi da jezik C++ i dalje gotovo da nema alter-
nativu kad je potrebno ostvariti uµcinkovit, brz i samostalan (kompiliran) program,
koji koristi najprikladnije podatkovne strukture i algoritme, postiµze maksimalnu
‡eksibilnost i maksimalnu brzinu izvo†enja kod izrazito obimne numeriµcke obrade
te omogućuje ostvarenje korisniµckog suµcelja skrojenog “po mjeri”. 3
DSA program ostvaren je od poµcetnog planiranja, preko oblikovanja kao cjeline
pa do svih svojih izvedbenih detalja po uzusima raµcunarske struke, uz poštivanje
naµcela dobrog programiranja i strogu primjenu objektno-orijentirane paradigme. Ti
su zahtjevi bili postavljeni već u poµcetnom radu i tamo su ukratko diskutirani [44,
§5.1]. Ovdje istiµcemo tek izvorna, tamo uvedena, naµcela: strukturalnu podobnost i
otvorenost programa (engl. structural aptness; openness). Strukturalna podobnost
zahtijeva da se za ostvarenje postavljenih zadaća izaberu najbolje podatkovne struk-
ture i naµcini njihove realizacije te da se na tako ostvarenim strukturama koriste naj-
bolji algoritmi. Otvorenost programa i njegova korisniµckog suµcelja zahtijeva slobo-
dan naµcin uporabe programa, odnosno slobodno mijenjanje temeljnih postavki i pa-
rametara pojedinih programskih modula, koliko to maksimalno dopuštaju korištene
metode modeliranja. Udovoljenje ovom naµcelu zahtijeva povećani programerski na-
por zbog nuµznosti uskla†enja rada pojedinih programskih modula. Pored koristi
koje od otvorenosti programa u fazi modeliranja dinamiµckih sustava ima korisnik, ti
su koncepti nuµzni i za dosljednu analizu prostorno-vremenske sloµzenosti algoritama,

2
Za poµcetnu verziju programa, iz 1999. godine, korišten je Visual C++ 5 i Developer Studio 97.
Kasnije su korišteni Visual C++ 6, 2005 i 2010, uz pripadne Visual Studio razvojne okoline.
3
Jezik C++ tek odnedavna utire svoj put u širem podruµcju raµcunske mehanike [69]. Tradici-
onalni je izbor ovog podruµcja bio jezik FORTRAN. Od 1990-tih standard postaje i matematiµcka
razvojna okolina MATLAB, sa svojim programskim jezikom i mnogim pogodnostima za prezenta-
ciju i vizualizaciju podataka. Ta i druga RAD programska okruµzenja (od engl. Rapid Application
Development), znanstvenicima omogućuju neposredniji i brµzi rad na konkretnom problemu, bez
potrebe implementacije zasebnog programa, njegovih modula, klasa i korisniµckih suµcelja.
8. Programska implementacija 209

koja je vaµzan zadatak ovog rada. Bez ostvarenja mogućnosti odabira krajnjih para-
metara koje dopušta logika cijelog sustava, pojedini dijelovi programa i algoritmi u
njima ne bi mogli biti testirani u potpunosti.

8.1.1 Razvoj DSA programa


Osnovna organizacija programskih modula, klasa i njihovih shema naslje†ivanja te
poµcetne inaµcice glavnih algoritama DSA programa postavljene su u radu [44]. U toj
poµcetnoj verziji ostvarena je temeljna funkcionalnost prema zacrtanim programskim
zahtjevima: na temelju generiranog vremenskog niza korisnik je za odabrane parame-
tre dobivao izvješće o SFA-modelu sustava. U sklopu ovog rada pak su napravljena
mnogobrojna poboljšanja DSA programa, saµzeta u sljedećim toµckama:
Obavljena je revizija svih klasa i pripadnih funkcija DSA programa. One su
po potrebi poboljšane, nadogra†ene i poopćene.
Postroµzena je enkapsulacija varijabli i funkcija unutar klasa. Javno objavlje-
ne varijable postoje samo u klasama programskog suµcelja (klase dijaloga i
pogleda). Broj javno objavljenih funkcija sveden je na minimum. Pristupnost
funkcija drugim klasama riješena je njihovom objavom kao prijateljskih funk-
cija i (rje†e) prijateljskih klasa. Sre†en je skup globalno objavljenih konstanti
i funkcija koje koristi većina klasa DSA programa.
Dodane su testne funkcije u kojima se prolasci kroz stabla ostvaruju rekurzivno,
za usporedbu uµcinkovitosti nerekurzivnih i rekurzivnih prolazaka.
Poboljšan je FM algoritam, za nalaµzenje morfova i SFA, uvo†enjem dva nova
naµcina usporedbe podstabala-kandidata s prethodno prona†enim morfovima.
Kreiran je novi, TFM algoritam, koji provjerava sva podstabla u rašµclambenom
stablu. Pridodana je funkcija za usporedbu dobivenih SFA.
Osigurana je izmjera vremena izvršavanja svih kljuµcnih algoritama.
Povećane su i poboljšane mogućnosti dijaloških izbornih i radnih okvira. Izbor-
nicima i vaµznim funkcijama pridodane su tipke preµcaca za brµzu dostupnost.
Poboljšan je gra…µcki prikaz rezultata, od izvješća i mnogobrojnih poruka u
dijaloškim okvirima, do preglednije liste toµcaka dinamiµckog sustava i posebice
prikaza stabala i podstabala (morfova) u glavnim prozorima programa.
Poboljšana je komunikacija izme†u modula za simuliranje dinamiµckih sustava
i za njihovu analizu, µcime je korisniku omogućen slobodniji rad te raznoliko i
kreativno modeliranje prema naµcelu otvorenosti.
210 8. Programska implementacija

Kao što je dobro poznato, u razvoju softvera najviše se vremena ne troši na


poµcetni razvoj, nego na njegovo poboljšavanje i unaprje†ivanje. Tako je i u našem
primjeru, za poµcetnu inaµcicu DSA programa utrošeno oko 1000 programer-sati [44],
a za unaprje†enje na sadašnju verziju gotovo dvostruko toliko (vidjeti tab. 8.1).

8.1.2 Osnovni programski moduli


Osnovna zadaća našeg rada pronalaµzenje je raµcunskih modela iz primljenog vre-
menskog niza. No za potrebe testiranja i za kasnija istraµzivanja moramo osigurati
iteraciju dinamiµckih sustava, binarnu izmjeru dobivenih toµcaka te generaciju binar-
nog vremenskog niza. Potom — slijedeći teoriju izloµzenu u poglavlju 6 — moµzemo
prijeći na modeliranje, tj. na desnu stranu mjerno-modelirajućeg kanala sa slike 3.1.
Rad DSA programa odvija se kroz tri osnovna programska modula, koji su she-
matski prikazani na slici 8.1. Oni u bitnom slijede hijerarhiju -strojeva do razine
SFA-modela (sl. 6.2). Uz module 0, I i II redom su vezani izbornici gra…µckog suµcelja
pod nazivima: System, Tree i Morphs, koji su zajedno s njihovim podizbornicima
sustavno navedeni u prilogu G.1 i prikazani na slici G.1. Ovdje, za potrebe daljnjeg
izlaganja, iznosimo kratak opis funkcionalnosti svakog od modula.

0. Modul za generaciju toµcaka orbite i vremenskog niza. Ova programska


cjelina ostvaruje numeriµcku iteraciju toµcaka orbite jednodimenzionalnih dinamiµckih
sustava i njihovu binarnu izmjeru (kodiranje) kojom se tvori binarni vremenski niz.
Funkcionalnost ovog modula skupljena je u izbornik System. U njemu korisnik naj-
prije iz jedne od tri ponu†ene skupine odabire µzeljeni dinamiµcki sustav, a potom mu
postavlja parametre. Tu je, u skladu s naµcelom otvorenosti (§8.1), moguće odabrati i
µzeljenu veliµcinu kruµznog spremnika do ukljuµcivo maksimalne rezervirane vrijednosti,
npr. u svrhu testiranja uµcinkovitosti njegova rada. Nakon toga moµze se pokrenuti
µzeljeni broj skupnih iteracija sustava (System/Batch Iteration) neovisno od hranidbe
stabla u sljedećem modulu te pregledavati toµcke bilo u istom prozoru bilo u listi
toµcaka. U tom se prozoru moµze dobiti i informacija o vremenu trajanja iteracije i
binarne izmjere. Izvor vremenskog niza mogli bi biti i vanjski podaci, koje — ako
to već nisu — treba binarno kodirati (vidjeti komentar u 8.9). Izlazni su rezultat
ovog modula toµcke orbite dobivene skupnom iteracijom i iz njih kodirani binarni
vremenski niz (opisano u pogl. 2 i 3, implementacija u sljedećem odjeljku).

I. Modul rašµclambenog stabla. Ovaj modul sluµzi za kreaciju glavnog stabla


µzeljene visine (dubine) D i njegovu hranidbu (izbornik Tree). Pored visine glavnog
8. Programska implementacija 211

Iteracija i
bin. izmjera
1D dinamičkih 0
sustava
.243 .739 .812 .324 .698 ... ... .173 .796 .173 .912

0 1 1 0 1 ... ... 0 1 0 1

Vanjski t
vremenski niz,
+ bin. kodiranje I
Glavno
II
binarno
stablo
visine D Morfovi:
- oblikovno i SFA(D,L,δ)
D t δ - vjerojat. izvješće
jedinstvena
podstabla ε - stroj
visine L ≤ D

Slika 8.1: Tri glavna modula programa DSA: (0) za generaciju binarnog niza iteracijom i
binarnom izmjerom 1D dinamiµckih sustava (ili na temelju vanjskog niza — zasad neostva-
reno); (I) za kreaciju i hranidbu binarnog stabla visine D ; (II) za pronalaµzenje morfova
visine L D (L < D ) uz vjerojatnosni parametar te kreiranje SFA(D; L; )-modela.

stabla, korisnik moµze odabrati preliminarnu vrijednost parametra vjerojatnosne jed-


nakosti . Program će na temelju tog parametra i visine stabla predloµziti broj rijeµci
potreban za optimalnu hranidbu glavnog stabla. Potom se ta hranidba moµze i oba-
viti.4 Ulazni podaci rijeµci su izluµcene iz vremenskog niza ostvarenog u prethodnom
modulu i pohranjene u kruµznom spremniku. Modul omogućuje pregled glavnog sta-
bla, prolazak kroz sve µcvorove stabla korak po korak ili automatski, pregled izbrojka
i tri vrste vjerojatnosti u svakom µcvoru, prikaz statistike µcvorova i listova stabla
te izmjeru vremena izvršavanja nekoliko testnih funkcija koje koriste rekurzivne i
nerekurzivne prolaske kroz stablo. Izlazni rezultat ovog modula jest glavno stablo s
dinamiµckim kreiranim µcvorovima (vidjeti odjeljak 8.2, niµze).

II. Modul morfova i SFA-modela. Zadaća ovog programskog modula nalaµzenje


je morfova µzeljene visine L D i SFA-modela sustava (izbornik Morphs). Korisnik
najprije odabire preostale parametre modela, L i . Potom pokreće traµzenje mor-
4
Postoji još i tzv. hranidbeni faktor (engl. feed factor ), kojeg korisnik tako†er moµze mijenjati.
212 8. Programska implementacija

fova unutar glavnog (rašµclambenog) stabla s pomoću FM ili TFM algoritma (§6.6).
Na†eni morfovi (oblikovno i vjerojatnosno jedinstvena podstabla koja predstavljaju
kauzalna stanja) i njihove me†usobne vjerojatnosti prijelaza de…niraju SFA-model
sustava. Taj je model prikazan u SFA-izvješću, zajedno s dodatnim korisnim po-
dacima (sl. 6.6). U radnom dijaloškom okviru Morphs/Show and Find (sl. 8.7) moµze
se vidjeti poloµzaj morfova unutar glavnog stabla, pregledavati µcvorove i prolaziti
kroz one koji su unutar tzv. prolaznog stabla (§8.6.1), prouµcavati statistiku morfova
te išµcitati vremena izvršavanja FM i TFM algoritama. Izlazni rezultat ovog modula
spomenuto je izvješće o SFA-modelu s parametrima (D; L; ), dobivenim za zadano
rašµclambeno stablo. Time je na†en temeljni -stroj sustava (§6.2.7).

8.1.3 Statistiµcki pogled na DSA program


Opći podaci o DSA programu saµzeti su u tablici 8.1.5 Broj klasa za ovu verziju usta-
biljio se na oko 50-ak i nije znaµcajno rastao od prvotne verzije. Uvedene su svega
tri-µcetiri nove klase, što potvr†uje dobro inicijalno planiranje strukture programa.
S druge strane, zahtjevi za novom funkcionalnošću programskih modula rezultirali
su porastom broja µclanskih varijabli i funkcija. Od oko 1450 napisanih funkcija,
njih oko 610 otpada na trivijalne – dobavljaµcke ili pristupniµcke (prema engl. get-
ters, odnosno accessors), ili postavljaju´ce funkcije (engl. setters). S pomoću njih je
uµcvršćeno naµcelo skrivanja informacije i pojaµcana nezavisnost izme†u klasa. Radi
povećanja brzine izvo†enja sve su ove jednostavne funkcije ostvarene kao ugradbene
(engl. inline), osim za rijetke iznimke kad povezivaµc to nije dozvoljavao.
Uoµcimo još da je vrlo veliki udio vremena — po slobodnoj procjeni oko 70% —
utrošen na prezentaciju podataka u gra…µckom suµcelju. Pretpostavi li se da je to
sporedni ili neznanstveni dio zadataka, jasno je zašto će većina znanstvenika za
matematiµcko modeliranje odabrati druge alate ili izostaviti gra…µcko suµcelje. Me†u-
tim, kao što smo već natuknuli, dobra prezentacija podataka daje povratnu kvalitetu
koja programeru pomaµze usavršiti korištene algoritme. Dobro predstavljeni rezultati
u fazi testiranja µcesto znaµce razliku izme†u uoµcavanja ili propuštanja problematiµcnih
mjesta u primijenjenim algoritmima. U fazi korištenja pak nam dobra prezentacija
podataka pomaµze da u dobivenim rezultatima lakše uoµcimo moµzebitne posebnosti te
da ih objasnimo na ispravan naµcin. To smo zaista iskusili i u nastajanju i u primjeni
5
Za binarne raµcunarske pre…kse u tablici i u cijelom radu koristimo jednoznaµcne IEC (Interna-
tional Electrotechnical Commission) kratice: 1 Ki = 210 , 1 Mi = 220 , 1 Gi = 230 , itd.
8. Programska implementacija 213

Ime programa (kratica) Dynamical Systems Automata (DSA)


Verzije: Ver. 1.0, 03.1999.; ver. 4.8, 10.2012.
Programski jezik: C++ (MS Visual C++).
Razvojna okolina: MS Visual Studio(C) (5, 6, 2005, 2010).
Raµcunalna platforma, OS: Wintel, Windows(C) 2000, XP, 7, 8, . . .
GUI temeljne klase: Microsoft Foundation Classes (MFC).
Veliµcina izvršnih (exe) datoteka
1. nestatiµcko (dll) povezivanje: debug 4 023 KiB, release 467 KiB .
(potrebne MFC dll datoteke) (mfc100, msvcr100, mfc100d, msvcr100d).dll
2. statiµcko povezivanje: debug 9 881 KiB, release 2 174 KiB .
Broj izvornih klasa: 48 .
Broj funkcija: netrivijalnih ' 840, ukupno ' 1450 .
Veliµcina kreiranog izvornog koda 3:2 MiB (na disku: 5:0 MiB),
(po µciš́cenju pomo´cnih datoteka): arhivirano: 820 KiB.
Veliµcina napisanog izvornog koda: Broj linija: ' 33500
Broj stranica: ' 650 (50 linija po str.)
Programerski rad 2800 programer h.
(ukupan do sadašnje verzije): 350 programer radni dan.
– od toga za prezent. podat. i GUI: 70%.

Tablica 8.1: Statistiµcki podaci o programu Dynamical Systems Automata (DSA). Kako se
program razvija i dobiva nove funkcionalne cjeline, tako se navedene vrijednosti mijenjaju
(uglavnom rastu). Binarni pre…ksi: Ki = 210 , Mi = 220 (prema IEC preporuci), B = bajt.

ovog programa, pa moµzemo reći da je veliki trud koji je uloµzen u realizaciju dobrog
i funkcionalnog gra…µckog suµcelja na koncu itekako opravdan.
Nakon prethodnog globalnog pogleda na DSA program, u sljedećim odjeljcima
ovog poglavlja podastiremo kljuµcne podatkovne strukture i algoritme iz programske
implementacije navedena tri modula. U saµzetijoj smo verziji to objavili u [47].

8.2 Simulacija dinamiµckih sustava i


mjerno-modelirajućeg kanala
Zadaća je poµcetnog, nultog modula našeg programa da podastre podatke o razvoju
dinamiµckog sustava, odnosno da iterira i binarno kodira toµcke njegove orbite. U
2. smo poglavlju već pokazali kako izgleda lista toµcaka orbite i na temelju nje kon-
struirani spletni dijagram sustava (sl.2.3 i 2.4). Ovdje ćemo se najprije pozabaviti
implementacijom dinamiµckih sustava i njihovom iteracijom, a potom i binarnom
izmjerom potrebnom za kreaciju binarnog vremenskog niza.
214 8. Programska implementacija

8.2.1 Iteracija dinamiµckih sustava


Osnovna funkcionalnost dinamiµckih sustava oklopljena je u apstraktnu temeljnu
klasu CDynSys1D (od engl. naziva Dynamical System — 1-Dimensional, uz predme-
tak C, uobiµcajen za klase izvedene od MFC klase CObject). Ova apstraktna klasa
realizirana je kroz dvije razine podklasa, od kojih su tri na višoj razini tako†er ap-
straktne (sl. 8.2). Od te tri, klase s ekstenzijama _0Par i _1Par ostvaruju zajedniµcku
funkcionalnost dinamiµckih sustava s nula, odnosno s jednim parametrom, dok ona s
dodatkom _RlRnd (od engl. Rule-based with Random generation) to µcini za sustave
zadane pravilom, u kojima se proizvoljni simboli generiraju (pseudo)sluµcajno. Druga
razina podklasa predstavlja konkretne klase u kojima je implementirana konkretna
iterativna funkcija xn+1 = F (xn ) pojedinog dinamiµckog sustava (§2.1).

Slika 8.2: Hijerarhija klasa dinamiµckih sustava. Apstraktne, bazne klase, podvuµcene su.
To su izvorna klasa CDynSys1D, u kojoj je ostvarena zajedniµcka funkcionalnost svih klasa,
te tri izvedene klase koje ostvaruju posebnosti podklasa. Nove konkretne klase mogu se
jednostavno dodavati uz prera†ivanje samo funkcije skupne iteracije.

Implementirani dinamiµcki sustavi jednodimenzionalni su i jednostavni za kodi-


ranje binarnim instrumentom. Sustavi zadani pravilom prikladni su za testiranje
programa, jer njihov SFA moµzemo rekonstruirati i na temelju zadanog regularnog
izraza, kao što smo to ilustrirali na primjeru sustava “nema uzastopnih nula”(§6.5).
Nelinearni kaotiµcni sustavi pak su implementirani radi izravnog prouµcavanja njihove
strukture [29, 21, 86]. Prihvat vanjskog vremenskog niza — sugeriran na slici 8.1 —
bit će organiziran kroz novu podklasu temeljne klase CDynSys1D. Za takav, vanjski
sustav, toµcke orbite ili njihove kodne zamjene bit će uµcitane izvana.
8. Programska implementacija 215

Da se postigne statistiµcka relevantnost rekonstruiranih modela, stablo treba na-


hraniti velikim brojem rijeµci iz vremenskog niza, što zahtijeva iteraciju velikog broja
toµcaka orbite sustava. Za hranidbu s Nw rijeµci duljine D moramo osigurati np
toµcaka orbite, gdje je np = ns Nw + D 1 [vidjeti izraz (6.42)]. U svim µcvorovima
glavnog stabla, pa tako i u njegovim listovima, valja ostvariti znaµcajnost izbrojaka.6
Kako broj listova u razgranatim stablima općenito raste eksponencijalno u D, u
praksi modeliranja pojavljuju se zahtjevi za brojem rijeµci i od 107 do 109 .
Pošto se glavno stablo nahrani odre†enim brojem rijeµci, odnosno — raµcunarskim
rjeµcnikom — pošto se te rijeµci rašµclane (parsiraju) kroz stablo te se inkrementiraju
izbrojci u njima odgovarajućim µcvorovima, toµcke orbite i njihove binarne kodne
zamjene koje de…niraju vremenski niz nisu nam više potrebne. To vodi na ideju da se
za njihovu pohranu realizira kruµzni spremnik (engl. circular bu¤er), koji će omogućiti
da se stablo nahrani proizvoljnim brojem toµcaka7 i da se prostorna kompleksnost
algoritama koji rade s toµckama orbite reducira na konstantu vrijednost, neovisnu o
broju rijeµci kojima treba nahraniti glavno stablo.
Da minimiziramo vrijeme izvršavanja algoritma iteracije, svaki je detalj u njegovu
dizajnu usmjeren prema ostvarenju najveća moguća brzine rada. Toµcke orbite, a
tako†er i njihove binarne izmjere (binarni vremenski niz), pohranjuju se u statiµcke
poretke (engl. static arrays). Oni su u svojim klasama deklarirani kao µclanske va-
rijable, koje se pohranjuju na stogu lokalnih varijabli i objekata. Po tome se oni
bitno razlikuju od dinamiµckih varijabli i objekata — kreiranih operatorom new —
koji se u tijeku izvo†enja programa pohranjuju na memorijsku hrpu (engl. heap
memory). Veliµcina poredaka odre†ena je brojem NCB;max elemenata odgovarajućeg
tipa: double za toµcke orbite, odnosno BYTE za vremenski niz.
Stvarnu veliµcinu kruµznog spremnika korisnik moµze slobodno mijenjati izborom
broja NCB , D NCB NCB;max . Naravno, zbog statiµcnosti poredaka, za promjenu
broja NCB;max nuµzna je nova kompilacija. To moµzemo smatrati malom µzrtvom za
dobrobit najbrµzeg mogućeg pristupa elementima poretka u jeziku C/C++. Sadašnji
izbor postavljen je na NCB;max = 2 Mi + 32 elemenata, što omogućuje (maksi-
malno) uµcinkovite kruµzne spremnike uz utrošak vrlo male memorije za današnja
raµcunala. Testiranje ponašanja algoritama iteracije i binarne izmjere za razliµcite
veliµcine kruµznog spremnika obavit ćemo u 8.2.5.
6
Izbrojak je broj uµcitanih rijeµci (podnizova) jednakih simboliµckom opisu promatranog µcvora u
binarnom stablu. Pojam je uveden u 6.5.5. Vidjeti tako†er implementaciju klase µcvora u 8.3.1.
7
Kao gornju granicu tog broja ipak moµzemo (ali i ne moramo) uzeti maksimalan broj (nepred-
znaµcenog) cjelobrojnog tipa koji ih pobrojava, što se npr. doga†a u korijenskom µcvoru.
216 8. Programska implementacija

Na podatkovnu strukturu kruµznog spremnika prirodno se nadovezuje koncept


skupne ili grupne iteracije (engl. batch iteration). Njome se cijeli kruµzni spremnik
napuni vrijednostima toµcaka orbite, bez obzira koliko je toµcaka (rijeµci) trenutno
potrebno za proces hranidbe. Obrazloµzenje je oµcito: ono što moµze izgledati kao
pretjerano kad je potreban mali broj toµcaka, isplatit će se kad treba izvršiti milijune
i milijarde iteracija. Za tako zahtjevne raµcune potrebno je broj poziva prema bilo
kojim sporednim funkcijama i drugim usporavajućim mehanizmima reducirati na
minimum. Kod suvremenih raµcunala organizirano je nekoliko razina priruµcne (engl.
cache) memorije koje sadrµze znaµcajne dijelove podataka i programskog koda te na
taj naµcin doprinose uµcinkovitosti skupne obrade. No pozivi drugih funkcija i dohvat
drugih podataka mogu uzrokovati uµcestalo korumpiranje sadrµzaja priruµcne memorije
te usporiti izvršavanje iteracije dinamiµckih sustava.
Funkcije temeljne klase CDynSys1D kojima se ostvaruje zajedniµcka funkcional-
nost skupne iteracije za sve izvedene podklase, prikazane su u ispisu 8.1.8 Funkcija
InitIteration postavlja kazaljku na poµcetak poretka toµcaka orbite tipa double,
resetira broj obavljenih skupnih iteracija na 0, a broj iteriranih toµcaka na 1, da se
uvaµzi sjemena toµcka iteracije. Ova i funkcija BatchIteration zajedno tvore funk-
ciju FirstBatchIteration, koja iteriranim toµckama puni kruµzni spremnik od njegova
poµcetka pa do kraja. Svaka sljedeća skupna iteracija mora se obaviti s pomoću funk-
cije RepeatBatchIteration, u kojoj pomoćna funkcija PrepBatchIterRepeat najpri-
je premješta posljednjih uStrl - 1 toµcaka kruµznog spremnika na njegov poµcetak. Tu
je uStrl varijabla tipa unsigned int (odnosno UINT) koja sadrµzi duljinu D rijeµci
koje će biti uµcitavane iz vremenskog niza. Premještanje toµcaka nuµzno je radi oµcu-
vanja kontinuiteta iteracije i slijednih simbola u nizu. Naredne iteracije obavlja
funkcija BatchIteration . Ona polazi od toµcke s indeksom uStrl - 2 kao sjemena
(uvaµzavajući C/C++ stil indeksacije od 0) te raµcuna preostale toµcke — od one s
indeksom uStrl - 1 do zadnje toµcke u kruµznom spremniku, s indeksom NCB 1.

Ispis 8.1 Funkcije temeljne klase CDynSys1D koje se rabe u skupnoj (grupnoj) ite-
raciji dinamiµckih sustava.

// DECLARATIONS
// Iteration initialization:
InitIteration(double x0);
8
Termin ispis, skraćenicu od ispis programskog koda, koristit ćemo za doslovni ili malo promije-
njeni dio ili cjelinu programskog koda, najµcešće pisan u nekom konkretnom programskom jeziku,
u našem sluµcaju u jeziku C++. Analogni engl. naziv je listing, od program code listing.
8. Programska implementacija 217

// Prepare the batch iteration repeat:


PrepBatchIterRepeat(UINT uStrl);
// The base class batch iteration, for common functionality:
BatchIteration(UINT uStrl);
// Declarations and implementations:
FirstBatchIteration()
{ InitIteration(); BatchIteration(2);}
RepeatBatchIteration(UINT uStrl)
{ PrepBatchIterRepeat(uStrl); BatchIteration(uStrl);}
// Comprehensive functions (see below):
DoABatchIterInclBI(bool bFrmLstPnt,UINT uStrl);
// Performs one batch iteration that calculates all the
// points in the circular buffer.
DoBatchItersInclBI(bool bFrmLstPnt, UINT uStrl, UINT uNBIt);
// Performs uNBIt iterations, refilling the
// circular buffer each time.

Implementacija preostalih funkcija, koje nisu implementirane odmah kod objave,


dana je u prilogu L.2. Uz sugestivne nazive varijabli i pomoćnih funkcija te uz po-
moć komentara µcitatelj moµze lako pratiti njihove jednostavne zadaće. Za ovdje smo
izdvojili funkciju DoABatchIterIncldBI (ispis 8.2), koja obavlja jednu skupnu ite-
raciju i puni kruµzne spremnike toµcaka orbite i binarne izmjere (vremenskog niza)
te omogućuje hranidbu glavnog stabla s novih NCB D + 1 rijeµci. Ako nije bilo
prethodnih skupnih iteracija ili ako je iskljuµcena opcija nastavljanja iteracije iz zad-
nje iterirane toµcke, izvršava se funkcija FirstBatchIteration. Inaµce se priprema
nastavak iteracije i koristi funkcija BatchIteration. U funkciji je ilustrirano i mje-
renje vremena izvršavanja iteracije s pomoću objekta klase CHRTimer, koji vrijeme
odre†uje brojanjem ciklusa procesora. Nakon skupne iteracije obavlja se binarna
izmjera na objektu klase CBinInstrument, dohvaćenom preko kazaljke pBI, o µcemu
će biti rijeµci u sljedećem pododjeljku.

Ispis 8.2 Jednostruka skupna iteracija (bilo prva, bilo kasnija), koja ukljuµcuje bi-
narnu izmjeru. Funkcija ilustrira mjerenje vremena izvršavanja s pomo´cu objekta
CHRTimer klase. Lokalne varijable koje pohranjuju izmjereno vrijeme i broj iteracija
obnavljaju se uporabom UpdateFeedTmAndNStrFed1 funkcije.
UINT CDynSys1D::DoABatchIterInclBI(CBinInstrument* pBI,
bool bFrmLastPnt, UINT uStrl)
{
UINT uNItr;
CHRTimer hrTimer; // Object of class CHRTimer, for time measurement.
218 8. Programska implementacija

double dtsDur; // Temporary run time.


if( m_uNBtItrDone == 0 jj !bFrmLastPnt )
{
hrTimer.StartTimer();
uNItr = FirstBatchIteration();
dtsDur = hrTimer.StopTimer();
}
else
{
hrTimer.StartTimer();
PrepBatchIterRepeat(uStrl);
uNItr = BatchIteration(uStrl);
dtsDur = hrTimer.StopTimer();
}
// Update the member variables for storing of the run time of
// the iteration functions:
UpdateFeedTmAndNStrFed1(dtsDur, uNItr, m_dPtItrTm1, m_uNPtItrtdTm1,
m_dPtItrTm2, m_uNPtItrtdTm2);
if(m_bInclBinInstr) // Binary measurements (coding)
pBI->BinMeasurements(this); // of orbit points.
return uNItr;
}

Za primjer konkretizacije osnovne funkcije BatchIteration — kojoj je u baznoj


klasi dana tek zajedniµcka funkcionalnost, bez iteracije toµcaka — dajemo njezine pre-
rade (engl. override) za dva dinamiµckih sustava. Prvi je logistiµcko preslikavanje
(§2.1) sa skupnom iteracijom navedenom u ispisu 8.3, a drugi je naš standardni
testni sustav, “nema uzastopnih nula” (§6.5, 6.7), µciju skupnu iteraciju daje ispis
8.4. Raµcunajući na prepoznatljivost sintakse jezika C++, iz funkcija zapisanih u
njemu lako ćemo išµcitavati suštinu algoritama koje one implementiraju. Stoga ćemo
takav, izravan, prikaz algoritama koristiti diljem ovog poglavlja.
U funkciji BatchIteration za logistiµcko preslikavanje, prvi argument dPar pred-
stavlja jedinstveni parametar dinamiµckog sustava, karakteristiµcan za cijelu nadklasu
CDynSys1D_1Par. Drugi je parametar duljina rijeµci koje izluµcujemo iz vremenskog
niza. Dobavljaµcka funkcija Getpdx vraća kazaljku na poredak toµcaka orbite dx[ ],
dok GetuNArrPts vraća broj elemenata kruµznog spremnika. Nakon ovih priprema,
kritiµcni, iteracijski dio koda svodi se na jednostavnu for petlju s najjednostavnijom
i najbrµzom mogućom realizacijom funkcije iteracije. Pristup elementima poretka
ostvaren je dereferenciranjem kazaljki. Unutar petlje nema poziva funkcija niti
nepotrebnih opetovanih radnji. Stoga je gornja granica poretka odmah pohranjena
8. Programska implementacija 219

u lokalnu kazaljku p1. Pošto su u for petlji izraµcunane sve toµcke, poziva se glavna
funkcija koja obavlja zajedniµcke poslove, kao što su biljeµzenje ukupnog broja do
sada iteriranih toµcaka, brojanje obavljenih skupnih iteracija i odra†ivanje potvrdnih
(engl. assert) funkcija u ispravljaµckoj (engl. debug) verziji programa.

Ispis 8.3 Deklaracija funkcije iteracije logistiµckog preslikavanja unutar konkretne


klase CDS1D1P_LogisticMap i njezina implementacija.
class CDS1D1P_LogisticMap : public CDynSys1D_1Par
{
// The concrete class implementation:
// ...
void BatchIteration(double dPar, UINT uStrl);
// ...
}

void CDS1D1P_LogisticMap::BatchIteration(double dPar, UINT uStrl)


{
_ASSERT( uStrl >= 1);
if(uStrl == 1) uStrl++;
double* p = Getpdx() + uStrl - 1;
double* p1 = Getpdx()+ GetuNArrPts();
double x;
for (; p < p1; p++)
{
x = *(p - 1);
*p = dPar*x*(1.0 - x);
}
CDynSys1D::BatchIteration(uStrl);
}

Drugi je primjer prerada funkcije BatchIteration za NCZ sustav, obavljena u


njegovoj klasi CDS1DRR_NoConsec0s (ispis 8.4). U funkciji se na poµcetku objavljuju
lokalne konstante koje sluµze pri normalizaciji sluµcajno generiranih brojeva. Potom se
prelazi na iteraciju sljedeće toµcke prema regularnom izrazu sustava, (0 + e) (1 + 10) .
Podsjetimo se, u “SFA-interpretaciji”regularnih izraza znak ’+’ oznaµcava jednaku
vjerojatnost odabira lijevog i desnog operanda, tj. njihov nasumiµcan izbor (vidjeti
5.3 i kraj pododjeljka 5.4.3). Stoga ćemo toµcke orbite ovih sustava dobivati normira-
njem brojeva dobivenih iz generatora pseudosluµcajnih brojeva (engl. pseudorandom
number generator, PRNG)9 na jedinicu. Kao generator sluµcajnih brojeva rabimo
9
Jasno je da brojevi generirani algoritamskim putem ne mogu biti potpuno sluµcajni. Stoga
ćemo, kad je to jasno iz konteksta, odrednicu “pseudo”µcesto ispuštati.
220 8. Programska implementacija

funkciju rand iz standardne C/C++ biblioteke našeg programskog okruµzenja. Ova


se funkcija zasniva na linearno sukladnom generatoru pseudosluµcajnih brojeva (LCG,
od engl. Linear Congruential Generator) i generira cijele brojeve u rasponu od 0 do
RAND_MAX = 7FFFh [74]. Funkcija je vrlo jednostavna i raµcunarski se moµze uµcinkovito
implementirati. Iako je statistiµcki gledano nezadovoljavajuća za zahtjevne simulacije,
nama je zbog potrebe iteracije 109 i više toµcaka njezina odluµcujuća prednost bila
brzina, posebice u razvojnoj fazi. Neke posljedice njezinih mana već smo uoµcili u
6.7 (sl. 6.7), a diskutirat ćemo ih i u 9.1.1 (detalji u prilozima H.2, H.3).
Za sve nasljednice klase BCDynSys1D_RlRnd, pa tako i za ovu klasu, logiµcna je
teorijska pretpostavka da su toµcke njihovih orbita unutar jediniµcnog intervala: xn 2
[0; 1] . Ako umjesto obostrano zatvorenog intervala zahtijevamo zdesna otvoreni
interval i tako iskljuµcimo mogućnost da toµcka poprimi vrijednost 1, dobivamo kon-
zistentniju raspodjelu dobivenih sluµcajnih brojeva i njihovu bolju kasniju preraspo-
djelu na dva dijela kod binarnog kodiranja. Stoga za toµcke orbite postavljamo:

xn 2 [0; 1) ; n = 0; 1; 2; : : : : (8.1)

Otvorenu gornju granicu xn < 1 postiµzemo tako da normiranje brojeva koje vraća
funkcija rand ne obavljamo izravno njezinim maksimalnim rezultatom RAND_MAX ,
već brojem dNorm koji je za (malu) konstantu cdSmall1 = 1.0e-10 veći od njega
(vidjeti linije 11 i 12 u ispisu 8.4).
Prije poziva funkcije rand, s pomoću funkcije srand inicijalizira se sjemena
toµcka. To je organizirano u preradi µclanske funkcije InitIteration , u nadklasi
CDynSys1D_RlRnd, pošto se s pomoću funkcije CDynSys1D::InitIteration odradi
inicijalizacija iteracije zajedniµcka svim klasama.
Ostatak algoritma moµze se pratiti iz priloµzenog programskog koda. Uoµcimo kako
algoritam osigurava konzistenciju slijednih toµcaka bez suvišnog pozivanja funkcije
generatora sluµcajnih brojeva, tj. kako se iz njega dobivene vrijednosti uvijek na
koncu iskoriste. Propuštanje uporabe već generiranih sluµcajnih brojeva po bilo kojem
kriteriju pogoršalo bi njihovu distribuciju, koja je ionako daleko od idealne. Uvjet
za ostanak u while petlji nije postavljen za zadnju toµcku, već za predzadnju, jer se
prema pravilu sustava u svakoj iteraciji moµze dodati jedan ili dva znaka. Stoga se
na kraju provjerava treba li ili ne popuniti još i tu završnu toµcku.

Ispis 8.4 Funkcija iteracije za sustav “nema uzastopnih nula” (skra´cena inaµcica).
Implementacija slijedi regularan izraz sustava, (0 + e) (1 + 10) : generiraj nula ili
ništa, a potom niz u kojem se pojavljuje ili 1 ili 10.
8. Programska implementacija 221

void CDS1DRR_NoConsec0s::BatchIteration(UINT uStrl)


{
// Regular expression: (0 + e)(1 + 10)*
_ASSERT( uStrl >= 1);
if(uStrl == 1) uStrl++;
const double cd05 = 0.5;
const double cd20 = 2.0;
double* p = Getpdx() + uStrl - 1;
double* p1 = Getpdx()+ GetuNArrPts();
double* p1m1 = p1 - 1;
double dNorm = RAND_MAX + cdSmall1; // Glob.const. cdSmall1 = 1.e-10.
double d2Norm = 2.0 * RAND_MAX + cdSmall1;
double dx = *(p - 1); // The value of the previous point.
// (The seed is initialized by InitIteration function).
// If the previous point (seed) is to be encoded as 1, this is al-
if(dx >= cd05) // ready the 2nd parenthesis of
{ // the regular expression:
dx = double(rand())/dNorm; // Generate a point within [0, 1),
if(dx < cd05) *(p++) = dx; // and use it if it gives a 0.
}
// Iteration of the 2nd parenthesis in the regular expression:
while(p < p1m1)
{
if(dx >= cd05 ) // The previous random point (symbol 1)
*(p++) = dx; // stayed unused -- so use it here!
else // Generate a point that will be encoded as 1:
*(p++) = cd05 + double(rand())/d2Norm;
dx = double(rand())/dNorm; // Generate a point within [0, 1).
if(dx < cd05) // If it gives a 0, add it after the previous
*(p++) = dx; // point (1) to get the second term, 10.
}
// If only one symbol was generated in the last iter., add a point
if(p < p1) *p++ = cd05 + double(rand())/d2Norm; // from [0.5, 1).
// Call the base class function to perform the common tasks:
CDynSys1D::BatchIteration(uStrl);
}

U maloj digresiji od analize programskog koda primijetimo da iako je iteracija za


sustave zadane pravilom mnogo sloµzenija nego za kvadratiµcne funkcije, za bogatstvo
i sloµzenost fenomena koje ti dinamiµcki sustavi proizvode vrijedi upravo suprotno.
U kvadratnim se preslikavanjima jednostavnim variranjem iznosa njihova parametra
dobiva cijela paleta raznovrsnih orbita i pripadnih im atraktora — od trivijalnih
…ksnih toµcaka, preko periodiµcnih orbita stalnog perioda, do sloµzenih kombinacija
pravila i stohastiµcnosti te potpune kaotiµcnosti (§1.1.1, 2.1, sl. 2.2, [29, 48]).
222 8. Programska implementacija

8.2.2 Implementacija vjerojatnosne pristranosti


Jednostavnosti radi, u ispisu 8.4 funkcije BatchIteration ispušten je dio u kojem
je implementirana vjerojatnosna pristranost (engl. probability bias). S pomoću nje u
funkcijama skupne iteracije sustava zadanih pravilom simuliramo nepošten novµcić.
Za iznos pristranosti uvodimo parametar pb 2 [0; 1], takav da pb = 1=2 oznaµca-
va pošteni, a pb 6= 1=2 nepošteni, novµcić. Linearnu vjerojatnosnu (ne)pristranost
precizira sljedeća de…nicija, u kojoj za sluµcajno i identiµcno raspodijeljenu (engl. in-
dependent and identically distributed) varijablu koristimo kraticu i.i.d.

De…nicija 8.1 Sluµcajna varijabla x0 2 [0; 1] raspodijeljena je naspram toµcke xb ,


0 xb < 1, s linearnom vjerojatnosnom pristranosti pb = pb (xb ), ako i samo ako je
ona i.i.d. u svakom od podintervala [0; xb ) i [xb ; 1] zasebno, pri µcemu vrijedi

pb = pb (xb ) = Pr ( x0 2 [0; xb ) ) : (8.2)

Za pb = 1=2 varijabla je vjerojatnosno nepristrano raspodijeljena naspram xb .


Napomena 1. Kao i u 2.2.1, ovdje i u daljnjem teorijskom izlaganju koristimo puni
jediniµcni interval [0; 1]. U praksi programiranja zadrµzat ćemo dogovor iz (8.1).
Gornja je de…nicija motivirana sljedećom jednostavnom pretpostavkom: ako će
toµcke x0n , n 2 N+ 0 , dobivene iz sluµcajnog izvora brojeva s parametrom pristra-
nosti pb , biti mjerene i kodirane binarnim instrumentom s toµckom diskriminacije
xBI = xb (vidjeti sljedeći pododjeljak), tada je vjerojatnost primanja znaka 0
upravo pb (xb ), a vjerojatnost primanja znaka 1 jest 1 pb (xb ) . Dakle, umjesto
ravnomjerne (uniformne) distribucije, gustoće vjerojatnosti 1=1 preko cijelog inter-
vala, dobivamo lijevi i desni podinterval s uniformnim gustoćama vjerojatnosti pb =xb
i (1 pb ) = (1 xb ) , koje su razliµcite od 1 za pb 6= xb .
Nepristrana raspodjela sluµcajne varijable, odre†ena s pb = 1=2, dobiva se za bilo
koji xb , 0 < xb < 1, uz gustoću vjerojatnosti 1=2xb lijevog, odnosno 1=2 (1 xb )
desnog, podintervala. Primjerice, uz xb = 1=4 one iznose 2, odnosno 2=3 . Naravno,
ako su te gustoće jednake, nepristrana se raspodjela dobiva jedino uz xb = 1=2 . Ta
je vrijednost logiµcan prvi izbor diskriminirajuće toµcke za sustave zadane pravilom,
a poklapa se i s kritiµcnom toµckom logistiµckog preslikavanja (§2.2.1).
Da iz uobiµcajene ravnomjerne raspodjele po cijelom jediniµcnom intervalu I =
[0; 1] ostvarimo linearnu vjerojatnosnu pristranost pb naspram toµcke xb po de…ni-
ciji 8.1, koristimo linearnu transformaciju opisanu u sljedećoj lemi. Lema odmah
sadrµzi i inverznu transformaciju.
8. Programska implementacija 223

Lema 8.1 Neka je x0 2 [0; 1] sluµcajna varijabla raspodijeljena naspram xb s vjero-


jatnosnom pristranosti pb = pb (xb ), 0 < xb < 1, 0 < pb < 1, i neka je x 2 [0; 1]
sluµcajna i.i.d. varijabla. Tada vrijede sljede´ce, me†usobno inverzne, transformacije:

(
xb
x; 0 x < pb ;
x0 = pb
1 xb
(8.3a)
xb + 1 pb
(x pb ) ; p b x 1:
(
pb
xb
x0 ; 0 x0 < xb ;
x = 1 pb
(8.3b)
pb + 1 xb
(x0 xb ) ; x b x0 1 :
Dokaz. (a) x je i.i.d. sluµcajna varijabla iz jediniµcnog intervala (dobivena npr.
iz generatora sluµcajnih brojeva i normirana na jedinicu, pa je Pr ( x 2 [0; pb ) ) = pb .
Dakle, vjerojatnost da se pojavi broj x iz intervala 0 x < pb upravo je pb . Da
dobijemo vjerojatnosnu pristranost pb po de…niciji 8.1, taj se interval duljine pb
mora normirati na duljinu xb lijevog podintervala [0; xb ) . Zato svaki broj x prenor-
maliziramo dijeljenjem s omjerom pb =xb , odakle slijedi gornja transformacija. Za
donji interval i.i.d. varijable x vrijedi: Pr ( x 2 [pb ; 1] ) = 1 pb . Za x iz tog intervala
µzelimo postići da to budu brojevi koji popunjavaju desni podintervalu [xb ; 1] veliµcine
1 xb , koji poµcinje iz toµcke xb . Otuda slijedi donja transformacija u (8.3a).
(b) Obrnuta transformacija slijedi lakim raµcunom iz (a), jednako kao i pripadni
uvjeti na x0 . Iz ove transformacije sada lako provjeravamo da vaµze poµcetni uvjeti
leme i uvjet normiranosti vjerojatnosne mjere:
pb
Pr (x 2 [0; xb )) = xb = x0b = x0b = pb ; (8.4a)
xb
Pr (x 2 [xb ; 1]) = 1 xb = 1 pb ; (8.4b)
Pr (x 2 [0; 1]) = pb + 1 pb = 1 : (8.4c)

Potpune funkcije skupne iteracije za sustave zadane pravilom obraµcunavaju i


vjerojatnosnu pristranost pb , koristeći transformaciju (8.3a) uz xb = 1=2 . Za Ber-
noullijev niz i za NCZ sustav one su prikazane u ispisima L.2 i L.3 (prilog L).
Općenito su te funkcije implementirane u dva dijela: (i) pojednostavljeni dio za
pb = 1=2, istovjetan onom bez vjerojatnosne pristranosti (za NCZ sustav ispis 8.4),
te (ii) dio koji ostvaruje vjerojatnosnu pristranost za pb 6= 1=2 . U svom drugom
dijelu funkcije slijede logiku tvorbe simbola kao i u prvom, ali uz modi…kacije koje su
nuµzne da se ostvari µzeljena asimetrija vjerojatnosti pojavljivanja simbola. Podjela
je napravljena zato da se u petlji iteracije izbjegne stalno provjeravanje parametra
vjerojatnosne pristranosti i da se time ubrza rad ovih funkcija.
224 8. Programska implementacija

8.2.3 Algoritam binarne izmjere


Binarno kodiranje toµcaka orbite uvedeno je u odjeljku 2.2.1, a potom opisano kroz
pojam binarnog mjernog instrumenta u pogl. 3. Njegovu funkciju rezimiramo na
sljedeći naµcin: (
0 ; x 2 [0; xBI ) ;
FBI (x) = (8.5)
1 ; x 2 [xBI ; 1) ;
gdje smo uvaµzili da je gornja granica intervala otvorena, u skladu s (8.1). xBI 2 [0; 1)
diskriminacijska je ili baµzdarna toµcka binarnog instrumenta (§8.2.3). Ta se toµcka —
radi ostvarenja zahtjeva generirajuće particije (§2.2.5) — uobiµcajeno postavlja na
vrijednost kritiµcne toµcke sustava, xBI = xc . Nova inaµcica DSA programa omogućuje
njezino pomicanje u svrhu simuliranja procesa ugodbe instrumenta (§3.4) i eksperi-
mentiranja.10 Za sustave nasljednike gore opisane klase CDynSys1D_RlRnd standardni
je poloµzaj vezan uz njihovu “kritiµcnu toµcku”: xBI = xc = 0:5. Pomicanjem xBI
na druge vrijednosti moµzemo npr. traµziti poloµzaj u kojem se kompenzira vjerojatno-
sna pristranost opisana parametrom pb 6= 0:5, xb 6= pb , razmatrana u prethodnom
pododjeljku. O tome govori sljedeća lema.
Lema 8.2 Neka je x0 2 [0; 1] sluµcajna varijabla raspodijeljena uz vjerojatnosnu
pristranost pb (xb ) = pb , 0 < pb < 1, za diskriminacijsku toµcku xb , 0 < xb < 1 .
Tada proizvoljnu vjerojatnost p^b = Pr (x 2 [0; x^b )), 1 p^b = Pr (x 2 [^
xb ; 1]), 0
p^b 1, dobivamo za diskriminacijsku toµcku x^b , 0 x^b 1,
(
xb
p^ ;
pb b
0 p^b < pb ;
x^b = 1 xb
(8.6)
xb + 1 pb (^
pb pb ) ; pb p^b 1 :

Ovo je ekvivalentno primjeni transformacije (8.3a) uz x = p^b , x0 = x^b .


Dokaz. Prema de…niciji vjerojatnosne pristranosti 8.1 Pr (x0 2 [0; xb )) = pb , pa
za 0 p^b < pb vrijedi da korigirana diskriminacijska toµcka x^b mora biti lijevo od
sadašnje, tj. x^b < xb . U intervalu [0; xb ) gustoća vjerojatnosti je pb =xb , pa da od
nule do toµcke x^b ostvarimo µzeljenu ukupnu vjerojatnost od p^b , mora vrijediti:
pb xb
x^b = p^b ; x^b = p^b : (8.7a)
xb pb
Ako je pb p^b 1, tada vrijedi Pr (x0 2 [xb ; 1]) = 1 pb . Korigirana diskrimi-
nacijska toµcka x^b mora pasti desno od xb (ili se poklopiti s njome), tj. mora biti u
desnom podintervalu gustoće vjerojatnosti (1 pb ) = (1 xb ) . Da ostvarimo µzeljenu
10
Vidjeti primjer promjene perioda niza generiranog iz sustava logistiµckog preslikavanja u 7.4.2.
8. Programska implementacija 225

vjerojatnost od 1 p^b mora vrijediti


1 pb
(1 x^b ) = 1 p^b : (8.7b)
1 xb
Odavde slijedi da je
1 xb 1 xb
x^b = p^b + 1 : (8.7c)
1 pb 1 pb
Jedinicu s desne strane raspisujemo kao 1 = xb +1 xb i odavde 1 xb zbrajamo
sa zadnjim razlomkom. Nakon sre†ivanja dobiva se
1 xb
x^b = xb + (^
pb pb ) : (8.7d)
1 pb
Alternativni je put raspis vjerojatnosti do µzeljene toµcke p^b slijeva, preko cijelog
lijevog podintervala i dijela desnog, s općenito razliµcitim gustoćama vjerojatnosti.
Do toµcke xb gustoća je vjerojatnosti pb =xb , jer je pb po de…niciji ukupna vjerojatnost
do xb . Od te toµcke do x^b gustoća vjerojatnosti jest (1 pb ) = (1 xb ) . Zbroj ovih
dviju vjerojatnosti mora biti jednak µzeljenoj vjerojatnosti p^b , što pišemo kao
pb 1 xb
xb + (^xb xb ) = p^b : (8.7e)
xb 1 pb
Iz ovog se izraza lakim sre†ivanjem ponovo dobiva (8.7d), µcime je tvrdnja leme
dokazana.
Dakle, µzeli li modelar ostvariti neku drugu, p^b vjerojatnost simbola s0 = 0, svoj
instrument treba ugoditi na xBI = x^b (xb ; pb ; p^b ) . Na primjer, za sluµcajnu varijablu
koja je i.i.d. duµz cijelog intervala [0; 1] vrijedi pb = xb , što daje oµcekivani rezultat:
xBI = x^b = p^b . Drugi, općenitiji, primjer dan je u prilogu H.2.3.
Binarna izmjera i kodiranje prema izrazu (8.5) ostvareno je jednostavnom funk-
cijom BinMeasurement, uklopljenom u klasi CBinInstrument. Funkcija se rabi u gore
spomenutim sveobuhvatnim funkcijama DoABatchIterIncldBI (ispis 8.2) i DoBatch
ItersIncldBI (ispis L.1), odmah po skupnoj iteraciji. Izmjera se, kao i iteracija,
obavlja u grupnoj maniri — za sve toµcke kruµznog spremnika odjednom. Kruµzni
spremnik implementiran je s pomoću poretka bajtova (Visual C++ speci…µcni tip
BYTE, srodan cjelobrojnom tipu char), koji je deklariran kao µclanska varijabla
navedene klase. Pošto se binarna izmjera obavi i kruµzni spremnik binarnog instru-
menta ispuni znamenkama 0 i 1, formirali smo binarni vremenski niz koji je spre-
man za daljnju analizu (def. 2.16). Njegov kontinuitet po opetovanim skupnim ite-
racijama osigurava ranije spomenuta funkcija RepeatBatchIteration , dok funkcija
BinMeasurement samo obavlja kodiranje. Konaµcni je rezultat mogućnost izluµcivanja
(µcitanja) rijeµci zadane duljine D iz proizvoljno dugaµckog vremenskog niza.
226 8. Programska implementacija

8.2.4 Sloµzenost iteracijskih algoritama


Pošto smo prodiskutirali organizaciju iteracijskih algoritama u našem programu,
a za one vaµznije i zanimljivije prikazali i njihovu implementaciju, u ovom ćemo
pododjeljku proanalizirati njihovu prostorno-vremensku sloµzenost (engl. space-time
complexity). Uvodimo kraće oznake funkcija prostorne i vremenske sloµzenosti:

fSP ACE (n) = S (n) ; fT IM E (n) = T (n) : (8.8)

U poµcetnom su modulu oba kljuµcna algoritma — onaj za izraµcun toµcaka orbite


i onaj za njihovo* binarno kodiranje — jednostavne algoritamske iteracije (IT ), s
vremenskom sloµzenosti TIT (np ) koja je linearna u broju toµcaka np :

TIT (np ) = tIT 1 np + trD (np =NCB ) + tIT 0 = O (np ) : (8.9)

Konstanta tIT 1 ispred linearnog µclana u np vrijeme je potrebno da se izraµcuna


jedna iteracija, a tIT 0 pripremno je vrijeme potrebno da se organizira prva skupna
iteracija. np =NCB jest cjelobrojno dijeljenje µciji je rezultat k za kNCB np
(k + 1) NCB , k = 0; 1; 2; : : : . O (n) standardna je O-notacija (veliko O-notacija,
engl big oh-notation), kojom opisujemo gornju granicu reda veliµcine neke funkcije
u argumentu n [2, 39]. Kao što se podrazumijeva, nju ćemo spuštati na najniµzu
korektnu vrijednost.
Ukupno se mora odraditi k + 1 novih skupnih iteracija, jer se uvijek izraµcunava
svih NCB toµcaka kruµznog spremnika. Konstanta trD oznaµcava vrijeme potrebno
da funkcija PrepBatchIterRepeat pripremi svaku sljedeću iteraciju poslije prve, tj.
vrijeme potrebno da se D 1 toµcaka preseli s kraja na poµcetak kruµznog spremnika.
Ona ovisi o duljini rijeµci kao trD = tr (D 1), gdje je tr vremenska konstanta za
premještaj jedne toµcke. Moµzemo oµcekivati da je tr < tIT 1 . Kad je np =NCB 1,
cjelobrojno dijeljenje u (8.9) moµze se aproksimirati standardnim razlomkom, pa taj
izraz prelazi u
tr (D 1)
TIT (np ) tIT 1 + np + tIT 0 = O (np ) : (8.10)
NCB
U konstantu tIT 0 uraµcunat ćemo vrijeme utrošeno za poziv i izvo†enje priprem-
nih i pomoćnih funkcija iz klasa pretkinja, koje se sve izvrše samo jednom, prije ili
poslije grupne iteracije. To vrijeme moµzemo ignorirati za np 1, te posebice za
np NCB 1 . Tako†er, drugi µclan u zagradi moµzemo zanemariti za D NCB ,
što pak je uvjet uµcinkovitog kruµznog spremnika. Primjerice, za spremnik s np 1 Mi
8. Programska implementacija 227

toµcaka i duljinu rijeµci od D = 16, nakon izraµcunavanja 1 Mi iteracija 15 se toµcaka


premjesti s kraja na poµcetak spremnika (vidjeti tablicu 8.2 i diskusiju prije nje).
Vremenska sloµzenost TIT (np ) iteracije ome†ena je odozdo samom prirodom al-
goritma, tj. izraµcunom nove iz posljednje odre†ene toµcke. Budući da je sloµzenost
linearna, ona je prihvatljiva. Naši programerski zahtjevi opisani u prethodnim pod-
odjeljcima ovdje su bili usmjereni k osiguranju pune funkcionalnosti iteracija za opće-
nito razliµcite tipove 1D dinamiµckih sustava uz minimalno ponavljanje programskog
koda i postignuće najkraćih vremenskih konstanata t . Takva poboljšanja — u kon-
stantnim faktorima — ne oµcituju se u O-notaciji. Mala o-notacija f (n) = o (g (n))
dodatno zahtijeva da je
f (n)
lim = =0; (8.11)
n!1 g (n)
što se kod polinomskih funkcija svodi na provjeru jednakosti konstantnog faktora
ispred vodećih µclanova funkcija f (n) i g (n) [12]. U našem je sluµcaju tIT 1 kljuµcan
za veliki broj iteracija, tako da da je

TIT (np ) = o (tIT 1 np ) : (8.12)

Glede prostorne kompleksnosti, uporabom kruµznog spremnika postigli smo naj-


niµzi mogući red veliµcine. Oznaµcimo li s sp veliµcinu memorije potrebne za pohranu
jedne toµcke orbite te s svr veliµcinu tipiµcne pomoćne varijable, iteracijski je prostor

SIT (np ) = sp NCB;max + svr NLoc:V ar: = O (1) : (8.13)

Ovdje broj lokalnih i pomoćnih varijabli NLoc:V ar: moµze biti zanemaren. Zahtjev
NCB D traµzi kruµzni spremnik koji je relativno velik, ali neovisan o broju iteriranih
toµcaka. Na primjer, uz NCB = 1 Mi elemenata po spremniku, za oba će se utrošiti
oko 9 MiB memorije, što je za današnja raµcunala malen iznos.

8.2.5 Rezultati mjerenja vremena za skupne iteracije


Mjerenja vremena za skupne iteracije uz razliµcite veliµcine kruµznih spremnika pri-
kazane su u tablici 8.2.11 Uoµcljiva je velika neuµcinkovitost (pre)malih spremnika,
za što je vrijednost NCB = 30 drastiµcni primjer. Povećanjem spremnika s 40 na
400 elemenata logistiµckom je preslikavanju brzina porasla 5:5 puta. Kod algoritam-
ski zahtjevnije — iteracijske funkcije sustava “nema uzastopnih nula”— na reµzijsko
11
Za detaljnije razmatranje toµcnosti ovih rezultata i općenito za problematiku mjerenja vremena
u okruµzenju višezadaćnog operacijskog sustava vidjeti diskusiju u pododjeljku 8.3.4.
228 8. Programska implementacija

D = 20 ; Npts 106 Logist. presl. NCZ


NCB NBt:Iter: np t=s npt = s t=s npt = s
30 90910 1000028 285. 0.285 337. 0.337
40 47620 1000038 152. 0.152 211. 0.211
50 32259 1000047 111. 0.111 165. 0.165
80 16394 1000052 65.4 0.0654 118. 0.117
100 12346 1000044 54.3 0.0543 106. 0.106
200 5525 1000043 35.2 0.0352 85.5 0.0855
400 2625 1000143 27.4 0.0274 77.4 0.0774
1000 1020 1000638 23.1 0.0231 73.2 0.0731
2000 505 1000423 21.3 0.0213 71.6 0.0716
10000 101 1008099 20.5 0.0203 70.6 0.0700

Tablica 8.2: Vremena izvo†enja skupnih iteracija za sustav logistiµckog preslikavanja


(proizvoljnog kontrolnog parametra) i za sustav “nema uzastopnih nula”(NCZ). Legenda:
D = duljina rijeµci koje se izluµcuju iz vremenskog niza, NCB = veliµcina kruµznog spremnika,
NBt:Iter: = minimalan broj skupnih iteracija potreban da se izraµcuna najmanje 106 toµcaka
orbite, np = sveukupan broj izraµcunanih (iteriranih) toµcaka, t=s = vrijeme izvršavanja
u sekundama, ( t=np ) = s = prosjeµcno vrijeme iteracije po toµcki u mikrosekundama.

vrijeme za organizaciju spremnika otpada relativno manji udio, tako da se za isto


povećanje spremnika dobiva ubrzanje od 2:7 puta.
Iz dobivenih rezultata moµzemo zakljuµciti na sljedeće okvirno pravilo: uz uporabu
spremnika veliµcine 10 puta veće od duljine rijeµci postiµze se znaµcajno poboljšanje u
brzini iteracije, a uz spremnik koji je 100 puta veći postiµze se već gotovo maksimalna
uµcinkovitost. Daljnja povećanja veliµcine spremnika ne utjeµcu znaµcajno na brzinu
algoritma.
Vremenska i prostorna sloµzenost algoritama TBI (np ) i SBI (np ) za binarnu iz-
mjeru potpuno su analogna vrijednostima u (8.10), odnosno (8.13), ali s manjim
vremenskim i prostornim konstantama. Ukupni utrošak vremena i prostora za si-
mulaciju sustava i pripremu vremenskog niza suma je sloµzenosti za iteraciju i za
binarnu izmjeru:

TIT +BI (np ) = TIT (np ) + TBI (np ) = O (np ) ; (8.14a)


SIT +BI (np ) = SIT (np ) + SBI (np ) = O (1) : (8.14b)

Mjerenja vremena izvršavanja skupne iteracije i binarnog kodiranja kao funkcije


broja Nw rijeµci prikazane su u tablici 8.3 u sljedećem odjeljku (zajedno s vremenima
potrebnim za hranidbu stabla). Vidljivo je da su ta vremena po jednoj rijeµci ( t=Nw )
konstantna. Kako za D np vrijedi da je Nw np , to potvr†uju i rezultati u
8. Programska implementacija 229

prethodnoj tablici za NCB ' 1000, pa izraz (8.14a) moµzemo napisati i kao

TIT +BI (np ) TIT +BI (Nw ) = O (Nw ) ; D np : (8.15)

8.3 Struktura stabla i hranidba


Iz izlaganja u prijašnjim poglavljima jasno je da će okosnica programske imple-
mentacije ovog rada biti struktura binarnog stabla. Podsjetimo se, radi se o speci-
…µcnom binarnom - stablu, µcija je teorija izloµzena u prilogu A. Tri su klase stabala,
s me†uodnosom de…niranim u ispisu 8.5 i prikazanim na slici 8.3. Operativno ime
izvedeno je iz engleskog naziva Automata Binary Tree, kojim naglašavamo da se radi
o binarnom -stablu.

Slika 8.3: Hijerarhija klasa binarnih -stabala izvedenih iz temeljne klase CABinTree .

Ispis 8.5 Hijerarhija naslje†ivanja klasa stabala.


class CABinTree : public CObject
{ ... }
class CMainABinTree : public CABinTree
{ ... }
class CSubABinTree : public CABinTree
{ ... }

CABinTree temeljna je apstraktna klasa iz koje podklase CMainABinTree (klasa


glavnog stabala) i CSubABinTree (klasa podstabla) crpe svoju osnovnu funkcional-
nost. Klasa glavnog stabla implementira rastuće i rašµclambeno stablo (§6.5.3), koje
pojednostavljeno zovemo glavno stablo. Klasa podstabala ostvaruje općeniti kon-
cept -podstabla nekog drugog -stabla, što je detaljno obrazloµzeno u prilogu A.2.
S pomoću klase podstabala ostvaruju se kandidati morfova i morfovi sami, zatim
pokazno stablo u radnom prozoru Show and Feed za prikaz glavnog stabla, gra…µcki
prikaz stabala i sve ostale strukture koje predstavljaju proizvoljni dio glavnog stabla.
Najvaµzniji dijelovi objave ovih klasa mogu se naći u prilogu L.3.
Temeljna klasa CABinTree u sebi sadrµzi µclanske varijable dvije pomoćne klase:
230 8. Programska implementacija

CBinTreeNode i CTreeStatistics.
Prva je od njih kljuµcna klasa za realizaciju µcvora stabla, kao objekta na kojeg
ćemo se stalno pozivati prilikom rada sa stablima.

8.3.1 Klasa binarnog µcvora


µ
Cvor se moµze interpretirati kao minimalno, trivijalno stablo (ili -podstablo), visine
0. Dio objave klase CBinTreeNode s µclanskim varijablama prikazan je u ispisu 8.6.
Klasa je izvedena iz klase CObject, koja daje podršku serijalizaciji objekata. Radi
se o rekurzivnoj podatkovnoj strukturi µcije su tri varijable — za roditeljski µcvor te
za lijevo i desno dijete — kazaljke na tu istu strukturu.
µ
Clanska varijabla m_uCount sadrµzi izbrojak, tj. broj pre…kasa uµcitanih rijeµci
(§6.5.5). Svaki pre…ks rijeµci sastavljene od D binarnih simbola odgovara jednom
µcvoru binarnog -stabla visine (dubine) D (§6.5.4). Nadalje, minimalna informacija
potrebna za organizaciju strukture binarnog stabla odre†enje je lijevog i desnog dje-
teta svakog µcvora. Budući da ćemo µcvorove kreirati dinamiµcki, najprirodnije je da
zabiljeµzimo kazaljke na dva nasljedna µcvora (m_pLChild, m_pRChild).
Da ostvarimo veću ‡eksibilnost nekoliko vaµznih algoritama koji ovise o realizaciji
klase CBinTreeNode, pored gore nabrojanih neophodnih, dodane su jošdvije µclanske
varijable. Prva je kazaljka m_pParent na roditeljski µcvor, koja doprinosi pojedno-
stavljenju implementacije mnogih algoritama, posebice nerekurzivnih prolazaka kroz
stabla (vidjeti sljedeći odjeljak). Druga je m_uAbsLev, apsolutna razina µcvora u odno-
su na korijen glavnog stabla (razra†eno u prilogu A.2, korolar A.13). Ona pomaµze pri
uµcinkovitijoj implementaciji funkcija za prezentaciju glavnog rašµclambenog stabla,
a ima i kljuµcnu ulogu u realizaciji koncepta -podstabla.
µ
Ispis 8.6 Clanske varijable klase CBinTreeNode za implementaciju µcvorova stabla.
class CBinTreeNode : public CObject
{
private:
UINT m_uCount; // The node’s counts.
UINT m_uAbsLev; // Absolute node level.
// The root nodes have m_uAbsLev:
// = 0, for the trees of mainTree type;
// >= 0, for the trees of subTree type.
CBinTreeNode* m_pParent; // Pointer to the parent node.
CBinTreeNode* m_pLChild; // Pointer to the left child node.
CBinTreeNode* m_pRChild; // Pointer to the right child node.
// ... ... ...
}
8. Programska implementacija 231

Kod implementacije stabla s ovakvom strukturom µcvora, kazaljka na nepostojeće


dijete po de…niciji je NULL. Za standardno stablo list je po de…niciji µcvor koji nema
nasljednika, pa bi za njih to impliciralo da su kazaljke na oba djeteta NULL . Me†utim,
za -podstabla vrijedi da je list µcvor na relativnoj razini L, jednakoj visini podstabla
(korolar A.11). Dakle, u našem ćemo sluµcaju provjeriti apsolutnu razinu µcvora,
oduzeti od nje razinu korijenskog µcvora podstabla te na temelju dobivene relativne
razine odrediti radi li se o listu podstabla. Ako je relativna razina jednaka L, tada
se radi o listu bez obzira na postojanje nasljednika µcvora. Ovo je formalizirano u
toµcki (iii) korolara A.13.

8.3.2 Algoritam hranidbe glavnog stabla


Klasa glavnog stabla CMainABinTree opskrbljena je funkcijama za prihvat rijeµci iz
vremenskog niza i dinamiµcku kreaciju µcvorova u procesu koji nazivamo hranidba,
opisanom u 6.5.4 (suµcelje klase dano je u prilogu, ispis L.5). Cijeli algoritam hranidbe
oznaµcit ćemo kraticom TF, od engleskog naziva Tree Feed algorithm.
Hranidbu glavnog stabla jednom rijeµci obavlja funkcija FeedWithABinString pri-
kazana u ispisu 8.7. Njezin jedini argument kazaljka je na tip BYTE, koja sadrµzi adre-
su prvog simbola u rijeµci. Ostali potrebni parametri uglavnom su µclanske varijable
temeljne klase CABinTree, a nekoliko preostalih iz klase je µcvorova CBinTreeNode.
Kao što se moµze išµcitati iz programskog koda, sve varijable dohvaćamo s pomoću
dobavljaµckih funkcija, µcime se ojaµcava oklapanje klasa (§8.1.3).
Funkcija slijedi naµcelni algoritam iznesen u 6.5.4. Postupak je malo razliµcit za
listove, tako da najprije provjeravamo prvih D 1 simbola. Ako je promatrani
simbol 0 (1), tada se provjerava lijevo (desno) dijete trenutnog (engl. current) µcvora.
Ako ono ne postoji, kreira se novi µcvor, biljeµzenjem njegove apsolutne razine i po-
stavljanjem izbrojka (brojaµca podnizova) na 1 . Usporedo s postupkom hranidbe
gradimo statistiku stabla, pohranjenu u µclanskoj varijabli temeljne klase m_TreeStat
tipa CTreeStatistics. Ova statistika odmah pri stvaranju stabla broji koliko je
kreirano lijevih i desnih µcvorova. Posljednji simbol u rijeµci jest list, koji se — radi
izbjegavanja stalne provjere razine glavnog stabla — tretira posebno. Za njega se,
jednako kao i za prethodne µcvorove, najprije obnovi statistika µcvorova. Zatim se za
lijevi (desni) list inkrementira broj postojećih lijevih (desnih) listova i na taj naµcin
obnavlja statistika listova, o µcemu govori komentar na kraju ispisa.
232 8. Programska implementacija

Ispis 8.7 Funkcija FeedWithABinString za hranidbu glavnog stabla visine D =


GetuHeight() jednom rijeµcju iste duljine, izluµcenom iz vremenskog niza.
void CMainABinTree::FeedWithABinString(BYTE* p)
// Feeds a string of binary values into the CMainABinTree.
{
CBinTreeNode* pNewNode;
CBinTreeNode* pChild;
CBinTreeNode* pNdC = GetpRoot();
UINT j = 0;
UINT j1 = GetuHeight() - 1;
// Start from the root and construct new or increment the
// old nodes below the root:
for (UINT j = 0; j < j1); j++)
{
ASSERT( (*p == 0x00) jj (*p == 0x01) );
// Internal consistency check!
if (*p == 0x00)
{
pChild = pNdC->GetpLChild();
if ( pChild == NULL) // Make a new left child:
{
pNewNode = new CBinTreeNode(j + 1);
ASSERT(pNdC->GetnAbsLev() == j);
// Internal consistency check!
m_TreeStat.IncrLNodes();
pNewNode->SetpParent(pNdC);
pNdC->SetpLChild(pNewNode);
}
else // Increment the old left child:
pChild->IncrnCount();

pNdC = pNdC->GetpLChild(); // Move to the left child.


}
else // (*p == 0x01)
{
pChild = pNdC->GetpRChild();
if (pChild == NULL) // Make a new right child.
{
pNewNode = new CBinTreeNode(j + 1);
ASSERT(pNdC->GetnAbsLev() == j);
// Internal consistency check!
m_TreeStat.IncrRNodes();
pNewNode->SetpParent(pNdC);
pNdC->SetpRChild(pNewNode);
}
else // Increment the old right child:
pChild->IncrnCount();
pNdC = pNdC->GetpRChild(); // Move to the right child.
8. Programska implementacija 233

}
p++;
} // The end of the for loop.

// Leaves’ level: construct new or increment old leaves following


// the above procedure for the nodes, and additionally increment
// the tree statistics object m_TreeStat member variables
// SumLLvsCnts and SumRLvsCnts which count the number of leaves.
// ... ... ...
// ... ... ...
// To note a successful feed, increment the counter in the root:
GetpRoot()->IncrnCount();
return 1; // One string was fed into the main tree.
}

Kad modelar zahtijeva hranidbu rašµclambenog stabla s Nw rijeµci, gornja se funk-


cija FeedWithABinString poziva Nw puta unutar iteracijske petlje. Kao što to obi-
µcno biva u programiranju u kojem µzelimo ostvariti naµcelo otvorenosti (§8.1), stvarno
rješenje, koje je povezano s ulaznim suµceljem programa, znatno se komplicira. Kad
je traµzeni broj rijeµci veći nego što se dade izluµciti iz vremenskog niza pohranjenog u
(jednom) kruµznom spremniku, sadrµzaj tog spremnika mora se obnavljati poticanjem
novih skupnih iteracija. Taj posao obavljaju zasebne organizacijske funkcije klase
CMainABinTree. Njih koristi funkcija FeedWithBinStrings, koja koordinira cijelim
procesom hranidbe za zadani broj rijeµci. Za ilustraciju, ona ima 300 linija koda i ne
moµze se bitno pojednostaviti a da pri tom ne izgubi svoju funkcionalnost.
U pododjeljku 8.2.4 već smo naveli da se u skupnim iteracijama izraµcunava više
toµcaka nego što je toµcno potrebno, u prosjeku za polovicu veliµcine kruµznog spremnika.
No bez obzira na to, funkcija FeedWithABinString bit će izvršena toµcno Nw puta i
nahraniti glavno stablo s toµcno Nw rijeµci.

8.3.3 Sloµzenost algoritma hranidbe


Vremenska sloµzenost. Vremenska sloµzenost TT F;w hranidbe glavnog stabla s jed-
nom rijeµci moµze se izraziti preko sloµzenosti TT F;s = ts , potrebne za razvrstavanje
jednog simbola u stablu,

TT F;w (D) DTT F;s = ts D = O (D) : (8.16)

Nadalje, neka je TF algoritmu u prosjeku potrebno vrijeme tw da izluµci jednu rijeµc


iz vremenskog niza. Zanemarimo li vrijeme koje ne ovisi o broju uµcitanih rijeµci i
234 8. Programska implementacija

simbola, tada njegova vremenska sloµzenost za Nw rijeµci iznosi:

TT F (Nw ; D) = tw Nw + ts DNw = (tw + ts D) Nw (8.17)


= O (DNw ) + O (Nw )
= O (ns ) + O (Nw ) :

Gornji izvod eksplicitno dokazuje da je algoritam hranidbe vremenski linearan


u ukupnom broju ns = DNw simbola uµcitanih u stablo. Stoga je on uµcinkovit
glede broja obra†enih ulaznih podataka. Me†utim, da se u takvom stablu mogu
nalaziti stohastiµcki modeli unutar zadane (L; )-preciznosti (§6.2.5), mora se ostva-
riti dovoljna preciznost aposteriornih vjerojatnosti prijelaza izme†u µcvorova, koja
se odre†uje na temelju izbrojaka pohranjenih u njima (§6.5.5). Da bi ti izbrojci
bili statistiµcki relevantni, stablo se mora nahraniti brojem rijeµci koji općenito raste
eksponencijalno s njegovom visinom. To će jasno pokazati daljnje izlaganje.
Za postizanje -toµcnosti vjerojatnosti µcvorova valja u svakom listu stabla osigu-
rati izbrojak veliµcine kF F 1 , gdje kF F 1 predstavlja faktor hranjenja (engl. feed
factor). Primjerice, postavljanjem tog faktora na vrijednost 10 postiµzemo da su vje-
rojatnosti u prosjeku toµcnije od za jedan red veliµcine. Budući da mi tek poga†amo
kakvi će izbrojci u µcvorovima i listovima stabla biti, i budući da µzelimo postići do-
bru toµcnost svih vjerojatnosti, taj faktor moµzemo po potrebi i prema mogućnostima
podizati i na znatno veće vrijednosti.
Prema statistiµckom opisu binarnog -stabla u prilogu A.3 svaki njegov µcvor ima
prosjeµcno b djece, 1 b 2 . Netrivijalno (nedegenerirano) stablo ima b > 1 i na
razini l ono sadrµzi prosjeµcno abl µcvorova (lema A.8). a je korekcijski faktor, koji daje
konstantan doprinos, neovisan o razini. Za b = 2 , a = 1 . Korekcijski je faktor i
inaµce µcesto u blizini jedinice (vidjeti komentare u dokazu navedene leme), pa ćemo
smatrati da je a 1, te ga ispuštati. U sluµcaju da je a znatan, odnosno za potrebe
preciznog proraµcuna, on se moµze ukljuµciti ispred svih µclanova koji sadrµze bl .
Uz gornje pojednostavljenje i zahtjev da prosjeµcni izbrojak u µcvoru na razini l
iznosi kF F 1 , oµcuvanje sume izbrojaka na svakoj razini stabla daje:

Nw ' kF F 1 l
b : (8.18)

Da bi taj kriterij vrijedio i na razini listova (l = D) stablo moramo nahraniti s

Nw ' kF F 1 D
b (8.19)

rijeµci. Taj broj, a onda i broj uµcitanih simbola, raste eksponencijalno u D.


8. Programska implementacija 235

Hranidbu -stabla koja je statistiµcki relevantna ili dostatna po de…niciji A.17


i koja dodatno — radi postizanja dovoljne toµcnosti uvjetnih vjerojatnosti µcvorova
naspram svojih roditelja — udovoljava tehniµckom zahtjevu (8.19), nazivat ćemo obil-
na hranidba (engl. abundant feed). Umetnemo li zahtjev (8.19) u izraz (8.17), dobi-
vamo vremensku sloµzenost TT F; abn obilne hranidbe za 1 b 2 :

1 1
TT F; abn (b; D; ; kF F ) kF F ts D bD = kF F ts D 2D ld b : (8.20)

Ovdje smo — radi razmatranja binarnih stabala — prešli na potenciju baze 2 .


Red veliµcine izraµzen veliko O-notacijom moµzemo napisati na nekoliko naµcina,
ovisno o tome koji nas parametri zanimaju i kakvi su njihovi me†usobni odnosi:12

1
TT F; abn (b; D; ; kF F ) = O kF F D 2D ld b ; (8.21a)
D ld b
TT F; abn (b; D) = O D 2 : (8.21b)

U najbrµzem sluµcaju, koji odgovara konstantnoj orbiti sustava, odnosno lijevo ili
desno degeneriranom -stablu, vrijedi b = 1. Najsporiji je sluµcaj punog stabla, s
b = 2. Stoga je vremenska sloµzenost obilne hranidbe u rasponu:

1 1
kF F ts D TT F; abn (D) kF F ts D 2D ; (8.22a)
O (D) TT F; abn (D) O D 2D : (8.22b)

Geometrijska (Avr = Gm) i aritmetiµcka (Avr = Ar) sredina navedene donje i


gornje granice te redovi veliµcina tih sredina iznose:
(
kF F 1 ts D 2D=2 ; Avr = Gm ;
hTT F; abn (D)iAvr = (8.23a)
kF F 1 ts D2 2D 1 ; Avr = Ar :
(
O kF F 1 D 2D=2 = O D 2D=2 ; Avr = Gm ;
hTT F; abn (D)iAvr = (8.23b)
O kF F 1 D2 2D 1 = O D2 2D 1 ; Avr = Ar :
p
Primijetimo da bi uz b = 2 bilo bD = 2D=2 listova, što vodi na rezultate u
prethodnim izrazima dobivene za geometrijsku sredinu. Prema izlaganju o srednjim
-stablima iz A.4 takvom se prosjeµcnom broju djece pribliµzavaju pola-visine srednja
i geometrijski srednja -stabla za D ! 1, prva odozdo, a druga odozgo (teorem
12
U veliko O-notaciji općenito ćemo pisati i doprinose manjeg reda veliµcine, da toµcnije opišemo
ponašanje sloµzenosti pri manjim vrijednostima argumenata i da se vidi geneza konaµcnog izraza.
Tako†er, tamo gdje je konaµcni, najjednostavniji, oblik funkcije veliko O oµcit, ponekad ćemo ga radi
kratkoće izraza ispuštati i stati na prije navedenom, detaljnijem zapisu.
236 8. Programska implementacija

A.5). Tamo je utvr†eno da ove dvije vrste srednjih stabala bolje opisuju prosjeµcnu
strukturu -stabala od aritmetiµcki srednjih stabala. Zato će i geometrijska sredina
u izrazima (8.23) bolje opisivati prosjeµcnu vremensku sloµzenost algoritma hranidbe.

Prostorna sloµzenost. ST F algoritam ima prostornu sloµzenost proporcionalnu


ukupnom broju N ^N ds µcvorova rašµclambenog stabla, ST F = sN d N ^N ds , gdje je sN d
koliµcina memorije potrebna da se pohrani jedan µcvor stabla. Za broj µcvorova sta-
bla visine D, N^N ds (a; b; D) = N
^a;b;D , koristimo skupni rezultat leme A.9, formulu
(A.29d) [prilog A.3, na CD-u]. Kao i kod razmatranja vremenske sloµzenosti konaµcne
ćemo izraze pojednostaviti uzimanjem a = 1, tako da pišemo:

bD+1 bD+1
ST F (b; D) sN d a sN d ; (8.24a)
b 1 b 1
( D+1
min bD+1 ; (b b1)(D+1) 1; 1 < b < 2;
Uz uvjet:
2D+1 1; b=2:

Otuda, uz skraćenje b 1 = b0 , vrijedi:

b D ld b b
ST F (b; D) = O 2 = O 2ld b0 +D ld b (8.24b)
b0
= O 2D ld b :

Po istoj lemi dobivamo donju i gornju granicu prostornih sloµzenosti, uvrštava-


njem sluµcaja (i) b = 1 za trivijalne sustave s konstantnim toµckama te (iii) b = 2 za
puno stablo. Zanima nas joši srednja vremenska sloµzenost, za koju ćemo iskoristiti
koncept srednjih (prosjeµcnih) -stabala (detaljno razra†en u prilogu A.4). Rezultati
za toµcan i pribliµzan broj µcvorova pola-visine (D=2), geometrijski i aritmetiµcki sred-
njeg te b = 3=2 i zlatno srednjeg -stabla sumirani su u formulama (A.70, A.71). Iz
njih dobivamo raspon i srednju vrijednost vremenskih sloµzenosti, prikazane u izra-
zimaD(8.25).
E U formuli (d) pribliµzan broj D µcvorova
E izraµzen je preko potencije baze 2
kao ND ^ 2EAvr (D)
, odnosno kao ND^ = 2EbM (D) . Ove ćemo eksponente
Avr bM
zajedniµcki oznaµciti kao EAvr= bM (D) i preglednosti radi ponoviti u izrazima (e, f).

sN d (D + 1) ST F (Nw ; D) sN d 2D+1 1 ; (8.25a)


sN d D / ST F (Nw ; D) / sN d 2 D+1
; (8.25b)
O (D) ST F (Nw ; D) O 2D+1 : (8.25c)
8. Programska implementacija 237

D E
hST F (D)iAvr= bM = sN d N^N ds (D) sN d 2EAvr= bM (D) (8.25d)
Avr= bM

O 2EAvr= bM (D) :
=
8
>
< D=2 + 1 ; Avr = D=2 ;
1
EAvr (D) = (D+ ld D + 1) ; Avr = Gm ; (8.25e)
>
:
2
D; Avr = Ar :
(
D ld (3=2) + ld 3 ; bM = 3=2 ;
EbM (D) = (8.25f)
(D + 2) ld ; bM = :

Ponovo je uzeto a = 1, pa je u formuli (f) za bM = ispušten ld a [usporediti s


(A.71b)]. U (8.25c) gornja bi se granica mogla pojednostaviti, jer vrijedi O 2D+1 =
O 2 2D = O 2D . Isto tako bismo mogli pojednostaviti eksponente formule (d)
za EAr : D=2 + 1 D=2, za EGm : (D + ld D + 1) =2 (D + ld D) =2 i za EbM :
D ld (3=2) + ld 3 D ld (3=2). Time bi se ignorirali konstantni faktori, redom: 2,
p
2, odnosno 3. No, u smislu podbilješke 12, ove detalje ostavljamo radi povećane
toµcnosti dobivenih izraza, posebice za manji D . Ako je potrebna samo procjena
reda veliµcine, navedene ćemo faktore jednostavno ignorirati.
Donje i gornje granice te aritmetiµcki prosjeµcni iznosi vremenske i prostorne
sloµzenosti (8.22, 8.25a, b, c) već su objavljeni u [47]. Ovdje su pridodani općeniti
izrazi (8.20, 8.24) proizašli iz statistiµckog opisa -stabala u prilogu A.3.5. Tako†er,
aritmetiµcki usrednjenoj sloµzenosti pridodali smo rješenja za pola-visine i geometrij-
ski srednja te za b = 3=2 i zlatno srednja stabla, koja predstavljaju adekvatniji opis
prosjeµcnog -stabla.
Istaknimo ponovo da rast vremenske i prostorne sloµzenosti nije eksponencijalan
u broju uµcitanih rijeµci, već samo u njihovoj duljini, odnosno u visini D rašµclambenog
stabla (koja predstavlja veliµcinu raµcunskog modela prve razine, §6.4.3). Stoga ekspo-
nencijalni rast u D nije posljedica neuµcinkovitosti algoritma hranidbe, već zahtjeva
za postizanjem dostatne vjerojatnosne preciznosti. Za teoriju -strojeva vaµzno je da
prostorna sloµzenost rašµclambenog stabla zadane visine D ne ovisi o broju uµcitanih
rijeµci i simbola. Osiguravši obilnu hranidbu stabla moµzemo oµcekivati da za broj
uµcitanih rijeµci vrijedi Nw D te dodatno, Nw 2D+1 . Dakle, iako broj listova i
µcvorova stabla moµze, a najµcešće zaista i raste eksponencijalno s visinom stabla, broj
listova će za obilno nahranjeno stablo biti mnogo manji od broja uµcitanih rijeµci, pa
će to onda vrijediti i za broj µcvorova. Tu se pretpostavlja da je D odabran kao
relativno malen u odnosu na broj simbola u primljenom nizu, pa se na ovoj razini
modela već postiµze znatno saµzimanje prezentacije sustava (vidjeti 6.4.3).
238 8. Programska implementacija

8.3.4 Rezultati mjerenja vremena za algoritam hranidbe


Teorijska razmatranja vremenske sloµzenosti TF algoritma ovdje ćemo potkrijepiti
eksperimentalnim rezultatima. Izmjera vremena njegova izvršavanja organizirana je
na sliµcan naµcin kao i za iteraciju toµcaka. To je vidljivo iz ispisa 8.8, u kojem su
prikazani dijelovi funkcije FeedWithBinStrings prije i poslije konkretne hranidbe
stabla. Funkcija StartTimer djeluje na objekt hrTimer neposredno prije for petlje
u kojoj se opetovano poziva funkcija FeedWithABinString za uµcitavanje jedne rijeµci,
a funkcija StopTimer neposredno poslije. Nakon toga se obnove µclanske varijable
klase koje akumuliraju broj uµcitanih rijeµci i vremena trajanja hranidbe.

Ispis 8.8 Primjer mjerenja vremena u funkciji za hranidbu glavnog stabla.


UINT CMainABinTree::FeedWithBinStrings(CDynSysADoc* pDSADoc,
CWnd* pPrntWnd, bool bFdAftrTrnPts, UINT uNStr, bool bMrgSmDSsInHstry)
{
///////////////////////////////////////////////////////////////////
// Local variables declaration and initialization
// ... ... ...
CHRTimer hrTimer; // In this function we measure time.
// ... ... ...
switch(iFlgSw)
{
// ... ... ...
// ... ... ...
case 2: // Feeds spending the remaining symbols in the
// current, and requesting new, batch iterations.
// BYTE *p0, *p1; // Pointers to elements in circ. buffer.
// p0 = current byte position, p1 = last byte position.
p1 = p0 + uPos + uNStrRem;
hrTimer.StartTimer();
for(BYTE* p = p0 + uPos; p < p1; p++)
FeedWithABinString(p);
dtsDur = hrTimer.StopTimer();
UpdateFeedTmAndNStrFed2(dtsDur, uNStrRem, m_dFeedTm1,
m_uNStrFedTm1, m_dFeedTm2, m_uNStrFedTm2);
// ... ... ...
// ... ... ...
} // The end of switch(iFlgSw).
// ... ... ...
// ... ... ...
}
8. Programska implementacija 239

Nw = 104 106 108


t t t
Din. sustav / algoritam t=s Nw
= s t=s Nw
= s t=s Nw
= s
Logist. preslik. (LMCC)
Iteracija + bin. instr. 0.0004 0.035 0.0359 0.036 3.49 0.035
Hranidba stabla (TF) 0.0523 5.228 2.1636 2.164 119.79 1.198
Dodatne (reµz.) funkc. 0.0012 0.121 0.0025 0.003 0.10 0.001
Sveukupno: 0.0539 5.384 2.2020 2.203 123.38 1.234
Nema uzast. nula (NCZ)
Iteracija + bin. instr. 0.0008 0.083 0.0826 0.083 8.20 0.082
Hranidba stabla (TF) 0.0187 1.867 0.5460 0.546 52.20 0.512
Dodatne (reµz.) funkc. 0.0016 0.163 0.0048 0.005 0.12 0.001
Sveukupno: 0.0211 2.113 0.6334 0.634 59.52 0.595

Tablica 8.3: Vremena izvo†enja za skupnu iteraciju i binarnu izmjeru te za hranidbu


stabala: logistiµckog preslikavanja s r = 4 (LMCC) iz sjemena x0 = 0:2 i sustava “nema
uzastopnih nula”(NCZ), x0 = 1=3 na 15 decimala. Glavno stablo visine D = 20 hranjeno
je redom s 104 , 106 i 108 rijeµci, nakon propuštanja prvih 100 (tranzijentnih) toµcaka.
Kruµzni spremnik imao je 10 124 elemenata za prvu te 1 048 608 elemenata za druge dvije
hranidbe. Dano je i vrijeme utrošeno za reµzijske funkcije te sveukupno vrijeme. Od dviju
kolona za svaku hranidbu, desna predstavlja prosjeµcno vrijeme utrošeno po jednoj rijeµci.

Tablica 8.3 daje rezultate mjerenja vremena za tri hranidbe dva dinamiµcka su-
stava: logistiµckog preslikavanja u kaotiµcnom reµzimu i sustava “nema uzastopnih
nula”, s punim, odnosno zlatno srednjim, glavnim stablom (§A.3.5, A.4.2).
Mjerenje vremena zasniva se na funkciji QueryPerformanceCounter. Ona broji
periode sata procesora, pa postiµze toµcnost reda veliµcine ispod 10 9 s. Kao posve
sigurnu procjenu moµzemo uzeti da je pogreška naših mjerenja manja od 10ns.13
Prije mjerenja iskljuµceni su — koliko je to bilo moguće — nepotrebni korisniµcki i
sustavski procesi višezadaćnog operacijskog sustava da se njima uzrokovano uspore-
nje rada DSA programa smanji na najmanju moguću mjeru. Rezultati s velikim po-
zitivnim odstupanjima odbaµceni su, jer se kod njih oµcito radilo o zastojima u izvrša-
vanju TF algoritma zbog obavljanja drugih, pozadinskih procesa. No i pored toga,
za funkcije koje dinamiµcki alociraju memoriju ili pristupaju memorijskoj hrpi — kao
što to µcini i osnovna funkcija TF algoritma FeedWithABinString — opaµzaju se ‡uk-
tuacije u vremenu njihova izvršavanja µcak i do 10% .
Usprkos tome, rezultati mjerenja vrlo su informativni. Desna kolona za svaku
od hranidbi daje vrijeme izvo†enja po rijeµci. Za iteraciju i binarnu izmjeru već
13
Ova mjerenja obavljena su na raµcunalu s Pentium 4 procesorom radnog takta od 2:6 GHz, s
glavnom memorijom od 1GiB i s Windows XP (SP3) operacijskim sustavom.
240 8. Programska implementacija

smo u odjeljku 8.2.4 ustanovili da se uµcinkovitost bitno ne poboljšava za broj iteri-


ranih toµcaka koji je oko 100 puta veći od duljine rijeµci — što se potvr†uje i ovdje.
Vrijeme utrošeno na dodatne (reµzijske) funkcije dobiveno je tako da je od sveukupno
utrošenog vremena oduzeto vrijeme iteracije i binarne izmjere te vrijeme hranidbe
stabla. Vidljivo je da to vrijeme izrazito pada s porastom broja uµcitanih rijeµci.
Rezultati tablice potvr†uju da je gornja granica u izrazu (8.17), TT F (Nw ; D) =
O (Nw ), korektna, jer prosjeµcno vrijeme hranidbe stabla po jednoj rijeµci ( t=Nw )
µ
ne raste. Cak štoviše, ono znatno pada s povećanjem broja uµcitanih rijeµci. To se
doga†a zato što kreacija novih µcvorova — koja troši više vremena nego aµzuriranje već
postojećih — dominira u poµcetku hranidbe. Za LMCC sustav treba kreirati mnogo
više µcvorova nego za NCZ (za stabla visine 20 µcak 45 puta 14 ), pa mu t=Nw pada i
nakon uµcitanih 106 rijeµci. Tako†er, za LMCC sustav ta su vremena nakon uµcitanih
106 (108 ) rijeµci µcak µcetiri (oko dva) puta dulja od onih za NCZ sustav.
Dodatna su mjerenja pokazala sliµcno usporenje u ovisnosti t=Nw o visini D
stabla. Ta je ovisnost — u skladu s izrazom (8.17) — pribliµzno linearna, ali samo
za stabla s / 10Ki µcvorova (za puno stablo, D 12), kad ona troše dinamiµcku
memoriju do oko 200KiB. 15 Za stabla s većim brojem µcvorova, koja troše veću
dinamiµcku memoriju, ta ovisnost postaje jaµca od linearne. Zajedniµcki uzrok zadnja
dva usporenja valja traµziti u mehanizmima za upravljanje dinamiµcki dodijeljenom
memorijom aktivnih procesa i u smanjenoj uµcinkovitosti priruµcne memorije na nekoj
od njezinih razina kad cijela struktura nad kojom se operira više ne stane u nju. (Ove
pretpostavke iziskuju dodatne potvrde i zasebno razmatranje.)

8.4 Rekurzivni i nerekurzivni prolazni algoritmi


U ovom odjeljku izlaµzemo algoritme za prolazak kroz µcvorove binarnih stabala, koje
ćemo nazivati algoritmi prolaska ili prolazni algoritmi (engl. traversal algorithms).
Oni će biti prilago†eni stablima s dinamiµcki kreiranim µcvorovima, predstavljenima
u pododjeljku 8.3.2, no lako se mogu prilagoditi i drugaµcijim implementacijama
µcvorova. Usporedit ćemo elegantne rekurzivne algoritme koji koriste standardne
prolaske kroz stabla s originalnim nerekurzivnim algoritmima koji su bili razvijeni
za prvu inaµcicu DSA programa [44]. Na koncu ćemo usporediti vremena izvo†enja
jednih i drugih algoritama. Slijedimo izlaganje objavljeno u [46].
14
Vrijedi: N ^D;N CZ = f^ 1 = 221 1 = (F24 2) = 2 097 151=46 366 45:23 , gdje
^D;LM CC =N
N CZ
je F24 24-ti Fibonaccijev broj (vidjeti prilog A: § A.3.5, A.3.6 i A.4.3, te prilog H.3).
15
Prema zadaćnom upravitelju, ukupna memorija pridijeljena procesu tada je 21 500 KiB.
8. Programska implementacija 241

8.4.1 Prolazni algoritmi za binarna stabla


Za općenitu strukturu stabla, de…niranu u prilogu A.1, vrijedi:
De…nicija 8.2 Prolazak (engl. traversal) kroz stablo jest proces u kojem se svaki
µcvor stabla posjeti prema zadanom redoslijedu jednom i samo jednom.
Glede naµcina napredovanja kroz stablo, dva su osnovna naµcina prolaska [38, 39]:
Širinom-prvo (engl. breadth-…rst), u kojem se posjećuju svi µcvorovi na odre†e-
noj razini i tek potom prelazi na sljedeću razinu stabla. Prolazak uobiµcajeno
kreće od korijena, a zatim prelazi na veće razine. Najprije se posjećuje dogo-
voreno dijete, najljevije ili najdesnije, a potom i ostala djeca.
Dubinom-prvo (engl. depth-…rst), u kojem se µcvorovi posjećuju duµz odabrane
grane po dubini stabla sve dok je to moguće, a tek se potom prelazi na preostale
ro†ake promatranog µcvora (djecu ili braću, engl. siblings). Odabrana grana
moµze biti najljevija ili najdesnija, a posjećivanje moµze ići prema µcvorovima na
većim ili manjim razinama stabla.
Ostvarenje poretka µcvorova po ure†aju širinom-prvo susreli smo u odjeljku 6.6
prilikom opisa TFM algoritma, a djelomiµcni takav ure†aj kod FM algoritma. U oba
će sluµcaja on biti ostvaren s pomoću linearne liste (vidjeti §8.6.6, 8.6.7).
Nadalje ćemo se baviti prolascima dubinom-prvo, u koje se uobiµcajeno ubrajaju:
prijeredni, me†uredni i poslijeredni (engl. preorder, inorder, postorder) prolazak. Za
sluµcaj binarnih stabala njih de…niraju sljedeće rekurzivne de…nicije:
i. Prijeredni prolazak. Posjetiti korijen stabla. Obaviti prijeredni prolazak
za lijevo, a potom i za desno podstablo. Ako su ta podstabla prazna, kraj
algoritma. [Zamjenom atributa lijevo i desno dobiva se istovrsni prolazak, ali
u kojem se desnim podstablom prolazi prije nego lijevim. Isto vrijedi i za
sljedeće dvije vrste prolazaka.]
ii. Me†uredni prolazak. Obaviti me†uredni prolazak na lijevom podstablu.
Posjetiti korijen stabla te obaviti me†uredni prolazak na desnom podstablu.
iii. Poslijeredni prolazak. Obaviti poslijeredni prolazak na lijevom, a potom i
na desnom podstablu. Potom posjetiti korijen stabla.
U svakom od ovih prolazaka kljuµcni su graniµcni µcvorovi:
Korijen –µcvor koji nema roditelja, pa iz njega nema staze “prema gore”;
Listovi –µcvorovi iz kojih više nema grana prema nasljednim µcvorovima, tj. iz
njih nema staze “prema dolje”(prema većim razinama).
242 8. Programska implementacija

Svaki od tri navedena prolaska dubinom-prvo ima svoje speci…µcnosti, prednosti i


mane, koje ovise o primjeni ili obliku stabla. Ponekad podjednako uspješno moµzemo
rabiti sve tri vrste prolazaka, a ponekad je neki od prolazaka uµcinkovitiji od drugih.
Za ovo potonje dobar je primjer brisanje dinamiµcki kreiranih µcvorova, kad je najpri-
kladniji poslijeredni prolazak.
Minimalna informacija koja mora biti pohranjena u µcvoru binarnog stabla sastoji
se od dva indikatora (indeksa, kazaljke): na njegovo lijevo i na njegovo desno dijete.
Kao što smo već diskutirali u prethodnom odjeljku, ako u µcvoru oba indikatora
djeteta imaju vrijednost NULL, tada je to list općenitog (standardnog) binarnog
stabla. Za sve prolaske vrijedi da po dolasku u list mijenjaju smjer. Isto vrijedi i
za dolazak u korijen. Rekurzivni će algoritmi implicitno prepoznati korijen kao kraj
procesa odmatanja pozivnog stoga. Za nerekurzivne algoritme nad ovakvim stablom
mora se organizirati dodatni stog za praćenje (ne)posjećenih µcvorova.
Alternativno je rješenje da se µcvoru stabla pridoda još jedan indikator — o nje-
govu roditelju. U svim je stablima korijen jedini µcvor koji nema roditelja, pa je u
njemu taj indikator vrijednosti NULL. Pridodavanjem indikatora roditelja omogućena
je konstrukcija nerekurzivnih algoritama bez uporabe dodatnog stoga.
Nadalje, µzelimo li ostvariti uµcinkovite algoritme koji će raditi tako†er i na klasi
-(pod)stabala, tada prema diskusiji iz 8.3.1 u klasu µcvora uvodimo dodatnu µclansku
varijablu — za apsolutnu razinu µcvora.
Prije prelaska na razmatranje dizajna algoritama, u sljedećim toµckama sumiramo
zahtjeve za strukturalnim indikatorima u µcvoru koji su nuµzni i dovoljni za razliµcite
implementacije prolaska kroz stablo:

1. Za općenita binarna stabla, koja u µcvorovima imaju minimalnu strukturalnu


informaciju — samo o lijevom i o desnom djetetu — vrijedi da se mogu rabiti re-
kurzivni algoritmi. Nerekurzivni algoritmi zahtijevaju dodatni stog za biljeµze-
nje povratne staze (usporediti [1, pogl. 1] i [38, pogl. 2]). Pored toga, za imple-
mentaciju -podstabala potreban je dodatan raµcunarski napor za odre†ivanje
relativne razine njihovih µcvorova (vidjeti def. -podstabala, A.14).
2. Doda li se svakom µcvoru indikator roditelja, nerekurzivni algoritmi mogu se
kreirati bez dodatnog stoga. Time se ostvaruje lakša navigacija prema korije-
nu stabla i zato brµzi nerekurzivni algoritmi. Cijena je jedan indikator više,
odnosno porast strukturalnih podataka od 50% po µcvoru u odnosu na toµcku
1. Kao i u prethodnoj toµcki, implementacija prolazaka i drugih algoritama za
-podstabla zahtijeva posebno izraµcunavanje razine µcvorova.
8. Programska implementacija 243

3. Doda li se svakom µcvoru još i podatak o njegovoj apsolutnoj razini s obzirom


na korijen glavnog stabla, rekurzivni i nerekurzivni prolazni algoritmi mogu
se uµcinkovito ostvariti i za -podstabla. Cijena toga je 100%-tno povećanje
strukturalnih podataka u µcvoru u odnosu na toµcku 1, pretpostavimo li da su
tipovi podataka za pohranu indikatora i za pohranu apsolutne razine jednaki.16
4. Uvo†enjem dodatnih i drugaµcije organiziranih indikatora nasljednika, kreiraju
se općenita, višeputna (engl. multiway) stabla. Uz m indikatora na m nasljed-
nika, m 2, dobiva se m-arno stablo (engl. m-ary tree). Alternativni je pri-
stup da iz roditelja postoji veza samo prema jednom ili prema dva (krajnja)
odabrana djeteta, dok se do ostale djece — moµzebitno proizvoljnog broja —
dolazi preko vezane liste [63].

Gornjom analizom opravdali smo uvo†enje dodatnog indikatora na roditelja radi


e…kasnije implementacije nerekurzivnih rješenja i uvodno obrazloµzili vaµznost po-
datka o apsolutnoj razini µcvora za implementaciju algoritama na nama vaµznim -
(pod)stablima. Sada prelazimo na opis rekurzivnih i nerekurzivnih izvedbi prolaznih
algoritama.

8.4.2 Implementacija rekurzivnih algoritama


U algoritmu 8.1 pseudokodom su prikazane tri rekurzivne funkcije u kojima se neka
druga funkcija Function izvršava na svakom µcvoru stabla prema redoslijedu jednog
od tri dubinom-prvo prolazaka kroz stablo. Oznaka BTrNd-ref (od engl. Binary
Tree Node reference) oznaµcava referencu na µcvor binarnog stabla (kazaljku, indeks,
ranije općenito nazvanu “indikator”) koja se proslje†uje obmatajućoj, rekurzivnoj
funkciji kod njezina poziva. Prolazak kroz stablo: prije-, me†u- i poslije- rednog tipa
ostvaruje se jednostavno smještajem funkcije Function : prije, odnosno izme†u, odno-
sno poslije rekurzivnih poziva. Dodatna provjera da µcvor Nd nije list (izraµcunom
njegove relativne razine), µcini ove funkcije primjenjivima i za naša -podstabla. Za
općenita binarna stabla, koja nisu -stabla, dovoljan je samo prvi dio uvjeta za re-
kurzivni poziv — provjera valjanosti indikatora djece µcvora. Uvjeti koji prethode
rekurzivnim pozivima mogu se reorganizirati i reducirati, no ovdje su raspisani na
naµcin koji eksplicitno pokazuje logiku izvršavanja rekurzije.
16
Za apsolutnu razinu µcvora, l D , mogli bismo uzeti i neki kraći tip podataka (npr. 8 ili
16-bitni nepredznaµceni cjelobrojni tip), jer je visina stabla ograniµcena na relativno male brojeve.
Me†utim, zbog poravnanja podataka u memoriji suvremenih raµcunala na tipove µcija je duljina
jednaka bitnosti procesora, ovakva mjera uštede uglavnom ne bi bila produktivna.
244 8. Programska implementacija

Algoritam 8.1 [RR] Pseudokod za izvo†enje funkcije Function na µcvorovima bi-


narnog -(pod)stabla u prijerednom, me†urednom i poslijerednom prolasku, ostvaren
s pomo´cu rekurzivnih funkcija (oznaµcenih s RR).

FunctionThruTrvPreOrdRR(BTrNd-ref Nd)
Function(Nd); // Placement prior recursive calls.
if Nd.LChild != NULL and Nd not a leaf then
FunctionThruTrvPreOrdRR(BTrNd.LChild);
if Nd.RChild != NULL and Nd not a leaf then
FunctionThruTrvPreOrdRR(BTrNd.RChild);

FunctionThruTrvInOrdRR(BTrNd-ref Nd)
if Nd.LChild != NULL and Nd not a leaf then
FunctionThruTrvInOrdRR(BTrNd.LChild);
Function(Nd); // Placement between the recursive calls.
if Nd.RChild != NULL and Nd not a leaf then
FunctionThruTrvInOrdRR(BTrNd.RChild);

FunctionThruTrvPostOrdRR(BTrNd-ref Nd)
if Nd.LChild != NULL and Nd not a leaf then
FunctionThruTrvPostOrdRR(BTrNd.LChild);
if Nd.RChild != NULL and Nd not a leaf then
FunctionThruTrvPostOrdRR(BTrNd.RChild);
Function(Nd); // Placement after the recursive calls.

Primjer konciznijeg i elegantnijeg rješenja gornje naµcelne sheme dan je u C++


implementaciji rekurzivne prijeredne funkcije CalcTreeStatPreOrdRR, u ispisu 8.9.
Ta je funkcija uklopljena u temeljnu klasu stabla DSA programa, CABinTree. Radna
je funkcija ovdje UpdateBinTreeStatistics, koja obavlja posao inkrementiranja
broja µcvorova i listova u objektu m_TreeStatistics klase CTreeStatistics, isto-
vjetnog onom koji se de…nirao prilikom hranidbe stabla (ispis L.7). U toj se imple-
mentaciji ilustrira korisnost indikatora (kazaljke na) roditelja. Da se provjeri radi
li se o lijevom ili desnom µcvoru, odnosno o lijevom ili desnom djetetu, pristupa
se roditelju µcvora i ustanovljuje kakvo je on dijete svojem roditelju. To obavljaju
funkcije IsLeftChild i IsRightChild .
U novoj rekurzivnoj funkciji, CalcTreeStatPreOrdRR , smanjili smo broj if-tvrdnji
u odnosu na rješenje u algoritmu 8.1. Dodatno, ona moµze biti primijenjena i na ne-
postojeći (NULL) µcvor (ideja iz [77, pogl. 4]). Tako†er, kao što je već navedeno za
gornji pseudokod, funkcija se lako prilago†uje za primjenu na općenitim binarnim
stablima — jednostavnim izbacivanjem unutarnjeg uvjeta, if(!IsLeaf(pNd)).
8. Programska implementacija 245

Ispis 8.9 Rekurzivna implementacija izraµcuna statistike stabla obavljena prijered-


nim prolaskom kroz sve µcvorove. Funkcija ujedno vra´ca kazaljku na posljednji µcvor
posje´cen u prolasku.

CBinTreeNode* CABinTree::CalcTreeStatPreOrdRR(CBinTreeNode* pNd)


{
if(pNd != NULL)
{
// The concrete function operating on every tree node.
UpdateBinTreeStatistics(pNd);
if(!IsLeaf(pNd))
{
CalcTreeStatPreOrdRR(pNd->GetpLChild());
CalcTreeStatPreOrdRR(pNd->GetpRChild());
}
}
return pNd;
}

Navedimo usput da je ova funkcija namijenjena za nalaµzenje (nezavisne) statistike


µcvorova (pod)stabala, uporabom razliµcitih tipova prolazaka. U DSA programu ona
pored ostalog sluµzi za provjeru statistike glavnog stabla koja se tvori prilikom njegove
hranidbe. Za tu se provjeru najprije kreira -(pod)stablo, istovjetno glavnom stablu
(sastavljeno, naravno, od već postojećih µcvorova glavnog stabla). Tom se stablu
odmah aµzurira njegova µclanska varijabla m_TreeStatistics. Zatim se ta varijabla
usporedi s istoimenom µclanskom varijablom originalnog glavnog stabla. Na taj se
naµcin lako provjerava konzistentnost glavnog stabla i njegove statistike.

8.4.3 Implementacija nerekurzivnih algoritama


Da ostvarimo zadatak iz prethodnog pododjeljka s pomoću nerekurzivnog prolaska,
slijedimo ideju algoritma 8.2. Rekurzija iz prethodnog rješenja tu je zamijenjena
iteracijom u kojoj se Function izvršava na µcvorovima posjećenim kroz prolazak tipa
SomeOrd, gdje je SomeOrd = PreOrd, InOrd, PostOrd.
Za svaki tip nerekurzivnog prolaska mora se pripremiti funkcija za njegovu inici-
jalizaciju i funkcija za njegov naredni korak u prolasku. Za tip prolaska SomeOrd te
su funkcije nazvane InitSomeOrdTrvNR i SomeOrdTrvNR te su objavljene u zaglavlju
našeg pseudokoda kao pomoćne funkcije. Za obje je funkcije naznaµceno da operiraju
na -stablima. Primivši referencu na stablo, funkcija inicijalizacije vraća referencu
na prvi µcvor koji se mora posjetiti u prolasku. Funkcija prolaska SomeOrdTrvNR
246 8. Programska implementacija

prima referencu na trenutni µcvor pNdC i vraća referencu na sljedeći µcvor kojeg po-
sjećuje i na kojem se obavlja funkcija Function. Tako†er, preko argumenta bDone,
pozvanog po navodu (engl. call by reference), ona javlja i status prolaska. Ako je
prolazak okonµcan (bDone == true), iteracija se prekida.
Algoritam 8.2 [NR] Pseudokod za izvo†enje funkcije Function na µcvorovima bi-
narnog -(pod)stabla u prijerednom, me†urednom i poslijerednom prolasku, ostvaren
s pomo´cu nerekurzivnih funkcija (oznaµcenih s NR).
// Auxiliary functions:
BTrNd-ref InitSomeOrdTrvNR( EpsBTr-ref Tr);
BTrNd-ref SomeOrdTrvNR(EpsBTr, bool-ref bDone);
// TrvSomeOrd = TrvPreOrd, TrvInOrd, TrvPostOrd.

FunctionThruSomeOrdTrvNR(EpsBTr-ref Tr)
bDone is false;
NdC = InitSomeOrdTrvNR(Tr);
while bDone is false
Function(NdC);
NdC = SomeOrdTrvNR(NdC, bDone);

Ideja sliµcna ovoj, ali primijenjena na speci…µcno realizirana višeputna stabla (s


indikatorom na lijevo dijete i listom njegove desne braće), moµze se pronaći u [63].
Naši konkretni nerekurzivni algoritmi skrojeni su za binarna -stabla. No, kao
što smo već spomenuli u prethodnom pododjeljku, oni se redukcijom kriterija za list
jednostavno preva†aju u algoritme za općenita binarna stabla (vidjeti npr. komentar
na kraju ispisa 8.11).
Polazimo od nerekurzivnog prijerednog prolaska kroz binarna -(pod)stabla.
Algoritam 8.3 Algoritam nerekurzivnog prijerednog prolaska kroz binarna -(pod)
stabla dobiva se iz algoritma 8.2 zamjenom funkcija InitSomeOrdTrvNR i SomeOrd-
TrvNR konkretnim (nerekurzivnim) funkcijama InitPreOrd i TravrsPreOrd, od kojih
druga koristi pomo´cnu funkciju GetpRSibling (ispisi 8.10, 8.11).
Napomene. U nazivima konkretnih funkcija, oznake NR ispuštene su kratkoće radi.
Ime funkcije GetpRSibling potjeµce od engl. naziva Get Pointer to Right Sibling.
Funkcija InitPreOrd postavlja poµcetak prijerednog prolaska u korijen stabla.
Nadalje, TravrsPreOrd nalazi sljedeći µcvor na najvećoj razini u stablu kojemu je već
posjećen njegov roditelj i koji je ljeviji od najviše dva moguća djeteta. Ako lijevo
dijete ne postoji ili je već posjećeno, posjećuje se desno dijete. Dodatna pojašnjenja
rada ovog algoritma nalaze se i u dokazu njegove korektnosti (teorem 8.1).
8. Programska implementacija 247

Ispis 8.10 Funkcije InitPreOrd i TravrsPreOrd, za inicijalizaciju, odnosno za nala-


µzenje sljede´cih µcvorova u nerekurzivnom prijerednom prolasku kroz binarno -stablo.
CBinTreeNode* CABinTree::InitPreOrd() const
{
// Consistency check: the tree should be nonempty!
ASSERT(m_pRoot != NULL);
ASSERT( (m_pRoot->GetuNCount() != 0) jj
(m_pRoot->GetpLChild() == NULL)jj
(m_pRoot->GetpRChild() == NULL) );
return m_pRoot; // Preorder traversal starts from the root.
}

CBinTreeNode* CABinTree::TravrsPreOrd(CBinTreeNode* pNdC,


bool& bTrvrsDone) const
{
CBinTreeNode* pNd;
if (Level(pNdC) < m_uHeight) // Not at the leaf level.
{ // Move to the leftmost child:
if( (pNd = pNdC->GetpLChild()) != NULL)
pNdC = pNd; // To the left child.
else
pNdC = pNdC->GetpRChild(); // To the right child.
}
else // The current node is a leaf.
{
ASSERT(IsLeaf(pNdC)); // Consistency check!
while ((pNd = GetpRSibling(pNdC)) == NULL) // No right sibling.
{
if (Level(pNdC) > 0)
pNdC = pNdC->GetpParent(); // To parent.
else // At the root!!!
{
bTrvrsDone = true; // The traversal is done.
return pNdC; // No more right siblings.
}
}
pNdC = pNd; // Move to the first unvisited right sibling.
}
return pNdC;
}

Ispis 8.11 Funkcija GetpRSibling , kljuµcna pomo´cna funkcija u nerekurzivnim pro-


laznim algoritmima, koja koristi kazaljku na roditelja.
CBinTreeNode* CABinTree::GetpRSibling(const CBinTreeNode* pNd) const
{
_ASSERT(pNd != NULL); // Internal consistency check!
CBinTreeNode* pNdR;
248 8. Programska implementacija

// Watch the order in the logical AND! The level must be checked
// first in order not to hit the root node which has no parents.
// This function is correct for both the eps-trees and eps-
// subtrees. Namely, we do not check the validity of the pointer
// pNdR to parent--as is done for the general trees, where the
// root is recognized by having pNdR = NULL. Instead, the node
// relative level is checked. If 0, the node is root.
// To adapt this function for the general binary trees, replace:
// Level(pNd) > 0 ----> pNdR != NULL .
if( Level(pNd) > 0 && (pNdR = pNd->GetpParent()->GetpRChild())
!= pNd )
return pNdR; // *pND is an LChild, return the pointer to
// its right sibling, which can also be NULL.
else // The current node is the (sub)tree root or
return NULL; // the RChild, so there is no right sibling.
}

Teorem 8.1 Algoritam 8.3 korektan je. On je primjenjiv i na op´cenitim binarnim


stablima ako se list rede…nira kao µcvor bez nasljednika.
Dokaz. Treba dokazati da će svaki µcvor biti posjećen u redoslijedu prijerednog
prolaska, i to jednom i samo jednom (§8.4.1, def. 8.2). Cvor µ nadalje opisujemo
kao korijen, općeniti µcvor ili list, pa će — uz modi…kacije kriterija za list prema
de…nicijama A.11 i A.14, uvaµzenim u implementaciji µcvora u 8.3.1 — svi izvedeni
zakljuµcci jednako vrijediti i za binarna -(pod)stabla i za binarna općenita stabla.
Algoritam zapoµcinje inicijalizacijskom funkcijom koja vraća kazaljku na korijen-
ski µcvor. Posjećujemo taj µcvor. Podebljanom rijeµcju posje´cujemo (engl. visit)
oznaµcavamo da se radi o (sljedećem) µcvoru koji je rezultat prolaska kroz stablo i
da je to µcvor na kojem treba obaviti µzeljenu radnju. Kazaljka pNdC na takav µcvor
proslje†uje se funkciji TravrsPreOrd, koja ga tretira kao trenutni µcvor.
Ako trenutni µcvor nije list, posjećujemo njegovo lijevo dijete, ako ono postoji.
Samo ako lijevo dijete ne postoji, posjećujemo desno dijete trenutnog µcvora. Ako
je µcvor list, zapoµcinjemo s postupkom izvlaµcenja prema korijenu stabla. Funk-
cija GetpRSibling, u glavi while petlje, provjerava ima li trenutni µcvor — pokazan
kazaljkom pNdC — desnog brata. Ta funkcija najprije provjerava da trenutni µcvor nije
korijen, a potom da µcvor nije desno dijete (usporedbom kazaljke roditeljevog desnog
djeteta s kazaljkom µcvora). Ako je taj uvjet zadovoljen, µcvor je lijevo dijete i funk-
cija vraća kazaljku na roditeljevo desno dijete, bilo regularne, bilo NULL vrijednosti.
Inaµce, funkcija vraća vrijednost NULL.
Dakle, kad funkcija GetpRSibling vrati kazaljku NULL to znaµci da smo ili na
lijevom µcvoru bez desnog brata, ili na desnom µcvoru bez lijevog brata (vidjeti niµze)
8. Programska implementacija 249

ili pak u korijenu. Stoga provjerimo da nismo u korijenu (Level(pNdC*) > 0), te ako
to vrijedi izvuµcemo se prema korijenu. Inaµce, tj. ako smo postupkom izvlaµcenja od
listova došli u korijen, kraj algoritma.
Jošmoramo promotriti sluµcaj kad funkcija GetpRSibling vraća valjanu kazaljku.
Tada posjećujemo desnog brata trenutnog µcvora. On nije mogao biti posjećen
ranije, jer na putu dolje desna djeca nisu bila posjećena ako je postojalo lijevo
dijete. A ako lijevo dijete nije postojalo, tada se radi o desnom µcvoru koji kod
binarnih stabala ne moµze imati (daljnjeg) desnog brata.
Sada je jasan prijašnji zakljuµcak za sluµcaj da je funkcija GetpRSibling vratila
kazaljku NULL. Naime, µcak i za sluµcaj da desno dijete postoji, njega ne bismo smjeli
posjetiti jer je ono posjećeno na putu prema dolje. Dakle, u tom sluµcaju nastavljamo
izvlaµcenje prema gore sve dok ne do†emo do korijena.
Sumarno, gornji prolazni algoritam: (i) na putu dolje posjećuje najprije korijen,
potom svako lijevo dijete te svu desnu “jediniµcnu djecu”(koja nemaju lijevog brata).
(ii) Na putu prema gore posjećuju se sva desna djeca koja imaju lijevog brata. Zato
što se binarno stablo sastoji od korijena i µcvorova koji su bilo lijeva ili desna djeca, iz
gornjeg razmatranja slijedi da smo posjetili sve µcvorove. Tako†er, zato što je presjek
posjeta µcvorovima na putu dolje i na putu gore prazan skup, svaki smo µcvor posjetili
samo jednom. Time je dokazana korektnost ovog algoritma.
Implementacija ovog i druga dva originalna nerekurzivna algoritma — za me†u-
redni i za poslijeredni prolaz — uvedena je u [44]. Ovdje je cilj bio njihova forma-
lizacija kroz algoritme 8.2 i 8.3 te provo†enje gornjeg dokaza korektnosti (skraćeno
iznijeto u [46]). Funkcije InitInOrd i TravrsInOrd , za nerekurzivni me†uredni pro-
lazak, te funkcije InitPostOrd i TravrsPostOrd , za nerekurzivni poslijeredni prola-
zak, dane su u prilogu L.3 (ispisi L.8 i L.9). One su tako†er detaljno provjerene i
dokazane, a to se moµze uµciniti i testiranjem njihova rada u DSA programu.17

8.4.4 Sloµzenost prolaznih algoritama


Prostorna sloµzenost. U analizi prolaznih algoritama poći ćemo od njihove prostor-
ne kompleksnosti. Zahtjevi koje organizacija binarnog općenitog i binarnog -stabla
postavlja na podatkovnu strukturu µcvora diskutirani su u 8.4.1, gdje je opravda-
na potreba za njegovim µclanskim varijablama, uvedenim u 8.3.1. Tako†er, pret-
17
U izborniku System odabrati radni prozor Parse Tree – Show and Feed (sl. 8.5, 8.6). U pod-
okviru Traversal odabrati tip prolaska, inicijalizirati ga i pokrenuti za dobivanje broja posjećenih
µcvorova. Za usporedbu punih statistika pritisnuti puce Check. Tako†er vidjeti § 8.4.5 i opis sl. 8.4.
250 8. Programska implementacija

hodni nam je algoritam zorno prikazao korisnost dodanih organizacijskih varijabli —


kazaljke na roditelja i apsolutnoj razini µcvora. Budući da se u našem modeliranju
kod stabala oµcekuje eksponencijalni rast broja µcvorova s visinom stabla, jasno je da
svako povećanje veliµcine µcvora mora biti dobro opravdano.
Uz dinamiµcki kreirane µcvorove prostorna sloµzenost S strukture -stabla i algori-
tama koji operiraju na njemu bit će proporcionalna ukupnom broju N ^N ds (b; D) =
N^b;D njegovih µcvorova. Oznaµcimo li sa sN d memorijski prostor potreban za pohranu
^N ds ), prostorna sloµzenost
jednog µcvora i zanemarimo li slobodne µclanove (neovisne o N
strukture stabla iznosi,

^N ds
ST r N ^b;l = O N
sN d N ^N ds : (8.26)

U rekurzivnim algoritmima dodatno ćemo koristiti sustavski stog za pohranu


pozivnog stoµznog okvira (engl. call stack frame) veliµcine sStcF r . Kod -stabala
rekurzija i njezina stoµzna dubina disat će u rasponu izme†u 1 i toµcno D pozivnih okvi-
ra (jer su svi listovi na toj visini), pa zato moramo predvidjeti prostor za maksimalnih
D okvira.18 Otuda slijedi

^N ds
SRR N ^N ds + sStcF r D :
sN d N (8.27)

Kod nerekurzivnog rješenja imat ćemo po iteraciji prolaska samo jedan poziv i
jedan povratak iz funkcije, pa će uvijek biti rabljen prostor za samo jedan pozivni
stoµzni okvir,
SN R N ^N ds sN d N^N ds + sStcF r : (8.28)
Sada, na isti naµcin kao i kod analize prostorne sloµzenosti u 8.3.3, broj µcvorova
-stabla karakteriziranog prosjeµcnim brojem djece b i visinom D odre†ujemo iz for-
mule (A.29d) uz a = 1 (lema A.9) te ga uvrštavamo u gornja dva izraza. Dobiva se
sljedeća skupna formula:
(
bD+1 D ; RR (rekur. alg.) ,
SRs (b; D) sN d + sStcF r Rs ; Rs = (8.29)
b 1 1 ; NR (nerek. alg.) ;
uz uvjet iz (8.24a) .

U prethodnom izrazu Rs koristimo i kao oznaku dodatnog prostornog parametra —


koji za rekurzivne (nerekurzivne) algoritme iznosi D (1) — i kao njihov indeks.
18
Isto vrijedi i za općenita stabla. Kod njih listovi mogu biti na svim razinama, pa će stog disati
u rasponu od 1 do u prosjeku D=2 pozivnih okvira. No u procjeni potrebnog prostora opravdano
je uzeti maksimalnu veliµcinu koju algoritam moµze zahtijevati.
8. Programska implementacija 251

Red veliµcine prostorne sloµzenosti istovjetan je za obje vrste algoritama i eks-


ponencijalan u visini stabla, te identiµcan onom za prostornu sloµzenost algoritma
hranidbe u (8.24b) :

b b D ld b b
SRs (b; D) = O bD =O 2 = O 2ld b0 +D ld b (8.30)
b 1 b0
= O 2D ld b :

Raspon prostorne sloµzenosti i njezinu srednju vrijednost dobivamo na jednak naµcin


kao i pri izvodu izraza (8.25) u prethodnom odjeljku, pa pišemo:

sN d (D + 1) + sStcF r d SRs (b; D) sN d 2D+1 1 + sStcF r d ; (8.31a)


sN d D + sStcF r d / SRs (b; D) / sN d 2D+1 + sStcF r d ; (8.31b)
D+1
O (D) SRs (b; D) O 2 : (8.31c)

D E
hSRs (D)iAvr= bM sN d N^N ds (D) + sStcF r d sN d 2EAvr= bM (D)
Avr= bM

= O 2EAvr= bM (D) ; (8.31d)

EAvr (D) = (8.25e) , EbM (D) = (8.25f) .


Red veliµcine prostorne sloµzenosti eksponencijalan je u D=2 za pola-visine i geo-
metrijski srednja stabla, odnosno u D za aritmetiµcki srednja stabla, što je istovjetno
rezultatima za prostornu sloµzenost algoritma hranidbe u 8.3.3.
Prolazni algoritmi operiraju nad navedenim memorijskim prostorom, no to je ista
memorija koja je utrošena za pohranu µcvorova nastalih pri hranidbi stabla. Jedino
se za rekurzivne algoritme troši relativno mali dodatak linearan u D, potreban za
pohranu D pozivnih stoµznih okvira.
Vremenska sloµzenost. Vremenska sloµzenost ovih algoritama u grubo se ponaša
kao i prostorna. Budući da nas zanima razlika izme†u rekurzivnih i nerekurzivnih
inaµcica, provodimo detaljnije razmatranje. Prema algoritmu 8.1, vrijeme koje se
prosjeµcno troši za posjet rekurzivnih funkcija jednom µcvoru iznosi

tRR;tot = tCll (F n) + tF n + tCll (RR) ; (8.32)

gdje je tCll (F n) prosjeµcno vrijeme potrebno za poziv i povratak iz funkcije Function,


tCll (RR) prosjeµcno je vrijeme za rekurzivni poziv obmatajuće funkcije i povratak
natrag, a tF n prosjeµcno je vrijeme potrebno za obavljanje funkcije Function.
252 8. Programska implementacija

Za nerekurzivne funkcije prolaska kroz stablo promatramo organizaciju algoritma


8.2. Samo za prvi µcvor poziva se odgovarajuća inicijalizacijska funkcija, pa ćemo to
vrijeme zanemariti. Za poziv (i povratak) te izvršenje funkcije Function utrošit će
se prosjeµcno vrijeme tCll (F n) + tF n kao i u prethodnom sluµcaju. Nadalje, za poziv
funkcije SomeOrdTrvNR, koja nalazi sljedeći µcvor u nerekurzivnom prolasku, utrošit
će se vrijeme tCll (T rvN R), a za nalaµzenje tog sljedećeg µcvora joši prosjeµcno vrijeme
tT rvN R . To rezultira ukupnim vremenom,

tN R;tot = tCll (F n) + tF n + tCll (T rvN R) + tT rvN R : (8.33)

Vrijeme poziva i povratka funkcija ovisi o broju argumenata koji se stavljaju na


pozivni stoµzni okvir, no uz uobiµcajeni broj od nekoliko argumenata realna je pret-
postavka da su ta vremena jednaka, pa pišemo:

tCll (F n) tCll (RR) tCll (T rvN R) tCll : (8.34)

Otuda slijedi

tRR;tot = 2tCll + tF n ; (8.35)


tN R;tot = 2tCll + tF n + tT rvN R : (8.36)

Dok je za rekurzivne algoritme mjesto sljedećeg µcvora kojeg posjećujemo ugra†eno


u samu strukturu poziva funkcija, kod nerekurzivnih se algoritama za to troši do-
datno prosjeµcno vrijeme tT rvN R . Ono moµze biti znatno za slabo i asimetriµcno raz-
granata stabla gdje se moµze dogoditi da funkcija GetpRSibling treba mnogo vre-
mena za izvlaµcenje prije posjeta sljedećeg desnog djeteta.
Vremenska je sloµzenost, prema oµcekivanju, linearna u broju µcvorova, a razlike
izme†u dvije vrste algoritama pojavljuju se jedino u iznosima vremenskih konstanti:
(
^N ds ^N ds = O N ^N ds ; Rt = tRR;tot ; RR (rekur. alg.) ;
TRt N Rt N (8.37)
tN R;tot ; NR (nerek. alg.) .

Sliµcno kao i kod analize prostorne sloµzenosti, Rt koristimo i kao oznaku dodatnog
vremenskog parametra i kao indeks rekurzivnih odnosno nerekurzivnih algoritama.
Omjer vremenske sloµzenosti za nerekurzivne i rekurzivne algoritme iznosi
TN R tN R;tot tT rvN R
= =1+ : (8.38)
TRR tRR;tot 2tCll + tF n
Zakljuµcak ove teorijske analize jest da su nerekurzivni algoritmi sporiji zbog
dodatnog vremena tT rvN R koje funkcija nerekurzivnog prolaska troši na nalaµzenje
8. Programska implementacija 253

sljedećeg µcvora. Taj ćemo rezultat usporediti sa stvarnim mjerenjima u sljedećem


pododjeljku.
Slijedi skupna formula vremenske sloµzenosti za obje vrste algoritama, s rezulta-
tima koji su sliµcni, a za red veliµcine izraµzen funkcijom veliko O i identiµcni, onima za
prostornu sloµzenost u (8.29, 8.30, 8.31):

bD+1
TRt (b; D) Rt ; uz uvjet iz (8.24a) ; (8.39a)
b 1
b b
TRt (b; D) = O 0 bD = O 0 2D ld b (8.39b)
b b
b
= O 2ld b0 +D ld b = O 2D ld b :

Uz minimalan i maksimalan broj µcvorova stabla visine D zakljuµcujemo na donju i


gornju granicu te na srednju vrijednost ovog vremena:

Rt (D + 1) TRt (D) Rt 2D+1 1 ; (8.40a)


Rt D / TRt (D) / Rt 2D+1 ; (8.40b)
O (D) TRt (D) O 2D+1 ; (8.40c)

D E
hTRt (D)iAvr= bM Rt ^
NN ds (D) Rt 2EAvr= bM (D) (8.40d)
Avr= bM

= O 2EAvr= bM (D) ;

EAvr (D) = (8.25e) , EbM (D) = (8.25f).


Za unaprje†enje vremenske uµcinkovitosti nerekurzivnog algoritma naµcelno se
moµze pokušati utjecati na smanjenje konstante tN R;tot za iznos tCll (T rvN R) tCll ,
tako da se izbjegne poziv funkcije TrvSomeOrd u algoritmu 8.2. To zahtijeva da se
nerekurzivni algoritam za nalaµzenje sljedećeg µcvora u prolasku ugradi izravno unu-
tar while petlje. Ovakva, uklopljena, rješenja nerekurzivnih algoritama najµcešće se i
nalaze u literaturi [1, 77]. Ili, kao alternativu ovome, mogli bismo nerekurzivnu funk-
ciju prolaska objaviti kao ugradbenu (inline), te se nadati da će prevodilac uvaµziti
takvu atribuciju za relativno veliku funkciju.
Rezultati analize rekurzivnih i nerekurzivnih algoritama za krajnje sluµcajeve i
za prosjek izme†u njih, zajedno s opservacijom o većoj uµcinkovitosti rekurzivnih,
objavljeni su u [46]. Ovdje je to upotpunjeno preciznijim izrazima za vremenske
konstante (8.35, 8.36) i njihov omjer (8.38) te razmatranjem općeg sluµcaja -stabla
opisanog statistiµckim parametrom b .
254 8. Programska implementacija

8.4.5 Rezultati mjerenja vremena za rekurzivne


i nerekurzivne prolazne algoritme
Teorijske rezultate za sloµzenost algoritama prolazaka kroz stablo usporedit ćemo s
rezultatima mjerenja vremena njihova izvo†enja. U klasi stabala DSA programa
organizirano je mjerenje vremena izvršavanja prolaznih funkcija, prikazano u ispisu
8.12. Tri rekurzivno i tri nerekurzivno izvedene obmatajuće funkcije za obavljanje
istog posla koriste tri standardna dubinom-prvo prolaska kroz binarno stablo.

Ispis 8.12 Isjeµcak programskog koda za mjerenje vremena izvršavanja obmataju´cih


funkcija koje prebrojavaju µcvorove binarnog -stabla kroz: prijeredni, me†uredni i
poslijeredni prolazak, u rekurzivnoj i nerekurzivnoj inaµcici. Za rekurzivnu (nerekur-
zivnu) funkciju NodeCountPreOrdRR (NodeCountPreOrdNR) kôd je cjelovit, a za ostale
skra´cen. [Svrhu “predrada” (engl. prerun) vidjeti u ispisu L.5.]
// ... ... ...
CHRTimer hrTimer; // In this function we measure time.
// ... ... ...
switch(trvOR) // trvOr = the traversal type.
{
case preOrdRR: // Call the recursive preorder algorithm.
if(iInclPRFncs == 2) // Include the function prerun.
pNd = pSubTr->NodeCountPreOrdRR(); // Prerun.
hrTimer.StartTimer();
pNd = pSubTr->NodeCountPreOrdRR();
dtsDur = hrTimer.StopTimer();
break;
case inOrdRR: // Call the recursive inorder algorithm.
// ... ... ...
break;
case postOrdRR: // Call the recursive postorder algorithm.
// ... ... ...
break;
case preOrdNR: // Call the nonrecursive preorder algorithm.
if(iInclPRFncs == 2) // Include the function prerun.
pNd = pSubTr->NodeCountPreOrdNR(); // Prerun.
hrTimer.StartTimer();
pNd = pSubTr->NodeCountPreOrdNR();
dtsDur = hrTimer.StopTimer();
break;
case inOrdNR: // Call the nonrecursive inorder algorithm.
// ... ... ...
break;
8. Programska implementacija 255

Slika 8.4: Izgled poruke (engl. message box ) za prikaz vremena izvršavanja nerekurzivnih i
rekurzivnih inaµcica funkcija za tri vrste prolaska i tri radnje — opisane u legendi u donjem
dijelu. Rezultati rada svih funkcija istovjetni su . Da nisu, u poruci bi se pojavilo upo-
zorenje. Na dnu je okno (engl. pane) s informacijama o sustavu, broju iteriranih toµcaka i
visini stabla (van okvira slike podatak je o hranidbi: u stablo je uµcitano 20 106 rijeµci).

case postOrdNR: // Call the nonrecursive postorder algorithm.


// ... ... ...
break;
}

Prozor koji ispisuje vremena izvršavanja 18 funkcija (tri radnje, obavljene kroz
tri vrste prolazaka, ostvarena nerekurzivno i rekurzivno) prikazan je na slici 8.4.
Za usporedbu funkcija koje isti prolazak ostvaruju u rekurzivnoj, odnosno u ne-
rekurzivnoj izvedbi, napravit ćemo statistiµcku analizu vremena izvršavanja funkcije
CalcTreeStatPreOrdRR (ispis 8.9), s analognom nerekurzivnom funkcijom CalcTree-
StatPreOrdNR (kreiranom prema algoritmu 8.2). Iz imena ovih funkcija jasno je
da obje izraµcunavaju statistiku stabla u prijerednom prolasku. Na slici 8.4 to su
256 8. Programska implementacija

-stablo 1 (NCZ) -stablo 2 (BTS)


D = 20 N^N ds = 46366 N^N ds = 2097151
2:21% popunjeno 100% popunjeno
Izraµcun stati- Rekurzivni Nerekurz. Rekurzivni Nerekurz.
stike stabla (RR) (NR) (RR) (NR)
t =ms 5.024 5.742 285.35 320.67
= ms 0.027 0.071 0.45 0.63
rel. (%) 0.53% 1.23% 0.16% 0.20%
t
^N ds = s
N
0.108 0.124 0.136 0.153
t = tRR 100.0% 114.3% 100.0% 112.4%

Tablica 8.4: Vremena izvršavanja rekurzivnih (RR) i nerekurzivnih (NR) algoritama.


Uporabom funkcije UpdateTreeStatistics izmjereno je trajanje prikupljanja statistike
µcvorova za dva glavna stabla visine D = 20, nahranjena sa po 20 106 rijeµci — prvo iz
sustava “nema uzastopnih nula” (NCZ), drugo i Bernoullijevog niza (BTS) (oba uz sjeme
x0 = 1=3 na 15 decimala i 100 tranzijentnih toµcaka). Prvo je stablo rijetko popunjeno,
a drugo puno. Legenda: t = izmjereno vrijeme izvršavanja algoritma, = standardna
devijacija mjerenja u apsolutnom i relativnom iznosu, ^
t=NN ds = prosjeµcno utrošeno
vrijeme po µcvoru, t= tRR = omjer vremena prema trajanju rekurzivnog algoritma.

donja i gornja inaµcica funkcije (radnje) f3 u prvoj koloni. Dva standardna testna di-
namiµcka sustava, “nema uzastopnih nula”(NCZ) i Bernoullijev vremenski niz (BTS),
nahranili su svoja stabla visine 20, svaki s 20 106 rijeµci. Prvi je sustav oformio
relativno rijetko, a drugi puno, stablo. Jednostavnim odabirom novog mjerenja — u
prozoru poruke sa slike 8.4 — dobiva se novi skup rezultata. Iz višestrukih mjerenja
napravljena je statistika tih vremena, koja je izloµzena u tablici 8.4.
Vrijeme t izvršavanja algoritma odre†eno je na temelju 10 stabilnih i konzi-
stentnih mjerenja bez većih odstupanja. Problematika mjerenja vremena na višeza-
daćnim operacijskim sustavima već je diskutirana u 8.3.4. Tamo smo zakljuµcili da
naša metoda mjerenja ima toµcnost reda veliµcine jedne periode takta procesora, pa
je jasno da je ova standardna devijacija, iako nevelika, uzrokovana upravo utjeca-
jem izvršavanja pozadinskih procesa pod kontrolom operacijskog sustava. S druge
strane, sve nama zanimljive promjene znatno su veće od standardne devijacije, pa
zato iz mjerenja moµzemo izvlaµciti pouzdane zakljuµcke.
Prva vaµzna µcinjenica — moµzda iznena†ujuća za µcitatelja — jest da su rekurzivni
algoritmi zaista brµzi. Nerekurzivni algoritmi zaostaju za njima u rasponu od 12%
do 14% (što je vrlo signi…kantan iznos s obzirom na standardnu devijaciju mjerenja
od oko 1% i manje). Time se potvr†uje teorijski izvod koji za rekurzivne algoritme
daje manju vremensku konstantu nego za nerekurzivne (8.35, 8.36, 8.38). Dodatna
8. Programska implementacija 257

su mjerenja pokazala da nema bitnih poboljšanja kada se poziv funkcije prolaska


zamijeni uklopljenim rješenjem, sugeriranim na kraju pododjeljka 8.4.4. Nadalje,
mjerenja za jednostavnije funkcije (f1 i f2 na slici 8.4, od kojih prva ne obavlja
ništa, a druga samo pobrojava µcvorove) pokazuju da nerekurzivni algoritmi zaostaju
do 30%, odnosno da su rekurzivni brµzi µcak do 25% . Postoji (mala) mogućnost da
na gornji zakljuµcak utjeµce µcinjenica rabi li se dinamiµcki alocirana memorija — kao
što je kod nas sluµcaj — ili ne, što bi trebalo dodatno provjeriti.

Dakle, dodatno vrijeme — koje se u nerekurzivnim prolaznim algoritmima troši


za nalaµzenje sljedećeg µcvora — nadmašuje vrijeme utrošeno na rekurzivne pozive
u inaµce jednostavnim rekurzivnim algoritmima. Jedini dodatni trošak rekurzivnih
rješenja jest intenzivnija uporaba sustavske stoµzne memorije, što se vidi iz usporedbe
izraza (8.27) i (8.28). Me†utim, taj je porast memorijskog prostora linearan s visi-
nom stabla i ne predstavlja znaµcajno opterećenje za suvremena raµcunala.

Ovime smo pobili uvrijeµzeno mišljenje — moµzda ne znanstveno elaborirano, ali


svakako prisutno u raµcunarskoj praksi — da su nerekurzivna rješenja brµza, odnosno
da se kod rekurzivnih rješenja plaća ceh zbog intenzivnih poziva vanjskih funkcija
(vidjeti npr. [1, pogl. 2]). Upravo nas je takvo razmišljanje, zajedno s nastojanjem da
se smanji opterećenje sustavskog stoga, potaklo da od poµcetka izrade DSA programa
krenemo s implementacijom nerekurzivnih algoritama. No, ako su pred nekoliko
desetljeća i postojali hardversko-sustavski razlozi koji su prijeµcili intenzivniju upo-
rabu rekurzija na raµcunalima standardne namjene, danas to oµcito nije tako. Ovdje
smo teorijski i eksperimentalno dokazali prednost rekurzivnih pred nerekurzivnim
algoritmima, u sluµcaju kad oni na podatkovnoj strukturi obavljaju cjelovitu radnju.
Ta se prednost oµcituje i u njihovoj jednostavnosti i u performansama. S druge strane,
u sljedećem ćemo pododjeljku izloµziti prikladnost uporabe nerekurzivnih algoritama
kad se oni koriste u sprezi s drugim algoritmima.

Uoµcimo još da je vrijeme izvo†enja prolaznih algoritama po jednom µcvoru za


BTS sustav oko 1:25 puta veće nego za NCZ sustav. Uzrok tome, kao i kod algo-
ritma hranidbe, nalazimo u znatno (45 puta) većem broju µcvorova njegova glavnog
stabla od stabla NCZ sustava i zato sporijem pristupu memoriji (diskusija na kraju
pododjeljka 8.3.4 i podbilješka 14). Ovdje se, za razliku od TF algoritma, µcvorovi ne
kreiraju već samo posjećuju, a potom se iz njih dohvaća sadrµzaj. Tijekom prolaska
kroz stablo µcvorovima se pristupa na pravilniji naµcin nego kod uµcitavanja nasumiµcnih
rijeµci BTS sustava, pa je i usporenje memorijskih mehanizama nešto manje.
258 8. Programska implementacija

8.4.6 Rezime o prolaznim algoritmima


Algoritmi prolaska potrebni su pri ostvarenju mnogih zadaća koje se obavljaju na
strukturi stabla. Kod ostvarenja DSA programa susreli smo se s potrebom njihove
implementacije radi istraµzivanja rašµclambenih stabala sustava, pa smo u poµcetka
krenuli s izradom nerekurzivnih inaµcica. Razlozi su bili, kao što smo već naveli, iz-
bjegavanje mogućih problema s opterećenjem stoga te (krivo) pretpostavljeno posti-
zanje veće brzine. Tako†er, implementacija nerekurzivnih algoritama predstavljala
je i dodatan raµcunarski izazov našeg poµcetnog rada [44].
U ovom smo radu dodatno teorijski i eksperimentalno usporedili obje inaµcice al-
goritama te zaokruµzili njihov opis, primjenu i eksperimentalnu analizu. Iako izvorno
namijenjeni za speci…µcna, binarna -stabla, oni su (uz male izmjene) primjenjivi i
na općenitim stablima. Ustanovili smo da su rekurzivni brµzi za dinamiµcki kreirane
µcvorove stabla. No, nerekurzivni algoritmi imaju svojih znaµcajnih prednosti kad je
sustavska stoµzna memorija relativno mala i u svim primjenama kad µzelimo eksplicit-
ni indikator (kazaljku) na sljedeći µcvor u prolasku. Ta je funkcionalnost svojstvena
ovim algoritmima. Da se to ostvari s pomoću rekurzivnih algoritama, morala bi se
organizirati dodatna lista u kojoj se biljeµzi redoslijed posjeta µcvorovima.

8.5 Algoritam za usporedbu stabala


Pošto smo u odjeljku 8.3 opisali algoritam za hranidbu glavnog stabla (TF), a u
prethodnom odjeljku obrazloµzili razliµcite naµcine prolaska kroz µcvorove (pod)stabala,
ovdje se usredotoµcujemo na usporedbu (pod)stabala. Traµzimo oblikovno (morfološ-
ki) i vjerojatnosno jedinstvena -podstabla, koja precizno nazivamo (L; )-morfovi.
Ti su morfovi predstavnici klasa (L; )-ekvivalencije i podudarni su s uzroµcnim sta-
njima (§6.2.6). Kljuµcan postupak pri njihovu nalaµzenju me†usobna je usporedba
podstabala, tj. provjera njihove (L; )-ekvivalencije (def. 6.4 i 6.11, primjer u 6.5.6).
Tu usporedbu ostvaruje funkcija CompareTo. Prvobitno je ona bila µclanica temeljne
klase CABinTree , no sada je premještena u klasu podstabala CSubABinTree. Naime,
ta je klasa i kreirana zato da se iz proizvoljnog stabla — bilo iz klase glavnog stabla
CMainABinTree, bilo iz same klase podstabala — lako kreira njegova “kopija”ili pak
neko podstablo, na kojima će se potom obavljati µzeljene radnje. Pritom se, kao što
smo već istakli, ne kreiraju novi µcvorovi, već se koriste postojeći µcvorovi originalnog
(nad)stabla. U novonastali objekt pohranjuju se svi podaci temeljne klase: kazaljka
na korijenski µcvor, visina podstabla itd., te uz to još i podatak speci…µcan za klasu
8. Programska implementacija 259

podstabla — binaran niz koji de…nira korijen podstabla kao µcvor unutar glavnog
stabla (vidjeti ispis L.6). Po stvaranju podstabla standardno se — prebrojavanjem
njegovih lijevih i desnih µcvorova te lijevih i desnih listova — odmah odre†uje i njegova
statistika. Ona daje globalan uvid u oblik i popunjenost podstabala te će kao takva
posluµziti i prilikom njihove usporedbe.

8.5.1 Funkcija CompareTo


Algoritam usporedbe (engl. Compare Tree, CT) predstavljen je svojom implementa-
cijskom funkcijom CompareTo (ispis 8.13). Ova kljuµcna funkcija DSA programa u
bitnom je zadrµzala svoj izvoran, nerekurzivan dizajn, predstavljen u [44]. U novoj
inaµcici manjim je preinakama poboljšana njezina formalna korektnost. Iako su re-
kurzivni algoritmi u naµcelu elegantniji i kraći, a moµzebitno i nešto brµzi (što smo za
algoritme prolaska kroz dinamiµcki kreirana stabla pokazali u prethodnom odjeljku),
kad se radi o zahtjevnim algoritmima s mnogo provjera i razmjena podataka kao što
je ovaj, tada se i rekurzivna rješenja bitno usloµznjuju (npr. u rasporedu i uvjetima
rekurzivnih poziva). Zato smo za sada zadrµzali postojeće, nerekurzivno rješenje.
Funkcija operira na podstablu de…niranom kazaljkom this i uspore†uje ga s
podstablom na koje pokazuje kazaljka pStr. U našoj izvedbi ova funkcija ne samo da
će diskriminirati podstabla po njihovoj (L; )-ekvivalentnosti [prema izrazu (6.56)],
već će modelaru podastrijeti dodatne korisne podatke o strukturi stabla. Primjerice,
ako podstabla nisu (L; )-jednaka, ona javlja je li to zbog razlike u njihovu obliku
(morfologiji) ili pak samo zbog vjerojatnosne razlike izme†u oblikovno (morfološki)
identiµcnih podstabala. Podrobnije ćemo to obrazloµziti u opisu koji slijedi.
Algoritam zapoµcinje postavljanjem logiµcke varijable za kontrolu okonµcanja pro-
laska kroz stablo, bTrvrsDone, na laµznu vrijednost i inicijalizacijom zastavice fFlg
kombinirane namjene na nulu. S pomoću dviju kazaljki, pNdC i pNdCT, operira se
na dva (korespondentna) µcvora, od kojih je prvi iz “ovog” podstabla, oznaµcenog
kazaljkom this, dok je drugi iz podstabla s kojim se ovo stablo uspore†uje. Prije
nego zapoµcnemo usporedbu “µcvor na µcvor”— kojom se uspore†uju svi µcvorovi sta-
bala — moµzemo pokušati rano okonµcati algoritam usporedbom statistika podstabala
(odre†enih prilikom njihove kreacije). Podstabla kojima su te statistike razliµcite,
imaju razliµcit broj bilo lijevih bilo desnih µcvorova ili listova, pa su ona nuµzno mor-
fološki razliµcita. U skladu s de…nicijom 6.9 ona ne mogu biti (L; )-ekvivalentna.
Zato se algoritam svršava i vraća zastavicu fFlg postavljenu na vrijednost 2.0 ,
oznaµcujući njome morfološku razliµcitost podstabala. Usporedba statistika daje samo
260 8. Programska implementacija

diskriminirajući, ne i a…rmirajući kriterij, jer će uz jednake statistike (isti broj lijevih
i desnih µcvorova i listova) stabla biti morfološki razliµcita ako su im µcvorovi drugaµcije
raspore†eni. Ako statistike jesu jednake, provjera morfoloških i vjerojatnosnih raz-
liµcitosti µcvorova stabala obavlja se u narednim koracima CT algoritma.
Usporedba statistika broja µcvorova moµze uštedjeti mnogo vremena prilikom uspo-
redbe velikih, oblikovno razliµcitih podstabala — kakva nalazimo unutar glavnog sta-
bla bogate strukture. Suprotan je sluµcaj punog glavnog stabla, s maksimalnim
brojem µcvorova i listova, kojemu su i sva podstabla puna. Puna podstabla jednake
visine imaju iste statistike, pa njih treba razluµcivati na temelju vjerojatnosnih raz-
lika (vidjeti tablicu 8.8). Tako†er, valja primijetiti da se spomenuta ušteda vremena
na komparaciji podstabala ne ostvaruje besplatno. Za prikupljanje statistike troši se
vrijeme proporcionalno broju µcvorova podstabla (§8.4.5, tab. 8.4). Ušteda ipak mo-
µze biti znatna, jer se kod nalaµzenja morfova za svako novo podstablo koje je kandidat
za morfa statistika tvori samo jednom, dok je broj potrebnih usporedbi podstabala
jednak broju prethodno prona†enih morfova (za detalje vidjeti §8.7).
Dakle, ako je ustanovljeno da je statistika podstabala identiµcna, podstabla se
moraju usporediti µcvor po µcvor. Budući da stablo raste iz korijena, njegova se
struktura najprirodnije prouµcava polazeći iz tog µcvora, pa je za ovu provjeru najpri-
kladniji prijeredni prolazak. Zato u oba stabla inicijaliziramo prijeredni prolazak i
zabiljeµzimo kazaljke korijenskih µcvorova u varijable pNdC i pNdCT. Korijenski µcvorovi
podstabala uspore†uju se posebno od ostalih µcvorova, jer po de…niciji općenitog, pa
tako i -stabla, korijen nema roditelja, pa se i odnos korijenskog µcvora podstabla
prema svom roditelju mora ignorirati (§A.1, A.2).19 Postojanje nasljednika za oba
korijena testirano je s pomoću funkcije HasChidlren na jedan od µcetiri moguća
ishoda: none , leftOnly , rightOnly , both (nijedno dijete, samo lijevo, samo desno,
oba djeteta). Ako ovo nije jednako za oba podstabla, algoritam se ponovo okonµcava
sa zastavicom fFlg = 2.0 . Ako je struktura djece ista, tada se u oba stabla obavlja
nerekurzivni prijeredni pomak na sljedeći µcvor. Ako oba prolaska nisu završena,
tj. ako su kontrolne varijable bTrv1Done == bTrv2Done == false , tada ulazimo u
iteraciju ostvarenu s pomoću while petlje. Za µcvorove koji su ispod razine korije-
na, pored provjere strukture djece funkcijom HasChidlren, provjeravamo i karakter
samih µcvorova u odnosu na njihove roditelje, tj. jesu li oni oba ili lijevo ili desno
dijete. Ako nisu, podstabla su ponovo morfološki razliµcita, pa algoritam staje i

19
Jedino podstablo µciji korijenski µcvor nema roditelja u nadstablu u kojem je podstablo kreirano
jest korijensko podstablo — ono koje izrasta iz samog korijena svojeg nadstabla.
8. Programska implementacija 261

vraća zastavicu fFlg = 2.0 . Inaµce, izraµcunavamo apsolutne vjerojatnosti za oba


µcvora uporabom funkcije NodeProblty . Ova jednostavna funkcija (objavljena kao
ugradbena u temeljnoj klasi stabla) dijeli izbrojak promatranog µcvora s izbrojkom u
korijenu podstabla, u skladu s formulom (6.47), te na taj naµcin nalazi aposteriornu
vjerojatnost binarnog podniza koji je de…niran poloµzajem µcvora u podstablu, odno-
sno stazom od korijena do µcvora. Apsolutna vrijednost razlike ovih vjerojatnosti za
promatrana dva µcvora pohranjuje se u zastavici fFlg , a potom se provjerava je li
ona veća od maksimalne vjerojatnosne razlike fDiffMax koja je do sada prona†ena.
Ako jest, s pomoću funkcije NodeFullString utvr†uje se niz koji de…nira µcvor u
kojem je na†eno novo maksimalno vjerojatnosno odstupanje. Taj se niz pohranjuje
u varijablu sMaxDiffNode tipa CString.
Nakon potpune oblikovne i vjerojatnosne provjere para odgovarajućih µcvorova
prelazi se na sljedeći par po prijerednom prolasku. while petlja nastavlja iteraciju
sve dok barem jedan od prolazaka nije okonµcan. Ako su po izlasku iz petlje oba pro-
laska okonµcana (istovremeno), zastavica fFlg postavlja se na vrijednost fDiffMax,
a ako nisu, na 2.0 , jer je ustanovljena morfološka razliµcitost podstabala.

Ispis 8.13 Funkcija CompareTo , koja implementira CT algoritam, za usporedbu


(pod)stabala. Djelovanjem na podstablo “koje valja usporediti”, funkcija ga uspore†uje
s podstablom de…niranim kazaljkom CSubABinTree* pSTr .
float CSubABinTree::CompareTo(const CSubABinTree* pSTr,
CString& sMaxDiffNd) const
{
bool bTrv1Done = false, bTrv2Done = false; // The travrs. control.
float fDiffMax = 0.f;
float fFlg;
CBinTreeNode* pNdC; // Ptr. to the current node of "this" tree.
CBinTreeNode* pNdCT; // Ptr. to the current node of *pSTr tree.
// The tree statistics comparison (can be made optional):
if(!(m_TreeStat == pSTr->GetTreeStatistics()))
return fFlg = 2.f; // Different tree statistics!
pNdC = InitPreOrd(); // Initialize the preorder traversal
pNdCT = pSTr->InitPreOrd(); // for both subtrees.
// Compare roots:
if(HasChildren(pNdC) == pSTr>HasChildren(pNdCT))
{
pNdC = TravrsPreOrd(pNdC, bTrv1Done);
pNdCT = pSTr->TravrsPreOrd(pNdCT, bTrv2Done);
while(!bTrv1Done && !bTrv2Done) // Check the nodes below root:
{
262 8. Programska implementacija

if( HasChildren(pNdC) == pSTr->HasChildren(pNdCT) &&


( IsLChild(pNdC) && pSTr->IsLChild(pNdCT) jj
IsRChild(pNdC) && pSTr->IsRChild(pNdCT) ) )
// The nodes are topologically equal, compare their
// probabilities:
{
fFlg = float( fabs(NodeProblty(pNdC) -
pSTr->NodeProblty(pNdCT)) );
if(fFlg > fDiffMax)
{
fDiffMax = fFlg;
sMaxDiffNd = NodeFullString(pNdC);
}
}
else
{
return fFlg = 2.f; // Morphologically different.
}
pNdC = TravrsPreOrd(pNdC, bTrvrDone );
pNdCT = pSTr->TravrsPreOrd(pNdCT, bTrvrDone);
} // (while)
if(bTrv1Done && bTrv2Done) fFlg = fDiffMax;
else fFlg = 2.f;
}
else // Difference at the root level:
{
fFlg= 2.f; // Morphologically different.
}
return fFlg;
}

Rezimiramo moguće vrijednosti zastavica CT algoritma:


fFlg = 2.0 — uspore†ivana podstabla morfološki su razliµcita;
fFlg 2 [0; 1) — uspore†ivana podstabla morfološki su identiµcna, a zastavica
ima vrijednost maksimalne vjerojatnosne razlike prona†ene izme†u njihova
dva odgovarajuća µcvora. Binarni podniz koji jedinstveno de…nira poloµzaj
tih µcvorova s obzirom na korijen njihova podstabla zabiljeµzen je u C-nizu
sMaxDiffNode. Uoµcimo da fFlg ne moµze imati vrijednost 1. , jer se takva
razlika vjerojatnosti moµze javiti samo za “par” u kojem je prvi µcvor jedino
dijete a drugog µcvora niti nema, što pak vodi na morfološku razliµcitost.
Sada je lako dokazati da funkcija vraća zastavicu koja je valjana vjerojatnost,
fFlg == fDiffMax < 1 , ako i samo ako su podstabla morfološki identiµcna. Naime,
8. Programska implementacija 263

iz CT je algoritma razvidno da je uz istu vrstu prolaska kroz oba podstabla tada


za svaki uspore†eni par µcvorova morala postojati istovjetna topologija. Tako†er,
algoritam je morao izaći iz while petlje uz obje kontrolne varijable prolazaka s isti-
nitom vrijednosti. Prema tome, podstabla jesu morfološki identiµcna, a vraćena zasta-
vica sadrµzi maksimalnu vjerojatnosnu razliku izme†u njihovih podudarnih µcvorova,
de…niranih sMaxDiffNode nizom. Ovim opisom CT algoritma ujedno smo dokazali
njegovu korektnost.

8.5.2 Odlike CT algoritma


Iz prethodne diskusije zakljuµcujemo na dvije vaµzne odlike CT algoritma, implemen-
tiranog s pomoću funkcije CompareTo :

i. algoritam se okonµcava ili po otkriću topološke razlike izme†u µcvorova, koja


upućuje na morfološku razliku podstabala, ili

ii. u morfološki jednakim podstablima obavlja potpunu usporedbu svih µcvorova


te nalazi maksimalnu vjerojatnosnu razliku i µcvor u kojem se ona pojavljuje.

Umjesto rješenja opisanog u toµcki (ii) usporedba se mogla završiti odmah po


nalaµzenju vjerojatnosne razlike veće od parametra , kao što je npr. sugerirano u [21].
(Tada bi racionalnije bilo uspore†ivati µcvorove uporabom poslijerednog prolaska, jer
on kreće od razine listova gdje su i vjerojatnosne razlike veće.) No u takvom —
prosjeµcno brµzem — rješenju ne bismo prikupili dodatnu informaciju o maksimalnoj
vjerojatnosnoj diskrepanciji izme†u µcvorova. Ta je informacija itekako korisna u
procesu modeliranja upravo za namještanje vjerojatnosne preciznosti . Tako†er,
uz ranu vjerojatnosnu diskriminaciju provjera topoloških razlika ne bi bila obavl-
jena u potpunosti, pa ne bismo dobili suštinski podatak o tome postoji li oblikovna
podudarnost uspore†ivanih podstabala ili ne.

8.5.3 Sloµzenost CT algoritma


Vremenska sloµzenost. Analiza vremenske sloµzenosti ovog algoritma analogna je
prostornoj sloµzenosti TF algoritma hranidbe stabla iz 8.3.3. Oznaµcimo s N ^N ds =
N^N ds (L) broj µcvorova u (pod)stablima koje uspore†ujemo. Ako stabla imaju raz-
liµcit broj µcvorova, to će biti manji od dva broja, jer će algoritam stati nakon pro-
laska kroz sve µcvorove manjeg stabla, ustanovljujući pri tom morfološku razliku
264 8. Programska implementacija

izme†u stabala. Vremenska sloµzenost CT algoritma jednostavna je linearna ovisnost


o broju µcvorova stabala:

TCT (L) ^N ds = O N
tN dC N ^N ds : (8.41)

Ovdje je tN dC prosjeµcno vrijeme potrebno za usporedbu jednog para µcvorova. U


njega ćemo ukljuµciti i vrijeme potrebno za pristup novom paru µcvorova, u rekurzivnim
ili nerekurzivnim inaµcicama prolaska (razmatranim u prethodnom odjeljku).
Budući da je ovisnost o broju µcvorova linearna kao i kod algoritama hranidbe i
prolaska kroz stablo, izrazi za vremensku sloµzenost i njezine redove veliµcina bit će
analogni. Za podstablo visine L dobivamo:

bL+1
TCT (b; L) tN dC ; uz uvjet iz (8.24a) ; (8.42a)
b 1

b L b L ld b
TCT (b; L) = O b =O 2 (8.42b)
b0 b0
b
= O 2ld b0 +L ld b = O 2L ld b :

Donja i gornja granica te prosjeµcne vrijednosti iznose:

tN dC (L + 1) TCT (L) tN dC 2L+1 1 ; (8.43a)


tN dC L / TCT (L) / tN dC 2L+1 ; (8.43b)
O (L) TCT (L) O 2L+1 ; (8.43c)

D E
hTCT (L)iAvr= bM tN dC ^
NN ds (L) tN dC 2EAvr= bM (L)
Avr= bM
EAvr= bM (L)
= O 2 ; (8.43d)

EAvr (L) = (8.25e), EbM (L) = (8.25f), uz zamjenu: D ! L . (8.43e)

U gornjim je formulama pretpostavljeno da je broj µcvorova u oba stabla jednak


i da CT algoritam mora proći kroz sve njih. Broj µcvorova u (8.42) odre†en je pa-
rametrom b, a u (8.43) su za njega postavljene donja i gornja granica te neka od
ranije uvedenih srednjih vrijednosti za -stablo visine D . No CT algoritam staje µcim
za promatrani par µcvorova prona†e topološku razliku, pa prethodni rezultati pred-
stavljaju gornju granicu njegove vremenske sloµzenosti. Neka je TCT (L) prosjeµcno
8. Programska implementacija 265

vrijeme izvršavanja algoritma prije nalaµzenja topološke razlike izme†u µcvorova.20 Uz


pretpostavku da je to vrijeme upola kraće od gornjeg vrijedi:
1 1
TCT (b; L) TCT (b; L) ; TCT (L) TCT (L) : (8.44)
2 2
Nadalje, dva morfološki razliµcita podstabla s me†usobno razliµcitim brojem lijevih
ili desnih µcvorova ili listova, diskriminirat će se usporedbom njihovih statistika. To
je moguće samo za glavna stabla koja nisu puna i koja nisu lijevo ili desno degeneri-
rana, dakle za ona koja imaju podstabla s morfološkim razliµcitostima. Preduvjet je
za to 1 < b < 2 . Kao što smo već napomenuli, vrijeme za tvorbu statistike utroši se
samo jednom — prilikom tvorbe kandidata morfa. Budući da se radi o vremenskoj
konstanti neovisnoj o visini stabla, ovdje je moµzemo zanemariti. Konaµcni je uµcinak
da će prosjeµcni iznos (8.43d) biti to manji što je stablo bogatije strukture i što ima
više morfološki razliµcitih podstabala. Ovo je razra†eno kao poseban sluµcaj u analizi
algoritama za nalaµzenje morfova (§8.7, detalji u prilozima D.3 i E.2.10).
Prostorna sloµzenost. CT algoritam u bitnom koristi µcvorove glavnog stabla, uz
zanemarivi dodatni …ksni prostor za lokalne varijable (vidjeti ispis 8.13). Stoga je
njegova prostorna sloµzenost linearna u broju µcvorova i istovjetna sloµzenosti algoritma
hranidbe, TF:

SCT (b; L) = ST F (b; L) [vidjeti (8.24) ] ; (8.45a)


Raspon SCT (L) = raspon ST F (L) [vidjeti (8.25a, b, c) ] ; (8.45b)
hSCT (L)iAvr= bM = hST F (L)iAvr= bM [vidjeti (8.25d) ] . (8.45c)

Naglasimo ponovo da sa stanovišta programa u cjelini nije utrošena nikakva


dodatna memorija. Ovaj algoritam, prolazni algoritmi, kao i svi ostali algoritmi
temeljeni na konceptu -podstabla, koriste zajedniµcki memorijski prostor glavnog
rašµclambenog stabla, koji je bio alociran prilikom izvo†enja algoritma hranidbe.

8.6 Algoritmi za nalaµzenje morfova i SFA modela


Pošto smo konstruirali algoritam za usporedbu (pod)stabala, spremni smo za traµzenje
svih onih podstabala koja su od ostalih razliµcita bilo po obliku (morfološki), bilo po
vjerojatnostima svojih µcvorova (stohastiµcki). Ta su podstabla jedinstvena (engl.
20
Za razliku od ove oznake, prosjeµcna sloµzenost CT algoritma usrednjena po ukupnom broju
µcvorova u (pod)stablima oznaµcena je trokutastim zagradama, hTCT (L)iAvr , kao u (8.43d).
266 8. Programska implementacija

unique) i nazivamo ih morfovi. Morfovi predstavljaju uzroµcna stanja sustava, a


njihova je jedinstvenost de…nirana relacijama L i (L; )-ekvivalencije (§6.2.6, def.
6.9, 6.10, korolar 6.2). Organizirani su u klasi CATrMorphs (od engl. Automata Tree
Morphs), µcije ime odraµzava µcinjenicu da su to oblikovne strukture iz posebnih ( )
stabala, vezanih uz nalaµzenje raµcunskih modela sustava.
Poµcetak suµcelja klase CATrMorphs prikazan je u prilogu L.4 (ispis L.10). Ta je
klasa osnova za realizaciju temeljnog -stroja, na drugoj razini hijerarhijskog mo-
deliranja, kojeg predstavljamo SFA-modelom (§6.4). Porastom razine modeliranja
raste i sloµzenost programske implementacije, što se oµcituje u velikom broju µclan-
skih varijabli ove klase, kompleksnijem odnosu s drugim klasama te mnogobrojnim
µclanskim funkcijama. Dodatno je broj µclanica ove klase narastao prilikom realizacije
mjerenja vremena algoritama za nalaµzenje morfova.
U ispisu 8.14 dajemo kratak izvadak iz deklaracije klase bitan za praćenje algo-
ritama nalaµzenja morfova koje izlaµzemo u nastavku. U komentarima nakon naziva
prvih varijabli napisane su i njihove oznake iz prethodnog teorijskog izlaganja, tako
da je znaµcenje prve µcetiri µclanske varijable jasno.

8.6.1 Prolazno stablo i rubni morfovi


Za razumijevanje sljedeće varijable, kazaljke m_pTrvrsTree na tip CSubABinTree,
moramo objasniti pojam prolaznog stabla (engl. traversal tree). To je -podstablo
koje raste iz korijena glavnog stabla i ima visinu (dubinu) D L, gdje je D visina
glavnog stabla, a L visina morfa (usporediti s izlaganjem u 6.6.2). Iz µcvorova pro-
laznog stabla kreiraju se podstabla visine L koja su kandidati za morfove. Listovi
prolaznog stabla µcvorovi su na maksimalnoj razini (najniµzi na slikama) iz kojih se
to jošmoµze napraviti. Razinu listova prolaznog stabla oznaµcit ćemo s lT T r;Lvs . Ona
je po de…niciji jednaka visini prolaznog stabla:

lT T r;Lvs = D L: (8.46)

Morfovi s korijenima na razini lT T r;Lvs rubni su morfovi, uvedeni u 6.6.2. Njihova


-podstabla na razini lT T r;Lvs +1 imaju maksimalnu visinu D (D L + 1) = L 1,
koja nije dostatna da se oformi valjani kandidat za morfa [usporediti s uvjetom
(6.58)]. Stoga iz rubnih morfova prijelazi ne mogu biti de…nirani, pa niti zatvoreni
u prethodno na†ene morfove — što je nuµzan preduvjet za regularnost SFA. Zato je
SFA-model koji sadrµzi makar jedan rubni morf neregularan.21
21
Za razmatranje rubnih morfova u kontekstu rada i sloµzenosti FM algoritma vidjeti dodatak E.
8. Programska implementacija 267

Kad standardni, FM, algoritam za nalaµzenje morfova do†e do razine listova


prolaznog stabla i tamo prona†e rubne morfove, on postavlja logiµcku varijablu
m_bMrphTrnsClsd (od engl. morphs’transitions closed) na vrijednost false, što au-
tomatski znaµci neregularnost dobivenog modela.

8.6.2 Lista morfova


Lista morfova organizirana je s pomoću poretka m_MrphPtrArr tipiziranih kazaljki na
klasu podstabala, koji je ostvaren klasom predloška poretka (engl. template array)
CTypedPtrArray< >.22 Ona će sadrµzavati kazaljke na morfove, odnosno na pod-
stabla za koja je ustanovljena morfološka ili vjerojatnosna jedinstvenost. Prilikom
nalaµzenja morfova odmah ćemo biljeµziti i prijelaze izme†u njih te otuda konstru-
irati SFA-model. Posljednja od vaµznijih varijabli prikazanih u ispisu poredak je
m_MrphTrnsPtrArr tipiziranih kazaljki na pomoćnu klasu CMrphTrans , u kojoj je
oklopljen opis prijelaza izme†u morfova i njihovih vjerojatnosti.

Ispis 8.14 Kratak izvadak iz suµcelja klase morfova CATrMorphs, s najvaµznijim µclan-
skim varijablama.

class CATrMorphs : public CObject


{
// Data members:
private:
CMainABinTree* m_pMainTree; // Pointer to the morphs’ main tree.
UINT m_uMTrHeight; // Height (D) of the morph’s main tree.
UINT m_uHeight; // Height (L) of the morphs (subtrees).
float m_fDelta; // Delta probability parameter .
CSubABinTree* m_pTrvrsTree; // Pointer to the ’traversal tree’
// of height H(Tr.Tree) = D - L.
protected:
bool m_bSearchDone; // True if morph search is done, else false.
bool m_bMrphTrnsClsd; // True if all morph transitions close to
// each other--the condition for a regular SFA.
// Typed pointer array of unique subtrees (morphs):
CTypedPtrArray<CObArray, CSubABinTree*> m_MrphPtrArr;
// An array of pointers to the CTrMorphsTrans objects containing
// the possible transitions from morph to morph, and their cor-
// responding probabilities, within this CATrMorphs object.
CTypedPtrArray<CObArray, CTrMorphsTrans*> m_MrphTrnsPtrArr;
22
Uporaba ovih dinamiµckih poredaka motivirana je njihovom ‡eksibilnosti i sigurnom provjerom
tipova podataka. Opravdana je uvijek kad se ne radi o vremenski kritiµcnim dijelovima programa.
268 8. Programska implementacija

// Other member variables and functions:


// ... ... ...
// ... ... ...
}

8.6.3 Programska implementacija FM algoritma


Da prona†emo sve jedinstvene morfove i zabiljeµzimo relevantne podatke o njihovim
me†usobnim prijelazima, slijedimo FM algoritam (§6.6.1, alg. 6.2). Potpunosti radi,
ovdje ga ukratko prepriµcavamo u kontekstu njegove implementacije u DSA progra-
mu. Pojedine njegove korake implementiraju µclanske funkcije klase CATrMorphs, koje
ćemo u daljnjem izlaganju detaljno obrazloµziti. (Objavljeno u [47]).
Algoritam 8.4 Programska implementacija FM algoritma. Nalaµzenje (L; )-
jedinstvenih morfova visine L, s parametrom vjerojatnosne preciznosti , unutar
rašµclambenog (glavnog) -stabla visine D , nahranjenog rijeµcima iz nekog vremenskog
niza. [Naziv -(pod)stablo ovdje skra´cujemo u (pod)stablo].
1. Kreacija korijenskog morfa. Kreirati podstablo visine L, 1 L D , iz
korijena glavnog stabla. Po de…niciji je to jedinstveno podstablo i stoga morf,
pa ga pohranjujemo u listu morfova na mjesto 0 . Time broj NM rs morfova u
listi postaje NM rs = 1 . Inicijalizirati indeks morfa, i 0.
2. Nalaµzenje nasljednih morfova i-tog morfa. Za i-ti morf u listi, predsta-
vljen jedinstvenim podstablom na razini l , provjeriti je li on rubni, tj. je li
l = D L. Ako jest, zabiljeµziti to kao neregularnost SFA i odmah ići na korak
3. Ako nije, na razini 0 l < D L mora postojati bar jedno podstablo. Ako
postoji lijevo dijete korijena morfa, kreirati iz njega privremeno podstablo kao
kandidata za morfa (engl. morph candidate). Usporediti tog kandidata s pret-
hodno prona†enim morfovima u listi. Ako je on morfološki ili vjerojatnosno
jedinstven, umetnuti ga u listu morfova te u paralelnoj listi prijelaza mor-
fova pohraniti podatak da je novoprona†eni morf lijevi podmorf i-tog morfa,
zajedno s vjerojatnošću prijelaza u njega. Ako kandidat nije jedinstveno pod-
stablo (morf), obrisati ga. Ponoviti istu proceduru za desno podstablo, ako
postoji. Rezultat ovog koraka su m = 0, 1 ili 2 morfa pridodana u listu
morfova i podaci o m prijelaza iz i-tog morfa u m novih morfova, pridodani u
listu prijelaza. Obnoviti broj morfova, NM rs NM rs + m.
3. Provjera ima li u listi morfova onih kojima treba provjeriti njihove
nasljednike. Inkrementirati indeks morfa, i i + 1. Ako je i < NM rs tada
8. Programska implementacija 269

u listi morfova ima onih µcija podstabala nisu provjerena. Vratiti se na korak 2.
Ako je i = NM rs , u listi nema morfova s neprovjerenim nasljednicima. Kraj.
Korak FM.1 ostvaren je jednostavnom funkcijom FindRootMorph, u skraćenoj
formi danoj u ispisu 8.15. U njoj funkcija NewSubTrMrphCand kreira korijensko pod-
stablo, koje je uvijek (korijenski) morf. On se pohranjuje na poµcetno (nulto) mjesto
u listi morfova. Za svaki novi morf stvara se objekt pomoćne klase CTrMorphsTrans.
U njega se odmah pri kreaciji biljeµzi identi…kacijski niz kojim je morf (njegov korijen)
odre†en, ovdje prazan niz, "". Prvi je morf i morfološki jedinstven, što biljeµzimo
unosom vrijednosti 2.0 (vidjeti ulogu zastavice fFlg u 8.5.1). U objekt *pTrn
zabiljeµzit ćemo i podatke o lijevom i desnom podmorfu te o vjerojatnostima prije-
laza u njih (pošto ih prona†emo s pomoću funkcije FindChildMorphs, u sljedećem
pododjeljku). Na koncu se taj objekt pohranjuje u paralelnu listu m_mrphTrnsArr.

Ispis 8.15 Funkcija FindRootMorph za ekstrakciju korijenskog morfa, s praznom


listom argumenata (dobiva se preoptere´cenjem op´cenite funkcije, iz ispisa L.11, u
kojem se op´ceniti argumenti zamjenjuju µclanskim varijablama).
CSubABinTree* CATrMorphs::FindRootMorph()
{
if( m_pMainTree->IsEmpty() jj !m_MrphPtrArr.IsEmpty()
jj !m_mrphTrnsPtrArr.IsEmpty() )
return NULL;
// New subtree as a morph candidate:
CSubABinTree* pMrSbTr = NewSubTrMrphCand(m_pTrvrsTree->GetpRoot());
m_MrphPtrArr.Add(pMrSbTr); // The subtree emanating from the root
// is always a unique morph, because it is the first one):
CTrMorphsTrans* pTrn = new CTrMorphsTrans("", 2.f);
m_mrphTrnsPtrArr.Add(pTrn); // Add new MrphTrns structure to the
// m_mrphTrnsPtrArr.
return pMrSbTr;
}

8.6.4 Funkcija FindChildMorphs


Kljuµcni dio algoritma iz toµcke FM.2 realiziran je funkcijom FindChildMorphs, koja je
unaprije†ena inaµcica istoimene funkcije iz [44]. U skraćenom je obliku ona prikazana
u ispisu 8.16. Njezin argument fDelta predstavlja parametar [vidjeti izraze (6.9a,
6.56) i §6.5.6], a iMI je indeks morfa µcija podstabla (podmorfove) istraµzujemo.
Funkcija usput vraća vrijednost pobrojanog tipa hasChildrenType, koji će poslije
270 8. Programska implementacija

posluµziti u provjeri konzistentnosti cijelog postupka. Funkcija se sastoji od dva


simetriµcna dijela: za (mogući) lijevi i za (mogući) desni podmorf, koji su simetriµcni
glede zamjene lijevo –desno.
Nakon oµcitih deklaracija u uvodu, uoµcimo konstantnu kazaljku na µcvor pMRtNdMI,
kojoj pridjeljujemo adresu korijena iMI-tog morfa. Zatim se postavlja pitanje o djeci
koju taj µcvor ima, ali u kontekstu prolaznog stabla:
hasChldrn = pTrvrsTree->HasChildren(pMRtNdMI);

Ako taj µcvor kao dio prolaznog stabla nema djece, radi se o listu prolaznog sta-
bla. Taj je list korijen rubnog morfa, iz kojeg prijelazi ne mogu voditi u nove niti se
zatvoriti u ranije na†ene morfove. Takvi su prijelazi neregularni, pa m_bMrphTrnsClsd
postavljamo na false. Za promatrani µcvor, *pMRtNdMI, zanima nas još postoje li
i koji su prijelazi iz njega u kontekstu glavnog stabla (ne prolaznog!). Za to ra-
bimo funkciju HasChidlren klase CBinTreeNode. Ako µcvor ima dijete u glavnom
stablu, pripadni je prijelaz moguć ali neregularan — što ćemo oznaµciti postavljanjem
indeksa podmorfa na 2. Ako µcvor nema djeteta u glavnom stablu, prijelaz je i
nemoguć — što će oznaµcavati inicijalna vrijednost indeksa, jednaka 1.
Ukoliko je promatrani morf iznad razine listova prolaznog stabla, provjerava se
struktura djece njegova korijena. Iz toga se doznaje ima li on samo lijevo, samo desno
ili oba podstabla. Promotrimo prvu granu algoritma, za sluµcaj da morf ima lijevo
ili oba podstabla. Prije usporedbe podstabala s prethodnim morfovima postavljamo
fMinDiff na vrijednost 2:0, koja — po de…niciji u funkciji CompareTo (ispis 8.13) —
znaµci morfološku razliµcitost. Odgovarajući indeks iMinDiff najsliµcnijeg morfa po-
stavljamo na 1, što oznaµcava da ne postoji morfološki jednako podstablo, a niz
sMaxDiffNd za speci…kaciju µcvora u kojem se pojavilo maksimalno vjerojatnosno
odstupanje postavljamo da bude prazan niz.
Budući da je utvr†eno postojanje lijevog djeteta, na njega pomaknemo tekući
µcvor i s pomoću funkcije NewSubTrMrphCand tvorimo novo podstablo-kandidat za
morfa, de…nirano kazaljkom pSubTr. Njega uspore†ujemo sa svim dosad prona†enim
morfovima, µcije su kazaljke pohranjene u poretku m_MrphPtrArr. Novina u odnosu
na prvotnu verziju algoritma iz [44] dva su nova naµcina ove usporedbe. Izbor izme†u
ukupno tri naµcina kontrolira vrijednost zastavice m_iCmprOrd (od engl. Comparison
Order and Method) prema shemi koja slijedi. Usporedo su za njih navedene i pri-
padne oznake u suµcelju programa,23 te slovµcane kratice koje nadalje koristimo:
23
U većem prozoru na sl. 6.6 dana je lista SFA modela, gdje se u SC koloni nalazi podatak o tipu
usporedbe uporabljene pri nalaµzenju modela.
8. Programska implementacija 271

0 -> = F. Usporedba kreće od prvog, korijenskog, morfa u listi (engl. from


First), s indeksom uI = 0 i nastavlja se prema većim indeksima. Kad se za
podstablo-kandidata ustanovi prva -jednakost s nekim od morfova s indeksom
uI, pretraga staje. Pored morfološke podudarnosti, tada vrijedi i da su vjero-
jatnosti pojavljivanja svih podudarnih µcvorova izme†u podstabla-kandidata i
morfa s indeksom uI unutar vjerojatnosnog parametra fDelta , što je opisano
uvjetom fFlg <= fDelta. S druge strane, ako -jednakost nije ustanovljena,
proći ćemo kroz cijelu listu morfova i tada će vrijediti fFlg > fDelta.
1 <- = L. Usporedba ovdje kreće od zadnjeg morfa u listi (engl. from Last), koji
je i zadnji prona†eni morf, te ide prema ranije otkrivenim morfovima. Uspo-
redba staje kad se prona†e prva -jednakost, pa ovdje imamo istu postupak
kao i u sluµcaju (0), ali u suprotnom smjeru.
2 j - j = A. Usporedba se obavlja sa svim morfovima u listi (engl. with All). Ako
kandidat nije morfološki jedinstven, nalazi se morf kojemu je on vjerojatnosno
najbliµzi. Ako pri tom vrijedi i fFlg <= fDelta, tada je kandidat i (L; )-
ekvivalentan na†enom morfu.
Razliku izme†u ovih usporedbi diskutirat ćemo ubrzo, a sada se vraćamo na
ostatak algoritma. Tijekom usporedbe podstabla-kandidata s morfovima biljeµzi se
za kojeg je od morfova funkcija CompareTo vratila minimalnu zastavicu fFlg. Ako
je kandidat morfološki jedinstven, tj. morfološki razliµcit od svih ranije prona†enih
morfova, tada će fMinDiff ostati na 2:0 . Ako je funkcija CompareTo ustanovila da
je podstablo-kandidat morfološki jednako nekom od morfova, tada će fMinDiff po-
stati manje od 1:0 i imati upravo iznos maksimalne vjerojatnosne razlike prona†ene
izme†u ta dva podstabla.

Ispis 8.16 Funkcija FindChildMorphs za nalaµzenje podmorfova (nasljednih mor-


fova). Lista argumenta pojednostavljena je uporabom lokalnih varijabli.
hasChldrnType CATrMorphs::FindChildMorphs(const float fDelta,
const int iMI)
{
CSubABinTree* pSubTr; // Pointer to the morph-candidate subtree.
float fFlg; // The local flag variable.
float fMinDiff; // Minimal delta-difference.
int iMinDiff; // Index of the morph for which fMinDiff is found.
CString sMaxDiffNd;
hasChldrnType hasChldrn, newMorphs;
CBinTreeNode* pMRtNdNw; // The morph’s root-node pointer.
CTrMorphsTrans* pTrnNw; // The morph’s transition pointer.
272 8. Programska implementacija

// Initializations:
UINT uNMrphs = m_mrphTrnsPtrArr.GetCount(); // Num. of found morphs.
const CBinTreeNode* pMRtNdMI = m_MrphPtrArr[iMI]->GetpRoot();
// Pointer to the morph’s transitions typed pointer array:
CTrMorphsTrans* pTrnMI = m_mrphTrnsPtrArr[iMI];
newMorphs = none;
// Check the children of the *pMRtNdMI root in the context of the
// traversal tree:
hasChldrn = pTrvrsTree->HasChildren(pMRtNdMI);
if (hasChldrn == none) // If there are no children in the traversal
{ // tree, by def. of the CABinTree, this is its leaf level,
// so there are no valid submorphs (no valid transitions).
m_bMrphTrnsClsd = false;
switch(pMRtNdMI->HasChildren())
{
case leftOnly:
pTrnMI->m_iLSubMrph = -2;
break;
case rightOnly: pTrnMI->m_iRSubMrph = -2;
break;
case both:
pTrnMI->m_iLSubMrph = -2;
pTrnMI->m_iRSubMrph = -2;
break; // Pro forma break.
}
}
else // The morph has descendant morphs.
{
if(hasChldrn == leftOnly jj hasChldrn == both) // Check the left
{ // child subtree:
fMinDiff = 2.f;
iMinDiff = -1;
sMaxDiffNd = "";
pMRtNdNw = pMRtNdMI->GetpLChild();
pSubTr = NewSubTrMrphCand(pMRtNdNw);
// Compare the subtree to the morphs in the ptr. array list:
switch(m_iCmprOrd) // m_iCmprOrd determines the morph com-
{ // parison order and method.
case 0: // From beginning to the 1st morph within fDelta.
uI = 0;
do
{
fFlg = pSubTr->CompareTo(m_MrphPtrArr[uI], sMaxDiffNd);
if(fFlg < fMinDiff) { fMinDiff = fFlg; iMinDiff = uI;}
} while(fFlg > fDelta && ++uI < uNMrphs);
break;
8. Programska implementacija 273

case 1: // From the last morph to the first within fDelta.


uI = uNMrphs - 1;
do
{
fFlg = pSubTr->CompareTo(m_MrphPtrArr[uI], sMaxDiffNd);
if(fFlg < fMinDiff) { fMinDiff = fFlg; iMinDiff = uI;}
} while(fFlg > fDelta && - -uI < -1);
break;
case 2: // Compare to all the morphs in the
uI = uNMrphs - 1; // list and find the closest match.
do
{
fFlg = pSubTr->CompareTo(m_MrphPtrArr[uI], sMaxDiffNd);
if(fFlg < fMinDiff) { fMinDiff = fFlg; iMinDiff = uI;}
} while(- -uI < -1);
uI = iMinDiff; fFlg = fMinDiff;
break; // Pro forma break.
} // The end of the switch(m_iCmprOrd).
if(fFlg <= fDelta) // The subtree is delta-equal to
{ // uI-th morph.
if(pTrnMI->m_iLSubMrph == -1)
{
pTrnMI->m_iLSubMrph = uI;
pTrnMI->m_fLSubProb = pSubTr->SubTreeProblty();
}
delete pSubTr; // Delete after new!
m_bMrphTrfnsClsd = true; // The child subtree is a previ-
// ously found morph -- the morph transitions are closed.
}
else // The subtree is a new morph!
{
pTrnMI->m_iLSubMrph = m_MrphPtrArr.Add(pSubTr);
pTrnMI->m_fLSubProb = pSubTr->SubTreeProblty();
pTrnNw = new CTrMorphsTrans(pSubTr->GetsRoot(), fMinDiff);
pTrnNw->m_iPrntMrph = iMI;
pTrnNw->m_iMinDiff = iMinDiff;
pTrnNw->m_sMaxDiffNd = sMaxDiffNd;
m_mrphTrnsPtrArr.Add(pTrnNw);
uNMrphs++ ; // The number of morphs is incremented.
// < L-R symmetry end point >
newMorphs = leftOnly;
}
m_uNSbTrsChckd++; // One subtree has been compared (checked).
}
if(hasChldrn == rightOnly jj hasChldrn == both)
{
// Check the right child subtree:
274 8. Programska implementacija

// - The code is fully symmetrical to that for the left sub-


// tree until the L-R symmetry end-point marked above.
// - Left and L should be replaced with Right and R.
... ... ...
... ... ...
// uNMrphs++ ; // The num. of morphs is incremented, but
// the uNMrphs local variable is not needed anymore.
// < L-R symmetry end point! >
if(newMorphs == leftOnly) // Both candidates are new
newMorphs = both; // morphs.
else // Only the right candidate
newMorphs = rightOnly; // is a new morph.
}
m_uNSbTrsChckd++; // Another subtree has been compared.
}
} // (The morph has descendant morphs.)
return newMorphs;
}

Ukoliko je u usporedbama tipa F (->) i L (<-) na†ena vjerojatnosna razlika


manja ili jednaka zadanoj vrijednosti, tada izlazimo iz petlje s vrijednostima fFlag
= fMinDiff <= fDelta. Naime, ako je fFlag prva vrijednost manja od fDelta,
onda mora biti i najmanja. Pri tom je fMinDiff minimalna vjerojatnosna razlika
kandidata u odnosu na samo do tada uspore†ene, a ne nuµzno i sve morfove u listi. S
druge strane ako smo izašli iz petlje nakon što smo podstablo usporedili sa svim do
tada na†enim morfovima, tada je zadnja vrijednost zastavice: fFlag > fDelta, pa
vrijedi fMinDiff <= fFlag, fMinDiff > fDelta. Za usporedbu A (j - j) pak kom-
paracija podstabla-kandidata sa svim morfovima osigurava da je fMinDiff zaista i
najmanja vjerojatnosna razlika u odnosu na sve prethodno na†ene morfove.
Po završetku usporedbe kandidata s prethodno prona†enim morfovima zado-
voljenje uvjeta fFlg <= fDelta znaµci da je lijevo podstablo iMI-tog morfa -
ekvivalentno morfu s indeksom uI. Taj prijelaz i njegovu vjerojatnost biljeµzimo u
iMI-tom elementu poretka predloµzaka kazaljki tipa CMrphTrans, nazvanog m_Mrph-
TrnsArr. Zato što se kandidat nije pokazao kao jedinstven, uklanjamo ga opera-
torom delete . Tako†er, budući da se prijelaz zatvara u ranije prona†eni morf,
µclansku varijablu m_bMrphTrnsClsd postavljamo na vrijednost true.
Sada su jasne i razlike koje proizlaze iz tri razliµcita naµcina (smjera) usporedbe
kandidata s prethodno prona†enim morfovima. Kod usporedbe tipa F — koja kreće
od poµcetnog morfa — favorizirat će se zatvaranje prijelaza prona†enih morfova u
8. Programska implementacija 275

poµcetne, a za usporedbu tipa L — koja kreće od zadnjeg morfa — u krajnje pretho-


dno na†ene morfove. Pretpostavimo li sustav u kojem postoje mnogobrojna mor-
fološki sliµcna podstabla, s malim vjerojatnosnim razlikama, za usporedbu F veća
je mogućnost postojanja prijelaza iz kasnijih u ranija stanja nego za usporedbu L.
Stoga ta ranija stanja mogu postati rekurentna. Dakle, uporabom usporedbe tipa L
povećavamo mogućnost da poµcetna stanja budu (postanu) tranzijentna.
Prisjetimo se da kod SFA-modela posebno razmatramo topološku sloµzenost re-
kurentnih stanja i statistiµcku sloµzenost — veliµcine kojima doprinose samo rekurentna
stanja (§7.3.3, 7.3.5). Dakle, po tim su pokazateljima jednostavniji modeli oni
u kojima je povećanjem broja tranzijentnih, umanjen broj rekurentnih stanja —
za što veću mogućnost daje usporedba tipa L . Zbog toga će modelar koji traµzi
µcim veću jednostavnost stacionarnog dijela modela i s tim u svezi µcim manji broj
rekurentnih stanja, usporedbi tipa L dati prednost pred usporedbom tipa F. No
s druge strane, inzistiramo li na tome da se kod modela vjerojatnosna usporedba
obavlja najprije s ranijim morfovima — koji su zbog većih izbrojaka svojih µcvorova
statistiµcki relevantniji i toµcniji — odabrat ćemo usporedbu tipa F. 24
Najtoµcniji model ostvarujemo usporedbom tipa A, ali pod cijenu duljeg prosjeµcno
utrošenog vremena u odnosu na prve dvije usporedbe. Primijetimo da u općenitom
sluµcaju prosjeµcno vrijeme usporedbe tipa A neće biti dvostruko dulje. To bi vrijedilo
samo pod uvjetom da je prilikom usporedbe svakog podstabla ustanovljena njegova
ekvivalencija s ranije na†enim morfovima. Ako se to nije dogodilo, bilo zbog toga
što je kandidat morfološki jedinstven, bilo zbog njegove vjerojatnosne razlike koja je
prema svim njegovim blizancima veća od , tada to ne vrijedi, pa će u sva tri naµcina
usporedbe kandidat biti uspore†en sa svim ranije prona†enim morfovima. Stoga je
vrijeme usporedbe A dulje od ostalih usporedbi za faktor iz intervala [1; 2). Brojci
2 on se pribliµzava tek kad se otkriva mali broj morfološki jedinstvenih morfova i kad
se nalazi velik broj -ekvivalencija. (Ovo posljednje doga†a se kad je vjerojatno-
sna podudarnost podstabala unutar , što moµze biti posljedica ili njihove stvarne
stohastiµcke sliµcnosti ili jako olabavljenog parametra .) No mali broj oblikovno
razliµcitih morfova i velik broj -ekvivalencija znaµci otkrivanje malo novih morfova,
pa će u tom sluµcaju potencijalna površnost ovog algoritma voditi k njegovu brµzem
24
U usporedbi tipa F podstabala-kandidati uspore†uju se najprije s morfovima koji su na bliskim
razinama u glavnom stablu. Primijećeno je da se izme†u morfova koji su kandidati za (L; )-
ekvivalenciju, a pored toga su i na bliskim razinama, nalaze manje vjerojatnosne razlike nego kad su
takvi morfovi na udaljenim razinama. To upućuje da nastale vjerojatnosne razlike nisu u svezi samo
sa statistiµckim ‡uktuacijama kao posljedicom nedostatne hranidbe, jer bi to navodilo na upravo
suprotan zakljuµcak (vidjeti diskusiju u I.1 i tamo predloµzeni koncept stohastiµcke fraktalnosti).
276 8. Programska implementacija

okonµcanju (vidjeti 8.6.6, niµze). Tada pak će malo dulje vrijeme utrošeno za potpunu
usporedbu biti mala cijena za dobivanje toµcnijih modela. Tome u prilog ide i µci-
njenica da je za SFA-modele s µcak i više stotina stanja FM algoritam vrlo brz (za
vremena izvršavanja vidjeti pododjeljak 8.7.4).
Valja naglasiti da sva tri naµcina usporedbe daju identiµcne SFA-modele za sve su-
stave u kojima ne postoje suptilne stohastiµcke razlike — kao što su sustavi zadani pra-
vilom i periodiµcni sustavi, odnosno kad parametar nije previše otpušten s obzirom
na vjerojatnosnu preciznost glavnog stabla. Cakµ i za sustave u kojima postoje mno-
gobrojni oblikovno identiµcni morfovi s malim vjerojatnosnim razlikama dobivaju se
isti modeli ako se dovoljno stegne, pri µcemu moµze ostati dovoljno velik da se
dobiva regularan SFA, odnosno da broj morfova ne eksplodira (primjer u I.4.1).
Usporedba tipa F (“od poµcetka”) bila je ostvarena u prvobitnoj inaµcici FM al-
goritma iz [44] i u njegovoj revidiranoj inaµcici objavljenoj u [47]. Uvo†enje dvije
nove vrste usporedbi bilo je motivirano speci…µcnostima kompleksnih SFA-modela
logistiµckog preslikavanja opisanim u 9.2.5 (detalji u prilozima I.4.1, I.4.3, I.4.4).
Vratimo se sada na sluµcaj kada smo usporedbom podstabla-kandidata ustanovili
da on nije (L; )-ekvivalentan nikojem prethodno prona†enom morfu, tj. kada je
fFlg > fDelta. Tada je kandidat za morfa (L; )-jedinstven i on predstavlja novi
morf. Njegovu kazaljku uvrštavamo u m_MrphPtrArr s pomoću funkcije Add . Ta
funkcija vraća indeks (posljednjeg) mjesta u listi na koje je kazaljka pohranjena.
Njega odmah biljeµzimo kao indeks lijevog podmorfa “glavnog”, iMI-tog morfa —
kojem je kandidat bilo lijevo podstablo — u iMI-ti element poretka m_MrphTrnsPtrArr,
pokazan kazaljkom pTrnMI. Tako†er biljeµzimo i odgovarajuću vjerojatnost prije-
laza. Potom stvaramo objekt klase CTrMorphsTrans, pokazan kazaljkom pTrnNw, za
pohranu strukture i vjerojatnosti prijelaza novog morfa. Odmah pri kreaciji funkcija
GetsRoot nalazi binaran niz korijena podstabla i de…nira µclansku varijablu m_sRoot,
dok minimalna prona†ena vjerojatnosna razlika fMinDiff de…nira m_fDiffFlag.
Potom zapisujemo da je iMI indeks roditelja novoprona†enog morfa, a u µclansku
varijablu m_iMinDiff pohranjujemo iMinDiff kao indeks vjerojatnosno najbliµzeg
morfa. Podsjetimo se, ako je varijabla fMinDiff ostala na 2:0, tada je i indeks
iMinDiff ostao na 1 . Novi je morf i oblikovno jedinstven, pa ne postoji vjerojat-
nosno bliski morf. Spomenimo usput da će funkcija FindNumOfMorphlgDiffMinDiff
prebrojavati morfološki jedinstvene morfove upravo provjerom da je m_fDiffFlag
== 2.0. Nadalje, ako je fMinDiff manje od 2:0, tada iMinDiff sadrµzava indeks
najbliµzeg morfa, a isMaxDiffNd predstavlja µcvor u kojem se pojavila maksimalna
8. Programska implementacija 277

vjerojatnosna razlika. Već smo naglasili da je u modeliranju taj podatak vaµzan za


analizu odabira vrijednosti parametra .
Na kraju, kazaljku pTrnNw pridodajemo poretku m_MrphTrnsPtrArr i zbog jednog
morfa više inkrementiramo lokalnu varijablu uNMrphs. Potom dolazimo do komentara
koji oznaµcuje mjesto prestanka simetrije izme†u dijela funkcije za lijevo i desno
podstablo. U varijablu pobrojanog tipa newMorphs zabiljeµzimo da za sada imamo
prona†eni lijevi morf (leftOnly). Nova inaµcica FM algoritma biljeµzi i broj pro-
vjerenih podstabla u µclanskoj varijabli uNSbTrsChckd, koju na kraju obrade lijevog
kandidata inkrementiramo bez obzira je li pri tom prona†en novi morf ili nije.
Nalaµzenje desnog podmorfa jednako je (simetriµcno) nalaµzenju lijevog, uz zamjenu
svih oznaka za lijevo oznakama za desno. Konkretno, u svim će nazivima left i L
prijeći u right i R , kao što je sugerirano na samom poµcetku obrade desnog podmorfa
i u daljnjim komentarima tog dijela. Ta simetrija ponovo vrijedi do mjesta oznaµcenog
komentarom. U preostalom dijelu funkcija ustanovljuje koji je rezultat nalaµzenja
morfova-djece: samo lijevi (leftOnly), samo desni (rightOnly) ili oba morfa (both).
Taj podatak funkcija FindChildMorphs vraća kao rezime rezultata svoga rada.

8.6.5 Funkcija FindAllMorphs


Cjelokupni FM algoritam objedinjen je u funkciji FindAllMorphs (prilog L.12), µcija
je pojednostavljena inaµcica prikazana u ispisu 8.17. Budući da je glavni dio posla
obavljen u funkciji FindChildMorphs, ova se funkcija svodi na elegantno rješenje,
koje je u bitnom ostvareno u jednoj jednostavnoj do-while petlji.
U skladu s toµckom algoritma FM.1, postupak traµzenja svih morfova inicijalizira
se pozivom funkcije FindRootMorph i stavljanjem internog brojaµca iMI na 0 . Za-
tim se poziva funkcija FindChildMorphs(fDelta, 0), sa zadatkom da se prona†u
podmorfovi korijenskog morfa (FM.2). U skladu s FM.3, u uvjetu while petlje us-
pore†ujemo inkrementirani indeks iMI s trenutnom veliµcinom dinamiµckog poretka
dobivenog izrazom m_MrphPtrArr.GetCount(). Ako su s pomoću FindChildMorphs
prona†eni i u listu umetnuti novi morfovi, postupak se ponavlja potragom za nji-
hovim podmorfovima, sve dok se lista ne iscrpi. Već smo u 6.6.1 istaknuli da se na
ovaj naµcin ostvaruje ure†aj morfova širinom-prvo, što je bitno za ostvarenje svojstva
površnosti ovog algoritma (vidjeti sljedeći pododjeljak).
U punoj su inaµcici dodane ASSERT makro tvrdnje, koje u ispravljaµckoj verziji
programa pomaµzu provjeri konzistentnosti programskog koda. Konkretno, u svakom
se koraku prihvaća vrijednost koju vraća funkcija FindChildMorphs, preva†a u broj
278 8. Programska implementacija

novoprona†enih µcvorova (0, 1 ili 2) te pribraja lokalnoj varijabli za sumu prona†enih


morfova. Ta se vrijednost mora podudarati s brojem morfova prona†enim s pomoću
m_MrphPtrArr.GetCount().

Ispis 8.17 Funkcija FindAllMorphs za nalaµzenje svih (L; )-jedinstvenih morfova


u glavnom stablu (za stvarno implementiranu funkciju vidjeti ispis L.12).
void CATrMorphs::FindAllMorphs(float fDelta)
{
if( FindRootMorph() != NULL)
{
int iMI = 0; // Morph index.
do
FindChildMorphs(fDelta, iMI++);
while(iMI < m_MrphPtrArr.GetCount());
}
m_bSearchDone = true; // The control member variable.
}

8.6.6 Svojstva FM algoritma


Svojstva FM algoritma već smo ukratko diskutirali na kraju pododjeljka 6.6.1, gdje
je on i uveden. Na temelju prethodno obrazloµzene implementacije ovdje ćemo ih
nadopuniti i podrobnije obrazloµziti. Iz koraka FM.2 (algoritam 8.4, §8.6.4, ispis
8.16) zakljuµcujemo da algoritam neće u listu stavljati nove morfove ako su kandidati
prepoznati kao (L; )-jednaki već postojećim morfovima. Dogodi li se to za sve mor-
fove, njihovi će se prijelazi zatvarati prema ranije prona†enim morfovima i algoritam
će stati. Zato je broj (L; )-razliµcitih stanja uvijek minimalan. Podstabla koja su
na većim razinama od posljednjih uspore†enih kandidata uopće neće biti istraµzena.
U nekim stazama glavnog stabla to se moµze dogoditi kasnije a u drugima ranije, što
ovisi o strukturi stabla i vjerojatnosnim razlikama me†u µcvorovima.
Posljedice ovakvog naµcina rada sabiremo u sljedećim zakljuµccima:
i. Morfovi su u listi prema svom poloµzaju u glavnom stablu uvijek poredani po
ure†aju širinom-prvo. Ukoliko se radi o morfološki jedinstvenom predstavniku
klase ekvivalencije za zadanu visinu L morfa, tada je on prona†en na najmanjoj
mogućoj razini u glavnom stablu. Ako pak se radi o morfu koji je predstavnik
klase ekvivalencije na temelju (L; )-jedinstvenosti, tada on ne mora nuµzno
biti na najmanjoj razini. Naime, moguće je da se niz neku od staza u glavnom
stablu — na kojima je potraga za daljnjim morfovima bila prekinuta — nalazi
8. Programska implementacija 279

predstavnik iste klase ekvivalencije na manjoj razini. Zato ćemo poredak ko-
rijena prona†enih morfova s obzirom na cijelo glavno stablo nazvati djelomiµcni
ure†aj širinom-prvo (engl. partial breadth-…rst order).
ii. FM algoritam u općenitom je sluµcaju površan (uvedeno u 6.6.1). Kad se za
sve na†ene morfove ustanovi da su njihova podstabla (kandidati za morfove)
identiµcni već prona†enim morfovima, algoritam staje. Dakle, u općenitom
sluµcaju on ne istraµzuje sva moguća podstabla visine L unutar glavnog stabla
visine D (L D 1, D; L = 1; 2; : : : , za odnos D i L vidjeti 6.6.2).
iii. Svojstvo (i) pomaµze u okonµcanju algoritma te u formalizaciji na†enih morfova
i njihovih me†usobnih prijelaza kao regularnog SFA-modela.
0
iv. Broj Ncrr;DM morfovima povezanih simbola tijekom rada FM algoritma prema
(6.27a) moµze biti od L + 1 za lDM = 0 (jer se podmorfovi korijenskog morfa
na razini l = 1 uvijek istraµzuju), pa do ukupnog broja D simbola u rijeµci ako
su istraµzena sva podstabla do maksimalne dubine D L (pripadne duljine
0
lcrr;DM morfovima istraµzene korelacije za jedan su manje). U skladu s uvjetom
(6.58), za visinu morfa moµze se odabrati i poseban sluµcaj L = 0 .
v. Izostanak temeljitosti u istraµzivanju cijelog glavnog stabla ublaµzuje i opravdava
sljedeći argument: na većim razinama prolaznog i glavnog stabla znaµcajnost
i vjerojatnosna toµcnost opadaju, jer s povećanjem razine prosjeµcan izbrojak
u µcvoru (eksponencijalno) pada. Stoga svojstvo površnosti i ranije okonµcanje
algoritma mogu doprinijeti smanjenju utjecaja koje statistiµcke ‡uktuacije na
većim razinama glavnog stabla imaju na konaµcni model.
vi. Ako je FM algoritam istraµzio sve rubne morfove, radi se o posebnom sluµcaju
kad je njegov rad temeljit (uobiµcajeno povezano s neregularnim SFA).

8.6.7 Temeljiti FM algoritam (TFM)


Temeljiti FM algoritam, s kraticom TFM, jest punoprolazan (engl. full-traversal)
algoritam za nalaµzenje morfova koji u cijelosti istraµzuje rašµclambeno stablo sustava.
Kao takav on predstavlja nadopunu FM algoritma. Uveli smo ga u 6.6.5 (alg. 6.3),
a njegova implementacija i analiza izdvojene su u prilog F (na CD-u).
TFM algoritam realiziran je u dvije inaµcice, TFM1 i TFM2, razliµcite po tome
da u prvoj nisu, a u drugoj jesu dozvoljene tranzitivne zamjene (L; )-ekvivalentnih
podstabala. Naime, ako u svom prvom dijelu TFM algoritam ustanovi da je pod-
stablo Si ekvivalentno nekom ranijem podstablu Sj , Si Sj (koraci 1 do 3 u alg.
L;
280 8. Programska implementacija

: 0.001 0.002 0.003


N: MU Unq. Tot. Reg. MU Unq. Tot. Reg. MU Unq. Tot. Reg.

TFM (Ext. F.) 2 38 53 2 16 53 2 4 53


+ RES1 –jj– 38 41 –jj– 16 41 –jj– 4 43
+ RES2 –jj– 38 41 –jj– 16 26 –jj– 4 8
FM (Std. F.) 2 16 16 2 3 3 X 2 3 3 X
: 0.004 0.005 0.006
TFM (Ext. F.) 2 3 53 2 3 53 2 3 53
+ RES1 –jj– 5 25 –jj– 4 13 –jj– 3 3 X
+ RES2 –jj– 3 3 X –jj– 3 3 X –jj– 3 3 X
FM (Std. F.) 2 3 3 X 2 3 3 X 2 3 3 X

Tablica 8.5: Usporedba rezultata rada TFM i FM algoritama na sustavu “nema uza-
stopnih nula” (NCZ): sjeme x0 = 0:3_ [15 dec.], 100 tranz. toµcaka, hranidba s 106 rijeµci.
Model: D = 10 , L = 4 , vjer. preciznost = 0:001 do 0:006 . TFM (Ext. F., engl.
Extended Find ) = prvi dio TFM algoritma, za nalaµzenje svih podstabala, njihovih veza i
(L; )-ekvivalentnih predstavnika; +RES1 (+RES2) = funkcije drugog dijela TFM algoritma,
za uklanjanje ekvivalentnih podstabala s nedopuštenim (dopuštenim) tranzitivnim zamje-
nama; FM (Std. F., engl. Standard Find ) = FM algoritam. Broj na†enih podstabala: MU
= morfološki jedinstvenih, Unq = (L; )-jedinst., Tot = ukupno. Reg. = regularnost SFA.

6.3 i F.1), tada u drugom dijelu on razmatra njegovo uklanjanje i zamjenu sa Sj


(koraci 4 do 6). Ako je i Sj ekvivalentno nekom svom prethodniku, Sk , k < j < i,
i; j; k = 1; 2; : : :, tada će se poslije i Sj moći zamijeniti sa Sk . Rezultat će biti
tranzitivna zamjena (engl. transitive substitution): Sk ! Sj ! Si . U toj je za-
mjeni narušena (L; )-ekvivalencija, jer Si Sk . Naime, da je vrijedilo Si Sk ,
L; L;
tada bi to bilo ustanovljeno u prvom dijelu TFM algoritma. Narušenje relacije
(L; )-ekvivalencije prilikom tranzitivnih supstitucija posljedica je µcinjenice da to
nije prava relacija ekvivalencije (vidjeti napomenu 2 iza def. 6.2).
Usporedbu rezultata rada FM i TFM algoritama na testnom, NCZ sustavu,
saµzima tablica 8.5. U njoj su dani brojevi podstabala na†enih nakon prvog dijela
rada TFM algoritma (oznaµcenog s Ext. F., od engl. Extended Find) i zatim nakon
njegova drugog dijela, ostvarenog funkcijom RES1 (RES2), kojom se realizira inaµcica
algoritma TFM1 (TFM2) [RES je akronim od engl. Remove Equivalent Subtrees].
Vidljivo je da FM algoritam daje regularan i toµcan SFA za 0:002 (uz rezolu-
3
ciju od 10 ). Izvješće u DSA programu dojavljuje da je pri tom provjereno
ukupno 6 podstabala. Najdublja su podstabla na razini lDST r = lDM + 1 = 2, njih
ukupno 3. TFM2 algoritam — s tranzitivnim zamjenama — daje istovjetan SFA za
0:004 , a TFM1 — bez tranzitivnih zamjena — za 0:006 . [Pri tom mora
8. Programska implementacija 281

vrijediti i < 1=6 , jer bi se u protivnom morfovi (stanja) A i C sa slike 6.5, odno-
sno 6.7, asimilirali.] TFM algoritmi provjeravaju svih 53 podstabala visine L = 4
koja postoje u promatranom glavnom stablu visine D = 10 . Najdublja su od njih
rubna podstabla, na razini lDST r = 6, kojih ima 21. Ovdje je otpuštanje parame-
tra nuµzno zbog povećanih statistiµckih ‡uktuacija vjerojatnosti µcvorova na višim
razinama rašµclambenog stabla (za detaljniji opis vidjeti F.1.2).

8.7 Sloµzenost FM algoritma


Algoritmi za nalaµzenje morfova objedinjuju u sebi cijelu rekonstrukciju SFA-modela.
Njihov rad ovisi o strukturi rašµclambenog -stabla i o izboru parametara modela.
Struktura rašµclambenog stabla pak je odraz strukture vremenskog niza odaslanog
iz dinamiµckog sustava. Postojanje raznovrsnih dinamiµckih sustava, od onih naj-
jednostavnijih do vrlo kompleksnih, odraµzava se i u velikoj raznolikosti rada ovih
algoritama. Zato je analiza njihove vremenske sloµzenosti vrlo opseµzna. Posebice
to vrijedi za FM algoritam, koji se po svojstvu površnosti moµze okonµcati i ranije.
Ovdje ćemo tek rezimirati rezultate dobivene u prilozima D i E, koje potom pot-
krjepljujemo mjerenjima vremena za dva strukturalno razliµcita sustava. Na koncu
dajemo prostornu sloµzenost FM algoritma. Na temelju tih su rezultata u prilogu F.2
izvedene vremenska i prostorna sloµzenost temeljitog, TFM algoritma.

8.7.1 Pregled izraµcuna vremenske sloµzenosti FM algoritma


Potpuna analiza vremenske sloµzenosti FM algoritma dana je u prilozima D i E.
Najprije je u D.1 dan izvod za najjednostavniji, a ujedno i najgori sluµcaj rada FM
algoritma — za puno rašµclambeno stablo, u kome se zbog me†usobne vjerojatnosne
razliµcitosti sva podstabla razaznaju kao morfovi. Potom se odre†uju vremenske
sloµzenosti FM algoritma za više tipiµcnih sluµcajeva općenitog, razgranatog rašµclam-
benog (glavnog) stabla koje ne mora biti puno te za razliµcite moguće ishode rada
algoritma (§D.2 do D.5). Taj se izraµcun zasniva na rezultatima priloga E, koji
je teorijska okosnica ove algoritamske analize. Pored prosjeµcnog broja b djece po
µcvoru stabla — ovdje uvedenog u 8.3.3 (formalno opisanog u A.3.4) — tu se koristi
i broj c podmorfova koji se u prosjeku nalaze po jednom, prethodno prona†enom,
morfu (uveden u E.1.1). Parametri b i c nazvani su sustavski bazni parametri, jer
struktura rašµclambenog stabla odraµzava strukturu vremenskog niza koji je odaslan
iz dinamiµckog sustava. Prvi se nalazi izravno iz broja µcvorova glavnog stabla na nje-
282 8. Programska implementacija

govim pojedinim razinama, dok je drugi povezan s rezultatima rada FM algoritma.


Njihov je statistiµcki karakter prikladan za opis mnogih, ali ne i svih dinamiµckih
sustava. No bez njih, preciznija analiza rada FM algoritma ne bi bila moguća.
Rezultati za dobivene vremenske sloµzenosti tipiµcnih naµcina rada FM algoritma
prikazani su u tablici 8.7, niµze. Njihov ćemo opis zapoµceti uz osvrt na prelimi-
narne rezultate, dobivene prije razrade teorije -stabala (prilog A) i detaljnog izvoda
vremenske sloµzenosti za općeniti sluµcaj rašµclambenih stabala (prilog E).

8.7.2 Komentar i revizija preliminarnih rezultata


Prvotna verzija izraµcuna vremenskih sloµzenosti FM algoritma objavljena je u [47,
§5.2]. Rezultati iz tamošnje tablice 3 ovdje su ponovljeni u tablici 8.6. Oni su do-
biveni, odnosno, neki od njih ekstrapolirani, na temelju izvoda vremenske sloµzenosti
FM algoritma za već spomenuti, najgori sluµcaj rada FM algoritma, kad se u punom
glavnom stablu za svaki morf uvijek nalaze dva nova podmorfa (prilog D.1). Oµcito
je da su tada bazni parametri: c = b = 2.
U tablici 8.6 taj je sluµcaj razluµcen na dva podsluµcaja, navedena pod brojevima
7 i 6. Oni se odnose na maksimalno, odnosno na prosjeµcno, vrijeme TCT usporedbe
podstabala koju obavlja CT algoritam. Ta su dva sluµcaja podudarna sluµcajevima
5.i (e = 0), odnosno 5.o (e = 1), u tablici 8.7, koja daje nove rezultate. Drugi od
dva para — za prosjeµcno TCT vrijeme usporedbe podstabala (sluµcajevi 6, odnosno
5.o) — hipotetiµcan je i naveden tek usporedbe radi. On daje prosjeµcnu vremensku
sloµzenost za sluµcaj kad bi se usporedba podstabala okonµcavala odmah po nailasku
na bilo kakvu razliku — bilo vjerojatnosnu, bilo morfološku. Za CT algoritam to ne
vrijedi, jer on staje tek po nailasku na topološku (morfološku) razliku, kao što je
diskutirano u 8.5.2. Budući da kod punog glavnog stabla takve razlike nema, CT
algoritam u pripadnim punim podstablima uspore†uje sve µcvorove.
Rezultati za gore navedene sluµcajeve lako se dobivaju uvrštavanjem c = b = 2 u
općenite izraze za vremenske sloµzenosti, izvedene u prilogu E. Za bazne parametre
u rasponu 1 < c b 2 , oni su rezimirani u E.2.6. To je i eksplicitno pokazano na
kraju odjeljka D.1.
Dakle, za sluµcaj 7 u tablici 8.6 te 5.i u tablici 8.7, vremenska je sloµzenost:
O 22D L+2 = O 4 22D L , a za sluµcajeve 6 i 5.o ona je: O 22D L+1 =
O 2 22D L . Razlike za …ksni faktor, ovdje 2, u razmatranju reda veliµcine s
pomoću funkcije veliko O standardno se zanemaruju, ali ih u našim rezultatima
zadrµzavamo preciznosti radi (vidjeti podbilješku 12).
8. Programska implementacija 283

Za ovaj posljednji sluµcaj (7 u tab. 8.6, 5.i u tab. 8.7) u preliminarnim je rezulta-
tima dana i vremenska sloµzenost FM algoritma u ovisnosti o ukupnom broju µcvorova
N^N ds [47, formula (15)]. Ta je ovisnost smanjena kvadratna i ona je jednaka novim
rezultatima (zadnja kolona u tab. 8.7). Zajedno s ovisnošću o parametrima modela,
nju rezimira sljedeći izraz, koji je (okvirno) valjan i za sluµcaj 6, odnosno 5.o :
2D L
c = b = 2 : TF M = O 22D L ^ D+1
=O N . (8.47)
N ds

Tu vremenska sloµzenost raste s kvadratom eksponencijalne ovisnosti o visini D


stabla, ali i eksponencijalno pada u visini L morfa. Na primjer, za L = 1 ona
je O 22D 1 = O 22D , jer će se svaki od 2D 1 morfova uspore†ivati sa svakim
od prethodno na†enih morfova, pa to uvodi faktor 2 ispred D . Pri tom je utrošak
vremena za usporedbu podstabala zanemariv zbog postojanja svega 3 µcvora u morfu.
Uz srednji izbor, L = D=2 (vidjeti 6.6.3), dobiva se TF M = O 23D=2 . Za L = D
pak postoji samo jedan, korijenski morf, jednak glavnom stablu. On je ujedno i
rubni, pa se FM algoritam okonµcava odmah (dajući neregularan SFA). Zato je taj
trivijalan sluµcaj iskljuµcen iz obje tablice. Uzmemo li maksimalan L za koji vrijede
rezultati tablice, L = D 1 , tada vremenska sloµzenost sluµcaja 7 iznosi O 2D+1 =
O 2D . Naime, tada se kreiraju svega dva podstabla-kandidata za morfa (i njihove
dvije statistike), koji se potom uspore†uju s korijenskim morfom µcvor na µcvor. Morf
i podstabla imaju ukupno po N ^D 1 2D µcvorova (za 2D 1), pa otuda slijedi
prethodno navedeni red veliµcine vremenske sloµzenosti. Gornji primjeri za krajnje
vrijednosti parametra L potvr†uju korektnost dobivenih formula.
Napomenimo još da se zbog prepoznavanja svih podstabla kao novih morfova,
u ovom sluµcaju uvijek nalaze i rubni morfovi, s korijenima na razini D L, pa je
dobiveni SFA uvijek neregularan (§6.6.2, 8.6.1).
Nadalje, prijašnji sluµcajevi 5 i 4 (iz tab. 8.6) odgovaraju sluµcaju 4.iii u revidira-
nim rezultatima (tab. 8.7), za kojeg je b = 2, c = 1. On je detaljno opisan u prilogu
D (§D.2.3). Za maksimalno TCT vrijeme usporedbe podstabala (ovdje uz e = 0) i
za prosjeµcno TCT vrijeme (e = 1) ranije je dobivena precijenjena sloµzenost, TF M =
O 22D L 1 e . Npr., uz L = D=2 ona daje: O 23D=2 1 e = O 23D=2 . Novi,
precizniji proraµcun pak daje bitno manju sloµzenost: TF M = O 2L+2 ld(D L)+1 e ,
koja uz L = D=2 prelazi u O 2L+2 ld D=2+1 e = O 2L+2 ld D=2 .
Preostali sluµcajevi, 3 do 1, u obje su tablice oznaµceni istim brojevima. Za sluµcaj
3, uz vrijeme usporedbe statistika (u [47, tab. 3] TCT S , ovdje TCS ) koje prevladava
nad vremenom izrade statistike podstabala (tamo TT S , ovdje TM S ), dakle uz uvjet
284 8. Programska implementacija

# Vrsta i opis sustava te parametara modela (L D 1) O (D; L)


1. Period-n sust: (i) diskriminacija podstab. na temelju statistike.O (L3 )
( L = n ; D = 2n ) (ii) usporedba podstabala “µcvor na µcvor”. O (L4 )
2. Podmorfovi = korijenskom morfu, površnost FM algoritma. O 2L+1 ; : : :
3. TT S (D; L) & T CT S (D; L) ; L > D=2 1 ; O 2D
TCT S (D; L) & T T S (D; L) ; L D=2 1 : O 22D 2L 2
4. 2D L 2 1; od 2 podstab. -kand. 1 morf, prosj. vrijeme TCT . O 22D L 2
5. 2D L 2 1; od 2 podstabla-kandidata prona†en 1 morf. O 22D L 1
6. 2D L 1; maks. broj podstabala, prosjeµcno vrijeme TCT . O 22D L+1
D L
7. 2 1; najgori sluµc., maks. broj podstabala, maks. TCT : O 22D L+2

Tablica 8.6: Preliminarni rezultati vremenskih sloµzenosti TF M (D; L) FM algoritma,


prema tab. 3 iz [47]. D je visina glavnog stabla, L je visina morfa. Rezultat za najgori
sluµcaj, broj 7, toµcan je i jednak rezultatu podudarnog sluµcaja 5.i u tab. 8.7 (za c = b = 2).
Tako†er, hipotetiµcni sluµcaj 6 jednak je podudarnom sluµcaju 5.o [ovi bi sluµcajevi vrijedili
da algoritam usporedbe podstabla (CT) staje odmah po nailasku na µcvorove razliµcite vje-
rojatnosti (§ 8.5.2)]. Sluµcajevi 5 i 4, koji odgovaraju izboru e = 0, odnosno e = 1, u
sluµcaju 4.iii u tab. 8.7, bili su precijenjeni. Sluµcajevi 3 do 1 ovdje odgovaraju sluµcajevima
istog broja u tab. 8.7. Za sluµcaj 3 rezultati su bili precijenjeni. Za preostala dva sluµcaja
preliminarni su rezultati bili korektni, uz uvaµzavanje da je L n .

TCS TM S (D.16i), dobiven je red veliµcine vremenske sloµzenosti O 22(D L) 2 .


Isti se rezultat dobiva i za TCS TM S . Za uvjet TCS TM S (D.16iii) rezultat je
O 2D . Korigirani rezultati za ove sluµcajeve ovise o izboru parametara b i c . Primje-
rice, prema 3.ii u tablici 8.7 oni su bitno manji od prethodnih i iznose: O 2D L+3:5
za TCS TM S , O 2D=2+4:5 za TCS TM S i O 2D=2+4:5 za TCS TM S .
Za sluµcaj 2, prethodni rezultat za puno stablo, O 2L+1 , ima premali …ksni
faktor u odnosu na novu i precizniju vrijednost od O 2L+3 (toµcka 2.ii u tab. 8.7).
No i on je uhvatio bitnu eksponencijalnu ovisnost O 2L .
Za periodiµcne su sustave raniji rezultati korektni uz uvaµzavanje pojednostavljenja
n = L . U novim smo rezultatima naveli i da za n = 1 vrijedi TF M = O (D), što se
u krajnjem sluµcaju, D = 2L = 2n = 2 , svodi na konstantu O (1) .

8.7.3 Rezime vremenskih sloµzenosti FM algoritma


Sada se vraćamo na pregled preostalih novih i proširenih rezultata za vremenske
sloµzenosti FM algoritma, saµzetih u tablici 8.7. Svaki je od sluµcajeva ove tablice,
poµcevši od najgoreg, sluµcaja 5, do najboljeg, sluµcaja 1, detaljno razmotren u prilogu
D (odjeljci D.1 do D.5). Neke smo od njih već spomenuli i ukratko opisali kad smo
ih u prethodnom pododjeljku uspore†ivali s preliminarnim rezultatima.
8. Programska implementacija 285

Vrsta i opis sustava / naµcin rada FM algoritma O (Z) ; Z =


[ b; c 2 R ; 1 c b 2 ; L; D 2 N ; 1 L < D . ] D; L ^N ds
N
Periodiµcni sustavi
1.o Period: n = 1 ( ) c = b = 1) , uz L D=2 . D ^N ds
N
1. i Period: n > 1, D 2n 1; L n 1 (L = n) ; x 0 :
i.a Diskriminac. podstabala na temelju statistike, x < 1=2 ; nL2 ^ 3=2 x
NN ds
i.b Usporedba podstabala “µcvor na µcvor”, x < 1 . n2 L2 N^2 x
N ds
Op´ceniti (neperiodiµcni) sustavi
2. Podstabla = korijen. morfu & površnost FM alg., 1 b 2 :
o. b = 1 (c = 1) : vidjeti sluµcaj 1.o.
p
i. b = 2 : ESprf c =L=2 + 3:3 , y = (D L 3)=(D + 3:5) ; 2ESprf c ^ 1+y
NN ds
ii. b = 2 : ESprf c = L + 3 , y = (D L 2)=(D + 1) . 2L+3 -jj-

p podstabala na temelju statistike, 1 < b < 2; c b :


3. Diskrim.
i. b = 2 ; c = 1 ; L0 = 2 ld (D L) 5:5; D0 = D=2 + 1:8 :
L L0 : E TT S = 2 ld (D L) + 1=2 ; y = (D.19b) ;
L L0 : E TT S = L=2+ ld (D L) +3:3; y = (D.19b) ; 2ETT S ^ 1+y
NN ds
L p L0 : E TT S =
p L=2+ ld (D L) +2:3; y = (D.19b) .
1
ii. b = 2 ; c = 2 ; L0 = 2 D ; D0 = D=2 + 1:8 :
L L0 : E TT S = D L + 3:5 ; y = (D=2 L + 1:8) =D0 ;
L L0 : E TT S = D =2 + 4:5 ; y = 2:8=D0 ; 2ETT S ^ 1+y
NN ds
L L0 : E TT S = D =2 + 3:5 ; y = 1:8=D0 .
4. Nepuno stablo, manji prosj. broj morfova, 1 c b 2 : 2ETCT
o. b = 1 ; c = 1 : vidjeti sluµcaj 1.o.
p
i. b =p2 ; c =p1 : ETCT = (D.14a) , 1 + y =(D.14b) ; 2ETCT ^ 1+y
NN ds
ii. b = 2 ; c = 2 : ETCT = D L=2 + 4:3 e ; (D.13b) ; -jj- -jj-

iii. b = 2 ; c =p1 : ETCT L + 2 ld (D L) (D.12a), (D.12b); -jj- -jj-

iv. b = 2 ; c = 2 : ETCT = D + 4:0 e ; y = 3:0 D+1


e
. 2D+4:0 e -jj-

v. c = b : ETCT = (2D L) ld b + cnst: (D.10), y = DD L . b2D L -jj-

5. Puno stablo, c = b = 2 :
L+1
[ o. e = 1, prosjeµcno vrijeme TCT ; x = D+1 ; 2 x = 2DD+1 L+1
.] 22D L+1 ^2 x
NN ds
L 2D L+2
i . e = 0, maks. vrijeme TCT;max ; x = D+1 ; 2 x = D+1 : 22D L+2
-jj-

Tablica 8.7: Vremenska sloµzenost FM algoritma izraµzena funkcijama reda veliµcine O (D; L)
iO N ^N ds , od najboljeg (1) do najgoreg (5) sluµcaja. D je visina glavnog stabla, L visina
^N ds broj µcvorova glavnog stabla. Periodiµcni sustavi: 1. Ciklusi perioda n. Uvjeti:
morfa, N
D 2n 1, L n 1, za ovisnost O N ^N ds dodatno je L = n. Op´ceniti sustavi: 2 do
5, zadani su baznim parametrima b i c . 2. Podstabla korijenskog morfa jednaka su njemu
samome, pa se algoritam okonµcava brµze zbog svojstva površnosti. 3. Tu je pretpostavka
da algoritam diskriminira podstabla na temelju njihove statistike. Tri su podsluµcaja: kad
dominira vrijeme TM S utrošeno na tvorbu statistike podstabala (L L0 ), kad dominira
vrijeme TCS za usporedbu tih statistika (L L0 ) te kad su ta vremena pribliµzno jednaka
(L L0 ). U zagradama su reference na (pre)dugaµcke formule. 4. Rezultati za općenite b
i c uz komparaciju podstabala “µcvor na µcvor” (§ D.2). 5. Puno stablo i maksimalan broj
na†enih morfova, c = b = 2. 5.o …ktivan je sluµcaj, nemoguć po CT algoritmu (§ D.1).
286 8. Programska implementacija

Za najmanje zahtjevne, periodiµcne sustave (Pn ), već smo naveli da im vremenska


sloµzenost ide od O (D) [O (1)], pa nadalje do: O (nL2 ) / O (L3 ) i O (nL3 ) /
O (L4 ). Za općenite sustave, u sluµcajevima 2 do 5, prelazimo na eksponencijalne
ovisnosti o visinama glavnog stabla i morfova, koje su redom: O 2L=2+3:3 , O 2L+3 ,
. . . , O 2L+2 ld(D L)+1 e , . . . , O 2D+4 e , O 22D L+1 , O 22D L+2 .
Ovisnost vremenske sloµzenosti o broju N ^N ds µcvorova glavnog stabla za sustav
perioda n = 1 linearna je, O N ^N ds , moµze pasti i na konstantu, O (1), da bi za

n > 1 i L > n prešla u ovisnost manju od O N ^ 3=2 , odnosno manju od O N ^2


N ds N ds
[detalji u D.5]. Za općenite, neperiodiµcne, sustave ta se ovisnost u sluµcajevima
2 i 3 spušta i ispod linearne za mali parametar c (malo otkrivenih podmorfova) i
velik b (mnogo djece po µcvoru) [vidjeti tablice D.2 i D.3 te diskusija pri kraju priloga
E.2.10 i E.2.11]. Vremenske su sloµzenosti navedene za tipiµcne vrijednosti parametara
p
b i c , izme†u ostalih i za b = c = 2. To je graniµcni iznos od b za pola-visine i
geometrijski srednja stabla kad D ! 1 (§A.4). Vremenska sloµzenost FM algoritma
kod usporedbe podstabala “µcvor na µcvor” opisana je u sluµcajevima 4 i 5. Ona je
umanjena kvadratna, O N ^2 x = O N ^ 1+y , a moµze pasti i ispod linearne. To je
N ds N ds
vidljivo iz tablice D.1, a detaljnije je opisano u E.2.8 (tab. E.3 i 4). U tablici 8.7,
za posljednjih nekoliko jednostavnijih sluµcajeva nalazimo ovisnosti veće od linearne,
ali manje od kvadratne. Primjer su za to sluµcajevi 5 i 4.iv, za koje vrijedi:
2D L+2 e D+4 e
^ D+1
TF M = O N ^ D+1
; TF M = O N ; D L 1: (8.48)
N ds N ds

Za vremensku sloµzenost FM algoritma izraµzenu preko broja µcvorova glavnog


stabla (N ^N ds ) moµze se uoµciti pad s porastom visine D tog stabla (tab. E.4). Drugim
rijeµcima, ako se uµcinkovitost FM algoritma mjeri po jednom µcvoru, ona raste s
porastom D . Ovo je posljedica eksponencijalnog rasta broja µcvorova u visini D
razgranatog glavnog stabla (b > 1). Taj rast nadmašuje rast broja morfova — koji je
općenito eksponencijalan u visini D L prolaznog stabla, kao i rast broja µcvorova
u morfu — koji je općenito eksponencijalan u visini L morfa.
Sa stanovišta modeliranja pak je bitna vremenska sloµzenost FM algoritma u funk-
ciji L i D , koja je eksponencijalna za općenita, razgranata glavna stabla (sluµcajevi 2
do 5 u tab. 8.7). Takvom će stablu modelar visinu D “oprezno” povećavati, vodeći
pri tom raµcuna o iznosu razlike D L, odnosno 2D L. FM algoritmu sloµzenost
se još i moµze bitno reducirati zbog ranijeg završetka usporedbe podstabala (bilo po
diskriminaciji na temelju statistike, bilo po svojstvu površnosti), no proces dostatne
hranidbe uvijek ima sloµzenost koja je eksponencijalna u D (§8.3.3).
8. Programska implementacija 287

Širok spektar vremenskih sloµzenosti FM algoritma za navedene karakteristiµcne


primjere odraµzava širok raspon sloµzenosti dinamiµckih sustava i pripadnih im SFA-
modela. Kod stvarnih će sustava biti onih koji tek djelomiµcno odgovaraju nekom
od navedenih sluµcajeva ili su kombinacija više njih. Primjerice, sustav moµze biti
sliµcan periodiµcnome, ali s tendencijom rasta perioda s porastom visine glavnog sta-
bla (§I.4.2). Za njega će algoritam imati vremensku sloµzenost kao za periodiµcne
sustave — bitno manju nego za sustave s razgranatim stablima. Nadalje, za sve se
vrste sustava FM algoritam moµze okonµcati ranije po svojstvu površnosti (i ako nije
bio na†en niti jedan rubni morf, dati regularan SFA). Tada će vremenska sloµzenost
biti unutar donje granice odre†ene sluµcajem 2 i gornje granice nekog od zahtjevnijih
sluµcajeva, 3 do 5. Jednako vrijedi i za kombinacije sluµcajeva 3 i 4, odnosno 3 i 5.

8.7.4 Mjerenje vremena izvršavanja FM algoritma


Vrijeme izvršavanja FM algoritma izmjereno je na sliµcan naµcin kao i za prethodno
obrazloµzene algoritme. U radnom prozoru za dodavanje novih SFA-modela te za
njihov odabir, konstrukciju i usporedbu (sl. 6.6), po nalaµzenju SFA — ili po naknad-
nom pritisku na puce Find Morphs — DSA program dojavljuje osnovne podatke o
na†enim morfovima i o vremenu izvršavanja FM algoritma. Ukoliko je broj rijeµci
koje su uµcitane u stablo dostatan, tj. velik s obzirom na odabrani parametar vjerojat-
nosne toµcnosti , tada će broj prona†enih morfova odraµzavati strukturu dinamiµckog
sustava kao izvora vremenskog niza. Ako je hranidba bila nedostatna, broj morfova
moµze eksplodirati zbog (pre)velikih statistiµckih ‡uktuacija vjerojatnosti µcvorova.
Tada moramo ili otpustiti -toµcnost modela, ili spuštanjem L utjecati na smanjenje
duljine korelacije morfova (6.26b), ili pojaµcati hranidbu glavnog stabla.
U tablici 8.8 sumirani su rezultati primjene FM algoritma na rašµclambena stabla
visine D = 20, za dva raznorodna dinamiµcka sustava, nakon tri hranidbe. Za sva-
ki izbor parametara sustava FM algoritam izvršen je uz sve tri vrste usporedbe
kandidata s prethodno prona†enim morfovima (-> = F, <- = L, j - j = A), koje su
sve dale potpuno ekvivalentan model (u ovom sluµcaju i s ekvivalentnim dodatnim
podacima izvješća, u kolonama 3 i 4). Za logistiµcko preslikavanje na vrhuncu kaosa
(LMCC, §9.1.2), najmanja hranidba, s 104 rijeµci, nedostatna je da se uz = 0:01
i visinu morfova L = 10 (desna kolona) dobije regularan model, što je oznaµceno
znakom minus. Naime, ovdje se u glavnom stablu na razinama l 10 pojavljuju i
morfološke razlike, jer neki µcvorovi — koji bi trebali postojati za potpuno kaotiµcan
(sluµcajan) sustav — još nisu oformljeni. Stoga algoritam nalazi da su sva moguća
288 8. Programska implementacija

podstabla ujedno i morfološki jedinstvena. Smanjivši L na 9 (lijeva kolona), smanju-


jemo dubinu našeg pretraµzivanja i njime ostvarenu duljinu korelacije morfova (def.
6.18), nakon µcega algoritam nalazi model sa samo jednim morfom. Taj je model
regularan SFA, sa zatvorenim prijelazima, što je oznaµceno kvaµcicom.
Za sustav “nema uzastopnih nula”hranidba s 104 rijeµci dostatna je da uz L = 10
i = 0:01 naškauzalni model postane regularan SFA. Me†utim, on ima 4 stanja —
jedno više od toµcnog SFA ovog sustava (prikazanog na slici 6.5). Zbog vjerojat-
nosnih razlika uzrokovanih statistiµcki nerelevantnom hranidbom u modelu se pored
stanja (morfa) C pronalazi i stanje D. Nadalje, uz poboljšanu vjerojatnosnu toµcnost,
= 0:001, FM algoritam biljeµzi 288 podstabala (od sveukupno postojećih 375) i
nalazi da je od njih µcak 276 morfološki jedinstvenih. Uzrok je taj što se na većim
razinama nisu popunili µcvorovi koji bi se prema pravilima sustava trebali popuniti.
Sveukupno je na†eno 287 morfova, tj. 76:5% od ukupnog broja podstabala.
S povećanjem broja uµcitanih rijeµci na 106 i 108 regularni se modeli dobivaju
uz sve bolju preciznost . Uz hranidbu od 106 rijeµci i uz prikladnu toµcnost za oba
se sustava dobivaju korektni rezultati modeliranja (lijeve kolone). No uz pretjera-
nu toµcnost kod oba sustava dolazi do eksplozije broja morfova (desne kolone). Za
logistiµcko preslikavanje, prona†eni maksimalan broj morfološki jedinstvenih morfova
(2047) ukazuje na to da podstabla na većim razinama jošnisu puna. Eksplozija broja
podstabala koje algoritam provjerava rezultira tako†er i u eksploziji vremena njegova
izvršavanja. Za prvi je sustav broj podstabala koja su zabiljeµzena i uspore†ena
narastao s 3 na maksimalnih 2047. Pri tom je vrijeme izvršavanja naraslo za faktor
104 , tj. 13 puta više nego je porast broja analiziranih podstabala. To odgovara
prelasku iz naµcina rada 2 FM algoritma na naµcine 3 i 4 (§8.7.3, tab. 8.7).
Jošje znatno veći porast vremena izvršavanja FM algoritma uoµcljiv za logistiµcko
preslikavanje po hranidbi s Nw = 108 rijeµci. Uz = 10 4 još se dobiva regularan
SFA. Stezanjem na 10 5 pak dolazi do eksplozije broja na†enih morfova i povećanja
vremena izvršavanja za µcak 7:3 105 puta. Kako su u ovom sluµcaju sva podstabla
puna i zato oblikovno ista (što se vidi iz podatka NM rs;M U = 1), u svim su pod-
stablima morali biti uspore†eni svi µcvorovi. Svako posjećeno podstablo ujedno je i
uvršteno u listu, tako da je sa svakim pridodanim morfom broj usporedbi podstabala
narastao za 2. To odgovara najgorem sluµcaju, broj 5 u tablici 8.7. Za potvrdu ovih
pretpostavki s više kvantitativnih µcinjenica trebalo bi napraviti detaljniju analizu
vremenskih konstanata povezanih s radom memorijskog upravljaµca, posebice onih
za dinamiµcki pristup memorijskoj hrpi (vidjeti i komentare u 8.3.4).
8. Programska implementacija 289

Nw = 104 106 108


(i) LMCC X – X – X –
L= 9 10 10 10 10 10
= 0.01 0.01 0.001 0.0001 0.0001 0.00001
NStrs;Rc = 3 2047 3 2047 3 2047
NM rs;M U = 1 2047 1 2047 1 1
NM rs;T ot = 1 2047 1 2047 1 2047
TF M (->)=s 0.001049 0.2245 0.002118 18.947 0.002144 1652.3
0.000007 0.0009 0.000010 0.083 0.000008 4.1
TF M (<-)=s 0.001050 0.2252 0.002130 19.018 0.002143 1652.3
0.000008 0.0010 0.000035 0.066 0.000005 3.1
TF M (j - j)=s 0.001050 0.2247 0.002122 18.989 0.002155 1652.5
0.000009 0.0022 0.000006 0.071 0.000017 6.0

(ii) N C Z X – X – X –
L= 10 10 10 10 10 10
= 0.01 0.001 0.005 0.001 0.0001 0.00001
NStrs;Rc = 8 288 6 257 6 288
NM rs;M U = 2 276 2 5 2 2
NM rs;T ot = 4 287 3 255 3 287
TF M (->)=s 0.001509 0.01926 0.000967 2.1782 0.000972 2.8933
0.000005 0.00019 0.000005 0.0026 0.000005 0.0024
TF M (<-)=s 0.001146 0.01908 0.000723 2.1782 0.000729 2.8909
0.00010 0.00014 0.000003 0.0026 0.000002 0.0034
TF M (j - j)=s 0.001513 0.01909 0.000965 2.1794 0.000971 2.8952
0.000012 0.00007 0.000003 0.0036 0.000004 0.0027

Tablica 8.8: Statistika rezultata rada i vremena izvo†enja FM algoritma za dva dinamiµcka
sustava: (i) LMCC – logistiµcko preslikavanje na vrhuncu kaosa, r = 4 , sjeme x0 = 0:2,
100 tranzijentnih toµcaka [sliµcni su rezultati za proizvoljan x0 2 (0; 1), x0 6= 1=2; 1=4; 3=4,
vidjeti prilog H.4.5, usporediti i s I.1]; (ii) NCZ – “nema uzastopnih nula”, x0 = 1=3 na
15 decimala, 100 tranzijentnih toµcaka. Stablo visine D = 20 nahranjeno je s Nw rijeµci
da se izluµce morfovi visine L uz vjerojatnosnu toµcnost . Maksimalan broj NStrs;max
podstabala jednak je broju µcvorova prolaznog stabla visine D L. Uz L = 10, za LMCC
NStrs;max = 2047 (maksimalno moguće), za NCZ NStrs;max = 375 . Vremena su mjerena na
raµcunalu opisanom u podbilješki 13 (§ 8.3.4). Rezultati za LMCC uz = 0:00001 dobiveni
su iz pet, a ostali iz minimalno deset mjerenja. Legenda ostalih simbola: X = regularan SFA
(’* ’ oznaµcava povećani broj stanja), – = neregularan SFA, NStrs;Rc = broj zabiljeµzenih
i provjerenih podstabala, NM rs;M U = broj morfološki (oblikovno) jedinstvenih morfova,
NM rs;T ot = ukupan broj na†enih morfova (NM rs;M U NM rs;T ot NStrs;Rc NStrs;max ) ,
TF M =s = vrijeme izvršavanja algoritma s pripadnom standardnom devijacijom, izraµzeno
u sekundama, za tri usporedbe kandidata s prethodno prona†enim morfovima: od prvog
(-> = F), od zadnjeg (<- = L), sa svima (j - j = A).
290 8. Programska implementacija

Konaµcno, usporedimo li za svaki od izbora parametara tri dobivena vremena


izvršavanja, vidimo da vrsta usporedbe kandidata s prethodno prona†enim mor-
fovima utjeµce na trajanje FM algoritma kao što je to predvi†eno u diskusiji u 8.6.4.
Za regularne modele LMCC sustava, koji sveukupno imaju samo jedan prona†eni
morf, razlike, naravno, nema. Za NCZ modele koji daju regularne SFA pak je
vidljivo da je usporedba od zadnjeg morfa (L) brµza od ostale dvije. Za hranidbu
s 104 rijeµci FM je algoritam tada brµzi, odnosno njegovo je vrijeme kraće, za faktor
1:318, a za druge dvije hranidbe taj je faktor 1:336, odnosno 1:333 . Ukoliko pak
povećamo toµcnost toliko da do†e do eksplozije broja morfova, u sve tri usporedbe
kandidat će biti uspore†en sa svim prethodno prona†enim morfovima, pa taj faktor
pada na (otprilike) 1 . Time je potvr†en raniji zakljuµcak da uz potpunu usporedbu
(A) izvršavanje FM algoritma ili ostaje isto, ili se produljuje za faktor manji od 2 .

8.7.5 Prostorna sloµzenost FM algoritma


FM algoritam uglavnom operira na podstablima sastavljenim od µcvorova glavnog
stabla, na memorijskom prostoru potrebnom za pohranu tih µcvorova. Njegov iznos
i red veliµcine iskazani su izrazom (8.25). Mali konstantan prostor potreban za
pohranu podataka o objektu podstabla-kandidata za morfa zanemariv je. Nadalje,
ukupan broj od NM rs morfova i njihovih prijelaza pohranjuje se u liste reda veliµcine
O (NM rs ), gdje je NM rs 2D L+1 . Uvedemo li konstantu sM r za ukupni pro-
stor potreban za pohranu kazaljki na morfove (podstabla) i podataka o njihovim
prijelazima, za prostornu sloµzenost SF M FM algoritma vrijedi:

SF M (D; L) sM r NM rs + ST F (D) (8.49)


= O (NM rs ) + O 2EAvr= bM (D) :

Dakle, pored prostorne sloµzenosti ST F koju FM algoritam dijeli s TF algorit-


mom, on troši jošsamo dodatan prostor za pohranu liste na†enih morfova i njihovih
prijelaza. Taj je prostor uobiµcajeno malen u odnosu na ST F , osim kad broj morfova
eksplodira i postane blizak broju µcvorova stabla.
Svojstva i posebnost svakog dinamiµckog sustava utjeµcu na naµcin rada FM algo-
ritma i njegovu prostorno-vremensku sloµzenost. Stoga će bogatu paletu raznolikih
dinamiµckih sustava pratiti izrazito velik raspon sloµzenosti ovog algoritma. To se
moµze razaznati već iz dosadašnjeg izlaganja, a dodatno će biti ilustrirano na mno-
gobrojnim primjerima u poglavlju 9.
8. Programska implementacija 291

8.8 Osvrt na osobite klase suµcelja


Klase i njihove µclanske funkcije predstavljene u ovom poglavlju tek su one naj-
vaµznije iz DSA programa. Lista svih klasa prikazana je u prilogu L.1. Razlika u
obimu izloµzenog programskog koda (ukljuµcujući i prilog L) i onog ostvarenog još
je i mnogo veća — što je vidljivo iz ukupnog broja napisanih funkcija i broja linija
koda, navedenih u tablici 8.1. Od preostale programske implementacije ovdje ćemo
se sasvim ukratko osvrnuti na klase suµcelja koje su najspeci…µcnije za ovaj rad. To
su klase za prikaz glavnog stabla sustava i u njemu prona†enih morfova.

8.8.1 Klasa za prikaz glavnog stabla


Na poµcetku istiµcemo CTreeFeedAndShowDlg klasu, za prikaz glavnog (rašµclambenog)
-stabla i njegovih proizvoljnih dijelova, odnosno -podstabala. Ona ostvaruje radni
dijaloški prozor pod imenom Parse Tree –Show and Feed, s mnogobrojnim mogućno-
stima (pristup iz glavnog izbornika opisan je u G.1). U njegovu je gornjem dijelu
statistika rašµclambenog stabla: broj lijevih i broj desnih µcvorova i listova, sume
izbrojaka u listovima i koe…cijenti popunjenosti. U donjem je dijelu pokazno sta-
blo (engl. show tree), koje prikazuje proizvoljan dio glavnog rašµclambenog stabla.
Pokazno stablo ima punu funkcionalnost do razine l = 4, za maksimalno 16 µcvorova
u donjem redu, te dodatnih 32 pokazatelja o postojanju µcvorova na sljedećoj razini,
l = 5 (slike 8.5 i 8.6). U µcvorovima pokaznog stabla korisnik moµze po izboru oµcitati
ili izbrojak (broj prona†enih podnizova koji odgovaraju µcvoru) ili uvjetne vjero-
jatnosti µcvora s obzirom na roditelja (vjerojatnosti prijelaza), odnosno s obzirom
na korijen pokaznog ili glavnog stabla. Ova posljednja vjerojatnost — u odnosu na
korijenski µcvor glavnog stabla s vjerojatnosti 1 — ujedno je i totalna vjerojatnost
promatranog µcvora na razini l , odnosno vjerojatnost l-cilindra kojeg predstavlja.
Korisnik moµze slobodno lutati kroz µcvorove pokaznog stabla, bilo mišem, bilo
tipkama. Pokazno se stablo moµze pomicati na nekoliko naµcina, pa se svaki dio
proizvoljno visokog glavnog stabla (koje je stalo u memoriju!) moµze u potpunosti
istraµziti. Tako†er, moguće je odabrati jedan od tri tipa prolazaka kroz stablo i
pokretati ga od µcvora do µcvora ruµcno, ili ga provesti automatski. Pri tom se gradi
nezavisna statistika posjećenih µcvorova, koja se po svršetku prolaska uspore†uje s
već postojećom statistikom kreiranom u fazi hranidbe stabla (§8.3). Dodatni opisi i
slike ovog radnog prozora mogu se naći u prilogu H, u prikazima analize rašµclambenih
stabala dinamiµckih sustava (vidjeti npr. §H.2 i sl. H.1, H.2, H.4).
292 8. Programska implementacija

Prezentaciju strukture stabla ostvarenu u ovoj dijaloškoj klasi moµzemo smatrati


jednom od posebnih odlika DSA programa. Prilikom njezina ostvarenja ideja vodilja
bila je da se mora ostvariti pregledan alat za uµcinkovito testiranje svih originalnih
algoritama koji djeluju u klasama stabala. Tijekom razvoja, ovom su korisniµckom
suµcelju dodavana nova svojstva i nove mogućnosti. Za novu je inaµcicu DSA programa
poµcetna implementacija ove klase temeljito preure†ena (porast broja linija koda od
2400 na 4600), što je rezultiralo povećanom funkcionalnošću i preglednošću prilikom
istraµzivanja dobivenih rašµclambenih stabala.

8.8.2 Klasa za prikaz poloµzaja morfova u glavnom stablu


Velik dio funkcionalnosti prethodne klase koristi iz nje izvedena CMorphsFindAnd
-ShowDlg klasa, koja omogućuje prikaz korijena morfova unutar glavnog stabla. Ta
je klasa tako†er temeljito preure†ena u odnosu na izvornu inaµcicu, djelomiµcno i zbog
ostvarenja slobodnijeg pristupa ovom prozoru u najrazliµcitijim situacijama modelira-
nja. Primjerice, kad je glavno stablo posjeµceno a SFA objekt jošpostoji, ne moµzemo
gledati µcvorove morfova na donjem dijelu slike, ali imamo uvid u punu statistiku
svakog morfa u SFA objektu. Iz ovog se dijaloškog prozora moµze pokretati nalaµzenje
morfova i pregledavanje njihovih poloµzaja unutar glavnog stabla. Za sluµcaj našeg
standardnog testnog sustava, “nema uzastopnih nula”, ovaj je prozor prikazan na
slici 8.8. On je funkcionalno povezan s dijaloškim prozorom za kreaciju i odabir SFA
objekata (glavni, gornji prozor na sl. 6.6), pa se korisnik prilikom izrade i analize
modela moµze izravno kretati izme†u njih.

8.8.3 Gra…µcki prikaz glavnog stabla i morfova


Na koncu, spomenimo još i gra…µcki prikaz glavnog stabla i morfova, koji je za sada
ostvaren bez posebne klase. Izgled našeg stabla i njegova korijenskog morfa dan je na
slici 8.8. Ovi lijepi crteµzi realizirani su s jednom glavnom rekurzivnom funkcijom u
baznoj klasi CABinTree te s nekoliko pomoćnih u CDSATreeView klasi prozora stabala,
sa svega stotinjak linija koda. Eleganciju i jednostavnost rješenja omogućuje klasa
podstabala CSubABinTree. Podstabla po volji kreiramo iz bilo kojeg µcvora glavnog
stabla i potom na njih primjenjujemo µzeljene funkcije, ukljuµcujući i funkciju za njiho-
vo crtanje. Tako se u gornjem dijelu prozora Trees prikazuje izgled glavnog stabla,
a u donjem dijelu podstabla morfova iz dobivenog modela. Budući da je prikaz
velikog broja µcvorova na većim razinama nepregledan, a njihovo iscrtavanje vrlo
opterećujuće za rad raµcunala, maksimalna razina ograniµcena je na l = 12 .
8. Programska implementacija 293

Slika 8.5: Dijaloški prozor rašµclambenog (glavnog) stabla visine 6, nahranjenog rijeµcima
iz sustava “nema uzastopnih nula” (NCZ). Uz hranidbeni faktor od 16 Ki (Feed Factor,
gore lijevo) i maksimalan broj od 26 listova za stablo ove visine, program je za automatsku
hranidbu (puce Auto) predloµzio 1 048 576 rijeµci. Umjesto toga, unesen je broj od 108 rijeµci
i pucetom Manually pokrenuta je “ruµcna”hranidba. Stanje na slici jest nakon te hranidbe.
Moguća je i inkrementalna hranidba, rijeµc po rijeµc, uporabom puceta ’+’(zdesna) ili tipke
’+’na tipkovnici. U donjem dijelu pokazno je stablo visine 5 , koje omogućuje prikaz bilo
kojeg dijela glavnog stabla. Njegov je korijen, oznaµcen s ’@ ’, odabran i zato ispupµcen.
Ovdje je on postavljen u korijen glavnog stabla, de…niran praznim nizom e = "". Iznad
je sljedeća rijeµc u nizu koja će biti uµcitana (Next word). Desno je njezin apsolutan poloµzaj
brojan od prve uµcitane rijeµci i relativan poloµzaj u kruµznom spremniku. Do razine 4 µcvorovi
pokaznog stabla imaju punu funkcionalnost. U njima se mogu oµcitati izbrojci (Counts),
ili vjerojatnosti prema: roditelju (Pr/Parent), korijenu pokaznog stabla (Pr/SbRoot) ili
korijenu glavnog stabla (Pr/Root) [radiopuceta slijeva]. Na dnu pokaznog stabla (relativna
razina 5) “granµcice” oznaµcavaju postojanje lijevih i desnih nasljednika.
294 8. Programska implementacija

Slika 8.6: Glavno stablo i sustav kao na prethodnoj slici, ali uz pokazno podstablo spušteno
za dvije razine. Njegov je korijen sada u µcvoru 01 glavnog stabla. Odabrani µcvor najljeviji
je list glavnog stabla (u donjem retku, ispupµcen), de…niran relativnim nizom 0101 prema
korijenu pokaznog stabla, odnosno apsolutnim nizom 010101 prema korijenu glavnog sta-
bla. U srednjem, kontrolnom, dijelu odabire se redoslijed prolaska kroz stablo: prijeredni,
poslijeredni, me†uredni; te njegov naµcin: ruµcni (korak po korak) ili automatski. Tako†er,
mogu se oµcitavati vremena izvršavanja prolaznih algoritama i algoritma hranidbe (Tm.tst.,
Check). U pokaznom se stablu µzeljeni µcvor odabire izravno klikom miša ili pak dolaskom
u njega. Šetnja kroz µcvorove moguća je s pomoću puceta za navigaciju na desnoj strani i
tipaka: To Root, To Parent = Alt+ , Current Up, To Left = Alt+ , To Right = Alt+!, To
Child = Alt+ [uz odabir prioritetno lijevog (L) ili desnog (R) djeteta]. Listovi stabla ozna-
µceni su znakom _j_ . Na lijevom i desnom rubu apsolutne su razine pokaznog podstabla.
Korisnik moµze odabrati tri naµcina pomicanja pokaznog stabla: Normal, Force, Smart.
8. Programska implementacija 295

Slika 8.7: Dijaloški prozor za prikaz morfova SFA-modela odabranog ID broja, s nave-
denim parametrima (u gornjem lijevom kutu). Dinamiµcki sustav i glavno stablo isti su
kao i na sl. 8.5 i 8.6. Prikazani su rezultati po uporabi TFM1 algoritma, a iste rezultate
daje i TFM2 algoritam (Find + : opcija 1 = TFM1, opcija 2 = TFM2 inaµcica alg. F.1). Po
usporedbi svih 19 podstabala glavnog stabla i redukciji (L; )-ekvivalentnih, ovi algoritmi
za NCZ sustav daju isti model kao i FM algoritam, koji provjerava (samo) 6 podstabala.
Korijeni tri prona†ena morfa visine 2 uokvireni su. Za odabrani morf SFA-modela u gor-
njem je dijelu statistika njegova podstabla (Morph/Subtree Statistics). Desno od puceta
FIND podaci su o tome koliko je morfova prona†eno te koliko je od njih oblikovno razliµci-
tih. Pored je i maksimalni broj morfova koji se mogu pronaći u ovom prolaznom stablu.
Mnogi drugi detalji razumljivi su izravno iz suµcelja. Kao i u dijaloškom prozoru glavnog
stabla, korisnik moµze prolaziti kroz postojeće µcvorove, ali samo do razine D L , na kojoj
su listovi prolaznog stabla. [Usput: vjerojatnosti prijelaza izme†u morfa i njegovih pod-
morfova jednaki su vjerojatnostima djece u odnosu na korijenski µcvor morfa. Usporediti s
prijelaznim vjerojatnostima SFA modela sa sl. 6.7, dobivenim uz istu hranidbu.]
296 8. Programska implementacija

Slika 8.8: Gra…µcki prikaz glavnog stabla visine D = 6 sa sl. 8.5 i 8.6 te morfa br. 1
(korijenskog) visine L = 3 , odabranog u radnom dijaloškom prozoru sa sl. 8.7. Ovo je
izravna preslika (engl. screenshot) prozora Trees DSA programa. Nakon hranidbe glavnog
stabla u gornjem se dijelu prozora crta glavno rašµclambeno stablo do maksimalne razine
l = 12 . Da se u donjem dijelu prozora prikaµze µzeljeni morf iz nekog od dobivenih SFA
modela, treba ući u dijaloški prozor SFA Tree Morphs –Show and Find te odbrati taj model
i morf. [Puce Redraw moµze pomoći u iscrtavanju aktualnog stanja.]
8. Programska implementacija 297

Slika 8.9: Glavno stablo visine D = 5 (gore) i morfovi visine L = 2 (dolje) sustava “nema
uzastopnih nula”(NCZ), prikazani u prozoru Trees DSA programa. Uz vjerojatnosti prije-
laza poznate sa sl. 8.5 i 8.7 u potpunosti je reproducirano teorijsko izlaganje iz odjeljka
6.5, ilustrirano na sl. 6.3 i 6.4. Gornji dio prozora izvorna je preslika dijela ekrana s
aktivnim prozorom Trees. U donjem su dijelu, uz već postojeći morf br. 1, gra…µckom
obradom dodani s lijeve strane morf br. 2 i s desne strane morf br. 3. Oba su preuzeta iz
drugih preslika, u kojima su oni bili odabrani za prikaz (DSA program u sadašnjoj inaµcici
omogućuje istovremeno crtanje samo jednog, odabranog morfa, kao na slici 8.8).
298 8. Programska implementacija

Slika 8.9 prikazuje glavno stablo visine D = 5 i u njemu prona†ene morfove, tj.
oblikovno i stohastiµcki jedinstvena podstabla visine L = 2 dobivena pri modeliranju
NCZ sustava. Ona reproducira teorijske rezultate izvedene u odjeljku 6.5, koji su
prikazani na slikama 6.3 i 6.4.
Pregledan gra…µcki prikaz od velike je koristi modelaru. To vrijedi jednako za ana-
lizu glavnog rašµclambenog stabla i u njemu prona†enih morfova, kao i za pomoć pri
odabiru parametara modela i izvo†enje teorijskih zakljuµcaka. U ostvarenju spomenu-
tih i ostalih suµcelja bilo je pregršt zanimljivih programskih rješenja — podjednako s
algoritamskog i organizacijskog gledišta — koja su doprinijela funkcionalnosti i lakoći
uporabe ovog programa. No iako su ona presudna za uµcinkovitu uporabu DSA pro-
grama, ovdje ih zbog njihove opseµznosti ne moµzemo obrazlagati.

8.9 Nedovršeni zadaci i moguća unaprje†enja


Na kraju ovog poglavlja navodimo neostvarene programske zadatke i moguća buduća
unaprje†enja DSA programa. Do rezultata koji su bitni za ovaj rad moglo se doći i
bez njih, pa su oni ostavljeni za naredne etape programiranja.

8.9.1 Zadaci manjeg obima

Primitak vanjskog vremenskog niza. Ovaj je zadatak lako ostvariti nadopunja-


vanjem programskog modula za iteraciju i binarnu izmjeru (sl. 8.1). Valja omogućiti
uµcitavanje datoteka odabranog formata: (i) s binarno kodiranim podacima, te (ii) s
vrijednostima iz zadanog intervala. Druga vrsta podataka bit će prebaµcena u kruµzni
spremnik iterativnih toµcaka i potom kodirana s obzirom na zadanu kritiµcnu (diskri-
minirajuću) toµcku, a prva odmah u njemu paralelni kruµzni spremnik s binarnim
izmjerama (§8.2.1, 8.2.3).
Gra…µcki prikaz glavnog stabla, koncept hranidbenog stabla. Gra…µcki prikaz
stabala — kao na slici 8.8 — ostvaren je u svom poµcetnom obliku, bez zadovoljenja
naµcela otvorenosti. Za sada nije moguć izbor razine do koje će se stablo prikazati niti
je moguć prikaz njegova µzeljenog podstabla — kao što je to kroz koncept pokaznog
stabla ostvareno u radnom prozoru za prikaz i hranidbu glavnog stabla. Za oba
navedena zahtjeva već su razra†ene funkcije, jednako kao i za popunjavanje µcvorova
nijansama sive boje u ovisnosti o njihovim vjerojatnostima. S tim u svezi potrebna
je jošrealizacija korisniµckog suµcelja za odabir µzeljene visine, korijena podstabla, tipa
8. Programska implementacija 299

vjerojatnosti µcvora (prema roditelju ili prema korijenu) itd. Dodatan programerski
izazov jest realizacija slobodnog lutanja kroz stablo na intuitivan naµcin, kao što je
to ostvareno u gore spomenutom prozoru za njegov prikaz i hranidbu.
Nadalje, analiza rašµclambenih stabala u sljedećem poglavlju pokazat će da bi
praktiµcno bilo uvesti koncept hranidbenog rašµclambenog stabla (engl. feed parse
tree) visine DF , kao jedinog stabla kojeg zaista hranimo rijeµcima iz vremenskog
niza (vidjeti prilog H.1.1). Ono bi preuzelo funkcionalnost hranidbe i rašµclambe od
sadašnjeg glavnog stabla visine D . Jedna hranidba tog stabla omogućila bi jedno-
stavnu kreaciju cijelog niza već nahranjenih glavnih stabala, visine: 1 D DF .

Serijalizacija. Dosljedna serijalizacija (engl. serialization) najvaµznijih objekata


DSA programa neophodna je priprema za ostvarenje njihove permanentnosti, pohra-
nom na vanjsku, trajnu memoriju. Serijalizacija je već djelomiµcno pripremljena u
nekim od temeljnih klasa, ali nije dovršena. Iako je na digitalnim raµcunalima mode-
liranje uz poznate parametre u potpunosti reproducibilno, korisniku treba omogućiti
pohranu pojedinih etapa modeliranja i dobivenih rezultata.

Prelazak na 64-bitnu aplikaciju. Ovo je unaprje†enje DSA programa nuµzno da bi


on na 64-bitnoj platformi mogao koristiti radnu memoriju veću od 2 GiB. Naime,
za kvazistohastiµcne sustave s rašµclambenim stablima koja nisu rijetko popunjena, do
iscrpljenja memorije raspoloµzive za 32-bitne aplikacije dolazi već za visine glavnog
stabla 20 - 25. U sklopu tog unaprje†enja svi cjelobrojni tipovi pojaµcat će se na
64-bitne. Nadalje, sadašnja preciznost izraµcuna orbite na 15 znaµcajnih znamenaka
dovodi do sustavnih numeriµckih pogrešaka kod korelacija duljih od oko 20. Stoga je
za toµcno razmatranje većeg broja uzastopnih toµcaka potrebno osigurati preciznost
veću od sada korištene dvostruke (vidjeti 9.1.1 –9.1.3).

8.9.2 Prilagodba za druge abecede

Teorija -strojeva općenita je teorija za gradbu modela iz proizvoljnih vremenskih


nizova. Stoga ćemo ukratko razmotriti preinake koje su potrebne da DSA program
osim binarnih prihvati i simbole iz drugih abeceda. U najjednostavnijoj korespon-
denciji s binarnom jest kvartarna abeceda, s bazom b = 4 . Niz kvartarnih simbola
emitirao bi 1D dinamiµcki sustav opisan funkcijom s tri kritiµcne toµcke, koje de…niraju
µcetiri kodna podruµcja faznog prostora. Od prirodnih sustava, to bi mogao biti npr.
meteorološki sustav opisan s pomoću µcetiri razliµcita vremenska stanja (usp. s 9.4.1).
300 8. Programska implementacija

Već postojeća funkcionalnost DSA programa uvelike se moµze iskoristiti za prihvat


kvartarnih simbola. Po njihovu prevo†enju u dvobitne rijeµci dobiveni bi se binarni
niz uµcitavao u postojeće binarno rašµclambeno stablo parne visine. Pri tom se kod
prelaska na novu rijeµc prozor za µcitanje treba posmicati — umjesto za jedno — za
dva mjesta (bita). Prilikom nalaµzenja morfova sve bi se neparne razine glavnog sta-
bla ignorirale, tj. svako bi moguće stanje bilo predstavljeno binarnom stazom parne
duljine. U dvije razine niµze ono bi imalo do µcetiri moguća nasljednika — po jednog
za svaki od µcetiri znaka abecede. Dakle, nalaµzenje -strojeva za kvartarnu abecedu
ostvarivo je preinakama, odnosno generalizacijama, postojećih funkcija. Naravno,
preinake bi trebalo napraviti i u gra…µckom suµcelju za prikaz SFA izvješća.
Analogno razmatranje vrijedi i za abecede s bazama b = 2k , k = 2; 3; : : : , µciji bi
se simboli kodirali s k bita i protezali kroz k razina binarnog rašµclambenog stabla. Za
nalaµzenje SFA alternativni je pristup kreirati model kao i do sada, te po k uzastopnih
stanja zdruµzivati u jedno, iz kojeg će voditi do 2k mogućih prijelaza.
Za niz sastavljen od simbola ternarne abecede, s bazom b = 3, jedno je od mo-
gućih rješenja da se i oni binarno kodiraju s dva bita. U tom bi sluµcaju neiskorištena
ostala jedna kodna rijeµc (npr. 11), koja se u dobivenom binarnom nizu nikad ne bi
pojavila. Postupak gradbe rašµclambenog stabla zasnivao bi se na prijamu binarnih
podnizova kao i kod binarno kodiranih kvartarnih simbola, a sliµcno bi vrijedilo i za
nalaµzenje morfova. Zbog nedostatka jedne dvobitne rijeµci binarno bi rašµclambeno
stablo uvijek bilo asimetriµcno. Tako†er, zbog toga bi iz svakog morfa na dvije
razine niµze mogli voditi prijelazi u najviše tri morfa. Mana je ovog rješenja što
binarno rašµclambeno stablo — kao raµcunski model prve razine — ne bi na minimalan
i suštinski korektan naµcin odraµzavalo karakter uµcitanih ternarnih rijeµci.
Drugi, ab-initio pristup, pošao bi od razvoja ternarnog rašµclambenog stabla,
za kojeg bi trebalo prilagoditi sve rabljene algoritme. U tom bi rješenju trebalo
uvesti općenitu nadklasu stabala u kojoj bi binarna i ternarna stabla bile podklase,
s vlastitim inaµcicama speci…µcnih funkcija. Nadalje, za ternarna stabla, s moguća tri
nasljednika po svakom µcvoru, trebalo bi napraviti i mnoga nova gra…µcka suµcelja. Sve
to ukazuje da bi ovo rješenje zahtijevalo izrazito velik programerski napor, po broju
novih linija koda sumjerljiv cijeloj sadašnjoj verziji DSA programa.
Poglavlje 9

Modeliranje s pomoću DSA


programa

Nakon prikaza teorije -strojeva te izlaganja, analize i implementacije algoritama za


njihovu rekonstrukciju u okviru DSA programa, u ovom poglavlju dajemo kratak pre-
gled rezultata modeliranja dinamiµckih sustava. Mogućnosti DSA programa i naµcin
njegove uporabe razvidni su iz opisa njegovih izbornika, danog u prilogu G, a za to
mogu posluµziti i kratke upute na priloµzenom kompaktnom disku. Nadalje saµzimamo
najvaµznije dijelove obimnog izlaganja iz priloga H i I, u kojima su iznijeti rezultati
analize rašµclambenih stabala dinamiµckih sustava, odnosno njihovih stohastiµckih ko-
naµcnih automata (SFA). Na kraju poglavlja diskutirat ćemo i neke ideje za buduća
istraµzivanja.

9.1 Analiza rašµclambenih -stabala


Prije nalaµzenja temeljnih -strojeva dinamiµckih sustava — predstavljenih pripadnim
SFA-modelima— nuµzno je provjeriti korektnost niµzih razina hijerarhijskog modelira-
nja: vremenskog niza na nultoj i rašµclambenog stabla na prvoj razini (§6.4). U DSA
programu moguć je uvid u oba ova temeljna raµcunska modela (prilog G.2). I dok je
izravna analiza vremenskog niza ograniµcenog dosega, rašµclambena -stabla podastiru
niz pokazatelja koje valja razmotriti prije prelaska na višu etapu modeliranja.
Prosjeµcan broj bl djece po µcvoru na razini l pokazatelj je statistiµcke konzisten-
tnosti rašµclambenog -stabla, iz koje prosu†ujemo i njegovu strukturalnu konzisten-
tnost (§H.1). Ukoliko je dobra konvergencija bl na razinama l lCorr , narušena za
l > lCorr , to upućuje na gubitak statistiµcke i strukturalne konzistentnosti na višim

301
302 9. Modeliranje s pomoću DSA programa

razinama, pa relevantne morfove moramo traµziti samo u rašµclambenim stablima


visine D lCorr . Na razinama l > lCorr dolazi do odstupanja broja prona†enih od
broja statistiµcki, odnosno strukturalno, oµcekivanih µcvorova. To će dovesti do pojave
novih oblikovno jedinstvenih podstabala koja nisu posljedica osobitosti dinamiµckog
sustava, već numeriµckih pogrešaka nastalih pri izraµcunu njihove orbite za predugi
niz uzastopnih toµcaka — u ovom sluµcaju niz dulji od lCorr .

9.1.1 Sustav BTS-rand i sustavi zadani pravilom


Sustav u kojem se za dobivanje Bernoullijevog vremenskog niza kao generator pse-
udosluµcajnih brojeva (PRNG) rabi funkcija rand (§6.7.3, 8.2.1), nazivamo kratko
BTS-rand. Njegovo je rašµclambeno -stablo detaljno obrazloµzeno u prilogu H.2.
Mada neizravno — jer se generirani brojevi normaliziraju na jediniµcni interval i po-
tom binarno kodiraju — rašµclambeno -stablo dade se iskoristiti za analizu korištenog
PRNG-a. To je ilustrirano razmatranjem dinamike pojavljivanja µcvorova na višim
razinama stabala i analizom (ne)ravnomjernosti dobivenih distribucija vjerojatnosti
za neke od 2D mogućih rijeµci iz stabla visine D = 20 (§H.2.1, H.2.2). Za ovaj je
sustav lako uoµciti razinu greške lErr = lCorr + 1, na kojoj prestaje konzistentnost
rašµclambenog stabla. To je najmanja razina l na kojoj je bl < 2. Ako lErr postoji,
PRNG nije generirao barem jednu od 2lErr mogućih rijeµci duljine lErr .
Za BTS-rand sustav hranidbe do 3:5 108 rijeµci popunjavaju sve razine l
lCorr = 24, pa su sva stabla visine D 24 strukturalno konzistentna. Za D 25
dolazi do iscrpljivanja memorijske kvote za 32-bitnu MS Windows(C) aplikaciju, pa
tu naše istraµzivanje staje (vidjeti komentar u podbilješki H.2).
Za ovaj i za druge sustave zadane pravilom omogućena je i generacija vjerojat-
nosno pristranog vremenskog niza (§H.2.3). Na taj se naµcin moµze generirati široka
paleta sustava, s razliµcitim vjerojatnostima prijelaza izme†u stanja.
Napravljena je detaljna analiza rašµclambenih stabala dva sustava zadana pra-
vilom: “nema uzastopnih nula” (NCZ) i “paran broj uzastopnih jedinica” (ECO)
[prilog H.3]. Za prvog je od njih broj Nl µcvorova na razini l stabla jednak (l + 2)-
gom Fibonaccijevom broju, Nl = Fl+2 , što je odlika zlatno srednjeg -stabla (§A.4).
Za drugi pak je Nl = Fl+3 1 . Nl jednak je broju podnizova (rijeµci) wl duljine l ,
odnosno broju l-cilindara ili l-blokova (§6.4.1, 7.1). Za oba ova stabla napravljena je
analiza toµcnosti pojednostavljenog izraza za broj µcvorova -stabla iz prosjeµcnog broja
b djece po µcvoru [formula (H.12)] i opravdana njezina uporaba u raµcunu prostorno-
vremenske sloµzenosti algoritama. Zahvaljujući poznatom toµcnom broju Nl , i ovdje
9. Modeliranje s pomoću DSA programa 303

l 0 5 10 15 20 25
Nl 1 13 144 1 597 17 711 196 418
= F2 = F7 = F12 = F17 = F22 = F27
bl 2.000 000 000 1.615 384 615 1.618 055 556 1.618 033 813 1.618 033 990 1.618 033 989

l 26 27 28 29 30 31
Nl 317 811 514 229 832 040 1 346 269 2 178 308 3 524 562
= F28 = F29 = F30 = F31 = F32 1 = F33 16
bl 1.618 033 989 1.618 033 989 1.618 033 989 1.618 033 246 1.618 027 386 —

Tablica 9.1: Broj Nl µcvorova i prosjeµcan broj bl djece po µcvoru (bl = Nl =Nl+1 ), na razini l
rašµclambenog -stabla sustava “nema uzastopnih nula”(NCZ). Sustav je generiran prema
regularnom izrazu (0 + e)(1 + 10 ), s pomoću funkcije rand. Za l 29 Nl je Fibonaccijev
broj Fl+2 , dok za l 30 dolazi do manjka µcvorova. Stoga bl konvergira u zlatnu sredinu
(7.55) za l ! 28, dok za l 29 ta konvergencija prestaje. [Prema tab. H.6.]

je lako uoµciti postojanje manjka µcvorova uzrokovanog neuniformnošću funkcije rand.


Za NCZ sustav taj se manjak pojavljuje na razinama l lErr = 30 (tab. 9.1), a za
ECO na l lErr = 29. Ovo je ponašanje dovedeno u svezu sa svojstvima funkcije
rand i njezinim periodom od 2 Gi iteracija (usporediti sa 6.7.3).

9.1.2 Sustavi logistiµckog preslikavanja


Za logistiµcko preslikavanje odabrano je pet tipiµcnih vrijednosti kontrolnog parametra
r, µcime su dobiveni sljedeći logistiµcki sustavi:
i. LMOC, rF = 3:569 945 671 869 544 5 : : : (od engl. Logistic Map at the Onset
of Chaos), logistiµcko preslikavanje u nastupu kaosa, na kraju podruµcja udvo-
struµcavanja perioda. rF se pojavljuje u de…niciji Feigenbaumove konstante F
[48] (orbitni dijagram na sl. H.5).
ii. LMI, rI = 3:8282 (od engl. Logistic Map at the Intermittency route to chaos),
logistiµcko preslikavanje na ruti kaosa na mahove ili kaosa s prekidima (sl. H.6).
iii. LMM, rM = 3:927 737 001 786 751 6 : : : (od engl. Logistic Map at the Misiure-
wicz parameter), logistiµcko preslikavanje za Misiurewiczev parametar r = rM ,
tj. za korijen jednadµzbe fr4 (xc ) = fr5 (xc ), koja izjednaµcuje µcetvrtu i petu
iteraciju orbite iz sjemena u kritiµcnoj toµcki, x0 = xc = 0:5 (sl. H.7).
iv. LMNCC, r = 3:997 (od engl. Logistic Map Near the Climax of Chaos),
logistiµcko preslikavanje blizu vrhunca kaosa (sl. H.8).
v. LMCC, r = 4 (od engl. Logistic Map at the Climax of Chaos), logistiµcko
preslikavanje na vrhuncu kaosa, na kraju kaotiµcnog podruµcja (sl. H.8).
304 9. Modeliranje s pomoću DSA programa

Rašµclambena -stabla ovih sustava detaljno su statistiµcki proanalizirana, do mak-


simalnih razina koje dopušta raspoloµziva memorija (prilog H.4). Iz tih se rezultata
dade zakljuµciti da jedino LMOC sustav — s izrazito rijetko popunjenim stablom —
ne pokazuje statistiµcku stabilnost (tablice u prilogu J). Svi ostali imaju prosjeµcan bl
broj djece koji do razine l0 = lCorr 1 konvergira k vrijednosti: lim bl!l0 = bX; 0 , gdje
X oznaµcava sustave (ii) do (v) iz gornje liste. Za rašµclambeno stablo LMI sustava
pokazana je identiµcnost sa stablom NCZ sustava do razine lCorr = 24, pa za njega
vrijedi: lim bl!23 = bI; 0 , gdje je omjer zlatnog reza.
0
Za razinu l = l + 1 (= lCorr ) dolazi do skokovitog pada bl zbog manjka µcvorova
na višim razinama stabala. Taj je pad sve veći za veće l l0 + 1 . Razina l0 opće-
nito ovisi µcak i o vrlo malim promjenama parametra sustava te o sjemenu iteracije.
Osjetljivost na te promjene to je veća što je veći Lyapunovljev eksponent, koji za
gornje sustave raste s njihovim rednim brojem. Zato su za logistiµcka preslikavanja
(ii) do (v) odabrana takva sjemena koja daju rašµclambena stabla s najvećim l0 .

9.1.3 Analiza konzistentnosti rašµclambenih -stabala


poteklih iz numeriµcki iteriranih orbita
Na temelju statistike rašµclambenih stabala i preliminarnog istraµzivanja pojedinih
sluµcajeva izveden je zakljuµcak da se u promotrenim stablima na velikim razinama
uvijek doga†a globalni manjak a nikad višak µcvorova (da se višak nikad ne doga†a
niti lokalno, valja i dodatno potvrditi). Taj manjak znaµci gubitak statistiµcke konzi-
stentnosti rašµclambenog -stabla na većim razinama, a budući da je za sustave (ii)
do (v) prosjeµcan broj djece po µcvoru (bX; 0 ) dobro de…niran, on znaµci i gubitak struk-
turalne konzistentnosti stabla. Uzrok je tome akumulacija numeriµckih pogrešaka pri
izraµcunu toµcaka orbite s konaµcnom toµcnošću — u našem sluµcaju na 15 znaµcajnih zna-
menaka (tip dvostruke preciznosti). To je potvr†eno usporednim izraµcunom dijela
orbite s povećanom (µcetverostrukom) preciznosti [detalji u prilogu H.5].
Pojava manjka µcvorova rašµclambenog stabla, odnosno manjka odgovarajućih pod-
nizova u vremenskom nizu, teorijski je razra†ena. Konaµcna preciznost izraµcuna
stvarne orbite dovodi do njezina odmaka od idealne. Taj odmak raste eksponenci-
jalno s umnoškom Lyapunovljevog eksponenta sustava i broja koraka iteracije (razine
l stabla) te dirigira vjerojatnost da toµcka orbite prije†e u drugi kodni podinterval
i bude krivo kodirana. Iz te je vjerojatnosti i pretpostavljenog broja uµcitanih rijeµci
dobiven izraz za procijenjenu razinu lErr;est na kojoj će se manjak µcvorova pojaviti.
Za navedene su sustave u zasebnom programu izraµcunani Lyapunovljevi eksponenti.
9. Modeliranje s pomoću DSA programa 305

Za LMM, LMNCC i LMCC oni su bliski dualnom logaritmu prosjeµcnog broja djece.
Izraµcunane razine lErr;est za njih se dobro slaµzu s eksperimentalno odre†enim ra-
zinama lErr (prilog H.5.4, tab. H.13). Za LMI sustav bitno se bolji rezultati do-
bivaju uzimanjem vrijednosti ld b umjesto Lyapunovljevog eksponenta. Za LMOC
sustav — s Lyapunovljevim eksponentom bliskim nuli — na temelju spore ali nepre-
kinute konvergencije prosjeµcnog broja bl djece po µcvoru k jedinici zakljuµcujemo da
je njegovo rašµclambeno stablo konzistentno i za visine D ' 28 .
Zakljuµcak ove razine modeliranja vrlo je vaµzan: jedino će konzistentna rašµclam-
bena stabla garantirati da u više raµcunske modele neće biti prenesene pogreške u
strukturi i vjerojatnostima µcvorova! Odstupanja toµcaka orbite od toµcnih vrijednosti
neminovna su pojava kod promatranja (pre)dugaµckih korelacija izme†u stanja di-
namiµckih sustava u kaotiµcnim reµzimima. Kod nas se to oµcituje kod (pre)dugaµckih
izluµcenih rijeµci, odnosno kod (pre)visokih rašµclambenih stabala. Stoga je gore opisana
statistiµcka analiza nuµzan korak prije prelaska na višu razinu modeliranja.

9.2 SFA-modeli dinamiµckih sustava


Iz konzistentnog rašµclambenog stabla visine D, konstruiranog hranidbom iz vremen-
skog niza primljenog od promatranog sustava, gradimo temeljni -stroj, odre†en
parametrima L i . Temeljni -stroj de…nira stohastiµcki konaµcni automat, SFA.
Dobiveni SFA, zajedno s navedenim parametrima (D, L, ) i podacima o hranidbi
stabla, nazivamo SFA-model sustava (§6.2, primjer u 6.5.7). Takve ćemo modele —
primjenom FM algoritma i postupka sveobuhvatnog modeliranja (§6.6.4) — odrediti
za µcitav niz raznorodnih dinamiµckih sustava, a dobivene rezultate potvrditi i s po-
moću TFM algoritma. [Detaljna razrada ovog odjeljka dana je u prilogu I.]

9.2.1 Sustavi BTS-rand i BTS-LMCC


Za BTS-rand i (BTS)-LMCC sustave — koji simuliraju potpuno nasumiµcan proces,
bez strukture — dobiva se trivijalan SFA, s jednim stanjem i s pribliµzno jednakim
vjerojatnostima prijelaza po oba simbola (sl. 7.5a, detalji u I.1). Uz veliku visinu
L morfova i malo dozvoljeno vjerojatnosno odstupanje , preko dobivenih se SFA
moµze provjeravati uniformnost rašµclambenog stabla, a time posredno i uniformnost
raspodjele generiranih brojeva. LMCC sustav moµze se koristiti za generaciju pseu-
dosluµcajnih brojeva ako se prikladnim izborom sjemena izbjegnu nepovoljne orbite.
Ad hoc analiza jedne povoljne orbite pokazala je da su uvjetne vjerojatnosti µcvorova
306 9. Modeliranje s pomoću DSA programa

naspram svojih roditelja unutar razlike p = = 0:001 od idealne vrijednosti (1=2)


na razinama l l = 7, po hranidbi rašµclambenog stabla s 108 rijeµci. Tada su i
apsolutne vjerojatnosti µcvorova do razine 7, odnosno vjerojatnosti rijeµci duljine do 7
bita, vrlo pribliµzno uniformne. Daljnja hranidba pak dovodi do povećanih ‡uktuacija
vjerojatnosti µcvorova i do smanjenja razine l .

9.2.2 Periodiµcni sustavi


Za generaciju periodiµcnih sustava u sadašnjoj inaµcici DSA programa koristimo lo-
gistiµcko preslikavanje s prikladno odabranim parametrom r . SFA-modeli već su
korišteni za analizu periodiµcnih sustava u 7.4. Minimalni parametri modeliranja L
i D, potrebni za dobivanje regularnih SFA iz vremenskog niza primarnog perioda
n, izvedeni su u prilogu B. Na konkretnim su primjerima oni potvr†eni u prilogu
I.2, gdje su razmotrene i morfovima istraµzene korelacije. Broj morfovima povezanih
simbola za njih mora biti veći ili jednak n — ovisno o strukturi primarnog uzorka
u vremenskom nizu. Duljina korelacije i duljina ciklusa rekurentnog dijela modela
iznose toµcno n 1, odnosno n (def. 6.19). Iz gra…µckog prikaza rašµclambenih stabala
i morfova periodiµcnih sustava uoµcljivo je da najkasnije od razine n 1 postoji toµcno
n staza. Zato broj µcvorova na razinama l n 1 iznosi Nl = n (sl. 9.1, I.2 –I.4).
Svi morfovi periodiµcnih sustava oblikovno su jedinstveni. Njih n 1 tranzijentnih
ima razgranata podstabla, a n rekurentnih ima podstabla degenerirana u jednu
stazu. To je vidljivo na primjeru rašµclambenog stabla i morfova period-5 sustava
na slici 9.1. Ove i druge opservacije pomogle su u dokazima općenitih tvrdnji o
periodiµcnim sustavima (odjeljak 7.4) te u analizi vremenske sloµzenosti FM algoritma
primijenjenog na njima (prilog E.3).

9.2.3 Sustavi zadani pravilom


Toµcke orbita ovih sustava kreiraju se na temelju pravila odnosno regularnih izraza
kojima su oni zadani, uz korištenje generatora pseudosluµcajnih brojeva (u sada-
šnjoj inaµcici DSA programa funkcija rand, §8.2.1). Sustav “nema uzastopnih nula”
(NCZ) već je opisan kao testni primjer (§6.5, 6.7), a na sustav BTS-rand osvrnuli
smo se malo ranije. Pored njih implementirani su i sustavi: “nema uzastopnih je-
dinica”(NCO), “paran broj uzastopnih jedinica”(ECO), “neparan broj uzastopnih
jedinica” (OCO), “paran broj uzastopnih jedinica i paran broj uzastopnih nula”
(ECZO). Detaljnije su oni obrazloµzeni u prilogu I.3, a njihovi su SFA-grafovi sku-
9. Modeliranje s pomoću DSA programa 307

Slika 9.1: Rašµclambeno -stablo visine D = 9 i njegovih devet oblikovno jedinstvenih


morfova visine L = 4 , za logistiµcki sustav s parametrom r = 3:741 . Sustav daje orbitu
perioda 5 (za stabilizaciju binarnog niza iz sjemena x0 = 0:5 potrebna je samo jedna tranzi-
jentna toµcka!). Navedeni D i L minimalni su za razaznavanje ovog perioda. Pripadni SFA
koji oblikom slijedi µcvorove glavnog stabla dan je na sl. 7.4a. Morfovi 1 do 4 tranzijentni
su i bogate strukture. Sustav je relativno sloµzen sve dok prelaskom u jednog od preostalih
pet rekurentnih morfova — s jednostrukom stazom (morfovi 5 do 9) — ne uhvati fazu.
308 9. Modeliranje s pomoću DSA programa

pljeni u prilogu K.1. Za sve njih odre†eni su: parametri za koje se dobivaju toµcni
SFA, broj njihovih stanja (morfološki jedinstvenih, tranzijentnih i rekurentnih) te
informacijsko-teorijske veliµcine, me†u kojima je i statistiµcka sloµzenost (tab. I.3).
ECO, OCO i ECZO sustavi imaju cikluse u svom tranzijentnom dijelu, pa su
oni striktno so…µcki. Za sve sustave zadane pravilom njihovi toµcni SFA-modeli imaju
broj morfovima povezanih simbola koji nadmašuje broj rekurentnih stanja, pa uvjet
(6.34a) vrijedi uz k = 0 . Budući da smo vremenske nizove ovih sustava generirali na
temelju njihovih pravila, poznate su nam duljine lcrr;T S korelacija me†u simbolima
u vremenskom nizu. Pokazano je da njihovi toµcni (i minimalni) SFA-modeli imaju
duljine l M korelacija modela za koje vrijedi jednakost l M = lcrr;T S . To je uvjet za
toµcno i neredundantno odgonetavanje strukture vremenskog niza.

9.2.4 Potvrda modela s pomoću TFM algoritma


Za sve do sada spomenute sustave — BTS-rand, BTS-LMCC, periodiµcne i one zadane
pravilom — modeliranje s pomoću obje inaµcice (temeljitog) TFM algoritma daje
SFA-modele identiµcne onima dobivenim s pomoću FM algoritma. Pri tom je moguće
da se vjerojatnosni parametar mora otpustiti (primjeri u 8.6.7 i I.1.2, I.2.2, I.3.6).
Time se uzajamno potvr†uje valjanost ovih algoritama. Posebice nam je to vaµzno
kao dokaz dovoljne potpunosti rada FM algoritma. Naime, uz dostatnu visinu L
morfova i dovoljno mali parametar (odre†ene u postupku sveobuhvatnog modeli-
ranja), površnost FM algoritma neće utjecati na korektnost dobivenog SFA-modela.
I bez provjere svih podstabla, FM će algoritam istraµziti rašµclambeno stablo u do-
voljnoj mjeri te se okonµcati ranije. Štoviše, svojstvo površnosti prekida nepotrebnu
potragu po dubini glavnog stabla i uspore†ivanje podstabala na njegovim većim ra-
zinama — gdje bi pojaµcane ‡uktuacije vjerojatnosti njihovih µcvorova mogle dovesti
do otkrivanja (pre)velikog broja (L; )-razliµcitih morfova.

9.2.5 SFA-modeli sustava logistiµckog preslikavanja


Od pet sustava logistiµckog preslikavanja, LMCC je već obra†en kao sustav koji gene-
rira pseudosluµcajan niz znakova (BTS-LMCC). Njega opisuje trivijalan SFA model
(§9.2.1). Preostala µcetiri sustava logistiµckog preslikavanja: LMOC, LMI, LMM i
LMNCC, svaki na svoj naµcin pokazuju kombinaciju kaotiµcnosti i pravilnosti. Ona se
ogleda u kompleksnim SFA-modelima, izrazito ovisnim ili o odabranoj vjerojatnosnoj
preciznosti (LMI, LMM), ili o visini L morfa (LMOC), ili o oboje (LMNCC).
9. Modeliranje s pomoću DSA programa 309

1 0.78472

1 0.53502 1 0.25608 1 0.38746

1 0.68260
C E H I J

(1 0.38746)
0 0.46498
0 0.74392 0 0.61254
A 1 0.56091 11
1 0.85595 1 0.66522
0 0.43909

11 11
0 0.31740 B D F G K

0 0.14405 0 0.33478

0 0.21528

Slika 9.2: SFA modeli LMI-11a i 11b, s 2 tranzijentna i 9 rekurentnih stanja [2 morf.
jedinst., A(D) i B]. LMI-l1a µcine pune linije. LMI-11b isti je, osim prijelaza iz stanja I po
simbolu 1 (crtkano). Mogući su ciklusi svih perioda, no dominira (kvazi)ciklus-3 BDE.

LMI sustav, r = 3:8282 . Ovo je prvi sloµzeni nelinearni dinamiµcki sustav na kojem
je provedeno sveobuhvatno modeliranje. Na konzistentnom rašµclambenom stablu
visine D = 24, za cijeli mogući raspon visina L morfova i vjerojatnosnu preciznost
0:1 / 1, izna†en je skup od 30 SFA-modela: od LMI-2, s dva stanja, do LMI-
12a, b, s ukupno dvanaest stanja (opisani u I.4.1, tab. I.4, I.5). Reprezentativni je
LMI-11(a) dan na slici 9.2 (ostali su SFA-grafovi u K.2.1). Njihova invarijanta —
postojanje samo 2 oblikovno razliµcita morfa — proizlazi iz pravila jednakog kao i za
NCZ sustav: u vremenskom nizu nema uzastopnih nula. No za razliku od NCZ, u
LMI se sa smanjenjem otkriva postepeno narastajući broj vjerojatnosno razliµcitih
morfova (stanja) i suptilna izmjena periodiµcnog i kaotiµcnog ponašanja.
Po usporedbi s prethodnim i kasnijim modelima te na osnovi informacijsko-
teorijskih pokazatelja odbaµcen je model LMI-7c, s ukupno sedam ali samo dva re-
kurentna stanja (sl. K.3e). Do prevelike redukcije njegova rekurentnog dijela dolazi
zbog posebnog izbora parametara modeliranja. Statistiµcka mu je sloµzenost za više
od 50% manja nego kod prethodnih modela, LMI-4, 5, 6 te 7a i b, a još i više u
odnosu na modele s većim brojem stanja. Sve to upućuje da se radi o iznimci. Ovaj
primjer naglašava potrebu usporedbe svakog SFA-modela s ostalima, manje i više
preciznima, te ukazuje na vaµznost provo†enja sveobuhvatnog modeliranja.
Kao reprezentativne modele ovog sustava — uz grublju vjerojatnosnu preciznost
moµzemo odabrati npr. LMI-4 ili LMI-5c, 6c, a za manji , model LMI-11(a).

Zbog izrazite raznolikosti vjerojatnosti prijelaza izme†u µcvorova glavnog stabla i


310 9. Modeliranje s pomoću DSA programa

njihove ovisnosti o razini na kojoj se nalaze, TFM algoritmi ne daju identiµcnu paletu
modela kao i FM algoritam. TFM1 rekonstruira tek najjednostavniji, LMI-2. TFM2
dodatno rekonstruira i FM modele LMI-6c i 11a, za sliµcne vrijednosti (tab. I.6).
To potvr†uje izbor posljednja dva od njih kao reprezentativnih za ovaj sustav.
Za sve LMI modele napravljena je analiza duljina korelacija kao i za prethodne
sustave. Njihove su duljine korelacije lSF A modela za jedan manje od broja vr
rekurentnih stanja, osim za model LMI-5c, za kojeg vrijedi: lSF A = 6 > vr 1 = 4 .

LMOC sustav, r = rF = 3:569 945 671 869 544 5 : : :. Za razliku od LMI modela,
SFA-modeli logistiµckog preslikavanja na kraju puta za kaos udvostruµcavanjem peri-
oda pokazuju izrazitu pravilnost, nalik onoj koju nalazimo kod periodiµcnih sustava.
Tako se i kod LMOC modela nalaze samo morfološki jedinstvena stanja, pa su i
rezultati modeliranja invarijantni na promjene parametra ' 10 4 (prilog I.4.2,
tab. I.8). Tako†er, istovjetni se modeli dobivaju i s pomoću FM i TFM algoritama,
ali je kod potonjeg potrebna odgovarajuća restrikcija visine glavnog stabla.
Kompleksnost ovih sustava proizlazi iz µcinjenice da se za r = rF pojavljuju parni
periodi iznosa n = 2k+1 ! 1 , k = 0; 1; 2; : : :. Maksimalan n koji SFA-model moµze
uhvatiti ovisi o duljini morfovima istraµzene korelacije, koja pak proizlazi iz odabrane
duljine (visine) L morfova. Iz uoµcenih su pravilnosti izvedene veze izme†u parame-
tara LMOC modela (L; Dmin ) i broja njihovih stanja u funkciji logaritma perioda n
(eksponenta k). Na isti su naµcin izvedeni i svi informacijsko-teorijski pokazatelji te
duljine korelacija modela. Dobivene formule u potpunosti reproduciraju rezultate
koje daju i eksperimentalno na†eni modeli, LMOC- 2k+2 + 1 . Uoµcene simetrije i
pravilnosti u dobivenim modelima te eksplicitne formule koje objašnjavaju njihovo
ponašanje, upotpunjuju i nadmašuju rezultate iz temeljnih radova ovog podruµcja
[17, 18]. Tako npr. SFA model LMOC-31, s 15 tranzijentnih i 16 rekurentnih stanja,
uspješno razaznaje ciklus-16, a LMOC-63, s 31 tranzijentnih i 32 rekurentnih stanja,
ciklus-32 (parametri u tab. I.7, I.9). Oba su modela jednostavnija i simetriµcnija od
Crutch…eldovog modela s 47 stanja [17, sl. 1a], [24, sl. 2a], [26, sl. 7a]. Taj model,
LMOC-47, naši, FM i TFM algoritmi tako†er toµcno reproduciraju, ali i korektno
ustanovljuju da se radi o nezatvorenom, tj. o neregularnom, SFA-modelu — što u
Crutch…eldovom radu nije navedeno. Uzrok je tome nevaljali izbor parametara mo-
dela, D = 32 i L = 16, što je zakljuµceno na temelju modela koje daje FM algoritam,
a potom i teorijski dokazano (§I.4.2). Ovi poboljšani rezultati potvr†uju korektnost
našeg teorijskog pristupa u odjeljcima 6.2 –6.3, vaµznost tamo uvedene regularnosti
(zatvorenosti) SFA-modela te iz nje proizašlih uvjeta na parametre D i L (korolar
9. Modeliranje s pomoću DSA programa 311

1 1
0 1 1 0 1
2
8 1
2
15 19 21 23
1
1
5
1
2
0 11 0
1
2
1 2

0 1 0 1
1
2 3 1 9 1 14 31 29 27 25
3 1 2 0 2
1
1
1
1 0
1
2 1 18 0 2 30
0
1
1 1 1 1
1 0
0 3 2 2
7 2
12 16 22 28
1
1 4 10 1 1 1 2 0

1 6 1 1 13 17 20 24 26
0 2 1 2 1 0 1

Slika 9.3: SFA LMOC-31. Kauzalni model logistiµckog preslikavanja u nastupu kaosa,
r = rF = 3:569 945 671 869 544 5 : : :, s 31 stanja, dobiven uz L = 8 do 15 , Dmin = 21
do 28 , po hranidbi s 108 rijeµci. Vjerojatnosti prijelaza odstupaju od idealnih vrijednosti
u 6. i 5. decimali. Nakon izlaska iz 15 tranzijentnih (1 –11, 15, 19, 21, 23), model je
u preostalih 16 rekurentnih stanja. Iz svih njih vode deterministiµcki prijelazi osim iz
distributivnog, stanja 22. Iz njega s vjerojatnošću od 1=2 po znaku 0 (1) slijedi primarni
uzorak 0101 1101 (1101 1101 0101 1101). [Vidjeti i prilog I.4.2, sl. I.10 i tab. I.7, I.8.]

6.6). Tako†er, ovi rezultati ponovo dokazuju uspješnost FM algoritma i nadopunju-


juću (veri…cirajuću) ulogu TFM algoritma.
Kod LMOC modela uoµcavamo divergenciju broja njihovih stanja s povećanjem
duljine (visine) morfova L. S duljinom L raste i broj morfovima koreliranih simbola.
To omogućuje otkrivanje sve duµzih perioda n, za koje pak treba 2n 1 stanja. Zato
su SFA nedostatni za dobivanje konaµcnog modela ovog sustava. Na temelju uoµcenih
pravilnosti u dobivenim SFA-modelima, iz LMOC-31 (sl. 9.3) konstruiran je Crutch-
…eldov kritiµcni registarski stroj — u našem kontekstu nazvan stohastiµcki registarski
stroj s proizvodnjom nizova (SRSPM, sl. I.11). Zahvaljujući registrima proizvoljne
duljine, taj stroj — s konaµcnim brojem stanja — prihvaća (odašilje) proizvoljno du-
gaµcke vremenske nizove LMOC sustava, s odgovarajućom duljinom perioda.

LMM sustav, r = rM = 3:927 737 001 786 751 6 : : :. Logistiµcko preslikavanje s Mi-
siurewiczevim parametrom primjer je sustava s naglašenom statistiµckom stabilnosti.
Osim na razini rašµclambenog stabla, ta će se stabilnost oµcitovati i na razini temeljnih
-strojeva, odnosno SFA-modela — znatno više nego npr. za LMI ili niµze obra†eni
LMNCC sustav. Za široki raspon vjerojatnosne preciznosti, 2 [0:019; 1], dobivena
312 9. Modeliranje s pomoću DSA programa

je paleta od 34 modela: LMM-4 do LMM-30 (§I.4.3, tab. I.11). Za …ksni isti


se model dobiva za sve visine morfova, L 2, dozvoljene po uvjetu (6.59). Svi
LMM modeli imaju po µcetiri oblikovno (morfološki) jedinstvena stanja. Njihova su
podstabla, zajedno s glavnim stablom ovog sustava, prikazana na slici 9.4.
µ
Cvrsto je pravilo LMM sustava — ugra†eno u strukturu svih modela — da u nizu
nema više od dvije uzastopne nule. Dodatna je invarijanta za niz (reprezentativnih)
modela — od LMM-7 do LMM-21, dobivenih za 2 [0:029; 0:131] — konstantan
broj od µcetiri rekurentna stanja, vezanih za µcetiri oblikovno razliµcita morfa. Ta se
stanja nalaze unutar rekurentnog (stacionarnog) dijela SFA, koji je za LMM-7 do 21
gotovo jednak, a za LMM-9 do 21 i potpuno jednak (sl. 9.5 i sl. K.4d do f). Razlike
izme†u tih SFA pojavljuju se samo u njihovim tranzijentnim dijelovima. Zato oni
imaju jednaku statistiµcku sloµzenost ( 2 bit) i stopu entropije ( 0:8 bit). Odabirom
0:028, broj rekurentnih stanja ipak postaje veći od µcetiri i poµcinje nadilaziti
broj morfološki jedinstvenih stanja, pa gore spomenuta invarijantnost tog broja na
promjenu (smanjenje) prestaje vrijediti.
Izme†u SFA modela LMM-7 do LMM-21 traµzit ćemo dobre predstavnike ovog
sustava. Uz preciznost 2 [0:048; 0:057] (za tip usporedbe L samo do 0:056)
to je LMM-9, a uz 2 [0:043; 0:047] (za sve tipove usporedbi) to je LMM-11.
Ovo sveobuhvatno modeliranje nadopunjeno je i modeliranjem s pomoću TFM
algoritma. TFM2 inaµcica daje modele LMM-13 i 11, pa se ovaj potonji nameće kao
reprezentativni model cijelog sustava (detalji u tab. I.12). Po potpunom otpuštanju
vjerojatnosne preciznosti ( 0:335) i TFM1 algoritam daje regularan SFA, jednak
poµcetnom, LMM-4. Taj je model sukladan rezultatima drugih autora [21, 22, 85], a
dobiven je i u našem preliminarnom modeliranju [44, pogl. 6].
Modeli od LMM-7 pa naviše imaju cikluse u svojem tranzijentnom dijelu. Stoga
su oni — za razliku od tipiµcnih LMI i svih LMOC modela — striktno so…µcki.
Za sve LMM modele s µcetiri rekurentna stanja, a i neke druge, uvjet (6.34) vrijedi
uz k = 0. To odraµzava jednostavnost strukture glavnog stabla. No me†u ostalim,
netipiµcnim, modelima pojavljuju se i nevelika odstupanja od tog pravila — sliµcna
onima koje smo uoµcili kod LMI sustava [usporediti izraz (I.43) za LMM s izrazom
(I.20) za LMI]. Stacionarna duljina korelacije većine ovih modela za jedan je manja
od broja rekurentnih stanja, no prona†ene su i tri iznimke (I.44a). Time se, uz
prethodno na†eni LMI-5c, sveukupan broj takvih modela penje na µcetiri. Duljina
ciklusa rekurentnog dijela reprezentativnih modela LMI-7 do 21, SF A = 5, za jedan
je veća od minimalnog mogućeg iznosa, jednakog broju rekurentnih stanja (I.44b).
9. Modeliranje s pomoću DSA programa 313

Slika 9.4: Gore: rašµclambeno -stablo logistiµckog preslikavanja s Misiurewiczevim parame-


trom rM = 3:92773700178675 , do razine l = 7 . Ovisnost strukture stabla i statistiµcke
(ne)konzistentnosti o detaljima modela (toµcnost rM , sjeme iteracije, broj tranzijentnih
toµcaka) oµcituje se tek na višim razinama (vidjeti tab. J.3). Dolje: u stablu se otkrivaju
4 oblikovno razliµcita morfa, opisana stazama: e, 0, 00, 001, za svaki izbor njihove visine
L 2 . Poredak i poloµzaj morfova na slici sugerira iz kojeg podstabla roditeljskog morfa
oni potjeµcu — morfovi 2 i 3 iz lijevih, a morf 4 iz desnog podstabla (jedinog u morfu 3).
314 9. Modeliranje s pomoću DSA programa

0|0.38126
1|0.61874 1|0.52257

1|1.0
W X Y(2) Z (1)
1|0.47738 0|0.52262 0|0.47743

Slika 9.5: Rekurentni (stacionarni) dio SFA za LMM sustav, s r = rM (vidjeti sl. K.4c do
h). Manji broj u zagradi broj je morfa sa sl. 9.4 kojemu je stanje oblikovna kopija. W i X
originali su, jednaki morfovima 3, odnosno 4, s iste slike. U modelima su stanja odre†ena
morfovima µciji se interni broj stabilizira sa smanjenjem (s porastom ID-a modela): za
LMM7 –21 , Y = 6 ; za LMM9 –21 , W = 4 ; za LMM16 –21 , X = 8 , Z = 10 .

To je posljedica podjele njihova rekurentnog dijela na dva podciklusa (sl. 9.5).

U dodatnoj informacijsko-teorijskoj analizi, napravljenoj na temelju podataka


dostupnih iz rašµclambenog stabla, za ovaj su sustav izraµcunane topološke i metriµcke
stope entropije primljenog vremenskog niza. Topološka stopa entropije niza vrlo je
bliska topološkoj stopi entropije modela. Metriµcke stope entropije niza s porastom
l pribliµzavaju se stopi entropije modela LMM-9 do 21 (h ; M = 0:79399 bit), pose-
bice h00l , koja se dobiva iz uvjetnih vjerojatnosti (tab. I.13). Lyapunovljev ekspo-
nent dinamiµckog sustava jednak je stopi entropije ako je njegova invarijantna mjera
apsolutno kontinuirana. Za LMM sustav to vrijedi i naši rezultati to potvr†uju.
Lyapunovljev eksponent izraµcunan po bazi 2 ( LMM = 0:78860) blizak je stopama
entropije SFA-modela, posebice onih najpreciznijih, LMM-29 i 30.

LMNCC sustav, r = 3:997. Logistiµcko preslikavanje nadomak vrhunca kaosa naš


je µcetvrti primjer logistiµckog sustava za kojeg sveobuhvatno modeliranje daje veći
broj modela (detalji u prilogu I.4.4, tab. I.14). Uz malu visinu morfova (L 3) za
njega se i uz relativno dobru vjerojatnosnu preciznost ( 0:032) dobivaju modeli
sa samo jednim stanjem — sliµcno kao i za LMCC sustav, ali s blagom vjerojatnosnom
pristranosti (sl. I.16a). Uz L = 1 ali stegnuti ( 2 [020; 0:021]) dobiva se model
LMNCC-5 koji otkriva nemogućnost pojavljivanja više od µcetiri uzastopne nule (sl.
I.16b). To je µcvrsto pravilo ovog sustava, izravno uoµcljivo iz strukture rašµclambenog
stabla (sl. 1.1). Uz isti L i jošmanji ( 2 [0:011; 0:019]) dobiva se zanimljiv model
LMNCC-6 (sl. I.16c). On pravilo sustava potvr†uje u svom tranzijentnom dijelu, ali
se u rekurentnom dijelu reducira na singularno (jedinstveno) stanje i simulira tek
neznatno pristran sluµcajan proces. Zato on nakon odre†enih pre…kasa dozvoljava
proizvoljne nizove (su…kse), pa i one s više od µcetiri uzastopne nule. Svi LMNCC
9. Modeliranje s pomoću DSA programa 315

(1|0.39950)
(1|0.42405)
(1|0.46171)

(1|0.53298) 13a 12a 11a


(0|0.46702)
(0|0.53829) (0|0.57595)
(0|0.60050)
10a
1|0.43561 1|0.73361
1|0.69839 (1|0.73361) ( 1|
1|.52504 1|0.59441 0.62552)
1|1.0
1 1|.54687
2 3 4 5 6 1|
0.60514
7 8 9 9a
0|0.47496 0|.45313 0|0.40559 0|0.30161 0|0.56439 0|0.26639
1|1.0
0|0.39486
10
(0|0.37448)
0|1.0
0|0.51607 0|0.62476 0|0.52541 0|0.49227

11
0|1.0
0|1.0 1|1.0 1|1.0
19 18 17 16 15 14 13 12
1|0.48393 1|0.37524 1|0.47459 1|1.0 1|0.50773

Slika 9.6: Reprezentativni SFA modeli LMNCC-19 i 24, dobiveni za L = 4 (5) i visinu
glavnog stabla D = 23 (24). LMNCC-19 µcine samo grane i µcvorovi nacrtani punom li-
nijom. Svih 19 njegovih stanja morfološki je jedinstveno (sl. I.17). LMNCC-24 µcine sva
stanja i svi prijelazi (pune i crtkane linije) osim prijelaza 8 ! 1 po znaku 1, kojeg mijenja
prijelaz 8 ! 9a. Novih pet stanja, 9a do 13a, morfološke su kopije i µcine zasebnu cjelinu.

modeli s tranzijentnim dijelom (LMNCC-6L, 6F2, 6 i 37) imaju u njemu cikluse, pa


su striktno so…µcki. Tako†er, to su jedini prona†eni SFA-modeli u kojima tranzijentna
stanja prethode jedinstvenom rekurentnom stanju.

Za L = 4; 5 i 2 [0:116; 1] dobiva se model LMNCC-19, u kojem je svih


19 morfova oblikovno jedinstvenih i u kojem nema tranzijentnih stanja (sl. 9.6).
Prva tri od njih prikazana su zajedno s rašµclambenim stablom sustava na slici 1.1,
na kraju uvodnog poglavlja (svi su prikazani na sl. I.17). Pored pravila o najviše
µcetiri uzastopne nule, LMNCC-19 otkriva i dodatne zakonitosti ovog sustava: npr. o
deterministiµckim prijelazima izme†u stanja 9, 10, 11 i 12, kojima se generira podniz
100, te o prijelazima u daljnja i povratcima u ranija stanja. Razina najdubljeg
morfa iznosi 18, pa je minimalan broj morfovima istraµzene korelacije 22 . LMNCC-
19 predstavlja SFA-model “standardne” strukture, za koju ograniµcenje (6.34) na
broj vr rekurentnih stanja vrijedi uz k = 0 i kojemu je duljina korelacije modela
lSF A = vr 1. Duljina ciklusa modela povećana je za jedan, SF A = vr + 1, jer
povratak iz zadnjeg stanja ne vodi izravno na prvo (rekurentno) stanje.
316 9. Modeliranje s pomoću DSA programa

Daljnjim smanjenjem parametra dobivaju se modeli LMNCC-24 do 29. Nji-


hova nova stanja morfološke su kopije oblikovno jedinstvenih stanja iz LMNCC-19.
Ona tvore dodatne, sporedne cikluse, time usloµznjuju strukturu SFA i sva ulaze u
skup rekurentnih stanja, pa je broj rekurentnih stanja veći od uobiµcajene sume mi-
nimalne visine morfa i razine najdubljeg morfa [relacija (I.57)]. Jednako su tako
povećane i duljine korelacije te duljina ciklusa modela (I.58). Najsloµzeniji model,
LMNCC-29, ilustrira SFA posebne kon…guracije, koju karakteriziraju višestruki i iz-
dvojeni dijelovi (ciklusi) s unutarnjim µcvorovima te neizravne povratne staze prema
ranijim stanjima, sastavljene od više grana. Za povezivanje svih tih stanja jedin-
stvenom stazom kroz neke je dijelove SFA potrebno proći više puta. To rezultira
bitno povećanom duljinom korelacije SFA-modela, što dovodi i do povećane duljine
njegova ciklusa.
Iako u dubini ovih modela postoji znatna sloµzenost, u stacionarnoj im distri-
buciji dominiraju poµcetna stanja. Vjerojatnosti daljnjih stanja trnu otprilike eks-
ponencijalno, pa njihov doprinos u informacijsko-teorijskim pokazateljima postaje
zanemariv. Zato je statistiµcka sloµzenost modela LMNCC-19 do 29 gotovo konstant-
na, s iznosom od 2 bit . Sliµcno vrijedi i za stopu entropije modela — tek malo
manju od 1 bit i zamalo veću od Lyapunovljevog eksponenta ovog sustava (unutar
1%). Potpunu invarijantu ovih modela pak predstavlja topološka stopa entropije.
Za LMNCC sustav provedeno je i modeliranje s pomoću TFM algoritma (tab.
I.15). S L = 4, u dijelu stabla izdvojenom od onog u kojem je operirao FM algori-
tam, otkrivena su dva “nova”, oblikovno razliµcita, morfa. No, pokazano je da su oni
posljedica manjka µcvorova na razini listova rašµclambenog stabla visine D = 23, tj.
da je u svim svojim dijelovima to stablo konzistentno samo do razine 22 . Me†utim,
zbog razine najdubljeg morfa lDM = 18, za visinu glavnog stabla D = 22 više se
ne mogu dobiti regularni SFA. Dakle, da bi se LMNCC-19 model dobio i s pomoću
TFM algoritma, potrebna je povećana toµcnost izraµcuna, kojom bi se izbjegla pojava
anomalnih krajnjih morfova u svim dijelovima rašµclambenog stabla.
Konaµcno, na stablima visine 24 i 25 — koja globalno nisu ali lokalno vrlo vjero-
jatno jesu konzistentna — analizirani su neregularni SFA-modeli koje daje FM algo-
ritam. Za L = 5; 6 oni otkrivaju novi, oblikovno jedinstven morf, s jednim µcvorom
viška u odnosu na najsliµcnijeg prethodnika! To upućuje na mogućnost da s daljnjim
porastom visine L morfa raste i broj morfološki jedinstvenih stanja. De…nitivno
će to moći potvrditi tek DSA program s povećanom toµcnosti izraµcuna orbite. Sa
sadašnjom su inaµcicom programa naše raµcunarske mogućnosti iscrpljene.
9. Modeliranje s pomoću DSA programa 317

Dinamiµcki sustav S F A –m o d e l
Opis i primjer L Reprez. Toµcan Jedin. TFM

I. (Kvazi)stohast.: BTS-rand, BTS-LMCC 1 (0) min X X X X


Periodiµcni, period n n 1 min X X X X
Zadan pravilom: NCZ, OCO, ECO, . . . Lmin min X X X X
II. Nastup kaosa (udvostr. per.), LMOC n=2 min !? (L) X
III. Pravila i kvazistoh.: LMI, LMM, LMNCC Lmin >0 !? ( ) !?

Tablica 9.2: Odlike SFA-modela za tri skupine dinamiµckih sustava, dobivenih uz povoljne
L i , min > 0 . X = da, = ne, !? = moguće. Primjer skupine III: Lmin (LMI) = 1,
Lmin (LMM) = 2, Lmin (LMNCC) = 4, SFA moµze biti reprezentativan, aproksimativan je,
tj. (L; )-toµcan, i zato nije jedinstven. Za LMI i LMM potvr†en je TFM algoritmom.

Sve bliµze potpunom kaosu, 3:997 < r < 4 . Pribliµzavanjem parametra logisti-
µckog preslikavanja još bliµze njegovoj graniµcnoj vrijednosti, r = 4, zaostali tragovi
strukture sve se dublje povlaµce u rašµclambeno stablo. Za njih više ne dobivamo
regularne SFA, pa su razina na kojoj se pojavljuje struktura — odnosno najveći broj
dopuštenih uzastopnih nula — prouµceni izravno iz rašµclambenog stabla. Za r 2 [3; 4]
taj broj logaritamski ovisi o razlici 4 r (tab. I.17).

9.3 Rezime o modeliranju raznorodnih sustava


Na kraju ovog odjeljka zakljuµcujemo da ishod modeliranja do razine SFA-modela
moµze rezultirati jedinstvenim i toµcnim modelom, ali i nizom aproksimativnih modela,
odre†enih parametrima L i . U tablici 9.2 dinamiµcki su sustavi prema tijeku i ishodu
(sveobuhvatnog) modeliranja podijeljeni u tri skupine.
U prvoj su potpuno (kvazi)stohastiµcni i strogo deterministiµcni (periodiµcni) su-
stavi, te oni zadani pravilom — s dobro razluµcenim vjerojatnostima prijelaza. Uz
navedene uvjete na L i za njih se dobiva toµcan, jedinstven, pa stoga i reprezentati-
van model, kojeg potvr†uje TFM algoritam. Za L na donjoj navedenoj granici (Lmin
u tab. I.3) min u bitnom je odre†en statistiµckom relevantnosti hranidbe. Sliµcno se
ponašaju i sustavi tipa II, ali uz divergenciju broja stanja s porastom L.
Postupak i rezultati modeliranja najsloµzeniji su za sustave iz skupine III. U njima
se ciklusi i pravilnosti stjeµcu s kvazistohastiµcnosti proisteklom iz deterministiµckog
kaosa. U ovisnosti o izboru za njih se dobiva niz razliµcitih, aproksimativnih SFA-
modela. Oni koji su invarijantni na rast L u širem rasponu te za svoj broj stanja
i sloµzenost postiµzu zadovoljavajuću vjerojatnosnu preciznost — a moµzebitno su i po-
tvr†eni TFM algoritmom — dobar su izbor za konaµcan SFA-model sustava.
318 9. Modeliranje s pomoću DSA programa

9.4 Pogled naprijed . . .


Pored mnoštva raznovrsnih dinamiµckih sustava opisanih u prethodnom odjeljku, niz
je drugih sustava koji se mogu izuµcavati u DSA programu. Tako je u skupini sustava
zadanih pravilom moguće uvoditi vjerojatnosnu pristranost. Nadalje, hranidbom
rašµclambenog stabla iz više razliµcitih sustava moguće je dobiti hibridne sustave. Im-
plementirano preslikavanje kvadratne jednadµzbe tako†er zasluµzuje da se za njegove
tipiµcne parametre prona†u SFA-modeli. Za uspješnu generaciju vremenskog niza iz
preslikavanja s izlomljenim linearnim funkcijama potrebno je ostvariti njihov toµcan
algebarski izraµcun i tome prilagoditi suµcelja za unos parametara.1 Nakon unaprje†e-
nja kojim će se omogućiti primitak vanjskih vremenskih nizova (§8.9), DSA program
bit će spreman za primjenu na eksperimentalnim podacima izmjerenim na stvarnim
…zikalnim i drugim sustavima. Ukratko ćemo to izloµziti u sljedećem pododjeljku.

9.4.1 Primjena na eksperimentalnim podacima


U 1D sustave koji su zanimljivi kandidati za modeliranje s pomoću DSA programa
spadaju svi oni kojima je zbog nepoznavanja njihova internog mehanizma i funkcij-
skih odnosa izme†u varijabli stanja teško pronaći standardan model. U statistici se
za takve sustave primjenjuje neparametarska regresija (engl. nonparametric analy-
sis). -strojevi njezin su raµcunarski i kauzalni ekvivalent [59, pogl. 11].
µ
Cak i kad za sustave postoje standardne prediktivne metode, moµze nas zanimati
njihova struktura. Na primjer, vremenska će nam prognoza otkriti razvoj meteo-
rološkog sustava u kraćem razdoblju s velikom toµcnošću. No da doznamo strukturu
takvog sustava, rekonstruirat ćemo njegov kauzalni, -stroj, na temeljnoj razini, a
po potrebi i na višoj. Iz njega ćemo moći analizirati postoje li u sustavu pravilnosti,
ima li on (kvazi)cikluse, koliki je u njima utjecaj stohastiµcnosti itd.
Crutch…eld-Youngov algoritam za nalaµzenje SFA-modela uspješno je primijenjen
na eksperimentalne podatke dobivene iz raznih …zikalnih sustava, kao što su: kapa-
juća slavina, sustavi sa stohastiµckom rezonancijom, turbulentni geo…ziµcki tok ‡uida
[59, pogl. 5]. Za te bi eksperimentalne podatke valjalo naći SFA-modele primje-
1
Tu spadaju već implementirane — modi…cirana apsolutna vrijednost (engl. modi…ed absolute
value) i funkcija udvostruµcavanja (engl. doubling function) [29]. Primjer je takvog preslikavanja
i šatorska funkcija (engl. tent function). Bez podrške toµcnog algebarskog raµcuna, sve linearne
funkcije brzo konvergiraju u svoje atraktivne …ksne toµcke zbog gubitka toµcnosti od jednog bita
po iteraciji. Za broj zapisan u formatu dvostruke preciznosti, s 52 eksplicitna bita utrošena za
mantisu, ta se konvergencija doga†a nakon 50-tak iteracija. To je lako provjeriti u DSA programu.
9. Modeliranje s pomoću DSA programa 319

nom sveobuhvatnog modeliranja s pomoću DSA programa te vidjeti ima li u njima


poboljšanja kakva su dobivena za LMOC i druge sustave.
Niz je intrigantnih jednodimenzionalnih sustava prikladnih da se na njih primije-
ni teorija -strojeva [59, pogl. 11]: (odre†eni) podaci dobiveni iz turbulentnog toka;
biosekvence (DNA, RNA); biološka signalna transdukcija, regulacija gena i kontrola
metabolizma; neuralno kodiranje — sljedovi akcijskih potencijala (šiljaka); …nancijski
vremenski nizovi (ekono…zika) [engl. nazivi: turbulent-‡ow data; biosequences; sig-
nal transduction, gene regulation, the control of metabolism; neural coding — action
potential (spike) trails; …nancial time series in econophysics].
Gornju listu nadopunjujemo i s nekoliko konkretnih primjera, koji su tako†er
prikladni za modeliranje s pomoću DSA programa.
Lokalni meteorološki sustavi s jednostavnim (binarnim) stanjem vremena:
– kiši –ne kiši,
– puše karakteristiµcan vjetar (npr. bura) –ne puše i sliµcno;
Ekonomski sustavi:
– rast –pad odre†enih ekonomskih pokazatelja;
– rast –pad burzovnih indekasa, pojedinih dionica i tome sliµcno.

9.4.2 Osvrt na univerzalno modeliranje


Za provedbu sveobuhvatnog modeliranja s pomoću DSA programa i za analizu do-
bivenih (me†u)rezultata potreban je nadzor i upravljanje humanog modelara. Na
temelju usporedbe i prosudbe dobivenih raµcunskih modela na razini rašµclambenog
stabla i SFA-modela on odluµcuje o njihovoj uspješnosti u opisu sustava i tijeku dalj-
njeg modeliranja. Ta je zadaća posebice kompleksna za sustave tipa II i III iz tablice
9.2. U potonjima se stjeµcu i pravilnost i kvazistohastiµcnost (LMI, LMM, LMNCC) i
tu modelar treba uoµciti invarijante SFA-modela u vidu stalnih pravila, konstantnog
broja odre†enih tipova stanja (morfološki razliµcitih, rekurentnih) te informacijsko-
teorijskih veliµcina. Na temelju toga se izme†u uobiµcajeno velikog broja dobivenih
modela izdvajaju oni prikladni. Kod sustava tipa II, kao što je LMOC, dobiveni
modeli pak pokazuju veliku pravilnost. No i tu su zadaće modelara vrlo zahtjevne.
On treba uoµciti divergenciju modela s povećanjem L, prepoznati udvostruµcavanje
perioda, uoµciti primarne uzorke ciklusa, u njima naći pravilnost i konstruirati stroj
više razine, s proizvoljno velikom memorijom ali s konaµcnim brojem stanja. Naµcelno
smo to precizirali kroz općeniti algoritam gradbe -strojeva i provedbu inovativnog
320 9. Modeliranje s pomoću DSA programa

koraka (alg. 6.1, §6.4.6). No, iz stvarno provedenog sveobuhvatnog modeliranja di-
namiµckih sustava oba ova tipa (§9.1, 9.2, prilozi H.4, I.4) jasno je da su konkretne
zadaće koje tu treba rješavati vrlo raznolike i sloµzene.
Zbog svega toga, “potpuno automatizirana hijerarhijska rekonstrukcija raµcun-
skih modela”— optimistiµcno nagoviještena u [23] — izgleda kao teško ostvariva, µcak
i ako se potpuna automatizacija modeliranja ograniµci samo do razine temeljnog -
stroja, odnosno SFA-modela. Analizu niµzih razina modela (rašµclambenog stabla)
i dobivenih -strojeva, kao i koordinaciju svih aktivnosti u okviru sveobuhvatnog
modeliranja, u automatskom bi procesu trebao preuzeti izrazito sloµzen i so…sticiran
inteligentni agent (engl. intelligent agent). Zadaci postavljeni pred njega ogromni
su — zbog raznolikosti sustava, potrebe uvaµzavanja toµcnosti pojedinih etapa mo-
deliranja i mnogih nepredvidivih okolnosti koje nelinearno modeliranje sa sobom
nosi. Rješavanje ovih problema iziskivalo bi primjenu metodologija iz šireg podruµcja
umjetne inteligencije, uz potrebu ulaganja enormnog programerskog rada.
S druge strane, vratimo li se na našisproban koncept u kojem procesom upravlja
humani modelar, moµzemo ustvrditi da je već i DSA program vrlo funkcionalan.
Upravo se u nadopunjujućoj sprezi µcovjeka s jedne i raµcunala s druge strane postiµzu
najbolji rezultati u rješavanju kompleksnih problema kao što je ovaj. U epistemološki
sloµzenom postupku modeliranja raµcunalni će stroj i program dati najbolje rezultate
kad se koriste kao alati uz humano upravljanje, nadzor, korigiranje i poboljšavanje.
Tome ne doprinosi samo inteligencija humanog modelara, već i njegova motivacija,
znatiµzelja, intuicija i mašta. Nismo sigurni da se arti…cijelni agent moµze takmiµciti s
time, ma koliko on “inteligentan”i “so…sticiran”bio.
Dakle, iako na naµcelnoj razini postoji ideja o tome kako bi automatizirano uni-
verzalno modeliranje trebalo izgledati, u njegovoj teorijskoj razradi i konkretnoj
raµcunarskoj implementaciji postoje brojne i velike poteškoće. Pretpostavimo li, opti-
mistiµcno, da je ono ipak ostvarivo, tada bi teorijski …ziµcari zaista mogli ostati bez
posla [59, pogl. 11]. No oµcito je da se to neće dogoditi tako skoro, jednako kao što je
oµcito da će posla za programere — barem na modeliranju dinamiµckih sustava — još
dugo vremena biti na preµcac.
Poglavlje 10

Zakljuµcak

U ovom interdisciplinarnom i multidisciplinarnom radu predstavili smo modeliranje


jednodimenzionalnih dinamiµckih sustava koje je u potpunosti zasnovano na koncep-
tima teorije raµcunarstva. Dinamiµcki se sustav tu promatra kao izvor vremenskog
niza znakova. Analizom rijeµci iz tog niza gradimo kauzalni model zvani -stroj, koji
statistiµcki toµcno — do na zadanu vjerojatnosnu preciznost — reproducira promatrani
niz. Na svojoj su temeljnoj razini -strojevi predstavljeni stohastiµcki nadogra†enim
konaµcnim automatom (SFA). Teoriju -strojeva i hijerarhijsku shemu njihove rekon-
strukcije usporedili smo s drugim metodologijama modeliranja, formalno upotpunili
i uveli nove algoritme za nalaµzenje SFA-modela. Te i ostale algoritme implementira-
ne u našem izvornom DSA programu opisali smo i proanalizirali. Primjenom DSA
programa dobiveni su novi i poboljšani SFA-modeli niza dinamiµckih sustava.
Izvorne doprinose ovog rada saµzimamo kroz njegova µcetiri dijela.
Uvodni dio i izbor modela (poglavlja 2 do 5). Kroz koncept mjernog kodiranja
formalizirana je veza izme†u orbite 1D dinamiµckih sustava i putopisa simboliµcke
dinamike, odnosno vremenskog niza kao njegove konaµcne aproksimacije (pogl. 2).
Informacija dobivena analizom podnizova (rijeµci) dovoljne duljine po volji toµcno
opisuje toµcku u faznom prostoru, što je teorijski temelj ovog rada (teorem 2.5). U
epistemološkoj je analizi znaµcenje i znanje te saµzimanje i predvi†anje obrazloµzeno iz
perspektive graditelja modela (pogl. 3). Za primjenu znanstvene redukcije i itera-
tivno poboljšanje modela, o promatranom sustavu i njegovu širem kontekstu mora
postojati dostatno temeljno predznanje. Ono je potrebno pri odabiru adekvatnog
mjernog instrumenta i nalaµzenju metodologije njegova uga†anja u kontekstu mjerno-
modelirajućeg kanala. U svezi s diskretizacijom faznog prostora i tako dobivenom
grubom izmjerom, odre†ena je preciznost konaµcne prezentacije. Predloµzeni su itera-

321
322 10. Zakljuµcak

tivni algoritmi za uga†anje instrumenta na generirajuću particiju, koja maksimizira


entropiju odaslanog vremenskog niza. Prošavši put od eksperimentalne izmjere do
modela, predlaµzemo da se kompleksnost modeliranja na naµcelnoj razini kvanti…cira
kroz teoriju -strojeva, sliµcno kao što se kompleksnost algoritama kvanti…cira kroz
model Turingovog stroja.
Kao potencijalne metodologije za modeliranje iz vremenskog niza razmotrene
su: neuronske mreµze, staniµcni automati i skriveni Markovljevi modeli (HMM) [pogl.
4]. Zadrµzali smo se na posljednjima te ih de…nirali kao HMM s izlazima temelje-
nim na stanjima (SOHMM) i kao HMM s izlazima temeljenim na granama grafa
(EOHMM). Vezu izme†u ovih dviju prezentacija daju korolari 4.2 i 4.3. Naglašena
je podudarnost EOHMM i nedeterministiµckih konaµcnih automata. Kao našizbor, za
modeliranje iz vremenskog niza odabrana je teorija -strojeva. Radi sinteze podruµcja,
u poglavlju 5 dan je pregled deterministiµckih i nedeterministiµckih konaµcnih automata
(DFA, NFA) te naµcina njihove konverzije. Da se potvrdi teza o srodnosti HMM i
(S)NFA, elementarni je HMM iz prethodnog poglavlja preveden u NFA i potom u
DFA. Uvo†enjem stohastike prijelaza formalno je iz DFA izveden stohastiµcki konaµcni
automat, SFA (preciznije, SDFA), a iz NFA izveden je SNFA.

Teorijska razrada (poglavlja 6 i 7). U razradi teorije -strojeva formalizirani su


i operacionalizirani njezini postulati i de…nicije (pogl. 6). Za maksimalnu duljinu L
sljedova unaprijed, odnosno za L-morfove, uvedena su (L; )-ekvivalentna (uzroµcna)
stanja s pripadnim razredima ekvivalencije i (L; )-morfovi kao njihov praktiµcni ekvi-
valent (def. 6.11). Ta stanja i vjerojatnosti prijelaza izme†u njih — opisana operato-
rom (tenzorom) prijelaza — de…niraju temeljni -stroj. On je predstavljen stohasti-
µckim konaµcnim automatom, tj. SFA-modelom sustava. Uvedene su veliµcine za opis
duljina korelacije koje se provjeravaju me†u simbolima iz primljenog vremenskog
niza (§6.3), na temelju kojih se prosu†uje regularnost dobivenih modela.
Algoritmi za nalaµzenje SFA-modela operiraju na parsirajućem, ili rašµclambenom,
binarnom stablu visine (dubine) D, u kojem se u procesu hranidbe iz primljenog bi-
narnog vremenskog niza rašµclanjuju sve rijeµci duljine D . U tom se stablu nalaze mor-
fovi — (L; )-jedinstvena podstabla visine (dubine) L, L D . Ova (pod)stabla, sa
svim listovima na istoj razini, nazvali smo -(pod)stabla. Njihova je poµcetna razrada
iz [46] nadopunjena cjelovitom teorijom (izdvojenom u prilog A). Okvirni uku-
pan broj µcvorova -(pod)stabala — vaµzan za izraµcun općenite prostorno-vremenske
sloµzenosti korištenih algoritama — odre†uje se iz usrednjenih vrijednosti prosjeµcnog
broja bl djece po µcvoru na njegovoj razini l . Analiza konvergencije bl nuµzna je za
10. Zakljuµcak 323

odre†ivanje maksimalne razine do koje je (obilno nahranjeno) rašµclambeno stablo


strukturalno konzistentno, odnosno bez utjecaja numeriµckih pogrešaka.
Prema ilustraciji nalaµzenja morfova i SFA na testnom primjeru, kreiran je naš
izvoran i inovativan, FM algoritam, za rekonstrukciju SFA-modela (uveden u [44],
analiziran u [47], unaprije†en ovdje, §6.6, 8.6). On de…nira SFA kroz listu (L; )-
jedinstvenih morfova (stanja) i njihovih prijelaza. Raspored korijena morfova u glav-
nom stablu odgovara djelomiµcnom ure†aju širinom-prvo. FM algoritam ne nastavlja
provjeru podstabala dublje niz neku stazu ako su podstabla zadnjeg morfa na toj
stazi (L; )-ekvivalentna nekom od ranije prona†enih morfova. Zato je on, zavisno
od izbora parametara L i , potencijalno površan. Uveden je koncept sveobuhvatnog
modeliranja, u kojem se prostor rješenja SFA-modela promatranog sustava istraµzuje
varijacijom njihovih L i parametara, uz glavno stablo zadane visine D .
Za prosudbu utjecaja svojstva površnosti na rezultate koje daje FM algoritam,
konstruiran je temeljiti FM algoritam (TFM). On najprije po ure†aju širinom-prvo
biljeµzi sva -podstabla visine L koja postoje u glavnom stablu, provjeravajući pri tom
njihovu me†usobnu (L; )-ekvivalenciju. Tek potom prelazi na uklanjanje onih koja
imaju ranijeg predstavnika klase ekvivalencije — ali samo ako se time ne narušava
konzistentnost veza izme†u postojećih podstabala (morfova). Pri tom inaµcica TFM1
(TFM2) ne dozvoljava (dozvoljava) tranzitivne zamjene podstabala.
TFM algoritam sliµcan je Crutch…eld-Youngovom spajajućem algoritmu (CY), a
FM Shalizijevom razdjeljnom algoritmu (CSSR). No oba naša algoritma imaju bitne
prednosti. Oni uvijek daju model koji je: (i) deterministiµcki (SDFA), (ii) minimalan,
(iii) poznate regularnosti, (iv) dobiven izravnom usporedbom raµcunskih struktura
(podstabala). Za CY algoritam od toga ne vrijedi (i), a (iii) je upitno. Za CSSR ne
vrijedi (ii), a zato što se zasniva na sloµzenoj statistiµckoj analizi, niti (iv).
U teoriji -strojeva informacijsko-teorijski opis dinamiµckih sustava proizlazi iz
dobivenih SFA-modela (pogl. 7). Predstavili smo izvorne izvode izraza kojima se
ukupna entropija SFA-modela (sloµzenost njegovih grana) izraµzava preko statistiµcke
sloµzenosti i stope entropije modela (7.36), koja se dalje rastavlja na: (i) sumu stope
entropije niza emitiranog iz modela i nedeterminiranost; (ii) sumu stope entropije
Markovljevog lanca i novouvedenu stopu entropije simbola po prijelazu (7.46a, b).
Oba rastava kroz oµcuvanje koliµcine informacije opisuju statistiµcku sloµzenost i njezin
odnos naspram drugih entropija SFA-modela. Za periodiµcne sustave dokazane su
formule za broj tranzijentnih i broj rekurentnih stanja te otuda proizašle formule za
topološke i metriµcke entropije i sloµzenosti. Time su nadopunjeni rezultati iz [45].
324 10. Zakljuµcak

Programska implementacija (poglavlje 8). DSA program organiziran je u tri


modula. Njihove su klase, podatkovne strukture i algoritmi detaljno proanalizirani.
Za kljuµcne i inovativne algoritme dokazana je korektnost te izvedena prostorno-
vremenska sloµzenost. To je potkrijepljeno eksperimentalnim rezultatima [47].
Prostorna sloµzenost programskog modula 0 — za iteraciju i binarnu izmjeru dina-
miµckih sustava — neovisna je o broju iteriranih toµcaka, odnosno znakova vremenskog
niza, zahvaljujući njihovoj pohrani u specijalizirane kruµzne spremnike. Za sustave
zadane pravilom (regularnim izrazom) uvedena je vjerojatnosna pristranost.
U modulu I algoritam hranidbe (TF) dinamiµcki kreira µcvorove rašµclambenog
stabla visine D . Vremenska mu je sloµzenost linearna u ukupnom broju rijeµci duljine
D izluµcenih iz vremenskog niza, odnosno u ukupnom broju uµcitanih simbola. No,
za dobivanje toµcnih aposteriornih vjerojatnosti valja ostvariti statistiµcki relevantnu
hranidbu stabla s obzirom na broj njegovih listova. Za nju je vremenska i prostorna
sloµzenost TF algoritma općenito eksponencijalna u visini D ([47], §8.3.3, 8.3.4).
Opisani su izvorni algoritmi prijerednog, me†urednog i poslijerednog nerekurziv-
nog prolaska kroz stabla, usporedo s njihovim rekurzivnim inaµcicama. Promjenom
kriterija za list oni su primjenjivi i na općenitim binarnim (pod)stablima. Prostorno-
vremenske sloµzenosti linearne su im u broju µcvorova. Za nerekurzivne su inaµcice
ukupni iznosi vremenskih konstanti veći (10 –25%, [46]), no njihova je uporaba jed-
nostavnija kad se traµzi eksplicitna kazaljka na sljedeći µcvor u prolasku.
CT algoritam, za usporedbu (pod)stabala, tako†er je šire primjenjiv raµcunarski
doprinos ovog rada. On kroz prijeredni nerekurzivni prolazak uspore†uje topologije
i vjerojatnosti prijelaza odgovarajućih parova µcvorova te usput pribavlja i dodatne
podatke, korisne pri uga†anju parametara modeliranja. Vremenska kompleksnost
linearna mu je u broju µcvorova, a eksponencijalna u visini L razgranatog podstabla.
Programski modul II — za nalaµzenje SFA-modela — u bitnom je ostvaren kroz
klasu morfova (CATrMorphs). Funkcije koje implementiraju naš standardni, FM,
algoritam za nalaµzenje morfova i de…niranje SFA, provjerene su i dokazane [47].
Pored (L; )-usporedbe podstabala-kandidata koja kreće od prvog prona†enog morfa
(F), dodane su još dvije: usporedba koja poµcinje od zadnjeg morfa u listi (L) i us-
poredba sa svim morfovima u listi (A), koja uvijek nalazi najpodudarniji morf.
FM algoritam operira na µcvorovima rašµclambenog stabla koje je kreirao algoritam
hranidbe (TF), pa mu je prostorna sloµzenost u bitnom ista kao i za TF. Dodatni
prostor za pohranu podataka o prijelazima i morfovima postaje znaµcajan tek kad broj
morfova — općenito eksponencijalan u visini prolaznog stabla (D L) — eksplodira.
10. Zakljuµcak 325

Vremenska sloµzenost FM algoritma izraµzena preko broja µcvorova glavnog stabla u


rasponu je od linearne do kvadratne, ovisno o karakteru primljenog vremenskog niza.
Za sustave u kojima se zbog svojstva površnosti FM algoritam okonµcava rano, ta
ovisnost moµze biti i manja od linearne. Tako†er, ona je bliska linearnoj ili manja i kad
se sva podstabla diskriminiraju na temelju njihovih statistika. Sa stanovišta mode-
lara, tj. u ovisnosti o parametrima modeliranja L i D (D L), vremenska sloµzenost
FM algoritma ima mnogo širi raspon — od linearne u najpovoljnijim sluµcajevima pa
do eksponencijalne. Za općenite (neperiodiµcne) sustave njezina je ovisnost linearna
u D L samo ako se podstabla diskriminiraju na temelju njihove statistike i ako je
L malen (sluµcaj 3.i u tab. 8.7, uz L L0 ). Inaµce je ona eksponencijalna u razliµcitim
linearnim kombinacijama parametara D i L . U najgorem sluµcaju — kad se istraµzuju
sva podstabla i zato najµcešće nalazi neregularan SFA — vremenska je sloµzenost reda
veliµcine O 22D L . To se doga†a za vrlo sloµzene sustave ili za pretjerane zahtjeve na
preciznost modela (premali , odnosno relativno veliki L). Ovi su rezultati potvr†eni
mjerenjem vremena izvršavanja FM algoritma primijenjenog na NCZ sustav (zadan
pravilom) i na logistiµcko preslikavanje na vrhuncu kaosa (LMCC).

Primjeri i rezultati modeliranja (poglavlje 9). Za nalaµzenje toµcnih SFA-


modela nuµzno je osigurati korektnost niµzih razina modeliranja: (o) toµcaka orbite
dinamiµckog sustava i iz nje kodiranog vremenskog niza, te (i) rašµclambenog -stabla.
Dobra gra…µcka suµcelja DSA programa omogućuju brzo i uµcinkovito pregledavanje
ovih razina te provjeru njihovih svojstava i konzistentnosti.
Analiza prosjeµcnog broja bl djece po µcvoru iz razine l rašµclambenog -stabla
omogućuje procjenu njegove statistiµcke i strukturalne konzistentnosti. Na višim ra-
zinama ta konzistentnost moµze biti narušena zbog pogrešaka u izraµcunu toµcaka orbite
dinamiµckog sustava. Ako se pri tom koristi generator pseudosluµcajnih brojeva — kao
kod BTS-rand i sustava zadanih pravilom — radi se o odstupanju tog generatora
od idealnog ergodiµckog izvora i otuda proisteklim statistiµckim anomalijama. Kod
nelinearnih dinamiµckih sustava pak se radi o konaµcnoj toµcnosti numeriµckog izraµcuna
njihove iteracijske jednadµzbe (za tip dvostruke preciznosti, relativnog iznosa 10 15 ).
To je ilustrirano na pet primjera logistiµckog preslikavanja (LM), za pet tipiµcnih izbora
kontrolnog parametra r : nastup kaosa na kraju udvostruµcavanja perioda (LMOC),
r = rF = 3:569 945 67 : : :; kaos na prekide (LMI), r = 3:8282 ; kaos za Misiurewiczev
parametar (LMM), r = rM = 3:927 737 : : :; kaos u blizini klimaksa (LMNCC),
r = 3:997; te klimaks kaosa (LMCC), r = 4. Rašµclambena -stabla ovih sustava
statistiµcki su analizirana i za njih su ustanovljene krajnje razine konzistentnosti.
326 10. Zakljuµcak

One su povezane s preciznošću izraµcuna i Lyapunovljevim eksponentom sustava. Za


navedene LM sustave ta razina pada s porastom r (§9.1.2, prilozi H.4, J).
Za niz dinamiµckih sustava iz njihovih su konzistentnih rašµclambenih stabala kon-
struirani SFA-modeli i analizirana njihova svojstva. Za nasumiµcne sustave, BTS-rand
i BTS-LMCC, te za periodiµcne i sustave zadane pravilom, toµcne SFA-modele —
dobivene FM algoritmom — potvr†uju istovjetni modeli dobiveni temeljitim, TFM1
i TFM2 algoritmima. Time je na sustavima poznatih svojstava potvr†ena korektnost
naših algoritama te opravdana (potencijalna) površnost FM algoritma.
Prilikom modeliranja preostala µcetiri LM sustava (LMOC, LMI, LMM, LMNCC)
njihova je osebujnost doprinijela mnogim iznena†enjima i otkrićima (§9.2.5). LMI
je prvi od sloµzenijih sustava na kojem je primijenjeno sveobuhvatno modeliranje i
dobiven pregršt SFA-modela. Od njih moµzemo odabrati najprikladniji s obzirom
na jednostavnost (broj ukupnih i broj rekurentnih stanja) ili ostvarenu preciznost
(izraµzenu vjerojatnosnim parametrom i visinom L morfova), uvaµzavajući pri tom
i informacijsko-teorijske pokazatelje. Sveobuhvatno je modeliranje provedeno i za
statistiµcki stabilan, LMM sustav i za LMNCC sustav, sa zaostacima strukture. Kod
takvih sustava — u kojima se pravila isprepliću sa stohastiµcnosti — najgrublje SFA-
modele dobivene FM algoritmom potvr†uju i obje inaµcice TFM algoritma. No za
mnoge preciznije modele to ne vrijedi. Naime, TFM algoritmi uvijek uzimaju u obzir
cjelovito ponašanje rašµclambenog stabla, u kojem se na većim razinama statistiµcke
‡uktuacije pojaµcavaju. Ako pak TFM1 ili, µcešće, TFM2 algoritam daje SFA-model
koji je identiµcan nekom od modela dobivenih s pomoću FM algoritma, tada je takav
SFA dobar izbor za konaµcni reprezentativni model sustava.
Za poseban, LMOC sustav — nalik periodiµcnim sustavima — dobiveni su bolji i
konzistentniji modeli od ranije poznatih. Njih potvr†uju i oba TFM algoritma.
Na koncu zakljuµcujemo da FM algoritam i njemu nadopunjujuće dvije inaµcice
TFM algoritma µcine cjelovit i inovativan postupak kojim se uz adekvatan izbor
parametara (D , L i ) dobivaju toµcni raµcunski modeli dinamiµckih sustava. Ti i
ostali algoritmi koje smo implementirali u DSA programu µcine funkcionalan temelj
za raµcunski zasnovano modeliranje dinamiµckih sustava. Na njemu se dalje mogu
razvijati mnoga poboljšanja i poopćenja te novi koncepti i projekti, povezani s ovim
i drugim srodnim podruµcjima. Oni mogu biti kako znanstvene tako i struµcne na-
ravi te jednako imati za cilj unaprje†enje modeliranja dinamiµckih sustava, kao i
usavršavanje algoritama i metodologija raµcunarskih znanosti.
Sadrµzaj priloµzenog CD-a

1. Raµcunski zasnovano modeliranje dinamiµckih sustava


(ovaj tekst)
2. Raµcunski zasnovano modeliranje dinamiµckih sustava
— PRILOZI (popratan tekst s dodacima):
A. Teorija -stabala
B. Parametri modela periodiµcnih sustava
C. Informacijsko-teorijski raµcun
D. Vremenska sloµzenost FM algoritma
E. Izvod vremenske sloµzenosti FM algoritma
F. Implementacija i sloµzenost TFM algoritma
G. Uporaba DSA programa
H. Analiza rašµclambenih -stabala
I. Analiza SFA-modela dinamiµckih sustava
J. Statistiµcka analiza rašµclambenih -stabala logistiµckih sustava
K. SFA-grafovi odabranih sustava
L. Odabrani ispisi programskog koda
3. Izdvojeni dijelovi rada: saµzetak, zakljuµcak i µzivotopis
4. Program DSA (Dynamical Systems Automata)
i. Glavna datoteka izvršnog koda DSA programa (32-bitna aplikacija
za MS Windows(C) operacijske sustave);
ii. Dodatne datoteke izvršnog koda (ispravljaµcke i uporabne inaµcice,
s dinamiµckim i statiµckim povezivanjem);
iii. Programska dokumentacija (datoteke izvornog koda);
iv. Upute za uporabu DSA programa, na engleskom jeziku.

327
Sadrµzaj popratnog teksta
Raµcunski zasnovano modeliranje dinamiµckih
sustava — PRILOZI
A Teorija -stabala
A.1 Struktura stabla
A.1.1 Pregled osnovnih pojmova teorije grafova
A.1.2 Općenita stabla
A.1.3 Binarna stabla i stabla s maksimalno bN djece
A.2 -stabla i podstabla
A.2.1 Binarna -stabla
A.2.2 Binarna -podstabla
A.2.3 Veza binarnog -stabla s procesom hranidbe
A.2.4 Morfološke odlike -stabala
A.3 Statistiµcki opis binarnih -stabala
A.3.1 Svojstvo ergodiµcnosti i ergodiµcki izvori
A.3.2 Statistiµcki relevantna hranidba iz ergodiµckih izvora
A.3.3 Aproksimacija broja µcvorova geometrijskim nizom
A.3.4 Statistiµcko odre†ivanje parametara b i a
A.3.5 Izraµcun broja µcvorova na temelju parametara b i a
A.3.6 Koe…cijent popunjenosti
A.4 Srednja -stabla
A.4.1 -stabla srednja po broju µcvorova
A.4.2 -stabla srednja po prosjeµcnom broju b djece
A.4.3 Veza zlatno srednjeg -stabla i Fibonaccijevog slijeda
A.4.4 Pregled formula za srednja -stabla
B Parametri modela periodiµcnih sustava
B.1 Tranzijentni i rekurentni morfovi
B.2 Veza perioda i parametara modela
B.2.1 Tranzijentni morfovi i stanja — nalaµzenje faze
B.2.2 Rekurentni morfovi — uvjet na visinu morfa L

Popratan tekst na priloµzenom CD-u u kojem su skupljeni svi prilozi (dodaci) ovom radu.

328
B.2.3 Sveukupnost modela — uvjet na visinu D stabla
B.2.4 Rezime: sigurne i minimalne donje granice za L i D
C Informacijsko-teorijski raµcun
C.1 Entropije distribucija vjerojatnosti
C.1.1 Shannonova entropija
C.1.2 Generalizirana Rényieva entropija
C.1.3 Zdruµzene n-torke doga†aja i sluµcajnih varijabli
C.1.4 Svojstva zdruµzene i uvjetne entropije
C.2 Stope entropije
C.2.1 Stopa entropije niza znakova
C.2.2 Stopa entropije niza reproduciranog iz -stroja
C.3 Entropija modela
C.3.1 Rastav ukupne entropije modela
C.3.2 Izravan izvod izraza za stopu entropije modela
D Vremenska sloµzenost FM algoritma
D.1 Puno glavno stablo i maksimalan broj morfova (c = b = 2)
D.1.1 Pojednostavljeni izvod
D.1.2 Red veliµcine vremenske sloµzenosti
D.2 Općenito popunjeno glavno stablo, s općenitim brojem
morfova (1 c b 2)
D.2.1 c = b (tablica D.4, sluµcaj 4.v)
p
D.2.2 b = 2, c = 2 (tablica D.4, sluµcaj 4.iv)
D.2.3 b = 2, c = 1 (tablica D.4, sluµcaj 4.iii)
p
D.2.4 b = c = 2 (tablica D.4, sluµcaj 4.ii)
p
D.2.5 b = 2, c = 1 (tablica D.4, sluµcaj 4.i)
D.2.6 b = c = 1 (tablica D.4, sluµcaj 4.o, odnosno 1.o)
D.2.7 Primjeri za konkretne izbore baznih parametara i
parametara modela
D.3 Diskriminacija podstabala na temelju statistike
D.3.1 c = b (tablica D.4, sluµcaj 3.iii)
p
D.3.2 b = c = 2 (tablica D.4, sluµcaj 3.ii)
p
D.3.3 b = 2, c = 1 (tablica D.4, sluµcaj 3.i)
D.3.4 Primjeri za konkretne izbore parametara
D.4 Najranije okonµcanje po svojstvu površnosti
D.4.1 b = 2 (tablica D.4, sluµcaj 2.ii)
p
D.4.2 b = 2 (tablica D.4, sluµcaj 2.i)
D.4.3 Primjeri za konkretne izbore parametara
D.4.4 b = 1 (tablica D.4, sluµcaj 2.o, odnosno, 1.o)

329
D.5 Periodiµcni sustavi
D.5.1 n > 1, usporedba podstabala “µcvor na µcvor”
(tablica D.4, sluµcaj 1.i.b)
D.5.2 n > 1, diskriminacija podstabala na temelju njihove
statistike (tablica D.4, sluµcaj 1.i.a)
D.5.3 n = 1, …ksne toµcke 000 : : : i 111 : : : (tablica D.4, sluµcaj 1.o)
D.6 Pregled rezultata
E Izvod vremenske sloµzenosti FM algoritma za općenito -stablo
E.1 Temeljne odrednice rada FM algoritma
E.1.1 Parametri za opis prosjeµcnog ponašanja FM algoritma
E.1.2 Analiza rada FM algoritma u ovisnosti o parametru c
E.1.3 Gornja granica broja morfova (preko parametra b)
E.1.4 Reducirana gornja granica broja morfova (preko
parametara b i c)
E.1.5 Dodatno reducirana gornja granica broja morfova (preko
parametra c)
E.2 Proraµcun vremena izvršavanja FM algoritma
E.2.1 Vremenska ovisnost FM algoritma o broju morfova
E.2.2 Vremenska ovisnost FM algoritma o parametrima modela
E.2.3 Red veliµcine vremenske ovisnosti FM algoritma o parametrima
modela
E.2.4 Red veliµcine vremenske ovisnosti FM algoritma o broju µcvorova
glavnog stabla
E.2.5 Rezultati za prosjeµcan broj usporedbi µcvorova
E.2.6 Rezime rješenja za 1 < c b 2
E.2.7 Poseban sluµcaj — nalaµzenje jednog podmorfa po morfu (c = 1)
E.2.8 Raspon eksponenta 2 x = 1+ y
E.2.9 Poseban sluµcaj — degenerirano glavno stablo (b = c = 1)
E.2.10 Vremenska sloµzenost kod diskriminacije podstabala na
temelju njihove statistike
E.2.11 Okonµcanje FM algoritma po svojstvu površnosti
E.3 Periodiµcni sustavi
E.3.1 Broj morfova kod periodiµcnih sustava
E.3.2 Broj µcvorova u (pod)stablima periodiµcnih sustava
E.3.3 Vrijeme izvo†enja FM algoritma za periodiµcne sustave
F Implementacija i sloµzenost TFM algoritma
F.1 Implementacija i analiza rada TFM algoritma
F.1.1 Implementacija
F.1.2 Usporedba rada FM i TFM algoritama

330
F.1.3 Dodatno testiranje TFM algoritma
F.2 Sloµzenost TFM algoritma
F.2.1 Vremenska sloµzenost TFM algoritma
F.2.2 Prostorna sloµzenost TFM algoritma
G Uporaba DSA programa
G.1 Pregled izbornika DSA programa
G.1.1 Izbornik System
G.1.2 Izbornik Tree
G.1.3 Izbornik Morphs
G.2 Analiza poµcetnih razina modela
H Analiza rašµclambenih -stabala
H.1 Konzistentnost rašµclambenog -stabla
H.1.1 Statistika rašµclambenog -stabla iz broja µcvorova
H.1.2 Statistiµcka konzistentnost rašµclambenog -stabla
H.1.3 Strukturalna konzistentnost rašµclambenog -stabla
H.2 Rašµclambeno -stablo sustava BTS-rand
H.2.1 Popunjenost i uniformnost u ovisnosti o hranidbi
H.2.2 Komentar o radu generatora pseudosluµcajnih brojeva
H.2.3 Vjerojatnosno pristrani Bernoullijev niz
H.3 Rašµclambena -stabla dva sustava kreirana pravilom
H.3.1 Sustav “nema uzastopnih nula”
H.3.2 Sustav “paran broj uzastopnih jedinica”
H.3.3 Rezime statistiµcke analize
H.4 Rašµclambena -stabla sustava logistiµckog preslikavanja
H.4.1 Nastup kaosa (LMOC)
H.4.2 Kaos na mahove (LMI)
H.4.3 Misiurewiczev parametar (LMM)
H.4.4 Nadomak vrhunca kaosa (LMNCC)
H.4.5 Vrhunac kaosa (LMCC)
H.4.6 Eksperimentalni zakljuµcci
H.5 Konzistentnost rašµclambenih -stabala iz numeriµcki iteriranih orbita
H.5.1 Preciznost numeriµcke iteracije nelinearnih dinamiµckih sustava
H.5.2 Manjak µcvorova kao posljedica kodiranja neprecizno
izraµcunane orbite
H.5.3 Izraµcun prosjeµcnih Lyapunovljevih eksponenata
H.5.4 Analiza gubitka konzistencije rašµclambenih stabala
H.5.5 Nema viška µcvorova i nema narušenja pravila!

331
I Analiza SFA-modela dinamiµckih sustava
I.1 “Puka sluµcajnost”— iz generatora sluµcajnih brojeva i iz
deterministiµckog kaosa
I.1.1 Sustav BTS-rand
I.1.2 Sustav BTS-LMCC (r = 4)
I.2 Periodiµcni sustavi
I.2.1 Uvjeti na parametre modela
I.2.2 Primjeri periodiµcnih sustava
I.3 Sustavi zadani pravilom
I.3.1 Nema uzastopnih nula (NCZ)
I.3.2 Nema uzastopnih jedinica (NCO)
I.3.3 Paran broj uzastopnih jedinica (ECO)
I.3.4 Neparan broj uzastopnih jedinica (OCO).
I.3.5 Paran broj uzastopnih nula i paran broj uzastopnih
jedinica (ECZO)
I.3.6 Primjena TFM algoritma na sustavima zadanim pravilom
I.4 SFA-modeli logistiµckih sustava u kaotiµcnom reµzimu
I.4.1 Pravila u kaosu na mahove (LMI)
I.4.2 Nastup kaosa — nedostatnost konaµcnih automata (LMOC)
I.4.3 Statistiµcka stabilnost — LMM sustav
I.4.4 Ostaci strukture u prevladavajućem kaosu (LMNCC)
I.4.5 Osvrt na logistiµcka preslikavanja s 3:997 < r < 4
I.5 Rezime o modeliranju raznorodnih sustava
J Statistiµcka analiza rašµclambenih -stabala logistiµckih sustava
K SFA-grafovi odabranih sustava
K.1 Sustavi zadani pravilom
K.2 Logistiµcko preslikavanje
K.2.1 Kaos na mahove (LMI)
K.2.2 Misiurewiczev parametar (LMM)
L Odabrani ispisi programskog koda
L.1 Popis klasa DSA programa
L.2 Iteracija i binarna izmjera
L.3 Klase stabala
L.4 Klasa morfova

332
Bibliogra…ja

[1] Aho, A.; Hopcroft, J. E.; Ullman, J. D. The Design and Analysis of Computer
Algorithms. Addison-Wesley, Reading, Massachusetts, 1974.

[2] Aho, A.; Hopcroft J. E.; Ullman J. D. Data Structures and Algorithms. Addison-
Wesley, Reading, Massachusetts, 1983, reprinted with corrections 1987.

[3] Balasubramanian, V. “Equivalence and Reduction of Hidden Markov models.”


Tech. Rep. A. I., Technical Report No. 1370, MIT, January 1993.

[4] Bennett, C. H. “On the Nature and Origin of Complexity in Discrete, Homoge-
nous, Locally-Interacting Systems.” Found. of Phys., 16(6): 585–592, 1986.

[5] Bennett, C. H. “Logical Depth and Physical Complexity.” In The Universal


Turing Machine— a Half-Century Survey (R. Herken, ed.). Oxford University
Press, 1988.

[6] Birkho¤, G. D. Dynamical Systems, vol. 9 of American Mathematical Society


Colloquium Publications. Providence, Rhode Island, 1927.

[7] Blackwell, D.; Koopmans, L. “On the Identi…ability Problem for Functions of
Markov Chains.” Annals of Mathematical Statistics, 28(4): 1011–1015, 1957.

[8] Buhl, M.; Kennel, B. “Statistically Relaxing to Generating Partitions for Ob-
served Time-Series Data.” Physical Review E, 71 (046213), 2005.

[9] Casdagli, M.; Eubank, S; editors. Nonlinear Modeling and Forecasting, vol. XII
of Santa Fe Institute Studies in the Sciences of Complexity. Addison-Wesley,
Reading, Massachusetts, 1992.
[10] Chomsky, N. “Three Models for the Description of Language.” IRE Transac-
tions on Information Theory, 2(3): 113–124, 1956.
[11] Cook, M. “Universality in Elementary Cellular Automata.” Complex Systems
15(1): 1–40, 2004.
[12] Cormen, T. H. at al. Introduction to Algorithms (3rd edition). MIT Press, Cam-
bridge, Massachusetts, 2009.

333
334 BIBLIOGRAFIJA

[13] Cover, T. M.; Thomas, A. J. Elements of Information Theory. John Wiley &
Sons, New York, 1991.

[14] Crutch…eld, J. P. at al. Computational mechanics and other publications:


http://csc.ucdavis.edu/~chaos/chaos/pubs.htm (2012).

[15] Crutch…eld, J. P.; Packard, N. H. “Symbolic Dynamics of Noisy Chaos.” Phy-


sica D, 7(1–3): 201–223, 1983.

[16] Crutch…eld, J. P.; Kaneko, K. “Phenomenology of Spatio-Temporal Chaos.”


In Directions in Chaos, vol. 1 (H. Bai-lin, ed.), pp. 272–353. World Scienti…c,
Singapore, 1987.

[17] Crutch…eld, J. P.; Young, K. “Inferring Statistical Complexity.”Physical Review


Letters, 63(2): 105–108, 1989.

[18] Crutch…eld, J. P.; Young K. “Computation at the Onset of Chaos.” In [86], pp.
223–269 (1990).

[19] Crutch…eld, J. P. “Reconstructing Language Hierarchies.” In Information Dy-


namics, NATO ASI Series, 256 (H. A. Atmanspracher, H. Scheingraber, eds),
pp. 45–60. Plenum Press, New York, 1990.

[20] Crutch…eld, J. P. “Complexity: Order Contra Chaos.” In Proceedings of the


International Conference on Fuzzy Logic and Neural Networks, Iizuka, Japan
(S. Yasui, T. Yamakawa, eds.). World Scienti…c, Singapore, 1990.

[21] Crutch…eld, J. P. “Knowledge and Meaning.”In Modeling Complex Phenomena


(L. Lam and V. Naroditsky, eds.), pp. 66–101. Springer, Berlin, 1992.

[22] Crutch…eld, J. P. “Semantics and Thermodynamics.” In [9], pp. 317–359 (1992).

[23] Crutch…eld, J. P. “Observing Complexity and the Complexity of Observation.”


In Series in Synergetics, vol. 63 (H. Atmanspacher, ed.), pp. 235-272. Springer,
Berlin, 1993.

[24] Crutch…eld, J. P. “Critical Computation, Phase Transitions, and Hierarchical


Learning.”In Towards the Harnessing of Chaos (M. Yamaguti, ed.), pp. 29-46.
Elsevier Science, Amsterdam, 1994.

[25] Crutch…eld, J. P. “Is Anything Ever New? Considering Emergence.”In Integra-


tive Themes, vol. XIX of Santa Fe Institute Studies in the Sciences of Complex-
ity (G. Cowan, D. Pines, and D. Melzner, eds.), pp. 479 –497. Addison-Wesley,
Reading, Massachusetts, 1994.

[26] Crutch…eld, J. P. “The Calculi of Emergence: Computation, Dynamics, and


Induction.”Physica D: Nonlinear Phenomena, 75(1-3): 11 –54, 1994.
BIBLIOGRAFIJA 335

[27] Crutch…eld, J. P. “What Lies Between Order and Chaos?” In Art and Com-
plexity (J. Casti, ed.), pp. 31–45. Oxford University Press, 2002.

[28] Devaney, R. L. An Introduction to Chaotic Dynamical Systems (2nd edition).


Addison-Wesley, Redwood City, California, 1989.

[29] Devaney, R. L. A First Course in Chaotic Dynamical Systems. Addison-Wesley,


Reading, Massachusetts, 1992.

[30] Eubank, S. G.; Farmer J. D. “Probability, Random Processes and the Statistical
Description of Dynamics.”In Introduction to Nonlinear Physics (L. Lam, ed.),
pp. 106–151. Springer-Verlag, New York, 1997.

[31] Feldman, D. P.; Crutch…eld, J. P. “Synchronizing to Periodicity: The Transient


Information and Synchronization Times of Periodic Sequences.” Advances in
Complex Systems, 7(3–4): 329 –355, 2004.

[32] Feldman, D. P.; Crutch…eld J. P. “Measures of Statistical Complexity: Why?”


Physics Letters A, 238: 244–252, 1998.

[33] Feldman, D. P. A Brief Introduction to: Information Theory, Excess Entropy


and Computational Mechanics (tutorial). College of the Atlantic, Bar Harbor,
ME, 1998 (revised in 2002). http://hornacek.coa.edu/dave/Tutorial/notes.pdf
(2012).

[34] Friedman, S. Modeling Causal Interaction between Human Systems and Natural
Systems (lecture notes). Santa Fe Institute, University of California, Berkeley,
2002, http://csc.ucdavis.edu/~cmg/compmech/tutorials.htm (2012).

[35] Hanson, J. E.; Crutch…eld, J. P. “Computational Mechanics of Cellular Au-


tomata: An Example.”Physica D, 103: 169 –189, 1997.

[36] Hirata, Y.; Judd, K.; Kilminister, D. “Estimating a Generating Partition from
Observed Time Series: Symbolic Shadowing.”Phys. Rev. E, 70(016215), 2004.

[37] Hopcroft, J. E.; Ullman, J. D. Introduction to Automata Theory, Languages,


and Computation. Addison-Wesley, Reading, Massachusetts, 1979.

[38] Horowitz, E.; Sahni, S. Fundamentals of Computer Algorithms. Pitman Pub-


lishing Limited, London, 1979.

[39] Horowitz, E.; Sahni, S; Rajasekaran, S. Computer Algorithms. Computer Sci-


ence Press, New York, 1998.

[40] Horstmann, C. S. Mastering Object-Oriented Design in C++. John Wiley &


Sons, New York, 1995.
336 BIBLIOGRAFIJA

[41] Ito, H.; Amari, S.; Kobayashi, K. “Identi…ability of Hidden Markov Processes
and Their Minimum Degrees of Freedom.”IEEE Transactions on Information
Theory, 38(2): 324 –333, 1992.
[42] Kolmogorov, A. N. “A New Metric Invariant of Transient Dynamical Systems
and Automorphisms in Lebesgue Spaces” (original in Russian). Dokl. Akad.
Nauk. SSSR, 119: 861–865, 1958.
[43] Lynch, S. Dynamical Systems with Applications Using MATLAB. Birkhäuser,
Boston, Massachusetts, 2004.
[44] Logoµzar, R. Modeliranje dinamiµckih sustava s pomo´cu stohastiµckih konaµcnih
automata (Modeling of Dynamical Systems by Stochastic Finite Automata). Ma-
gistarski rad, Fakultet elektrotehnike i raµcunarstva, Sveuµcilište u Zagrebu, 1999.
[45] Logozar, R.; Lovrencic, A. “The Modeling and Complexity of Dynamical Sys-
tems by Means of Computation and Information Theories.” Journal of Infor-
mation and Organizational Sciences, 35(2): 173–196, 2011.
[46] Logozar, R. “Recursive and Nonrecursive Traversal Algorithms for Dynamically
Created Binary Trees.”Computer Technology and Application, David Publish-
ing, 3(5): 374–382, 2012.
[47] Logozar, R. “Algorithms and Data Structures for the Modeling of Dynamical
Systems by Means of Stochastic Finite Automata.” Technical Gazette, 19(2):
227–242, 2012.
[48] Moon, F. C. Chaotic and Fractal Dynamics. John Wiley & Sons, New York,
NY, 1992.
µ Uvod u teoriju informacije (II., dopunjeno izdanje). Školska knjiga,
[49] Pauše, Z.
Zagreb, 1989.
[50] Phatak, S. C.; Suresh Rao, S. “Logistic Map: A Possible Random-Number
Generator.”Physical Review E, 51(4): 3670–3678, 1995.
[51] Poincaré, H. J. Les méthodes nouvelles de la mécanique céleste, Vols. 1–3.
Gauthiers-Villars, Paris, 1892, 1893, 1899. (English translation edited by D.
Goro¤, American Institute of Physics, New York, 1993.)
[52] Poincaré, H. J. The Foundation of Science: Science and Method (English Trans-
lation). The Science Press, New York, 1921.
[53] Proof-Wiki article: Euler-Binet Formula; https://www.proofwiki.org (2012).
[54] Rabiner, L. R. “A Tutorial on Hidden Markov Models and Selected Applica-
tions in Speech Recognition.” Proceedings of the IEEE, 77(2): 257–286, 1989.
http://www.cs.ucsb.edu/~cs281b/papers/HMMs%20-%20Rabiner.pdf.
BIBLIOGRAFIJA 337

[55] Rojas, R. Neural Networks: A Systematic Introduction. Springer, Berlin, 1996.

[56] Sipser, M. Introduction to the Theory of Computation. PWS Publishing Co.,


Boston MA, 1997.

[57] Sinai, Y. “Kolmogorov-Sinai Entropy.” Scholarpeida, 4(3): 2034, 2009, http://


www.scholarpedia.org/article/Kolmogorov-Sinai_entropy (2012).

[58] Shalizi, C. R.; J. P. Crutch…eld. “Computational Mechanics: Pattern and Pre-


diction, Structure and Simplicity.”Jour. of Stat. Phys., 104: 819–881, 2001.

[59] Shalizi, C. R. Causal Architecture, Complexity and Self-Organization in Time


Series and Cellular Automata. Ph.D. dissertation, Physics Department, Uni-
versity of Wisconsin-Madison, 2001. http://csc.ucdavis.edu/~cmg/compmech/
pubs.htm#Dissertations (2012).

[60] Shalizi, C. R. Web site: http://cscs.umich.edu/~crshalizi; (i) CSSR algorithm:


.../CSSR, (ii) Complexity, Entropy and the Physics of gzip: .../notebooks/cep-
gzip.html ; (2012).

[61] Srbljić, S. Uvod u teoriju raµcunarstva. Element, Zagreb, 2010.

[62] Stamp, M. A Revealing Introduction to Hidden Markov Models. San Jose State
University, http://www.cs.sjsu.edu/~stamp/RUA/HMM.pdf.

[63] Tucker, A. B. at al. Fundamentals of Computing II, C++ Edition. McGraw-Hill,


New York, 1995.

[64] Ulam, S. M.; von Neumann, J. “On Combination of Stochastic and Determin-
istic Processes.” Bulletin of the AMS, 53: 1120–1132, 1947.

[65] Upper, D. R. Theory and Algorithms for Hidden Markov Models and Gener-
alized Hidden Markov Models. Ph.D. dissertation, Mathematics Department,
University of California, 1997 (available at the URL stated in [59]).

[66] Varn, D. P. The Computational Mechanics Resources Page: http://wissenplatz.


org/compmech.html (2012).

[67] Wikipedia article: Bifurcation Diagram; http://en.wikipedia.org (2012).

[68] Wikipedia article: Cellular Automaton; http://en.wikipedia.org (2012).

[69] Wikipedia article: Computational Mechanics; http://en.wikipedia.org (2012).

[70] Wikipedia article: Double-Precision Floating Point Number (IEEE-754 stan-


dard); http://en.wikipedia.org (2012).

[71] Wikipedia article: Fibonacci Number; http://en.wikipedia.org (2012).


338 BIBLIOGRAFIJA

[72] Wikipedia articles: Graph Theory, Glossary of Graph Theory; http://en.


wikipedia.org (2012).

[73] Wikipedia article: Hidden Markov Models; http://en.wikipedia.org (2012).

[74] Wikipedia article: Linear Congruential Generator; http://en.wikipedia.org


(2012).

[75] Wikipedia article: Measure-Preserving Dynamical System; http://en.wikipedia.


org (2012).

[76] Wikipedia article: Rényi Entropy; http://en.wikipedia. org (2012).

[77] Wirth, N. Algorithms & Data Structures. Prentice/Hall International, London,


UK, 1986.

[78] Wolfram Demonstrations Project: Classic Logistic Map; http:// demonstra-


tions.wolfram.com/ClassicLogisticMap/, contributed by Robert M. Lurie, the
base programs by Heikki Ruskeepää (2012).

[79] Wolfram MathWorld article: Logistic Equation; http://mathworld.wolfram.


com (2012).

[80] Wolfram MathWorld article: Logistic Map; http://mathworld.wolfram.com


(2012).

[81] Wolfram MathWorld, articles: Rule 30, Rule 110 (Cellular Automata);
http://mathworld.wolfram.com (2012).

[82] Wolfram, S. “Computation Theory of Cellular Automata.”Communications in


Mathematical Physics, 96(1): 15–57, 1984.

[83] Wolfram, S. A New Kind of Science. Wolfram Media Inc., Champaign, 2002.

[84] Young, A. P. The Logistic Map (lecture materials): http://physics.ucsc.edu/


~peter/242/logistic.pdf (2012).

[85] Young, K.; Crutch…eld, J. P. “Fluctuation Spectroscopy.”Chaos, Solitons, and


Fractals, 4: 5–39, 1993.

[86] Zurek, W. H.; editor. Complexity, Entropy and the Physics of Information,
vol. VIII of Santa Fe Institute Studies in the Sciences of Complexity. Addison-
Wesley, Reading, Massachusetts, 1990.
µZivotopis autora
Robert Logoµzar ro†en je u Varaµzdinu 1962. godine. Maturirao je na Gimnaziji Varaµzdin
1980. godine. Diplomirao je na Prirodoslovno-matematiµckom fakultetu Sveuµcilišta u Za-
grebu 1987. godine, stekavši zvanje diplomiranog inµzenjera …zike. Objavio je rad iz po-
druµcja atomske …zike u prestiµznom µcasopisu Physical Review A. 1994. godine upisuje po-
slijediplomski studij raµcunarstva na Elektrotehniµckom fakultetu Sveuµcilišta u Zagrebu (sada
Fakultet elektrotehnike i raµcunarstva), gdje je magistrirao 1999. godine. Radio je kao asi-
stent na kolegijima arhitektura raµcunala i teorija informacije na Fakultetu Organizacije i
informatike u Varaµzdinu, Sveuµcilišta u Zagrebu. Pored raµcunarstva, Robert Logoµzar ak-
tivno se bavi glazbenom tehnologijom i produkcijom. Sada je zaposlen na Veleuµcilištu u
Varaµzdinu u svojstvu predavaµca na studiju multimedije. Tu je uveo nastavu za tri kolegija
iz podruµcja audia i glazbene produkcije. Tako†er, voditelj je kolegija programiranja u jeziku
C++. Robert Logoµzar bavi se programiranjem od srednjoškolskih dana. Ve´cina njegovih
znanstvenih i struµcnih radova izravno je ili neizravno povezana s implementacijom origi-
nalnih primjenskih programa, izradom algoritama i njihovom teorijskom analizom. Clanµ
je IEEE organizacije.

Biography of the Author


Robert Logozar was born in Varazdin, Republic of Croatia, in 1962. He graduated from
Varazdin Gymnasium high school in 1980. He received his B.Sc. degree in physics from
the University of Zagreb, Faculty of Natural Sciences and Mathematics (now Faculty of
Science) in 1987. He published a paper in the …eld of atomic physics in the prestigious
journal Physical Review A. In 1994 he enrolled the graduate study of computer science
at the University of Zagreb, Faculty of Electrical Engineering (now Faculty of Electrical
Engineering and Computing), where he received his M.Sc. degree in 1999. He was working
as a teaching assistant for computer architecture and theory of information courses at the
same university, Faculty of Organization and Informatics, Varazdin. Besides in computer
science, Robert Logozar is active in music technology and production. Now he is employed
at the Polytechnic of Varazdin as a full-time lecturer in the Multimedia Department. There
he introduced three audio and music-production related courses. Also, he is a lecturer on
the programming course in C++ language. Robert Logozar has been programming from his
high-school days. Most of his scienti…c and professional papers are directly or indirectly
connected to implementations of original application programs, creation of algorithms and
their theoretical analysis. He is a member of IEEE organization.

339
Popis autorovih objavljenih radova
(The List of Publications from the Author)

1. Logozar, R. “Algorithms and Data Structures for the Modeling of Dynamical


Systems by Means of Stochastic Finite Automata.” Technical Gazette, 19(2):
227–242, 2012.
2. Logozar, R. “Recursive and Nonrecursive Traversal Algorithms for Dynamically
Created Binary Trees.” Journal of Computer Technology and Application (David
Publishing), 3(5): 374–382, 2012.
3. Logozar, R.; Lovrencic, A. “The Modeling and Complexity of Dynamical Systems
by Means of Computation and Information Theories.” Journal of Information
and Organizational Sciences, 35(2): 173–196, 2011.
4. Hizak, J.; Logozar, R. “A Derivation of the Mean Absolute Distance in One-
Dimensional Random Walk.” Technical Journal (Polytechnic of Varazdin), 5(1):
10–16, 2011.
5. Logozar, R; Koruga, P. “An Outlook to Security and Trust in Internet Com-
munications.” Proceedings of 22nd Central European Conference on Information
and Intelligent Systems, pp. 153–163, Varazdin, 2011.
6. Logozar, R; Havas, L. “A Spreadsheet Application for the Planning and Tracking
of Project Labor Hours and Expenditures.” Technical Journal (Polytechnic of
Varazdin), 5(1): 22–29, 2011.
7. Logozar, R.; Beuc R.; Movre M. “van der Waals and resonance interaction in
quasimolecular system Eu-Sr.” Physical Review A, 38(8): 3969-3983, 1988.
8. Logozar, R. “Quasistatic absorption coe¢ cient of two-component gases.” Hvar
Observatory Bulletin, 10(1): 23-33, 1986.

340

You might also like