PDA

View Full Version : نحوه کار ماشین تورینگ



qanewaisi
دوشنبه 19 بهمن 1388, 19:31 عصر
سلام
من یه برنامه ای دارم که در مورد کار با ماشین تورینگ هست.
من این برنامه رو از یه سایتی گرفتم که نوشته بود ماشین تورینگ رو با دادن یه سری مقادیر اولیه به برنامه، بصورت گرافیکی رسم می کنه!!!:اشتباه:
برای من جالب بود که به دنبال قضیه برم وشاید با کمک دوستان مفهمو ماشین تورینگ رو بهتر در ذهن خودم تجسم کنم و باهاش بیشتر آشنا بشم.

حالا مواردی که دوستان اگه لطف کنن ،کمک کنند :

تعریف ماشین تورینگ
کاربرد ماشین تورینگ

و در برنامه خودم :
ورودی برنامه چه چیزهایی هستند؟
خروجی برنامه باید چه چیزی باشد؟

برنامه ضمیمه شده است.
با تشکر

vbehzadan
سه شنبه 20 بهمن 1388, 03:52 صبح
به طور عجیبی جواب سوالای شما توی ویکیپدیای فارسی پیدا میشه:
"در تئوری محاسبات (http://fa.wikipedia.org/wiki/%D8%AA%D8%A6%D9%88%D8%B1%DB%8C_%D9%85%D8%AD%D8%A7% D8%B3%D8%A8%D8%A7%D8%AA) ماشین تورینگ (Turing machine) به یک ماشین حالات متناهی (http://fa.wikipedia.org/wiki/%D9%85%D8%A7%D8%B4%DB%8C%D9%86_%D8%AD%D8%A7%D9%84% D8%A7%D8%AA_%D9%85%D8%AA%D9%86%D8%A7%D9%87%DB%8C) اطلاق می‌شود که درآن با وقوع هر عبور[۱] (http://fa.wikipedia.org/wiki/%D9%85%D8%A7%D8%B4%DB%8C%D9%86_%D8%AA%D9%88%D8%B1% DB%8C%D9%86%DA%AF#cite_note-0) یک نماد (http://fa.wikipedia.org/wiki/%D9%86%D9%85%D8%A7%D8%AF)[۲] (http://fa.wikipedia.org/wiki/%D9%85%D8%A7%D8%B4%DB%8C%D9%86_%D8%AA%D9%88%D8%B1% DB%8C%D9%86%DA%AF#cite_note-1) برروی نوار چاپ می‌شود. با وجود اینکه مکانیزم ماشین تورینگ مقدماتی است مفهومش برای پوشش عملکردهای بسیار پیچیده کافی و گسترده‌است. حافظه این ماشین ساختاری بسیار ساده دارد. یعنی می‌تواند بصورت یک آرایه یک بعدی از عناصر (سلولها) که هر یک می‌توانند حافظ تنها یک نماد باشند، باشد. این آرایه از هر دو طرف باز و نامحدود است (حافظه بینهایت) است و اطلاعات آن می‌توانند به هر ترتیبی فراخوانی شوند."
منبع: http://fa.wikipedia.org/wiki/%D9%85%D8%A7%D8%B4%DB%8C%D9%86_%D8%AA%D9%88%D8%B1% DB%8C%D9%86%DA%AF
پیشنهاد می کنم اگه با انگلیسی مشگلی ندارین، مقاله اصلی ویکی پدیا رو در مورد تورینگ ماشین بخونین.

qanewaisi
سه شنبه 20 بهمن 1388, 06:36 صبح
ضمن تشکر از شما دوست عزیز
شما برنامه ای که من صمیمه کردم رو باهاش تونستین کار کنید؟

mostafa_shaeri_tj
سه شنبه 20 بهمن 1388, 22:56 عصر
سلام. اگر کتاب نظریه ی زبان ها و ماشین ها را مطالعه کرده باشید میتونید به خوبی متوجه عملکرد و تعریف ماشین تورینگ بشید.

دانشمندان ریاضی و کامپیوتر در سیر تکامل نظریات خودبه ترتیب به ماشین های DFA و NFA و PDA و NPDA دست یافتند. که هرکئام برای انجام عملیات های خاصی تعریف شده بودند و محدود به بازه ای زبانها میشدند . تا آنکه ماشین تورینگ ابداع شد و همه ی زبان ها و همه ی الگوریتم ها را پشتیبانی کرد (هنوز زبان یا الگوریتمی که ماشین تورینگ نتواند آنرا بسازد پیدا نشده) .

qanewaisi
سه شنبه 20 بهمن 1388, 23:35 عصر
من این کتاب رو پاس کردم و متاسفانه استادمون شارلاتان بازی در آورد و بخش های اصلی کتاب رو به ما درس نداد!
سوال من این بود که آیا با برنامه ای که من ضمیمه کردم کار کردید؟

mostafa_shaeri_tj
چهارشنبه 21 بهمن 1388, 16:00 عصر
این برنامه به شما امکان طراحی یک ماشین تورینگ رو میده. شما در قسمت نام ، نام حالت تونو میدی. مثلا q0
بعد میای میگی توی این حالت به ازای دیدن 0 نوک خواندن به چه سمتی بره و جاش چی بنویسه و همین طور به ازای دین 1. halt هم به معنی ایستادن هست که معمولا برای وقتیه که جمله مورد قبول واقع شده. نوک خواند میتونه به سمت چپ و راست بره. در ضمن باید بگی که همراه رفتن به چپ یا راست به چه حالتی میری.

mr.eyar
شنبه 03 دی 1390, 20:34 عصر
با سلام لطفاكمك كنيد
ماشین تورینگ در مدل DFA

•برنامه ای بنویسید که ماشین اسلاید پیش را طراحی کند که رشته هایی را می پذیرد که نمایش دودویی آنها بر 5 بخش پذیر است

•1-اگر داده ی ورودی به ماشین در مبناع دودویی نباشد پیغام زیر را چک کند



the give number is not bainerysistem

2-اگر رشته باینری داده شده به ماشین بر 5 بخش پذیر نباشد قسمت ارایه مسیرهای طی شده عدم بخش پذیری عدد داده شده بر 5 را اعلام کند.

3-اگر عدد باینری داده شده بر 5 بخش پذیر باشد ضمن ارایه مسیر طی شده بخش پذیر عدد داده شده بر 5 را نیز اعلام کند.

فايل ضميمه

http://s1.picofile.com/file/7223672789/Presentation1.pptx.html

مرتضی تقدمی
چهارشنبه 22 آذر 1391, 22:10 عصر
سلام
من این پروژه رو نوشتم و در سایتم قرار داده ام.
موفق باشید