+ All Categories
Home > Documents > Εκθέτες Lyapunov και ο αλγόριθμος του Wolf

Εκθέτες Lyapunov και ο αλγόριθμος του Wolf

Date post: 22-Feb-2023
Category:
Upload: pe-uth
View: 0 times
Download: 0 times
Share this document with a friend
31
Lyapunov Wolf 1
Transcript

PANEPISTHMIO MAKEDONIASTm ma Efarmosmènhc Plhroforik c

TEQNIKH ANAFORA ME JEMA

Ekjètec Lyapunovkai o algìrijmoc tou Wolf

Ajan�sioc I. M�rgarhc

12/05/2006

1

Εκθέτες Lyapunov 1

Ο σκοπός αυτής της αναφοράς είναι η θεωρητική περιγραφή των εκθετών Lyapunov που αποτελούν ένα απότους πιο σημαντικούς μετρήσιμους δείκτες χαοτικής συμπεριφοράς των μη γραμμικών δυναμικών συστημάτων καιη αναλυτική μελέτη του τρόπου σχεδίασης και υλοποίησης του αλγορίθμου του Wolf που επιτρέπει τον αριθμητικόυπολογισμό του μέγιστου θετικού εκθέτη Lyapunov μιας άγνωστης πειραματικώς καταγεγραμμένης χρονοσειράς.Η αναφορά διαπραγματεύεται ακόμη την περιγραφή μιας εφαρμογής που έχει υλοποιηθεί κάτω από το λειτουργικόσύστημα της οικογένειας των Microsoft Windows και επιτρέπει την εφαρμογή του αλγορίθμου του Wolf μέσα απόένα εύχρηστο και φιλικό περιβάλλον.

1 Ekjètec Lyapunov - BasikoÐ OrismoÐΑς θεωρήσουμε ένα μονοδιάστατο δυναμικό σύστημα συνεχούς χρόνου, η χρονική εξέλιξη του οποίου περιγράφεταιαπό μία διαφορική εξίσωση πρώτης τάξεως, της μορφής x(t) = f(x). Ας θεωρήσουμε επίσης δύο γειτονικά σημείαx0 και x, και έστω x(t) και x0(t), οι τροχιές του συστήματος που έχουν ως αρχικές συνθήκες τα εν λόγω σημεία.Εάν αφήσουμε το σύστημα να εξελιχθεί στο χρόνο, οι δύο αυτές τροχιές, ανάλογα με τη φύση του συστήματος καιτη δυναμική του χώρου των φάσεων που περιέχει αυτά τα σημεία, είτε θα συγκλίνουν και τελικά θα προσεγγίσουντο ίδιο σημείο, είτε θα αποκλίνουν, οδηγώντας το σύστημα σε εντελώς διαφορετικές περιοχές. Αναζητούμε έναποσοτικό μέτρο αυτού του ρυθμού σύγκλισης ή απομάκρυνσης.

Εφ΄ όσον το σημείο x είναι πολύ κοντά στο σημείο x0, μπορούμε να λάβουμε το ανάπτυγμα Taylor, για τησυνάρτηση f(x), και να γράψουμε τη σχέση

f(x) = f(x0) +df(x)dx

|x0(x− x0) + . . . (1)

Από την άλλη πλευρά, ο ρυθμός μεταβολής της απόστασης s(t) = x(t)− x0(t) ανάμεσα στις δύο αυτές τροχιές, θαδίδεται από τη σχέση

ds(t)dt

=dx(t)

dt− dx0(t)

dt= f(x)− f(x0) =

df(x)dx

|x0(x− x0) (2)

όπου από το ανάπτυγμα Taylor της συνάρτησης f(x), έχουμε κρατήσει μόνο το γραμμικό όρο. Επειδή η απόστασηs(t), αναμένουμε να μεταβάλλεται εκθετικά ως προς το χρόνο - καθώς το σύστημά μας υποθέτουμε πως είναι χαοτικό- θεωρούμε μία θετική ποσότητα λ που φέρει το όνομα εκθέτης Lyapunov τέτοια ώστε να ισχύει η σχέση

s(t) = s0eλt (3)

όπου s0 είναι η αρχική τιμή της απόστασης s που αντιστοιχεί στη χρονική τιμή t = 0. Διαφορίζοντας την παραπάνωσχέση ως προς το χρόνο θα λάβουμε

ds(t)dt

= λs0eλt = λs (4)

Εάν τώρα συγκρίνουμε τις εξισώσεις (2) και (4), δεν είναι δύσκολο να διαπιστώσουμε πως ο εκθέτης Lyapunov θαδίδεται από τη σχέση

λ =df(x)dx

|x0 (5)

Το αποτέλεσμα στο οποίο καταλήξαμε διασφαλίζει την υπόθεση που κάναμε περί της εκθετικής μεταβολής τηςαπόστασης δύο γειτονικών τροχιών σε συνάρτηση με το χρόνο: εάν ο εκθέτης λ είναι θετικός λαμβάνει χώραεκθετική απομάκρυνση των γειτονικών τροχιών, ενώ για αρνητικές τιμές του εν λόγω μεγέθους, οι γειτονικέςτροχιές του χώρου των φάσεων, συγκλίνουν μεταξύ τους με εκθετικό ρυθμό ως προς το χρόνο.

Ας σημειωθεί πως επειδή στη γενική περίπτωση η παράγωγος της τροχιάς σε κάθε σημείο της, είναι διαφορετική,ο υπολογισμός του εκθέτη Lyapunov του συστήματος, προϋποθέτει την εύρεση του τοπικού εκθέτη σε κάθε σημείοτης τροχιάς. Επομένως, ο πραγματικός εκθέτης Lyapunov, θα είναι ο μέσος όρος όλων αυτών των τοπικά υπολογι-ζόμενων εκθετών. Στην περίπτωση ενός μονοδιάστατου απωλεστικού συστήματος συνεχούς χρόνου, αναμένουμε οεκθέτης Lyapunov να έχει αρνητική τιμή, καθώς οι γειτονικές τροχιές του χώρου των φάσεων, συγκλίνουν με τηνπάροδο του χρόνου, και τελικά διασταυρώνονται σε ένα απλό σημείο του οριζόντιου άξονα, που είναι ο ελκυστήςτου συστήματος.

Στη γενική περίπτωση ενός δυναμικού συστήματος ορισμένου σε ένα χώρο n διαστάσεων, Rn, η κατάσταση είναιεντελώς ανάλογη. Το κάθε σημείο του χώρου των φάσεων είναι ένα διάνυσμα ~x με συνιστώσες {x1, x2, . . . , xn},ενώ η χρονική εξέλιξη του συστήματος περιγράφεται από μια διαφορική εξίσωση της μορφής

d~x(t)dt

= ~F (~x) (6)

Αθανάσιος Ι. Μάργαρης ([email protected]) Πανεπιστήμιο Μακεδονίας - Τμήμα Εφαρμοσμένης Πληροφορικής

Εκθέτες Lyapunov 2

όπου ~F (~x), είναι μία διανυσματική συνάρτηση διανυσματικής μεταβλητής, με συνιστώσες τις βαθμωτές συναρτήσειςδιανυσματικής μεταβλητής f1(~x), . . . , fn(~x). Θεωρώντας δύο γειτονικά σημεία του χώρου των φάσεων ~x και ~x0,τα οποία αποτελούν αρχικές συνθήκες για τις τροχιές του συστήματος ~x(t) = {x1(t), . . . , xn(t)} και ~x0(t) ={x01(t), . . . , x0n(t)}, μπορούμε για την άμεση γειτονιά του σημείου ~x0 - στην οποία θεωρούμε ότι ανήκει το σημείο~x - να λάβουμε το ανάπτυγμα Taylor της συνάρτησης ~F (~x), το οποίο θα έχει τη μορφή

~F (~x) = ~F (~x0) + ~∇~F (~x)|~x0(~x− ~x0) (7)

όπου έχουμε κρατήσει μόνο τους γραμμικούς όρους του αναπτύγματος. Εάν | ~s(t)| είναι η απόσταση ανάμεσα στιςτροχιές ~x(t) και ~x0(t) - το διάνυσμα ~s(t) = {sx1, sx2, . . . , sxn} είναι ίσο με ~x(t) − ~x0(t) - τότε σε πλήρη αναλογίαμε τη μονοδιάστατη περίπτωση, ο ρυθμός μεταβολής αυτής της απόστασης σε συνάρτηση με το χρόνο, θα δίδεταιαπό τη σχέση

d~s(t)dt

=d~x(t)

dt− d~x0(t)

dt= ~∇~F (~x)|~x0(~x− ~x0) (8)

Εάν αναλύσουμε αυτή την εξίσωση σε ένα σύστημα n εξισώσεων - μία εξίσωση για κάθε μία από τις συνιστώσεςτων διανυσμάτων - θα λάβουμε

dsx1

dt=

∂f1

∂x1|~x0(x1 − x10) (9)

dsx2

dt=

∂f2

∂x2|~x0(x2 − x20) (10)

dsx3

dt=

∂f3

∂x3|~x0(x3 − x30) (11)

. . . . . . . . . . . . . . . . . . . . . . . . . . . (12)dsxn

dt=

∂fn

∂xn|~x0(xn − xn0) (13)

(14)

και με ολοκλήρωση της κάθε εξίσωσης ξεχωριστά, θα οδηγηθούμε στη μαθηματική αναπαράσταση της συνιστώσαςτης απόστασης sxi, που είναι η

dsxi

dt= λisxi (i = 1, 2, 3, . . . , n) (15)

όπου

λi =∂fi

∂xi|~x0 (16)

είναι οι n τοπικοί συντελεστές Lyapunov, που συσχετίζονται με τις n διευθύνσεις του χώρου των φάσεων τουσυστήματος. Ο κάθε ένας από αυτούς τους συντελεστές, αντιστοιχεί σε κάθε μία από τις διευθύνσεις αυτού τουχώρου - ο λ1 αντιστοιχεί στη διεύθυνση x1, ο λ2 αντιστοιχεί στη διεύθυνση x2 κ.ο.κ. - και αποτελεί μέτρο τουρυθμού ανάπτυξης ή συρρίκνωσης των τροχιών του δυναμικού συστήματος, κατά μήκος αυτής της διεύθυνσης.Το σύνολο των n εκθετών Lyapunov {λ1, λ2, . . . , λn}, ονομάζεται φάσμα Lyapunov (Lyapunov spectrum) τουθεωρούμενου δυναμικού συστήματος.

Δεν είναι δύσκολο να διαπιστώσει κανείς, πως εάν αθροίσουμε κατά μέλη τους εκθέτες Lyapunov λ1, λ2, . . . , λn,θα λάβουμε τη σχέση

n∑

i=1

λi = λ1 + λ2 + · · ·+ λn =∂f1

∂x1+

∂f2

∂x2+ · · ·+ ∂fn

∂xn= ~∇~F (~x) (17)

Αλλά η ποσότητα ~∇~F (~x), δεν είναι τίποτε άλλο από την απόκλιση (divergence) του διανυσματικού πεδίου ~F (~x)που περιγράφει τη δυναμική εξέλιξη του συστήματος. ΄Οπως όμως είναι γνωστό από τη βασική θεωρία, εφ΄ ό-σον το δυναμικό σύστημα είναι απωλεστικό (dissipative), θα χαρακτηρίζεται από την ιδιότητα ~∇~F (~x) < 0. Εάνσυνδυάσουμε αυτή την ιδιότητα με την παραπάνω εξίσωση, οδηγούμαστε στο συμπέρασμα πως το άθροισμα τωνεκθετών Lyapunov ενός απωλεστικού δυναμικού συστήματος, θα πρέπει να είναι μικρότερο του μηδενός, γεγονόςπου έχει ως αποτέλεσμα, τη μείωση των όγκων στο χώρο των φάσεων, σε συνάρτηση με το χρόνο. Προκειμέ-νου να κατανοήσουμε αυτό το χαρακτηριστικό, ας θεωρήσουμε ένα ορθογώνιο παραλληλεπίπεδο στο χώρο τωντριών διαστάσεων με μήκη πλευρών s1, s2 και s3, και αρχικό όγκο V (0) = s1(0)s2(0)s3(0). Εάν αφήσουμετο σύστημα να εξελιχθεί στο χρόνο, το μήκος της κάθε μιας από αυτές τις τρεις πλευρές θα εξελιχθεί σύμφω-να με τη σχέση si = si(0)exp(λit) για i = 1, 2, 3. ΄Αρα ο όγκος του παραλληλεπιπέδου, θα μεταβάλλεται με

Αθανάσιος Ι. Μάργαρης ([email protected]) Πανεπιστήμιο Μακεδονίας - Τμήμα Εφαρμοσμένης Πληροφορικής

Εκθέτες Lyapunov 3

το χρόνο σύμφωνα με τη σχέση V (t) = s1(t)s2(t)s3(t) = s1(0)exp(λ1t)s2(0)exp(λ2t)s3(0)exp(λ3t) ή ισοδύναμαV (t) = V (0)exp((λ1 + λ2 + λ3)t). Εάν λοιπόν το άθροισμα των εκθετών Lyapunov είναι αρνητικό, ο όγκος V (t)θα ελλατώνεται σε συνάρτηση με το χρόνο, και επομένως το θεωρούμενο δυναμικό σύστημα θα είναι απωλεστικό.

΄Ενας εναλλακτικός ορισμός που μπορούμε να χρησιμοποιήσουμε για τους εκθέτες Lyapunov, στηρίζεται στιςγεωμετρικές ιδιότητες του συστήματος στο χώρο των φάσεων. Προκειμένου να διατυπώσουμε αυτό τον ορισμό,ας θεωρήσουμε μία υπερσφαίρα n διαστάσεων απειροστής ακτίνας, που περιέχει ένα σύνολο αρχικών συνθηκών.Σύμφωνα με τα όσα έχουμε αναφέρει στο εισαγωγικό κεφάλαιο των δυναμικών συστημάτων, η εν λόγω σφαίρακάτω από την επίδραση του συστήματος, θα μετασχηματιστεί με την πάροδο του χρόνου σε ένα ελλειψοειδές nδιαστάσεων, με n κύριους άξονες1. Θεωρώντας τώρα τον υπ΄ αριθμόν i κύριο άξονα του ελλειψοειδούς μπορούμε ναορίσουμε τον εκθέτη Lyapunov για τη διέυθυνση που συσχετίζεται με τον εν λόγω άξονα ως

λi = limt→∞

1tlog2

pi(t)pi(0)

(18)

όπου pi(t) το μήκος του υπ΄ αριθμόν i κύριου άξονα του ελλειψοειδούς τη χρονική στιγμή t, και pi(0), η τιμή του ενλόγω μεγέθους τη χρονική στιγμή t = 0. Είναι προφανές πως επειδή ο προσανατολισμός αυτού του ελλειψοειδούςμεταβάλλεται σε συνάρτηση με το χρόνο - κάτι που οδηγεί στη μεταβολή και των διευθύνσεων των κυρίων αξόνων του- είναι πρακτικά αδύνατο να συσχετίσουμε κάθε έναν από τους εκθέτες Lyapunov, με μία σταθερή και συγκεκριμένηδιεύθυνση του χώρου των φάσεων.

Τα όσα αναφέραμε στις προηγούμενες παραγράφους, αφορούν την περίπτωση των δυναμικών συστημάτων συνε-χούς χρόνου. Ας δούμε λοιπόν πως διαμορφώνεται η κατάσταση για την άλλη κατηγορία δυναμικών συστημάτων,των οποίων η εξέλιξη είναι διακριτή ως προς το χρόνο. Θεωρώντας την πιο απλή μορφή ενός τέτοιου συστήματοςπου ορίζεται στη μία διάσταση, και περιγράφεται από μία αναδρομική σχέση της μορφής xn+1 = f(xn), είναι προ-φανές, πως εάν αυτό είναι χαοτικό, η επαναληπτική εφαρμογή της απεικόνισης f επί δύο γειτονικών σημείων x0

και x0 + ε, θα έχει ως αποτέλεσμα την απομάκρυνση των σημείων στο χώρο των φάσεων. Εάν n είναι το πλήθοςτων εφαρμογών της απεικόνισης f επί των θεωρούμενων σημείων, τότε, το μέτρο της απομάκρυνσης των εν λόγωσημείων κάτω από την επαναληπτική εφαρμογή της απεικόνισης, θα δίδεται από τη σχέση

dn = |f (n)(x0 + ε)− f (n)(x0)| (19)

Σε πλήρη αναλογία με την περίπτωση των δυναμικών συστημάτων συνεχούς χρόνου, υποθέτουμε πως η εν λόγωαπομάκρυνση είναι εκθετική ως προς το χρόνο. Αυτή η παραδοχή μας επιτρέπει να γράψουμε την απομάκρυνση dn

με τη μορφήdn

ε=|f (n)(x0 + ε)− f (n)(x0)|

ε= eλn (20)

όπου η σταθερά λ είναι ο εκθέτης Lyapunov του διακριτού δυναμικού συστήματος. Επιλύοντας ως προς λ τηνπαραπάνω σχέση, θα λάβουμε την εξίσωση ορισμού του εκθέτη Lyapunov για τη διακριτή περίπτωση, που είναι η

λ =1n

ln

[ |f (n)(x0 + ε)− f (n)(x0)|ε

](21)

Θεωρώντας τώρα πως η απόσταση ε τείνει στο μηδέν (ε → 0) και χρησιμοποιώντας την εξίσωση ορισμού τηςπαραγώγου n τάξεως ως προς x που είναι η

dnf(x)dxn

= limε→0

f (n)(x0 + ε)− f (n)(x0)ε

(22)

μπορούμε να γράψουμε την εξίσωση (21) με τη μορφή

λ =1n

ln

(∣∣∣∣(dnf(x)

dxn)x0

∣∣∣∣)

(23)

Από τη βασική θεωρία όμως είναι γνωστό πως αν {x1, x2, x3, . . . , xn} είναι η τροχιά του σημείου x0 που προκύπτειαπό την επαναληπτική εφαρμογή της απεικόνισης f , επί του σημείου x0, n φορές, η παράγωγος τάξεως n τηςαπεικόνισης f υπολογιζόμενη στο σημείο x0, θα δίδεται από τη σχέση (chain rule)

(dnf(x)

dxn)|x0 = (

df(x)dx

)|x0(df(x)dx

)|x1(df(x)dx

)|x2 . . . (df(x)dx

)|xn (24)

1O metasqhmatismìc thc jewroÔmenhc sfaÐrac se elleiyoeidèc, afor� thn perÐptwsh twn grammik¸n susthm�twn. Wstìso stoÐdio apotèlesma mporoÔme na katal xoume kai gia ta mh grammik� sust mata, e�n jewr soume th grammik  touc prosèggish, pousunÐstatai sth qr sh tou IakwbianoÔ pÐnaka tou sust matoc upologizìmenou sto kèntro thc jewroÔmenhc upersfaÐrac.

Αθανάσιος Ι. Μάργαρης ([email protected]) Πανεπιστήμιο Μακεδονίας - Τμήμα Εφαρμοσμένης Πληροφορικής

Εκθέτες Lyapunov 4

Σχήμα 1: Μετασχηματισμός σφαίρας σε ελλειψοειδές κάτω από την επίδραση της απεικόνισης ~F για την περίπτωσηενός δυναμικού συστήματος διακριτού χρόνου

Επομένως η εξίσωση (23) θα λάβει τη μορφή

λ =1n

ln

(∣∣∣∣(df(x)dx

)|x0(df(x)dx

)|x1(df(x)dx

)|x2 . . . (df(x)dx

)|xn

∣∣∣∣)

(25)

ή ισοδύναμα

λ =1n

(ln

∣∣∣∣(df(x)dx

)|x0

∣∣∣∣ + ln

∣∣∣∣(df(x)dx

)|x1

∣∣∣∣ + · · ·+ ln

∣∣∣∣(df(x)dx

)|xn

∣∣∣∣)

(26)

Καταλήγουμε λοιπόν στο συμπέρασμα, πως ο εκθέτης Lyapunov για την περίπτωση των μονοδιάστατων δυναμικώνσυστημάτων διακριτού χρόνου, είναι ίσος με το μέσο όρο των φυσικών λογαρίθμων των απόλυτων τιμών τωνπαραγώγων της απεικόνισης f , υπολογιζόμενων επί των n σημείων της τροχιάς, x1, x2, . . . , xn.

Στην περίπτωση των δυναμικών συστημάτων διακριτού χρόνου, η κατάσταση είναι εντελώς ανάλογη. Θεω-ρώντας ένα διακριτό σύστημα που ορίζεται σε ένα γεωμετρικό χώρο m διαστάσεων, Rm, και ένα σημείο του~x0 = {x01, x02, . . . , x0m} που βρίσκεται στο κέντρο μιας υπερ-σφαίρας U με ακτίνα ίση με 1 (unit sphere), αςορίσουμε τον εκθέτη Lyapunov χρησιμοποιώντας τη γεωμετρική μέθοδο που παρουσιάσαμε σε προηγούμενη παρά-γραφο. Εάν υποθέσουμε πως το δυναμικό σύστημα εξελίσσεται στο χρόνο κάτω από την εφαρμογή μιας απεικόνισης~F , με συνιστώσες {f1, f2, f3, . . . , fm}, είναι γνωστό πως η εν λόγω σφαίρα θα μετασχηματιστεί σε ελλειψοειδές εάνη εν λόγω απεικόνειση εφαρμοσθεί στο σύστημα n φορές. Η κατάσταση αυτή παρουσιάζεται στο Σχήμα 1 για τηνπερίπτωση των δύο και των τριών διαστάσεων. Εφ΄ όσον το εν λόγω ελλειψοειδές ορίζεται σε χώρο m διαστάσεων,θα χαρακτηρίζεται από m κύριους άξονες οι οποίοι θα είναι κάθετοι μεταξύ τους, και ανάλογα με τη φύση του συ-στήματος, είτε θα επεκτείνονται, είτε θα συρρικνώνονται καθώς το σύστημα εξελίσσεται στο χρόνο. Σε κάθε έναναπό αυτούς τους κύριους άξονες - ή ισοδύναμα σε κάθε διεύθυνση του χώρου - που ορίζεται από αυτούς - μπορούμενα αντιστοιχήσουμε και ένα εκθέτη Lyapunov, ο οποίος αποτελεί μέτρο του ρυθμού επέκτασης ή συρρίκνωσης τουάξονα κατά μήκος αυτής της διεύθυνσης.

Εάν ~x = ~x0 + ~ε είναι ένα σημείο του χώρου των φάσεων που βρίσκεται πολύ κοντά στο κέντρο της μοναδιαίαςσφαίρας ~x0, τότε μετά την παρέλευση n εφαρμογών της απεικόνισης ~F , η απόσταση των σημείων ~x και ~x0, θα γίνειίση με

~Fn(~x0 + ~ε)− ~Fn(~x0) = D ~Fn(~x0)~ε (27)

όπου

D ~Fn(~x0) = lim~ε→0

~Fn(~x0 + ~ε)− ~Fn(~x0)~ε

(28)

είναι ο Ιακωβιανός πίνακας της υπ΄ αριθμόν n εφαρμογής της απεικόνισης ~F επί του κέντρου της μοναδιαίας σφαίρας

Αθανάσιος Ι. Μάργαρης ([email protected]) Πανεπιστήμιο Μακεδονίας - Τμήμα Εφαρμοσμένης Πληροφορικής

Εκθέτες Lyapunov 5

~x0. Ο πίνακας αυτός θα έχει τη μορφή

D ~Fn(~x0) =

∂fn1 (~x0)∂x1

∂fn1 (~x0)∂x2

. . .∂fn

1 (~x0)∂xm

∂fn2 (~x0)∂x1

∂fn2 (~x0)∂x2

. . .∂fn

2 (~x0)∂xm

∂fn3 (~x0)∂x1

∂fn3 (~x0)∂x2

. . .∂fn

3 (~x0)∂xm

. . . . . . . . . . . .∂fn

m(~x0)∂x1

∂fnm(~x0)∂x2

. . .∂fn

m(~x0)∂xm

(29)

και σε πλήρη αναλογία με τη μονοδιάστατη περίπτωση μπορεί να υπολογισθεί δια της εφαρμογής του κανόνα (chainrule)

D ~Fn(~x0) = D ~F (~xn)D ~F (~xn−1) . . . D ~F (~x2)D ~F (~x1)D ~F (~x0) (30)

όπου {x1, x2, x3, . . . , xn}, η τροχιά που προκύπτει από την διαδοχική εφαρμογή της απεικόνισης ~F επί του σημείου~x0, n φορές.

Εάν συμβολίσουμε με rnk το μήκος του υπ΄ αριθμόν k άξονα του ελλειψοειδούς, rk, μετά από n εφαρμογές της

απεικόνισης ~F επί του κέντρου της μοναδιαίας σφαίρας, ~x0, μπορούμε να ορίσουμε τον αριθμό Lyapunov (Lyapunovnumber) για αυτόν τον άξονα, ως το όριο

Lk = limn→∞

(rnk )

1n (31)

εφ΄ όσον το όριο αυτό υπάρχει. Αυτό το μέγεθος αποτελεί μέτρο του ρυθμού ανάπτυξης ή συρρίκνωσης τουελλειψοειδούς σε σημεία κοντά στην τροχιά του κέντρου της σφαίρας, ~x0. Εφ όσον ορίζεται ο αριθμός Lyapunov,σύμφωνα με την παραπάνω σχέση, ο εκθέτης Lyapunov για τον υπ΄ αριθμόν k άξονα του ελλειψοειδούς, θα δίδεταιαπό τη σχέση λk = ln(Lk). Σε πλήρη αναλογία με την περίπτωση των δυναμικών συστημάτων συνεχούς χρόνου,ορίζονται m εκθέτες Lyapunov ένας για κάθε διεύθυνση, το σύνολο των οποίων συνιστούν το επονομαζόμενο φάσμαLyapunov (Lyapunov spectrum). Ας σημειωθεί τέλος, πως επειδή οι κύριοι άξονες του ελλειψοειδούς αναφέρονταιμε φθίνουσα διάταξη ως προς το ρυθμό ανάπτυξης ή συρρίκνωσης (αυτό σημαίνει πως ο πρώτος κύριος άξοναςπου αντιστοιχεί στον εκθέτη Lyapunov λ1 αντιστοιχεί στη διεύθυνση με το μεγαλύτερο ρυθμό μεταβολής, κ.ο.κ)οι αριθμοί Lyapunov θα ικανοποιούν τη συνθήκη L1 ≥ L2 ≥ · · · ≥ Lm και με τον ίδιο τρόπο, για τους εκθέτεςLyapunov θα είναι λ1 ≥ λ2 ≥ · · · ≥ λm

1.1 H fusik  shmasÐa twn ekjet¸n Lyapunov

Από τα όσα έχουν αναφερθεί στις προηγούμενες παραγράφους, προκύπτει το συμπέρασμα πως οι εκθέτες Lyapunovπροσφέρουν ένα ποιοτικό και ποσοτικό χαρακτηρισμό της δυναμικής συμπεριφοράς του συστήματος, καθώς συσχε-τίζονται με την εκθετική σύγκλιση και απόκλιση των γειτονικών τροχιών του χώρου των φάσεων. Επειδή αυτές οιγειτονικές τροχιές αντιστοιχούν σε σχεδόν ταυτόσημες καταστάσεις, είναι προφανές πως η εκθετική τους απομά-κρυνση θα έχει ως αποτέλεσμα τη μετάβαση του συστήματος σε καταστάσεις που είναι εντελώς διαφορετικές μεταξύτους. Σύμφωνα με τη βασική θεωρία των δυναμικών συστημάτων, εάν κάποιος από τους εκθέτες Lyapunov ενόςδυναμικού συστήματος είναι θετικός, το σύστημα χαρακτηρίζεται ως χαοτικό, με το χρονικό διάστημα μετάβασηςτου συστήματος σε κατάσταση που δεν μπορεί να προβλεφθεί, να εξαρτάται από το μέτρο του συντελεστή Lyapunovπου φέρει το θετικό πρόσημο.

Αποδεικνύεται πως κάθε συνεχές χρονικά μεταβαλλόμενο δυναμικό σύστημα που χαρακτηρίζεται από την απουσίασταθερών σημείων, έχει τουλάχιστον ένα μηδενικό εκθέτη Lyapunov. Αυτός ο εκθέτης αντιστοιχεί στην αργήμεταβολή του μεγέθους κάποιου από τους κύριους άξονες, σε διεύθυνση εφαπτόμενη της ροής του διανυσματικούπεδίου που συσχετίζεται με το δυναμικό σύστημα. Αντίθετα, οι άξονες που συσχετίζονται με τη μέση επέκταση τουσυστήματος σε συνάρτηση με το χρόνο, έχουν θετικό εκθέτη Lyapunov. Επομένως, θεωρώντας ένα απωλεστικόδυναμικό σύστημα που εμφανίζει χαοτική συμπεριφορά, αυτό θα έχει τουλάχιστον ένα θετικό εκθέτη Lyapunov, ενώταυτόχρονα το άθροισμα όλων των εκθετών Lyapunov, θα είναι αρνητικό. Αυτή η αρνητική τιμή του αθροίσματος,θα έχει ως αποτέλεσμα τη σύγκλιση των τροχιών του συστήματος σε συνάρτηση με το χρόνο, οι οποίες τελικά θαπροσεγγίσουν τον ελκυστή του συστήματος στο χώρο των φάσεων.

Το πρόσημο των εκθετών Lyapunov ενός δυναμικού συστήματος, προσφέρει μια ποιοτική εικόνα της δυναμικήςπου το χαρακτηρίζει. Πιο συγκεκριμένα, τα μονοδιάστατα δυναμικά συστήματα χαρακτηρίζονται από την ύπαρξηενός και μοναδικού εκθέτη Lyapunov, ο οποίος είναι θετικός για τις χαοτικές τροχιές, φέρει μηδενική τιμή για τιςοριακώς ευσταθείς τροχιές (marginally stable orbits), και είναι αρνητικός για τις περιοδικές τροχιές του συστήματος.Αντίθετα, στα τριδιάστατα απωλεστικά δυναμικά συστήματα συνεχούς χρόνου, υπάρχουν τρεις εκθέτες Lyapunov,

Αθανάσιος Ι. Μάργαρης ([email protected]) Πανεπιστήμιο Μακεδονίας - Τμήμα Εφαρμοσμένης Πληροφορικής

Εκθέτες Lyapunov 6

λ1, λ2 και λ3, των οποίων τα πρόσημα, ορίζουν με μοναδικό τρόπο τις καταστάσεις στις οποίες μπορούν να περιέλθουναυτά τα συστήματα. Αυτές οι καταστάσεις αφορούν την περίπτωση ενός παράξενου ελκυστή (strangle attractor)για το συνδυασμό τιμών {λ1 > 0, λ2 = 0, λ3 < 0}, την περίπτωση ενός torus για το συνδυασμό τιμών {λ1 = 0, λ2 =0, λ3 < 0}, την περίπτωση οριακού κύκλου (limit cycle) για το συνδυασμό τιμών {λ1 = 0, λ2 < 0, λ3 < 0}, και τηνπερίπτωση σταθερού σημείου, για το συνδυασμό τιμών {λ1 < 0, λ2 < 0, λ3 < 0}. Εάν το δυναμικό σύστημα ορίζεταιστο χώρο των τεσσάρων διαστάσεων, R4, υπάρχουν τέσσερις εκθέτες Lyapunov, οι λ1, λ2, λ3 και λ4, και το σύστημαμπορεί να καταλήξει σε τρεις κατηγορίες παράξενων ελκυστών, οι οποίοι αντιστοιχούν στους συνδυασμούς προσήμων{λ1 > 0, λ2 > 0, λ3 = 0, λ4 < 0}, {λ1 > 0, λ2 = 0, λ3 = 0, λ4 < 0} και {λ1 > 0, λ2 = 0, λ3 < 0, λ4 < 0}. Με τοντρόπο αυτό, η γνώση των προσήμων των εκθετών Lyapunov, μας επιτρέπει να εξάγουμε ποιοτικά συμπεράσματαγια το είδος και το πλήθος των ευσταθών λύσεων, οποιουδήποτε δυναμικού συστήματος.

Από την άλλη πλευρά, το μέτρο των εκθετών Lyapunov, περιγράφει τη συμπεριφορά του συστήματος με ποσοτικότρόπο, κυρίως οσον αφορά τον όγκο της πληροφορίας που δημιουργείται ή καταστρέφεται κατά τη διάρκεια τηςχρονικής εξέλιξης του συστήματος. Πιο συγκεκριμένα, αυτοί οι εκθέτες καταμετρούνε το ρυθμό δημιουργίας ήκαταστροφής αυτής της πληροφορίας, και για το λόγο αυτό η μονάδα μέτρησής τους είναι το bit ανά δευτερόλεπτο(bit per second, bps). Εναλλακτικές μονάδες μέτρησης αυτού του μεγέθους, είναι το bit ανά τροχιά (bit perorbit) για ένα συνεχές δυναμικό σύστημα, ή το bit ανά επανάληψη (bit per iteration) για ένα δυναμικό σύστημαδιακριτού χρόνου. Προκειμένου να εκτιμήσουμε τη φυσική σημασία των εκθετών Lyapunov, ας θεωρήσουμε τονελκυστή του Lorentz, του οποίου ο πρώτος εκθέτης Lyapunov, έχει την τιμή λ1 = 2.16 bps (για τιμές συντελεστώνσ = 16, R = 45.92, b = 4). Επειδή το εν λόγω δυναμικό σύστημα είναι αιτιοκρατικό, και οι εξισώσεις κίνησήςτου είναι γνωστές, μπορούμε για κάποιο δεδομένο σύνολο αρχικών συνθηκών, να προβλέψουμε επ΄ ακριβώς τηνεξέλιξή του στο χρόνο. Το εν λόγω σύστημα όμως είναι χαοτικό, παρουσιάζει δηλαδή εξαιρετικά μεγάλη ευαισθησίαστις αρχικές συνθήκες. Αυτό σημαίνει πως οι τροχιές που ξεκινούν από ελαφρά διαφορετικές αρχικές συνθήκες,χαρακτηρίζονται από εκθετική απόκλιση ως προς το χρόνο, με τον εκθέτη Lyapunov, να εκφράζει το μέτρο αυτήςτης απόκλισης. Για να κατανοήσουμε καλύτερα τον τρόπο με τον οποίο η τιμή αυτού του εκθέτη επηρεάζει τοχρονικό διάστημα μετάβασης του συστήματος σε μη προβλέψιμη συμπεριφορά, ας θεωρήσουμε πως διαταράσσουμετο σύστημα και πως θέτουμε ως αρχική συνθήκη για τη χρονική του εξέλιξη, μία ομάδα τιμών, η οποία απέχει μόλιςένα εκατομμυριοστό από την προηγούμενη (ο καθορισμός αυτής της μικρής απόκλισης απαιτεί ένα δυαδικό αριθμό μεμήκος 20 bits). Εάν αφήσουμε αυτό το διαταραγμένο σύστημα να κινηθεί στο χρόνο, η χρονική του εξέλιξη δεν θαείναι δυνατό να προβλεφθεί μετά από χρονικό διάστημα ίσο με (20bits)/(2.16bps) = 9.259secs, δηλαδή μετά από 20περίπου τροχιές του συστήματος. Μετά από αυτό το χρονικό διάστημα, αυτή η εξαιρετικά μικρή διαταραχή, θα έχειεξαπλωθεί σε όλο τον ελκυστή και το διαταραγμένο δυναμικό σύστημα θα ακολουθήσει μία εντελώς διαφορετικήτροχιά σε σχέση με το μη διαταραγμένο, επιβεβαιώνοντας έτσι πλήρως τον χαοτικό του χαρακτήρα. Από το σημείοαυτό και μετά, κάθε επιπλέον μέτρηση που θα πραγματοποιούμε επί του συστήματος, θα οδηγεί σε ανάκτηση νέαςπληροφορίας μεγέθους 20 bits - εφ΄ όσον οι θέσεις του συστήματος στο χώρο των φάσεων θα είναι πλέον άγνωστεςκαθώς δεν θα μπορούν να προβλεφθούν από τις διαφορικές εξισώσεις κίνησης του συστήματος. Αυτή η διαδικασίαείναι γνωστή με το όνομα ανάκτηση πληροφορίας (information gain) (καθώς λαμβάνει χώρα καταμέτρηση νέαςπληροφορίας σχετικά με τη θέση του συστήματος στο χώρο των φάσεων), αν και πολλές φορές χαρακτηρίζεταικαι από τον όρο απώλεια πληροφορίας (information loss), καθώς η ελαφρά μεταβολή των αρχικών συνθηκών έχειοδηγήσει στην απώλεια κάθε πληροφορίας σχετικά με τις θέσεις του μη διαταραγμένου δυναμικού συστήματος στοχώρο των φάσεων.

Το φάσμα των εκθετών Lyapunov συσχετίζεται άμεσα με μία από τις πολλές διαφορετικού τύπου κλασματικέςδιαστάσεις που υπολογίζουν με ποσοτικό τρόπο το μέγεθος ενός χαοτικού ελκυστή. Η ανάλυση αυτών των διαστά-σεων, θα μελετηθεί σε επόμενη ενότητα αυτού του κεφαλαίου. Στο σημείο αυτό αναφέρουμε απλά πως σύμφωνα μετη μεθοδολογία που αναπτύχθηκε από τους Kaplan και Yorke, το φάσμα των εκθετών Lyapunov συσχετίζεται μεένα ειδικό τύπο διάστασης που είναι γνωστή ως διάσταση Lyapunov και δίδεται από τη σχέση

df = j +

j∑

i=1

λi

|λj+1| (32)

όπου η σταθερά j ορίζεται από τις συνθήκες

j∑

i=1

λi > 0 και

j+1∑

i=1

λi < 0 (33)

Στο σημείο αυτό, ολοκληρώνουμε την περιγραφή της φυσικής σημασίας των εκθετών Lyapunov παραθέτονταςτις τιμές του φάσματος και της διάστασης Lyapunov, για τα πιο χαρακτηριστικά δυναμικά συστήματα συνεχούς καιδιακριτού χρόνου, και για συγκεκριμένες τιμές των παραμέτρων που καθορίζουν τη χρονική τους εξέλιξη. Οι τιμέςαυτών των μεγεθών, παρουσιάζονται στον πίνακα 1.

Αθανάσιος Ι. Μάργαρης ([email protected]) Πανεπιστήμιο Μακεδονίας - Τμήμα Εφαρμοσμένης Πληροφορικής

Εκθέτες Lyapunov 7

Πίνακας 1: Φάσμα και διάσταση Lyapunov τυπικών δυναμικών συστημάτων υπολογιζόμενα από τις εξισώσεις πουπεριγράφουν τη χρονική τους εξέλιξη

Δυναμικό Σύστημα Τιμές Παραμέτρων Φάσμα Διάσταση(Dynamical System) (Parameter Values) Lyapunov LyapunovHENONXn+1 = 1− αX2

n + Yn α = 01.40 λ1 = +0.603Yn+1 = βXn β = 00.10 λ2 = −2.340 1.26

ROSSLERX = −(Y + Z) α = 00.15 λ1 = +0.130Y = X + αY β = 00.20 λ2 = 0.00 2.01Z = β + Z(X − γ) γ = 10.00 λ2 = −14.1LORENTZX = σ(Y −X) σ = 16.00 λ1 = +2.160Y = X(R− Z)− Y R = 45.92 λ2 = 0.00 2.07Z = XY − βZ β = 04.00 λ2 = −32.4

1.2 Analutikìc upologismìc twn ekjet¸n Lyapunov

Στις πιο συνηθισμένες περιπτώσεις δυναμικών συστημάτων, δεν υπάρχει κάποιος τυπικός και εύκολος τρόπος για τονυπολογισμό των εκθετών Lyapynov, ακόμη και εάν είναι γνωστή η αναλυτική μορφή της απεικόνισης του συστήματος,και ο Ιακωβιανός πίνακας που συσχετίζεται με αυτή. Αυτό συμβαίνει, διότι ο πίνακας D ~Fn(~x0) που περιέχει τιςπρώτες παραγώγους της υπ΄ αριθμόν n εφαρμογής της απεικόνισης ως προς τις συντεταγμένες του χώρου τωνφάσεων, είναι γενικά δύσκολο να υπολογιστεί, κάτι που ισχύει ιδιαίτερα σε περιπτώσεις μεγάλων τιμών για τον αριθμόεπανάληψης n. Για το λόγο αυτό καταφεύγουμε στον υπολογισμό των εκθετών Lyapunov χρησιμοποιώντας έμμεσεςμεθόδους. Στις επόμενες παραγράφους θα παρουσιάσουμε μία μεθοδολογία υπολογισμού αυτού του μεγέθους ηοποία μπορεί να εφαρμοσθεί όταν είναι γνωστή η αναλυτική μορφή της απεικόνισης που καθορίζει τη χρονικήεξέλιξη του συστήματος. Η μεθοδολογία αυτή εφαρμόζεται στα δυναμικά συστήματα διακριτού χρόνου, αλλά μπορείσχετικά εύκολα να τροποποιηθεί έτσι ώστε να μπορεί να εφαρμοσθεί και στα συνεχή δυναμικά συστήματα. Στηνεπόμενη ενότητα θα παρουσιάσουμε ένα εναλλακτικό τρόπο υπολογισμού των εκθετών Lyapunov, απευθείας απότα πειραματικά δεδομένα, ο οποίος μπορεί να εφαρμοσθεί στην περίπτωση κατά την οποία το αναλυτικό μοντέλο πουπεριγράφει τη χρονική εξέλιξη του συστήματος δεν είναι γνωστό.

΄Οπως έχει ήδη αναφερθεί στην προηγούμενη ενότητα, εάν θεωρήσουμε μία υπερσφαίρα στο χώρο των m διαστά-σεων, Rm, με κέντρο κάποιο σημείο x0, και ακτίνα ίση με τη μονάδα, η διαδοχική εφαρμογή της απεικόνισης ~F τουσυστήματος, επί αυτής, έχει ως αποτέλεσμα το μετασχηματισμό της σε ένα ελλειψοειδές Jn = D ~Fn(~x0)U , με mκύριους άξονες, s1, s2, . . . , sm, κατά μήκος των m διευθύνσεων του χώρου των φάσεων, u1, u2, . . . , um. Ο άμεσοςτρόπος υπολογισμού των εκθετών Lyapunov, συνίσταται στην εύρεση των ιδιοτιμών si του πίνακα JnJT

n . Εφ΄ όσονόμως λαμβάνει χώρα επέκταση του ελλειψοειδούς κατά μήκος ορισμένων διευθύνσεων του χώρου των φάσεων καισυρρίκνωσή του κατά μήκος κάποιων άλλων, αυτό θα έχει ως αποτέλεσμα το μεγάλο εύρος τιμών για τις ιδιοτιμέςsi, κάποιες από τις οποίες θα είναι πολύ μεγάλες, ενώ κάποιες άλλες θα είναι πολύ μικρές. Το γεγονός αυτό σεσυνδυασμό με την εξαιρετική ακρίβεια των υπολογισμών που απαιτείται, και την αύξηση του βαθμού πολυπλοκότηταςτου προβλήματος, καθώς αυξάνεται ο αριθμός επανάληψης, n, καθιστούν αυτή τη μέθοδο πρακτικά ανεφάρμοστη.

Λόγω αυτής της αντικειμενικής δυσκολίας που υφίσταται όσον αφορά τον υπολογισμό των εκθετών Lyapunov,δια της εφαρμογής της άμεσης μεθόδου, καταφεύγουμε στη χρήση έμμεσων μεθόδων υπολογισμού, οι οποίες ευνοούνκαι τη χρησιμοποίηση αλγορίθμων της αριθμητικής ανάλυσης. Η βασική ιδέα πάνω στην οποία στηρίζονται αυτές οιέμμεσες μέθοδοι, είναι η συνεχής επεξεργασία του ελλειψοειδούς του χώρου των φάσεων καθώς αυτό εξελίσσεταιστο χρόνο. Με άλλα λόγια, αντί να περιμένουμε τη μετάβασή του στην τελική του μορφή μετά από τη διαδοχικήεφαρμογή της απεικόνισης ~F , n φορές, το μετασχηματίζουμε διαρκώς αμέσως μετά την κάθε επανάληψη. Η εφαρμογήαυτής της μεθόδου, στηρίζεται στην παρατήρηση πως ο Ιακωβιανός πίνακας D ~Fn(~x0) μπορεί να αναλυθεί σε έναγινόμενο πινάκων της μορφής

D ~Fn(~x0) = D ~F (~xn)D ~F (~xn−1) . . . D ~F (~x2)D ~F (~x1)D ~F (~x0) (34)

Ξεκινώντας λοιπόν από την πρώτη επανάληψη, ορίζουμε μία ορθογώνια διανυσματική βάση {~w01, ~w0

2, . . . , ~w0m} στο

Αθανάσιος Ι. Μάργαρης ([email protected]) Πανεπιστήμιο Μακεδονίας - Τμήμα Εφαρμοσμένης Πληροφορικής

Εκθέτες Lyapunov 8

χώρο Rm, και στη συνέχεια, με τη βοήθεια των διανυσμάτων βάσης, κατασκευάζουμε νέα διανύσματα, τα

~z1 = D~f(~x0)~w01 (35)

~z2 = D~f(~x0)~w02 (36)

~z3 = D~f(~x0)~w03 (37)

. . . . . . . . . (38)

~zm = D~f(~x0)~w0m (39)

Αυτά τα νέα διανύσματα, κείτονται επί του ελλειψοειδούς D ~Fn(~x0)U , αλλά δεν είναι υποχρεωτικά ορθογώνια. Γιατο λόγο αυτό ορίζουμε μία νέα ομάδα ορθογώνιων διανυσμάτων {~w1

1, ~w12, . . . , ~w1

m}, τα κείτονται επί ενός νέουελλειψοειδούς, που έχει τον ίδιο όγκο με το προηγούμενο. Ο ορισμός αυτής της νέας ομάδας, μπορεί να λάβειχώρα εφαρμόζοντας μία από τις γνωστές μεθόδους ορθογωνιοποίησης (orthogonalization), όπως είναι η μέθοδοςορθογωνιοποίησης Gram-Schmidt (Gram-Schmidt orthogonalization procedure). Σύμφωνα με τη μέθοδο αυτή,μπορούμε με βάση τα διανύσματα ~z1, ~z2, . . . , ~zm, να ορίσουμε νέα διανύσματα, τα ~y1, ~y2, . . . , ~ym, σύμφωνα με τιςσχέσεις

~y1 = ~z1 (40)

~y2 = ~z2 − ~z2~y1

|~y1|2 ~y1 (41)

~y3 = ~z3 − ~z3~y1

|~y1|2 ~y1 − ~z3~y2

|~y2|2 ~y2 (42)

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (43)

~ym = ~zm − ~zm~y1

|~y1|2 ~y1 − ~zm~y2

|~y2|2 ~y1 − · · · − ~m3~ym−1

|~ym−1|2 ~ym−1 (44)

Εάν τώρα κατασκευάσουμε νέα ορθογώνια διανύσματα σύμφωνα με τις σχέσεις ~w11 = ~y1, ~w1

2 = ~y2, . . . , ~w1m = ~ym,

αυτά ορίζουν ένα νέο ελλειψοειδές που έχει τον ίδιο όγκο με το D ~Fn(~x0)U . Στο επόμενο βήμα της διαδι-κασίας, θεωρούμε τον Ιακωβιανό πίνακα D ~F (~x1) που αντιστοιχεί στη δεύτερη εφαρμογή της απεικόνισης ~F -αυτή που θα δημιουργήσει το σημείο ~x1 = ~F (~x0). Εφαρμόζοντας την παραπάνω διαδικασία επί των διανυσμά-των D ~F (~x1)~w1

1, D~F (~x1)~w1

2, . . . , D~F (~x1)~w1

m, μπορούμε να λάβουμε μία δεύτερη ομάδα ορθογώνιων διανυσμάτων,{~w2

1, ~w22, . . . , ~w2

m}. Επομένως, για n εφαρμογές της παραπάνω μεθόδου, θα καταλήξουμε τελικά στα διανύσματα{~wn

1 , ~wn2 , . . . , ~wn

m}, τα οποία προσσεγγίζουν τα μήκη των ημιαξόνων του ελλειψοειδούς Jn.Εφ΄ όσον λοιπόν η συνολική επέκταση rn

i του υπ΄ αριθμόν i άξονα του ελλειψοειδούς μετά από n επαναλήψεις, θαπροσεγγίζεται από το μέτρο του διανύσματος ~wn

i , μπορούμε να διατυπώσουμε την πρόταση πως ο εκθέτης Lyapunovυπ΄ αριθμόν i, που αντιστοιχεί στη διεύθυνση αυτού του άξονα, θα δίδεται από τη σχέση

λi ∼ |~wni |

1n (45)

Με τον τρόπο αυτό, μπορούμε να υπολογίσουμε όλους τους εκθέτες Lyapunov ενός δυναμικού συστήματος διακριτούχρόνου, όταν είναι γνωστή η αναλυτική μορφή της απεικόνισης που καθορίζει τη χρονική του εξέλιξη. Εντελώςανάλογη είναι η κατάσταση και για τα δυναμικά συστήματα συνεχούς χρόνου, που περιγράφονται με τη βοήθειαδιαφορικών εξισώσεων.

1.3 Arijmhtikìc upologismìc twn ekjet¸n Lyapunov

Στην προηγούμενη ενότητα, παρουσιάσαμε ένα αναλυτικό τρόπο υπολογισμού των εκθετών Lyapunov, η χρήσητου οποίου προϋποθέτει τη γνώση των διαφορικών εξισώσεων ή των μη γραμμικών απεικονίσεων που περιγράφουντη χρονική εξέλιξη του συστήματος. Στην περίπτωση κατά την οποία αυτή η πληροφορία δεν είναι γνωστή, και τομόνο στοιχείο που διαθέτουμε για το σύστημα είναι μια πειραματικώς καταγεγραμμένη χρονοσειρά που έχει προκύψειαπό τη μέτρηση κάποιας από τις μεταβλητές του συστήματος, θα πρέπει να ακολουθήσουμε ένα διαφορετικό τρόπουπολογισμού αυτού του μεγέθους.

Υπάρχουν πολλοί αλγόριθμοι που μας επιτρέπουν να υπολογίσουμε τον εκθέτη Lyapunov, απευθείας από ταπειραματικά δεδομένα, και στην επόμενη ενότητα, θα περιγράψουμε τον πιο γνωστό από αυτούς, που είναι γνωστόςως αλγόριθμος του Wolf. Ο αλγόριθμος αυτός εφαρμόζεται πάνω στον ανακατασκευασμένο ελκυστή του συστή-ματος, και συνίσταται στη μέτρηση της απόκλισης ανάμεσα σε δύο γειτονικές τροχιές, και σε χρονικές κλίμακες,που είναι όσο το δυνατό πιο μικρές. Σε ορισμένες περιπτώσεις και όπου αυτό είναι αναγκαίο, εφαρμόζεται μία μέ-θοδος επαναπροσδιορισμού των διανυσμάτων ανάμεσα στα σημεία των γειτονικών τροχιών, που είναι ανάλογη της

Αθανάσιος Ι. Μάργαρης ([email protected]) Πανεπιστήμιο Μακεδονίας - Τμήμα Εφαρμοσμένης Πληροφορικής

Εκθέτες Lyapunov 9

Σχήμα 2: Υπολογισμός του μέγιστου εκθέτη Lyapunov από τα πειραματικά δεδομένα, με βάση τον αλγόριθμο τουWolf

μεθόδου ορθογωνιοποίησης των Gram-Schmidt που παρουσιάσαμε στην προηγούμενη ενότητα. Η μέθοδος πουθα παρουσιάσουμε στη συνέχεια εφαρμόζεται σε δυναμικά συστήματα που έχουν τουλάχιστον ένα θετικό εκθέτηLyapunov.

΄Εστω {x(t)} μια πειραματικώς καταγεγραμμένη χρονοσειρά, η οποία υφίσταται διαδικασία εμβύθισης σε κατάλ-ληλα επιλεγμένο χώρο m διαστάσεων, Rm. Το αποτέλεσμα αυτής της εμβύθισης είναι η δημιουργία του ανακατα-σκευασμένου ελκυστή του συστήματος. Λόγω της μεγάλης πυκνότητας των τροχιών που χαρακτηρίζουν τον κάθεχαοτικό ελκυστή, μπορούμε να επιλέξουμε δύο γειτονικά σημεία στο χώρο των φάσεων, και να ισχυρισθούμε, πωςαυτά τα δύο σημεία ανήκουν σε τροχιές του συστήματος που βρίσκονται πολύ κοντά η μία στην άλλη. Προκειμέ-νου να υπολογίσουμε το μέγιστο εκθέτη Lyapunov, θα πρέπει να παρακολουθήσουμε την απόσταση που υφίσταταιανάμεσα στις γειτονικές τροχιές, καθώς το σύστημα εξελίσσεται στο χρόνο.

Ας θεωρήσουμε λοιπόν τον ανακατασκευασμένο ελκυστή στο χώρο των φάσεων, και το πρώτο σημείο τηςανακατασκευασμένης τροχιάς ~r0(t) = {x(t0), x(t0 + τ), x(t0 + 2τ)), . . . , x(t0 + (m− 1)τ)}. Για το εν λόγω σημείο,εντοπίζουμε τον πιο κοντικό του γείτονα (spatial neighbor), και συμβολίζουμε την απόσταση ανάμεσα στα δύο αυτάσημεία με L(t0). Εάν αφήσουμε το χαοτικό σύστημα να εξελιχθεί στο χρόνο, θα λάβει χώρα απομάκρυνση τωνγειτονικών τροχιών του συστήματος - εφ΄ όσον θεωρούμε πως τα δύο σημεία ανήκουν σε διαφορετικές τροχιές -με αποτέλεσμα η απόστασή τους να μεγαλώσει. ΄Εστω L′(t1) η απόσταση των δύο σημείων τη χρονική στιγμή t1.Θα είναι προφανώς L′(t1) > L(t0). Στο χρονικό αυτό σημείο θα λάβει χώρα αντικατάσταση του ενός από τα δύοσημεία με κάποιο άλλο, έτσι ώστε η απόστασή τους να λάβει μία μικρή τιμή L(t1) < L′(t1). Το σημείο που θααντικατασταθεί θα είναι εκείνο που δεν ανήκει στην τροχιά του συστήματος, ενώ όσον αφορά το νέο σημείο που θαλάβει τη θέση του, θα πρέπει να ικανοποιεί δύο βασικές ιδιότητες: (α) να βρίσκεται όσο το δυνατόν πιο κοντά στοσημείο της τροχιάς που έχει καταγραφεί τη χρονική στιγμή t1, και (β) να επιλεγεί έτσι ώστε ο προσανατολισμόςτου ευθύγραμμού τμήματος που ορίζεται από το σημείο της τροχιάς και το σημείο προς αντικατάσταση, να μείνειαμετάβλητος. Επειδή στην περίπτωση μιας χρονοσειράς πεπερασμένου μήκους, είναι γενικά δύσκολο να βρεθείκάποιο σημείο που να πληρεί επ΄ ακριβώς και τις δύο αυτές ιδιότητες, το νέο σημείο που θα επιλέξουμε θα πρέπεινα βρίσκεται αρκετά κοντά στο αντίστοιχο σημείο της τροχιάς, και επιπλέον, θα πρέπει η γωνία θ που σχηματίζεταιανάμεσα στα ευθύγραμμα τμήματα PorbPold και PorbPnew (όπου Porb είναι το σημείο της τροχιάς τη χρονική στιγμήt1, και Pold και Pnew τα σημεία πριν και μετά τη διαδικασία αντικατάστασης) να είναι όσο το δυνατό πιο μικρή. Ηκατάσταση αυτή παρουσιάζεται με γραφικό τρόπο στο Σχήμα 2.

Αυτή η διαδικασία αντικατάστασης συνεχίζεται μέχρι να εξαντληθούν όλα τα σημεία που περιλαμβάνονται στηνανακατασκευασμένη τροχιά. Στην περίπτωση κατά την οποία δεν υπάρχει κάποιο σημείο που να πληρεί τις παραπάνωιδιότητες έτσι ώστε να αντικαταστήσει κάποιο άλλο, διατηρούμε το πλήθος των αντικαταστάσεων, M , που είχανπραγματοποιηθεί μέχρι τότε. Εφ όσον αυτή η διαδικασία ολοκληρωθεί, μπορούμε να υπολογίσουμε το μέγιστοεκθέτη Lyapunov λ1, από τη σχέση

λ1 =1

tM − t0

M∑

k=1

log2L′(tk)

L(tk−1)(46)

όπου t0 η χρονική στιγμή εκκίνησης της διαδικασίας, tM , η χρονική στιγμή της τελευταίας αντικατάστασης, και Mτο πλήθος των αντικαταστάσεων που πραγματοποιήθηκαν. Το βασικό χαρακτηριστικό του εν λόγω αλγορίθμου,είναι πως το χρονικό διάστημα ∆ = tk+1 − tk ανάμεσα σε δύο διαδοχικές αντικαταστάσεις, παραμένει σταθερό για

Αθανάσιος Ι. Μάργαρης ([email protected]) Πανεπιστήμιο Μακεδονίας - Τμήμα Εφαρμοσμένης Πληροφορικής

Εκθέτες Lyapunov 10

Σχήμα 3: Υπολογισμός του αθροίσματος λ1 + λ2 από τα πειραματικά δεδομένα, με βάση τον αλγόριθμο του Wolf

όλο το μήκος της τροχιάς1. Στην ιδανική περίπτωση κατά την οποία η χρονοσειρά που διαθέτουμε έχει άπειροπλήθος σημείων και χαρακτηρίζεται από απουσία θορύβου, η μέθοδος αυτή θα υπολογίσει επ΄ ακριβώς την τιμήτου μέγιστου εκθέτη Lyapunov, καθώς τα διανύσματα που προκύπτουν από τη διαδικασία αντικατάστασης έχουναπειροστό μέγεθος, και το σφάλμα που υφίσταται όσον αφορά τον προσανατολισμό τους, έχει τιμή ίση με το μηδέν.

Εκτός από την προαναφερόμενη μέθοδο υπολογισμού του μέγιστου εκθέτη Lyapunov, ο Wolf και οι συνεργάτεςτου, επινόησαν και ένα δεύτερο αλγόριθμο, ο οποίος επιτρέπει τον πειραματικό υπολογισμό του αθροίσματος των δύομεγαλύτερων εκθετών Lyapunov, λ1 + λ2. Η μέθοδος αυτή είναι πιο πολύπλοκη από την προηγούμενη καθώς περι-λαμβάνει τη θεώρηση τριών σημείων της ανακατασκευασμένης τροχιάς, τα οποία ορίζουν μία περιοχή στο χώρο τωνφάσεων με εμβαδό επιφάνειας A(t), η οποία, σε πλήρη αναλογία με το μήκος L(t) που θεωρήσαμε στην προηγούμενηπερίπτωση, υφίσταται μεταβολή σε συνάρτηση με το χρόνο. Η βασική λειτουργία του αλγορίθμου συνίσταται στηνκαταγραφή της τρέχουσας τιμής της επιφάνειας A(t), και στην αντικατάσταση των δύο μη τροχιακών σημείων, σεπερίπτωση κατά την οποία αυτή η επιφάνεια ξεπεράσει κάποιο όριο. Σε αντίθεση με την προηγούμενη περίπτωσηστην οποία το χρονικό διάστημα που μεσολαβούσε ανάμεσα σε δύο διαδοχικές αντικαταστάσεις διατηρούσε την ίδιασταθερά τιμή, στον αλγόριθμο υπολογισμού του αθροίσματος λ1 + λ2, η τιμή αυτού του χρονικού διαστήματος με-ταβάλλεται. Το γεγονός αυτό μας υποχρεώνει να θεωρήσουμε και κάποιες επιπλέον παραμέτρους του προβλήματος,όπως είναι για παράδειγμα το ελάχιστο χρονικό διάστημα που μεσολαβεί ανάμεσα σε δύο διαδοχικές αντικαταστάσεις,το πλήθος των βημάτων που θα πρέπει να κάνουμε προς τα πίσω στην περίπτωση που κάποια αντικατάσταση δενολοκληρωθεί με επιτυχία, και τη μέγιστη τιμή που θα πρέπει να λάβει η επιφάνεια A(t), έτσι ώστε να λάβει χώραη διαδικασία αντικατάστασης ενός μη τροχιακού σημείου από κάποιο άλλο. Η κατάσταση αυτή παρουσιάζεται μεδιαγραμματικό τρόπο στο Σχήμα 3.

Αυτή η διαδικασία αντικατάστασης των σημείων που περιγράψαμε στην προηγούμενη παράγραφο, θα συνεχισθείμέχρι να εξαντληθούν όλα τα σημεία της τροχιάς. Υπάρχει όμως πιθανότητα κατά τη διάρκεια αυτής της διαδικασίαςνα εμφανιστεί κάποιο από τα παρακάτω ανεπιθύμητα φαινόμενα: (α) το μήκος κάποιου ημιάξονα του ελλειψοειδούς ναμεγαλώσει πολύ απότομα ως προς το μέγεθος ή ως προς το χρόνο, (β) το εμβαδόν της επιφάνειας A(t) να μεγαλώσειπολύ γρήγορα και (γ) η κυρτότητα (skewness) του στοιχείου επιφάνειας A(t), να ξεπεράσει κάποια οριακή τιμή. Εάνλάβει χώρα εμφάνιση κάποιου από τα τρία αυτά προβλήματα, η διαδικασία προβλέπει την επιστροφή N βημάτων προςτα πίσω και την αντικατάσταση κάποιου σημείου με κάποιο άλλο. Εάν αυτή η αντικατάσταση αποτύχει, επιστρέφουμεάλλα N βήματα προς τα πίσω, και προσπαθούμε και πάλι από την αρχή. Αυτή η διαδικασία επαναλαμβάνεται ξανά καιξανά, μέχρι το τρέχον σύνολο των τριών σημείων, να προσεγγίσει τη θέση που συσχετίζεται με την προηγούμενηεπιτυχή αντικατάσταση. Στο σημείο αυτό, διαλέγουμε το καλύτερο από τα σημεία αντικατάστασης, προχωρούμεΜ βήματα προς τα εμπρός και συνεχίζουμε την αντικατάσταση από εκεί και πέρα. Ας σημειωθεί πως τη χρονικήστιγμή της πρώτης αντικατάστασης t1, τα δύο σημεία που δεν ανήκουν στην τροχιά αναφοράς του συστήματος,αντικαθίστανται από δύο νέα σημεία με τέτοιο τρόπο, ώστε το νέο στοιχείο επιφάνειας που θα σχηματιστεί, A(t1), ναέχει μικρότερο εμβαδό από το προηγούμενο, και όσο το δυνατόν τον ίδιο προσανατολισμό με αυτόν του προηγούμενουστοιχείου επιφάνειας.

1To qronikì di�sthma pou mesolabeÐ an�mesa se diadoqikèc antikatast�seic shmeÐwn, den ja prèpei na eÐnai p�ra polÔ meg�lo, diìtisthn perÐptwsh aut  endèqetai na eisèljoume se perioqèc tou q¸rou twn f�sewn, stic opoÐec o elkust c parousi�zei anadipl¸seicìson afor� th gewmetrik  tou dom . E�n sumbaÐnei k�ti tètoio, h apìstashL′ an�mesa sta dÔo shmeÐa ja ellatt¸netai me thn p�rodotou qrìnou, k�ti pou ja èqei wc apotèlesma, ton upologismì mikrìterhc tim c gia ton ekjèthLyapunov apì ekeÐnh pou ufÐstataisthn pragmatikìthta (underestimation)

Αθανάσιος Ι. Μάργαρης ([email protected]) Πανεπιστήμιο Μακεδονίας - Τμήμα Εφαρμοσμένης Πληροφορικής

Εκθέτες Lyapunov 11

Μετά την ολοκλήρωση της διαδικασίας η οποία θα λάβει χώρα μόλις εξαντληθούν όλα τα σημεία της τροχιάς,μπορούμε να υπολογίσουμε το άθροισμα των δύο μεγαλύτερων συντελεστών Lyapunov από τη σχέση

λ1 + λ2 =1

tM − t0

M∑

k=1

log2A′(tk)

A(tk−1)(47)

όπου tk είναι η χρονική στιγμή κατά την οποία έλαβε χώρα η υπ΄ αριθμόν k αντικατάσταση.Χρησιμοποιώντας τις διαδικασίες που παρουσιάσαμε στις προηγούμενες παραγράφους, μπορούμε να υπολογίσουμε

τους εκθέτες Lyapunov των δυναμικών συστημάτων, με τη βοήθεια των πειραματικών δεδομένων. Ολοκληρώνονταςαυτή την περιγραφή, θα είναι καλό να γίνουν κάποια σχόλια, όσον αφορά τις τιμές των παραμέτρων που επλέκονται σεαυτή τη διαδικασία υπολογισμού, και τον τρόπο με τον οποίο αυτές θα πρέπει να επιλεγούν. ΄Οπως είναι γνωστό απότη βασική θεωρία, η προαναφερόμενη διαδικασία εφαρμόζεται επί του ανακατασκευασμένου ελκυστή του συστήματος,του οποίου η διαδικασία ανακατασκευής, θα πραγματοποιηθεί με βάση τα όσα έχουν παρουσιαστεί στο προηγούμενοκεφάλαιο. Αυτό σημαίνει πως οι βέλτιστες τιμές για τη διάσταση εμβύθισης d και τη χρονική υστέρηση τ , θαυπολογιστούν με τις μεθόδους εκείνες που έχουν ήδη αναλυθεί. Ωστόσο, ειδικά για τη διάσταση εμβύθισης, θα πρέπεινα παρατηρήσουμε, πως αν και σύμφωνα με το θεώρημα του Takens, αυτή θα πρέπει να είναι ίση με 2n+1 όπου n είναιη διάσταση του πραγματικού ελκυστή, στην πράξη, οι βέλτιστες τιμές των εκθετών Lyapunov, υπολογίζονται γιαμικρότερες τιμές διάστασης. Πράγματι στη διαδικασία υπολογισμού του μέγιστου εκθέτη Lyapunov του ελκυστή τουLorentz που έγινε από τον Wolf και τους συνεργάτες του, η διάσταση που χρησιμοποιήθηκε για την ανακατασκευήτου χώρου των φάσεων, είχε την τιμή d = 3, που είναι πολύ μικρότερη από την τιμή που προβλέπεται από τοθεώρημα του Takens, και που είναι η d = 7. Μιλώντας γενικά, η διάσταση d που θα χρησιμοποιηθεί για τηνανακατασκευή του χώρου των φάσεων, δεν θα πρέπει να είναι ούτε υπερβολικά μεγάλη, ούτε υπερβολικά μικρή. Εάνείναι υπερβολικά μεγάλη θα λάβει χώρα μείωση της πυκνότητας των σημείων του ανακατασκευασμένου ελκυστήστο χώρο των φάσεων - καθώς αυτά θα απλωθούν σε μεγαλύτερες διαστάσεις - και επομένως θα μειωθεί και ηπιθανότητα εύρεσης των κατάλληλων σημείων που θα χρησιμοποιηθούν στη διαδικασία αντικατάστασης. Από τηνάλλη πλευρά εάν η διάσταση είναι υπερβολικά μικρή, θα λάβει χώρα εμφάνιση εσφαλμένων γειτόνων (false nearestneighbors), κάτι που θα έχει ως αποτέλεσμα τον υπολογισμό πολύ μεγαλύτερων τιμών για τον εκθέτη Lyapunovαπό αυτές που ισχύουν στην πραγματικότητα.

Η δεύτερη σημαντική παράμετρος που επηρεάζει την ακρίβεια υπολογισμού των εκθετών Lyapunov σύμφωνα μετον αλγόριθμο του Wolf, είναι το χρονικό διάστημα που μεσολαβεί ανάμεσα στις διαδοχικές αντικαταστάσεις των μητροχιακών σημείων. Αυτό ισχύει κυρίως για την περίπτωση υπολογισμού του μέγιστου εκθέτη λ1 όπου η διάρκειααυτού του χρονικού διαστήματος είναι σταθερή, καθώς στη διαδικασία υπολογισμού του αθροίσματος λ1 + λ2 αυτότο χρονικό διάστημα λαμβάνει μεταβλητές τιμές. Περιοριζόμενοι στην πρώτη περίπτωση, ο Wolf απέδειξε πως η ενλόγω χρονική διάρκεια θα πρέπει να μην είναι ούτε υπερβολικά μεγάλη αλλά ούτε και υπερβολικά μικρή. Πράγματι,εάν οι αντικαταστάσεις των σημείων γίνονται με πολύ μεγάλη συχνότητα, λαμβάνει χώρα απώλεια του προσανατο-λισμού του κυρίου άξονα του ελλειψοειδούς στο χώρο των φάσεων, ενώ αντίθετα, εάν οι εν λόγω αντικαταστάσειςπραγματοποιούνται με πολύ μικρή συχνότητα, τα στοιχεία όγκου του χώρου των φάσεων μεγαλώνουν πάρα πολύ,και επιπλέον ο ελκυστής παρουσιάζει αναδιπλώσεις.

Τέλος, η τρίτη σημαντική παράμετρος που χαρακτηρίζεται και από τη μεγαλύτερη σπουδαιότητα όσον αφορά τηνεπιτυχή εφαρμογή της μεθόδου, είναι το πλήθος των δεδομένων της χρονοσειράς που θα πρέπει να χρησιμοποιήσουμε.Η τιμή αυτού του μεγέθους αφορά κυρίως τον αριθμό των δεδομένων ο οποίος μπορεί να διασφαλίσει ικανό πλήθοςσημείων για αντικατάσταση. Αποδεικνύεται πως αυτός ο αριθμός εξαρτάται από πολλούς παράγοντες, όπως είναι ηδιάσταση του ελκυστή, το πλήθος των μη αρνητικών εκθετών Lyapunov του θεωρούμενου δυναμικού συστήματος,το πλήθος των εκθετών Lyapunov που θέλουμε να υπολογίσουμε και τη γεωμετρία του συστήματος στο χώρο τωνφάσεων. Ο Wolf απέδειξε, πως το πλήθος N των σημείων της χρονοσειράς που θα πρέπει να χρησιμοποιήσουμεγια να οδηγηθούμε σε ένα αξιόπιστο υπολογισμό του μέγιστου εκθέτη Lyapunov θα πρέπει να κυμαίνεται από 10d

έως 30d, όπου d είναι η διάσταση του ανακατασκευασμένου χώρου, ενώ το πλήθος των τροχιών του συστήματοςπου είναι ικανό να μας επιτρέψει να εντοπίσουμε περιοχές συρρίκνωσης (stretching) μέσα στον εκλυστή είναι ίσο μεCd−1 όπου η παράμετρος C κυμαίνεται μεταξύ 10 και 100.

Η υλοποίηση του αλγορίθμου του Wolf οδήγησε στη δημιουργία δύο εφαρμογών που φέρουν τα ονόματα BA-SGEN και FET. Από τις εφαρμογές αυτές, εκείνη που υπολογίζει τον εκθέτη Lyapunov είναι η εφαρμογή FET, ενώη εφαρμογή BASGEN επιτρέπει τη δημιουργία μιας βάσης δεδομένων η χρήση της οποίας οδηγεί σε σημαντικότατημείωση του χρόνου εκτέλεσης των υπολογισμών προσδίδοντας έτσι στην εφαρμογή μεγάλη πρακτική χρησιμότητα.Αυτές οι δύο εφαρμογές παρουσιάζονται με αναλυτικό τρόπο στις επόμενες ενότητες.

Αθανάσιος Ι. Μάργαρης ([email protected]) Πανεπιστήμιο Μακεδονίας - Τμήμα Εφαρμοσμένης Πληροφορικής

Εκθέτες Lyapunov 12

2 H efarmog  BASGEN

Η βασική λειτουργία της εφαρμογής BASGEN είναι η ανακατασκευή του χαοτικού εκλυστή σε κατάλληλα επιλεγμένοχώρο εμβύθισης διάστασης d και η τοποθέτηση των σημείων του στους υπερκύβους ενός πλέγματος μήκους πλευράςε. Εάν L είναι η ανάλυση του πλέγματος - δηλαδή το πλήθος των υπερκύβων ανά διάσταση - τότε προφανώς τοσυνολικό πλήθος αυτών των υπερκύβων θα είναι E = Ld. Ωστόσο, μόνο ένα πολύ μικρό ποσοστό αυτών τωνυπερκύβων θα περιέχει ένα ή περισσότερα ανακατασκευασμένα σημεία και επομένως η χρήση του συνόλου τους στονυπολογισμό του εκθέτη Lyapunov καθιστά την όλη διαδικασία υπερβολικά χρονοβόρα ενώ και οι απαιτήσεις τηςεφαρμογής σε μνήμη είναι πάρα πολύ υψηλές.

Ο παραπάνω τρόπος λειτουργίας χαρακτηρίζει τον αυθεντικό αλγόριθμο του Wolf που δημοσιεύθηκε στο περι-δικό Physica D το 1985. ΄Ωστόσο τα μειονεκτήματα της πολύ μικρής ταχύτητας και των υψηλών απαιτήσεων σεκεντρική μνήμη επέβαλλαν την αναθεώρηση και τη βελτίωσή του. Στα πλαίσια αυτής της αναθεώρησης έλαβε χώραη δημιουργία της εφαρμογής BASGEN (dataBASe GENeration) η οποία για κάθε ανακατασκευασμένο σημείο τουχώρου των φάσεων επιστρέφει μόνο τα σημεία εκείνα που ανήκουν στον ίδιο υπερκύβο με αυτό. Με τον τρόποαυτό, ο αλγόριθμος υπολογισμού του εκθέτη Lyapunov δεν χρησιμοποιεί όλα τα σημεία της ανακατασκευασμένηςτροχιάς αλλά μόνο τα λίγα αυτά σημεία με αποτέλεσμα η ταχύτητα εκτέλεσης να γίνεται από 10 έως 1000 φορέςμεγαλύτερη ανάλογα με το πλήθος των δεδομένων της χρονοσειράς. Στην ενότητα αυτή θα περιγράψουμε τη δομήτης βάσης δεδομένων που διατηρεί τις πληροφορίες κατανομής των σημείων στον ανακατασκευασμένο χώρο καθώςκαι τον τρόπο λειτουργίας της εφαρμογής BASGEN.

Είναι προφανές πως ο κάθε υπερκύβος του πλέγματος που περιγράψαμε προηγουμένως θα προσδιορίζεται πλήρωςαπό ένα διάνυσμα d στοιχείων όπου d είναι η διάσταση του χώρου εμβύθισης. Η κατάσταση αυτή παρουσιάζεταιστο Σχήμα 4, όπου απεικονίζονται τρία τέτοια πλέγματα σε χώρους διάστασης d = 1, 2, 3. Από το σχήμα αυτόείναι προφανές πως οι σκιασμένες περιοχές που είναι ευθύγραμμα τμήματα, τετράγωνα και κύβοι αντίστοιχα θαπεριγράφονται από τα διανύσματα {3}, {6, 8} και {5, 7, 1}. Γενικεύοντας την παραπάνω περιγραφή για ένα πλέγμα dδιαστάσεων, ο κάθε υπερκύβος θα προσδιορίζεται μονοσήμαντα από μια διατεταγμένη πλειάδα d ακέραιων αριθμών{x1, x2, x3, . . . , xd}.

Σχήμα 4: Παράδειγμα πλέγματος και υπερκύβου σε χώρους εμβύθισης με διάσταση d = 1, 2, 3

Στην περιγραφή που ακολουθεί, το μήκος πλευράς ε των υπερκύβων υπολογίζεται ως συνάρτηση της μέγιστηςκαι της ελάχιστης τιμής των στοιχείων της χρονοσειράς έτσι ώστε αυτές οι τιμές να απεικονισθούν στην αρχή καιστο τέλος του πλέγματος. Εάν maxVal και minVal είναι η μέγιστη και η ελάχιστη τιμή και L το πλήθος τωνυπερκύβων ανά διάσταση τότε το μήκος της πλευράς αυτών των υπερκύβων θα είναι ίσο με

ε =maxV al −minV al

L

Στην περίπτωση αυτή δεν είναι δύσκολο να διαπιστώσει κανείς πως ο υπερκύβος κατά μήκος της διάστασης m στονοποίο αντιστοιχεί η υπ΄ αριθμόν m συνιστώσα κάποιου ανακατασκευασμένου σημείου με τιμή α ειναι ο υπερκύβος

Αθανάσιος Ι. Μάργαρης ([email protected]) Πανεπιστήμιο Μακεδονίας - Τμήμα Εφαρμοσμένης Πληροφορικής

Εκθέτες Lyapunov 13

υπ΄ αριθμόν k = [M ] όπου

M =α−minV al

ε= R

α−minV al

maxV al −minV al

ενώ το σύμβολο [M ] αναφέρεται στο ακέραιο μέρος της πραγματικής ποσότητας M . Από την τελευταία σχέσηδιαπιστώνουμε πως για α = minV al είναι k = 0 ενώ για α = maxV al είναι k = L. Επομένως η μέγιστη και ηελάχιστη τιμή κάποιας συνιστώσας θα τοποθετηθούν στον πρώτο και στον τελευταίο υπερκύβο του πλέγματος προςαυτή τη διάσταση ενώ όλες οι υπόλοιπες τιμές θα τοποθετηθούν σε κάποιον από τους ενδιάμεσους υπερκύβους.Μιλώντας γενικά, η τοποθέτηση κάποιας τιμής α στον υπερκύβο υπ΄ αριθμόν m προϋποθέτει πως αυτή ανήκειστο διάστημα (Zm

min, Zmmax) όπου Zm

min = (m − 1)ε και Zmmax = mε. Η υποδιαίρεση του άξονα τιμών προς

κάποια διάσταση και η διαδικασία υπολογισμού του μήκους και του διαστήματος τιμών για τον κάθε υπερκύβο,παρουσιάζονται στο Σχήμα 5.

Σχήμα 5: Η διαδικασία υπολογισμού του μήκους πλευράς και του διαστήματος τιμών των υπερκύβων του πλέγματος.

Η ανακατασκευή του χώρου εμβύθισης και των σημείων του χαοτικού ελκυστή λαμβάνει χώρα δια της εφαρμογήςτης μεθόδου των συντεταγμένων χρονικής υστέρησης σύμφωνα με την οποία το υπ΄ αριθμόν m σημείο d διαστάσεωντης ανακατασκευασμένης τροχιάς ορίζεται ως το διάνυσμα

~Ym = {y1m, y2

m, y3m, . . . , yd

m} = {z[m], z[m + τ ], z[m + 2τ ], . . . , z[m + (d− 1)τ ]}όπου z[i] (i = 1, 2, . . . , N) είναι η χρονοσειρά προς μελέτη μεγέθους N στοιχείων και τ το μέγεθος της χρο-νικής υστέρησης. Ανάλογα με τη φύση και τα χαρακτηριστικά της χρονοσειράς, η ανακατασκευασμένη τροχιάπου θα προκύψει με τον τρόπο αυτό θα περιέχει λίγα μόνο σημεία εφόσον η χρονοσειρά είναι περιοδική ή θααπεικονίζει τον ελκυστή του συστήματος εφόσον η θεωρούμενη χρονοσειρά έχει προέλθει από χαοτικό δυνα-μικό σύστημα. Γενικεύοντας τώρα την ανάλυση που παρουσιάσαμε στις προηγούμενες παραγράφους μπορούμενα διατυπώσουμε το συμπέρασμα πως σε κάθε τιμή z[m] της αρχικής μας χρονοσειράς αντιστοιχεί το σημείο~Ym = {y1

m, y2m, y3

m, . . . , ydm} = {z[m], z[m + τ ], z[m + 2τ ], . . . , z[m + (d − 1)τ ]} ενώ ο υπερκύβος που το περιέχει

έχει συντεταγμένες

(c1, c2, . . . , cd) =([

Ly1

m −minV al

maxV al −minV al

],

[L

y2m −minV al

maxV al −minV al

], . . . ,

[L

ydm −minV al

maxV al −minV al

])

ή ισοδύναμα

~Cm =([

Lz[m]−minV al

maxV al −minV al

],

[L

z[m + τ ]−minV al

maxV al −minV al

], . . . ,

[L

z[m + (d− 1)τ ]−minV al

maxV al −minV al

])

όπου χρησιμοποιήσαμε διανυσματική γραφή και αντικαταστήσαμε τις συντεταγμένες yim (i = 1, 2, 3, . . . , d) από τις

τιμές των στοιχείων της χρονοσειράς με τις οποίες συσχετίζονται μέσα από τη μέθοδο των συντεταγμένων χρονικήςυστέρησης.

2.1 O algìrijmoc kataskeu c thc b�shc dedomènwnΜετά τη συνοπτική θεωρητική εισαγωγή που παρουσιάσαμε στην προηγούμενη ενότητα, ας περάσουμε τώρα στηνπεριγραφή της εφαρμογής BASGEN η οποία αρχικοποιεί και επιστρέφει τα περιεχόμενα τεσσάρων πινάκων που

Αθανάσιος Ι. Μάργαρης ([email protected]) Πανεπιστήμιο Μακεδονίας - Τμήμα Εφαρμοσμένης Πληροφορικής

Εκθέτες Lyapunov 14

συνιστούν και τη βάση δεδομένων που χρησιμοποιείται από τον αλγόριθμο. Τα ονόματα και ο τρόπος χρήσης αυτώντων πινάκων έχουν ως εξής:

• Ο δισδιάστατος πίνακας where έχει διαστάσεις MAXBOX×MAXDIM και διατηρεί τις συντεταγμένες τωνυπερκύβων που περιέχουν τουλάχιστον ένα ή και περισσότερα σημεία της ανακατασκευασμένης τροχιάς. Είναιπροφανές πως εφόσον οι τιμές της χρονοσειράς αντιστοιχούν σε κάποιο υπερκύβο με συντεταγμένη στο διά-στημα [0, R− 1], οι γραμμές του πίνακα where θα περιέχουν στοιχεία με τιμές που να ανήκουν στο παραπάνωδιάστημα τιμών.

• Ο δισδιάστατος πίνακας nxtbox έχει διαστάσεις MAXBOX×MAXDIM και για κάθε υπερκύβο του πίνακαwhere επιστρέφει τη διεύθυνση του λογικά επόμενου υπερκύβου. Η ύπαρξη αυτού του πίνακα είναι αναγκαία,καθώς όπως θα δούμε σε επόμενη παράγραφο η λειτουργία του αλγορίθμου απαιτεί την καταχώρηση τωνυπερκύβων κατά αύξουσα ταξινόμηση ως προς τον αριθμό του υπερκύβου που αντιστοιχεί στην τρέχουσαδιάσταση. Επειδή όμως αυτό είναι κάτι που δεν μπορεί να πραγματοποιηθεί καθώς οι υπερκύβοι δημιουργούνταιμε ανεξέλεγχτο τρόπο, η τοποθέτησή τους στον πίνακα where γίνεται με τη σειρά που εμφανίζονται ενώ ηταξινόμησή τους αναφέρεται στη λογική τους οργάνωση.

• Ο μονοδιάστατος πίνακας datptr αποτελείται από MAXBOX στοιχεία και χρησιμοποιείται για την ταυτοποί-ηση των σημείων που ανήκουν στον ίδιο υπερκύβο με κάποιο δεδομένο σημείο της χρονοσειράς. Μετά τηνολοκλήρωση της διαδικασίας δημιουργίας της βάσης δεδομένων, ο πίνακας αυτός περιέχει τη θέση του σημείουπου τοποθετήθηκε τελευταίο σε δεδομένο υπερκύβο και σε συνδυασμό με τον πίνακα nxtdat χρησιμοποιείταιγια την ανάκτηση των σημείων που ανήκουν στον εν λόγω υπερκύβο.

• Ο μονοδιάστατος πίνακας nxtdat αποτελείται από MAXDAT στοιχεία και για κάθε σημείο της χρονοσειράςπεριέχει τη θέση του σημείου που τοποθετήθηκε αμέσως πριν από το θεωρούμενο σημείο της χρονοσειράςστον ίδιο υπερκύβο με αυτό.

Για κάθε σημείο z[i] (i = 1, 2, 3, . . . , N − (d − 1)τ) της αρχικής μας χρονοσειράς, δημιουργούμε το ανακατα-σκευασμένο σημείο του χώρου εμβύθισης ~Yi = {y1

i , y2i , y3

i , . . . , ydi } = {z[i], z[i + τ ], z[i + 2τ ], . . . , z[i + (d − 1)τ ]}

και προσδιορίζουμε τις συντεταγμένες ~Ci = {c1i , c

2i , c

3i , . . . , c

di } του υπερκύβου που το περιέχει σύμφωνα με τη μεθο-

δολογία που παρουσιάσαμε προηγουμένως. Στο επόμενο βήμα της διαδικασίας εξετάζουμε εάν αυτός ο υπερκύβοςυπάρχει ήδη στον πίνακα where. Εάν ο υπερκύβος υπάρχει σημαίνει πως αυτός περιέχει τουλάχιστον ένα ανακατα-σκευασμένο σημείο που προήλθε από κάποιο από τα προγούμενα σημεία της χρονοσειράς. Στην περίπτωση αυτή, τομόνο που έχουμε να κάνουμε είναι να τοποθετήσουμε το σημείο z[i] σε αυτό τον υπερκύβο. Από την άλλη πλευρά,εάν ο υπερκύβος αυτός δεν υπάρχει, αυτό σημαίνει πως κανένα από τα προηγούμενα ανακατασκευασμένα διανύσματαδεν έχει τοποθετηθεί σε αυτόν (δηλαδή με άλλα λόγια ο υπερκύβος δεν έχει εμφανιστεί άλλη φορά) και επομένωςθα πρέπει να τον προσθέσουμε στη βάση. Μετά την επεξεργασία όλων των διαθέσιμων σημείων, η βάση που θαπροκύψει θα περιέχει μόνο τα στοιχεία των υπερκύβων που περιέχουν τουλάχιστον ένα σημείο και οι οποίοι είναι καιοι μοναδικοί που θα χρησιμοποιηθούν κατά τον υπολογισμό του εκθέτη Lyapunov της χρονοσειράς.

Η προσθήκη νέων υπερκύβων στα κελιά του πίνακα where και για κάθε μια από τις διαστάσεις τους γίνεται μετέτοιο τρόπο ώστε η διάταξή τους να χαρακτηρίζεται από αύξουσα ταξινόμηση ως προς την τιμή της συντεταγμένηςτους που αντιστοιχεί στην τρέχουσα διάσταση. Προκειμένου να κατανοήσουμε αυτό το χαρακτηριστικό της εφαρ-μογής, ας θεωρήσουμε ένα τρισδιάστατο χώρο εμβύθισης και τρεις υπερκύβους με συντεταγμένες ~C1 = {12, 4, 7},~C2 = {4, 12, 1} και ~C3 = {17, 5, 9}. Θεωρώντας πως η τρέχουσα διάσταση είναι η πρώτη διάσταση του χώρου- δηλαδή λαμβάνοντας υπ΄ όψιν μόνο τις συντεταγμένες c1

1 = 12, c12 = 4 και c1

3 = 17, η τήρηση της αύξουσαςταξινόμησης απαιτεί την τοποθέτηση των υπερκύβων στον πίνακα where με τη σειρά {C2, C1, C3}. Αυτό όμως στηγενική περίπτωση είναι πάρα πολύ δύσκολο να συμβεί καθώς είναι πολύ πιθανή η εμφάνιση ενός ανακατασκευασμένουδιανύσματος που θα τοποθετηθει στον υπερκύβο C3 ο οποίος επομένως θα εμφανιστεί πρώτος και θα τοποθετηθείπιο μπροστά από τους υπόλοιπους. Με ποιο τρόπο λοιπόν λαμβάνει χωρα η προσθήκη των υπερκύβων στη βάσηδεδομένων; Η απάντηση δεν είναι δύσκολο να δοθεί: οι υπερκύβοι προστίθενται στον πίνακα where ο ένας μετάτον άλλο με τη σειρά που εμφανίζονται φροντίζοντας όμως ώστε η λογική τους οργάνωση να χαρακτηρίζεται απόαύξουσα ταξινόμηση. ΄Επιστρέφοντας στο προηγούμενο παράδειγμα, αυτό σημαίνει πως εάν ο υπερκύβος C3 εμφα-νιστεί πιο νωρίς από τον υπερκύβο C1 θα τοποθετηθεί στη βάση δεδομένων πιο μπροστά από αυτόν. Ωστόσο σε μιαδιαδικασία αναζήτησης, ο υπερκύβος C1 θα προσπελαστεί πρώτος αφού είναι λογικά προηγούμενος του υπερκύβουC3. Η διαδοχική προσπέλαση των υπερκύβων του πίνακα where και με τέτοιο τρόπο ώστε να διατηρείται η αύξουσαταξινόμηση, γίνεται με τη βοήθεια των στοιχείων του πίνακα nxtbox ο οποίος για κάθε υπερκύβο και για την κάθεδιάσταση επιστρέφει τη γραμμή του πίνακα where που περιέχει τον λογικά επόμενο υπερκύβο.

Σε μια πιο αναλυτική περιγραφή, για κάθε νέο υπερκύβο, η εφαρμογή διατρέχει τις γραμμές του πίνακα whereκαι συγκρίνει την τιμή του κελιού της τρέχουσας γραμμής που αντιστοιχεί στην τρέχουσα διάσταση με την τιμή

Αθανάσιος Ι. Μάργαρης ([email protected]) Πανεπιστήμιο Μακεδονίας - Τμήμα Εφαρμοσμένης Πληροφορικής

Εκθέτες Lyapunov 15

της αντίστοιχης συντεταγμένης του νέου υπερκύβου. Η εφαρμογή διατηρεί και ενημερώνει δύο δείκτες με ονόματαrunner και chaser εκ των οποίων ο δείκτης runner ταυτοποιεί την τρέχουσα γραμμή του πίνακα where που εξετάζεταιενώ ο δείκτης chaser τίθεται στην παλαιά τιμή του δείκτη runner κάθε φορά που αυτός πρόκειται να λάβει νέα τιμή.Οι συντεταγμένες του τρέχοντος υπερκύβου που έχουν υπολογιστεί σύμφωνα με τα όσα περιγράψαμε παραπάνωβρίσκονται αποθηκευμένες στον πίνακα target που περιέχει MAXDIM στοιχεία κάθε ένα εκ των οποίων συγκρίνεταιμε το αντίστοιχο στοιχείο της υπ΄ αριθμόν runner γραμμής του πίνακα where. Θεωρώντας πως η σύγκριση αφοράτην υπ΄ αριθμόν ` συντεταγμένη του τρέχοντος υπερκύβου (` = 1, 2, . . . , d) υπάρχουν τρεις διαφορετικές περιπτώσειςόσον αφορά την τιμή της διαφοράς n = where[runner][`]− target[`]:

• n < 0: Εάν η τιμή του n είναι αρνητική, αυτό σημαίνει πως το σημείο z[i] δεν μπορεί να τοποθετηθεί στονυπερκύβο where[runner] γιατί η συνιστώσα target[`] = z[i + `τ ] έχει τιμή μεγαλύτερη της μεγίστης τιμήςZrunner

max = runner · m του διαστήματος τιμών που αντιστοιχεί σε αυτόν τον υπερκύβο. Στην περίπτωσηαυτή η διαδικασία αναζήτησης επαναλαμβάνεται προχωρώντας στη σύγκριση των τιμών where[runner][`] καιtarget[`] με τη νέα τιμή του δείκτη runner να προσδιορίζει τον λογικά επόμενο υπερκύβο σύμφωνα με ταπεριεχόμενα του πίνακα nxtbox. Αυτή η διαδικασία επαναλαμβάνεται συνεχώς και για όσο χρονικό διάστημα ητιμή n = where[runner][`]− target[`] είναι αρνητική, διακόπτεται δε, μόνο όταν η παράμετρος n λάβει θετικήή μηδενική τιμή, οπότε οδηγούμαστε σε κάποια από τις επόμενες δύο περιπτώσεις.

• n = 0: Εάν η τιμή του n είναι ίση με το μηδέν, αυτό σημαίνει πως ο υπερκύβος που περιέχει το ανακατα-σκευασμένο διάνυσμα ~Yi που έχει προκύψει από το σημείο z[i] της χρονοσειράς υπάρχει στη βάση δεδομένωνκαι περιέχει τουλάχιστον ένα ανακατασκευασμένο διάνυσμα που συσχετίζεται με κάποιο από τα προηγούμενασημεία της χρονοσειράς. Επομένως το μόνο που έχουμε να κάνουμε είναι να τοποθετήσουμε το σημείο z[i]σε αυτόν τον υπερκύβο.

• n > 0: Εάν η τιμή του n είναι μεγαλύτερη από το μηδέν, αυτό σημαίνει πως ο τρέχων υπερκύβος δεν υπάρχειστη βάση δεδομένων αφού δεν έχει εντοπιστεί μέχρι τώρα (υπενθυμίζουμε πως η προσθήκη των υπερκύβωνστον πίνακα where γίνεται με τέτοιο τρόπο ώστε η λογική τους οργάνωση να χαρακτηρίζεται από αύξουσαταξινόμηση, οπότε εάν αυτός ο υπερκύβος υπήρχε θα είχε βρεθεί), ενώ ταυτόχρονα υπάρχει τουλάχιστον έναςυπερκύβος με μεγαλύτερη τιμή, που βρίσκεται πιο κοντά στην άκρη του πλέγματος σε σχέση με αυτόν. Στηνπερίπτωση αυτή ο νέος υπερκύβος προστίθεται στη βάση δεδομένων αμέσως μετά τον τελευταίο υπερκύβοτου πίνακα where, αλλάζοντας ταυτόχρονα τα περιεχόμενα του πίνακα nxtbox έτσι ώστε ο υπερκύβος τουπίνακα where που αντιστοιχεί στην τρέχουσα τιμή του δείκτη runner να καταστεί ο λογικά επόμενος τουνέου υπερκύβου. Το μόνο που έχουμε να κάνουμε στη συνέχεια είναι να τοποθετήσουμε το σημείο z[i] στονυπερκύβο που καταχωρήσαμε στη βάση. Με τον τρόπο αυτό διατηρείται η αύξουσα ταξινόμηση των υπερκύβωνως προς την τιμή της συντεταγμένης της τρέχουσας διάστασης, αφού μπορεί ο υπερκύβος με τη μικρότερητιμή να έχει αποθηκευθεί σε μεγαλύτερη θέση μνήμης σε σχέση με αυτόν που περιέχει την μεγαλύτερη τιμή,αλλά όσον αφορά τη λογική τους οργάνωση βρίσκεται πιο πίσω από αυτόν.

Η παραπάνω διαδικασία πραγματοποιείται για κάθε μία από τις συντεταγμένες του τρέχοντος υπερκύβου οιοποίες βρίσκονται αποθηκευμένες στον πίνακα target. Προκειμένου να κατανοήσουμε τον τρόπο λειτουργίας της αςυποθέσουμε πως η διάσταση εμβύθισης έχει τιμή d = 4 και πως οι συντεταγμένες του τρέχοντος υπερκύβου είναιοι target = {15, 6, 12, 3}. Ας υποθέσουμε ακόμη πως η αναζήτηση αφορά την πρώτη από τις συντεταγμένες τουθεωρούμενο υπερκύβου - που έχει τιμή c1 = target[0] = 15 και πως τα περιεχόμενα των πινάκων where και nxtboxείναι αυτά του Σχήματος 6. Στην περίπτωση αυτή η αναζήτηση θα λάβει χώρα με τον ακόλουθο τρόπο: 1

• Ο δείκτης runner τίθεται στην τιμή 0 καθώς η αναζήτηση θα ξεκινήσει από την αρχή του πίνακα where

• Η σύγκριση των τιμών where[0][0] και target[0] οδηγεί στο αποτέλεσμα n = where[0][0] − target[0] =3− 15 = −12 < 0: επομένως το σημείο z[i] δεν μπορεί να τοποθετηθεί σε αυτόν τον υπερκύβο. Η αναζήτησησυνεχίζεται στον λογικά επόμενο υπερκύβο που βρίσκεται στη γραμμή runner=nxtbox[0][0]=8 του πίνακαwhere. Ταυτόχρονα ο δείκτης chaser τίθεται στην τιμή chaser = 0.

• Η σύγκριση των τιμών where[8][0] και target[0] οδηγεί στο αποτέλεσμα n = where[8][0] − target[0] =5− 15 = −10 < 0: επομένως το σημείο z[i] δεν μπορεί να τοποθετηθεί σε αυτόν τον υπερκύβο. Η αναζήτησησυνεχίζεται στον λογικά επόμενο υπερκύβο που βρίσκεται στη γραμμή runner=nxtbox[8][0]=6 του πίνακαwhere. Ταυτόχρονα ο δείκτης chaser τίθεται στην τιμή chaser = 8.

1Sthn efarmog  BASGEN ta keli� twn tess�rwn pin�kwn thc b�shc tÐjentai prin thn efarmog  twn parap�nw diadikasi¸n sthntim  mhdèn. Epomènwc ta keli� twn pin�kwnwhere kai nxtbox tou Sq matoc 6 pou den perièqoun k�poia tim  upotÐjetai pwc èqountejeÐ sthn tim  mhdèn. Apì thn parap�nw perigraf  eÐnai akìmh profanèc pwc ìlec oi grammèc twn pin�kwnwhere kai nxtbox mèqri thgramm  0014 (gia thn perÐptwsh tou Sq matoc 6) èqoun arqikopoihjeÐ - apl� gia lìgouc kalÔterhc eukrÐneiac ta perieqìmena arket¸napì aut¸n den emfanÐzontai sto sq ma.

Αθανάσιος Ι. Μάργαρης ([email protected]) Πανεπιστήμιο Μακεδονίας - Τμήμα Εφαρμοσμένης Πληροφορικής

Εκθέτες Lyapunov 16

Σχήμα 6: Η διαδικασία αναζήτησης του τρέχοντος υπερκύβου στη βάση της εφαρμογής BASGEN.

• Η σύγκριση των τιμών where[6][0] και target[0] οδηγεί στο αποτέλεσμα n = where[6][0] − target[0] =7− 15 = −8 < 0: επομένως το σημείο z[i] δεν μπορεί να τοποθετηθεί σε αυτόν τον υπερκύβο. Η αναζήτησησυνεχίζεται στον λογικά επόμενο υπερκύβο που βρίσκεται στη γραμμή runner=nxtbox[6][0]=14 του πίνακαwhere. Ταυτόχρονα ο δείκτης chaser τίθεται στην τιμή chaser = 6.

• Η σύγκριση των τιμών where[14][0] και target[0] οδηγεί στο αποτέλεσμα n = where[14][0] − target[0] =12− 15 = −3 < 0: επομένως το σημείο z[i] δεν μπορεί να τοποθετηθεί σε αυτόν τον υπερκύβο. Η αναζήτησησυνεχίζεται στον λογικά επόμενο υπερκύβο που βρίσκεται στη γραμμή runner=nxtbox[14][0]=5 του πίνακαwhere. Ταυτόχρονα ο δείκτης chaser τίθεται στην τιμή chaser = 14.

• Η σύγκριση των τιμών where[5][0] και target[0] οδηγεί στο αποτέλεσμα n = where[5][0] − target[0] =20 − 15 = 5 > 0: ο υπερκύβος που βρέθηκε, χαρακτηρίζεται από μεγαλύτερη τιμή και βρίσκεται πιο κοντάστην άκρη του πλέγματος σε σχέση με τον τρέχοντα υπερκύβο, ο οποίος επομένως δεν υπάρχει στη βάση.Επομένως εκείνο που θα πρέπει να κάνουμε είναι να προσθέσουμε στη βάση τον τρέχοντα υπερκύβο και νατοποθετήσουμε σε αυτόν το τρέχον σημείο της χρονοσειράς του συστήματος.

Από την παραπάνω περιγραφή δεν είναι δύσκολο να διαπιστώσει κανείς πως η τιμή 15 - η συντεταγμένη target[0]για τον τρέχοντα υπερκύβο - συγκρίθηκε διαδοχικά με τις τιμές 3,5,7,12,20 κάτι που είναι αναμενόμενο καθώςαυτές οι διαδοχικές συγκρίσεις ακολουθούν τη λογική οργάνωση των υπερκύβων που χαρακτηρίζεται από αύξουσαταξινόμηση. Επομένως, η τρέχουσα τιμή συγκρίνεται με ολοένα και αυξανόμενες τιμές μέχρι τελικά είτε να εντοπιστείη ίδια είτε να βρεθεί κάποια τιμή μεγαλύτερη από αυτή, γεγονός που υποδηλώνει πως η νέα τιμή δεν υπάρχει στονπίνακα where και επομένως θα πρέπει να προστεθεί σε αυτόν.

Η προσθήκη ενός νέου υπερκύβου στον πίνακα where λαμβάνει χώρα ως εξής:

• Η μεταβλητή boxcnt που διατηρεί το πλήθος των καταχωρηθέντων υπερκύβων, αυξάνεται κατά μία μονάδα.

• Τα περιεχόμενα της γραμμής where[chaser] αντιγράφονται στη γραμμή where[boxcnt] - εφόσον ο νέος υπερ-κύβος θα προστεθεί στο τέλος του πίνακα where.

Αθανάσιος Ι. Μάργαρης ([email protected]) Πανεπιστήμιο Μακεδονίας - Τμήμα Εφαρμοσμένης Πληροφορικής

Εκθέτες Lyapunov 17

• Το στοιχείο where[boxcnt][j] τίθεται στην τιμή target[j] όπου j είναι η τιμή της τρέχουσας διάστασης.

• Το στοιχείο nxtbox[chaser][j] τίθεται στην τιμή boxcnt.

• Το στοιχείο nxtbox[boxcnt][j] τίθεται στην τιμή του δείκτη runner

• Ο δείκτης runner τίθεται στην τιμή boxcnt.

Από τις έξι παραπάνω λειτουργίες, οι τρεις πρώτες συσχετίζονται με την προσθήκη του νέου υπερκύβου στον πίνακαwhere ενώ οι τρεις τελευταίες αναπροσαρμόζουν τις τιμές των δεικτών και τα περιεχόμενα του πίνακα nxtbox έτσιώστε ο νέος υπερκύβος να καταστεί λογικά προηγούμενος εκείνου που περιέχει μεγαλύτερη τιμή από την τιμήtarget[j] για το τρέχον σημείο της χρονοσειράς. Αυτή η διαδικασία της προσθήκης του νέου υπερκύβου για τηνπερίπτωση του προηγούμενου παραδείγματος παρουσιάζεται στο Σχήμα 7.

Σχήμα 7: Διαδικασία προσθήκης νέου υπερκύβου στη βάση δεδομένων της εφαρμογής BASGEN

Από τη μελέτη του Σχήματος 7 δεν είναι δύσκολο να διαπιστώσει κανείς πως αυτό απεικονίζει την εικόνα τηςβάσης δεδομένων πριν και μετά την προσθήκη του νέου υπερκύβου στον πίνακα where. Ο προσεκτικός αναγνώστηςθα διαπιστώσει ακόμη πως η πραγματοποίηση των παραπάνω διαδικασιών με τη σειρά που αναγράφονται διατηρεί τηναύξουσα διάταξη που χαρακτηρίζει τη λογική οργάνωση των υπερκύβων για τη συγκεκριμένη διάσταση. Πράγματι,εάν μετά την προσθήκη του νέου υπερκύβου διατρέξουμε τον πίνακα where θα περάσουμε - όπως εύκολα μπορεί ναδιαπιστωθεί - από τα σημεία 3,5,7,12,15,20 η οποία προφανώς χαρακτηρίζεται από αύξουσα ταξινόμηση. Παρατηρούμελοιπόν πως ο αλγόριθμος προσθήκης λειτούργησε με το σωστό τρόπο, τοποθετώντας τον υπερκύβο υπ΄ αριθμόν 15για την πρώτη διάσταση στη σωστή θέση, δηλαδή μετά από τη μέγιστη τιμή που είναι μικρότερη από αυτόν (τηντιμή 12) και πριν από την πρώτη μεγαλύτερη τιμή που τοποθετήθηκε στη βάση πριν από αυτόν (την τιμή 20). Οαλγόριθμος αυτός θα λειτουργήσει με παρόμοιο τρόπο για όλες τις συντεταγμένες του νέου υπερκύβου οι οποίες θασυγκριθούν με τις αντίστοιχες συντεταγμένες όλων των υπερκύβων του πίνακα where.

Η τελευταία περίπτωση προσθήκης υπερκύβου που είναι δυνατόν να εμφανιστεί είναι εκείνη κατά την οποίαη συντεταγμένη του υπερκύβου για την τρέχουσα διάσταση είναι μεγαλύτερη από τις συντεταγμένες όλων τωνυπερκύβων που έχουν καταχωρηθεί στον πίνακα where μέχρι εκείνη τη στιγμή. Προκειμένου να κατανοήσουμε αυτήτην περίπτωση ας θεωρήσουμε πως οι πίνακες where και nxtbox έχουν τα περιεχόμενα του Σχήματος 7 και αςυποθέσουμε πως η συντεταγμένη της πρώτης διάστασης για τον τρέχοντα υπερκύβο είναι ίση με 25. Ακολουθώνταςτη μεθοδολογία που παρουσιάσαμε στις προηγούμενες παραγράφους θα διατρέξουμε τη λίστα όλων των υπερκύβωνπου έχουν καταχωρηθεί μέχρι τώρα, συγκρίνοντας την τιμή 25 με κάθε μία από τις τιμές 3,5,7,12,15,20. Μετάτην τελευταία σύγκριση και εφόσον το αποτέλεσμα n = where[5][0] − target[0] = 20 − 25 = −5 είναι αρνητικό,

Αθανάσιος Ι. Μάργαρης ([email protected]) Πανεπιστήμιο Μακεδονίας - Τμήμα Εφαρμοσμένης Πληροφορικής

Εκθέτες Lyapunov 18

θα πρέπει σύμφωνα με τον αλγόριθμο που παρουσιάσαμε να καταχωρήσουμε στην τιμή του δείκτη runner την τιμήτου στοιχείου nxtbox[5][0]. Αλλά αυτή η τιμή είναι προφανώς ίση με το μηδέν, καθώς ο υπερκύβος που περιέχειτην τιμή 20 διατηρούσε μέχρι τώρα τη μέγιστη τιμή συντεταγμένης και επομένως δεν διαθέτει λογικά επόμενουπερκύβο (υπενθυμίζουμε για ακόμα μία φορά στο σημείο αυτό πως πριν τη δημιουργία της βάσης, τα περιεχόμενατου πίνακα nxtbox - καθώς και όλων των άλλων πινάκων - τίθενται στην τιμή 0). Επομένως εάν κατά την εφαρμογήτης παραπάνω διαδικασίας ο δείκτης runner λάβει μηδενική τιμή, αυτό σημαίνει πως ο υπερκύβος που επιχειρούμενα καταχωρήσουμε έχει τη μεγαλύτερη τιμή από τις τιμές όλων των υπερκύβων που έχουν καταχωρηθεί μέχριτώρα. Επειδή δε αυτός ο υπερκύβος δεν υπάρχει στη βάση, θα πρέπει να καταχωρηθεί σε αυτή κάτι που γίνεταιπραγματοποιώντας την ακολουθία των έξι διαδικασιών που παρουσιάσαμε προηγουμένως. Η πραγματοποίηση αυτώντων διαδικασιών θα οδηγήσει στο αποτέλεσμα που παρουσιάζεται στο Σχήμα 8.

Σχήμα 8: Διαδικασία προσθήκης υπερκύβου με τη μέγιστη τιμή συντεταγμένης για την τρέχουσα διάσταση στηβάση δεδομένων της εφαρμογής BASGEN

Από το Σχήμα 8 διαπιστώνουμε πως ο νέος υπερκύβος έχει τοποθετηθεί στη γραμμή where[boxcnt] (boxcnt=19)του πίνακα where ενώ το κελί nxtbox[chaser][0] (chaser=5) τίθεται στην τιμή boxcnt καθώς ο προηγούμενοςυπερκύβος με τη μέγιστη τιμή (την τιμή 20 στο παράδειγμά μας) καθίσταται πλέον λογικά προηγούμενος του νέουυπερκύβου. ΄Οσον αφορά την τιμή του κελιού nxtbox[boxcnt][0] αυτή τίθεται στην τρέχουσα τιμή του δείκτη runnerπου είναι η τιμή μηδέν. Το γεγονός αυτό είναι αναμενόμενο αφού ο τελευταίος υπερκύβος δεν θα διαθέτει λογικάεπόμενο υπερκύβο αφού είναι ο υπερκύβος με τη μεγαλύτερη τιμή συντεταγμένης για την τρέχουσα διάσταση.

Δεν είναι δύσκολο να αποδείξει κανείς πως και σε αυτή την περίπτωση διατηρείται η αύξουσα ταξινόμηση πουχαρακτηρίζει τη λογική οργάνωση των καταχωρηθέντων υπερκύβων. Πράγματι εάν ξεκινήσουμε από την πρώτηγραμμή του πίνακα where και διατρέξουμε την ακολουθία των υπερκύβων θα περάσουμε διαδοχικά από τις τιμές3,5,7,12,18,20,25 που χαρακτηρίζονται από αύξουσα διάταξη κάτι που δείχνει πως η όλη διαδικασία έχει πραγματο-ποιηθεί με το σωστό τρόπο.

Μετά την αναλυτική παρουσίαση του τρόπου προσθήκης των υπερκύβων στη βάση δεδομένων, ας δούμε τώραμε πιο τρόπο τοποθετούνται σε αυτούς τα σημεία της χρονοσειράς. Η λειτουργία της εφαρμογής όσον αφορά τηνπραγματοποίηση αυτής της διαδικασίας στηρίζεται στη χρήση των πινάκων nxtdat και datptr οι οποίοι αποτελούνταιαπό MAXDAT και MAXBOX στοιχεία αντίστοιχα. Από τους πίνακες αυτούς, ο πρώτος περιέχει για το κάθε σημείοτης χρονοσειράς τη θέση του επόμενου σημείου που ανήκει στον ίδιο υπερκύβο, ενώ ο δεύτερος χρησιμοποιείται γιατην αρχικοποίηση του παραπάνω πίνακα, ενώ μετά την ολοκλήρωση της διαδικασίας επιτρέπει τον προσδιορισμό τωνσημείων που έχουν τοποθετηθεί σε ένα δεδομένο υπερκύβο.

Αθανάσιος Ι. Μάργαρης ([email protected]) Πανεπιστήμιο Μακεδονίας - Τμήμα Εφαρμοσμένης Πληροφορικής

Εκθέτες Lyapunov 19

Η αρχικοποίηση των παραπάνω πινάκων (τα στοιχεία των οποίων πριν την εκκίνηση της διαδικασίας τίθενται στημηδενική τιμή) λαμβάνει χώρα δια της εκτέλεσης των εντολών nxtdat[i]=datptr[runner] και datptr[runner]=i. Στηνπαραπάνω σύνταξη η τιμή του δείκτη runner διατηρεί τη θέση του υπερκύβου στο οποίο πρόκειται να τοποθετηθείτο σημείο που βρίσκεται στη θέση i της χρονοσειράς.

Προκειμένου να κατανοήσουμε τον τρόπο λειτουργίας της παραπάνω διαδικασίας ας υποθέσουμε πως τα σημείαυπ΄ αριθμόν 3238, 5712, 7522 και 9817 πρόκειται να τοποθετηθούν στον υπερκύβο υπ΄ αριθμόν 112. Στην περίπτωσηαυτή η εκτέλεση των παραπάνω εντολών θα λάβει χώρα με τον ακόλουθο τρόπο:

• Για το σημείο 3238: nxtdat[3238]=datptr[112]=0000 και datptr[112]=3238

• Για το σημείο 5712: nxtdat[5712]=datptr[112]=3238 και datptr[112]=5712

• Για το σημείο 7522: nxtdat[7522]=datptr[112]=5712 και datptr[112]=7522

• Για το σημείο 9817: nxtdat[9817]=datptr[112]=5722 και datptr[112]=9817

Από το παραπάνω παράδειγμα δεν είναι δύσκολο να διαπιστώσει κανείς πως για κάθε σημείο i της αρχικής μαςχρονοσειράς η τιμή nxtdat[i] περιέχει τη θέση του σημείου που έχει τοποθετηθεί στον ίδιο υπερκύβο αμέσωςπριν από αυτό. Εάν δε ο εν λόγω υπερκύβος είναι ο υπ΄ αριθμόν k υπερκύβος του χώρου εμβύθισης, τότε τοστοιχείο datptr[k] θα περιέχει μετά την επεξεργασία όλων των σημείων, τη θέση του στοιχείου της χρονοσειράςπου προστέθηκε τελευταίο σε αυτόν τον υπερκύβο.

Πως μπορούμε λοιπόν για ένα δεδομένο υπερκύβο M να ανακτήσουμε τα σημεία της χρονοσειράς που έχουντοποθετηθεί σε αυτόν; Αρχικά θα πρέπει να μεταβούμε στη θέση datptr[M] και να διαβάσουμε τη θέση τουστοιχείου της χρονοσειράς που προστέθηκε τελευταίο σε αυτόν. Στη συνέχεια μεταβαίνουμε στους πίνακες data καιnxtdat, και εφαρμόζοντας τη διαδικασία που περιγράψαμε προηγουμένως ανακτούμε διαδοχικά τις θέσεις όλων τωνσημείων που έχουν τοποθετηθεί στον υπερκύβο υπ΄ αριθμόν M αλλά με την αντίστροφη σειρά, δηλαδή το στοιχείοπου προστέθηκε τελευταίο θα ανακτηθεί πρώτο (υπό αυτή την έννοια η παραπάνω διαδικασία προσομοιώνει μιαδομή τύπου LIFO). Αυτός ο τρόπος ανάκτησης των στοιχείων της χρονοσειράς για τον υπερκύβο υπ΄ αριθμόν 112,παρουσιάζεται στο Σχήμα 9. Από το σχήμα αυτό διαπιστώνουμε πως το σημείο της χρονοσειράς που τοποθετήθηκετελευταίο σε αυτόν τον υπερκύβο βρίσκεται στη θέση 9817 του πίνακα data. Διατρέχοντας τώρα τους πίνακες προςτα πίσω και προσπελαύνοντας τις θέσεις μνήμης που υπαγορεύονται από τα στοιχεία του πίνακα nxtdat ανακτούμεδιαδοχικά και τα υπόλοιπα σημεία της χρονοσειράς που έχουν τοποθετηθεί στον υπερκύβο υπ΄ αριθμόν 112 και ταοποία είναι τα 7522, 5712 και 3238. Η διαδικασία ολοκληρώνεται όταν η τιμή του στοιχείου του πίνακα nxtdat πουυποδεικνύεται από κάποιο στοιχείο του πίνακα data έχει τιμή ίση με το μηδέν - η εμφάνιση αυτής της τιμής σημαίνειπως δεν υπάρχουν άλλα σημεία. Με τον τρόπο αυτό προκύπτει το συμπέρασμα πως το σημείο 3238 είναι το πρώτοσημείο που έχει τοποθετηθεί στον υπερκύβο υπ΄ αριθμόν 112.

Σχήμα 9: Διαδικασία προσθήκης σημείου της χρονοσειράς σε δεδομένο υπερκύβο.

2.2 O phgaÐoc k¸dikac thc efarmog c BASGEN

Μετά τη λεπτομερή παρουσίαση του αλγόριθμου δημιουργίας της βάσης δεδομένων ας αναφέρουμε τώρα ορισμέναστοιχεία όσον αφορά τον πηγαίο κώδικα της εφαρμογής. Το βασικό μειονέκτημα αυτού του κώδικα είναι πως ηδέσμευση των πινάκων γίνεται με στατικό τρόπο και πριν την ανάγνωση των δεδομένων της χρονοσειράς και την

Αθανάσιος Ι. Μάργαρης ([email protected]) Πανεπιστήμιο Μακεδονίας - Τμήμα Εφαρμοσμένης Πληροφορικής

Εκθέτες Lyapunov 20

κατασκευή της βάσης που περιγράψαμε προηγουμένως. Επειδή η εφαρμογή δεν είναι δυνατό να γνωρίζει εκ τωνπροτέρων το πλήθος των δεδομένων της χρονοσειράς, την τιμή της διάστασης εμβύθισης και την ανάλυση του πλέγ-ματος των υπερκύβων, χρησιμοποιεί προεπιλεγμένες τιμές για τις διαστάσεις των πινάκων. Αυτές οι τιμές είναι οιMAXDAT=32000 για το πλήθος των δεδομένων της χρονοσειράς, MAXDIM=8 για τη διάσταση εμβύθισης καιMAXBOX=6000 για την ανάλυση του πλέγματος των υπερκύβων. Αυτό σημαίνει πως η εφαρμογή στην τρέχουσαμορφή της απαιτεί η χρήση τιμών για τα τρία προαναφερόμενα μεγέθη οι οποίες να είναι μικρότερες από τις αντί-στοιχες μέγιστες τιμές, ενώ η χρήση τιμών μεγαλύτερες από τις MAXDAT, MAXBOX και MAXDIM απαιτεί τηνεπαναμεταγλώττιση του πηγαίου κώδικα της εφαρμογής και την εκ νέου κατασκευή του εκτελέσιμου αρχείου.

Η υλοποίηση του κώδικα σε γλώσσα C έγινε από τον Joe Mietus ο οποίος μετέφρασε γραμμή προς γραμμήτον αρχικό κώδικα που υλοποιήθηκε από τον Alan Wolf και ο οποίος ήταν γραμμένος σε γλώσσα FORTRAN. Γιαλόγους απλότητας ο κώδικας δεν βελτιστοποιήθηκε όσον αφορά τη διαχείριση μνήμης ενω παράλληλα διατήρησε τοντρόπο λειτουργίας της FORTRAN όσον αφορά τον τρόπο προσπέλασης των πινάκων της βάσης (για παράδειγμαως πρώτο στοιχείο του πίνακα datptr θεωρήθηκε το datptr[1] και όχι το datptr[0] όπως συμβαίνει στη C, κάτι πουεπέβαλλε τη δέσμευση N + 1 κελιών για ένα πίνακα που πρόκειται να φιλοξενήσει N στοιχεία). Η βελτίωση τουκώδικα όσον αφορά τη διαχείριση της μνήμης και γενικότερα τη λειτουργία του αλγορίθμου κατασκευής της βάσηςδεδομένων θα παρουσιαστεί σε επόμενη ενότητα.

3 H efarmog  FET

Η εφαρμογή FET (Fixed Evolution Time) επιτρέπει τον υπολογισμό του μέγιστου θετικού εκθέτη Lyapunov μιαςάγνωστης πειραματικώς καταγεγραμμένης χρονοσειράς δεδομένων υπολογίζοντας τις μέσες τιμές του ρυθμού τηςεκθετικής απόκλισης μικρών τμημάτων της χρονοσειράς στον ανακατασκευασμένο χώρο εμβύθισης. Η λειτουργίατης εφαρμογής στηρίζεται στη χρήση της βάσης δεδομένων που κατασκευάστηκε από την εφαρμογή BASGEN σεπροηγούμενο στάδιο της διαδικασίας και σε γενικές γραμμές περιλαμβάνει τις ακόλουθες ενέργειες.

• Η εφαρμογή ανακατασκευάζει την τροχιά του συστήματος στον κατάληλλο χώρο εμβύθισης

• Χρησιμοποιώντας τη βάση δεδομένων που δημιουργήθηκε από την εφαρμογή BASGEN, εντοπίζονται δύοσημεία στον ανακατασκευασμένο χώρο που να βρίσκονται πολύ κοντά το ένα στο άλλο.

• Η εφαρμογή παρακολουθεί τη χρονική εξέλιξη των σημείων στον ανακατασκευασμένο χώρο και μετά απόκάποιο χρονικό διάστημα υπολογίζει εκ νέου την απόσταση που υφίσταται ανάμεσά τους. Στην περίπτωσηαυτή ο λογάριθμος με βάση 2 του λόγου της τελικής προς την αρχική απόσταση αποτελεί μια τοπική εκτίμησητης απόκλισης των τροχιών του δυναμικού συστήματος στον ανακατασκευασμένο χώρο.

• Εάν μετά την πάροδο του προκαθορισμένου χρονικού διαστήματος τα δύο σημεία συνεχίζουν να βρίσκονταιπολύ κοντά το ένα στο άλλο, παραμένουν ως έχουν και η διαδικασία συνεχίζεται με την εκ νέου χρονική εξέλιξητων σημείων και τον υπολογισμό της νέας τους απόστασης. Αντίθετα, εάν η απόσταση ανάμεσά τους ξεπεράσεικάποιο προκαθορισμένο όριο, διατηρούμε το ένα μόνο σημείο και χρησιμοποιώντας τη βάση δεδομένων τηςεφαρμογής BASGEN αντικαθιστούμε το δεύτερο (μη τροχιακό) σημείο με κάποιο από τα υπόλοιπα σημεία τηςανακατασκευασμένης τροχιάς. Τα κριτήρια επιλογής του νέου σημείου θα παρουσιαστούν στη συνέχεια.

• Ο μέγιστος εκθέτης Lyapunov της αρχικής μας χρονοσειράς προκύπτει από το μέσο όρο όλων των τοπικώνρυθμών της απόκλισης των γειτονικών τροχιών διαιρεμένο με το συνολικό χρονικό διάστημα κατά τη διάρκειατου οποίου παρακολουθήθηκε η χρονική εξέλιξη των γειτονικών τροχιών.

Από την παραπάνω περιγραφή δεν είναι δύσκολο να διαπιστώσει κανείς πως η λειτουργία του αλγορίθμου απαιτεί τονκαθορισμό των τιμών των επόμενων παραμέτρων.

• time step (seconds or iterations): Ορίζει τη χρονική απόσταση ανάμεσα σε δύο διαδοχικά σημεία της χρονο-σειράς. Εάν αυτή η παράμετρος λάβει τιμή ίση με τη μονάδα, ο υπολογιζόμενος εκθέτης Lyapunov θα είναιεκπεφρασμένος σε bits per data point (ή σε bits per iteration για διακριτές απεικονίσεις).

• evolution time: Ορίζει το μέγεθος της χρονικής εξέλιξης των τροχιακών σημείων αναφοράς μετά το πέραςτης οποίας υπολογίζεται η νέα τους απόσταση.

• minimum separation at displacement: Ορίζει την ελάχιστη επιτρεπτή απόσταση μεταξύ δύο ανακατασκευα-σμένων σημείων στο χώρο εμβύθισης. Αυτό σημαίνει πως κάποιο σημείο θεωρείται έγκυρο και μπορεί νααντικαταστήσει το μη τροχιακό του ζεύγους όταν η απόστασή του από το άλλο σημείο είναι μεγαλύτερη απότην απόσταση που καθορίζεται από την τιμή αυτής της παραμέτρου.

Αθανάσιος Ι. Μάργαρης ([email protected]) Πανεπιστήμιο Μακεδονίας - Τμήμα Εφαρμοσμένης Πληροφορικής

Εκθέτες Lyapunov 21

• maximum separation at displacement: Ορίζει τη μέγιστη επιτρεπτή απόσταση μεταξύ δύο ανακατασκευα-σμένων σημείων στο χώρο εμβύθισης. Αυτό σημαίνει πως εάν σε κάποια χρονική στιγμή η απόσταση τωνανακατασκευασμένων διανυσμάτων των δύο σημείων γίνει μεγαλύτερη από την τιμή αυτής της παραμέτρου,τότε το ένα από τα δύο σημεία θα πρέπει να αντικατασταθεί από κάποιο άλλο.

• maximum orientation error: όπως θα δούμε στην περιγραφή που ακολουθεί, η αντικατάσταση του μη τροχια-κού σημείου με κάποιο άλλο γίνεται έτσι ώστε να διατηρείται ο προσανατολισμός των ευθυγράμμων τμημάτωνπου ορίζονται από τα δύο σημεία του ζεύγους και το υποψήφιο προς αντικατάσταση σημείο. Αυτό σημαίνειπως το νέο σημείο θεωρείται έγκυρο μόνο όταν η γωνία ανάμεσα στα παραπάνω ευθύγραμμα τμήματα είναιμικρότερη από κάποιο όριο (που καθορίζεται από την τιμή αυτής της παραμέτρου), διαφορετικά απορρίπτεται.

3.1 O algìrijmoc antikat�stashc shmeÐwnΣτην ενότητα αυτή θα παρουσιάσουμε αναλυτικά τον αλγόριθμο αντικατάστασης του μη τροχιακού σημείου απόκάποιο άλλο. Η διαδικασία αυτή πραγματοποιείται από τη συνάρτηση Search η οποία δέχεται ως εισόδους τις θέσειςδύο ανακατασκευασμένων σημείων oldpnt και newpnt και επιστρέφει τη θέση bstpnt ενός νέου σημείου που θααντικαταστήσει κάποιο από τα αρχικά σημεία σύμφωνα με τον αλγόριθμο που παρουσιάσαμε προηγουμένως. Εάνδεν βρεθεί κανένα κατάλληλο προς αντικατάσταση σημείο τότε μετά την επιστροφή της συνάρτησης η τιμή τηςμεταβλητής bstpnt θα είναι ίση με το μηδέν.

Η αναζήτηση του σημείου bstpnt που θα αντικαταστήσει το μη τροχιακό σημείο newpnt γίνεται μέσα στον ανα-κασκευασμένο χώρο εμβύθισης διάστασης d ο οποίος καλύπτεται πλήρως από ένα πλέγμα υπερκύβων d διαστάσεωνμε R υπερκύβους ανά διάσταση μήκους πλευράς ε = (maxV al −minV al)/L όπου maxVal και minVal είναι αντί-στοιχα η μέγιστη και η ελάχιστη τιμή των δεδομένων της χρονοσειράς. Το πλήθος και οι θέσεις των υπερκύβων πουεξετάζονται καθορίζονται πλήρως από την τιμή της παραμέτρου dismin που εκφράζει την ελάχιστη επιτρεπτή από-σταση ανάμεσα στα σημεία της ανακατασκευασμένης τροχιάς, ενώ η διαδοχική προσπέλαση των σημείων του κάθευπερκύβου γίνεται με τη βοήθεια των πινάκων datptr και nxtdat και με τον τρόπο που περιγράψαμε σε προηγούμενηενότητα. Για κάθε σημείο που προσδιορίζεται, υπολογίζεται η Ευκλείδια απόστασή του από τα σημεία oldpnt καιnewpnt καθώς και η γωνία ϑ που ορίζεται από τα ευθύγραμμα τμήματα [oldpnt][newpnt] και [oldpnt][bstpnt]. Ο χα-ρακτηρισμός ενός σημείου ως έγκυρου και υποψήφιου αντικαταστάτη κάποιων από τα άλλα δύο σημεία, προϋποθέτειτην ισχύ των επόμενων ιδιοτήτων:

• (Α) Η απόσταση των σημείων oldpnt και bstpnt στη θεωρούμενη χρονοσειρά θα πρέπει να είναι μεγαλύτε-ρη ή ίση με την τιμή της παραμέτρου evolution time, ιδιότητα που περιγράφεται μαθηματικά από τη σχέσηfabs(bstpnt− oldpnt) ≥ evolve όπου evolve είναι η τιμή της χρονικής εξέλιξης.

• (Β) Η απόσταση των σημείων bstpnt και datuse θα πρέπει να είναι μεγαλύτερη ή ίση από το διπλάσιο τηςτιμής της παραμέτρου evolution time ή ισοδύναμα fabs(bstpnt − dat) ≥ 2 ∗ evolve. Στην παραπάνω σχέσηη παράμετρος datuse εκφράζει τη θέση του τελευταίου σημείου της τροχιάς που εξετάζεται καθώς αυτήδιατρέχεται από την αρχή προς το τέλος της και η οποία προφανώς είναι ίση με datuse = N − (d−1)τ − evolvόπου d είναι η διάσταση εμβύθισης και τ η τιμή της χρονικής υστέρησης.

• (Γ) Η Ευκλείδια απόσταση ανάμεσα στα ανακατασκευασμένα διανύσματα ~Xold και ~Xbst που προκύπτουν απότα σημεία oldpnt και bstpnt αντίστοιχα, θα πρέπει να είναι μεγαλύτερη ή ίση από την ελάχιστη επιτρεπτήαπόσταση των σημείων της τροχιάς στο χώρο των φάσεων - ή ισοδύναμα D = ‖ ~Xold − ~Xbst‖ ≥ dismin - καιμικρότερη από την αντίστοιχη απόσταση που είχε υπολογιστεί για το τελευταίο σημείο της χρονοσειράς πουεξετάστηκε.

• (Δ) Η γωνία ϑ που ορίζεται από τα ευθύγραμμα τμήματα [oldpnt][newpnt] και [oldpnt][bstpnt] θα πρέπει ναείναι μικρότερη από την τιμή κατωφλίου ϑmax που συσχετίζεται με την παράμετρο maximum orientation error.

Εφόσον το τρέχον σημείο που εξετάζεται χαρακτηρισθεί έγκυρο - ικανοποιεί δηλαδή τις τέσσερις παραπάνω ιδιότητες- ο αλγόριθμος αποθηκεύει τη θέση του στη χρονοσειρά και τις τιμές των παραμέτρων D και ϑ και συνεχίζει μετο επόμενο σημείο του τρέχοντος υπερκύβου. Εάν βρεθεί κάποιο άλλο έγκυρο σημείο με καλύτερες τιμές για τιςπαραμέτρους D και ϑ χαρακτηρίζεται εκείνο το σημείο ως βέλτιστο και αποθηκεύονται οι νέες τιμές των εν λόγωπαραμέτρων. Εάν εξαντληθούν όλα τα σημεία του τρέχοντος υπερκύβου ο αλγόριθμος προχωρεί στην εξέταση τωνσημείων που ανήκουν στον επόμενο υπερκύβο της περιοχής αναζήτησης. Μετά τον τερματισμό της διαδικασίας ησυνάρτηση επιστρέφει τη θέση επί της χρονοσειράς του βέλτιστου σημείου που εντόπισε, ή την τιμή μηδέν εάν δενέχει βρει κανένα σημείο.

Η περιοχή του χώρου των φάσεων στην οποία ο αλγόριθμος θα αναζητήσει το βέλτιστο σημείο έχει ως κέντροτον υπερκύβο που περιέχει το ανακατασκευασμένο διάνυσμα ~Xold και ακτίνα R η τιμή της οποίας καθορίζεται από

Αθανάσιος Ι. Μάργαρης ([email protected]) Πανεπιστήμιο Μακεδονίας - Τμήμα Εφαρμοσμένης Πληροφορικής

Εκθέτες Lyapunov 22

την ελάχιστη επιτρεπτή απόσταση Dmin που έχει καθορισθεί από το χρήστη και το μήκος πλευράς ε των υπερκύβωντου πλέγματος. Ο αλγόριθμος υπολογισμού της ακτίνας R για χώρο εμβύθισης με διάσταση d = 2 και για διάφορεςτιμές της απόστασης Dmin παρουσιάζεται στο Σχήμα 10. Από το σχήμα αυτό δεν είναι δύσκολο να διαπιστώσεικανείς πως η ακτίνα R δίδεται από τη σχέση R = [Dmin/ε] + 1. Με τον τρόπο αυτό, ο αλγόριθμος θα αναζητήσεισημεία σε όλους τους υπερκύβους που απέχουν από τον κεντρικό υπερκύβο της περιοχής απόσταση ` ≤ R. Στηνειδική περίπωση κατά την οποία Dmin < ε η παραπάνω σχέση θα οδηγήσει σε τιμή ακτίνας R = 1 έτσι ώστε ναμην ληφθούν υπ΄ όψιν τα σημεία i της χρονοσειράς για τα οποία ισχύει η σχέση ‖ ~Xold − ~Xi‖ ≤ Dmin. Επομένωςη περίπτωση της πρώτης εικόνας του Σχήματος 10 δεν πρόκειται ποτέ να εμφανιστεί και η περιοχή αναζήτησης θαπεριέχει τουλάχιστον ένα ΄φλοιό΄ υπερκύβων που θα περιβάλλουν ομοιόμορφα τον κεντρικό υπερκύβο της περιοχήςαναζήτησης.

Σχήμα 10: Καθορισμός του μεγέθους της περιοχής αναζήτησης σε δισδιάστατο χώρο εμβύθισης πληρωμένο απόυπερκύβους μήκους πλευράς ε και για διάφορες τιμές της ελάχιστης απόστασης Dmin.

Είναι προφανές πως το πλήθος των υπερκύβων της περιοχής αναζήτησης για την κάθε διάσταση του χώρουεμβύθισης είναι ίσο με 2R+1 (το γεγονός αυτό αποδεικνύεται εύκολα καθώς σε κάθε διάσταση υπάρχουν R υπερκύβοιπριν τον κεντρικό υπερκύβο, R υπερκύβοι μετά τον κεντρικό υπερκύβο ενώ φυσικά θα πρέπει να καταμετρήσουμε καιτον ίδιο τον κεντρικό υπερκύβο). Επομένως για χώρο εμβύθισης d διαστάσεων η περιοχή αναζήτησης θα περιέχει(2R + 1)d υπερκύβους οι οποίοι θα προσπελαστούν από τον αλγόριθμο με τη σειρά με την οποία απεικονίζεται στοΣχήμα 11 για δισδιάστατο χώρο εμβύθισης και για τιμές ακτίνας R = 1, 2, 3, 4. Οι συντεταγμένες των υπερκύβωνπροσδιορίζονται από την εφαρμογή σε πραγματικό χρόνο και οι υπερκύβοι που προσδιορίζονται λαμβάνονται υπ΄ όψινμόνο όταν οι συντεταγμένες τους είναι έγκυρες, δηλαδή ανήκουν στην περιοχή τιμών [1, L] όπου L είναι η ανάλυσητου πλέγματος. Αντίθετα, εάν προκύψουν άκυροι υπερκύβοι με συντεταγμένες xi < 1 ή xi > L (i = 1, 2, 3, . . . , d)αυτοί δεν λαμβάνονται υπ΄ όψιν κατά την αναζήτηση του βέλτιστου σημείου. Η κατάσταση αυτή παρουσιάζεται στηντελευταία εικόνα του Σχήματος 11 όπου οι άκυροι υπερκύβοι είναι σχεδιασμένοι με σκούρο χρώμα. Σε αυτό τοσχήμα ο κεντρικός υπερκύβος που αντιστοιχεί στο ανακατασκευασμένο διάνυσμα ~Xold είναι σχεδιασμένος με μαύροχρώμα.

Μετά την αναλυτική παρουσίαση της διαδικασίας αναζήτησης του βέλτιστου σημείου bstpnt για δεδομένο ζεύγοςσημείων oldpnt και newpnt ας παραθέσουμε τον αλγόριθμο που υλοποιεί αυτή τη διαδικασία μαζί με την αναγκαίασε κάθε περίπτωση τεκμηρίωση.

Sun�rthsh Search: Input(oldpnt,newpnt),Output(bstpnt)

Η συνάρτηση επιστρέφει τη θέση του σημείου bstpnt που θα αντικαταστήσει το μη τροχιακό σημείο oldpnt καιnewpnt ή την τιμή μηδέν εάν δεν βρεθεί κατάλληλο σημείο.

• Δημιουργούνται τα ανακατασκευασμένα διανύσματα ~Xold και ~Xnew που αντιστοιχούν στα σημεία oldpnt και

Αθανάσιος Ι. Μάργαρης ([email protected]) Πανεπιστήμιο Μακεδονίας - Τμήμα Εφαρμοσμένης Πληροφορικής

Εκθέτες Lyapunov 23

Σχήμα 11: Η σειρά προσπέλασης των υπερκύβων περιοχής αναζήτησης ορισμένης σε δισδιάστατο χώρο εμβύθισηςκαι ακτίνας R = 1, 2, 3, 4.

newpnt και τα οποία ορίζονται ως

~Xold = {X1old, X

2old, , . . . , X

dold} = {z[oldpnt], z[oldpnt + τ ], . . . , z[oldpnt + (d− 1)τ ]}

~Xnew = {X1new, X2

new, . . . , Xdnew} = {z[newpnt], z[newpnt + τ ], . . . , z[newpnt + (d− 1)τ ]}

• Προσδιορίζονται οι συντεταγμένες του κεντρικού υπερκύβου της περιοχής αναζήτησης που περιέχει το ανακα-τασκευασμένο διάνυσμα ~Xold από τη σχέση

~Cold =([

Lz[oldpnt]−minV al

maxV al −minV al

],

[L

z[oldpnt + τ ]−minV al

maxV al −minV al

], . . . ,

[L

z[oldpnt + (d− 1)τ ]−minV al

maxV al −minV al

])

• Υπολογίζεται η Ευκλείδια απόσταση των ανακατασκευασμένων διανυσμάτων ~Xold και ~Xnew από τη σχέση

Dnewold =

√√√√d∑

i=1

(Xi

old −Xinew

)2

=

√√√√d∑

i=1

(z[oldpnt + (i− 1)τ ]− z[newpnt + (i− 1)τ ]

)2

• Υπολογίζεται η ακτίνα της περιοχής αναζήτησης

R =[minimum separation at displacement

hypercube side size

]+ 1 =

[dismin

ε

]+ 1

• Οι μεταβλητές που διατηρούν τη θέση του τρέχοντος βέλτιστου σημείου, την απόσταση Dbstold του ανακατα-

σκευασμένου διανύσματος του τρέχοντος σημείου ~Xbst από το διάνυσμα ~Xold και της γωνίας ϑ που σχηματί-ζεται από τα διανύσματα ~Xnew− ~Xold και ~Xbst− ~Xold τίθενται στις αρχικές τους τιμές που είναι οι bstpnt = 0,bstdst = maximum separation at displacement = dismax και ϑbst = maximum orientation error = ϑmax.Ο τρόπος ορισμού της γωνίας ϑbst και των διανυσμάτων ~Xold, ~Xnew και ~Xbst παρουσιάζεται αναλυτικά στοΣχήμα 12.

• Για κάθε υπερκύβο ~Ci (1 ≤ i ≤ (2R + 1)d)

Αθανάσιος Ι. Μάργαρης ([email protected]) Πανεπιστήμιο Μακεδονίας - Τμήμα Εφαρμοσμένης Πληροφορικής

Εκθέτες Lyapunov 24

– Υπολογίζονται οι συντεταγμένες του ~Ci = {c1i , c

2i , . . . , c

di }. Εάν κάποια συντεταγμένη cj

i (j = 1, 2, . . . , d)είναι εκτός του διαστήματος τιμών [1, L] ο υπερκύβος απορρίπτεται και η αναζήτηση συνεχίζεται στονεπόμενο υπερκύβο.

– Προσδιορίζεται η γραμμή T του πίνακα where που περιέχει τις συντεταγμένες του υπερκύβου ~Ci. Εάνο τρέχων υπερκύβων δεν υπάρχει στη βάση δεδομένων, αγνοείται και η αναζήτηση συνεχίζεται στονεπόμενο υπερκύβο.

– Ανακτάται η τιμή του στοιχείου datptr[T] που περιέχει τη θέση επί της χρονοσειράς του σημείου της πουτοποθετήθηκε τελευταίο στον υπερκύβο ~Ci. ΄Εχοντας ανακτήσει την τιμή αυτού του στοιχείου μπορούμενα προσδιορίσουμε τις τιμές όλων των σημείων της χρονοσειράς που έχουν τοποθετηθεί σε αυτόν τονυπερκύβο.

Σχήμα 12: Ο τρόπος ορισμού της γωνίας ϑbst και των διανυσμάτων ~Xold, ~Xnew και ~Xbst.

– Για κάθε σημείο k της χρονοσειράς που έχει τοποθετηθεί στον υπερκύβο ~Ci:

∗ Εάν ισχύει η σχέση fabs(k− oldpnt) < evolve το σημείο απορρίπτεται γιατί παραβιάζει τη συνθήκη(Α). Η αναζήτηση συνεχίζεται στο επόμενο σημείο του υπερκύβου ~Ci.

∗ Εάν ισχύει η σχέση fabs(K − datuse) < 2 ∗ evolve το σημείο απορρίπτεται γιατί παραβιάζει τησυνθήκη (Β). Η αναζήτηση συνεχίζεται στο επόμενο σημείο του υπερκύβου ~Ci.

∗ Δημιουργείται το ανακατασκευασμένο διάνυσμα

~Xk = {x1k, x2

k, . . . , xdk} = {z[k], z[k + τ ], . . . , z[k + (d− 1)τ ]}

που αντιστοιχεί στο σημείο z[k] της χρονοσειράς.

∗ Υπολογίζεται η Ευκλείδια απόσταση των ανακατασκευασμένων διανυσμάτων ~Xold και ~Xk από τησχέση

Dkold =

√√√√d∑

i=1

(Xi

old −Xik

)2

=

√√√√d∑

i=1

(z[oldpnt + (i− 1)τ ]− z[k + (i− 1)τ ]

)2

Εάν αυτή η απόσταση είναι μικρότερη από την ελάχιστη επιτρεπτή απόσταση Dmin και μεγαλύτερηή ίση από την προηγούμενη τιμή της, το σημείο απορρίπτεται γιατί παραβιάζει τη συνθήκη (Γ). Ηαναζήτηση συνεχίζεται στο επόμενο σημείο του υπερκύβου ~Ci.

Αθανάσιος Ι. Μάργαρης ([email protected]) Πανεπιστήμιο Μακεδονίας - Τμήμα Εφαρμοσμένης Πληροφορικής

Εκθέτες Lyapunov 25

∗ Υπολογίζεται η τιμή της παράστασης

Γ =d∑

i=1

(Xiold −Xi

k)(Xiold −Xi

new) =

=d∑

i=1

(z[oldpnt + (i− 1)τ ]− z[k + (i− 1)τ ])(z[oldpnt + (i− 1)τ ]− z[newpnt + (i− 1)τ ])

και από αυτή, η τιμή του συνημιτόνου της γωνίας ϑ από τη σχέση

λ = cos ϑ =∣∣∣∣

ΓDk

old Dnewold

∣∣∣∣ =

∣∣∣∣∣

d∑

i=1

(Xiold −Xi

k)(Xiold −Xi

new)

√√√√d∑

i=1

(Xi

old −Xik

)2

√√√√d∑

i=1

(Xi

old −Xinew

)2

∣∣∣∣∣

η οποία προκύπτει εύκολα από τη βασική γεωμετρία. Εάν η τιμή του συνημιτόνου που υπολογίζεται μετον παραπάνω τρόπο είναι μεγαλύτερη της μονάδας, λαμβάνει χώρα η αντικατάσταση λ = cos ϑ = 1.

∗ Υπολογίζεται η γωνία ϑ από τη σχέση

ϑ =180π

arccosλ ≈ 57.295827 cos−1 λ (σε μονάδες rad)

Εάν ισχύει η σχέση ϑ ≥ ϑbst - δηλαδή η γωνία ϑ βρεθεί μεγαλύτερη από την αμέσως προηγούμενητιμή της - και χρησιμοποιείται η συνθήκη (Δ), τότε το σημείο απορρίπτεται γιατί παραβιάζει την ενλόγω συνθήκη. Η αναζήτηση συνεχίζεται στο επόμενο σημείο του υπερκύβου ~Ci.

∗ Εάν η ροή του προγράμματος προσεγγίσει αυτό το σημείο, τότε το σημείο z[k] της χρονοσειράς είναιέγκυρο. Στην περίπτωση αυτή αποθηκεύουμε την τρέχουσα κατάσταση της εφαρμογής προχωρώνταςστις αναθέσεις τιμών bstpnt = k, bstdis = Dk

old και ϑbst = ϑ.

∗ Η αναζήτηση συνεχίζεται στο επόμενο σημείο του υπερκύβου ~Ci. Εάν εντοπιστεί σημείο που ναοδηγεί σε καλύτερες τιμές για τις παραμέτρους bstdis και ϑbst, ενώ προφανώς ικανοποιεί και τιςτέσσερις βασικές συνθήκες, τότε επιλέγεται αυτό ως το βέλτιστο σημείο και αποθηκεύεται η νέακατάσταση του συστήματος με τον τρόπο που παρουσιάσαμε προηγουμένως.

• Η αναζήτηση συνεχίζεται μέχρι να εξαντληθούν όλα τα σημεία όλων των υπερκύβων που περιλαμβάνονταιστην περιοχή αναζήτησης. Μετά την ολοκλήρωση της διαδικασίας η θέση του βέλτιστου σημείου θα βρίσκεταικαταχωρημένη στη μεταβλητή bstpnt ενώ αν δεν βρεθεί κανένα κατάλληλο σημείο η μεταβλητή αυτή θα διατηρείτην αρχική τιμή της πού είναι η μηδενική τιμή.

3.2 O upologismìc tou mègistou jetikoÔ ekjèthLyapunov

Μετά την αναλυτική περιγραφή του αλγορίθμου εύρεσης του κατάλληλου σημείου που θα αντικαταστήσει το μητροχιακό σημείο του τρέχοντος ζεύγους σημείων, ας δούμε τώρα πως αυτή η συνάρτηση χρησιμοποιείται για τονυπολογισμού του μέγιστου θετικού εκθέτη Lyapunov της θεωρούμενης χρονοσειράς. Μιλώντας γενικά, αυτή ηδιαδικασία αποτελείται από μία ακολουθία ορισμένων βημάτων, τα οποία σε γενικές γραμμές είναι τα ακόλουθα:

• Η εφαρμογή καλεί τη συνάρτηση Search για το ζεύγος σημείων oldpnt=newpnt=1 προκειμένου να λάβει τοεπόμενο σημείο. Σε αυτή την κλίση της Search δεν λαμβάνεται υπόψιν η τέταρτη συνθήκη που συσχετίζεταιμε τη γωνία του προσανατολισμού γιατί οι τροχιές δεν έχουν διαμορφωθεί ακόμη (βρισκόμαστε στην αρχήτης διαδικασίας). Εάν η Search δεν επιστρέψει κανένα σημείο αρχίζει να καλείται συνεχώς με ολοένα καιδιπλασιαζόμενη μέγιστη επιτρεπτή απόσταση dismax μέχρι τελικά να επιστρέψει μία μη μηδενική τιμή πουκαθορίζει το υπ΄ αριθμόν bstpnt σημείο της χρονοσειράς. Στην περίπτωση αυτή κάνουμε την αντικατάστασηnewpnt=bstpnt.

• Οι τροχιές που αντιστοιχούν στα δύο αυτά σημεία εξελίσσονται στο χρόνο θέτοντας oldpnt=oldpnt+tEvol καιnewpnt=newpnt+tEvol όπου tEvol είναι η τιμή της παραμέτρου της χρονικής προώθησης (evolution time).Η εφαρμογή επίσης καταγράφει τις τιμές των προηγούμενων σημείων προκειμένου να σχεδιάσει τη χρονικήεξέλιξη των τροχιών του συστήματος στην οθόνη του υπολογιστή του χρήστη.

Αθανάσιος Ι. Μάργαρης ([email protected]) Πανεπιστήμιο Μακεδονίας - Τμήμα Εφαρμοσμένης Πληροφορικής

Εκθέτες Lyapunov 26

• Δημιουργούνται τα ανακατασκευασμένα διανύσματα

~Xold = {X1old, X

2old, , . . . , X

dold} = {z[oldpnt], z[oldpnt + τ ], . . . , z[oldpnt + (d− 1)τ ]}

~Xnew = {X1new, X2

new, . . . , Xdnew} = {z[newpnt], z[newpnt + τ ], . . . , z[newpnt + (d− 1)τ ]}

και υπολογίζεται η μεταξύ τους απόσταση

Dnewold = ‖ ~Xold − ~Xnew‖ =

√√√√d∑

i=1

(Xi

old −Xinew

)2

=

√√√√d∑

i=1

(z[oldpnt + (i− 1)τ ]− z[newpnt + (i− 1)τ ]

)2

Εάν αυτή η απόσταση είναι μικρότερη από το ένα δέκατο της ελάχιστης επιτρεπτής απόστασης dismin προχω-ρούμε στην ανάθεση τιμής Dnew

old = 0.1 dismin.

• Αυξάνουμε κατά μία μονάδα το πλήθος M των αντικαταστάσεων που έχουν πραγματοποιηθεί και υπολογίζουμετην τρέχουσα τιμή του εκθέτη Lyapunov από την εξίσωση

zLyap =log(disnew/disold)

tEval ·M · tStep · log(2.0)

όπου disold είναι η απόσταση ανάμεσα στο προηγούμενο ζεύγος σημείων και tStep η τιμή του χρονικούβήματος μεταβολής (time step).

• Εάν ισχύει η σχέση disnew < dismax αυτό σημαίνει πως τα δύο σημεία βρίσκονται ακόμη αρκετά κοντά το έναστο άλλο και δεν χρειάζεται κάποια αντικατάσταση. Διαφορετικά καλούμε τη συνάρτηση Search προκειμένουνα εντοπίσουμε το επόμενο σημείο - στο στάδιο αυτό οι δύο τροχιές έχουν εξελιχθεί αρκετά και για το λόγοαυτό η συνάρτηση Search χρησιμοποιεί για τον εντοπισμό του τέταρτου σημείου και την τέταρτη συνθήκησύμφωνα με την οποία το ευθύγραμμο τμήμα που ορίζεται από το τρέχον ζεύγος των δύο σημείων θα πρέπεινα έχει όσο το δυνατόν τον ίδιο προσανατολισμό στο χώρο όταν το ένα από τα δύο σημεία αντικαθίσταται.

• Εάν μετά από κάποια αντικατάσταση διαπιστώσουμε πως oldpnt > lastpnt όπου lastpnt = N−(d−1)τ−tEvolείναι η θέση του τελευταίου σημείου της τροχιάς που χρησιμοποιείται, αυτό σημαίνει πως τα σημεία τηςχρονοσειράς έχουν εξαντληθεί και η διαδικασία υπολογισμού έχει ολοκληρωθεί. Αντίθετα εάν διαπιστώσουμεότι newpnt > lastpnt - κάτι που χαρακτηρίζει τις προβληματικές χρονοσειρές δεδομένων - προχωρούμε στηνανάθεση τιμής oldpnt = oldpnt− tEvol και ξεκινούμε τη διαδικασία πάλι από την αρχή.

4 H efarmog  WOLF

Η μεγάλη δυσκολία που χαρακτηρίζει τη χρήση των εφαρμογών BASGEN και FET και οι αρκετοί περιορισμοί πουυφίστανται όσον αφορά τον τρόπο λειτουργίας της κατέστησαν επιτακτική την ανάγκη υλοποίησης μιας μοντέρναςεφαρμογής η οποία θα προσφέρει στο χρήστη ένα μεγάλο εύρος δυνατοτήτων καθώς και ένα προηγμένο περιβάλλοναλληλεπίδρασης που θα εκμεταλλεύεται τις δυνατότητες του λειτουργικού συστήματος των Windows. Η εφαρμογήαυτή φέρει το όνομα Wolf προς τιμήν του εμπνευστή του αλγορίθμου του αριθμητικού υπολογισμού του μέγιστουθετικού εκθέτη Lyapunov από τα πειραματικά δεδομένα και τα βασικά της χαρακτηριστικά είναι τα ακόλουθα:

• Σε αντίθεση με την εφαρμογή BASGEN που δεσμεύει τις αναγκαίες περιοχές μνήμης με στατικό τρόπο καιεπομένως θέτει περιορισμούς όσον αφορά τις μέγιστες τιμές των παραμέτρων της εφαρμογής, η εφαρμογή Wolfδεσμεύει δυναμικά τη μνήμη που χρειάζεται και επομένως οι παραπάνω περιορισμοί δεν υφίστανται.

• Στις εφαρμογές FET και BASGEN τα ονόματα των αρχείων ήταν συγκεκριμένα και δεν ήταν δυνατή ητροποποίησή τους από το χρήστη - το αρχείο δεδομένων έπρεπε να ονομάζεται data, το δυαδικό αρχείο πουδημιουργούνταν από την εφαρμογή BASGEN ονομαζόταν t1, το αρχείο της βάσης δεδομένων έφερε το όνομαdatabase, ενώ το αρχείο που προέκυπτε από την εφαρμογή FET ήταν πάντα το FET.OUT. Με άλλα λόγιαεάν ο χρήστης ήθελε να χρησιμοποιήσει κάποιο αρχείο δεδομένων έπρεπε πρώτα να το μετονομάσει σε dataενώ εάν ήθελε να κρατήσει τα περιεχόμενα κάποιου αρχείου database θα έπρεπε να το αποθηκεύσει με άλλοόνομα έτσι ώστε να μην επανεγραφεί κατά την επόμενη εκτέλεση της εφαρμογής BASGEN. Αντίθετα στηνεφαρμογή Wolf ο χρήστης μπορεί να χρησιμοποιήσει οποιαδήποτε αρχεία επιθυμεί χωρίς να χρειάζεται ναμετονομάσει ή να αποθηκεύσει τίποτε. Η εφαρμογή υποστηρίζει τρεις διαφορετικούς τύπους αρχείων: (α)αρχεία DAT που περιέχουν τα δεδομένα της χρονοσειράς σε ASCII format και τα οποία είναι αποθηκευμέναέτσι ώστε η κάθε γραμμή να περιλαμβάνει μια και μοναδική προσημασμένη τιμή δεδομένου (β) αρχεία BINπου δημιουργούνται από την εφαρμογή και είναι τα δυαδικά ισοδύναμα των αρχείων DAT και αρχεία DBF πουπεριέχουν τα περιεχόμενα της βάσης δεδομένων που δημιουργούνται από την εφαρμογή BASGEN.

Αθανάσιος Ι. Μάργαρης ([email protected]) Πανεπιστήμιο Μακεδονίας - Τμήμα Εφαρμοσμένης Πληροφορικής

Εκθέτες Lyapunov 27

• Αν και ο υπολογισμός του εκθέτη Lyapunov μπορεί αν γίνει απευθείας από τα περιεχόμενα των αρχείωνDAT εν τούτοις για λόγους συμβατότητας ο χρήστης μπορεί να δημιουργήσει το ισοδύναμο αρχείο BIN καιστη συνέχεια να το χρησιμοποιήσει στην παραπάνω διαδικασία υπολογισμού - η εφαρμογή FET απαιτούσε τηχρήση του δυαδικού αρχείου. Η δημιουργία της βάσης δεδομένων μπορεί να γίνει είτε σε πραγματικό χρόνο είτεδιαβάζοντας τα περιεχόμενά της από κάποιο αρχείο DBF. Η τρέχουσα έκδοση της εφαρμογής δεν διασφαλίζειτη συνέπεια ανάμεσα στο αρχείο της χρονοσειράς και σε αυτό που περιέχει τη βάση δεδομένων - για παράδειγμαο χρήστης μπορεί να φορτώσει τα δεδομένα του αρχείου HENON.DAT και να υπολογίσει τον εκθέτη Lyapunovχρησιμοποιώντας τη βάση LORENZ.DBF - και η σωστή λειτουργία της απαιτεί την προσοχή του χρήστη όσοναφορά αυτό το θέμα που θα επιλυθεί στο μέλλον. Ανάλογα με τον τύπο του αρχείου (DAT ή BIN) και τηνπηγή των δεδομένων της βάσης (δημιουργία σε πραγματικό χρόνο από τα δεδομένα ή ανάγνωση από αρχείο) ηεφαρμογή ενεργοποιεί και απενεργοποιεί με τον κατάλληλο τρόπο τα διάφορα κουμπιά του κεντρικού πλαισίουδιαλόγου έτσι ώστε να μην είναι δυνατή για παράδειγμα η δημιουργία της βάσης δεδομένων όταν κάποια άλληβάση έχει ήδη διαβαστεί από κάποιο αρχείο ή η δημιουργία του δυαδικού αρχείου τη στιγμή που κάποιο άλλοαρχείο του ιδίου τύπου έχει ήδη φορτωθεί στη μνήμη.

• Η εφαρμογή επιτρέπει την προεπισκόπηση των δεδομένων της τρέχουσας χρονοσειράς καθώς και τη γραφικήτης παράσταση έτσι ώστε ο χρήστης να μπορεί να μελετήσει τη μορφή της πριν προχωρήσει στη διαδικασίαυπολογισμού του μέγιστου θετικού εκθέτη Lyapunov. Η δυνατότητα αυτή είναι πολύ σημαντική καθώς εάν οχρήστης από τη μελέτη της γραφικής παράστασης διαπιστώσει πως η θεωρούμενη χρονοσειρά είναι περιοδική,εγκαταλείπει αμέσως τη διάδικασία καθώς το σύστημα δεν είναι χαοτικό αλλά περιοδικό και επομένος ο μέ-γιστος εκθέτης Lyapunov δεν μπορεί να είναι θετικός. Η εφαρμογή επιτρέπει ακόμη την προεπισκόπηση τουπεριεχομένου των πινάκων της βάσης δεδομένων αρχικοποιώντας - μετά τη δημιουργία ή την ανάγνωση τηςβάσης - τα δύο πλαίσια λίστας που βρίσκονται στο αριστερό μέρος του κεντρικού παραθύρου.

• Ο καθορισμός των παραμέτρων της διαδικασίας γίνεται πολύ εύκολα με την βοήθεια των πλαισίων ελέγχουπου βρίσκονται στο πάνω μέρος του κεντρικού πλαισίου διαλόγου. Η εφαρμογή δεν επιτρέπει τη μεταβολήτης τιμής των παραμέτρων όταν κάποια βάση έχει φορτωθεί στην κεντρική μνήμη έτσι ώστε να αποφευχθούνπροβλήματα ασυμβατότητας όσον αφορά τα όρια των βρόγχων επανάληψης του αλγορίθμου σε σχέση με τιςδιαστάσεις των πινάκων της βάσης. Η εκκίνηση της διαδικασίας υπολογισμού του εκθέτη Lyapunov απαιτείτην ύπαρξη τόσο κάποιας χρονοσειράς όσο και κάποιας βάσης δεδομένων - χωρίς ωστόσο να διασφαλίζεταιη συμβατότητα ανάμεσά τους - ενώ η όλη διαδικασία πραγματοποιείται από ένα ξεχωριστό θυγατρικό threadέτσι ώστε να είναι δυνατή η διακοπή της λειτουργίας της εάν κάτι τέτοιο είναι επιθυμητό.

• Κατά τη διάρκεια εκτέλεσης της διαδικασίας υπολογισμού του εκθέτη Lyapunov η εφαρμογή σχεδιάζει στηνκεντρική οθόνη του πλαισίου διαλόγου τη χρονική εξέλιξη των τμημάτων τροχιών που αντιστοιχούν στο τρέχονζεύγος σημείων. Με τον τρόπο αυτό ο χρήστης είναι σε θέση να διαπιστώσει εάν το σύστημα λειτουργείμε τον επιθυμητό τρόπο. Η εφαρμογή υποστηρίζει επίσης την αυξομείωση της ταχύτητας προσομοίωσηςδια της χρήσεως του κατακόρυφου slider control, διαδικασία που είναι εξαιρετικά χρήσιμη εάν η εφαρμογήχρησιμοποιείται για εκπαιδευτικούς σκοπούς. Κατά τη διάρκεια της λειτουργίας της η εφαρμογή εκτυπώνειστο άνω μέρος της περιοχής σχεδίασης τη θέση του δείγματος που εξετάζεται, τις τιμές της παλαιάς καιτης καινούριας απόστασης καθώς και την τρέχουσα τιμή του εκθέτη Lyapunov. Εάν ο χρήστης θέλει νααπενεργοποιήσει την ενημέρωση της περιοχής σχεδίασης - προκειμένου να επιταχύνει την όλη διαδικασία -μπορεί να το κάνει χρησιμοποιωντας το check box ’Update Graph’ που βρίσκεται ακριβώς δεξιά από τοπλαίσιο κειμένου που εμφανίζει τις τρέχουσες τιμές των παραμέτρων της διαδικασίας.

Η βασική λειτουργικότητα της εφαρμογής υπολογισμού του μέγιστου θετικού εκθέτη Lyapunov παρουσιάζεταιστα Σχήματα 13, 14 και 15. Στο Σχήμα 13 ο χρήστης έχει ήδη ανοίξει ένα αρχείο δεδομένων τύπου DAT καιετοιμάζεται να το αποθηκεύσει σε δυαδική μορφή - δηλαδή σε αρχείο τύπου BIN - για το λόγο αυτό έχει χρησιμο-ποιήσει το κουμπί εντολής Create Binary File προκειμένου να καθορίσει το όνομα του νέου αρχείου. Στο Σχήμα14 ο χρήστης έχει φορτώσει ένα αρχείο δεδομένων τύπου DAT ή τύπου BIN και έχει δημιουργήσει τη βάση δεδο-μένων της εφαρμογής χρησιμοποιώντας το κουμπί εντολής Generate Database. Στην περίπτωση αυτή η εφαρμογήδημιουργεί τη βάση δια της χρήσεως του αλγορίθμου που περιγράψαμε σε προηγούμενη ενότητα και στη συνέχειααρχικοποιεί τα δύο πλαίσια λίστας που βρίσκονται στο αριστερό μέρος του κεντρικού πλαισίου διαλόγου. Από τα δύοαυτά πλαίσια το πρώτο περιέχει λεπτομέρειες που αφορούν τα χαρακτηριστικά της βάσης - όπως είναι για παράδειγμαη μέγιστη και η ελάχιστη τιμή των δεδομένων της τρέχουσας χρονοσειράς καθώς και το μήκος πλευράς των υπερκύ-βων του πλέγματος - ενώ το δεύτερο πλαίσιο λίστας περιέχει τα δεδομένα των πινάκων της βάσης. Ο χρήστης έχειτη δυνατότητα να επιλέξει τον πίνακα του οποίου τα δεδομένα επιθυμεί να εμφανίσει χρησιμοποιώντας τα τέσσεραradio buttons που βρίσκονται κάτω από το πλαίσιο λίστας. Παρόμοια είναι και η εικόνα που εμφανίζεται όταν οχρήστης δεν δημιουργήσει τη βάση σε πραγματικό χρόνο αλλά διαβάσει τα περιεχόμενά της από κάποιο αρχείου τουσυστήματος τύπου DBF.

Αθανάσιος Ι. Μάργαρης ([email protected]) Πανεπιστήμιο Μακεδονίας - Τμήμα Εφαρμοσμένης Πληροφορικής

Εκθέτες Lyapunov 28

Σχήμα 13: Το κεντρικό πλαίσιο διαλόγου της εφαρμογής Wolf.

Το τελευταίο ενδιαφέρον χαρακτηριστικό της τρέχουσας έκδοσης της εφαρμογής είναι η γραφική απεικόνισητης χρονικής εξέλιξης των γειτονικών τροχιών που δίνει στο χρήστη τη δυνατότητα να εξετάσει αν η εφαρμογήσυμπεριφέρεται με τον επιθυμητό τρόπο. Στο παράδειγμα του Σχήματος 15, το τρέχον σημείο της χρονοσειράςπου εξετάζεται είναι το σημείο 105 ενώ ο πλησιέστερος γείτονάς του υπό την έννοια που παρουσιάσαμε προηγου-μένως είναι το σημείο 132. Εάν σχεδιάσουμε τις τροχιές που αντιστοιχούν σε αυτά τα δύο σημεία αυτές είναι οι{100, 101, 102, 103, 104, 105} και {127, 128, 129, 130, 131, 132} αντίστοιχα. Από το σχήμα παρατηρούμε πως για τοχρονικό διάστημα που αντιστοιχεί στις δύο τροχιές αυτές δεν έχουν απομακρυνθεί σχεδόν καθόλου και κινούνταιπαράλληλα. Στην περίπτωση αυτή και σύμφωνα με τα όσα αναφέραμε στην αντίστοιχη ενότητα, κανένα από τα δύοσημεία δεν αντικαθίσταται και η χρονική εξέλιξη της τροχιάς χρησιμοποιεί αυτά τα δύο σημεία. Χρησιμοποιώνταςαυτό το γραφικό περιβάλλον έχουμε τη δυνατότητα να δούμε τον τρόπο της χρονικής εξέλιξης του συστήματος σεκάθε δεδομένη χρονική στιγμή.

5 Sumper�smataΤο αντικείμενο αυτής της εργασίας ήταν η αναλυτική μελέτη του τρόπου σχεδίασης και λειτουργίας του αλγορίθμουτου Wolf για τον υπολογισμό του μέγιστου θετικού εκθέτη Lyapunov άγνωστης χρονοσειράς δεδομένων και ηυλοποίηση μιας μοντέρνας εφαρμογής που επιτρέπει την πραγματοποίηση αυτής της διαδικασίας υπολογισμού μέσααπό ένα εύχρηστο και φιλικό περιβάλλον. Η τρέχουσα έκδοση της εφαρμογής υποστηρίζει πλήρως το σύνολο τωνδυνατοτήτων που προσφέρουν οι εφαρμογές BASGEN και FET που υλοποιήθηκαν από τον Wolf προσφέρονταςπαράλληλα και νέες δυνατότητες όπως η χρήση οποιασδήποτε τιμής για τις παραμέτρους του αλγορίθμου και η πολύμεγαλύτερη ταχύτητα λόγω της βελτιωμένης υλοποίησης του γραφικού περιβάλλοντος. Υπάρχουν ωστόσο αρκετέςβελτιώσεις οι οποίες μπορούν να πραγματοποιηθούν οι πιο σημαντικές από τις οποίες είναι οι ακόλουθες:

• ΄Ελεγχος της συμβατότητας της βάσης δεδομένων με το αρχείο της χρονοσειράς με τη βοήθεια πληροφοριώνπου προσδιορίζουν πλήρως το αρχείο δεδομένων όπως είναι το μέγεθός του, η ημερομηνία δημιουργίας τουκαθώς και χαρακτηριστικά παρόμοιου τύπου.

• Δημιουργία αρχείων καταγραφής που θα διατηρούν πληροφορίες που επιλέγονται από το χρήστη όπως είναιοι διαδοχικές τιμές των εκθετών Lyapunov, οι συντεταγμένες των υπερκύβων που περιέχουν τα σημεία τηςχρονοσειράς, κ.λ.π.

Αθανάσιος Ι. Μάργαρης ([email protected]) Πανεπιστήμιο Μακεδονίας - Τμήμα Εφαρμοσμένης Πληροφορικής

Εκθέτες Lyapunov 29

Σχήμα 14: Τα περιεχόμενα της βάσης δεδομένων της εφαρμογής Wolf.

• Επαννεγγραφή του πηγαίου κώδικα με μοντέρνες τεχνικές προγραμματισμού και χωρίς τη χρήση δομών labelκαι goto που τον καταστούν δυσνόητο και δυσανάγνωστο. Αυτή η διαδικασία είναι αναγκαία προκειμένου σεμεταγενέστερο στάδιο της διαδικασίας να λάβει χώρα η παραλληλοποίηση του αλγορίθμου δια της χρήσεωςτων κατάλληλων βιβλιοθηκών.

Αθανάσιος Ι. Μάργαρης ([email protected]) Πανεπιστήμιο Μακεδονίας - Τμήμα Εφαρμοσμένης Πληροφορικής

Εκθέτες Lyapunov 30

Σχήμα 15: Το περιβάλλον της γραφικής απεικόνισης της χρονικής εξέλιξης των γειτονικών τροχιών της εφαρμογήςWolf.

Αθανάσιος Ι. Μάργαρης ([email protected]) Πανεπιστήμιο Μακεδονίας - Τμήμα Εφαρμοσμένης Πληροφορικής


Recommended