C++ માં રેન્ડમ સર્ચ (Random Search) અલ્ગોરિધમ- સમજૂતી, ઉદાહરણ અને કોડ

રેન્ડમ સર્ચ અલ્ગોરિધમ એ શોધ પદ્ધતિ છે જે શોધ સ્પેસમાંથી ઉકેલોના સમૂહને રેન્ડમલી પસંદ કરીને અને તે સમસ્યાને હલ કરી શકે છે કે કેમ તે તપાસવા પર આધારિત છે. જ્યારે શોધને માર્ગદર્શન આપવા માટે કોઈ ચોક્કસ માહિતી અથવા વ્યૂહરચના ન હોય ત્યારે આ અભિગમનો વારંવાર ઉપયોગ થાય છે.

તે કેવી રીતે કામ કરે છે

  1. આરંભ: પ્રારંભિક ઉકેલોના રેન્ડમલી જનરેટ કરેલા સેટથી પ્રારંભ કરો.
  2. મૂલ્યાંકન: ઉદ્દેશ્ય કાર્ય અથવા મૂલ્યાંકનના માપદંડના આધારે દરેક ઉકેલની ગુણવત્તાનું મૂલ્યાંકન કરો.
  3. પસંદગી: સંભાવનાઓ અથવા રેન્ડમ પસંદગીના આધારે સેટમાંથી શ્રેષ્ઠ ઉકેલોનો સબસેટ પસંદ કરો.
  4. પરીક્ષણ: પસંદ કરેલ ઉકેલો સમસ્યાને હલ કરવામાં સક્ષમ છે કે કેમ તે તપાસો.
  5. પુનરાવર્તિત કરો: જ્યાં સુધી સંતોષકારક પરિણામ પ્રાપ્ત ન થાય અથવા પુનરાવૃત્તિની પૂર્વવ્યાખ્યાયિત સંખ્યા સુધી પહોંચી ન જાય ત્યાં સુધી પગલાં 2 થી 4 દ્વારા પુનરાવર્તન કરો.

ઉદાહરણ: Fibonacci કાર્યને ઑપ્ટિમાઇઝ કરવું

Fibonacci F(0) = 0, F(1) = 1 સાથે F(x) = F(x-1) + F(x-2) ફંક્શનની ઑપ્ટિમાઇઝેશન સમસ્યાને ધ્યાનમાં લો. આપણે 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