Ιεραπόστολοι και Κανίβαλοι - 8ο Συνέδριο Πληροφορικής

Ιεραπόστολοι και Κανίβαλοι - 8ο Συνέδριο Πληροφορικής

24 Απριλίου 2016

Ιεραπόστολοι και Κανίβαλοι – ο γνωστός γρίφος στο Scratch - 8ο Μαθητικό Συνέδριο Πληροφορικής

Στο παρακάτων link θα βρείτε το παιχνίδι μας online!!!


«Τρεις ιεραπόστολοι και τρεις κανίβαλοι θέλουν να διασχίσουν ένα ποτάμι. Υπάρχει μια βάρκα που μπορούν να χρησιμοποιήσουν, υπό την προϋπόθεση ότι σε κάθε διέλευση του ποταμού θα πρέπει να επιβαίνουν το πολύ δύο επιβάτες. Δεν επιτρέπεται σε καμία περίπτωση σε μια από τις δυο όχθες να βρεθούν περισσότεροι κανίβαλοι από ιεραποστόλους γιατί τότε θα τους φάνε. Με ποιο τρόπο μπορούν να περάσουν όλοι στην άλλη όχθη χωρίς να υπάρξει κάποιο ατύχημα;».

Οι μαθητές της Ε’ και ΣΤ’ δημοτικού ανέπτυξαν στο περιβάλλον δημιουργίας παιχνιδιών Scratch ένα ηλεκτρονικό παιχνίδι που αποτυπώνει το γνωστό λογικό γρίφο με τους Κανίβαλους και τους Ιεραποστόλους. Το 1957 ο παραπάνω γρίφος χρησιμοποιήθηκε για τη δημιουργία της πρώτης μηχανής τεχνητής νοημοσύνης, του General Problem Solver.

Λέξεις κλειδιά: γρίφοι, Scratch, προγραμματισμός.

1. Εισαγωγή

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

Ο Caillois το 1958 (στο Prensky, 2001), ταξινόμησε τα ηλεκτρονικά παιχνίδια σε τέσσερις βασικές κατηγορίες: παιχνίδια ανταγωνισμού, τύχης, προσομοίωσης και κίνησης. Ακολούθησαν διάφορες κατηγοριοποιήσεις παιχνιδιών από έρευνες που έχουν πραγματοποιηθεί σε αυτό το πεδίο, από σχεδιαστές παιχνιδιών και από ιστοσελίδες ανάλογου περιεχομένου. Μέσα σε αυτές τις κατηγορίες ανήκει και αυτή των εκπαιδευτικών παιχνιδιών αλλά και αυτές των παιχνιδιών γρίφων (puzzle games) και των παιχνιδιών μυαλού (mind games).

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

2. Αφόρμηση

Το 1957, οι Αllen Newell ,J.Οι Shaw και Herbert Simon, προγραμματιστές της Rand Corporation δημιούργησαν ένα από τα πρώτα προγράμματα τεχνητής νοημοσύνης με την ονομασία General Problem Solver. Στρατολόγησαν μια ομάδα ατόμων που είχαν ως χόμπι την επίλυση λογικών γρίφων και τους έθεσαν δέκα λογικά προβλήματα, κατέγραψαν τον τρόπο που τα έλυσαν και συστηματοποίησαν τις ευρετικές μεθόδους που χρησιμοποίησαν για να γράψουν τον κώδικα του General Problem Solver. Ένα από τα δέκα αυτά προβλήματα ανήκε στον Μάρτιν Γκάρντνερ και είχε τίτλο «οι κανίβαλοι και οι ιεραπόστολοι».

Για την ιστορία, η πρώτη φορά που εμφανίστηκε παρόμοιο πρόβλημα (river crossing problem) ήταν στο βιβλίο Propositiones ad Acuendos Juvenes (Προβλήματα που ακονίζουν το μυαλό) που γράφτηκε από τον Αλκουίνο της Υόρκης (732-811), Βενεδικτίνο μοναχό και λόγιο της αυλής του Καρλομάγνου.

Τέτοιου είδους προβλήματα σύμφωνα με το διαδίκτυο (http://mathhmagic.blogspot.gr/...) τίθενται σε υποψήφιους για πρόσληψη σε εταιρείες λογισμικού όπως η Google ή η Microsoft αλλά ίσως πρόκειται για αστικό μύθο.

3. Το εργαλείο Scratch

To scratch αναπτύχθηκε από το Τεχνολογικό Ινστιτούτο Μασαχουσέτης (MIT). Αποτελεί ένα εκπαιδευτικό περιβάλλον ανάπτυξης διαδραστικών εφαρμογών και εκμάθησης προγραμματισμού για παιδιά ηλικίας από 8 έως 16 ετών. Τα παιδιά έχουν την δυνατότητα να δημιουργήσουν παιχνίδια, κουίζ ερωτήσεων, ιστορίες και κινούμενα σχέδια. Το περιβάλλον ανάπτυξης του Scratch μπορεί να μεταφορτωθεί δωρεάν και να εγκατασταθεί σε οποιοδήποτε υπολογιστή. Επιπλέον, μπορεί κανείς να το βρει και στο διαδίκτυο (http://scratch.mit.edu/) και αφού δημιουργήσει προσωπικό λογαριασμό μπορεί να προγραμματίσει online, να μοιραστεί τα έργα του με άλλους χρήστες, να τροποποιήσει και να επεκτείνει τα έργα άλλων χρηστών. Εμείς δουλέψαμε offline, στο εγκατεστημένο πρόγραμμα στους Η/Υ μας.

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

4. Η έννοια του προγραμματισμού

Όταν πια μπήκαμε να δουλέψουμε στο περιβάλλον του scratch καταλάβαμε πως κάθε παιχνίδι που παίζουμε ξεκινά από το μηδέν. Κανένας ήρωας δεν κινείται, δεν πηδάει, δεν κάνει μαγικά χωρίς να του το ζητήσουμε εμείς.

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

Επομένως, είχε έρθει η ώρα να μάθουμε πώς δίνουμε ψυχή στα διάφορα αντικείμενα σε μια πίστα του παιχνιδιού και πώς μπορούμε να κάνουμε τον Η/Υ να αποφασίσει ποια κίνηση είναι «σωστή» και ποια «λάθος» για να προχωρήσει το παιχνίδι παρακάτω. Μάθαμε πως όλα είναι εντολές που δίνουμε στους ήρωές μας. Έτσι, αρχικά ήρθαμε σε επαφή με τις βασικές εντολές ελέγχου του scratch, όπως «για πάντα», «εάν», «εάν-αλλιώς» και άλλες. Μάθαμε να χειριζόμαστε τις εντολές των καρτελών Κίνηση, Όψεις, Έλεγχος, Αισθητήρες, Τελεστές και Μεταβλητές.

5. Δημιουργία του παιχνιδιού

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

Ο γρίφος αυτός είναι το δυσκολότερο εγχείρημα που έχουμε τολμήσει στο scratch και δυσκολευτήκαμε αρχικά να τον υλοποιήσουμε. Με τις γνώσεις όμως που αποκτήσαμε, καταφέραμε να τον ολοκληρώσουμε χρησιμοποιώντας εντολές από τις καρτέλες Κίνηση, Όψεις, Έλεγχος, Αισθητήρες, Τελεστές και Μεταβλητές.

6. Συμπεράσματα

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

Βιβλιογραφία

1. Gordon, A. K. (1970). Games for Growth, Science Research AssociateInc., Palo Alto California

2. Malone, T.W. (1980). What makes things fun to learn? A study of intrinsically motivating computer games. Palo Alto, CA: Xerox

3. Μπαρμπάτσης, Κ., Οικονόμου, Δ., Παπαμαγκανά, Ι., & Ζώζας, Ι. (2010). Ηλεκτρονικά Παιχνίδια ως Εκπαιδευτικά Εργαλεία, Πρακτικά 2ου Πανελληνίου Εκπαιδευτικού Συνεδρίου Ημαθίας

4. Χονδρούλη, Β. (2013). Αξιολόγηση εκπαιδευτικού παιχνιδιού για την υποστήριξη μουσικής εκπαίδευσης, Πτυχιακή εργασία

5. http://learn20.wikispaces.com/

6. http://mathhmagic.blogspot.gr/...