रैंडमाइज्ड एल्गोरिथ्म का अपेक्षित रनिंग टाइम एक अच्छी तरह से परिभाषित अवधारणा है, ठीक उसी तरह जैसे सबसे खराब समय चल रहा है। यदि एक एल्गोरिथ्म को यादृच्छिक किया जाता है, तो इसका चलने का समय भी यादृच्छिक होता है, जिसका अर्थ है कि हम इसके चलने के समय के अपेक्षित मूल्य को परिभाषित कर सकते हैं।
एक प्रसिद्ध उदाहरण क्विकॉर्ट है: अगर हम यादृच्छिक पर पिवोट्स लेते हैं, तो हम यह साबित कर सकते हैं कि इसका अपेक्षित समय चल रहा है ओ (एन लॉग एन), भले ही इसका सबसे खराब समय चल रहा है ओ (एन ^ 2)। एक उदाहरण जहां यादृच्छिकरण बहुत शक्तिशाली है, सबसे छोटी संलग्न मंडली समस्या है: एक सरल एल्गोरिथ्म है जिसका सबसे खराब समय चल रहा है O (n ^ 3), लेकिन अपेक्षा में, इसका चलने का समय केवल O (n) है।
औसत रनिंग टाइम का उपयोग आमतौर पर एल्गोरिथ्म के व्यवहार के बारे में बात करते समय किया जाता है 'अधिकांश इनपुट के लिए'। हम बेतरतीब ढंग से इनपुट बनाने के कुछ तरीके को परिभाषित करते हैं, उदाहरण के लिए, हम यादृच्छिक संख्याओं के साथ एक सरणी भरते हैं, या हम यादृच्छिक रूप से n (इसलिए कोई डुप्लिकेट) के माध्यम से नंबर 1 की अनुमति नहीं देते हैं, या हम एक सिक्का फ्लिप करते हैं और या तो एक अवरोही या आरोही सेट प्राप्त करते हैं। संख्या। एल्गोरिदम के उस यादृच्छिक वितरण के लिए एक एल्गोरिथ्म का औसत रनिंग टाइम तब एल्गोरिथ्म का अपेक्षित रनिंग समय होता है (जिस स्थिति में एल्गोरिदम को यादृच्छिक नहीं किया जा सकता है, लेकिन इनपुट है)।
एक उदाहरण के रूप में: ज्यामितीय समस्याएं हैं जिनके लिए एल्गोरिदम मौजूद हैं जो पहली नजर में अच्छी तरह से काम करते हैं, जब तक कि आप वितरण लाइनों के कुछ बहुत ही अजीब तरीके की खोज नहीं करते, कहते हैं, इनपुट लाइनें। यदि आप मानते हैं कि लाइनें बेतरतीब ढंग से वितरित हैं, तो ऐसा हो सकता है कि ये अजीब परिदृश्य होने की संभावना नहीं है, इसलिए आपका एल्गोरिथ्म अच्छा होने के साथ समाप्त होता है।
कंट्रास्टिंग: अपेक्षित रनिंग टाइम इस बारे में है कि एक एल्गोरिथ्म कैसे करता है 'जब तक कि आपका भाग्य खराब न हो' - एक ही एल्गोरिथ्म को एक ही इनपुट पर पुन: प्रयास कर रहा है, लेकिन विभिन्न यादृच्छिक विकल्पों के साथ इसे बहुत तेजी से हल किया जा सकता है। औसत रनिंग टाइम इस बारे में बात करता है कि एक एल्गोरिथ्म 'अधिकांश इनपुट्स के लिए कितना अच्छा प्रदर्शन करता है' - उसी इनपुट पर फिर से एक ही एल्गोरिदम की कोशिश करने से आपको मदद नहीं मिलेगी (सिवाय इसके कि शायद एल्गोरिथम को यादृच्छिक भी किया जाए)।