اتوماتون بوچی

از testwiki
پرش به ناوبری پرش به جستجو

اتوماتون بوچی (زبان انگلیسی: Büchi automaton) را می‌توان به عنوان اتوماتونی در نظر گرفت که می‌توانند رشته‌های نامتناهی الفبا را بپذیرد. این اتوماتون اولین بار توسط ژولیوس ریچارد بوچی (Julius Richard Büchi) منطق‌دان سوئیسی در سال ۱۹۶۲ معرفی شد.[۱] اگر ω را به عنوان مجموعه اعداد طبیعی و Σ رابه عنوان الفبا در نظر بگیریم یک کلمه نامتناهی (یا یک ω-کلمه) را می‌توان به عنوان یک تابع از ω به Σ در نظر گرفت به این ترتیب مجموعه تمام کلمه‌های نامتناهی را با

Σω

نشان می‌دهیم.

Julius Richard Büchi

تعریف

یک اتوماتون بوچی قطعی ۵ تایی A=(Q,Σ,δ,q0,F) است که در ان:

  • Q مجموعه ای محدود از حالات است.
  • Σ مجموعه‌ای محدود از نمادها است که الفبای A یا الفبای ورودی خوانده می‌شود.
  • δ:Q×ΣQ تابع انتقال است.
  • q0 عضوی از Q است و حالت ابتدایی نامیده می‌شود
  • FQ مجموعه حالات قبول یا پایانی خوانده می‌شود.

فرض کنید A=(Q,Σ,δ,q0,F) یک اتوماتون بوچی متناهی باشد در این صورت یک تعمیم طبیعی از مفهوم اجرا (نسبت به اتوماتون قطعی متناهی) می‌تواند مطرح شود که به این صورت است که یک اجرا روی یک کلمه نامتناهی σ=a1a2a3... را به صورت دنبالهٔ r=sq1q2q3... تعریف می‌کنیم که از s شروع می‌کنیم و با a1 به q1 و سپس با a2 به q2 و… می‌رویم. به عنوان مثال در این اتوماتون:

A non-deterministic Büchi automaton that recognizes (0∪۱)*0ω

اگر σ=100ω.. در اینصورت r=q0q1q1ω یه اجرای A است.

در این صورت می‌گوییم ماشین A رشته σ را قبول می‌کند اگر اجرایی وجود داشته باشد که در ان حداقل یکی از حالات قبول را به تعداد نامتناهی دیده باشیم.

در اتوماتون بوچی غیرقطعی به‌جای تابع انتقال، رابطهٔ انتفال مطرح است و مانند NFA هر حالت تحت رابطهٔ انتقال به مجموعه ای از حالات منجر می‌شود و به‌جای حالت آغازی مجموعه از حالات ابتدایی در نظر گرفته می‌شود. در حالت کلی وقتی کلمه اتوماتون بوچی را به تنهایی به کار می‌بریم منظورمان اتوماتون بوچی غیرقطعی است.

زبان‌های قابل تشخیص توسط اتوماتون بوچی

مجموعه تمام ω-کلمه‌های را که یک بوچی اتوماتون قبول می‌کند زبان ان بوچی اتوماتون می‌گویند. حالا یک زبان AΣω را بوچی تشخیص پذیر می‌گوییم اگر بوچی اتوماتون M ای پیدا شود که L(M)=A . یک زبان بوچی تشخیص پذیر است اگر و فقط اگر یک زبان امگا‌ی منظم باشد. مثلاً A=Σ*aωΣ*(ab)ω .

ویژگی‌های بستاری

فرض کنید A,B دو بوچی اتوماتون باشند و C یک اتوماتون متناهی باشد در این داریم:

  1. اجتماع:بوچی اتوماتونی هست که L(A)L(B) را تشخیص می‌دهد
  2. اشتراک:بوچی اتوماتونی هست که L(A)L(B) را تشخیص می‌دهد
  3. اتصال:بوچی اتوماتونی هست که L(C).L(A) را تشخیص می‌دهد
  4. ω-بستار:اگرL(C) کلمهٔ تهی را نداشته باشد بوچی اتوماتونی هست که L(C)ω را تشخیص می‌دهد
  5. مکمل:بوچی اتوماتونی هست که Σω/L(A) را تشخیص می‌دهد

انواع

کاربرد

از بوچی اتوماتون معمولاً در وارسی مدل به عنوان یه نسخه نظریه ماشینی از یک فرمول در منطق موقت خطی استفاده می‌شود.

جستارهای وابسته

منابع

الگو:پانویس الگو:چپ‌چین

  • Y. Choueka: “Theories of automata on !-tapes: A simplified approach”, Journal of

Computer and System Sciences 8 (1974) No. 2, 117–141.

الگو:پایان چپ‌چین الگو:زبان‌ها و دستور زبان‌های صوری الگو:منطق الگو:داده‌های کتابخانه‌ای