ল্যাঙ্গুয়েজ থিওরি থিওরি অফ গণনার সাথে সম্পর্কিত। কম্পিউটার সায়েন্সের আরও দার্শনিক দিক কোনটি, কোন প্রোগ্রামগুলি সম্ভব, বা কোনটি কখনই লিখতে সম্ভব হবে, এবং কোন ধরণের সমস্যা সমাধানের জন্য অ্যালগরিদম লিখতে অসম্ভব তা নির্ধারণের বিষয়ে।
একটি নিয়মিত প্রকাশ হ'ল নিয়মিত ভাষা বর্ণনা করার উপায় way একটি নিয়মিত ভাষা হ'ল এমন একটি ভাষা যা নির্ধারিত সসীম অটোমেটনের দ্বারা সিদ্ধান্ত নেওয়া যেতে পারে।
আপনার সীমাবদ্ধ স্টেট মেশিনে নিবন্ধটি পড়তে হবে: http://en.wikedia.org/wiki/Finite_state_machine
এবং নিয়মিত ভাষা:
http://en.wikedia.org/wiki/Regular_language
সমস্ত নিয়মিত ভাষা কনটেক্সট ফ্রি ল্যাঙ্গুয়েজ তবে কনটেক্সট ফ্রি ল্যাঙ্গুয়েজগুলি নিয়মিত নয়। কনটেক্সট ফ্রি ল্যাঙ্গুয়েজ হ'ল একটি কনটেক্সট ফ্রি ব্যাকরণ বা পুশডাউন অটোমেটা দ্বারা গৃহীত সমস্ত স্ট্রিংয়ের সেট যা একটি একক স্ট্যাক সহ একটি চূড়ান্ত স্টেট মেশিন: http://en.wikedia.org/wiki/Pushdown_automaton#PDA_and_Context- ফ্রি_ ল্যাঙ্গুয়েজস
আরও জটিল ভাষাগুলির জন্য একটি ট্যুরিং মেশিনের প্রয়োজন (যে কোনও সম্ভাব্য প্রোগ্রাম আপনি আপনার কম্পিউটারে লিখতে পারেন) কোনও স্ট্রিং ভাষাতে আছে কিনা তা সিদ্ধান্ত নিতে।
ভাষা তত্ত্ব পি বনাম এনপি সমস্যা এবং কিছু অন্যান্য আকর্ষণীয় স্টাফের সাথেও খুব সম্পর্কিত।
কম্পিউটার বিজ্ঞানের আমার পরিচিতি তৃতীয় বর্ষের পাঠ্যপুস্তকটি এই স্টাফটি ব্যাখ্যা করার ক্ষেত্রে বেশ ভাল ছিল: থিওরি অফ কম্পিউটেশন এর ভূমিকা লিখেছেন মাইকেল সিপসার। তবে, নতুন কিনতে এটির জন্য আমার 160 ডলার খরচ হয়েছে এবং এটি খুব বেশি বড় নয়। হতে পারে আপনি একটি ব্যবহৃত অনুলিপি খুঁজে পেতে পারেন বা একটি লাইব্রেরিতে একটি অনুলিপি বা এটি আপনাকে সহায়তা করতে পারে এমন কিছু খুঁজে পেতে পারেন।
সম্পাদনা করুন:
নিয়মিত এক্সপ্রেশন এবং উচ্চতর ভাষা ক্লাসের সীমাবদ্ধতাগুলি গত ৫০ বছর বা তারও বেশি সময় ধরে গবেষণা হয়েছে ar আপনি নিয়মিত ভাষার জন্য পাম্পিং লেমায় আগ্রহী হতে পারেন। একটি নির্দিষ্ট ভাষা নিয়মিত নয় তা প্রমাণ করার একটি মাধ্যম:
http://en.wikipedia.org/wiki/Pumping_lemma_for_regular_languages
যদি কোনও ভাষা নিয়মিত না হয় তবে এটি প্রাসঙ্গিক মুক্ত হতে পারে, যার অর্থ এটি একটি প্রাসঙ্গিক মুক্ত ব্যাকরণ দ্বারা বর্ণিত হতে পারে, বা এটি এমনকি উচ্চতর ভাষার শ্রেণিতেও হতে পারে, আপনি প্রসঙ্গ নিবন্ধের জন্য পাম্পিং লিমা দ্বারা প্রাসঙ্গিক মুক্ত নয় প্রমাণ করতে পারবেন যে ভাষাগুলি নিয়মিত প্রকাশের জন্য একই রকম।
একটি ভাষা এমনকি অনস্বীকার্য হতে পারে, যার অর্থ এমনকি একটি টুরিং মেশিন (আপনার কম্পিউটারটি চালাতে পারে প্রোগ্রামটি চালিয়ে যেতে পারে) এই সিদ্ধান্ত নেওয়ার জন্য প্রোগ্রামিং করা যায় না যে কোনও স্ট্রিং ভাষা হিসাবে গ্রহণ করা উচিত বা প্রত্যাখ্যানযোগ্য।
আমি মনে করি যে অংশটি আপনি সবচেয়ে বেশি আগ্রহী তা হ'ল নিয়মিত অভিব্যক্তি কোন ভাষাগুলি সিদ্ধান্ত নিতে পারে এবং কোন ভাষা নিয়মিত নয় তা প্রমাণ করার জন্য পাম্পিং লেম্মা দেখার জন্য সুনির্দিষ্ট রাষ্ট্র মেশিনগুলি (নির্ধারক এবং নির্ধারক উভয়) is
মূলত কোনও ভাষা নিয়মিত হয় না যদি তার কোনও ধরণের মেমরি বা গণনা করার ক্ষমতা প্রয়োজন। ম্যাচিং বন্ধনীর ভাষা উদাহরণস্বরূপ নিয়মিত নয় কারণ মেশিনটিকে এটি বন্ধ করতে হবে কিনা তা জানতে কোনও বন্ধনী খোলা হয়েছে কিনা তা মনে রাখা দরকার।
কমপক্ষে তিনটি বি রয়েছে এমন অক্ষর a এবং b ব্যবহার করে সমস্ত স্ট্রিংয়ের ভাষা হ'ল নিয়মিত ভাষা: বা বা বা বা
A এবং b বর্ণগুলিতে যেগুলির চেয়ে বেশি বি থাকে সেগুলি ব্যবহার করে সমস্ত স্ট্রিংয়ের ভাষা নিয়মিত নয়।
এছাড়াও আপনার সমস্ত সীমাবদ্ধ ভাষা নিয়মিত হওয়া উচিত নয়, উদাহরণস্বরূপ:
A এবং b অক্ষরের সাথে 50 এর চেয়ে কম বর্ণের সমস্ত স্ট্রিংয়ের ভাষা নিয়মিত, যেহেতু এটি সীমাবদ্ধ আমরা জানি আমরা এটি হিসাবে বর্ণনা করতে পারি (b | abb | bab | bab | aabbb | ababb | ..) যতক্ষণ সম্ভব সমস্ত সংমিশ্রণগুলি তালিকাভুক্ত না হওয়া পর্যন্ত ect
Automata Theorem