Ανάπτυξη λογισμικού για τη διενέργεια υπολογιστικών μελετών

Σχετικά έγγραφα
ΑΝΑΠΤΥΞΗ ΛΟΓΙΣΜΙΚΟΥ ΓΙΑ ΤΗ ΔΙΕΝΕΡΓΕΙΑ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΜΕΛΕΤΩΝ

Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού

Διαδικασιακός Προγραμματισμός

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Σχεδίαση Βάσεων Δεδομένων

Σύντοµο Εγχειρίδιο Χρήσης. του Λογισµικού Στατιστικής Επεξεργασίας. SPSS for Windows v. 8.0

ΠΛΗΡΟΦΟΡΙΚΗ Ι Εργαστήριο 1 MATLAB ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στο MATLAB και στο Octave

Bubble Hack Οπτικοποίηση του αλγορίθμου ταξινόμησης Bubble Sort στο Scratch

Διαχείριση Βάσης Δεδομένων (dbadmin)

Γ) Χρήση Λογισμικού για την υλοποίηση πρακτικών εφαρμογών της Ασαφούς Λογικής

«Οδηγίες χρήσης εφαρμογής Ενιαίου Συστήματος Πληρωμών»

Browsers. Λειτουργικότητα και Παραμετροποίηση

Παράλληλος προγραμματισμός περιστροφικών αλγορίθμων εξωτερικών σημείων τύπου simplex ΠΛΟΣΚΑΣ ΝΙΚΟΛΑΟΣ

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία. Εργαστήριο 4 ο : MATLAB

Εισ. Στην ΠΛΗΡΟΦΟΡΙΚΗ. Διάλεξη 7 η. Βασίλης Στεφανής

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΛΗΡΟΦΟΡΙΑΚΟΥ ΣΥΣΤΗΜΑΤΟΣ (ΟΠΣ) ΓΙΑ ΤΗΝ ΠΡΟΓΡΑΜΜΑΤΙΚΗ ΠΕΡΙΟΔΟ ΣΕΣ ΕΝΟΤΗΤΑ «ΕΙΣΡΟΕΣ»

Ενότητα. Σχεδίαση Βάσεων Δεδομένων

Εργαστηριακός Οδηγός. Βάσεις Δεδομένων της Γ' Τάξης ΕΠΑΛ

ΜΑΘΗΜΑ: Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ. 1 η ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

Δρ. Σταύρος Καραθανάσης

Εξαγωγή Οικονοµικών Αναφορών (Ισολογισµός, Αποτελέσµατα Χρήσης, Λογαριασµοί Γενικής Εκµετάλλευσης) στην Εφαρµογή Ms Excel

Εισαγωγή στην Αριθμητική Ανάλυση

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ Dcad 1.0

1 η Εργαστηριακή Άσκηση MATLAB Εισαγωγή

Αικατερίνη Καμπάση, PhD. Τμήμα Προστασίας και Συντήρησης Πολιτισμικής Κληρονομιάς Α.Τ.Ε.Ι. Ιονίων Νήσων

Διαγραφή Επιλέγετε Διαγραφή για να διαγράψετε μία ήδη υπάρχουσα διαδικασία εισαγωγής ASCII

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Pylon Entry. Πόροι. Στη διαδικασία αυτή περιγράφεται η Δημιουργία- Μεταβολή-Διαγραφή Αναζήτηση Πόρων

Θέματα Προγραμματισμού Η/Υ

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access...9. Κεφάλαιο 2 Χειρισμός πινάκων... 25

ΠΑΡΑΔΟΤΕΟ 4. ΕΚΠΑΙΔΕΥΣΗ ΧΡΗΣΤΩΝ

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

Εισαγωγή «Singular M.I.S I».

Φύλλο Εργασίας Μαθητή Τίτλος: Γίνομαι Ερευνητής/Ερευνήτρια

Εισαγωγή Κεφάλαιο 1: Εγκατάσταση της Access Κεφάλαιο 2: Βάσεις δεδομένων και δομικά στοιχεία της Access

Πλοήγηση και Αναζήτηση

ΠΕΡΙΕΧΟΜΕΝΑ. Μονοδιάστατοι πίνακες Πότε πρέπει να χρησιμοποιούνται πίνακες Πολυδιάστατοι πίνακες Τυπικές επεξεργασίες πινάκων

Oικονομικές και Mαθηματικές Eφαρμογές

Επιχειρησιακή Έρευνα

Εισαγωγή στην Access 2007

Προγραμματισμός ΙI (Θ)

8 Τεχνικός Εφαρμογών Πληροφορικής με Πολυμέσα

Βιωματικό εργαστήριο ηλεκτρονικών υπολογιστών. Οργάνωση εκπαιδευτικού υλικού με Η/Υ από δραστηριότητες στο Δημοτικό και στο Νηπιαγωγείο.

Mendeley - εισαγωγή βιβλιογραφικών παραπομπών στον κειμενογράφο

Π.Μ.. ΣΜΖΜΑΣΟ ΠΛΖΡΟΦΟΡΗΚΖ ΓΗΠΛΧΜΑΣΗΚΖ ΔΡΓΑΗΑ. Υπνινγηζηηθή ζύγθξηζε ησλ αιγνξίζκσλ Heap Sort θαη Weak Heap Sort. Βαζηιεία Φνξκόδε Α.Μ.

Σχεδιασμός εκτυπώσεων ERG

Δομές Δεδομένων και Αλγόριθμοι

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΛΗΡΟΦΟΡΙΑΚΟΥ ΣΥΣΤΗΜΑΤΟΣ (ΟΠΣ) ΓΙΑ ΤΗΝ ΠΡΟΓΡΑΜΜΑΤΙΚΗ ΠΕΡΙΟΔΟ ΣΕΣ

2. Εισαγωγή Δεδομένων σε Σχεσιακή Βάση Δεδομένων

Visual Flowchart Γενικά

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο

Λίγα λόγια από το συγγραφέα Κεφάλαιο 1: Βάσεις δεδομένων και Microsoft Access Κεφάλαιο 2: Microsoft Access

ΚΕΦΑΛΑΙΟ 5. Matlab GUI για FWSVM και Global SVM

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων

Αλγόριθμοι Ταξινόμησης Bubble Sort Quick Sort. Αντρέας Δημοσθένους Καθηγητής Πληροφορικής Ολυμπιάδα 2012

Μέρος Α Περιβάλλον Εργασίας Windows Εργαστηριακή Άσκηση 1 Το Γραφικό Περιβάλλον του Υπολογιστή... 21

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

Εγχειρίδιο χρήσης για τον φοιτητή

Πληροφορική Γυμνασίου. Δρ. Κοτίνη Ισαβέλλα Σχ. Σύμβουλος Πληροφορικής Πέλλας, Ημαθίας και Πιερίας

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

Ανάλυση, Στατιστική Επεξεργασία και Παρουσίαση Δεδομένων με χρήση Ανοικτών Λογισμικών Δρ. Φίλιππος Σοφός

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

Πληροφορική 2. Δομές δεδομένων και αρχείων

Είσοδος. Καλωσορίσατε στο Ενιαίο Σύστημα Πληρωμών Δαπανών Ηλεκτρονικών Υπηρεσιών.

Ο ΗΓΙΕΣ ΣΥΜΠΛΗΡΩΣΗΣ ΤΗΣ ΦΟΡΜΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΥΠΟΒΟΛΗΣ

1. Εισαγωγή στο ΟΠΣ - ΠΔΕ

Εργαστήριο «Βάσεις Οικολογικών Δεδομένων και Εφαρμογές»

Στις παρακάτω οδηγίες αναλύεται η διαδικασία εισαγωγής δεδομένων μέσω του εργαλείου FastImport.

Εισαγωγή στο περιβάλλον Code::Blocks

Εκπαιδευτικό Εργαλείο Κανονικοποίησης

ΔΙΑΧΕΙΡΙΣΗ ΕΡΓΑΣΙΩΝ ΔΙ.ΑΠ. ΕΠΕΚΤΑΣΗ ΕΦΑΡΜΟΓΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΕΡΓΩΝ & ΠΛΗΡΩΜΩΝ


4.1 Άνοιγμα υπάρχοντος βιβλίου εργασίας

Πληροφορική 2. Αλγόριθμοι

Προγραμματισμός I (Θ)

Προγραµµατιστικές Τεχνικές

ΤΕΛΙΚΟ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ

Συστήματα Αναμονής (Queuing Systems)

ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΕΙΣ

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΛΗΡΟΦΟΡΙΑΚΟΥ ΣΥΣΤΗΜΑΤΟΣ (ΟΠΣ) ΓΙΑ ΤΗΝ ΠΡΟΓΡΑΜΜΑΤΙΚΗ ΠΕΡΙΟΔΟ ΣΕΣ

Ενημέρωση αλλαγών στην αξιολόγηση ΟΠΣ_ΕΣΠΑ Εγκατάσταση στην Παραγωγή: 13/9/2010

Αντικειμενοστρεφής Προγραμματισμός

04. Μορφοποίηση περιεχομένων σχεδίου & σύνθετα εργαλεία σχεδίασης

Οδηγίες Για Τη Δημιουργία Ψηφιακής Υπογραφής

Περιεχόμενα. Περιβάλλον ηλεκτρονικού υπολογιστή...9 Επιφάνεια εργασίας...12 Διαχείριση αρχείων...15 Ιοί Η/Υ...21 Διαχείριση εκτυπώσεων...

Ευ ομή. Εγχειρίδιο χρήσης του περιβάλλοντος LT125-dp

Η εφαρµογή xsortlab. Οπτικός τρόπος ταξινόµησης

Οδηγίες Χρήσης της εφαρμογής Class-Web

Ηλεκτρονική υποβολή εντύπου Ε5 Αναγγελία Οικειοθελούς Αποχώρησης

ΟΔΗΓΙΕΣ ΕΙΣΑΓΩΓΗΣ ΚΑΤΑΛΟΓΟΥ ΥΠΟΧΡΕΩΝ ΑΠΟ ΑΡΧΕΙΟ EXCEL

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

Εγχειρίδιο Οδηγιών. BrainStorm. Διαχείριση Πινάκων. Εισαγωγή, Μεταβολή, Διαγραφή Κατάταξη, Εντοπισμός Εγγραφών

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΠΑΝΕΛΛΑΔΙΚΩΝ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

Πολυτεχνείο Κρήτης Διεύθυνση Τηλεπικοινωνιών, Δικτύων και Υπολογιστικής Υποδομής Τμήμα Εκπαιδευτικής Υπολογιστικής Υποδομής. Υπηρεσία Ερωτηματολογίου

EBSCOhost Research Databases

Πως θα κατασκευάσω το πρώτο πρόγραμμα;

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

ΟΜΑΔΑ Ε ΓΕΩΡΓΙΟΥ ΦΩΤΕΙΝΗ ΗΛΙΟΥΔΗ ΑΦΡΟΔΙΤΗ ΜΕΤΑΛΛΙΔΟΥ ΧΡΥΣΗ ΝΙΖΑΜΗΣ ΑΛΕΞΑΝΔΡΟΣ ΤΖΗΚΑΛΑΓΙΑΣ ΑΝΔΡΕΑΣ ΤΡΙΓΚΑΣ ΑΓΓΕΛΟΣ

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΠΕΛΑΤΩΝ ELTA Courier. Ιούνιος ELTA Courier Διεύθυνση Πληροφορικής

Transcript:

Ανάπτυξη λογισμικού για τη διενέργεια υπολογιστικών μελετών Πλόσκας Νικόλαος, Σαμαράς Νικόλαος Πανεπιστήμιο Μακεδονίας, Τμήμα Εφαρμοσμένης Πληροφορικής, Εγνατία 156 54006 Θεσσαλονίκη, E-mail: it04123@uom.gr, samaras@uom.gr Abstract Η διερεύνηση της υπολογιστικής συμπεριφοράς των αλγορίθμων αποτελεί ένα από τα πιο θεμελιώδη ζητήματα στην επιστήμη της πληροφορικής. Η επιστημονική έρευνα στο γνωστικό αντικείμενο των αλγορίθμων έχει να κάνει με την ανάπτυξη νέων αλγορίθμων ή με τη βελτίωση ήδη υπαρχόντων. Ωστόσο, ένα λογισμικό που να διενεργεί με κάποιο αυτοματοποιημένο τρόπο υπολογιστικές μελέτες μεταξύ διαφορετικών αλγορίθμων και να εξάγει αναφορές αποτελεσμάτων δεν υπάρχει στη βιβλιογραφία. Στόχος αυτής της εργασίας είναι να αντιμετωπίσει αυτό το κενό. Έχει αναπτυχθεί μία εφαρμογή σε Matlab, η οποία παρέχει τη δυνατότητα στο χρήστη να συγκρίνει διαφορετικούς αλγόριθμους μεταξύ τους και να εξάγει μία εκτενή αναφορά με αριθμητικά δεδομένα, αλλά και γραφικές παραστάσεις. Λέξεις κλειδιά: Αλγόριθμοι, Υπολογιστική Μελέτη, Λογισμικό, Σύγκριση αλγορίθμων, Matlab 1. Εισαγωγή Η ανάπτυξη νέων αλγορίθμων ή η βελτίωση ήδη υπαρχόντων ήταν πάντοτε στο επίκεντρο στην επιστήμη της πληροφορικής. Κάθε φορά που αναπτύσσεται ένας νέος αλγόριθμος προκύπτει η ανάγκη της σύγκρισής του με τους ήδη υπάρχοντες. Η διαδικασία αυτή αναφέρεται ως υπολογιστική μελέτη και είναι μια χρονοβόρα και επίπονη διαδικασία, καθώς πρέπει να ληφθούν υπόψιν πολλοί παράμετροι, οι οποίοι είναι καταλυτικοί για την εξαγωγή ασφαλών συμπερασμάτων σχετικά με την υπολογιστική συμπεριφορά των αλγορίθμων. Πολλές εργασίες έχουν γραφεί για το πώς πρέπει να σχεδιάζονται τα πειράματα και πως πρέπει να διενεργούνται οι υπολογιστικές μελέτες [Hooker (1994)], [Rardin (2001)]. Για την υπολογιστική σύγκριση διαφόρων αλγορίθμων, απαραίτητη είναι η πολλαπλή εκτέλεση όλων των αλγορίθμων σε κοινές συλλογές από δεδομένα. Για τη διενέργεια μιας σωστής υπολογιστικής μελέτης, τα δεδομένα αυτά πρέπει να πληρούν ορισμένες προϋποθέσεις. Συγκεκριμένα, πρέπει να είναι μεγάλης διάστασης, να δημιουργούνται από γεννήτριες τυχαίων αριθμών και για κάθε διάσταση να λύνονται από τους αλγόριθμους 10 ή και περισσότερα στιγμιότυπα. Περισσότερες

338 EUREKA 2007 πληροφορίες σχετικά με τη δημιουργία τυχαίων συλλογών από δεδομένα μπορούν να βρεθούν στην αναφορά [Hall (2001)]. Η επιλογή των κατάλληλων δεικτών απόδοσης είναι ένας κρίσιμος παράγοντας σε μια υπολογιστική μελέτη [Crowder (1979)]. Οι δείκτες απόδοσης πρέπει να είναι, όσο το δυνατόν, πιο ανεξάρτητοι από την υπολογιστική μελέτη. Δείκτες απόδοσης που έχουν χρησιμοποιηθεί περισσότερο στις υπολογιστικές μελέτες είναι: Ο χρόνος επεξεργασίας Ο αριθμός των επαναλήψεων Η μέτρηση των βασικών πράξεων Αν χρησιμοποιηθεί σε μια υπολογιστική μελέτη ο χρόνος επεξεργασίας ως δείκτης απόδοσης, πρέπει να περιλαμβάνονται μέθοδοι για την όμοια τυποποίηση των αποτελεσμάτων. Η εργασία αυτή είναι δομημένη ως εξής: μετά την εισαγωγή ακολουθεί μία σύντομη περιγραφή των αλγορίθμων που χρησιμοποιήθηκαν στην ενότητα 2. Στην ενότητα 3 παρουσιάζονται τα βασικά στοιχεία σχεδιασμού της εφαρμογής. Μια περιγραφή της λειτουργίας της εφαρμογής παρουσιάζεται στην ενότητα 4. Στην ενότητα 5 παρουσιάζεται μια βηματική εκτέλεση της εφαρμογής συγκρίνοντας τρεις αλγόριθμους ταξινόμησης. Τέλος, στην ενότητα 6 δίνονται τα συμπεράσματα. 2. Σύντομη περιγραφή των αλγορίθμων που χρησιμοποιήθηκαν Σε αυτή την εφαρμογή παρέχεται η δυνατότητα σύγκρισης αλγορίθμων, οι οποίοι ανήκουν στις εξής κατηγορίες: (1) αναζήτησης, (2) ταξινόμησης και (3) επίλυσης γραμμικών συστημάτων. Οι αλγόριθμοι αυτοί είναι από τους πιο βασικούς και διδάσκονται σε όλα σχεδόν τα τμήματα Πληροφορικής. Η εφαρμογή έχει ενσωματωμένους τους περισσότερους αλγορίθμους από αυτές τις κατηγορίες. Πιο συγκεκριμένα, οι αλγόριθμοι που παρέχονται ανά κατηγορία είναι οι εξής: Πίνακας 1. Αλγόριθμοι ανά κατηγορία Αλγόριθμοι Αναζήτησης Αλγόριθμοι Ταξινόμησης Αλγόριθμοι Επίλυσης Γραμμικών Συστημάτων Binary search Bubble sort Cramer s rule Grover s search Heap sort Gaussian elimination Interpolation search Insert sort Gauss-Jordan elimination Linear search Merge sort Strasser s rule Quick sort Radix sort Selection sort Shaker sort Shell sort Swap sort

1 st Panhellenic Students Scientific Conference in Informatics 339 Οι αλγόριθμοι έχουν παραμετροποιηθεί ώστε να δέχονται όλοι τα ίδια ορίσματα ως είσοδο και να επιστρέφουν ίδιας μορφής εξόδους. Αναλυτικότερα, οι αλγόριθμοι αναζήτησης δέχονται ως είσοδο δύο ορίσματα: μία λίστα πραγματικών αριθμών και ένα πραγματικό αριθμό που ανήκει στη λίστα και είναι το στοιχείο προς αναζήτηση. Οι αλγόριθμοι ταξινόμησης δέχονται ως είσοδο μία λίστα πραγματικών αριθμών. Οι αλγόριθμοι επίλυσης γραμμικών συστημάτων δέχονται γραμμικά συστήματα της μορφής: A x = b (1) όπου Α R mxn, είναι ο πίνακας των συντελεστών των αγνώστων, x R n είναι ο πίνακας στήλη των αγνώστων και b R m είναι ο πίνακας στήλη των σταθερών όρων. Oι αλγόριθμοι αυτής της κατηγορίας δέχονται ως είσοδο τον πίνακα Α και τον πίνακα στήλη b. Ως έξοδο και οι τρεις κατηγορίες αλγορίθμων παράγουν δύο ορίσματα: (1) το χρόνο επεξεργασίας και (2) τον αριθμό των επαναλήψεων. Αυτή η κωδικοποίηση των αλγορίθμων έγινε αποσκοπώντας στην εύκολη εισαγωγή των αλγορίθμων του χρήστη που πρέπει να ακολουθούν αυτήν τη μορφή. Πέρα από αυτήν την κωδικοποίηση, οι αλγόριθμοι του χρήστη θα πρέπει να είναι είτε σε αρχεία κωδικοποίησης matlab (αρχεία.m) είτε σε εκτελέσιμη μορφή (αρχεία.exe). Εκτός, όμως, από τη σύγκριση των ήδη υπαρχόντων αλγορίθμων μεταξύ τους, το σημαντικότερο κομμάτι της εφαρμογής είναι η δυνατότητα που προσφέρει στο χρήστη να εισάγει τους δικούς του αλγόριθμους. Δηλαδή, με το προτεινόμενο λογισμικό μπορούν να γίνουν συγκρίσεις με τους εξής τρόπους: (1) σύγκριση των ήδη υπαρχόντων αλγόριθμων μεταξύ τους, (2) σύγκριση των αλγόριθμων του χρήστη με τους ήδη υπάρχοντες αλγόριθμους και (3) σύγκριση των αλγόριθμων του χρήστη μεταξύ τους. 3. Βασικά στοιχεία σχεδιασμού της εφαρμογής Το λογισμικό για τη διενέργεια υπολογιστικών μελετών έχει αναπτυχθεί χρησιμοποιώντας τις βασικές δυνατότητες του προγραμματιστικού περιβάλλοντος Matlab Professional (έκδοση 7.1). Η μεθοδολογία που ακολουθήθηκε κατά τη σχεδίαση και ανάπτυξη της προτεινόμενης εφαρμογής βασίζεται στο μοντέλο του δομημένου προγραμματισμού. Η τελική έκδοση του προγράμματος αποτελείται από μια εφαρμογή τύπου standalone application. Εκτελείται σε λειτουργικό σύστημα Microsoft Windows (έκδοση 98 και άνω) και δεν απαιτείται καμία περαιτέρω εγκατάσταση ή ρύθμιση από την πλευρά του χρήστη. Αρκεί μόνο η ύπαρξη του εκτελέσιμου αρχείου της εφαρμογής. Κύριος στόχος της εφαρμογής είναι η ανάπτυξη ενός εργαλείου που θα δίνει τη δυνατότητα της σύγκρισης πολλών αλγορίθμων μεταξύ τους και της εξαγωγής αναφορών, όπου θα περιέχονται τα αποτελέσματα τόσο αριθμητικά όσο και γραφικά. Η εφαρμογή που παρουσιάζεται στην εργασία αυτή δίνει τη δυνατότητα στο χρήστη

340 EUREKA 2007 να αποφύγει μια χρονοβόρα και επίπονη διαδικασία, όπως είναι η υπολογιστική μελέτη. Στην ουσία η εφαρμογή αναλαμβάνει να εκτελέσει κάθε αλγόριθμο σε μεγάλες συλλογές από δεδομένα και τελικά να παρουσιάσει τα αποτελέσματα συνολικά στο τέλος. Με αυτόν τον τρόπο αποφεύγεται, από την πλευρά του χρήστη, η επαναλαμβανόμενη εκτέλεση κάθε αλγορίθμου, η αποθήκευση των αποτελεσμάτων του και τελικά η σύγκριση όλων των αποτελεσμάτων συνολικά. Στον τελικό σχεδιασμό της εφαρμογής δόθηκε ιδιαίτερη βαρύτητα στη μη επιβάρυνση του χρήστη με επιπλέον εκμάθηση της λειτουργίας της. Να έχει τη δυνατότητα χωρίς την εγκατάσταση πρόσθετων εφαρμογών στον υπολογιστή του να μπορεί να εκτελεί εύκολα την εφαρμογή. Η εφαρμογή εκτελείται εύκολα και γρήγορα μέσα από το εκτελέσιμο αρχείο της. Ορισμένα άλλα στοιχεία που λήφθηκαν υπόψιν στην ανάπτυξη της διεπιφάνειας της εφαρμογής είναι: (i). Να είναι διαφανής, δηλαδή να βοηθάει το χρήστη να επικεντρώνεται στην εργασία που θέλει να επιτελέσει, (ii). Να έχει αναμενόμενη και προφανή συμπεριφορά και να παρουσιάζει συνέπεια σε όλο το εύρος της διεπιφάνειας, (iii). Να παρέχει ανάδραση στο χρήστη και (iv). Να παρέχει βοήθεια στο χρήστη. 4. Περιγραφή της εφαρμογής Στην εφαρμογή αρχικά πρέπει να δημιουργηθούν συλλογές από δεδομένα που θα χρησιμοποιηθούν για τη σύγκριση των αλγορίθμων. Όπως φαίνεται στην Εικόνα 1, που παρουσιάζει την αρχική οθόνη της εφαρμογής, όλες οι επιλογές είναι απενεργοποιημένες πλην της δημιουργίας των στιγμιότυπων. 4.1 Δημιουργία στιγμιότυπων Εικόνα 1. Αρχική οθόνη Η δημιουργία των στιγμιότυπων μπορεί να γίνει είτε από το πλήκτρο «Create instances» είτε από την αντίστοιχη επιλογή από το μενού. Εν συνεχεία ζητείται η

1 st Panhellenic Students Scientific Conference in Informatics 341 κατηγορία των αλγόριθμων που θα συγκριθούν: αναζήτησης, ταξινόμησης ή επίλυσης γραμμικών συστημάτων, όπως φαίνεται στην Εικόνα 2. Εικόνα 2. Επιλογή τύπου προβλήματος Αφού επιλεγεί ο τύπος των αλγορίθμων χρειάζεται να δοθούν τα απαραίτητα στοιχεία για τη δημιουργία των στιγμιότυπων, όπως φαίνεται στην Εικόνα 3. Εικόνα 3. Δημιουργία στιγμιότυπων Τα στοιχεία που πρέπει να συμπληρωθούν είναι: (1) η επιλογή της γεννήτριας τυχαίων αριθμών, δηλαδή αν θα είναι η rand ή η randn, (2) το μέγεθος των λιστών, (3) ο αριθμός των λιστών και (4) το πεδίο τιμών. Με αυτή τη διαδικασία, μπορεί να δημιουργηθούν πολλές συλλογές από δεδομένα. Τα στιγμιότυπα αυτά αποθηκεύονται κάθε φορά σε αρχεία για να υπάρχει η δυνατότητα της οπτικής εποπτείας από τη πλευρά του χρήστη, αλλά κυρίως για να μπορεί να επιλεγεί ποια ομάδα στιγμιότυπων θα χρησιμοποιηθεί για τη σύγκριση των αλγορίθμων.

342 EUREKA 2007 4.2 Φόρτωση στιγμιότυπων Μετά την δημιουργία των στιγμιότυπων, πρέπει να επιλεγεί ποια ομάδα στιγμιότυπων, από αυτές που δημιουργήσαμε, θα χρησιμοποιηθεί για τη σύγκριση των αλγορίθμων. Αυτό επιτυγχάνεται, είτε από το πλήκτρο «Load instances» είτε από το μενού «File», που μετά τη δημιουργία των στιγμιότυπων έχουν ενεργοποιηθεί. Με την επιλογή της ενέργειας αυτής, εμφανίζεται μια φόρμα επιλογής αρχείων (Εικόνα 4), όπου πρέπει να βρεθούν τα στιγμιότυπα που δημιουργήθηκαν και να επιλεγούν κάποια από αυτά. Εικόνα 4. Φόρτωση στιγμιότυπων 4.3 Επιλογή και σύγκριση των αλγορίθμων Μόλις φορτωθούν τα στιγμιότυπα που θα χρησιμοποιηθούν, ο χρήστης είναι σε θέση να προχωρήσει στη σύγκριση των αλγορίθμων είτε μέσω του πλήκτρου «Compare algorithms» είτε μέσω της αντίστοιχης επιλογής στο μενού που πλέον έχουν ενεργοποιηθεί. Εικόνα 5. Επιλογή μεθόδου σύγκρισης

1 st Panhellenic Students Scientific Conference in Informatics 343 Σε αυτό το σημείο θα πρέπει να γίνει η επιλογή του τρόπου σύγκρισης των αλγορίθμων (Εικόνα 5). Οι επιλογές που παρέχονται είναι οι εξής: (1) σύγκριση των ήδη υπαρχόντων αλγορίθμων, (2) σύγκριση των αλγορίθμων του χρήστη και (3) σύγκριση των ήδη υπαρχόντων αλγορίθμων με τους αλγόριθμους του χρήστη. Αναλόγως, με την επιλογή που θα γίνει στον τρόπο σύγκρισης θα οδηγηθούμε σε διαφορετική οθόνη, που όμως είναι παραπλήσια και στις τρεις περιπτώσεις. Αν επιλεγεί να γίνει σύγκριση μεταξύ των ήδη υπαρχόντων αλγόριθμων με τους αλγόριθμους του χρήστη τότε οδηγούμαστε στην οθόνη, όπου θα γίνει η επιλογή των αλγορίθμων (Εικόνα 6). Από τη λίστα επιλέγονται οι ήδη υπάρχοντες αλγόριθμοι και από το πλήκτρο «Add your algorithms» εισάγονται οι αλγόριθμοι του χρήστη. Εικόνα 6. Επιλογή αλγορίθμων προς σύγκριση Από το πλήκτρο «Options» επιλέγονται κάποιες ρυθμίσεις (Εικόνα 7) που αφορούν τα αποτελέσματα που επιθυμεί ο χρήστης να εξαχθούν. Οι επιλογές αυτές αφορούν τι είδους πίνακες και γραφήματα θα δημιουργηθούν. Όσον αφορά τα αριθμητικά αποτελέσματα παρέχεται η δυνατότητα να εμφανιστούν τα αποτελέσματα, δηλαδή ο χρόνος επεξεργασίας και ο αριθμός επαναλήψεων, για όλα τα στιγμιότυπα αλλά και για συγκεκριμένη ομάδα αυτών. Τα γραφήματα αναπαριστούν το χρόνο επεξεργασίας και τον αριθμό επαναλήψεων και μπορούν να σχεδιαστούν είτε σε μπάρες είτε σε γραμμές. Τα γραφήματα μπορούν να αναπαριστούν συνολικά όλους τους αλγόριθμους που επιλέχτηκαν αλλά και κάποιον συγκεκριμένο. Τα αποτελέσματα μπορούν να αποτυπωθούν στην οθόνη και να αποθηκευτούν σε ένα έγγραφο του Microsoft Word για περαιτέρω επεξεργασία και ανάλυση.

344 EUREKA 2007 Εικόνα 7. Ρυθμίσεις για την έξοδο των αποτελεσμάτων 5. Βηματική εκτέλεση της εφαρμογής Για την καλύτερη παρουσίαση της εφαρμογής δίνεται η σύγκριση δύο αλγορίθμων ταξινόμησης, του αλγόριθμου bubble sort και του insert sort, που υπάρχουν ενσωματωμένοι στο λογισμικό, και ενός αλγορίθμου που δεν υπάρχει στην εφαρμογή, αλλά δημιουργήθηκε για τις ανάγκες του παραδείγματος αυτού και θα εισαχθεί στο πρόγραμμα από εξωτερικό αρχείο. Αρχικά, θα δημιουργηθούν οι συλλογές από δεδομένα που θα χρησιμοποιηθούν για τη σύγκριση των αλγορίθμων, όπως φαίνεται στην Εικόνα 8. Για τη δημιουργία των στιγμιότυπων χρησιμοποιήθηκε η γεννήτρια τυχαίων αριθμών «rand», δημιουργήθηκαν 10 ομάδες στιγμιότυπων, όπου κάθε ομάδα έχει 10 λίστες. Η πρώτη λίστα έχει 1000 στοιχεία και οι επόμενες έχουν 1000 στοιχεία περισσότερα από την προηγούμενη τους. Πατώντας το πλήκτρο «ΟΚ» για τη συνέχιση της εφαρμογής, ζητείται το όνομα με το οποίο θα αποθηκευτούν τα δεδομένα.

1 st Panhellenic Students Scientific Conference in Informatics 345 Εικόνα 8. Δημιουργία στιγμιότυπων Στο όνομα του αρχείου προσαρτώνται και κάποιες πληροφορίες για να είναι εύκολη η αναγνώρισή τους. Τα πρόσθετα στοιχεία μετά το όνομα του αρχείου είναι το μέγεθος της λίστας και το σύνολο των λιστών της ομάδας. Δοθέντος του ονόματος «data», ο κατάλογος που θα σωθούν τα στιγμιότυπα φαίνεται στην Εικόνα 9. Εικόνα 9. Αποθήκευση στιγμιότυπων Στη συνέχεια, επιλέγονται τα στιγμιότυπα που θα χρησιμοποιηθούν στη σύγκριση των αλγορίθμων. Πρέπει να τονισθεί ότι δεν είναι απαραίτητο να επιλεγούν όλα τα στιγμιότυπα που δημιουργήθηκαν. Αρκεί να επιλεγεί και ένα υποσύνολο από αυτά.

346 EUREKA 2007 Το επόμενο βήμα είναι η επιλογή του τρόπου σύγκρισης. Στην περίπτωση αυτή που θα συγκριθεί ένας εξωτερικός αλγόριθμος με τους δύο ήδη υπάρχοντες αλγόριθμους (bubble sort και insert sort), πρέπει να επιλεγεί η τρίτη περίπτωση, δηλαδή η επιλογή «Compare existing with your algorithms» (Εικόνα 5). Στη συνέχεια, επιλέγονται οι αλγόριθμοι που θα συγκριθούν, όπως φαίνεται στην Εικόνα 10, από την αριστερά λίστα, που δείχνει τους διαθέσιμους αλγόριθμους. Από το πλήκτρο «Add your algorithms» εισάγεται ο αλγόριθμος από εξωτερικό αρχείο. Στην περίπτωση αυτή θα επιλεγούν οι αλγόριθμοι bubble sort και insert sort και θα εισαχθεί από εξωτερικό αρχείο ένας αλγόριθμος ταξινόμησης. Από το πλήκτρο «OPTIONS» επιλέγονται τα αριθμητικά δεδομένα και τα γραφήματα που θα εξαχθούν. Για τις ανάγκες του παραδείγματος θα επιλεγούν οι εξής ρυθμίσεις, όπως φαίνεται και στην Εικόνα 11: να εμφανιστεί ο χρόνος επεξεργασίας και ο αριθμός επαναλήψεων για κάθε λίστα στιγμιότυπου ξεχωριστά αλλά και ο μέσος όρος όλων των στιγμιότυπων, να αποθηκευτεί η αναφορά σε ένα αρχείο Microsoft Word και να δημιουργηθούν δύο γραφήματα, το ένα να απεικονίζει σε γραμμές το χρόνο επεξεργασίας για τον αλγόριθμο που εισήχθηκε από εξωτερικό αρχείο και το άλλο να απεικονίζει σε μπάρες τον αριθμό επαναλήψεων και των τριών αλγορίθμων. Εικόνα 10. Επιλογή αλγορίθμων

1 st Panhellenic Students Scientific Conference in Informatics 347 Εικόνα 11. Επιλογές για την έξοδο των αποτελεσμάτων Η μορφή του πίνακα που περιέχει το χρόνο επεξεργασίας για κάθε λίστα από τα στιγμιότυπα που φορτώθηκαν θα έχει τη μορφή που φαίνεται στον Πίνακα 2. Πίνακας 2. Χρόνος επεξεργασίας bubblesort insertsort myalgorithm data1000x10 0,0375 0,034375 0,029688 data2000x10 0,160938 0,146875 0,110938 data3000x10 0,365625 0,307813 0,228125 data4000x10 0,653125 0,551563 0,38125 data5000x10 1,023438 0,767188 0,553125 data6000x10 1,470313 1,16875 0,782813 Το γράφημα που απεικονίζει σε μπάρες τον αριθμό επαναλήψεων και των τριών αλγορίθμων φαίνεται στην Εικόνα 12.

348 EUREKA 2007 6000 5000 bubblesort insertsort myalgorithm Graph of iterations for many algorithms 4000 iterations 3000 2000 1000 0 1000 2000 3000 4000 5000 6000 size of instances Εικόνα 12. Γράφημα του αριθμού επαναλήψεων των αλγορίθμων 6. Συμπεράσματα Στην εργασία παρουσιάστηκε μια εφαρμογή για τη σύγκριση των αλγορίθμων αναζήτησης, ταξινόμησης και επίλυσης γραμμικών συστημάτων. Στόχος της εφαρμογής είναι να χρησιμοποιηθεί ως εργαλείο για τη διενέργεια υπολογιστικών μελετών, όπου θα παρέχει τα κατάλληλα αποτελέσματα για την εξαγωγή συμπερασμάτων σχετικά με τη συμπεριφορά των αλγορίθμων. Δόθηκε ιδιαίτερη προσοχή στον τρόπο εμφάνισης των αποτελεσμάτων, αλλά και στο συνολικό περιβάλλον αλληλεπίδρασης με το χρήστη. References Crowder H.P., Dembo R.S., Mulvey J.M. (1978), On reporting Computational Results in Mathematical Programming, Mathematical Programming 15, pp. 316-329. Hall N.G., Posner M.E. (2001), Generating Experimental Data for Computational Testing with Machine Scheduling Application, Operations Research, vol. 49, pp. 854-865. Hooker J.N. (1994), Needed: an empirical science of algorithms, Operations Research, vol. 42(2), pp. 201-212 Rardin R.L., Uzsou R. (2001), Experimental evaluation of heuristic optimization algorithms: A tutorial, Journal of heuristics, vol. 7, pp. 261-304