অটোমেটায় নিয়মিত প্রকাশ এবং ব্যাকরণের মধ্যে পার্থক্য


12

আমি অটোম্যাটে নতুন, এবং আমাকে গতকালই নিয়মিত প্রকাশের জন্য একটি সংক্ষিপ্ত পরিচিতি দেওয়া হয়েছে। আমি নিয়মিত অভিব্যক্তি সংজ্ঞায়িত করতে বিভিন্ন বিধি পড়েছি। তবে আমি নিয়মিত প্রকাশ এবং কোনও ভাষার ব্যাকরণের মধ্যে পার্থক্য করতে অক্ষম (নিয়মিত প্রকাশের জন্য আমাকে ব্যাকরণ শেখানো হয়নি)।

আমি বুঝতে পারি যে ব্যাকরণ আমাদেরকে কোনও ভাষায় বৈধ স্ট্রিং তৈরি করতে সহায়তা করে, তবে তারপরে এটি নিয়মিত এক্সপ্রেশন রাষ্ট্রের সংজ্ঞা দেওয়ার নিয়ম। তাহলে পার্থক্যটি কোথায় থাকে? আমি আমার প্রফেসরকে জিজ্ঞাসা করেছি এবং তিনি বলেছিলেন যে একটি ভাষার সবচেয়ে বড় মৌলিক স্ট্রিং এবং ব্যাকরণটি যে কোনও ভাষার নিয়মের সেট, যা রেজেক্সের চেয়ে উচ্চতর অর্ডার হয়। কেউ কি আরও কিছু গভীরতর তথ্য সরবরাহ করতে পারেন?

উত্তর:


22

নিয়মিত এক্সপ্রেশন, নিয়মিত ব্যাকরণ এবং সসীম অটোমাতা একই জিনিসটির জন্য কেবল তিনটি আলাদা ফর্মালিজম। এগুলির মধ্যে যে কোনও একটিতে অন্য কোনও রূপান্তর করতে অ্যালগরিদম রয়েছে।

আমাদের তিনটিটিরই মূল কারণ হ'ল এগুলি স্বাধীনভাবে তৈরি করা হয়েছিল, প্রথম সমতার সমষ্টি (আরও বেশ কয়েকটি আনুষ্ঠানিকতা রয়েছে) ক্লিন দ্বারা প্রমাণিত (এই ফলাফল, বা এর অংশটিকে ক্লিনির উপপাদ্য বলা হয়)।

সুতরাং সেই প্রসঙ্গে আপনি যে মডেলগুলি চালাতে চান তার উপর নির্ভর করে, তারা সকলেই একটি নিয়মিত ভাষার স্ট্রিং সনাক্ত করে এবং গণিতগতভাবে তৈরি করতে পারে, সেই অর্থে কোনও পার্থক্য নেই।

অবশ্যই কখনও কখনও একটি নির্দিষ্ট কাজের জন্য একটি মডেলের ব্যবহারের চেয়ে অন্যের চেয়ে সহজ, আনুষ্ঠানিকতার বিবরণের কারণে। তবুও তারা মানুষের মাথায় যেভাবে কাজ করেন তা প্রায়শই আলাদা থাকে, কম্পিউটারের মতো সীমাবদ্ধ অটোমেটা "অনুভূতি", নিয়মিত এক্সপ্রেশনগুলি "অনুভূতি" যেমন আপনি ছোট সাবস্ট্রিংগুলির বাইরে স্ট্রিং তৈরি করছেন এবং নিয়মিত ব্যাকরণগুলি আরও প্রচলিত ব্যাকরণের মতো "অনুভব" করে কোনও ভাষার বাক্যটির উত্স বা শ্রেণিবিন্যাস (ইতিহাসের দিকে তাকালে আপনি অবাক হন)

সুতরাং দুটি তুলনা করতে, আসুন তাদের সংজ্ঞা দিন:

নিয়মিত অভিব্যক্তি

সুতরাং নিয়মিত এক্সপ্রেশন নীচে পুনরাবৃত্তভাবে সংজ্ঞায়িত করা হয়:

  1. একটি রেগুলার এক্সপ্রেশন হয়
  2. একটি রেগুলার এক্সপ্রেশন হয়ε
  3. যে জন্য একটি রেগুলার এক্সপ্রেশন হয় একটি ΣএকটিএকটিΣ
  4. যদি এবং বি নিয়মিত প্রকাশ হয় একজনবি
    • একটি নিয়মিত প্রকাশ (স্বরূপ)একজনবি
    • একটি নিয়মিত প্রকাশ (বিকল্প)একজন|বি
    • একটি রেগুলার এক্সপ্রেশন আছে (Kleene তারকা)একজন*

কিছু শব্দার্থবিজ্ঞানের পাশাপাশি (আমরা কীভাবে স্ট্রিং পেতে অপারেটরদের ব্যাখ্যা করি), আমরা একটি নিয়মিত ভাষা থেকে স্ট্রিং উত্পন্ন করার একটি উপায় পাই।

নিয়মিত ব্যাকরণ

নিয়মিত ব্যাকরণে চারটি টিউপল থাকে যেখানে এন নন-টার্মিনালের সেট , ter টার্মিনালের সেট, এস স্টার্ট নন-টার্মিনাল এবং পি প্রডাকশনগুলির সেট যা আমাদের বলুন কিভাবে শুরু প্রতীক, একটি স্ট্রিং মধ্যে ধাপে ধাপে পরিবর্তন করতে Σ *পি এর উত্পাদন দুটি ধরণের একটি থেকে আঁকা থাকতে পারে (যদিও উভয়ই নয়):(এন,Σ,পি,এসএন)এনΣএসপিΣ*পি

রাইট লিনিয়ার ব্যাকরণ

অ টার্মিনাল জন্য , সি , টার্মিনাল একটি এবং খালি স্ট্রিং ε , সব নিয়ম ফর্মের আছেন:বিসিএকটিε

  1. বিএকটি
  2. বিএকটিসি
  3. বিε

বাম লিনিয়ার ব্যাকরণ

বাম রৈখিক ব্যাকরণ একই আছে, কিন্তু নিয়ম # 2 হয় বিসিএকটি

চিন্তা করার বিষয়

সুতরাং এই সংজ্ঞাগুলি দেখে এবং তাদের সাথে খেলতে আমরা দেখতে পাচ্ছি যে নিয়মিত প্রকাশগুলি মিলের নিয়মের মতো, বা একবারে স্ট্রিংগুলির সাথে আচরণ করার উপায়গুলির মতো।

ব্যাকরণগুলি স্ট্রিংয়ের বিভাগগুলিকে "লেবেল" বলে মনে হচ্ছে এবং স্ট্রিংটিকে বৈধতা দেওয়ার জন্য নতুন লেবেলের অধীনে গ্রুপ লেবেলগুলি (উদাহরণস্বরূপ যদি আমরা থেকে স্ট্রিংয়ে যেতে পারি বা তার বিপরীতে আমরা খুশি)।এস

তবে এগুলি সত্যিই একই মৌলিক কাজটি করছে এবং আপনি তাদের ফাংশনটির রূপকটি কীভাবে দেখেন তা সত্যিই আপনার উপর নির্ভর করে।


আমি ব্যাকরণগুলি ভাষার স্ট্রিং তৈরি করার বিষয়ে আরও জোর দিয়েছি , যখন নিয়মিত প্রকাশ (যেমন আপনি বলেছিলেন) ভাষাতে প্রতিটি স্ট্রিংয়ের সাথে মেলে (বা, "পরীক্ষা") মিলবে এমন প্যাটার্ন বেশি ।
রণ জি।

@ রেঞ্জ।, এটি সত্যিই এটি ভাবার স্বাভাবিক উপায় তবে আপনি উভয়দিকেই ফ্লিপ করতে পারেন; ব্যাস আপ পার্সিং ব্যাকরণের বিপরীতে একটি স্ট্রিং পরীক্ষা করে এবং আপনি কোনও ভাষার সংক্ষিপ্ত বিবরণ হিসাবে নিয়মিত প্রকাশটি ব্যবহার করতে পারেন (যদিও এটি সম্ভবত কম সাধারণ)।
লুক ম্যাথিসন

এনএসআর

এনআরআরপি

@ সিম্পলবো, আহা হ্যাঁ, এটি অবশ্যই টাইপো। ধন্যবাদ!
লুক ম্যাথিসন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.