আসলে, চমস্কি নরমাল ফর্ম (সিএনএফ) এর জন্য সিওয়াইকে চালানোর দরকার নেই, কেবল বাইনারিাইজেশন। পার্সিংয়ের কিউবিক জটিলতা সংরক্ষণের জন্য বাইনারিাইজেশন অপরিহার্য, যদিও এটি কেবলমাত্র নন-টার্মিনালগুলির (এনটি) সম্মানের সাথে প্রয়োজনীয়। তবে, যদি আপনার কাছে মাত্র 2 টি নন-টার্মিনাল এবং কয়েকটি টার্মিনাল সহ বিধি থাকে তবে সিওয়াইকে অ্যালগরিদম প্রোগ্রাম এবং ব্যাখ্যা করার জন্য আরও জটিল হয়ে ওঠে।
আপনি যেমনটি বলেছেন, বাইনারিাইজেশন করার অনেকগুলি উপায় রয়েছে। কিছু অন্যের তুলনায় ছোট ব্যাকরণ দেবে। উদাহরণ স্বরূপ
X -> B C D
Y -> B C E
হিসাবে বাইনারি হতে পারে
X -> Z D
Y -> Z E
Z -> B C
ফলসীকরণের মাধ্যমে একটি নিয়ম সংরক্ষণ করা, যা গণনা এবং তার ফলাফলের আকারে সঞ্চয় করতে পারে।
তবে অন্যান্য নিয়মগুলির সাথে, আপনি শুরুর চেয়ে নিয়মের সমাপ্তিটিকে ফ্যাক্টরাইজ করতে পারেন।
রব সিমন্স এর উত্তর দ্বারা উদ্ধৃত গান, ডিং এবং লিনের কাজের সাথে আমি পরিচিত নই । ধারণাটি আকর্ষণীয় তবে আমি আশ্চর্য হই যে এটি গণনাটি অপ্টিমাইজ করার অন্যান্য পদ্ধতির সাথে কীভাবে তুলনা করা যায়। আমি এত ভয় করি না।
মুল বক্তব্যটি হ'ল কেবল খাঁটি সি কেওয়াই অ্যালগরিদমের প্রতি ইস্যু বিশ্লেষণ করা কিছুটা একাডেমিক কিন্তু ব্যয়বহুল অনুশীলন বলে মনে হচ্ছে যে অন্যান্য ধরণের অপ্টিমাইজেশন রয়েছে যা ডেড ইন্ড পার্স নির্মূলের ক্ষেত্রে উল্লেখযোগ্যভাবে উন্নতি করতে পারে।
সিওয়াইকে হ'ল একমাত্র অ্যালগরিদমের পরিবারগুলির মধ্যে সহজতম প্রকরণ যা সমস্ত একই গতিশীল প্রোগ্রামিং মডেলটিতে দৃশ্যত তৈরি। আমি আপাতভাবে বলছি কারণ এই অ্যালগরিদমের সহজতম সংস্করণটি গতিশীল প্রোগ্রামিং হিসাবে পরিচিত নয়, তবে ক্রস-প্রোডাক্ট হিসাবে পরিচিত। 1995 সালে ল্যাং দ্বারা মন্তব্য করা হিসাবে , বার হিলেল, পার্লস এবং শমির (1961) এর কারণে এটি সিএফ ব্যাকরণ জি এর পুরানো নির্মাণ এবং সিএফ ব্যাকরণ এফ এর নিয়মিত ছেদ এবং একটি এফএসএ এ-এর নিয়মিত ভাষা তৈরি
করে ।
গতিশীল প্রোগ্রামিংয়ের উপর ভিত্তি করে সমস্ত চার্ট পার্সার, বা সাধারণ সিএফ পার্সারগুলি ক্রস-প্রোডাক্ট নির্মাণের "অনুকূলিত" রূপ হিসাবে দেখা যেতে পারে, পার্সারের অপ্রয়োজনীয় গণনা এড়াতে অপ্টিমাইজেশনটি ব্যবহৃত হয়। তবে সমস্যাটি সূক্ষ্ম কারণ অকেজো গণনা এড়ানো ফলস্বরূপ দরকারীগুলির সদৃশ হতে পারে, যা আরও খারাপ হতে পারে which
ব্যাক-আপ হওয়ার কারণে, সিকেওয়াই অ্যালগরিদম আংশিক পার্সের অকেজো গণনা তৈরি করে যা ব্যাকরণের অ্যাক্সিম থেকে পাওয়া যায় না।
জিএলআর পার্সারের মতো অ্যালগরিদম (ত্রুটিযুক্ত সংস্করণ প্রকাশিত হলেও আরও ভাল পরিচিতদের একটি হিসাবে নামকরণ করার জন্য), কিছু টপ-ডাউন জ্ঞান রয়েছে যা সম্ভবত এই জাতীয় ব্যয়বহুল কম্পিউটেশন এড়াতে পারে, ব্যয়বহুল। এবং অকার্যকর গণনা সংরক্ষণের ক্ষেত্রে বিভিন্ন আচরণের সাথে আরও অনেকগুলি রূপ রয়েছে ..
এই অপ্টিমাইজেশান কৌশলগুলি মাথায় রেখেই দ্বির্মুখীকরণ কৌশল বিশ্লেষণ করা উচিত। একটি ছোটখাটো সমস্যা কী হতে পারে তা অপ্টিমাইজ করার কী বিষয় এবং আরও শক্তিশালী কৌশল অবহেলা করা যায়।
পার্সিং প্রক্রিয়াটির অপ্টিমাইজেশানটি প্রাপ্ত পার্স কাঠামোর "মানের" সাথে দৃ linked়ভাবে সংযুক্ত রয়েছে, যা সমস্ত সম্ভাব্য পার্সকে উপস্থাপন করে এবং প্রায়শই (ভাগ করে নেওয়া) পার্স-বন হিসাবে পরিচিত is আমি অন্য উত্তরে এটি নিয়ে আলোচনা করি ।
এর মধ্যে কয়েকটি বিষয় সাহিত্যে আলোচিত হয়। উদাহরণস্বরূপ বিলোট এবং ল্যাং দ্বারা বিশ্লেষণ কৌশল সম্পর্কিত পার্থক্য সম্পর্কিত দ্বিবিকরণের কিছু দিক বিশ্লেষণ করুন।