Яка різниця між кінцевими автоматами та машинами з кінцевим станом?


16

Я використовував FSM в цифрових схемах послідовних схем. Але я не знайомий з Кінцевими Автоматами. Чи може хтось допомогти мені в розумінні "основної" різниці між ними?


5
З Вікіпедії : "... В теорії автоматів, галузь теоретичної інформатики, детермінований кінцевий автомат (DFA) - також відомий як детермінований кінцевий автомат - це машина з кінцевим станом, яка приймає / відкидає кінцеві рядки символів і лише виробляє унікальне обчислення (або запуск) автомата для кожного вхідного рядка ... ". DFA є кращим терміном, що використовується в теорії автоматів, FSM є кращим терміном, що використовується в практичних додатках.
Vor

4
Я думаю, що FSM є всеосяжнішою, включаючи також автомати Mealy та Moore. NFA - це одна конкретна модель.
Рафаель

@Raphael: Я згоден з вами, FSM здається більш широким (навіть wikipedia розрізняє перетворювачі, приймачі, класифікатори та секвенсери). "DFA" ~ "FSM-акцептори" (FSM з лише так / ні виведенням) ... крім того, FSM в схемах схем зазвичай використовують виходи ... Можливо, ви можете перетворити свій коментар у відповідь.
Vor

Особисто я використовую FSM як широкий термін, який включає машини DFA, NFA, Mealy та Moore, (перемежувачі кінцевого стану) тощо; просто все з кінцевим простором стану і без допоміжної пам’яті.
День

1
@Raphael В формальній теорії (або теорії обчислень) ми вважаємо за краще використовувати слово "Автомати" - наголосимо, що наша машина "автоматична" машина (саморух - як ваш комп'ютер) - "автоматична" в тому сенсі, що колись у вас були визначені правила переходу, вам не потрібно застосовувати жодних явних інтелектуальних даних для обробки / класифікації рядків (просто потрібно посилатися на правила переходу на кожному кроці). - тоді як термін машини є кращим у контексті пристрою (а не моделі) - хоча обидва є синонімами один одного.
Grijesh Chauhan

Відповіді:


12

Наскільки я розумію, обидва мають "стан" і "дії", які змушують машину переходити з одного стану в інший за вхідним сигналом. Таким чином, концептуальні ідеї однакові. У деталях є певна різниця.

У FSM для схемних схем вхідний сигнал, як правило, вважається бітним (двійковим), тоді як в автоматах кінцевого стану можна мати загальний "абстрактний" алфавіт вхідних символів. По-друге, FSM також генерує вихід, пов'язаний із досягнутим станом, також бінарним. В термінології автоматів це «розширення» називається машиною Мура. Однак автомати мають остаточні (або приймаючі) стани, які сигналізують про сприятливому введенні. Нарешті, FSM здебільшого детерміновані, тобто для кожного введення у певному стані існує один наступний стан. В теорії автоматів також розглядається недетермінований варіант, де можна вибрати, куди рухатися.


6

На основі мого досвіду, а також статті у Вікіпедії є кілька видів кінцевих машин , у тому числі

Деякі поняття, що літають навколо, відрізняються переважно мотивацією; деякі виникли з мови та / або теорії обчислень, інші - з комп'ютерної архітектури.

Зауважте, що ви також можете змінити кілька парадигм, щоб отримати автомати, які, можливо, все ще є кінцевими автоматами, наприклад

Як бачите, кінцеві автомати ванілі, як викладено в TCS 101, - це лише один аромат багатьох, кожен зі своїм (більш-менш формальним) визначенням.


2

Хоча основна ідея, на яку вони обоє покладаються, однакова. Обидва використовують кінцеві стани і переходять до іншого стану в якості вхідного каналу. Однак FSM, будучи машиною, як і Full adder або SR flipflop, має біти як вхід, так і вихід. Так, FSA також має бітовий вихід, 0 для не припиняючого стану та 1 для припинення стану, але це абстрактний механізм і його не бачити. У графіках є різниця, яка складається для їх представлення. Крім того, що FSA - це логічний та обчислювальний пристрій, тоді як FSM - цифровий логічний пристрій.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.