নিয়মিত এক্সপ্রেশন, নিয়মিত ব্যাকরণ এবং সসীম অটোমাতা একই জিনিসটির জন্য কেবল তিনটি আলাদা ফর্মালিজম। এগুলির মধ্যে যে কোনও একটিতে অন্য কোনও রূপান্তর করতে অ্যালগরিদম রয়েছে।
আমাদের তিনটিটিরই মূল কারণ হ'ল এগুলি স্বাধীনভাবে তৈরি করা হয়েছিল, প্রথম সমতার সমষ্টি (আরও বেশ কয়েকটি আনুষ্ঠানিকতা রয়েছে) ক্লিন দ্বারা প্রমাণিত (এই ফলাফল, বা এর অংশটিকে ক্লিনির উপপাদ্য বলা হয়)।
সুতরাং সেই প্রসঙ্গে আপনি যে মডেলগুলি চালাতে চান তার উপর নির্ভর করে, তারা সকলেই একটি নিয়মিত ভাষার স্ট্রিং সনাক্ত করে এবং গণিতগতভাবে তৈরি করতে পারে, সেই অর্থে কোনও পার্থক্য নেই।
অবশ্যই কখনও কখনও একটি নির্দিষ্ট কাজের জন্য একটি মডেলের ব্যবহারের চেয়ে অন্যের চেয়ে সহজ, আনুষ্ঠানিকতার বিবরণের কারণে। তবুও তারা মানুষের মাথায় যেভাবে কাজ করেন তা প্রায়শই আলাদা থাকে, কম্পিউটারের মতো সীমাবদ্ধ অটোমেটা "অনুভূতি", নিয়মিত এক্সপ্রেশনগুলি "অনুভূতি" যেমন আপনি ছোট সাবস্ট্রিংগুলির বাইরে স্ট্রিং তৈরি করছেন এবং নিয়মিত ব্যাকরণগুলি আরও প্রচলিত ব্যাকরণের মতো "অনুভব" করে কোনও ভাষার বাক্যটির উত্স বা শ্রেণিবিন্যাস (ইতিহাসের দিকে তাকালে আপনি অবাক হন)
সুতরাং দুটি তুলনা করতে, আসুন তাদের সংজ্ঞা দিন:
নিয়মিত অভিব্যক্তি
সুতরাং নিয়মিত এক্সপ্রেশন নীচে পুনরাবৃত্তভাবে সংজ্ঞায়িত করা হয়:
- একটি রেগুলার এক্সপ্রেশন হয়∅
- একটি রেগুলার এক্সপ্রেশন হয়ε
- যে জন্য একটি রেগুলার এক্সপ্রেশন হয় একটি ∈ Σএকটিa ∈ Σ
- যদি এবং বি নিয়মিত প্রকাশ হয়
একজনবি
- একটি নিয়মিত প্রকাশ (স্বরূপ)এ ⋅ বি
- একটি নিয়মিত প্রকাশ (বিকল্প)এ ∣ বি
- একটি রেগুলার এক্সপ্রেশন আছে (Kleene তারকা)একজন*
কিছু শব্দার্থবিজ্ঞানের পাশাপাশি (আমরা কীভাবে স্ট্রিং পেতে অপারেটরদের ব্যাখ্যা করি), আমরা একটি নিয়মিত ভাষা থেকে স্ট্রিং উত্পন্ন করার একটি উপায় পাই।
নিয়মিত ব্যাকরণ
নিয়মিত ব্যাকরণে চারটি টিউপল থাকে যেখানে এন নন-টার্মিনালের সেট , ter টার্মিনালের সেট, এস স্টার্ট নন-টার্মিনাল এবং পি প্রডাকশনগুলির সেট যা আমাদের বলুন কিভাবে শুরু প্রতীক, একটি স্ট্রিং মধ্যে ধাপে ধাপে পরিবর্তন করতে Σ * । পি এর উত্পাদন দুটি ধরণের একটি থেকে আঁকা থাকতে পারে (যদিও উভয়ই নয়):( এন, Σ , পি, এস। এন)এনΣএসপিΣ*পি
রাইট লিনিয়ার ব্যাকরণ
অ টার্মিনাল জন্য , সি , টার্মিনাল একটি এবং খালি স্ট্রিং ε , সব নিয়ম ফর্মের আছেন:বিসিএকটিε
- বি → ক
- বি → এ সি
- বি → ε
বাম লিনিয়ার ব্যাকরণ
বাম রৈখিক ব্যাকরণ একই আছে, কিন্তু নিয়ম # 2 হয় ।বি → সিএকটি
চিন্তা করার বিষয়
সুতরাং এই সংজ্ঞাগুলি দেখে এবং তাদের সাথে খেলতে আমরা দেখতে পাচ্ছি যে নিয়মিত প্রকাশগুলি মিলের নিয়মের মতো, বা একবারে স্ট্রিংগুলির সাথে আচরণ করার উপায়গুলির মতো।
ব্যাকরণগুলি স্ট্রিংয়ের বিভাগগুলিকে "লেবেল" বলে মনে হচ্ছে এবং স্ট্রিংটিকে বৈধতা দেওয়ার জন্য নতুন লেবেলের অধীনে গ্রুপ লেবেলগুলি (উদাহরণস্বরূপ যদি আমরা থেকে স্ট্রিংয়ে যেতে পারি বা তার বিপরীতে আমরা খুশি)।এস
তবে এগুলি সত্যিই একই মৌলিক কাজটি করছে এবং আপনি তাদের ফাংশনটির রূপকটি কীভাবে দেখেন তা সত্যিই আপনার উপর নির্ভর করে।