জটিলতা তত্ত্বে ওরাকলগুলি দেখা দেওয়ার সবচেয়ে সাধারণ উপায়টি হ'ল : একটি নির্দিষ্ট ওরেकल নির্দিষ্ট সীমাবদ্ধ সংস্থানযুক্ত একটি টুরিং মেশিনের জন্য উপলব্ধ করা হয়, এবং একটি কীভাবে ওরাকল যন্ত্রটির গণ্য শক্তি বাড়ায় তা অধ্যয়ন করে।
ইনপুট অংশ হিসাবে , যদিও অন্য উপায় আছে যা কখনও কখনও ওরাকলগুলি ঘটে । উদাহরণস্বরূপ, ধরুন আমি প্রদত্ত উচ্চ-মাত্রিক পলিটপের ভলিউম গণনা করার জন্য অ্যালগরিদম অধ্যয়ন করতে চাই। ধ্রুপদীভাবে, বহুপথটিকে তার দিকগুলির তালিকা বা অন্য কোনও সুস্পষ্ট উপস্থাপনের মাধ্যমে নির্দিষ্ট করা দরকার। যাইহোক, আমরা একটি ভলিউম ওরাকল দ্বারা সুনির্দিষ্ট একটি পলিটোপের ভলিউম গণনা করার সমস্যাও তৈরি করতে পারি, এটি ইনপুট হিসাবে স্থানের একটি বিন্দুর স্থানাঙ্ক গ্রহণ করে এবং "হ্যাঁ" যদি আউটপুট দেয় কেবল এবং যদি প্রদত্ত বিন্দুটি পলিটপের অভ্যন্তরে থাকে only তারপরে আমরা জিজ্ঞাসা করতে পারি যে এই পদ্ধতিতে সুনির্দিষ্টভাবে ব্যবহৃত একটি পলিটপের ভলিউম গণনা করার জন্য কোন গণ্য সংস্থান প্রয়োজন। এই বিশেষ ক্ষেত্রে আমরা ডায়ার, ফ্রিজ এবং কান্নানের খুব সুন্দর বহুপক্ষীয় সময়ের আনুষঙ্গিক স্কিম পেয়েছি এবং জটিলতার তত্ত্বের দৃষ্টিকোণ থেকে আকর্ষণীয়ভাবে, একটি প্রমাণ যে এলোমেলোভাবে এই সমস্যার জন্য একটি অত্যাবশ্যকভাবে সহায়তা করে , এতে কোনও নির্বিচারক অ্যালগরিদম পারে না ডায়ার-ফ্রিজ-কান্নান অ্যালগোরিদমের পাশাপাশি সঞ্চালন করুন।
সমস্যাগুলির জটিলতা তত্ত্বটি অধ্যয়নের জন্য কি কোনও পদ্ধতিগত উপায় আছে যেখানে ইনপুটটির অংশ হিসাবে ওরাকলগুলি সরবরাহ করা হয়? এটি কি কোনওভাবে ওরাকলসের সাথে জটিলতার ক্লাসগুলির স্বাভাবিক তত্ত্বকে হ্রাস করে? আমার অনুমানটি হ'ল না এবং এটি যেহেতু অনেকগুলি বিভিন্ন উপায়ে ইনপুটটির অংশ হিসাবে একটি ওরাকল সরবরাহ করা যেতে পারে, তাই এই ধরণের প্রতিটি সমস্যা একটি অ্যাডহক পদ্ধতিতে পরিচালনা করতে হবে। তবে আমি এই বিষয়টিতে ভুল প্রমাণিত হতে পেরে খুশি হব।