C++లో యాదృచ్ఛిక శోధన (Random Search) అల్గోరిథం- వివరణ, ఉదాహరణ మరియు కోడ్

యాదృచ్ఛిక శోధన అల్గోరిథం అనేది శోధన స్థలం నుండి యాదృచ్ఛికంగా పరిష్కారాల సమితిని ఎంచుకోవడం మరియు సమస్యను పరిష్కరించగలదా అని తనిఖీ చేయడం ఆధారంగా ఒక శోధన పద్ధతి. శోధనకు మార్గనిర్దేశం చేయడానికి నిర్దిష్ట సమాచారం లేదా వ్యూహం లేనప్పుడు ఈ విధానం తరచుగా ఉపయోగించబడుతుంది.

అది ఎలా పని చేస్తుంది

  1. ప్రారంభించడం: యాదృచ్ఛికంగా రూపొందించబడిన ప్రారంభ పరిష్కారాల సెట్‌తో ప్రారంభించండి.
  2. మూల్యాంకనం: ఆబ్జెక్టివ్ ఫంక్షన్ లేదా మూల్యాంకన ప్రమాణాల ఆధారంగా ప్రతి పరిష్కారం యొక్క నాణ్యతను అంచనా వేయండి.
  3. ఎంపిక: సంభావ్యత లేదా యాదృచ్ఛిక ఎంపిక ఆధారంగా సెట్ నుండి ఉత్తమ పరిష్కారాల ఉపసమితిని ఎంచుకోండి.
  4. పరీక్ష: ఎంచుకున్న పరిష్కారాలు సమస్యను పరిష్కరించగల సామర్థ్యాన్ని కలిగి ఉన్నాయో లేదో పరీక్షించండి.
  5. పునరావృతం: సంతృప్తికరమైన ఫలితం సాధించబడే వరకు లేదా పునరావృతాల యొక్క ముందే నిర్వచించబడిన సంఖ్యను చేరుకునే వరకు 2 నుండి 4 దశల ద్వారా పునరావృతం చేయండి.

ఉదాహరణ: Fibonacci ఫంక్షన్‌ని ఆప్టిమైజ్ చేయడం

F(0) = 0, F(1) = 1తో F(x) = F(x-1) + F(x-2) ఫంక్షన్ యొక్క ఆప్టిమైజేషన్ సమస్యను పరిగణించండి. Fibonacci మేము దీని కోసం x విలువను కనుగొనాలనుకుంటున్నాము F(x) గరిష్టీకరించబడింది. యాదృచ్ఛిక శోధన పద్ధతి యాదృచ్ఛికంగా x విలువలను ఎంచుకోవచ్చు, ప్రతి x వద్ద విలువను లెక్కించవచ్చు మరియు పొందిన Fibonacci అత్యధిక విలువకు అనుగుణంగా x విలువను ఎంచుకోవచ్చు. Fibonacci

C++లో కోడ్ ఉదాహరణ

#include <iostream>  
#include <cstdlib>  
#include <ctime>  
  
int fibonacci(int n) {  
    if(n <= 0) return 0;  
    if(n == 1) return 1;  
    return fibonacci(n- 1) + fibonacci(n- 2);  
}  
  
int randomSearchFibonacci(int maxIterations) {  
    int bestX = 0;  
    int bestValue = 0;  
  
    srand(time(0));  
  
    for(int i = 0; i < maxIterations; ++i) {  
        int x = rand() % maxIterations;  
        int value = fibonacci(x);  
        if(value > bestValue) {  
            bestValue = value;  
            bestX = x;  
        }  
    }  
  
    return bestX;  
}  
  
int main() {  
    int maxIterations = 20;  
    int result = randomSearchFibonacci(maxIterations);  
  
    std::cout << "Optimal x for maximum Fibonacci value: " << result << std::endl;  
  
    return 0;  
}  

ఈ ఉదాహరణలో, Fibonacci ఫంక్షన్‌ని ఆప్టిమైజ్ చేయడానికి మేము యాదృచ్ఛిక శోధన పద్ధతిని ఉపయోగిస్తాము. మేము యాదృచ్ఛికంగా x విలువలను ఎంచుకుంటాము, ప్రతి x వద్ద విలువను లెక్కించి, ఆపై మనం లెక్కించిన Fibonacci అత్యధిక విలువకు అనుగుణంగా x విలువను ఎంచుకుంటాము. Fibonacci