پرش به محتوا

ماشین امگا

از ویکی‌پدیا، دانشنامهٔ آزاد

ماشین امگا ()(انگلیسی: Omega-Automaton) گونه‌ای از ماشین حالات متناهی است که ورودی آن رشته‌های نامتناهی به جای رشته‌های متناهی می‌باشد. از آنجایی که رشته‌های ورودی نامتناهی می‌باشند، ماشین‌های امگا به جای مجموعه وضعیت‌های قبول، شرایط قبول دارند.

با توجه به ورودی ماشین‌های امگا که نامتناهی است، می‌توان از آن‌ها برای توصیف وضعیت سامانه‌هایی از قبیل سخت‌افزارها، سیستم‌های عامل، سیستم‌های کنترلی، تصدیق سیستم‌ها و محاسبات استفاده کرد.[۱]

ماشین‌های امگا همانند ماشین‌های حالت متناهی به دو گونهٔ قطعی و غیرقطعی تقسیم می‌شوند. انواع گوناگون ماشین‌های امگا عبارتند از: ماشین بوخی، ماشین رابین، ماشین زوجیت، ماشین مولر و … تمامی این ماشین‌ها به هر دو صورت قطعی و غیرقطعی وجود دارند و تفاوت آن‌ها در شرایط قبولی می‌باشد. به غیر از ماشین بوخی قطعی که از تمامی مدل‌های دیگر ضعیف‌تر است، تمامی این مدل‌ها زبان‌های منظم امگا را تشخیص می‌دهند.[۱]

معرفی و مقدمه[ویرایش]

مجموعه اعداد صحیح نامنفی را با نشان می‌دهیم، یعنی . الفبای ورودی متناهی را نیز با نمایش می‌دهیم. در حالی که مجموعهٔ تمام کلمات متناهی بر روی الفبای است، مجموعهٔ تمام کلمات نامتناهی بر روی الفبای مذکور می‌باشد. زبان را یک -زبان گوییم هرگاه کلمات آن زیرمجموعه‌ای از باشند، یعنی .[۲]

ماشین امگا قطعی[ویرایش]

یک ماشین امگا قطعی یک چندتایی به صورت است. در ادامه به تبیین هر کدام از مؤلفه‌ها می‌پردازیم:

  • مجموعه‌ای متناهی است که وضعیت‌های ماشین امگا را نشان می‌دهد.
  • مجموعه‌ای متناهی است که الفبای ماشین امگا را نشان می‌دهد.
  • تابع انتقال ماشین امگا است.
  • وضعیت اولیه ماشین است.
  • شرایط قابل قبول را نشان می‌دهد که به صورت خاص است.
  • یک ورودی به ماشین قطعی مثل به صورت رشته‌ای نامتناهی است. اجرای بر روی برابر با دنباله‌ای نامتناهی از وضعیت‌ها مثل و به صورت مقابل است:

ماشین امگا غیرقطعی[ویرایش]

یک ماشین امگا غیرقطعی یک چندتایی به صورت است. در ادامه به تبیین هر کدام از مؤلفه‌ها می‌پردازیم:

  • مجموعه‌ای متناهی است که وضعیت‌های ماشین امگا را نشان می‌دهد.
  • مجموعه‌ای متناهی است که الفبای ماشین امگا را نشان می‌دهد.
  • زیرمجموعه‌ای از است و رابطه انتقال ماشین امگا نام دارد.
  • وضعیت اولیه ماشین است.
  • شرایط قابل قبول را نشان می‌دهد که به صورت خاص است.

در اینجا بر خلاف ماشین امگا قطعی برای انتقال بین وضعیت‌های مختلف به جای یک تابع از یک رابطه استفاده می‌کنیم. در این حالت وضعیت بعدی لزوماً به صورت یکتا تعیین نمی‌شود بلکه می‌تواند حالات گوناگونی داشته باشد و به صورت غیرقطعی وارد تمامی آن‌ها می‌شود. یک ورودی به ماشین غیرقطعی مثل به صورت رشته‌ای نامتناهی است. اجرای بر روی برابر با دنباله‌ای نامتناهی از وضعیت‌ها مثل و به صورت مقابل است:

شرایط قبول[ویرایش]

در ماشین‌های حالات متناهی، اجرای هر ماشین بر روی رشتهٔ ورودی در یک وضعیت خاص پایان می‌یابد و بنا بر آنکه آن وضعیت عضوی از مجموعه وضعیت‌های قابل قبول باشد، رشته ورودی تأیید یا رد می‌شود. در ماشین‌های امگا، بر خلاف ماشین‌های حالت متناهی، باید به اجرای ماشین بر روی رشته توجه کرد و با توجه به وضعیت‌هایی که اجرا به خود می‌بیند تصمیم به تأیید یا رد رشته گرفت. یک رشته دلخواه مورد قبول ماشین قرار می‌گیرد هرگاه خروجی وضعیت‌های اجرای مربوط به آن درون باشد. زبان ماشین امگای برابر است با تمامی کلماتی که توسط این ماشین قبول می‌شوند و با نشان داده می‌شود. برای هر اجرا مانند مجموعهٔ را برابر با وضعیت‌هایی از ماشین در نظر می‌گیریم که هر کدام نامتناهی بار در اجرا ظاهر می‌شوند، یعنی .[۱] حال با استفاده از این تعریف به بیان انواع گوناگون ماشین‌های امگا می‌پردازیم.

ماشین بوخی[ویرایش]

در این ماشین مجموعه برابر با زیرمجموعه‌ای از وضعیت‌ها مانند است و در آن اجرای قبول می‌شود هرگاه شرط برقرار باشد. به تعبیری دیگر یک وضعیت مورد قبول باشد که در اجرای بینهایت بار ظاهر شود.

ماشین رابین[ویرایش]

در این ماشین مجموعه برابر است با . در این ماشین اجراهایی مورد قبول واقع می‌شوند که در آن‌ها عضوی از مانند وجود داشته باشد که و .

ماشین زوجیت[ویرایش]

در این ماشین مجموعه وضعیت‌ها را به صورت در نظر می‌گیریم و شرط قبول شدن اجرای آن است که .

ماشین مولر[ویرایش]

در این ماشین مجموعه برابر با زیرمجموعه‌ای از مجموعه توانی وضعیت‌ها مانند است و در آن اجرای قبول می‌شود هرگاه شرط برقرار باشد. به تعبیری دیگر تمام وضعیت‌هایی که بینهایت بار تکرار می‌شوند مجموعه‌ای را تشکیل دهند که در آمده باشد.

مثال[ویرایش]

مثالی از ماشین قطعی بوخی
یک ماشین قطعی بوخی

در اینجا مثالی از ماشین امگای قطعی بوخی آورده‌ایم. توصیف این ماشین به صورت مقابل است:

  • ، ، و

زبان این ماشین برابر است با تمام کلمات امگایی که در آن‌ها بینهایت بار حرف آمده باشد. حال اگر داشته باشیم آنگاه زبان ماشین برابر است با تمام کلمات امگایی که در آن‌ها بینهایت بار حرف آمده باشد.[۳]

منابع[ویرایش]

  1. ۱٫۰ ۱٫۱ ۱٫۲ Thomas Wilke (۱۰ سپتامبر ۲۰۱۶). "ω-Automata" (به انگلیسی). {{cite journal}}: Cite journal requires |journal= (help)
  2. "ω-Automata" (PDF). Technical University of Munich (به انگلیسی).
  3. Paritosh K. Pandya. "Automata on Infinite Words" (PDF). دانشگاه TIFR (به انگلیسی).