# Native Code > برنامه نویسی در Delphi >  تبدیل dfa به nfa

## bastani

سلام 
من تو نوشتن برنامه تبدیل یه dfa به nfa مشکل دارم اگه کسی برنامه ش رو می دونه منو شرمنده ی اخلاق ورزشیش می کنه thanks. :oops:

----------


## Delphi-Clinic

ببین عزیز من یه کم دیر می گیرم.

ممکنه یه کم بیشتر توضیح بدی؟

----------


## MM_Mofidi

رجوع شود به مباحث نظریه زبانها و ماشینها

----------


## bastani

من احتیاج مبرم به این برنامه دارم ببین dfa  و nfa مربوط به درس نظریه زبانها می شه :(

----------


## MM_Mofidi

ببین عزیز جان اگه میخواهی یک nfa به dfa تبدیل کنی یه چیزی ولی هر dfa خودش یک nfa هست تبدیل لازم ندارد.
برای تبدیل nfa به dfa باید 3 کار انجام دهی.
1- حذف لاندا (حرکت بدون ارزش)
2-حذف خروجی مشترک یعنی برای یک الفبا به بیش از یک حالت برود
3-ایجاد حالت مرده و فرستادن حالات بی الفبا به آن(حالاتی که در nfa الفبا بر یک حالت ممکن است وارد شود ولی معلوم نیست ماشین باید چه کند)

امیدوارم مفهوم باشد چون بهتر نمیتوانم توضیح دهم.

----------


## bastani

ببین من خودم برنامه اش رو نیمه تمام نوشته ام به اینصورت که یه آرایه تابعهای انتقال رو می گیره و مثلا شاخه q0,a وq0,b و... رو ایجاد می کنه اما نمی تونم به صورت ساخت یافته این رو برای مثلا حالت درونی که توسط q0,a ایجاد می شه بسط بدم
 :گیج:

----------


## MM_Mofidi

شبیه یک تابع بازگشتی است باید هر دفعه همه حالات را چک کند. تا اندازه حالات به یک برسد آن وقت حالت جدید معادل است با حالتی حاوی تمام حالات خلق شده.

----------


## mercede

سلام
من به یک برنامه که nfa رو به dfa تبدیل کنه و ساده سازیش کنه به زبان c احتیاج دارم.

----------


## yaserutd

سلام 
من احتیاج به یک برنامه DFNساده دارم اگه کسی می تونه کمک کنه و یا همچین برنامه ای داره که بتونه کمک کنه خیلی ممنون می شم.

----------

