Sudoku for nerds

Posted in programming on 23 Δεκεμβρίου 2008 by mathpoet

Από αυτό το πολύ ενδιαφέρον άρθρο, ανακάλυψα το projecteuler.net. Έχει μια λίστα από ωραίες προγραμματιστικές σπαζοκεφαλιές, η οποία ανανεώνεται συνεχώς. Κάποια προβλήματα απαιτούν ένα σχετικό μαθηματικό υπόβαθρο, αλλά δεν είναι όλα έτσι.  Τα πιο διασκεδαστικά, τουλάχιστον για εμάς τους μη-μαθηματικούς,  λύνονται βρίσκοντας έναν αποδοτικό αλγόριθμο γιατί η εξαντλητική αναζήτηση (brute force) είναι ασύμφορη. Χαρακτηριστικό παράδειγμα είναι το πρόβλημα 119:

The number 512 is interesting because it is equal to the sum of its digits raised to some power: 5 + 1 + 2 = 8, and 8^(3) = 512. Another example of a number with this property is 614656 = 28^(4).

We shall define a_(n) to be the nth term of this sequence and insist that a number must contain at least two digits to have a sum.

You are given that a_(2) = 512 and a_(10) = 614656.

Find a_(30).

Με java λύνεται σε 10-20 γραμμές και τρέχει πρακτικά ακαριαία, αρκεί να βρεθεί η πλάγια οδός…

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

hint: Στο αρχικό άρθρο μην παραλείψετε να τσεκάρετε την ιδέα No 11.

Άνευ τίτλου

Posted in Uncategorized on 16 Δεκεμβρίου 2008 by mathpoet

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

Τι κάνει ο Η/Υ όσο περιμένετε;

Posted in technology on 2 Δεκεμβρίου 2008 by mathpoet

Ο κύριος Gustavo Duarte, έγραψε ένα πολύ ενδιαφέρον άρθρο για την αρχιτεκτονική των σύγχρονων (intel core 2 duo) υπολογιστών. Αν δεν θέλετε να το διαβάσετε, δείτε τουλάχιστον το καταπληκτικό σχήμα. Ο βασικός του σκοπός είναι να δείξει τι καθυστερεί την εκτέλεση των προγραμμάτων και γι’ αυτό έκανε κάτι πολύ ωραίο. Έβαλε σε κάθε μονάδα επεξεργασίας και μεταφοράς δεδομένων τους πραγματικούς χρόνους. Οι περισσότεροι χρήστες δεν είναι σε θέση να ασχοληθούν με τα GHz και τα Gbps, απλά έχουν σαν βασικό κανόνα ότι το μεγαλύτερο νούμερο σημαίνει και καλύτερο προϊόν. Προφανώς αυτό είναι λάθος και το εκμεταλλεύονται οι εταιρείες συνέχεια, αλλά δεν είναι εύκολο να αλλάξει. Θέλω όμως να τονίσω κάτι άλλο που συναρπάζει συνέχεια ακόμα και αυτούς που ξέρουν 5-6 ακρωνύμια παραπάνω. Την απίστευτη ισχύ των σύγχρονων κυκλωμάτων. Όπως πολύ ωραία αναφέρει το άρθρο, ένας επεξεργαστής με ρολόι 3GHz εκτελεί μια στοιχειώδη εντολή (πχ την ακέραια διαίρεση ενός 18ψήφιου αριθμού με το 2) σε 0,00000000033sec! Αυτός είναι ο χρόνος που το φως ταξιδεύει περίπου 10cm. Επίσης σκεφτείτε ότι οι σύγχρονοι επεξεργαστές έχουν 4 πυρήνες. Δηλαδή 4 (σύντομα 8, 16,…) τέτοιες παράλληλες πράξεις στον ίδιο χρόνο. Κάθε φορά που το σκέφτομαι…

Γιατί όμως οι υπολογιστές εξακολουθούν να αργούν τόσο πολύ μερικές φορές; Στα σχήματα του Gustavo φαίνεται ξεκάθαρα. Το πρόβλημα είναι ο χρόνος που χρειάζεται για να φτάσουν οι πληροφορίες από το μέσο αποθήκευσης/εισόδου (μνήμη, δίσκος κλπ) όπου βρίσκονται στον επεξεργαστή και πάλι πίσω σε κάποιο άλλο μέσο αποθήκευσης/εξόδου. Όπως χαρακτηριστικά παρουσιάζεται, αν αντιστοιχήσουμε τη μεταφορά μιας λέξης από την L1 cache στον επεξεργαστή στην αναζήτηση μιας σελίδας στο γραφείο μας (3sec), τότε η αναζήτηση στο δίσκο είναι σαν να ψάχνουμε σε όλη τη γη για 1 χρόνο και 3 μήνες! Γι’ αυτό μια καλή αναβάθμιση επεξεργαστή δεν σημαίνει ανάλογη βελτίωση στη γενική χρήση του Η/Υ.

ΥΓ: Η σύγκριση με την ταχύτητα του φωτός μου έδωσε μια ιδέα. Δεν θα είχε πλάκα, όπως κάνουν οι αστρονόμοι με τις αποστάσεις, να μετράμε τη συχνότητα του ρολογιού του επεξεργαστή με ας πούμε «αποστάσεις φωτός»; …Κάνε καμιά αναβάθμιση ρε τσίπη, ο επεξεργαστής σου είναι ακόμα στα 6cm φωτός και όλοι έχουμε πέσει στο επίπεδο των mm.

EDIT: Υπάρχουν και κάτι άτομα σαν τον duck που εκτελούν τις δικές τους στοιχειώδεις εντολές σε 0,00000000018sec και 0,00000000012sec! (5,4 cm φωτός και 3,7cm φωτός αντίστοιχα)

logicomix

Posted in books on 29 Νοεμβρίου 2008 by mathpoet

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

Το βιβλίο εξιστορεί δια στόματος του πρωταγωνιστή Μπέρτραντ Ράσελ, την ιστορία της αναζήτησης του «Άγιου Δισκοπότηρου» της υψηλής διανόησης. Την απόδειξη της πίστης ότι η λογική και κατ’ επέκταση τα μαθηματικά είναι το μέσο που θα μας οδηγήσει στην αλήθεια. Η περιπέτεια αυτή έχει τραγικά στοιχεία και όλως παραδόξως, κάμποση τρέλα. Είναι αδύνατο να μείνεις ασυγκίνητος παρακολουθώντας την κατάρρευση του ονείρου των μεγάλων διανοητών και να μην νιώσεις κι εσύ την απογοήτευση μετά την ήττα της ανθρώπινης λογικής. Όπως λέει όμως και ο Παπαδημητρίου στο τέλος, τα πράγματα δεν είναι τόσο μαύρα. Το έργο αυτών των ιερών τεράτων δεν πήγε χαμένο, γέννησε την επιστήμη της πληροφορικής. Επίσης η ιστορία της αναζήτησης μας δίνει και ένα άλλο πολύ μεγάλο μάθημα. Όπως λέει ο πρωταγωνιστής του βιβλίου:

Βλέπετε, ο Βίτγκενσταϊν είχε δίκιο: ακόμη και «όλη η επιστήμη» δεν φτάνει για να καταλάβουμε το Νόημα του Κόσμου! (…) Ίσως και να ‘ρθε ο καιρός να στραφούμε σε μιαν άλλη παλιά τριάδα: Δικαιοσύνη, Ευθύνη… ακόμη και τη διάκριση Καλό-Κακό… Με άλλα λόγια, όλες τις -κατά τον Σλικ- «ανεπίδεκτες επιστημονικής αντιμετώπισης» έννοιες.

Και για να είμαι εντάξει απέναντι στον φίλο pelspir: Έχεις απόλυτο δίκιο. Τα μαθηματικά δεν έχουν τις απαντήσεις για όλα. Αυτή την αλήθεια όμως τη γνωρίζουμε γιατί αποδείχθηκε μαθηματικά. Αυτό το παράδοξο μας δείχνει ξεκάθαρα τη μαγεία και το μεγαλείο τους.

Athens digital week

Posted in technology on 26 Νοεμβρίου 2008 by mathpoet

Τώρα είδα κάποιες φωτογραφίες που τράβηξα στο Athens digital week και ενώ έχει περάσει ένας μήνας, είναι ευκαιρία να εκφράσω τον ενθουσιασμό μου. Η εκδήλωση ήταν καταπληκτική! Δεν είχε καμία σχέση με τις κλασικές εκθέσεις οι οποίες έχουν στόχο την προβολή των επιχειρήσεων. Ήταν μια πραγματική γιορτή της τεχνολογίας. Μίλησα με φοιτητές για τις εργασίες τους, παιδιά που ασχολούνται με το ελεύθερο λογισμικό, είδα τους κουρήτες και την ρομπο-ποδοσφαιρική τους ομάδα, θαύμασα επαγγελματίες gamers, άκουσα ηλεκτρονική μουσική και παρακολούθησα τρισδιάστατα animations. Δυστυχώς έχασα κάποιες ενδιαφέρουσες ομιλίες, αλλά οι υποχρεώσεις δεν μου άφησαν περιθώρια. Διοργανωτές και συμμετέχοντες αξίζουν συγχαρητήρια και εύχομαι την επόμενη χρονιά να ανέβει ακόμα πιο ψηλά ο πήχης.

D)

Ο πρώτος υπολογιστής στον οποίο έγραψα κώδικα. (Σημείωση για τα νέα παιδιά: Αυτό είναι ολόκληρος ο υπολογιστής όχι μόνο το πληκτρολόγιο :D)

Διάφορα ρομποτάκια

Διάφορα ρομποτάκια

Σκληρά μαρκαρίσματα μεταξύ Ελλήνων και Ιταλών

Σκληρά μαρκαρίσματα μεταξύ Ελλήνων και Ιταλών

Εκπαιδευόμενοι hackers

Εκπαιδευόμενοι hackers

Ψηφιακά… αγκού!

Posted in technology on 25 Νοεμβρίου 2008 by mathpoet

Δεν έχω να πω κάτι, η εικόνα μιλάει από μόνη της…

Την είδα σε αυτό το άρθρο και σχεδόν συγκινήθηκα 😀

Προς Άγιο Βασίλη: Ομολογώ ότι δεν ήμουν και το καλύτερο παιδί φέτος, αλλά δεν ζητάω πολλά, ένα NAO μου αρκεί.

Facebook

Posted in technology on 24 Νοεμβρίου 2008 by mathpoet

Όλοι έχουμε καταλάβει ότι οι εφαρμογές κοινωνικής δικτύωσης δεν είναι
απλά μια ηλεκτρονική υπηρεσία, αλλά ένα κοινωνικό φαινόμενο. Στη σελίδα της Ομάδας Δράσης για την Ψηφιακή Ασφάλεια, έχουν αναρτήσει μια ελληνική έρευνα για το facebook και τη διάβασα με πολύ ενδιαφέρον. Η παράγραφος «facebook και κατάθλιψη» είναι τουλάχιστον τρομακτική αλλά μάλλον επιβεβαιώνεται από αυτά που παρατηρούν οι χρήστες. Αν όλα αυτά πάντως φοβίζουν ένα τεχνοφρικιό σαν τον υποφαινόμενο, κάτι δεν πάει καθόλου καλά.