Есть ли разница между «конечным автоматом» и «конечным автоматом»? - PullRequest
20 голосов
/ 06 февраля 2011

Я не уверен, что понимаю, есть ли разница между конечным автоматом конечного и конечным автоматом? Думаю ли я об этом слишком усердно?

Ответы [ 4 ]

29 голосов
/ 06 февраля 2011

Я не уверен, что понимаю, есть ли разница между конечным автоматом и конечным автоматом? Думаю ли я об этом слишком усердно?

Да, вы слишком об этом думаете. :-) Это зависит от контекста.

Очевидно, что в буквальном смысле термин «конечный автомат» обозначает конечное число состояний, в то время как «конечный автомат» не дает такого обещания. Итак, да, есть разница.

Тем не менее, я думаю, что в зависимости от контекста разговора люди просто коротко говорят «конечный автомат», не задумываясь, означают ли они «конечный автомат» или «конечный автомат». И в нашей области программирования, где конечные автоматы обычно представлены в коде, мы часто можем использовать «конечный автомат» взаимозаменяемо с «конечным автоматом». Так что, действительно, нет, разницы нет.

OTOH, если бы я однажды вечером разговаривал с математиком после вечерних занятий в кампусе, я мог бы быть более разборчивым в отношении конкретных терминов, которые я использовал. Итак, да, есть разница (в данном случае).

4 голосов
/ 16 января 2012

Термин конечного автомата (FSM) имеет точное определение в учебниках по теории автоматов.FSM позволяют максимально точно и сжато представлять поведение программных объектов, поскольку они не зависят от языка программирования и представления данных.Термин конечный автомат часто используется свободно для описания набора API-стилей в стиле «FSM», таких как диаграммы состояний.К сожалению, разработчики программного обеспечения редко используют весь потенциал FSM, поскольку они часто сгорают от множества проблем, мешающих диаграммам состояний: например, недетерминизм.

3 голосов
/ 06 февраля 2011

Конечно, есть разница.У одного конечное число состояний, а у другого бесконечное число состояний.Рисовать бесконечный конечный автомат довольно неудобно, но математика, которая разрешает конечный автомат, также допускает бесконечный конечный автомат.

Взгляните на раздел математическая модель страницы Википедии ФСМ.Видите, где написано «S - это конечное непустое множество состояний»?Стереть «конечно».Ваша функция перехода состояний также станет бесконечной, но это нормально, есть много бесконечных функций.

"From.ME.to.YOU" объединяет словесные сокращения Википедии с реальным провозглашением равенства.1007 *

2 голосов
/ 06 февраля 2011

Нет, нет

я цитирую из Википедии

конечный автомат (FSM) или конечный автомат (множественное число: автоматы), или просто конечный автомат

http://en.wikipedia.org/wiki/Finite-state_machine

...