Θεωρητική Πληροφορική

Κατανεμημένη Υπολογιστική

Η Κατανεμημένη Υπολογιστική μελετά κατανεμημένα συστήματα. Ένα κατανεμημένο σύστημα είναι ένα σύστημα λογισμικού στο οποίο τα συστατικά βρίσκονται σε δικτυωμένους υπολογιστές επικοινωνούν και συντονίσουν τις δράσεις τους περνώντας μηνύματα. Τα συστατικά αλληλεπιδρούν μεταξύ τους, προκειμένου να επιτευχθεί ένας κοινός στόχος. Τρία σημαντικά χαρακτηριστικά των κατανεμημένων συστημάτων είναι: συγχρονισμός των στοιχείων, η έλλειψη ενός παγκόσμιου ρολογιού, και ανεξάρτητη αποτυχία των συνιστωσών. Παραδείγματα κατανεμημένων συστημάτων ποικίλλουν από SOA-συστήματα που βασίζονται σε μαζικά multiplayer online παιχνίδια σε  peer-to-peer εφαρμογές.
Ένα πρόγραμμα υπολογιστή που τρέχει σε ένα κατανεμημένο σύστημα ονομάζεται  κατανεμημένο πρόγραμμα, και κατανεμημένος προγραμματισμός είναι η διαδικασία της γραφής αυτών των προγραμμάτων. Υπάρχουν πολλές εναλλακτικές λύσεις για το μήνυμα που περνά μηχανισμό, συμπεριλαμβανομένου του RPC-όπως συνδέσεις και ουρές μηνυμάτων.  Ένας σημαντικός στόχος και πρόκληση των κατανεμημένων συστημάτων είναι η τοποθεσία διαφάνειας.

Παράλληλος Υπολογισμός

Ο Παράλληλος Υπολογισμός είναι μια μορφή υπολογισμού στην οποία πολλοί υπολογισμοί πραγματοποιούνται ταυτόχρονα, που λειτουργούν με βάση την αρχή ότι τα μεγάλα προβλήματα μπορούν συχνά να διαιρεθούν σε μικρότερα, τα οποία μετά θα λυθούν ταυτόχρονα ("παράλληλα"). Υπάρχουν πολλές διαφορετικές μορφές του παράλληλου υπολογισμού: το κομμάτι του επιπέδου, το επίπεδο διδασκαλίας, τα δεδομένα, και το καθήκον παραλληλισμού. Ο Παραλληλισμός έχει χρησιμοποιηθεί για πολλά χρόνια, κυρίως σε  υψηλών επιδόσεων υπολογιστές, αλλά ενδιαφέρον έχει αυξηθεί τον τελευταίο καιρό λόγω των φυσικών περιορισμών πρόληψης στην κλιμάκωση συχνότητας. Καθώς η κατανάλωση ενέργειας (και συνεπώς η παραγωγή θερμότητας) από τους υπολογιστές έχει γίνει μια ανησυχία κατά τα τελευταία χρόνια, Ο παράλληλος υπολογισμός έχει γίνει κυρίαρχο πρότυπο στην αρχιτεκρονική των υπολογιστών, κυρίως με τη μορφή του multi-core επεξεργαστήs.
Τα προγράμματα παράλληλου υπολογισμού είναι πιο δύσκολο να γραφούν από ό,τι το καθένα απο αυτά διαφορετικά, επειδή ο συγχρονισμός εισάγει αρκετές νέες κατηγορίες των πιθανών σφαλμάτων του λογισμικούs, εκ των οποίων η κατάσταση κούρσαςs είναι πιο κοινή. Η επικοινωνία και ο συγχρονισμός μεταξύ των διαφόρων δευτερεύουσων εργασιών είναι συνήθως μερικά από τα μεγαλύτερα εμπόδια για να πάρει καλή παράλληλη η απόδοση του προγράμματος.
Η μέγιστη δυνατή επιτάχυνση ενός ενιαίου προγράμματος ως αποτέλεσμα παραλληλοποίησης είναι γνωστή ως Amdahl's law.

Μηχανή μάθησης

Η μηχανή μάθησης είναι ένας επιστημονικός κλάδος που ασχολείται με την κατασκευή και τη μελέτη του αλγορίθμου η οποία να μπορεί να διαβάσει απο τα δεδομένα. Τέτοιοι αλγόριθμοι λειτουργούν με την οικοδόμηση ενός μοντέλου βασισμένου στις εισροές  και χρησιμοποιώντας ότι για να γίνουν προβλέψεις ή αποφάσεις, παρά μόνο μετά την προγραμματισμένη ρητά τις οδηγίες.
Η Μηχανική μάθηση μπορεί να θεωρηθεί ως υποπεδίο της επιστήμης των υπολογιστών και της Στατιστικής. Θα έχει ισχυρούς δεσμούς με την τεχνητή νοημοσύνη και την βελτιστοποίηση, οι οποίες παρέχουν τις μεθόδους, τη θεωρία και την εφαρμογή τους σε τομείς στο επίπεδο. Η μηχανή μάθησης χρησιμοποιείται σε μια σειρά υπολογιστικών εργασιών οπου σχεδιάσμένοι και προγραμματισμένοι σαφής, με βάση κανόνες αλγόριθμοι είναι ανέφικτοι. Παραδείγματα εφαρμογών περιλαμβάνουν φίλτρο spam, οπτική αναγνώριση χαρακτήρων (OCR), μηχανές αναζήτησης και υπολογιστική όραση. Η μηχανή μάθησης μερικές φορές συγχέεται με εξόρυξη δοδομένων, 
παρόλο που εστιάζει περισσότερο στην διερευνητική ανάλυση δεδομένων. Η μηχανή μάθησης και ανάγνωσης σχεδίου "μπορεί να θεωρηθεί ως διπλή όψη του ίδιου πεδίου."

Υπολογιστική Βιολογία

Η υπολογιστική Βιολογία περιλαμβάνει την ανάπτυξη και την εφαρμογή των αναλυτικών στοιχείων και θεωρητικών μεθόδων, 
μαθηματικών μοντέλων και υπολογιστικών τεχνικών προσομοίωσης για τη μελέτη των βιολογικών, συμπεριφορικών και κοινωνικών συστημάτων. The field is broadly defined and includes foundations in computer science, applied mathematics, animation, statistics, biochemistry, chemistry, biophysics, molecular biology, genetics, genomics, ecology, evolution, anatomy, neuroscience, and visualization.
Υπολογιστική Βιολογία είναι διαφορετική από τον βιολογικό υπολογισμό, ο οποίος είναι ένα υποπεδίο της επιστήμης των υπολογιστών και της μηχανικής υπολογιστών χρησιμοποιώντας βιομηχανολογία και βιολογία για την κατασκευή υπολογιστών , αλλά είναι παρόμοια με την βιοπληροφορική, η οποία είναι μια διεπιστημονική επιστήμη που χρησιμοποιούν υπολογιστές για την αποθήκευση και την επεξεργασία βιολογικών δεδομένων.

Υπολογιστική γεωμετρία

Η υπολογιστική γεωμετρία είναι ένας κλάδος της επιστήμης των υπολογιστών που αφιερώνεται στη μελέτη των αλγορίθμων που μπορεί να δηλωθεί από την άποψη της γεωμετρίας. Μερικά καθαρά γεωμετρικά προβλήματα προκύπτουν από τη μελέτη των υπολογιστικών αλγορίθμων γεωμετρικής, και τα προβλήματα αυτά θεωρούνται επίσης να είναι μέρος της υπολογιστικής γεωμετρίας. Ενώ η σύγχρονη υπολογιστική γεωμετρία είναι μια πρόσφατη εξέλιξη, είναι ένας από τους παλαιότερους τομείς της πληροφορικής με ιστορία που εκτείνεται πίσω στην αρχαιότητα. Ένα αρχαίο πρόδρομο είναι η σανσκριτική πραγματεία Shulba Σούτρες, ή «οι κανόνες της χορδής», ότι είναι ένα βιβλίο των αλγορίθμων γραμμένο στα 800 π.Χ.. Το βιβλίο ορίζει βήμα-βήμα τις διαδικασίες για την κατασκευή γεωμετρικών αντικειμένων όπως βωμούς χρησιμοποιώντας ένα πάσσαλο και χορδή.

Η κύρια ώθηση για την ανάπτυξη της υπολογιστικής γεωμετρίας ως επιστήμη ήταν η πρόοδος στα γραφικά υπολογιστών με τη βοήθεια υπολογιστών σχεδιασμού και την κατασκευή (CAD /  CAM), αλλά και πολλά προβλήματα στην υπολογιστική γεωμετρία είναι κλασικά στη φύση, και μπορεί να προέρχονται από μαθηματική απεικόνιση.
Άλλες σημαντικές εφαρμογές της υπολογιστικής γεωμετρίας περιλαμβάνουν ρομποτική (προγραμματισμό κινήσεων και προβλήματα ορατότητας), σύστημα γεωγραφικών πληροφοριών (GIS) (την γεωμετρική θέση και την αναζήτηση, τον σχεδιασμό της διαδρομής), ολοκληρωμένο κύκλωμα και τον σχεδιασμό (IC γεωμετρία σχεδιασμού και ελέγχου), με τη βοήθεια υπολογιστών μηχανικής (CAE) (πλέγμα γενιά), υπολογιστής όρασης (3D ανακατασκευή).

Υπολογιστική θεωρία αριθμού

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

Συμβολικός υπολογισμός

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

Σημασιολογία προγράμματος

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

Επίσημες μέθοδοι

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

Θεωρία Κωδικοποίησης

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

Υπολογιστική Θεωρία Μάθησης

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