Εισαγωγή στις Αρχές Επιστήμης των Η/Υ: Πολυπλοκότητα

7
Πολυπλοκότητα Νικολός Δημήτρης (ΠΕ19) 1

Transcript of Εισαγωγή στις Αρχές Επιστήμης των Η/Υ: Πολυπλοκότητα

ΠολυπλοκότηταΝικολός Δημήτρης (ΠΕ19)

1

Θεωρία υπολογισμού

Η Θεωρία Υπολογισμού (Theory of computation) είναι το πεδίο της πληροφορικής που ασχολείται τόσο με το πρόβλημα ύπαρξης λύσης ενός προβλήματος όσο και αποδοτικότητας των αλγορίθμων για την επίλυση των προβλημάτων με βάση ένα δεδομένο μοντέλο υπολογισμού.

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

2

Πολυπλοκότητα

Η πολυπλοκότητα ενός αλγορίθμου δίνει ένα μέτρο της χρονικής καθυστέρησης του αλγορίθμου για την επίλυση ενός προβλήματος.

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

Τα βήματα συνήθως είναι πράξεις / συγκρίσεις / μετακινήσεις δεδομένων.

3

Χρειάζεται χρόνος;

4

Πόσα βήματα έκανε ο αλγόριθμος που είδατε;

Η πολυπλοκότητα του αλγορίθμου του Ευκλείδη εξαρτάται και από τους δύο αριθμούς (x,y)

http://math.stackexchange.com/questions/311467/euclidean-algorithm-for-greatest-common-divisor

Big-O notation

Αν ένας αλγόριθμος κάνει 4𝑛2 + 8𝑛 + 5 βήματα (𝑛 το πλήθος των δεδομένων), τότε λέμε ότι έχει πολυπλοκότητα 𝑂 𝑛2 επειδή αν το 𝑛 γίνει πολύ μεγάλο το 𝑛2 είναι πιο σημαντικό από τους υπόλοιπους όρους.

Ομοίως αν ο αλγόριθμος κάνει 2𝑛 + 𝑛2 + 10 βήματα τότε λέμε ότι έχει πολυπλοκότητα 𝑂 2𝑛

Η καλύτερη πολυπλοκότητα;

Η χειρότερη πολυπλοκότητα;5

Big-O notation

6

Πολυπλοκότητα

7