Αρμονική πρόοδος

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

Ισοδύναμα, οι όροι της αρμονικής προόδου μπορούν να οριστούν με τους εξής τύπους (δείτε παρκάτω για απόδειξη της ισοδυναμίας):
 Γενικός τύπος: . 
 Αναδρομικός τύπος: .

 Παραδείγματα 
 (Αρμονικοί αριθμοί) Για  και , λαμβάνουμε τους αρμονικούς αριθμούς, δηλαδή

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

 Ισοδυναμία ορισμών 

 Γενικός σε αναδρομικό τύπο 

 Αναδρομικός σε σταθερή διαφορά 

 Σταθερή διαφορά σε γενικό τύπο 

 Ιδιότητες 

 Γραφική παράσταση 
300px|thumb|Αρμονικές πρόοδοι για διάφορες τιμές του αρχικού όρου και της διαφοράς.
 Η γραφική παράσταση της αρμονικής προόδου είναι διαδοχικά σημεία ενός κλάδου δίκλαδης υπερβολής με κέντρο συμμετρίας την αρχή των αξόνων, η οποία όμως έχει μετατοπιστεί οριζόντια κατά .

 Αρμονικός μέσος 
Ο αρμονικός μέσος όρος δύο αριθμών  είναι ο , αν και μόνο αν οι όροι  είναι διαδοχικοί όροι αρμονικής προόδου.

 Σχέση με αριθμητική πρόοδο 
Οι αντίστροφοι των όρων μίας αρμονικής προόδου ορίζουν μία αριθμητική πρόοδο. 

 Απόκλιση σειράς 
Για οποιεσδήποτε τιμές των  και  το άθροισμα των όρων της αρμονικής προόδου αποκλίνει, δηλαδή τείνει στο  (αν _ ή στο  (αν ).

 Υπολογισμός 

Ο παρακάτω κώδικας στην γλώσσα προγραμματισμού C++ χρησιμοποιεί τον αναδρομικό τύπο ώστε να τυπώσει τους πρώτους πέντε όρους της προόδου

#include <iostream>

int main() {
   double a_1 = 4.0;
   double omega = 1.5;

   double a_n = a_1;
   for (int n = 1; n <= 5; ++n) {
     std::cout << "a_" << n << " = " << a_n << ", ";
     a_n = 1.0/(omega + a_n); // Υπολογισμός επόμενου όρου.
   }
   return 0;
}
/* Τυπώνει: a_1 = 4, a_2 = 5.5, a_3 = 7, a_4 = 8.5, a_5 = 10, */

Ο παρακάτω κώδικας χρησιμοποιεί τον γενικό τύπο ώστε να υπολογίσει έναν όρο της ακολουθίας. Χρησιμοποιεί σταθερό αριθμό πράξεων. 
double harmonic_nth(double a1, double omega, int n) {
   return 1.0 / (a1 + (n - 1) * omega);
}
Ο αναδρομικός τύπος είναι πιο αργός καθώς χρειάζεται γραμμικό αριθμό πράξεων, δηλαδή  πράξεις.
double harmonic_nth_recursive(double a1, double omega, int n) {
   if (n == 1) return a1;
   return omega + harmonic_nth_recursive(a1, omega, n-1);
}

 Εφαρμογές 

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

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

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

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

 Περαιτέρω ανάγνωση 

 Ελληνικά άρθρα 


 Δείτε επίσης 
 Αρμονικός αριθμός
 Αρμονικός μέσος
 Αρμονική τετράδα
 Αριθμητική πρόοδος
 Γεωμετρική πρόοδος

 Παραπομπές 

Κατηγορία:Ακολουθίες