۰
subtitle
ارسال: #۱
سال ۸۹ تست ۴۴
لطفا حل کنید
در زمینه تبدیل nfa به dfa مشکل دارم لطفا روال این تبدیل را شرح بدهید.
در زمینه تبدیل nfa به dfa مشکل دارم لطفا روال این تبدیل را شرح بدهید.
(۱۲ اردیبهشت ۱۳۹۱ ۰۳:۲۹ ق.ظ)Lakikharin نوشته شده توسط: سلام. nfa شما زیاد حالت مسیر نداره و مشخصه چه رشته هایی رو قبول میکنه. یه حالت شروع داره. حتماً باید با a شروع بشه. بعدش میتونه یه تعداد b و بعدش c بیاد. عبارت منظمش میشه aa∗b∗c∗. یه تله هم باید داشته باشه چون اگه یه حرف اشتباه بگیره دیگه رشته جزء جواب نمیشه.Lakikharin عزیز یه سوال بنابر nfa رشته acb پذیرفته میشه و به حالت نهایی میره که در عبارت منظمی که شما لطف کردید نوشتید قرار
(۱۱ اردیبهشت ۱۳۹۱ ۰۶:۴۳ ب.ظ)yaser_ilam_com نوشته شده توسط: ببین دوست من تﺋوریک بخوای بدونی کتب لینز کامل توضیح داده اما عملی و رو مثال من برات شرح میدم :
اول باید از حالت اولیه q0 شروع کنیم چون دنبال dfa هستیم باید تمام حرکات q0 با ∑=a,b,c را محاسبه کرد :
(q0,a)={q0,q1,q2} یعنی با شروع از q0 و یال a به سه حالت q0,q1,q2 می توان رسید .
حال {q0,q1,q2} خود یک حالت است که باید مجزا حساب کنیم هر گره جدید ایجاد شد باید مجزا حساب کرد
حالا q0 رو با b حساب کنیم مب بینیم از q0 با b به هیچ حالت دیگه نمی تونیم بریم با c همینطور پس :
(q0,b)=(q0,c)=∅حالت ایجاد شده {q0,q1,q2} را حساب کرده باید بدانیم چون q1 حالت نهایی است پس این حالت چون شامل q1 است پس حالت نهایی می باشد .باید دید تمام سه حالت مذکور یک بار با a و با b و با c چه حالاتی را شامل میشود :
({q0,q1,q2},a)={q0,q1,q2}گره جدید {q1,q2} داریم این را هم مجزا حساب می کنیم :
({q0,q1,q2},b)={q1}
({q0,q1,q2},c)={q1,q2}
({q1,q2},a)=∅
({q1,q2},b)={q1}
({q1,q2},c)={q1,q2}
حال گره ایجاد شده بعدی q1 را حساب می کنیم :
({q1},a)=∅
({q1},b)={q1}
({q1},c)=∅
حال دقت کن اگه بخواییم q2 رو حساب کنیم چون از q0 هیچ راهی به q2 وجود ندارد موقع کاهش حالات می تونیم ازش صرف نظر کنیم حالا شکل رو من پیوست کردم
اگه اشکال دیدی بگو
سوال داشتی بپرس
بازم نفهمیدی دکمه کامل نیست رو بزن تا دوستان برات توضیح بدن