ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΣΧΟΛΗ ΟΡΓΑΝΩΣΗΣ & ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΤΜΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΟΛΙΤΙΣΜΙΚΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ & ΝΕΩΝ ΤΕΧΝΟΛΟΓΙΩΝ ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΣΗΜΕΙΩΣΕΙΣ ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Β ΕΤΟΣ Γ Εξάμηνο Δρ. Δημήτριος Κ. Κουκόπουλος Επίκουρος Καθηγητής Οκτώβριος 2016 1
ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 1 Τίτλος: Επίλυση Πολυωνύμου με βάση τον Κανόνα του Horner Άσκηση n n 1 Δίνεται το πολυώνυμο p( x) anx an 1x a1x a0 και η τιμή x X. Ζητείται η τιμή p(x ) με βάση τον κανόνα του Horner. Παρατηρείστε ότι ο κανόνας του Horner χρησιμοποιεί επαναληπτικές παραγοντοποιήσεις σύμφωνα με το παράδειγμα 4 3 2 p ( x) a4x a3x a2x a1x a0 2 3 a x( a a x a x a ) 0 1 2 3 4x 2 0 x( a1 x( a2 a3x a4x 0 x( a1 x( a2 x( a3 a4x a )) a Ο υπολογισμός αρχίζει από την εσωτερική παρένθεση. i) Καθορίστε την είσοδο και την έξοδο του αλγορίθμου σας. ii) Σχεδιάστε σε ψευδογλώσσα της δικιάς σας προτίμησης έναν αλγόριθμο που να λύνει αυτό το πρόβλημα. iii) Υλοποιήστε τον αλγόριθμο που σχεδιάσατε σε κάποια γλώσσα προγραμματισμού θεωρώντας ότι n=4, x=5, a 0 3, a 2 1, a 2 5, a 3 6, a 1 4. ))) 2
ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 2 Τίτλος: Σχεδίαση και Ανάλυση του Αλγορίθμου της Δυαδικής Αναζήτησης Πρόβλημα αναζήτησης: Δίνονται ο φυσικός αριθμός n, τα n διατεταγμένα στοιχεία με αύξουσα σειρά x 1, x 2,, x n και ένα στοιχείο x του ίδιου τύπου με τα x i. Ζητείται να βρεθεί αν υπάρχει το x στη λίστα των n στοιχείων και να επιστραφεί η θέση του σε αυτή ή ο αριθμός 0 αν δεν υπάρχει. Αλγόριθμος της δυαδικής αναζήτησης Στην αναζήτηση αυτή συγκρίνεται το x με το μεσαίο στοιχείο της διατεταγμένης λίστας και ανάλογα με το αν είναι μικρότερο ή μεγαλύτερο επιλέγεται το ένα ή το άλλο μισό της λίστας για περαιτέρω αναζήτηση. Η διαδικασία της αναζήτησης συνεχίζεται είτε μέχρι να βρεθεί ότι το x είναι ίσο με κάποιο από τα μεσαία στοιχεία x, οπότε επιστρέφουμε το j, είτε μέχρι να καταλήξουμε σε μια υπολίστα με ένα j στοιχείο, οπότε η απόφαση είναι απλή. Αν δε βρεθεί κάποιο τότε επιστρέφουμε j 0. x j τέτοιο ώστε x x j, Άσκηση Δίνονται ο φυσικός αριθμός n, τα n διατεταγμένα στοιχεία x1 x2 xn και ένα ακόμα στοιχείο x, του ίδιου τύπου με τα x j, j 1 n. Ζητείται να βρεθεί αν το x είναι ίσο με κάποιο από τα διατεταγμένα στοιχεία x j, j 1 n χρησιμοποιώντας τον αλγόριθμο της δυαδικής αναζήτησης. i) Καθορίστε την είσοδο και την έξοδο του αλγορίθμου που επιλύει το πρόβλημα. ii) Σχεδιάστε σε ψευδογλώσσα της δικιάς σας προτίμησης έναν αλγόριθμο που να λύνει αυτό το πρόβλημα. iii) Υπολογίστε την πολυπλοκότητα μέσου όρου ΠΜΟ(n) (αριθμός εντολών που εκτελούνται ως συνάρτηση του n σε μια μέση περίπτωση από πλευράς εισόδου) και την πολυπλοκότητα χειρότερης περίπτωσης ΠΧΠ(n) (αριθμός εντολών που εκτελούνται ως συνάρτηση του n στη χειρότερη περίπτωση από πλευράς εισόδου) του αλγορίθμου που σχεδιάσατε. iv) Υλοποιήστε τον αλγόριθμο που σχεδιάσατε σε κάποια γλώσσα προγραμματισμού θεωρώντας ότι n=10, x=5, x 5, x 6, x 10, x 12, x 20, x 40, 1 2 10 x 45 7, x 50 8, x 51, x 52. 9 3 4 5 6 3
ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 3 Τίτλος: Σχεδίαση και Ανάλυση του Αλγορίθμου της Ταξινόμησης Παρεμβολής Άσκηση Δίνονται ο φυσικός αριθμός n και τα n στοιχεία x 1, x 2,, x n που μπορούμε να θεωρήσουμε ότι είναι τοποθετημένα σε έναν πίνακα L μήκους n έτσι ώστε L(i) = x ι για i=1..n. Ζητείται να διαταχθούν τα στοιχεία του πίνακα L σε αύξουσα σειρά χρησιμοποιώντας παρεμβολή και να επιστραφεί ο προκύπτων πίνακας. Στην παρεμβολή ο αλγόριθμος παρεμβάλει κάθε νέο στοιχείο σε έναν πίνακα συγκρίνοντας με τα στοιχεία που έχουν ήδη διαταχθεί, από δεξιά προς τα αριστερά, μέχρι να βρει τη σωστή του θέση. i) Καθορίστε την είσοδο και την έξοδο του αλγορίθμου που επιλύει το πρόβλημα. ii) Σχεδιάστε σε ψευδογλώσσα της δικιάς σας προτίμησης έναν αλγόριθμο που να λύνει αυτό το πρόβλημα. iii) Υπολογίστε την πολυπλοκότητα χειρότερης περίπτωσης ΠΧΠ(n) (αριθμός εντολών που εκτελούνται ως συνάρτηση του n στη χειρότερη περίπτωση από πλευράς εισόδου) του αλγορίθμου που σχεδιάσατε. iv) Υλοποιήστε τον αλγόριθμο που σχεδιάσατε σε κάποια γλώσσα προγραμματισμού θεωρώντας ότι n=10, x 1 =30, x 2 =10, x 2 =15, x 3 =12, x 4 =31, x 5 =32, x 6 =40, x 7 = 9, x 8 =5, x 9 =1, x 10 =1. 4
ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 Τίτλος: Ο Αλγόριθμος QuickSort και η Τεχνική Διαίρει και Βασίλευε Διαίρει και Βασίλευε Αντί να εξετάσουμε ένα πρόβλημα που αφορά ένα μεγάλο μέγεθος εισόδου άμεσα, διασπούμε την είσοδο σε μικρότερα κομμάτια, λύνουμε το πρόβλημα για κάθε μικρό κομμάτι ξεχωριστά και μετά πληρώνοντας ένα επιπλέον κόστος συνδέουμε τα επιμέρους αποτελέσματα για να δώσουμε λύση στο αρχικό μέγεθος εισόδου του προβλήματος. Υπάρχουν δυο περιπτώσεις εφαρμογής της μεθόδου: 1. Απαιτείται η λύση ενός μόνο από τα δυο υποπροβλήματα που προκύπτουν από μια διάσπαση (π.χ. δυαδική αναζήτηση). 2. Απαιτείται η λύση και των δυο υποπροβλημάτων που προκύπτουν από μια διάσπαση (π.χ. ταξινόμηση QuickSort). Πρόβλημα ταξινόμησης: Έστω L μια αρχική λίστα από n στοιχεία. Θέλω να τη διατάξω σε αύξουσα σειρά. Βασικός Κανόνας Αλγορίθμου QuickSort 1. Επιλέγω έναν από τους αριθμούς της λίστας, x, και διασπώ την αρχική λίστα L σε δυο υποπίνακες, ώστε όλες οι τιμές του L που είναι μικρότερες του x να βρίσκονται στον αριστερό υποπίνακα και όλες οι τιμές του L που είναι μεγαλύτερες του x να βρίσκονται στο δεξιό υποπίνακα. 2. Κάνω το ίδιο με καθέναν από τους δυο υποπίνακες, οπότε παίρνω 4 υποπίνακες, όπου οι τιμές του πρώτου υποπίνακα είναι μικρότερες από τις τιμές του δεύτερου, οι τιμές του δεύτερου είναι μικρότερες από τις τιμές του τρίτου και οι τιμές του τρίτου είναι μικρότερες από τις τιμές του τέταρτου υποπίνακα. 3. Η ίδια διαδικασία επαναλαμβάνεται για κάθε υποπίνακα μέχρι οι τιμές της λίστας να διαταχθούν σε αύξουσα σειρά. Παράδειγμα Ως παράδειγμα θεωρείστε τον πίνακα L={7,3,5,9,8,1,2,17}. Διαλέγουμε x=l[1]. Συγκρίνουμε το x με τα στοιχεία του L από αριστερά προς τα δεξιά μέχρι L[i]>x, που συμβαίνει για i=4. Κατόπιν συγκρίνουμε το x με τα στοιχεία του L από τα δεξιά προς τα αριστερά μέχρι L[j]<x, που συμβαίνει για j=7. Αν το j>i αντιμεταθέτουμε τα στοιχεία L[i] και L[j]. Εδώ αντιμεταθέτουμε τα L[4], L[7]. Ο νέος πίνακας είναι L={7,3,5,2,8,1,9,17}. Αυτό συνεχίζει μέχρι i>j. Τότε, συγκρίνοντας το x με τα στοιχεία του L από αριστερά προς τα δεξιά βρίσκουμε ότι για i=5, L[5]>x. Σταματούμε και συγκρίνουμε το x με τα στοιχεία του L από τα δεξιά προς τα αριστερά και βρίσκουμε ότι για j=6, L[j]<x. Αντιμεταθέτουμε τα στοιχεία L[5], L[6]. O νέος πίνακας γίνεται L={7,3,5,2,1,8,9,17}. 5
Όμως, (i=5)<(j=6), οπότε δεν έχουμε τελειώσει. Συγκρίνοντας το x με τα στοιχεία του L από τα αριστερά προς τα δεξιά βρίσκουμε ότι για i=6, L[6]>x. Σταματούμε και συγκρίνουμε το x με τα στοιχεία του L από τα δεξιά προς τα αριστερά και βρίσκουμε ότι για j=5, L[5]<x. Όμως, (i=6)>(j=5), οπότε δεν αντιμεταθέτουμε τα στοιχεία L[6] και L[5]. Εδώ έχουμε τελειώσει τη διάσπαση του πίνακα σε δυο μέρη και αντιμεταθέτουμε τα στοιχεία x και L[5]. Ο νέος πίνακας γίνεται L={1,3,5,2,7,8,9,17}. Παρατηρούμε ότι στο νέο πίνακα το 7 είναι στη σωστή του θέση. Στη συνέχεια εφαρμόζουμε αναδρομικά τον αλγόριθμο στους υποπίνακες {1,3,5,2} και {8,9,17}. Άσκηση Δίνονται ο φυσικός αριθμός n και ένας πίνακας L με n στοιχεία. Ζητείται να διαταχθούν τα στοιχεία του πίνακα σε αύξουσα σειρά χρησιμοποιώντας έναν αλγόριθμο που στηρίζεται στη μέθοδο διαίρει και βασίλευε (quicksort). i) Καθορίστε την είσοδο και την έξοδο του αλγορίθμου που επιλύει το πρόβλημα. ii) Σχεδιάστε σε ψευδογλώσσα της δικιάς σας προτίμησης έναν αλγόριθμο που να λύνει αυτό το πρόβλημα. iii) Υλοποιήστε τον αλγόριθμο που σχεδιάσατε σε κάποια γλώσσα προγραμματισμού θεωρώντας ότι n=10 και L[10]={30,10,15,12,31,32,40,9,5,1}. 6
ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 5 Τίτλος: Το Πρόβλημα του Πλανόδιου Πωλητή Μέθοδος της Απληστίας Η μέθοδος της απληστίας εφαρμόζεται σε προβλήματα όπου ζητείται μια βέλτιστη λύση ανάμεσα σε απαγορευτικό αριθμό περιπτώσεων. Η μέθοδος συνίσταται στη μεγιστοποίηση του κέρδους σε κάθε βήμα χωριστά, χωρίς εξέταση των επιπτώσεων που αυτό μπορεί να έχει στα επόμενα βήματα και επομένως στο τελικό αποτέλεσμα. Το κριτήριο σε κάθε επιλογή είναι η απόκτηση του μέγιστου κέρδους σε κάθε βήμα. Σε κάθε βήμα απορρίπτεται μεγάλος αριθμός υποψήφιων λύσεων περιορίζοντας έτσι τον αριθμό τους. Η μέθοδος της απληστίας είναι τοπική μέθοδος. Δεν παίρνει υπόψη τη συνολική εικόνα. Έτσι, δε δίνει πάντα το σωστό αποτέλεσμα, αλλά ένα αποτέλεσμα κοντά στο βέλτιστο. Άσκηση Ένας πωλητής πρέπει να επισκεφθεί n πόλεις (οι πόλεις αριθμούνται από 1 μέχρι n,όπου 1 είναι η πόλη-βάση του πωλητή), την κάθε μια ακριβώς μια φορά αρχίζοντας με μια από αυτές που είναι η βάση του και επιστρέφοντας σε αυτήν. Δίνεται ένας nxn πίνακας C τo στοιχείo c(i,j) του οποίου είναι το κόστος μετάβασης από την πόλη i στην πόλη j. Ζητείται να βρεθεί το πρόγραμμα του ταξιδιού, δηλαδή η σειρά επίσκεψης των πόλεων, ώστε το κόστος να είναι ελάχιστο, και το συνολικό κόστος με τη χρήση της μεθόδου της απληστίας. Σύμφωνα με τη μέθοδο της απληστίας, όταν ο πωλητής βρίσκεται στην πόλη i επιλέγει ως επόμενη πόλη εκείνη τη j για την οποία το κόστος c(i,j) είναι το μικρότερο μεταξύ όλων των c(i,k), όπου k είναι οι δείκτες των πόλεων που δεν έχει ακόμη επισκεφθεί ο πωλητής. Όταν από μια πόλη i δε μπορούμε να πάμε σε άλλη πόλη j τότε θέτουμε c(i,j)=1000. i) Καθορίστε την είσοδο και την έξοδο του αλγορίθμου που επιλύει το πρόβλημα. ii) Σχεδιάστε σε ψευδογλώσσα της δικιάς σας προτίμησης έναν αλγόριθμο που να λύνει αυτό το πρόβλημα. iii) Υλοποιήστε τον αλγόριθμο που σχεδιάσατε σε κάποια γλώσσα προγραμματισμού θεωρώντας ότι n=5 και C[5][5] = {{1000,2,1000,5,1}, {3,1000,1,5,,1000}, {3,2,1000,5,1}, {4,3,1,1000,10}, {2,3,4,1,1000}}. 7
ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ 6-7 Τίτλος: Το Πρόβλημα της Κατάταξης Έργων με Προθεσμίες και η μέθοδος της Απληστίας Πρόβλημα κατάταξης έργων με προθεσμίες: Δίνονται n έργα Ε 1,, Ε n. Σε κάθε Ε i αντιστοιχεί μια προθεσμία d i >0 που είναι ένας ακέραιος αριθμός χρονικών μονάδων, όπως και ένα κέρδος p i >0 που αποκτάται μόνο όταν το έργο εκτελείται εντός της προθεσμίας του. Η εκτέλεση κάθε έργου απαιτεί μια χρονική μονάδα. Ζητείται να βρεθεί με ποια σειρά πρέπει να εκτελεστούν τα έργα, ώστε να μεγιστοποιηθεί το συνολικό κέρδος με τη χρήση της μεθόδου της απληστίας. Βήματα αλγορίθμου επίλυσης του προβλήματος κατάταξης έργων με προθεσμίες: 1. Έστω αλγόριθμος απληστίας που αρχίζει με Λ={} και σε κάθε βήμα επιλέγει έργο με μεγαλύτερο δυνατό κέρδος και το εισάγει στο Λ, εφόσον αυτό συνεχίζει να δίνει μια εφικτή λύση. 2. Πρέπει να ελεγχθούν όλες οι δυνατές μεταθέσεις των έργων στο Λ για να πιστοποιηθεί ότι η προσαυξημένη λύση είναι η σωστή. Αλλά, αν έχω n έργα υπάρχουν n! δυνατές μεταθέσεις, γεγονός απαγορευτικό για έλεγχο. Όμως, από ισχύει ότι μια λύση Λ για το πρόβλημα της κατάταξης έργων με προθεσμίες είναι εφικτή αν και μόνο αν η εκτέλεση των έργων της Λ με αύξουσα σειρά προθεσμιών μπορεί να γίνει χωρίς παραβίαση των προθεσμιών (Λήμμα 1). Έτσι αρκεί να ελεγχθεί μόνο η μετάθεση με αύξουσα σειρά προθεσμιών. 3. Αν η σειρά εκτέλεσης που καθορίζεται από την μετάθεση με αύξουσα σειρά προθεσμιών παραβιάζει κάποια προθεσμία το νέο έργο δε μπαίνει στη λύση και από τα υπόλοιπα έργα επιλέγεται πάλι αυτό που δίνει το μέγιστο κέρδος. 4. Ο αλγόριθμος τερματίζει όταν δεν υπάρχουν άλλα προς εξέταση έργα. Άσκηση Δίνονται n έργα Ε 1,, Ε n. Σε κάθε Ε i αντιστοιχεί μια προθεσμία d i >0 που είναι ένας ακέραιος αριθμός χρονικών μονάδων, όπως και ένα κέρδος p i >0 που αποκτάται μόνο όταν το έργο εκτελείται εντός της προθεσμίας του. Η εκτέλεση κάθε έργου απαιτεί μια χρονική μονάδα. Ζητείται να βρεθεί με ποια σειρά πρέπει να εκτελεστούν τα έργα, ώστε να μεγιστοποιηθεί το συνολικό κέρδος με τη χρήση της μεθόδου της απληστίας. Στην άσκηση αυτή η μέθοδος της απληστίας μπορεί να βρει πεδίο εφαρμογής με δυο τρόπους. Ο ένας τρόπος είναι να διαλέγουμε κάθε φορά να εκτελέσουμε εκείνο το έργο που θα μας δώσει το μεγαλύτερο κέρδος. Ο άλλος τρόπος είναι να διαλέγουμε κάθε φορά να εκτελέσουμε εκείνο το έργο που έχει τη συντομότερη προθεσμία. 8
i) Καθορίστε την είσοδο και την έξοδο του αλγορίθμου που επιλύει το πρόβλημα. ii) Σχεδιάστε σε ψευδογλώσσα της δικιάς σας προτίμησης έναν αλγόριθμο που να λύνει το πρόβλημα εφαρμόζοντας τη μέθοδο της απληστίας σε σχέση με τις προθεσμίες και έναν αλγόριθμο που να λύνει το πρόβλημα εφαρμόζοντας τη μέθοδο της απληστίας σε σχέση με τα κέρδη.. iii) Υλοποιήστε τους αλγορίθμους που σχεδιάσατε σε κάποια γλώσσα προγραμματισμού θεωρώντας ότι n=10, d[10]={4,3,5,6,10,7,1,2,3,11} και p[10]={1,4,3,5,1000,10,2,3,4,100}. iv) Συγκρίνετε τους δυο αλγορίθμους. 9
ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 8 Τίτλος: Διάτρεξη Γραφήματος-Αλγόριθμος Αναζήτησης Πρώτα κατά Πλάτος Διάτρεξη (traversal) γραφήματος ονομάζεται η συστηματική επίσκεψη σε όλες τις κορυφές του γραφήματος, όχι αναγκαστικά μια μόνο φορά για κάθε κορυφή. Κάθε αλγόριθμος διάτρεξης παράγει μια διαδρομή που περιλαμβάνει όλες τις κορυφές τουλάχιστο μια φορά.. Η βασική εικασία είναι: Εικασία: Η πρώτη κορυφή που επισκεπτόμαστε είναι αυτή με το μικρότερο δείκτη. Ζητούμενο: Τιμές που αποθηκεύονται σε έναν πίνακα neo(), όπου neo(i)=j, όταν η κορυφή Vi κατέχει τη θέση j στη σειρά επίσκεψης. Υπάρχουν δυο μέθοδοι διάτρεξης ενός γραφήματος: η Αναζήτηση Πρώτα κατά Πλάτος (ΑΠΠ) και η Αναζήτηση Πρώτα κατά Βάθος (ΑΠΒ). Εδώ θα μελετήσουμε την πρώτη μέθοδο. Ο βασικός κανόνας της ΑΠΠ είναι ο εξής: 1. Αρχίζοντας με την κορυφή V 1, επισκεπτόμαστε πρώτα όλες τις κορυφές όπου μπορούμε να πάμε απευθείας από τη V 1. 2. Αφού έχουμε επισκεφτεί όλες τις γειτονικές κορυφές, ξεκινώντας από καθεμιά από αυτές επισκεπτόμαστε όλες τις κορυφές στις οποίες μπορούμε να πάμε απευθείας. 3. Σταματάμε όταν έχουμε επισκεφτεί όλες τις κορυφές του γραφήματος στις οποίες μπορούμε να πάμε. Πρέπει να έχουμε προκαθορίσει έναν κανόνα βάσει του οποίου να επιλύουμε περιπτώσεις ισοπαλίας. Ένας τέτοιος κανόνας είναι σε περιπτώσεις ισοπαλίας να προηγούνται οι κορυφές με το μικρότερο δείκτη. Άσκηση Δίνεται ένα διγράφημα με n κορυφές Α 1,, Α n. Η ύπαρξη μιας πλευράς ανάμεσα σε δυο κορυφές δίνεται από τον nxn πίνακα C όπου C(i,j)=1 αν υπάρχει πλευρά από το Α i στο Α j, αλλιώς C(i,j)=0. Ζητείται η σειρά επίσκεψης των κορυφών, όταν εφαρμόζεται ο αλγόριθμος αναζήτησης κατά πλάτος. i) Καθορίστε την είσοδο και την έξοδο του αλγορίθμου που επιλύει το πρόβλημα. 10
ii) Σχεδιάστε σε ψευδογλώσσα της δικιάς σας προτίμησης έναν αλγόριθμο που να λύνει το πρόβλημα. iii) Υλοποιήστε τον αλγόριθμο που σχεδιάσατε σε κάποια γλώσσα προγραμματισμού θεωρώντας ότι n=8 και C[8][8]={ {0, 1, 0, 0, 1, 0, 0, 0}, {0, 0, 1, 0, 1, 1, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 1, 0, 0, 0, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 1, 0}, {0, 1, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 1, 0}}. 11
ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 9 Τίτλος: Μελέτη Αλγορίθμων Σχετικών με Θέματα Διαχείρισης Πολιτισμικού Περιβάλλοντος στην Πράξη Η Περίπτωση της Συμμετοχικής Πλατφόρμας Culture Gate Στη διεθνή βιβλιογραφία έχουν προταθεί διάφορες τεχνολογίες και ψηφιακές εφαρμογές/υπηρεσίες πληθοπορισμού (crowdsourcing) που σχετίζονται με τη διαχείριση και την διάχυση υλικού πολιτισμικού ενδιαφέροντος (EUROPEANA, MUSE, KORA κλπ.). Στόχος αυτών των υπηρεσιών είναι η δημιουργία συνεργατικών έργων όπου ο κάθε χρήστης δεν είναι απλά θεατής, αλλά συν-διαμορφωτής του υλικού που διαχειρίζεται η υπηρεσία. Κάθε χρήστης αντιμετωπίζεται ως ένας εν δυνάμει πάροχος υλικού. Τέτοιες εφαρμογές παρέχουν ποικίλες λύσεις για την επίλυση θεμάτων που σχετίζονται με τη διαφύλαξη, την αναζήτηση και τη διάχυση πολιτισμικού υλικού. Εδώ θα ασχοληθούμε με την πλατφόρμα παροχής crowdsourcing υπηρεσιών Culture Gate (www.culture-gate.com) που σχετίζονται με τη διάχυση υλικού σε ποικίλα πολιτισμικά περιβάλλοντα. Η πλατφόρμα αυτή έχει σχεδιαστεί και υλοποιηθεί στα πλαίσια διδακτορικής εργασίας στο Τμήμα μας, ενώ εμπλουτίζεται συνεχώς με νέες υπηρεσίες. Στα πλαίσια του εργαστηρίου θα γνωριστούμε με την πλατφόρμα και θα προσπαθήσουμε να μελετήσουμε τις αλγοριθμικές λύσεις που έχουν δοθεί σε προβλήματα διαχείρισης πολιτισμικού περιβάλλοντος, όπως η προσωποποιημένη αναζήτηση περιεχομένου, η εύρεση συναφούς περιεχομένου, η ταξινόμηση του υλικού και η εύρεση της συντομότερης διαδρομής μεταξύ σημείων κοινού ενδιαφέροντος. Η πλατφόρμα Culture Gate αποτελείται από δυο υποσυστήματα: μια εφαρμογή για κινητά (Culture Gate Mobile Application - CGMA) και ένα web portal (Culture Gate Online Web Portal - CGOWP). Η εφαρμογή CGMA τρέχει σε έξυπνα κινητά και επιτρέπει τη συλλογή πολιτισμικών δεδομένων από εξωτερικές θέσεις (μέσω κάμερας, μικροφώνου, μηχανισμού λήψης φωτογραφιών του κινητού). Το συλλεχθέν υλικό αποθηκεύεται προσωρινά στο κινητό μέχρι την αποστολή του στο σύστημα και την αποθήκευσή του στη βάση δεδομένων της πλατφόρμας. Το portal CGOWP επιτρέπει την αποστολή και τη διαχείριση δεδομένων στις βάσεις δεδομένων της πλατφόρμας. Στο Σχήμα 1 φαίνεται η αρχιτεκτονική του Culture Gate. 12
Σχήμα 1: Αρχιτεκτονική πλατφόρμας Στο εργαστήριο αυτό θα χρησιμοποιήσουμε το web portal CGOWP (http://www.culture-gate.com). Χρήση του Culture Gate Κατά την είσοδο στο portal του Culture Gate εμφανίζεται στην οθόνη η γραφική διεπαφή χρήστη (graphical user interface, GUI) που φαίνεται στο Σχήμα 2. Σχήμα 2: Γραφική διεπαφή χρήστη του Culture Gate Η διεπαφή του Culture Gate περιλαμβάνει δυο μενού εντολών (command menus) στο επάνω μέρος του παραθύρου. Προς το παρόν μας ενδιαφέρουν τα μενού Cultural 13
Map, User Registration και Login στο πρώτο μενού και Events Calendar στο δεύτερο μενού. Το μενού User Registration επιτρέπει την εγγραφή μας στο σύστημα. Το μενού Login την είσοδο μας στο σύστημα ως χρήστες που μπορούν να συνεισφέρουν περιεχόμενο. Το μενού Cultural Map μας επιτρέπει να δούμε το διαδραστικό χάρτη της πλατφόρμας όπου απεικονίζονται ως σημεία διάφορες πληροφορίες πολιτισμικού ενδιαφέροντος. Το μενού Events Calendar μας επιτρέπει την εισαγωγή ενός γεγονότος πολιτισμικού ενδιαφέροντος. Ερωτήσεις: 1. Μπείτε στην πλατφόρμα www.culture-gate.com. Ποιες κατηγορίες δεδομένων υποστηρίζει; Ποια είναι τα πλεονεκτήματά του (συμμετοχικότητα, δημοκρατία); Ποιες κατηγορίες χρηστών υποστηρίζει. Ποιες υπηρεσίες προσφέρει; Τι είσοδο περιμένει από τους χρήστες και τι έξοδο επιστρέφει σε κάθε περίπτωση. 2. Προσπαθήστε να ανακαλύψετε τους διαφορετικούς τρόπους αναζήτησης που επιτρέπει η πλατφόρμα. Σχολιάστε τους. Μελετήστε υλικό που αφορά τον Καβάφη. Ποιος τρόπος αναζήτησης έχει το γρηγορότερο χρόνο απόκρισης; 3. Η πλατφόρμα επιτρέπει την ταξινόμηση των εγγραφών στο γεωγραφικό χάρτη. Ποιος αλγόριθμος έχει επιλεγεί κατά τη γνώμη σας για αυτό το σκοπό; 4. Η πλατφόρμα επιτρέπει την εύρεση της συντομότερης διαδρομής μεταξύ σημείων στο χάρτη. Σχολιάστε το. 5. Εγγραφείτε ως χρήστες. Πηγαίνετε στην υπηρεσία Adding List. Δημιουργείστε τρία δικά σας σημεία που να αφορούν την πόλη του Αγρινίου χρησιμοποιώντας κείμενο, εικόνες, βίντεο ή ήχο. Δημοσιεύστε τα στην πλατφόρμα. Προσπαθήστε να μελετήσετε τον αλγόριθμο που χρησιμοποιείτε και σχετίζεται με την εμφάνιση τους στην πλατφόρμα. 6. Αξιολόγηση της αποδοχής του Culture Gate ως εκπαιδευτικού εργαλείου. 14