Відмінності між версіями «Скінченний автомат»

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
[неперевірена версія][неперевірена версія]
м (r2.7.3) (робот додав: eo:Stata aŭtomato)
м (Вилучення 33 інтервікі, відтепер доступних на Вікіданих: d:q176452)
Рядок 90: Рядок 90:
   
 
{{Link GA|es}}
 
{{Link GA|es}}
 
[[ar:آلة الحالات المحدودة]]
 
[[bg:Краен автомат]]
 
[[ca:Autòmat finit]]
 
[[cs:Konečný automat]]
 
[[de:Endlicher Automat]]
 
[[en:Finite-state machine]]
 
[[eo:Stata aŭtomato]]
 
[[es:Autómata finito]]
 
[[fa:ماشین‌های حالات متناهی]]
 
[[fi:Äärellinen automaatti]]
 
[[fr:Automate fini]]
 
[[gl:Autómata finito]]
 
[[he:אוטומט סופי]]
 
[[hr:Konačni automat]]
 
[[it:Automa a stati finiti]]
 
[[ja:有限オートマトン]]
 
[[ko:유한 오토마타]]
 
[[lt:Baigtinis automatas]]
 
[[lv:Galīgs automāts]]
 
[[mk:Конечен автомат]]
 
[[nl:Eindigetoestandsautomaat]]
 
[[no:Endelig tilstandsmaskin]]
 
[[pl:Automat skończony]]
 
[[pt:Máquina de estados finitos]]
 
[[ro:Automat finit]]
 
[[ru:Конечный автомат]]
 
[[sh:Konačni automat]]
 
[[sk:Konečný automat]]
 
[[sr:Коначан аутомат]]
 
[[sv:Ändlig automat]]
 
[[th:เครื่องสถานะจำกัด]]
 
[[tr:Sonlu durum makinası]]
 
[[zh:有限状态机]]
 

Версія за 03:33, 24 березня 2013

Скінче́нний автома́т, є особливим видом автомату — абстракції, що використовується для описання шляху зміни стану об'єкта в залежності від досягнутого стану та інформації отриманої ззовні. Його особливістю є скінченність множини станів автомату. Поняття скінченного автомата було запропоновано в якості математичної моделі технічних приладів дискретної дії, оскільки будь який такий пристрій (в силу скінченності своїх розмірів) може мати тільки скінченну кількість станів.

Скінченні автомати можуть розв'язувати велику кількість задач, серед яких автоматизація проектування електронних приладів, проектування комунікаційних протоколів, синтаксичний аналіз та інші інженерні застосування. В біології і дослідженнях штучного інтелекту, автомати або їх ієрархії іноді використовуються для описання неврологічних систем і в лінгвістиці для описання граматики природніх мов.

Класифікація

Існує дві різних групи автоматів: Акцептори/Розпізнавачі і Перетворювачі(Трансдуктори).

Акцептори і розпізнавачі

СА акцептор: виконує розбір слова "nice"

Акцептори і розпізнавачі (також виявлювачі послідовностей) продукують двійковий вихід, кажучи або так або ні на питання прийняті автоматом вхідні дані чи ні. Всі стани СА можуть бути або допустими або ні. Коли всі вхідні дані оброблені, якщо поточний стан є допустимим, значить вхід прийнятий; інакше відхилений. Як правило на вхід подаються символи (літери); дії не використовуються. Приклад на зображенні показує СА який приймає слово «nice». В цьому СА єдиний допустимий стан це 7.

Автомат також може бути описаний як такий, що визначає мову, яка містить всі слова розпізнавані цим автоматом, але не ті які ним відхиляються; тоді ми кажемо, що ця мова розпізнається автоматом. За визначенням, мови розпізнавані СА це регулярні мови тобто мова є регулярною якщо існує деякий СА, який розпізнає її.

Початковий стан

Початковий стан зазвичай показується зі стрілкою «звідкись».

Допустимі (або кінцеві) стани

Приклад скінченного автомата; цей приклад показує автомат, який визначає чи двійкове число має непарну кількість 0, де це допустимий стан.

Допустимі стани (також відомі як кінцеві стани) це такі, що якщо автомат знаходиться в них це означає, що вхідний рядок, наскільки він опрацьований, належить мові що розпізнається. Зазвичай позначається двома колами.

Приклад допустимого стану з'являється в діаграмі праворуч: a детермінований скінченний автомат (ДСА), що визначає чи двійковий вхідний рядок містить парну кількість 0.

S1 (який є початковим станом) показує стан в якому парна кількість 0 була введена. Цей автомат опиниться в допустимому стані, якщо двійковий рядок містить парну кількість 0 (включно з рядком, що не містить 0 взагалі). Приклади рядків розпізнаваних цим ДСА це порожній рядок, 1, 11, 11..., 00, 010, 1010, 10110, і подібні ...

Перетворювачі (Трансдуктори)

Перетворювачі виробляють вихід, що базується на даному вході і/або на станах з використанням дій. Вони використовуються для керування і в галузі математичної лінгвістики. Тут вирізняють два типи:

Автомат Мура
СА використовує тільки вхідні дії, тобто, вихід базується тільки на стані. Перевагою моделі Мура є спрощення поведінки. Уявімо двері підйомника. Автомат розпізнає дві команди: "відчинити" і "зачинити", які викликають зміну стану. Вхідна дія (E:) в стані «Відчиняються» змушує двигун відчиняти двері, вхідна дія в стані «Зачиняються» змушує двигун зачиняти двері. Стани Відчинено і Зачинено зупиняють мотор коли двері повністю відчинені або зачинені. Вони повідомляють зовнішній світ (наприклад, інші автомати) ситуація: «двері відчинені» або «двері зачинені».
СА перетворювач: приклад моделі Мілі
Автомат Мілі
СА, що використовує тільки вхідні дії, тобто, вихід базується на вході і стані. Використання СА Мілі часто призводить до зменшення кількості станів. Приклад на малюнці показує СА Мілі реалізуючий однакову поведінку із прикладом автомата Мура. Присутні дві вхідні дії (I:): «запустити двигун для закриття дверей якщо прийшла команда зачинити» і «запустити мотор в іншому напрямку якщо для відчинення дверей якщо прийшла команда відчинити». Проміжні стани «Відчинення» і «Зачинення» не показані.

На практиці часто використовується суміш моделей.

Більше подробиць по відмінностям і використанню моделей Мура і Мілі із виконанними прикладами можна знайти на "Moore or Mealy model? (Модель Мура або Мілі?)"

Детермінованість

Подальша відмінність між Детермінованими (ДСА) і недетермінованими (НСА) автоматами. В детермінованих автоматах, кожен стан має лише один перехід для кожного входу. В недетермінованих автоматах вхід може призвести до одного, більше ніж одного або зовсім без переходу для даного стану. Ця різниця важлива на практиці, але не в теорії, через існування алгоритму трансформації будь-якого НСА в складніший ДСА з однаковою функціональністю.

Математична модель

Згідно із загальною класифікацією, дані наступні визначення:

  • детермінований скінченний автомат або детермінований скінченний автомат акцептор є п'ятіркою , де:
    • вхідна абетка (скінченний, не порожній набір символів).
    • — скінченний, не порожній набір станів.
    • — початковий стан, елемент з .
    • — функція переходу: недетермінованих скінченних автоматах це буде , тобто, повертає набір станів).
    • набір кінцевих станів, (можливо порожня) підмножина .

Для обох детермінованих і недетермінованих СА, зручно дозволити бути неповною функцією, тобто не має бути визначеною для кожної комбінації and . Якщо СА перебуває в стані , наступний символ і не визначена, тоді може повідомити про помилку (тобто відхілити ввід).

  • скінченний перетворювач це шістка , де:
    • — вхідна абетка (скінченний, не порожній набір символів).
    • — вихідна абетка (скінченний, не порожній набір символів).
    • — скінченний, не порожній набір станів.
    • — початковий стан, елемент з (в недетермінованих скінченних автоматах, це набір початкових станів).
    • — функція переходу: .
    • функція виходу.

Якщо функція виходу є функцією стану і вхідної абетки() таке визначення відповідає моделі Мілі, і може бути виконана як автомат Мілі. Якщо функція виходу залежить тільки від стану () тоді таке визначення відповідає моделі Мура, і може бути виконана як автомат Мура. Скінченний автомат без функції виходу відомий як напівавтомат або як модель станів і переходів.

Див. також

Шаблон:Портал математика


Шаблон:Link GA