Δείκτες, Αριθμητική Peano, Φιλοσοφία κλπ

Ξεκίνησε από dimitrios67, 19 Μαρ 2017, 01:33:13 ΠΜ

« προηγούμενο - επόμενο »

dimitrios67

Παράθεση από: gbougioukas στις 18 Μαρ 2017, 06:13:44 ΜΜ
Όσον αφορά την κατάλληλότερη εκπαιδευτική γλώσσα, θεωρώ ότι είναι η C - μόνο και μόνο που σου λέει ότι ο πρώτος φυσικός αριθμός είναι το 0 και όχι το 1 (όπως πίστευαν στην αρχαιότητα) είναι ικανό κριτήριο στα μάτια μου.
απο τη λιγη αρχαια Ελληνική Φιλοσοφια που ξερω, το 0 δεν ειναι φυσικός αριθμος, διοτι το μηδεν ΔΕΝ υπαρχει στη Φυση,
και οι αρχαιοι Ελληνες, "εκαναν" Μαθηματικά πανω στη Φυση. (όπως δεν υπαρχει και το "απειρο" στη Φυση, κατι που παλι οι αρχαιοι Ελληνες δεν χρησιμοποιούσαν...).
Η προταση "εχω μηδεν ευρω στην τσεπη μου" ειναι μια συμβαση του "δεν εχω κανενα ευρω", το "μηδέ εν" (ουτε ενα).

Τωρα για το οτι η C (αλλα και άλλες γλώσσες (Java klp), "μετρανε" τους πίνακες από το 0,
προερχεται από το οτι σε εναν counter (κυκλωμα), ο πρωτος αριθμος που "σχηματιζεται" ειναι το 0,
δηλ. ολα τα bit να ειναι 0.
Η C (οπως και πολλες αλλες γλώσσες) υλοποιουν την προσβαση στο "κελι" ενος πίνακα με "αριθμητική δεικτων",
δηλ. με την προσθεση του index i, στην base address του πίνακα, και η "αρχική" διευθυνση ειναι το "ολα μηδεν",
αρα το 1ο στοιχειο ειναι το 0 και οχι το 1.
Εδω δηλ. εχουμε αναλογια με την εννοια της ακολουθίας α1, α2 κλπ των Μαθηματικών,
απλα επειδη το hardware υλοπιοιειται με δυαδικό συστημα, πρωτα υπαρχει το 0 και μετα το 1.
Στην ψευδογλώσσα των αλγοριθμων, σε πολλα βιβλία, οι πινακες αρχιζουν από το 1.
Άλλο όμως ο αλγοριθμος και άλλο η υλοποίηση σε κάποια γλώσσα.
Αυτα για το 0 ως "starting index".

gbougioukas

Παράθεση από: dimitrios67 στις 19 Μαρ 2017, 01:33:13 ΠΜ
απο τη λιγη αρχαια Ελληνική Φιλοσοφια που ξερω, το 0 δεν ειναι φυσικός αριθμος, διοτι το μηδεν ΔΕΝ υπαρχει στη Φυση,
και οι αρχαιοι Ελληνες, "εκαναν" Μαθηματικά πανω στη Φυση. (όπως δεν υπαρχει και το "απειρο" στη Φυση, κατι που παλι οι αρχαιοι Ελληνες δεν χρησιμοποιούσαν...).
Η προταση "εχω μηδεν ευρω στην τσεπη μου" ειναι μια συμβαση του "δεν εχω κανενα ευρω", το "μηδέ εν" (ουτε ενα).

Τωρα για το οτι η C (αλλα και άλλες γλώσσες (Java klp), "μετρανε" τους πίνακες από το 0,
προερχεται από το οτι σε εναν counter (κυκλωμα), ο πρωτος αριθμος που "σχηματιζεται" ειναι το 0,
δηλ. ολα τα bit να ειναι 0.

Το ότι στο φυσικό κύκλωμα "counter" ο πρώτος αριθμός που σχηματίζεται είναι το 0, εξηγεί πολύ καλά γιατί το 0 είναι (ο πρώτος) φυσικός αριθμός και εξηγεί επίσης και γιατί τα αρχαία μαθηματικά είναι αρχαία.  Με τα αρχαία μαθηματικά πας το πολύ μέχρι τον "υπολογιστή των Αντικυθήρων", ενώ με τα σύγχρονα της αριθμητικής Peano, η οποία θεμελιώνεται αξιωματικά πάνω στο 0, συζητάς και σε φόρουμ.
Γιώργος Μπουγιούκας
Computer Science (BSc), Bioinformatics & Neuroinformatics (MSc)
https://gbougioukas.wordpress.com/
https://apothesis.eap.gr/handle/repo/54953

gbougioukas

#2
Παράθεση από: aprekates στις 18 Μαρ 2017, 07:18:32 ΜΜ
   από την άλλη εξ'ορισμού μια γλώσσα 'υψηλού' επιπέδου έχει και σαν σκοπό
την διευκόλυνση στην 'επικοινωνία' με τον υπολογιστή.
    Το αντίστοιχο των μαθηματικών θεμελιων θα μπορούσε κάλλιστα ναείναι
στον προγραμματισμό η γλώσσα assembly !..
    Ο προγραμματισμός ειναι και επικοινωνία (με μηχανές βέβαια) . οπότε
οπως θα έλεγε και ο Wittgenstein το νόημα έγκεται στη χρήση και όχι σε '''θεμέλια''
πάνω στα οποία πρόσκρουσε και το Principia mathematica των Russel,Whitehead.

Η αναλογία που κάνεις με την assembly είναι σωστή με την έννοια του θεμελίου σε σχέση με την συνολοθεωρία - μπορούμε για παράδειγμα να αντιστοιχήσουμε τον αριθμό 0 στο σύνολο {}, τον αριθμό 1 στο σύνολο {{}}, τον αριθμό 2 στο σύνολο {{},{{}}} κοκ - ωστόσο, σε σχέση με την κατηγορηματική λογική το "θεμέλιο" εννοείται αλλιώς, δηλαδή πρόκειται για κάποιες έννοιες πανταχού παρούσες σε κάθε σχεδόν μαθηματική θεωρία: ο καθολικός και ο υπαρξιακός ποσοδείκτης ενυπάρχουν σε κάθε μαθηματικό ισχυρισμό ("πρόταση"). Η αναλογία με τον προγραμματισμό εδώ θα ήταν η έννοια του pointer, την οποία καταλαβαίνεις πολύ καλά μέσα από την γλώσσα C, γι' αυτό και την θεωρώ θεμέλιο για τον προγραμματισμό.

Η ευκολία στην χρήση μπορεί να έχει νόημα για κάποιον χομπίστα, αλλά για κάποιον επαγγελματία το νόημα είναι η εγκυρότητα. Κάποιος λογιστής, για παράδειγμα, μπορεί να σχηματίσει την εντύπωση ότι η python είναι πολύ cool, γρήγορη ανάπτυξη κλπ, και να αρχίζει να κατασκευάζει λογιστικές εφαρμογές και με επιτυχία σε 99 περιπτώσεις, αλλά επειδή δεν έχει εμπεδώσει την πανταχού παρούσα στον προγραμματισμό έννοια του pointer, σε 1 περίπτωση μπορεί το 1000000 ευρώ να γίνει εύκολα 0 ευρώ. Δυστυχώς, εγκυρότητα με παράκαμψη των θεμελίων δεν είναι εφικτή.

Γιώργος Μπουγιούκας
Computer Science (BSc), Bioinformatics & Neuroinformatics (MSc)
https://gbougioukas.wordpress.com/
https://apothesis.eap.gr/handle/repo/54953

dimitrios67

Αγαπητέ συνάδελφε,
Το ότι το μηδέν είναι ο «πρώτος» αριθμός που «αναπαρίσταται» σε ένα κύκλωμα, είναι αποτέλεσμα των νόμων της φυσικής που εφαρμόζονται στα αναλογικά και ψηφιακά ηλεκτρονικά. Μην το απολυτοποιείς.
Κατά τη γνώμη μου είναι ξεκάθαρο ότι οι αρχαίοι Έλληνες δεν χρησιμοποιούσαν το μηδέν, διότι, όπως προείπα το «μηδέν» σαν φυσική και φιλοσοφική έννοια δεν υπάρχει στη φύση, και οι αρχαίοι Έλληνες έκαναν Μαθηματικά στη Φύση.
Με την ίδια λογική δεν ασχολήθηκαν, ούτε αναπαρέστησαν τους πραγματικούς αριθμούς, σαν αριθμούς, αλλά μόνον σαν «λόγους», δηλ. κλάσματα. Διότι (πάλι φιλοσοφικά), οι πραγματικοί αριθμοί δεν «υπάρχουν» στην πραγματικότητα, είναι «συμβάσεις»-προσεγγίσεις μέσα στο μυαλό μας, για να μπορούμε να συνεννοούμαστε.
Ο κόσμος μας είναι «διακριτός» και όχι «συνεχής». Αυτό (περίπου) είπαν ο Λεύκιππος και ο Δημόκριτος.

gbougioukas

Αγαπητέ Δημήτριε,

Δεν μπορούσαν οι αρχαίοι Έλληνες να αναπαραστήσουν τους πραγματικούς, και ειδικά τους άρρητους, σαν λόγους, διότι αυτό δεν γίνεται - δεν φαντάζομαι να είχαν αναπαραστήσει τον √2 ως κλάσμα. Ωστόσο, κάποιους από αυτούς (πχ, √2) μπόρεσαν να τους αναπαραστήσουν ως ευθύγραμμα τμήματα. Συνεπάγεται, ότι και τα ευθύγραμμα τμήματα και η γεωμετρία δεν "υπάρχουν στην φύση";
Το μόνο σίγουρο είναι ότι τα μαθηματικά είναι "συμβάσεις-προσεγγίσεις μέσα στο μυαλό μας", το οποίο μυαλό μας όμως δεν είναι έξω από την φύση, αλλά μέρος της. Τι γίνεται με την υπόλοιπη φύση δεν μπορώ να ξέρω, η εικασία μου είναι ότι πράγματι ο κόσμος θα μπορούσε να είναι θεμελιωδώς "διακριτός", θα μπορούσε να είναι μια μηχανή Turing ή πιο συγκεκριμένα ένα κυψελικό αυτόματο (ή κάποια προβολή τους), αλλά αυτό είναι (όντως) θέμα οντολογίας. Αυτό που δεν είναι θέμα οντολογίας είναι αν μπορεί η μοντελοποίηση του φυσικού κόσμου να γίνει με ένα αμιγώς διακριτό μοντέλο, πράγμα που ερευνά για παράδειγμα ο Edward Fredkin.
Και αυτό που δεν είναι θέμα οντολογίας, και έχει ιδιαίτερη σημασία για μας τους πληροφορικούς από κάθε πλευρά, είναι η σχέση της πληροφορικής με τα μαθηματικά (τα οποία βεβαίως δεν είναι μόνο η "ανάλυση"), και ειδικά με τα πιο μοντέρνα, η οποία είναι τόσο ισχυρή ώστε τα τελευταία να είναι περισσότερο "πληροφορική" και λιγότερο "μαθηματικά". Μιλάω για τα μαθηματικά της αξιωματοποίησης των συστημάτων (πρωτοβάθμια αριθμητική Peano, θεωρία συνόλων ZFC, κλπ), της μαθηματικής λογικής (η οποία για κάποιο λόγο εξαφανίστηκε εντελώς από τα μαθηματικά της δευτεροβάθμιας εκπαίδευσης - ακόμη κι εκείνο το ψήγμα προτασιακής λογικής αφαιρέθηκε από την ύλη), των μηχανών Turing, των μ-Αναδρομικών συναρτήσεων, της συνδυαστικής, της θεωρίας των γράφων, της θεωρίας υπολογισμού κλπ.
Διαπιστώνω, ωστόσο, στην πληροφορική κοινότητα, τουλάχιστον στο μέρος της εκείνο το οποίο εκφράζεται δημόσια, πολλές φορές από πλεονεκτική θέση, μια τάση "απομαθηματικοποίησης", η οποία δεν είναι σαφές τίνος τα συμφέροντα εξυπηρετεί... Ποιον συμφέρει η πληροφορική να θεωρείται περίπου παρεμφερής με την οικονομία (οπότε και πάρε επιστημονικό πεδίο "Οικονομίας και Πληροφορικής") και όχι με τα μαθηματικά και τις θετικές επιστήμες; Διότι, τα μαθηματικά (τα οποία είπαμε δεν ταυτίζονται με την ανάλυση) είναι που κάνουν την σύνδεση με τις θετικές επιστήμες.
Ο επεξεργαστής ενός κομπιούτερ κάνει βασικά 4 πράγματα: προσθέσεις, αφαιρέσεις, πολλαπλασιασμούς, διαιρέσεις. Θεμελιώδης πυρήνας της απόδειξης των θεωρημάτων μη-πληρότητας του Γκέντελ είναι ότι κάθε πρόγραμμα (μ-Αναδρομική συνάρτηση το έλεγαν τότε :) ) μπορεί να αναπαρασταθεί στην βασική αριθμητική (Peano) χρησιμοποιώντας μόνο δύο πράξεις, την πρόσθεση και τον πολλαπλασιασμό (ούτε καν το αξίωμα της επαγωγής). Αυτό αποδεικνύει την αδιαμφισβήτητη συνάφεια των προγραμμάτων με την βασική αριθμητική (είναι συναρτήσεις που αναπαριστάνονται μέσα στην βασική αριθμητική και επομένως μπορούν να διατυπωθούν και να αποδειχτούν "προτάσεις" (ιδιότητες) σχετικά με τις πρώτες μέσα στην τελευταία), πως να το κάνουμε τώρα, η απομαθητικοποίηση είναι ανέφικτη! Μια άμεση συνέπεια αυτής της μαθηματικής αλήθειας θα ήταν...εφόσον τα προγράμματα περιγράφονται με τις απλές πράξεις της πρόσθεσης και του πολλαπλασιασμού, και δεδομένου ότι αυτά είναι πανταχού παρόντα στην σύγχρονη κοινωνική ζωή, μήπως...θα ήταν καλή κίνηση να μπει ο προγραμματισμός (με την κατάλληλη μορφή βέβαια) στο Δημοτικό παρέα με την πρόσθεση και τον πολλαπλασιασμό;
Η ένστασή μου με το να ξεκινάνε οι δείκτες (indices) των διατάξεων από το 1, είναι ακριβώς αυτή, μυρίζει απομαθηματικοποίηση. Δεν είμαι "μυστήριος", δεν είναι το μόνο (ούτε το σημαντικότερο ίσως) προς αυτή την "προοπτική", δεν είναι θέμα φιλοσοφίας!





Γιώργος Μπουγιούκας
Computer Science (BSc), Bioinformatics & Neuroinformatics (MSc)
https://gbougioukas.wordpress.com/
https://apothesis.eap.gr/handle/repo/54953