इस समस्या में हमें चार मान p, q, r, s दिए गए हैं। हमारा काम लक्ष्य को भेदने की प्रायिकता दिए जाने पर खिलाड़ी के जीतने की प्रायिकता ज्ञात करना है।
यहां, हमारे पास दो खिलाड़ी हैं जो तीरंदाजी का खेल खेल रहे हैं। और खिलाड़ी 1 के लक्ष्य को भेदने की संभावना को p/q . के रूप में परिभाषित किया गया है . खिलाड़ी 2 के लक्ष्य से टकराने की प्रायिकता को r/s के रूप में परिभाषित किया गया है। हमें पहले खिलाड़ी के गेम जीतने की प्रायिकता ज्ञात करनी होगी।
समस्या को समझने के लिए एक उदाहरण लेते हैं,
इनपुट
p = 3, q = 5, r = 2, s = 5
आउटपुट
0.789
समाधान दृष्टिकोण
*इस दृष्टिकोण के लिए संभाव्यता के ज्ञान की आवश्यकता होती है।
चूंकि, खिलाड़ियों को लक्ष्य को हिट करने का मौका मिलने की संख्या की कोई ऊपरी सीमा नहीं है। दोनों कितनी भी बार लक्ष्य को हिट कर सकते हैं जिससे जीत की स्थिति की गणना परीक्षणों की संख्या पर निर्भर करती है।
तो,
मान लें कि खिलाड़ी द्वारा लक्ष्य को हिट करने की संभावना P1 =p/q है, इससे 1 - p/q गुम होने की संभावना बन जाती है।
मान लें कि खिलाड़ी दो के लक्ष्य से टकराने की प्रायिकता P2 =r/s है, जिससे 1 - r/s गुम होने की प्रायिकता बनती है।
अब, अनंत परीक्षणों के लिए, खिलाड़ी 1 के जीतने की प्रायिकता हो सकती है,
000win(P1) + (lost(P1)*lost(P2)*win(P1)) + (lost(P1)*lost(P2)*lost(P1)*lost(P2)*win(P1) + ….
जिसे इस रूप में तैयार किया जा सकता है,
P1 + ((1 - P1)*(1 - P2)*(P1)) + ((1 - P1)*(1 - P2)*(1 - P1)*(1 - P2)*(P1)) ...
यह एक अनंत जीपी है जहां,
A = P1 R = [(1 - P1)*(1 - P2)]
योग होगा,
S = A/ (1- R) , as R is less than 1.
$$S=\बाएं(\frac{\बाएं(\frac{p}{p}\right)}{1-\बाएं(1-\frac{p}{p}\right)*\बाएं(1- \frac{p}{p}\right)}\right)$$
हमारे समाधान की कार्यप्रणाली को दर्शाने वाला कार्यक्रम,
उदाहरण
#include <iostream> using namespace std; double calcWinningPropP1(double p, double q, double r, double s){ return (p / q) / (1 - ( (1 - (p/q)) * (1 - (r/s)) ) ); } int main() { double p = 3, q = 5, r = 2, s = 5; cout<<"The probability of player 1 winning is "<<calcWinningPropP1(p, q, r, s); return 0; }
आउटपुट
The probability of player 1 winning is 0.789474