আপনার সিএফজি ভাষার ছেদটি নিয়মিত ভাষা দিয়ে গণনা করুন (এটি দ্বারা রাষ্ট্রের সংখ্যাকে গুণিত করার এবং একটি "শেষ প্রান্ত" রাষ্ট্র যুক্ত করার পরিমাণ )। ফলাফলটি খালি কিনা তা এখন পরীক্ষা করুন: ব্যাকরণে রূপান্তর করুন (আমি মনে করি ফলাফলটি বহুপদী আকার ধারণ করবে) এবং এপসিলনের প্রযোজনা থেকে "ব্যাকট্র্যাক"।Σটi = 0একজনটট
সম্পাদনা: Kaveh উল্লেখ করেন যে, এই বহুপদী হয় , তাই যদি একটি ইনপুট হিসেবে দেওয়া হয়, আলগোরিদিম সূচকীয় মধ্যে। তবে কাভেহ এটি ঠিক করার একটি উপায় খুঁজে পেয়েছিল। আসল অটোমেটনকে একটি সিএফজিতে রূপান্তর করুন এবং একটি নির্দিষ্ট টার্মিনাল দ্বারা সমস্ত টার্মিনাল প্রতিস্থাপন করুন। প্রতিটি নন-টার্মিনাল দ্বারা উত্পাদিত শব্দের ন্যূনতম আকার খুঁজে পেতে এখন পুনরাবৃত্তির অ্যালগরিদম ব্যবহার করুন।টট| কে |
Length দিয়ে সমস্ত দৈর্ঘ্যের সূচনা করুন , এবং তারপরে পুনরাবৃত্তভাবে সমস্ত দৈর্ঘ্যকে সুস্পষ্ট উপায়ে আপডেট করুন: একটি উত্পাদন (অর্ডারটি কোনও ব্যাপার নয়), । দাবি: এটি পুনরাবৃত্তিতে রূপান্তরিত হয় , যেখানে নন-টার্মিনালের সংখ্যা is কারণটি হ'ল কোনও গাছে ন্যূনতম দৈর্ঘ্যের শব্দ উত্পন্ন হয়, কোনও নন-টার্মিনাল দু'বার ব্যবহার হয় না; প্রতিটি "প্রান্ত" প্রক্রিয়া করতে সর্বাধিক এক পুনরাবৃত্তি লাগে (কিছু প্রান্ত সমান্তরালে "আপডেট" করা যেতে পারে)।∞একজন →একটিটিΠবিআমিচ( ক ) = মিনিট ( চ( ক ) , টি + ∑ এফ(বিআমি) )ও ( এন )এন