রাইট লিনিয়ার ব্যাকরণ - ∞ পয়েন্ট
S->ε
S->1A
S->0S
S->9I
S->3C
S->5E
S->4D
S->2B
S->7G
S->6F
S->8H
F->3K
K->0F
A->2L
K->1G
A->5B
A->0J
B->7A
J->5A
G->6K
G->8S
H->9K
F->5S
K->2H
I->6E
I->5D
J->4S
D->8I
B->6S
K->9B
F->6A
G->9A
K->6L
K->4J
C->1E
L->8K
E->5C
B->4K
C->0D
J->2K
D->2C
A->9F
J->7C
C->6J
C->8L
E->0K
L->0C
B->9C
E->2S
L->6I
I->0L
J->0I
B->2I
I->3B
H->1C
I->7F
C->4H
F->1I
G->4I
I->0G
C->3G
F->8C
D->0A
E->3A
I->9H
A->7D
C->2F
H->7I
A->8E
F->9D
E->8F
A->6C
D->6G
G->0E
D->5F
E->9G
H->2D
D->7H
H->3E
I->2A
K->3I
C->9S
C->7K
E->4B
D->1B
L->1D
J->9E
I->1S
E->1L
J->8D
D->9J
L->2E
J->3L
B->5L
B->8B
L->7J
L->9L
G->1F
A->4A
K->5K
B->3J
H->6H
E->7E
J->1J
D->4E
G->2G
J->6B
D->3D
E->6D
H->4F
I->4C
C->5I
F->0H
H->5G
K->7S
G->3H
L->5H
H->8J
A->3S
H->0B
B->1H
G->7L
K->8A
F->2J
F->7B
L->4G
F->4L
A->1K
B->0G
G->5J
L->3F
তারপরে আপনি কীভাবে এটি 'চালানো' বেছে নেবেন তার উপর নির্ভর করে এটি 'হ্যাঁ' বা 'না' আউটপুট দেয়।
কোনও সিরিয়াস এন্ট্রি নয়, কিছুটা মজা;)
সম্পাদনা:
সম্ভবত আমার কিছুটা ব্যাখ্যা করা উচিত।
একটি ব্যাকরণ নিয়ম (প্রযোজনার) একটি সেট যা সংজ্ঞায়িত হয় ভাষা । বর্ণমালার দ্বারা তৈরি সমস্ত সম্ভাব্য স্ট্রিং হিসাবে একটি ভাষা ভাবা যেতে পারে, যা তার ব্যাকরণের নিয়মের সাথে সামঞ্জস্য করে।
এখানে বর্ণমালা হ'ল সমস্ত দশমিক সংখ্যার সেট। ব্যাকরণের নিয়মগুলি হল যে সমস্ত স্ট্রিং অবশ্যই দশমিক পূর্ণসংখ্যা গঠন করে যা 13 দ্বারা বিভাজ্য।
কোনও স্ট্রিং আমাদের ভাষার সাথে সম্পর্কিত কিনা তা পরীক্ষা করতে আমরা উপরের ব্যাকরণটি ব্যবহার করতে পারি।
ব্যাকরণের নিয়মগুলিতে টার্মিনাল প্রতীক রয়েছে (যা ভাষার উপাদান রয়েছে) পাশাপাশি অ-টার্মিনাল প্রতীকগুলি যা পুনরাবৃত্তভাবে প্রতিস্থাপন করা হয়।
উদাহরণ দিয়ে কী চলছে তা ব্যাখ্যা করা সহজ:
উদাহরণস্বরূপ বলতে দিন যে আমরা যে স্ট্রিংটি পরীক্ষা করছি তা হ'ল 71955।
সর্বদা একটি সূচনা প্রতীক থাকে (যা অ-টার্মিনাল হয়), উপরের ব্যাকরণের ক্ষেত্রে এটি 'এস'। এই মুহুর্তে আমরা আমাদের স্ট্রিং থেকে কোনও অক্ষর পড়িনি:
current pattern symbol read
S ε
এখন, আমরা আমাদের স্ট্রিংয়ের প্রথম চিহ্নটি পড়ি যা '' 'হয়, তারপরে আমরা ব্যাকরণে একটি নিয়মের সন্ধান করি যা' -> 'এর বাম দিকে আমাদের বর্তমান প্যাটার্নে কোনও অ-টার্মিনাল রয়েছে এবং এটি '->' এর ডানদিকে আমাদের প্রতীক রয়েছে। ভাগ্যক্রমে একটি (এস-> 7 জি) রয়েছে, তাই আমরা আমাদের বর্তমান প্যাটার্নে নন-টার্মিনাল চিহ্নগুলিকে নতুন নিয়মের ডান হাত দিয়ে প্রতিস্থাপন করেছি:
current pattern symbol read
7G 7
এখন আমাদের প্যাটার্নে নন-টার্মিনাল 'জি' রয়েছে এবং পড়ার জন্য পরবর্তী প্রতীকটি '1', সুতরাং আমরা আমাদের ব্যাকরণে একটি নিয়মের সন্ধান করি যা 'জি-> 1 "দিয়ে শুরু হয় We আমরা খুঁজে পাই সেখানে একটি আছে (জি-> 1 এফ), তাই আমরা নন টার্মিনালটি আমাদের নতুন নিয়মের আরএইচএসের সাথে প্রতিস্থাপন করি:
current pattern symbol read
71F 1
এই প্রক্রিয়াটি পুনরাবৃত্তি করুন:
পরবর্তী নিয়ম: F-> 9D
current pattern symbol read
719D 9
পরবর্তী নিয়ম: ডি-> 5 এফ
current pattern symbol read
7195F 5
পরবর্তী নিয়ম: F-> 5 এস
current pattern symbol read
71955S 5
এই মুহুর্তে আমাদের স্ট্রিংগুলিতে আমাদের আর চিহ্ন নেই, তবে আমাদের সেখানে আরও একটি টার্মিনাল প্রতীক রয়েছে। ব্যাকরণের প্রথম নিয়ম থেকে আমরা দেখতে পাচ্ছি যে আমরা 'এস' কে খালি স্ট্রিং (ε) দিয়ে প্রতিস্থাপন করতে পারি: এস-> ε
এটি করা আমাদের বর্তমান প্যাটারটি দেয়: 71955ε যা 71955 এর সমতুল্য।
আমরা আমাদের স্ট্রিংয়ের সমস্ত চিহ্নগুলি পড়েছি এবং প্যাটার্নটিতে কোনও অ-টার্মিনাল চিহ্ন নেই। যার অর্থ যে স্ট্রিংটি ভাষার অন্তর্গত এবং তাই 71955 আসলে 13 দ্বারা বিভাজ্য।
অর্থাত্ প্যাটার্ন = স্ট্রিং থাকা লক্ষ্য। আপনার স্ট্রিংয়ের সমস্ত চিহ্নগুলি পড়ার পরে যদি কোনও অ-টার্মিনাল চিহ্ন থাকে, তবে স্ট্রিংটি ভাষার সাথে সম্পর্কিত নয়। তেমনি, আপনার স্ট্রিংটিতে পড়ার জন্য এখনও যদি আরও চিহ্ন থাকে তবে ব্যাকরণে কোনও নিয়ম না থাকলে আপনাকে এগিয়ে যেতে দেয়, তবে স্ট্রিংটি ভাষার সাথে সম্পর্কিত নয়।