Προς το περιεχόμενο

Μαθηματικά και Πληροφορική?


Επισκέπτης

Προτεινόμενες αναρτήσεις

  • Απαντ. 80
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Συχνή συμμετοχή στο θέμα

Transcript απο συνέντευξη του Carmack όσον αφορά τα μαθηματικά . Enjoy

 

 

 

It's interesting in that I have had my math background overstated. For awhile there on our company press information it said something about me reading math textbooks all the time. I'm really not that much of a math geek. We've had a few people come through id that are much more versed in advanced mathematics. I was able to do all the things that I needed to do just by having a very strong, applicable knowledge of (basically) high school topics going through Algebra to Trigonometry, and a little bit of calculus. But knowing how to apply them to situations that weren't in the textbook and actually [knowing] how to use them for a problem that comes to you rather than something that's sitting down on a test, is what's really important. Now we use some more sophisticated mathematical solvers, [such as] numeric and iterative methods for some of the physics, collision response, and things like that. As you get to simulations, it gets a lot more where people start to looking at Navier-Stokes equations and things like that to do turbulent fluid flow simulations. You can throw arbitrary amounts of compute horsepower and analytical knowledge at things like that, but I do kind of keep coming back to time sliced things [being] enough, everything is linear and you can apply linear technologies to it. When we do get people applying for jobs, an advanced math background does say a lot about a person, to be able to get through working with high levels of abstraction. I've certainly had people working for me that I know are far beyond me in levels of what they can do analytically with math but I do always come back to, well, you can chop everything up again and do it all with discrete approximation methods. Many times you can spend hideous amount of blackboard space doing analytic solutions for lines that can be solved much more easily with Monte Carlo Iterative Methods

 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

    Οταν μιλαμε για εργασια σαν προγραμματιστης, φανταζομαι εννοουμε για μια εταιρεια εναν οργανισμο, whatever. Δεν εννοουμε ουτε phd, ουτε μεταπτυχιακο. 

 

 Σε phd και μεταπτυχιακα ειναι εξαιρικα πιθανο να σε βοηθησουνε αφανταστα καλες βασεις μαθηματικων.

 

   Στην δουλεια σου ομως σαν προγραμματιστης, εκτος αμα εισαι σε εξειδικευμενη εταιρια, οτι μαθηματικα χρειαστεις θα τα μαθεις, και ακομα και να τα ηξερες σαν φοιτητης καλα, θα χρειαστει να τα μαθεις απο την αρχη επειδη θα εχουνε περασει χρονια. 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

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

 

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

 

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

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

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

 

Αυτό ακριβώς είναι το θέμα όμως. Ότι η ερώτηση περι μαθηματικών (που έχει διατυπωθεί πολλάκις) έχει πάντα πρακτικό προσανατολισμό ("μου χρειάζονται στη δουλειά"), και για το 99% (random number) των προγραμματιστών η δουλειά δεν έχει καμία σχέση μ' αυτό που κάνεις εσύ.

 

Όπως λέει κι ο φίλος παραπάνω αναμφίβολα έχουν την αξία τους. Το ζόρικο είναι να μετρήσεις την αξία σε κιλά.

 

@παπί

 

 

Έλα ρε όχι και θέμα... βρωμοspam.  :)

 

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

 

 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

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

 

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

 

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

    Θα μπορουσες καλλιστα να δουλευεις σε εταιρια που εφτιαχνε λογισμικα για τον τομεα των κατασκευων, πχ autocad. Σε αυτην την περιπτωση θα προτεινες σε καποιον οτι για να δουλεψει σαν προγραμματιστης χρειαζεται γνωσεις στατικης; 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

   Το οτι ειναι προτιμοτερο να εχεις master's πτυχιο απ'οτι bachelor's οταν ψαχνεις για την πρωτη σου δουλεια, οχι δεν ειναι σατιρα.

Προφανώς εννοούσα αυτό: "και δευτερον ο τιτλος σου ειναι Electrical and Computer Engineering, σαφως πιο ψαρωτικο".

Για μένα αυτά τα ονόματα είναι χαζά. Να σου πω ένα παράδειγμα. Εμείς (Βόλος) γίναμε Ηλεκτρολόγοι πριν

2 χρόνια, χωρίς να έχουμε εργαστήρια. Χωρίς να έχουμε δικό μας κτήριο. Έμπαιναν που έμπαιναν παιδιά

Βόλο επείδη υπήρχε η υπόσχεση ότι θα γίνουμε Ηλεκτρολόγοι, τώρα που γίναμε και με το νόμο, πάλι τσάμπα

σπαταλάνε τα χρόνια τους εδώ οι wanna be ηλετρολόγοι. Και όλα αυτά γιατί; Για το όνομα...

Επίσης γιατί να θέλω να γίνω μηχανικός Η/Υ και να πάω στο Μετσόβειο και να φάω τα υποχρεωτικά Ηλεκτρολογι-

κά μέχρι να επιλέξω κατεύθυνση;

 

BTW,

γενικά νομίζω στα Πολυτεχνεία αυτού του είδους, το πτυχίο είναι master. Χωρίς να είμαι σίγουρος το bachelor

τελειώνει στο 3ο ετός.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

    Θα μπορουσες καλλιστα να δουλευεις σε εταιρια που εφτιαχνε λογισμικα για τον τομεα των κατασκευων, πχ autocad. Σε αυτην την περιπτωση θα προτεινες σε καποιον οτι για να δουλεψει σαν προγραμματιστης χρειαζεται γνωσεις στατικης; 

 

Αυτό και αν ήταν άσχετο!!! Και πρόγραμμα κομμωτικής να γράψεις ο τρόπος που υλοποιείς τον αλγόριθμο θέλει μαθηματικά και όχι η κατηγορία τους προγράμματος!!! Ο κομμωτής θα σου πεί θέλω το πρόγραμμα να κάνει αυτό και αυτό και εσύ θα το υλοποιείς με τον βέλτιστο (άρα μαθηματικά!) τρόπο... Θα σου λέει ο κομμωτής θα βάζω τις βαφές και θέλω το πρόγραμμα να μου τις ταξινομεί - πώς θα κάνεις λοιπόν την ταξινόμηση?? Υπάρχει ολόκληρη θεωρία στην ταξινόμηση στους αλγορίθμους ανάλογα τη πολυπλοκότητα και την δομή (στοίβα, δένδρο, γράφο???) που θα χρησιμοποιήσεις. Και εκεί σου αρέσει δεν σου αρέσει έχει μαθηματικά...

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

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αυτό και αν ήταν άσχετο!!! Και πρόγραμμα κομμωτικής να γράψεις ο τρόπος που υλοποιείς τον αλγόριθμο θέλει μαθηματικά και όχι η κατηγορία τους προγράμματος!!! Ο κομμωτής θα σου πεί θέλω το πρόγραμμα να κάνει αυτό και αυτό και εσύ θα το υλοποιείς με τον βέλτιστο (άρα μαθηματικά!) τρόπο... Θα σου λέει ο κομμωτής θα βάζω τις βαφές και θέλω το πρόγραμμα να μου τις ταξινομεί - πώς θα κάνεις λοιπόν την ταξινόμηση?? Υπάρχει ολόκληρη θεωρία στην ταξινόμηση στους αλγορίθμους ανάλογα τη πολυπλοκότητα και την δομή (στοίβα, δένδρο, γράφο???) που θα χρησιμοποιήσεις. Και εκεί σου αρέσει δεν σου αρέσει έχει μαθηματικά...

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

     Γιατι μπερδευεις αλγοριθμους με μαθηματικα; Και γιατι πιστευεις οτι αμα θελεις να κανεις ταξινομηση η οτιδηποτε θα ανακαλυψεις τον τροχο και δεν θα βρεις μια ετοιμη υλοποιηση ωστε το προτζεκτ σου να προχωρησει γρηγορα; Η οτι οταν ερθει η ωρα και χρειαστει να εφαρμοσεις πολυπλοκους αλγοριθμους δεν θα μπορεις απλα να κατσεις, να διαβασεις και θα ανταποκριθεις στις απαιτησεις...

 

    Μην μπερδευεται τον προγραμματισμο που κανετε στο πανεπιστημιο με τον πραγματικο προγραμματισμο σε συνθηκες εργασιας. Ειναι δυο παντελως διαφορετικα πραγματα. 

 

    Καλο ειναι να ξερεις μαθηματικα, σου ανοιγει καποιους οριζοντες. Αλλα η γνωση μαθηματικων δεν σε κανει ουτε προγραμματιστη, ουτε καν ομως καλυτερο προγραμματιστη. 

     Με την λογικη σου οι μαθηματικοι θα πρεπει να ειναι λαμπροι προγραμματιστες, απλα επειδη ξερουνε πολυ καλα μαθηματικα. 

 

    Οι σπουδες σου, ειτε σε μαθηματικα ειτε σε αλλους τομεις σου ανοιγουνε καποιους οριζοντες και σε βαζουνε σε εναν σωστο τροπο εκμαθησης και σκεψης. Αυτο θα σε βοηθησει σαν προγραμματιστη παρα πολυ, αλλα ειτε σπουδασεις κατι πιο βαρυ σε μαθηματικα, ειτε κατι πιο ελαφρυ το ιδιο πλεονεκτημα θα εχεις...

  • Like 3
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

     Γιατι μπερδευεις αλγοριθμους με μαθηματικα; Και γιατι πιστευεις οτι αμα θελεις να κανεις ταξινομηση η οτιδηποτε θα ανακαλυψεις τον τροχο και δεν θα βρεις μια ετοιμη υλοποιηση ωστε το προτζεκτ σου να προχωρησει γρηγορα; Η οτι οταν ερθει η ωρα και χρειαστει να εφαρμοσεις πολυπλοκους αλγοριθμους δεν θα μπορεις απλα να κατσεις, να διαβασεις και θα ανταποκριθεις στις απαιτησεις...

 

    Μην μπερδευεται τον προγραμματισμο που κανετε στο πανεπιστημιο με τον πραγματικο προγραμματισμο σε συνθηκες εργασιας. Ειναι δυο παντελως διαφορετικα πραγματα. 

 

    Καλο ειναι να ξερεις μαθηματικα, σου ανοιγει καποιους οριζοντες. Αλλα η γνωση μαθηματικων δεν σε κανει ουτε προγραμματιστη, ουτε καν ομως καλυτερο προγραμματιστη. 

     Με την λογικη σου οι μαθηματικοι θα πρεπει να ειναι λαμπροι προγραμματιστες, απλα επειδη ξερουνε πολυ καλα μαθηματικα. 

 

    Οι σπουδες σου, ειτε σε μαθηματικα ειτε σε αλλους τομεις σου ανοιγουνε καποιους οριζοντες και σε βαζουνε σε εναν σωστο τροπο εκμαθησης και σκεψης. Αυτο θα σε βοηθησει σαν προγραμματιστη παρα πολυ, αλλα ειτε σπουδασεις κατι πιο βαρυ σε μαθηματικα, ειτε κατι πιο ελαφρυ το ιδιο πλεονεκτημα θα εχεις...

Γι' αυτό και καλό είναι να αναφερόμαστε στα μαθηματικά σα μία επιπλέον γλώσσα.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

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

 

Και πρόγραμμα κομμωτικής να γράψεις ο τρόπος που υλοποιείς τον αλγόριθμο θέλει μαθηματικά και όχι η κατηγορία τους προγράμματος!!!

Ποιόν αλγόριθμο;

 

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

 

Ο κομμωτής θα σου πεί θέλω το πρόγραμμα να κάνει αυτό και αυτό και εσύ θα το υλοποιείς με τον βέλτιστο (άρα μαθηματικά!) τρόπο...

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

 

 

 

Το βέλτιστο μπορεί να σου κοστίσει μια μέρα παραπάνω να το υλοποιήσεις και να κάνει το πρόγραμμα για τον κομμωτή να παράγει το αποτέλεσμα σε 1 δευτερόλεπτο αντί για 3. Ένας τρόπος να το δεις αυτό είναι hooray 300% βελτίωση. Ένας άλλος τρόπος είναι μια μέρα απ' τη ζωή σου που δε θα πάρεις ποτέ πίσω. Κι αυτό είναι απλά η κορυφή του παγοβούνου.

 

 

 

κι όταν τέλος είναι επιθυμητό και δεν υπάρχει τίποτα ακόμα πιο επιθυμητό για να το καπελώσει, πώς προκύπτει ότι το βέλτιστο ίσον μαθηματικά; Είναι στοιχειωδώς γνωστό σε όποιον έχει ασχοληθεί σοβαρά και με προγραμματισμό και με μαθηματικά ότι υπάρχουν "άπειροι" σωστοί και "άπειροι" λάθος τρόποι να κάνεις κάτι, είμαι σίγουρος πως και συ ξέρεις πολύ καλά τι εννοώ. Πώς προκύπτει λοιπόν ότι μαθηματικά ίσον αυτομάτως βέλτιστο; Αυτός που λύνει ένα μαθηματικό πρόβλημα Αθήνα-Κόρινθος μέσω Ιωαννίνων μαθηματικά δε χρησιμοποιεί;

 

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

Ή απλά θα χρησιμοποιήσεις τη στάνταρ quicksort (άντε mergesort αν χρειάζεσαι stable) που έρχεται στάνταρ με τη γλώσσα στην οποία προγραμματίζεις. Για την ακρίβεια υπάρχει σημαντική πιθανότητα αντί για quicksort να πάρεις κατευθείαν introsort -- υπενθυμίζω με μηδέν ενασχόληση -- η οποία είναι μέχρι και άγνωστη έννοια σε κόσμο που νομίζει ότι ξέρει από αλγόριθμους ταξινόμησης. Το point μου είναι ότι για γνωστά συνηθισμένα προβλήματα, άνθρωποι εξυπνότεροι και με περισσότερες γνώσεις απο σένα έχουν ετοιμάσει τις λύσεις και στις δίνουν στο πιάτο. Και αυτό στο λέει κάποιος που θεωρεί κατεξοχήν ισχυρό του ατού ότι μπορεί να το ξεζουμίσει το θέμα ο ίδιος. Απλά δεν είμαι πλέον 20 χρονών "το κάνω γιατί μπορώ".

 

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

 

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

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

 

Αυτό όμως δε σημαίνει ότι πρέπει να ξέρεις τα μαθηματικά της αρκούδας. Όπως είπε κι ο Carmack παραπάνω, μαθηματικά λυκείου να ξέρεις μόνο, αν πραγματικά τα κατέχεις έχεις τις βάσεις για να κάνεις αυτό που θα χρειαστεί (βέβαια life is easier when you are Carmack). Σε μένα τον ίδιο έχει τύχει να μου ζητηθεί να κάνω Dijkstra shortest path tree (τώρα ξέρω) και να μην έχω ιδέα πώς αλλά να το βγάλω μόνος μου την ώρα της εξέτασης γιατί ήταν το μόνο λογικό που μπορούσα να σκεφτώ. Χρησιμοποίησα αλγοριθμική σκέψη; Ναι. Κάποια γνώση μαθηματικών, όσο μπορώ να το αντιληφθώ; Όχι. Αν και πρέπει να παραδεχτώ πως εδώ έχουμε φτάσει σχεδόν στα όρια της φιλοσοφίας.

  • Like 2
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Τα μαθηματικά που σίγουρα χρειάζονται είναι τα Διακριτά. Γράφοι, επαγωγές, αναδρομές κλπ.

Επίσης σχεσιακή άλγεβρα για τους περισσότερους προγραμματιστές.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

 
 

 

Τα μαθηματικά που σίγουρα χρειάζονται είναι τα Διακριτά. Γράφοι, επαγωγές, αναδρομές κλπ.

Επίσης σχεσιακή άλγεβρα για τους περισσότερους προγραμματιστές.

 

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

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

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Real things χρειάζονται. Δοκίμασε να φτιαξεις αυτό, δοκίμασε το άλλο κλπ. Έτσι σιγά σιγά αποκτας εμπειρία σε διάφορα καλουδια.

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα

  • Δημιουργία νέου...