• Το μικρό πρόγραμμα που αναπτύξαμε για την εύκολη εναλλαγή γλώσσας πληκτρολόγησηςΟδηγός βήμα-βήμα για την αναβάθμιση μνήμης στο ASUS eeePC 1000HΠερί ηρωισμού και κομμουνισμού...Το τραπεζικό σύστημα για αρχάριους

Αρχείο για την κατηγορία “Μαθηματικά”

Δημοσιεύσεις που σχετίζονται με τα Μαθηματικά

Ο Γιώργος Κοτανίδης σε ρόλο Richard Feynman στο QED Από σπόντα έμαθα ότι ο Γιώργος Κοτανίδης ανεβάζει ξανά στην Αθήνα το καταπληκτικό έργο του Peter Parnell, QED. Ο πλήρης ελληνικός τίτλος είναι «QED ή Τι απέδειξε ο κ. Φάυνμαν». Αυτή τη φορά, η παράσταση ανεβαίνει στην αίθουσα Θόλος, το θέατρο εικονικής πραγματικότητας του Κέντρου Πολιτισμού «Ελληνικός Κόσμος», γεγονός που δίνει στην παράσταση την δυνατότητα να εμπλουτιστεί σκηνοθετικά, προβάλλοντας στον θόλο εικόνες του σύμπαντος και ψηφιακές αναπαραστάσεις της κίνησης των ηλεκτρονίων και των πλανητών. Η πρεμιέρα γίνεται την Κυριακή 18 Δεκεμβρίου.

Για όσους δεν γνωρίζουν, το έργο αφορά μια μέρα από τη ζωή του νομπελίστα φυσικού Richard Feynman. Αντιγράφω από την σελίδα της παράστασης:

Μια κορυφαία μορφή της επιστήμης, ο Νομπελίστας φυσικός Ρίτσαρντ Φάυνμαν (1918-1988), ξαναζωντανεύει στη σκηνή. Βραβευμένος με Νόμπελ Φυσικής το 1965 για τη δουλειά του πάνω στην κβαντική ηλεκτροδυναμική (Quantum Electo-Dynamics), από τα αρχικά της οποίας προκύπτει ο τίτλος του έργου "QED", ο Φάυνμαν ήταν μια πολύπλευρη μαγευτική προσωπικότητα, που άγγιξε πολλούς τομείς της επιστημονικής δημιουργίας, της τέχνης και της κοινωνίας. Ένας άνθρωπος που στάθηκε γενναίος απέναντι στη ζωή, την επιστήμη, την τέχνη και τις γυναίκες. Γενναίος απέναντι στην εξουσία και στο θάνατο. Συγκαταλέγεται ανάμεσα στους φυσικούς που, στα 25 του χρόνια, δούλεψε για την κατασκευή της πρώτης ατομικής βόμβας. Παθιασμένος ντράμερ, ερασιτέχνης ηθοποιός, δημιουργικός ζωγράφος, ονειροπόλος ταξιδιώτης, αθεράπευτος γυναικάς, ένας υπερδραστήριος άνθρωπος. Συγκρούεται με το κατεστημένο στο όνομα της αλήθειας και αντιμάχεται τη σοβαροφάνεια με ειρωνεία και χιούμορ.

Ήμουν από τους τυχερούς που πρόλαβαν να δουν την παράσταση όταν ανέβηκε για λίγες μέρες -πριν μερικά χρόνια- στο Θεατράκι της ΧΑΝΘ, στη Θεσσαλονίκη. Το έργο, που στο μεγαλύτερο μέρος του είναι μονόλογος, είναι πολύ όμορφο ενώ η ερμηνεία του Κοτανίδη είναι καταπληκτική (μερικές δηλώσεις του εδώ). Αν είστε στην Αθήνα και δεν προλάβατε κάποια από τις προηγούμενες φορές που ανέβηκε το έργο, σας συνιστώ να πάτε τώρα οπωσδήποτε.

Εντωμεταξύ, εξίσου τυχαία ανακάλυψα ότι τα σπάνια Messenger Lectures που έδωσε ο Φάυνμαν στο Cornell, είχαν μαγνητοσκοπηθεί από το BBC και ο αγαπημένος σε όλους μας -είμαι σίγουρος- Bill Gates απέσπασε με προσωπικά του έξοδα τα copyrights γιατί «πιστεύει ότι όλος ο κόσμος πρέπει να τα παρακολουθήσει» [sic]. Πρόκειται για 7 lectures με διάρκεια μιας ώρας το καθένα, με θέμα την δημιουργία και την ενοποίηση των φυσικών νόμων. Έτσι, το τμήμα Microsoft Research, έφτιαξε μια -ομολογουμένως- αρκετά καλή σελίδα όπου μπορείτε να παρακολουθήσετε τα βίντεο των lectures με ταυτόχρονες διαδραστικές επεξηγήσεις. Το όλο project ονομάστηκε Project Tuva (όσοι δείτε την παράσταση θα γελάσετε μαθαίνοντας την σχέση του Φάυνμαν με την Λαϊκή Δημοκρατία της Tuva) και, όσοι έχετε εγκατεστημένο το Microsoft Silverlight (κάπου θα υπήρχε μια παγίδα, ε; ) μπορείτε να το δείτε εδώ. Είδα τα πρώτα δύο και πιστεύω ότι αξίζει τον κόπο (αντίθετα από την παράσταση που απευθύνεται στους πάντες, τα lectures απαιτούν μια κάποια σχέση με φυσική και μαθηματικά).

Comments 2 σχόλια »

ppc9 Πόσο έξυπνο είναι το επιστημονικό κομπιουτεράκι σας; Όποια και να είναι η απάντησή σας, σας εγγυώμαι ότι δεν συγκρίνεται με αυτό που θα παρουσιάσω εδώ.

Πολλοί από εσάς γνωρίζετε ότι είμαι μαθηματικός, αρκετοί ότι παραδίδω ιδιαίτερα μαθήματα και λίγοι ότι έχω ένα σχετικά φθηνό, χαμηλών προδιαγραφών PDA που χρησιμοποιώ κυρίως σαν ατζέντα για τα μαθήματα (πρόκειται για ένα HP iPAQ rx1950 με Windows Mobile 5).

Τα PDA είναι πολύ πρακτικά. Ειδικά αυτά που έχουν Windows Mobile και πλούσια χαρακτηριστικά συνδεσιμότητας όπως WiFi ή Bluetooth ή ακόμα αυτά που είναι συνάμα και τηλέφωνα. Εκτός από την προφανώς πρακτική χρήση τους ως full-featured ατζέντα (ειδικά π.χ. όταν χρειάζεται να ακυρώσεις ένα μάθημα και αμέσως μετά την διαγραφή του ραντεβού στο ημερολόγιο αποστέλεται αυτόματα μέσω SMS ειδοποίηση στον μαθητή για την ακύρωση) έχουν ένα σωρό άλλες δυνατότητες είτε προεγκατεστημένες, είτε ως εφαρμογές που κατεβάζεις από το δίκτυο.

Με τις κατάλληλες εφαρμογές, είναι υπολογιστής γραφείου (Word, Excel κλπ), book reader (PDF κλπ), music player (mp3, wma, ogg κλπ), video player (mpeg1/2/4, divx, xvid, qt, real κλπ), φωτογραφική μηχανή, κινητό τηλέφωνο, GPS, παιχνιδομηχανή και ότι άλλο βάλει ο νους σας. Είναι το απόλυτο gadget.

Εδώ και αρκετό καιρό, για εμένα που είμαι και μαθηματικός είναι κάτι ακόμα. Είναι το απόλυτο επιστημονικό calculator. Βέβαια προεγκατεστημένο έχει ένα πρόγραμμα calculator της κακιάς ώρας, αλλά μετά την εγκατάσταση του SpaceTime 3.0 ή του MathTablet 2.13 με προεκτάσεις XCAS -πιστέψτε με- μετατρέπεται σε παντοδύναμο calculator.

ppc7 ppc6

Φυσικά υπάρχει μια τεράστια ποικιλία calculators για Windows Mobile πλατφόρμα είτε σε freeware είτε σε commercial μορφή. Αυτό που κάνει τα SpaceTime και MathTablet να ξεχωρίζουν είναι:

  • Υποστηρίζουν μια αστεία μεγάλη γκάμα αριθμητικών μεθόδων για άλγεβρα (π.χ. υπολογισμούς ριζών, παρεμβολή πολυωνύμου), ανάλυση (π.χ. υπολογισμούς ορισμένων ολοκληρωμάτων πολλαπλών μεταβλητών), θεωρία αριθμών (π.χ. υπολογισμός διαιρετών, ανάλυση πρώτων παραγόντων), θεωρία πινάκων (π.χ. εύρεση ιδιοτιμών, ιδιοδιανυσμάτων, οριζουσών, αντιστρόφων, γενικευμένων αντιστόφων, μετασχηματισμοί Gauss, υπολογισμοί κανονικών μορφών Jordan και QR), στατιστική (π.χ. γραμμική παλινδρόμηση), πιθανότητες (π.χ. υπολογισμός τιμών για όλες τις γνωστές συναρτήσεις κατανομών) και για άλλους τομείς των μαθηματικών.
  • Υποστηρίζουν την δημιουργία custom συναρτήσεων και scripts. Διαθέτουν δηλαδή δική τους σκριπτογλώσσα στην οποία μπορείτε να δημιουργήσετε ότι θέλετε. Στο μάθημα της εφαρμοσμένης στατιστικής, στις εξετάσεις, όταν οι άλλοι έκαναν εκατοντάδες πράξεις στα κομπιουτεράκια τους, εγώ είχα φτιάξει ένα σκριπτάκι 20-30 γραμμών στο MathTablet που του έδινες ένα δείγμα οποιουδήποτε μεγέθους και σε μηδενικό χρόνο έκανε γραμμική παλλινδρόμηση, γράφιζε τα αποτελέσματα, έκανε ανάλυση διασποράς και υπολόγιζε τον πίνακα ANOVA. Περιττό να πω ποιός παρέδωσε πρώτος γραπτό. (Πέρα απ’το γεγονός ότι, αν ήθελα ;-) , μπορούσα να έχω και όλο το βιβλίο σε pdf μαζί μου στις εξετάσεις)

  • Έχουν εκτεταμένες δυνατότητες γραφημάτων. Ειδικά το SpaceTime, γραφίζει συναρτήσεις δύο, τριών ή τεσσάρων(!!!) διαστάσεων. Χρησιμοποιεί τον χρόνο ως τέταρτη διάσταση παρουσιάζοντας το γράφημα ως animation! Γραφίζει fractals! Γραφίζει πολλές συναρτήσεις μαζί και στο γράφημα εμφανίζει αυτόματα μέγιστα, ελάχιστα και σημεία τομής συναρτήσεων μεταξύ τους και με τους άξονες. Γραφίζει σε καρτεσιανές, κυλινδρικές, σφαιρικές ή και πολικές συντεταγμένες! Γραφίζει παραμετρικές εξισώσεις! Όσον αφορά την στατιστική κάνει ιστογράμματα, ραβδογράμματα, θηκογράμματα, γραφίζει γραμμικές, τετραγωνικές, κυβικές και παρεμβολές τετάρτου βαθμού και ότι άλλο φανταστείτε.
  • Και το καλύτερο το άφησα τελευταίο. Και τα δύο προγράμματα υποστηρίζουν συμβολική άλγεβρα. Το μεν SpaceTime έχει ενσωματωμένη αυτή την δυνατότητα, το δε MathTablet την υποστηρίζει μετά την εγκατάσταση ενός freeware πρόσθετου ονόματι Xcas. Η υποστήριξη συμβολικής άλγεβρας δίνει την δυνατότητα στα calculators να κάνουν υπολογισμούς με τρόπο παρόμοιο με τον άνθρωπο, χωρίς την χρήση αριθμητικών μεθόδων. Έτσι τα calculators αυτά μπορούν να υπολογίσουν σύνθετες παραγώγους και αόριστα ολοκληρώματα! Μπορούν να παραγοντοποιούν και να απλοποιούν σύνθετες παραστάσεις, να βρίσκουν όρια συναρτήσεων στο άπειρο και εκατοντάδες άλλες λειτουργίες που δεν μπορούν να υλοποιηθούν με αριθμητικές μεθόδους.

Δυστυχώς και τα δύο πραγράμματα είναι commercial και μάλιστα το SpaceTime είναι και κομματάκι ακριβό αφού με όλες τις δυνατότητες κοστίζει περίπου $40. Ωστόσο αν σκεφτείτε πόσο κοστίζει ένα καλό επιστημονικό calculator της HP ή της Casio ή της Ti, τότε μάλλον είναι πολύ φθηνό. Και φυσικά το «καλό» επιστημονικό calculator δεν έχει ούτε το 1/1000 των παραπάνω δυνατοτήτων.

Ίσως λοιπόν, και απευθύνομαι αποκλειστικά σε μαθηματικούς, εκείνο το iPod Touch που σκέφτεστε να αγοράσετε να μην είναι το ιδανικό gadget για σας…

Comments 17 σχόλια »

Μια ιδέα που εδώ και καιρό τριβέλιζε το μυαλό μας βρίσκεται πλέον εδώ σε πιλοτική φάση. Με το «μας» εννοώ εμένα, τον Γιώργο, τον Βάιο και τον Γιάννη (δηλαδή mouridis, shortmanikos, artnoage και johnny5 αντίστοιχα).

Τι είναι όμως το YouReka.gr; Γιατί δεν πάτε μια βόλτα προς τα ‘κει να μάθετε!

Comments 3 σχόλια »

cardtrick…ή αν είστε γονέας ή καθηγητής κάντε τα παιδιά να ενδιαφερθούν (έστω  στιγμιαία) για τα μαθηματικά.

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

Εισαγωγή

Όταν κάνεις ιδιαίτερα μαθηματικών, πιστεύω θα με καταλάβουν οι συνάδελφοι, υπάρχουν κάποιες μέρες στις οποίες ο πιτσιρικας δεν θέλει να ακούσει άλλη μια λέξη για μαθηματικά. Δεν θέλει βρε παιδί μου! Μπλόκαρε! Και με το δίκιο του δηλαδή, γιατί εδώ που τα λέμε, η διδακτική προσέγγιση των μαθηματικών είναι -τουλάχιστον στα ελαφρά προχωρημένα μαθηματικά του Λυκείου – κάπως «στεγνή». Και, μην παρεξηγηθώ, δεν κατηγορώ τους μελετητές της διδακτικής την μαθηματικών ως άσχετους ή τεμπέληδες. Απλά, αν θες να διδάξεις την συγκεκριμένη ύλη στον συγκεκριμένο χρόνο, η «στεγνή» αυτή προσέγγιση είναι μονόδρομος.

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

Όταν λοιπόν είναι μια από αυτές τις μέρες, που ο μαθητής έχει μουλαρώσει, ο δάσκαλος πρέπει να έχει 5-10 «ταχυδακτυλουργικά» κόλπα κρυμμένα στο μανίκι του για την επαναφορά του ενδιαφέροντος. Και όπως τα μικρά κολπάκια μιας μαμάς «ταίζουν» τα μωρά που αρνούνται το φαγητό, έτσι κι ο δάσκαλος τρέφει πνευματικά τον μαθητή.

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

Το κόλπο

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

Παρακάτω θα κάνω quote ένα μικρό απόσπασμα από την αρχή του βιβλίου «Ψηφιακό Οχυρό» του Dan Brown (Εκδόσεις Λιβάνη, ISBN 960-14-1101-1). Χρησιμοποιώ ένα κείμενο που έχει εκδοθεί και όχι ένα δικό μου κειμενάκι για να μην νομίσετε ότι το κόλπο δουλεύει μόνο όταν το κείμενο αυτό είναι ειδικά προκατασκευασμένο. Δεν σας ζητώ να διαβάσετε το κείμενο, σας ζητώ να κάνετε το εξής:

  1. Βάλτε ένα αριθμό στο νου σας από το 1 μέχρι το 10.
  2. Στο κείμενο, ξεκινώντας από την πρώτη λέξη, μεταφερθείτε στην λέξη η οποία είναι σε σειρά ίση με τον αριθμό που βάλατε στο νου σας. π.χ. αν βάλατε στο νου σας τον αριθμό 4, πηγαίνετε στην 4η λέξη του κειμένου.
  3. Στην λέξη που θα μεταφερθείτε μετρήστε πόσα γράμματα έχει. Αγνοήστε τις τελείες και τα κόμματα. Μόνο γράμματα.
  4. Ο αριθμός των γραμμάτων αυτών είναι ο νέος αριθμός στον νου σας. Επαναλάβατε τα βήματα 2-4 μέχρι να τελειώσει το απόσπασμα του κειμένου.

Το κείμενο:

«Λένε ότι την ώρα που πεθαίνει ο άνθρωπος τα πάντα γίνονται ξεκάθαρα· ο Ενσέι Τακάντο καταλάβαινε τώρα ότι αυτό ήταν αλήθεια. Καθώς έπιανε σφιχτά το στήθος του και έπεφτε σφαδάζοντας στο έδαφος, συνειδητοποίησε τι φρικτό σφάλμα είχε διαπράξει. Κάποιοι περαστικοί πλησίασαν, στάθηκαν σαστισμένοι από πάνω του, προσπάθησαν να βοηθήσουν. Όμως ο Τακάντο δεν ήθελε βοήθεια – ήταν πολύ αργά για τον ίδιο.»

Εφαρμόσατε την μέθοδο; Είστε έτοιμοι να βάλουμε ένα στοιχηματάκι;

Λοιπόν, άμπρα-κατάμπρα, μαντεύω ότι η τελευταία λέξη «κλειδί», πριν τελειώσει το κείμενο, ήταν η λέξη «για». Σαστίσατε;

Η εξήγηση

Ουσιαστικά, ότι αριθμό και να βάλετε στο νου σας θα καταλήξετε στην ίδια λέξη. Τι «φταίει» για αυτό; Είναι ειδικά κατασκευασμένο με κάποιο μυστικιστικό τρόπο το κέιμενο; Όχι. Η αλήθεια είναι ότι το κόλπο μπορεί να εφαρμοστεί σε κάθε απόσπασμα κειμένου στο οποίο ο αριθμός των λέξεων είναι αρκετά μεγαλύτερος από τον μέσο όρο του μήκους των λέξεων μέσα σε αυτό. Με απλά λόγια αυτό συμβαίνει επειδή, σε ένα τέτοιο απόσπασμα, αργά ή γρήγορα, με όποιον αριθμό και αν ξεκινήσατε, θα «πέσετε» πάνω στην ίδια λέξη και από εκεί και πέρα θα ακολουθήσετε την ίδια πορεία. Για παράδειγμα, κάποιος που ξεκίνησε με τον αριθμό 2, στην 2η επανάληψη του αλγορίθμου θα βρεθεί στη λέξη «που» της πρώτης γραμμής. Αλλά και κάποιος που ξεκίνησε με τον αριθμό 5 θα βρεθεί στην ίδια λέξη στην πρώτη επανάληψη. Το ίδιο και αυτός που ξεκίνησε με τον αριθμό 1, θα βρεθεί στο «που» στην δεύτερη επανάληψη. Απο την στιγμή εκείνη και μετά, είτε ξεκινήσαμε με 1, με 2 ή με 5 θα ακολουθήσουμε ακριβώς την ίδια ακολουθία λέξεων. Αρκεί λοιπόν να πάρουμε ένα αρκετά μεγάλο απόσπασμα, ώστε να «προλαβαίνουν» όλοι οι αριθμοί να μας οδηγούν, σε κάποια επανάληψη του αλγορίθμου, στην ίδια λέξη. Στο δικό μας κέιμενο, αυτό συμβαίνει για πρώτη φορά στην λέξη «πλησίασαν». Σε αυτήν την λέξη θα καταλήξετε σίγουρα, ξεκινώντας με οποιονδήποτε αριθμό μεταξύ 1 και 10. Και φυσικά από εκεί και πέρα, θα ακολουθήσετε όλοι την ακολουθία «Όμως», «ήθελε» και τέλος «για».

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

Επιτέλους! Το κόλπο με την τράπουλα.

Παρουσίασα την μέθοδο Kruskal Count αρχικά με την βοήθεια του αποσπάσματος κειμένου, και όχι με τράπουλα, γιατί η εφαρμογή στο κείμενο κάνει προφανή την εξήγηση. Ακόμα και να μην σας έδινα την εξήγηση, αργά ή γρήγορα, θα εφαρμόζατε 2-3 φορές την μέθοδο στο ίδιο κείμενο με διαφορετικούς αρχικούς αριθμούς και θα συνειδητοποιούσατε ότι «πατάτε» στις ίδιες λέξεις.

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

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

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

Αν δεν έχετε μαντέψει ήδη πως θα εφαρμόσετε την μέθοδο με τράπουλα δεν έχετε παρά να κάνετε τα εξής:

  1. Πάρτε μια τράπουλα
  2. Βρείτε ένα φίλο σας, κατά προτίμηση κάποιον που ισχυρίζεται ότι πολύ εύκολα μπορεί να ξεσκεπάσει κάθε ταχυδακτυλουργικό κόλπο και να βρει πως δουλεύουν όλα τα κόλπα του Copperfield.
  3. Δώστε του την τράπουλα.
  4. Πείτε του να την ανακατέψει όσο θέλει και με όποιο τρόπο θέλει.
  5. Πείτε του να σκεφτεί ένα αριθμό από το 1 μέχρι το 10 και να μην σας τον φανερώσει. Αυτός θα είναι ο πρώτος αριθμός κλειδί.
  6. Πείτε του, κρατώντας την τράπουλα στο ένα του χέρι με τις όψεις των καρτών προς τα κάτω, να ανοίγει τα φύλλα ένα-ένα πάνω στο τραπέζι, το ένα πάνω στο άλλο, με τις όψεις των καρτών φανερές ώστε βλέπετε και οι δύο ανά πάσα στιγμή το τελευτάιο τραπουλόχαρτο που ανοίχτηκε στο τραπέζι.
  7. Καθώς κάνει αυτό, και για κάθε κάρτα που κατεβάζει στο τραπέζι, να μετράει στο νου του αυξητικά ένα-ένα, ώστε για παράδειγμα, όταν ρίξει την πρώτη κάρτα να σκέφτεται το 1, όταν ρίξει την δεύτερη το 2 κ.ο.κ.
  8. Αυτό να το κάνει μέχρι να φτάσει τον αριθμό κλειδί που έχει στο νου του. π.χ. αν έχει ως αριθμό κλειδί το 5, να επαναλαμβάνει το βήμα 7 μέχρι να ρίξει το πέμπτο τραπουλόχαρτο.
  9. Το τραπουλόχαρτο στο οποίο «προσγειώθηκε» θα του δώσει τον νέο αριθμό κλειδί που πρέπει να έχει στο νου του. π.χ. αν αρχικά είχε σκεφτεί τον αριθμό κλειδί 5 και το πέμπτο τραπουλόχαρτο είναι το 8 κούπα, τότε ο νέος αριθμός κλειδί είναι το 8. Επειδή όμως τα τραπουλόχαρτα έχουν και φιγούρες χωρίς αριθμούς, όποτε ο φίλος μας «πέφτει» σε φιγούρα ας συμφωνήσουμε ότι η φιγούρα θα μετράει για 5.
  10. Με τον νέο αριθμό-κλειδί ο φίλος μας πρέπει να συνεχίσει να ρίχνει τραπουλόχαρτα, αφού έχει φυσικά σταματήσει την μέτρηση και την έχει ξαναρχίσει από το 1. π.χ. στο παράδειγμά μας όπου ο φίλος μας ξεκίνησε με αριθμό κλειδί το 5, μέτρησε μέχρι το 5 στο μυαλό του, είδε το 8 κούπα, το καταχώρησε σαν τον νέο αριθμό κλειδί και τώρα χωρίς καθυστέρηση, ωστέ να μην καταλάβουμε ότι σταμάτησε στο 5ο τραπουλόχαρτο, ρίχνει το 6ο τραπουλόχαρτο ξεκινώντας μέσα του την αρίθμηση ξανά από το 1. Έτσι όταν θα ρίχνει το 13ο τραπουλόχαρτο στο τραπέζι, θα έχει μετρήσει μέσα του μέχρι το 8, το οποίο είναι ο δεύτερος αριθμός κλειδί. Από το 13ο τραπουλόχαρτο θα πάρει τον τρίτο αριθμό κλειδί, και ρίχνοντας το 14ο τραπουλόχαρτο θα αρχίσει την εσωτερική του αρίθμηση ξανά από το 1. Θα ακολουθήσει ομοίως.
  11. Σε κάποια στιγμή η τράπουλα θα φτάνει στο τέλος της και ο φίλος σας θα έχει μείνει με ένα αριθμό κλειδί στον νου του για τον οποίο δεν θα μπορεί να εφαρμόσει το επόμενο βήμα γιατί δεν θα του φτάνουν τα τραπουλόχαρτα για να «προσγειωθεί» στην επόμενη κάρτα κλειδί. Παρόλα αυτά, για να μην προδώσει το τελευταίο τραπουλόχαρτο κλειδί, που «πάτησε», θα συνεχίσει να ανοίγει τραπουλόχαρτα στο τραπέζι μέχρι να τελειώσει η τράπουλα.

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

Πως θα το κάνετε αυτό; Πολύ απλά!

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

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

cardtrick1Δείτε, κάνοντας κλικ στην εικόνα δεξιά, πως επιλέγοντας σαν αρχικό αριθμό κλειδί είτε το 1(μπλε), είτε το 2(μωβ), είτε το 3(πράσινο) θα καταλήξετε στο ίδιο αποτέλεσμα. Φυσικά παρότι είναι σημειωμένες στην εικόνα μόνο οι ακολουθίες για αρχικό αριθμό κλειδί 1,2 και 3 μπορείτε να δείτε εύκολα ότι θα καταλήξετε στο 4μπαστούνι με οποιοδήποτε αρχικό αριθμό κλειδί και αν επιλέξετε μεταξύ 1 και 10.

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

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

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

Περισσότερα

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

Comments 14 σχόλια »

Η κατάσταση. Γίνεται χαμός στο εξωτερικό. Εταιρίες και σύλλογοι προστασίας των πνευματικών δικαιωμάτων των δημιουργών μουσικής, ταινιών, software, που μέχρι τώρα έβαλλαν κατά των P2P δικτύων διαμοίρασης αρχείων, όπως το Napster, to Kazaa κλπ, αποφάσισαν ότι αυτό δεν είναι η καλύτερη τακτική. Όσα P2P δίκτυα και να κλείσεις, άλλα πιο δημοφιλή θα αναδυθούν από τις στάχτες. Έτσι λοιπόν, εδώ και καιρό, έχουν ένα νέο σχέδιο σε εφαρμογή. Τα εξώδικα αντί να τα λαμβάνουν εταιρίες και οργανισμοί που λειτουργούν P2P δίκτυα, τα λαμβάνουν απλοί χρήστες του δικτύου. Δεν κυνηγάνε τα μεγάλα ψάρια πλέον, κυνηγάνε τον απλό χρήστη, τον ανήμπορο να πληρώσει ακριβούς δικηγόρους (αν μπορούσε θα πλήρωνε για τα CD και τα DVD αντί να τα κατεβάζει από P2P δίκτυα) με απώτερο σκοπό τον εκφοβισμό των υπολοίπων χρηστών. Στην Ελλάδα δεν είχαμε κρούσματα ακόμα, αν και έχω πληροφορίες συγκεκριμένα τουλάχιστον για το κέντρο διαχείρισης δικτύου του Α.Π.Θ., που παρέχει στους φοιτητές του τεράστια εύρη γραμμών με το εξωτερικό, πολύ μεγαλύτερα από τις ταπεινές DSL μας, λαμβάνουν καθημερινά πολλά mail από το εξωτερικό με καταγγελίες για συγκεκριμένες IP διευθύνσεις εντός του ιδρύματος. Φαντάζομαι ότι κάτι παρόμοιο θα συμβαίνει και σε κάθε μεγάλο ελληνικό ISP. Το θέμα είναι ότι στην Ελλάδα οι νομικές πιέσεις δεν είναι ακόμα μεγάλες και έτσι ο έλληνας την «βγάζει καθαρή» και αμέριμνος συνεχίζει να έχει εγκατεστημένα κάποια απ’ τα uTorrent, Azureus, LimeWire, eMule, DC++ κλπ. Μέχρι ο κλητήρας να του χτυπήσει την πόρτα.

Πως Γίνονται οι Μηνύσεις; Ας πούμε ότι δουλεύω για την MPAA, την Motion Picture Association of America. Ας πούμε επίσης ότι τα αφεντικά μου έχουν τρελαθεί γιατί το “Χάρι Πότερ 13: Το σεντούκι με τα φράγκα” ενώ μόλις βγήκε στις αμερικάνικες αίθουσες, το έχει δει ήδη η μισή υφήλιος γιατί κυκλοφορεί στο διαδίκτυο εδώ και ένα μήνα. Τι κάνω; Πάω στο PirateBay.org, κάνω μια έρευνα για την ταινία, βρίσκω το κατάλληλο torrent με μπόλικα seeds, το κατεβάζω, ανοίγω το torrent που κατέβασα με το uTorrent μου, και αρχίζω να κατεβάζω και εγώ παράνομα την ταινία. Στο μεταξύ και μέχρι να κατέβει, βάζω το uTorrent να σώσει όλες τις διευθύνσεις IP με τις οποίες συνδέομαι για να κατεβάσω την ταινία. Αφού κατεβάσω την ταινία και επιβεβαιώσω ότι είναι όντως το παράνομο «Χάρι Πότερ», κάνω traceroute όλα τα IP και βρίσκω σε ποιους παρόχους internet ανήκουν. Ας πούμε ότι ένα IP ανήκει στον εικονικό ISP, fifthnet. Στέλνω ένα email στην fifthnet και τους λέω ότι την τάδε ώρα, ο συνδρομητής τους με IP την τάδε IP, είχε στην κατοχή του και ακόμα χειρότερα μοιραζόταν με το υπόλοιπο διαδίκτυο, παράνομο υλικό. Ζητάω από την fifthnet να μου δώσει τα στοιχεία του χρήστη που κατείχε την δεδομένη ώρα την δεδομένη IP. Η ευρωπαική νομοθεσία απαιτεί οι ISP να κρατάνε αρχείο που να δείχνει ποιος χρήστης είχε σε χρήση μια συγκεκριμένη IP, για τουλάχιστον 6 μήνες. Παίρνω τα στοιχεία, τα δίνω στο νομικό τμήμα της εταιρίας και το εξώδικο έχει πάρει το δρόμο του.

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

Στην Ελλάδα η διαδικασία κολλάει εκεί που η fifthnet πρέπει να «καρφώσει» τον χρήστη. Οι ISP δεν έχουν συμφέρον να καρφώνουν τους πελάτες τους γιατί με αυτόν τον τρόπο καταστρέφουν το όνομά τους και χάνουν πελάτες. Στην Αμερική μάλιστα υπάρχουν ISP που διαφημίζουν την εχεμύθειά τους. Προστατεύοντας τους πελάτες τους, κερδίζουν τεράστια εισροή νέων πελατών και συνεπώς χρήμα. Το χρήμα αυτό το χρειάζονται για να πληρώνουν τα πρόστιμα που τους επιβάλλουν τα δικαστήρια για την συγκάληψη του δράστη. Στην Ελλάδα αυτό φυσικά δεν χρειάζεται γιατί δεν υπάρχουν νομικές πιέσεις. Οι ελληνικοί ISP κάνουν προς το παρόν «τον κινέζο». Για πόσο καιρό όμως;

Τι έκαναν γι’ αυτό τα P2P δίκτυα; Αρχικά τα P2P δίκτυα όπως το Napster είχαν κεντρικούς servers όπου ο χρήστης έπρεπε να συνδεθεί για να έρθει σε επαφή με άλλους χρήστες και να μοιραστούν όλοι τα αρχεία τους. Η δουλειά συλλόγων όπως της RIAA και της MPAA ήταν απλή τότε μιας και απαιτούσε την νομική επίθεση μόνο στους ιδιώτες που συντηρούσαν τους servers. Κλείνοντας τους servers εμπόδιζαν εκατομμύρια χρήστες να μοιράζονται αρχεία και περιόριζαν σημαντικά την πειρατεία.

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

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

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

Έτσι ενώ σήμερα τα διασημότερα πρωτόκολλα όπως το BitTorrent και το DC++ χρειάζονται κεντρικούς server, είτε αυτός λέγεται tracker στην περίπτωση του BitTorrent, είτε λέγεται hub στην περίπτωση του DC++, οι εταιρίες προστασίας πνευματικών δικαιωμάτων δεν τους κυνηγάνε νομικά. Κυνηγάνε τους χρήστες με τον τρόπο που αναφέραμε παραπάνω.

Άκου τι σκεφτήκα! Η σκέψη για το πώς να κατασκευαστεί ή να μετατραπεί ένα υπάρχων P2P πρωτόκολλο ώστε να είναι αλώβητο σε μηνύσεις μου καρφώθηκε πριν αρκετό καιρό. Σκεφτόμουν ότι οι προσπάθειες όλων όσων θέλουν να αποφύγουν μηνύσεις περιστρέφονται γύρω από τρόπους να αποκρύψουν την IP τους, μια μέθοδος που ουσιαστικά απαιτεί την ύπαρξη ανώνυμων proxy servers το οποίο επαναφέρει το πρόβλημα εξάρτησης των χρηστών από servers οι οποίοι μπορούν κάλλιστα να κυνηγηθούν νομικά και να κλείσουν. Έτσι δεν το δεχόμουν σαν λύση και έψαχνα κάτι διαφορετικό.

Όπως οι περισσότεροι γνωρίζετε είμαι μαθηματικός και πριν μερικούς μήνες συζητούσα με ένα φίλο για μια μέθοδο επώνυμης δημοσκόπησης ευαίσθητων νομικά θεμάτων. Η μέθοδος στηρίζεται στην νομική αρχή της βάσιμης αμφιβολίας (reasonable doubt). Την διάβασα στο βιβλίο «Εισαγωγή στη Δειγματοληψία» του δόκτορα Νικόλαου Φαρμάκη πρόεδρου του τμήματος Στατιστικής του τμήματος Μαθηματικών του Α.Π.Θ. Τότε σκέφτηκα ότι η μέθοδος αυτή μπορεί να χρησιμοποιηθεί στη δημιουργία ενός P2P πρωτοκόλλου.

Θα περιγράψω πρώτα την μέθοδο δημοσκόπησης και μετά θα δούμε πως μπορεί μια ανάλογη μέθοδος να ενσωματωθεί σε ένα P2P πρωτόκολλο.

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

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

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

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

Το θέμα είναι ότι ενώ σε ένα δείγμα π.χ. 2000 ανθρώπων ο εισαγγελέας γνωρίζει ότι οι 1800 (90%) κλέβουν την εφορία δεν μπορεί να καταδικάσει κανέναν από τους επώνυμους 1800 ανθρώπους που απάντησαν θετικά, ότι δηλαδή, κλέβουν την εφορία. Γιατί καθένας από τους 1800 ανθρώπους μπορεί να ισχυριστεί στο δικαστήριο ότι τράβηξε τον λαχνό με τον αριθμό 1. Και ενώ όλο το δικαστήριο θα γνωρίζει ότι οι πιθανότητες λένε ότι σε 2000 άτομα περίπου 2 μόνο θα τραβήξουν τον αριθμό 1, δεν θα γνωρίζει ποιος από τους 1800 λέει αλήθεια ή ψέματα. Η αρχή της βάσιμης αμφιβολίας λέει ότι δεν μπορείς να καταδικάσεις έναν πιθανά αθώο ή ανάποδα έναν αμφίβολα ένοχο. Και ο καθένας έχει πιθανότητα 999/1000 να είναι ένοχος αλλά υπάρχει και πιθανότητα 1/1000 να είναι αθώος και οι καταδίκες δεν γίνονται όταν νομίζουμε την ενοχή αλλά όταν αυτή είναι αληθινή πέρα από βάσιμες αμφιβολίες (beyond reasonable doubt).

Εφαρμογή σε P2P [update 12/9]. Ας δούμε τώρα πως μπορεί να εφαρμοστεί η μέθοδος σε ένα P2P πρωτόκολλο. Θα προσπαθήσω να χρησιμοποιήσω το δυνατόν λιγότερους τεχνικούς όρους ώστε να είναι εύκολα κατανοητό.

Ας πάρουμε για παράδειγμα το πρωτόκολλο BitTorrent και ας δούμε περιληπτικά πως λειτουργεί.

Ο BitTorrent client όπως είναι σήμερα παίρνει από τον tracker μια λίστα με διευθύνσεις IP υπολογιστών που διαθέτουν το αρχείο που θέλει ο χρήστης να κατεβάσει (seeders). Επίσης παίρνει και μια λίστα με διευθύνσεις IP υπολογιστών που επιθυμούν και βρίσκονται ήδη στη διαδικασία να κατεβάσουν το εν λόγω αρχείο αλλά δεν το έχουν ολοκληρώσει (leachers). Επίσης ο client προμηθεύεται από τον tracker με μια λίστα από hashes για κάθε κομματάκι του συνολικού torrent. Στην συνέχεια ο client συνδέεται με όσους περισσότερους seeders και leachers είναι δυνατόν, ώστε να κατεβάζει μέρη του αρχείου από τους seeders, να κατεβάζει μέρη του αρχείου από του leachers που έχουν κατεβάσει ήδη μέρη του αρχείου από τους seeders, και για να δώσει σε άλλους leachers κομμάτια του αρχείου που αυτός κατέβασε ήδη αλλά αυτοί δεν έχουν λάβει ακόμα. Όσο ο client κατεβάζει είναι leacher, δηλαδή παίρνει μέρη του αρχείου από seeders και άλλους leachers σαν και αυτόν, αλλά και δίνει μέρη του αρχείου σε άλλους leachers όπως εκείνος παίρνει. Όταν ολοκληρωθεί το κατέβασμα, ο client γίνεται seeder, δεν κατεβάζει πλέον από κανέναν, δεν χρειάζεται να είναι συνδεμένος με άλλους seeders αλλά συνδέεται μόνο με leachers για να δώσει το αρχείο παραπέρα. Κατά την διάρκεια του downloading, όλα τα κομμάτια που λαμβάνει ο client από τους υπόλοιπους χρήστες ελέγχονται για την εγκυρότητα τους και για λάθη κατά την μεταφορά, σύμφωνα με τα hashes που έχει προμηθευτεί εξ αρχής ο client από τον tracker. Αν ένα κομμάτι βρεθεί ελαττωματικό γιατί περιέχει λανθασμένα δεδομένα απορρίπτεται ως hashfail.

Η όλη διαδικασία είναι διάφανη και ο χρήστης του client μπορεί να δει με ποιες διευθύνσεις IP συνδέεται και τι μέρος του αρχείου έχει ο καθένας. Αυτό είναι και το πρόβλημα.

Πως εφαρμόζουμε λοιπόν την μέθοδο στο πρωτόκολλο; Ο tracker μπορεί να δίνει μαζί με τις πραγματικές IP και την IP ενός χρήστη που δεν μοιράζεται το συγκεκριμένο αρχείο αλλά κάποια άλλα αρχεία. Όταν ο client ο δικός μας επικοινωνήσει με αυτήν την IP και ζητήσει το αρχείο που ο υπολογιστής στην άλλη άκρη της σύνδεσης δεν έχει, ο client εκεί θα αρχίσει να δημιουργεί και να στέλνει τυχαία δεδομένα. Ο δικός μας client θα λαμβάνει αλλά θα απορρίπτει φυσικά τα δεδομένα που θα λαμβάνει από τον συγκεκριμένο χρήστη ως hashfails. Όλες οι συνδέσεις μεταξύ όλων των χρηστών, seeders και leachers, θα είναι κωδικοποιημένες, μια επιλογή που υπάρχει ήδη στους BitTorrent clients.

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

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

Το τίμημα φυσικά θα είναι ένα ποσοστό bandwidth που θα πηγαίνει χαμένο, για την επικοινωνία με τον ψεύτικο κάτοχο του torrent.

Η υλοποίηση στο πρωτόκολλο BitTorrent δίνεται ενδεικτικά, και δεν είναι και η καλύτερη δυνατή γιατί ο uploader του torrent συνεχίζει να μένει εκτεθειμένος, παρόλα αυτά η εφαρμογή σε ένα δίκτυο σαν αυτό του GNUtella που δεν απαιτεί κεντρικούς servers θα καθιστούσε το δίκτυο τελείως αλεξίσφαιρο από μηνύσεις.

Comments 6 σχόλια »

Ο Δημήτρης είναι (μαζί με τον μυτόγκα) ένας από τους πιο μορφωμένους άνθρωπους που γνωρίζω. Ο λόγος που τον αναφέρω είναι ότι το Σαββατοκύριακο που πέρασε, κατέβηκε Ελλάδα και με επισκεύτηκε. Ο Δημήτρης κάνει διδακτορικό στο Λονδίνο πάνω στα οπορτουνιστικά πρωτόκολλα δικτύωσης, ένα πολύ ενδιαφέρων θέμα που θα μας απασχολήσει πολύ στο προσεχές μέλλον με όλα αυτά τα γκατζετάκια που βγαίνουν και υποστηρίζουν ασύρματη δικτύωση μικρής εμβέλειας (Bluetooth, WiFi κλπ). Με απλά λόγια αυτό που προσπαθούν να κάνουν, αυτός και η υπόλοιπη ομάδα στο Λονδίνο, είναι να βρουν ένα πρωτόκολλο επικοινωνίας για network enabled μικροσυσκευές που οι άνθρωποι έχουν πάντα μαζί τους (π.χ. κινητά τηλέφωνα, car gps κλπ), τέτοιο ώστε να μπορεί κάποιος να επικοινωνεί με ανθρώπους σε απομακρυσμένα σημεία, χρησιμοποιώντας ως ενδιάμεσους κόμβους συσκευές άλλων ανθρώπων, άσχετων με την συγκεκριμένη επικοινωνία, οι οποίοι απλά έχουν την πιθανότητα να μετακινηθούν προς τον τελικό παραλήπτη. Για παράδειγμα αν θέλω εγώ στην Τούμπα να στείλω ένα μύνημα στον φίλο μου τον Δημήτρη στους Αμπελόκηπους το πρωτόκολλο θα αναλαμβάνει να δρομολογήσει το μύνημά μου, στέλνοντάς το πρώτα σε μια κυρία που περνά κάτω από το μπαλκόνι μου γιατί είναι η μόνη που είναι στην εμβέλειά μου, αυτή με τη σειρά της θα περάσει το μύνημα σε ένα περαστικό ταξί που πηγαίνει δυτικά, το οποίο στο δρόμο του θα το στέλνει σε διάφορους άλλους αποδέκτες που σύμφωνα με κάποια κριτήρια θα έχουν μεγάλη πιθανότητα να κινηθούν ακόμα πιο δυτικά, προς Αμπελόκηπους, μέχρι το μύνημα να φτάσει τελικά στον Δημήτρη. Ακούγεται αργό και άσκοπο, αλλά δεν είναι. Στην πράξη αν υπάρχουν αρκετές συσκευές όπως σε μια πόλη μπορεί να είναι αρκετά γρήγορο. Άλλωστε αυτή δεν είναι η μόνη εφαρμογή των οπορτουνιστικών πρωτοκόλλων δικτύωσης. Σκεφτείτε πως μπορούν να επικοινωνήσουν μεταξύ τους δορυφόροι, οι οποίοι λόγω τροχιάς δεν μπορούν να έχουν οπτική επαφή ο ένας με τον άλλον. Εφαρμόζοντας ένα τέτοιο πρωτόκολλο δορυφόροι με απομακρυσμένες τροχιές μπορούν να επικοινωνούν με τον πιο αποδοτικό τρόπο επιλέγοντας τους σωστούς τρίτους δορυφόρους ως ενδιάμεσους για να ανταλλάξουν πληροφορίες.  

Στον Δημήτρη ώς μαθηματικό με μεταπτυχιακό πάνω στις εφαρμογές πληροφορικής έχει ανατεθεί η δουλειά να φτιάχνει αλγόριθμους που δημιουργούν συνθετικά δικτυωτά, στα οποία οι κόμβοι είναι οι μονάδες επικοινωνίας (π.χ. bluetooth συσκευές, δορυφόροι κλπ), τα οποία έχουν την ιδιότητα να προσομοιώνουν τον τρόπο συμπεριφοράς των συνόλων των μονάδων επικοινωνίας. Για παράδειγμα οι αλγόριθμοι του Δημήτρη δέχονται σαν είσοδο την συμπεριφορά ενός δείγματος 100 ανθρώπων που ζουν σε μια πολυκατοικία, δηλαδή το πόσο συχνά συναντιέται ο καθένας με τον άλλο, για πόση ώρα κλπ, και έχουν την δυνατότητα να παράγουν μεγαλύτερα δικτυωτά με παρόμοια ρεαλιστική συμπεριφορά. Ο σκοπός είναι η δημιουργία από την δουλειά του Δημήτρη, προγραμμάτων-εξομοιωτών πάνω στα οποία θα εφαρμόζονται τα διάφορα πρωτόκολλα  οπορτουνιστικής δικτύωσης για να ελεγθεί η απόδοσή τους.

Δεν ξέρω πόσο εύκολη σας φαίνεται αυτή η δουλειά αλλά αν με εμπιστεύεστε καθόλου, πιστέψτε με, δεν είναι. Ο Δημήτρης μου ζήτησε να του δώσω, αν έχω, κάποιες ιδέες για το πως θα ενσωματώσει ρύθμιση του clustering στα συνθετικά του δικτυωτά. Ουσιαστικά, και με πολύ απλά λόγια, αυτό που δεν έκαναν οι αλγόριθμοι του Δημήτρη είναι να δημιουργούν αρκετές μεταβατικές σχέσεις μεταξύ των κόμβων (π.χ. ανθρώπων) δηλαδή δεν δημιουργούσαν «φιλίες μέσω τρίτων». Στην πραγματικότητα παρατηρείται ότι ακόμα και αν δύο άνθρωποι δεν γνωρίζονται, και συνεπώς δεν έρχονται συχνά σε επαφή, να έχουν ένα κοινό γνωστό («τι μικρός που είναι ο κόσμος;»). Τα συνθετικά του Δημήτρη δεν δημιουργούσαν αρκετές τέτοιες μεταβατικές σχέσεις ώστε να αποτελούν αντιπροσωπευτικό δείγμα ενός ρεαλιστικού πληθυσμού. Στα μαθηματικά, το να ενσωματώνεις τέτοιου είδους σχέσεις σε δικτυωτά ισοδυναμεί με το να παίρνεις υπόψην την clustering coefficient στον αλγόριθμο παραγωγής δικτυωτών.

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

Comments 7 σχόλια »