Ο αλγόριθμος τυχαίας αναζήτησης είναι μια μέθοδος αναζήτησης που βασίζεται στην τυχαία επιλογή ενός συνόλου λύσεων από τον χώρο αναζήτησης και στον έλεγχο εάν μπορούν να λύσουν το πρόβλημα. Αυτή η προσέγγιση χρησιμοποιείται συχνά όταν δεν υπάρχουν συγκεκριμένες πληροφορίες ή στρατηγική που να καθοδηγούν την αναζήτηση.
Πως δουλεύει
- Αρχικοποίηση: Ξεκινήστε με ένα τυχαία δημιουργημένο σύνολο αρχικών λύσεων.
- Αξιολόγηση: Αξιολογήστε την ποιότητα κάθε λύσης με βάση την αντικειμενική λειτουργία ή τα κριτήρια αξιολόγησης.
- Επιλογή: Επιλέξτε ένα υποσύνολο των καλύτερων λύσεων από το σύνολο με βάση πιθανότητες ή τυχαία επιλογή.
- Δοκιμή: Ελέγξτε εάν οι επιλεγμένες λύσεις είναι ικανές να λύσουν το πρόβλημα.
- Επαναλάβετε: Επαναλάβετε τα βήματα 2 έως 4 μέχρι να επιτευχθεί ένα ικανοποιητικό αποτέλεσμα ή να επιτευχθεί ένας προκαθορισμένος αριθμός επαναλήψεων.
Παράδειγμα: Βελτιστοποίηση της Fibonacci συνάρτησης
Θεωρήστε το πρόβλημα βελτιστοποίησης της Fibonacci συνάρτησης F(x) = F(x-1) + F(x-2) με F(0) = 0, F(1) = 1. Θέλουμε να βρούμε την τιμή του x για την οποία Το F(x) μεγιστοποιείται. Η μέθοδος Random Search μπορεί να επιλέξει τυχαία τιμές του x, να υπολογίσει την Fibonacci τιμή σε κάθε x και να επιλέξει την τιμή του x που αντιστοιχεί στην υψηλότερη Fibonacci τιμή που λαμβάνεται.
Παράδειγμα κώδικα σε C++
Σε αυτό το παράδειγμα, χρησιμοποιούμε τη μέθοδο τυχαίας αναζήτησης για τη βελτιστοποίηση της Fibonacci συνάρτησης. Επιλέγουμε τυχαία τιμές του x, υπολογίζουμε την Fibonacci τιμή σε κάθε x και μετά επιλέγουμε την τιμή του x που αντιστοιχεί στην υψηλότερη Fibonacci τιμή που έχουμε υπολογίσει.