КОНЕЧНЫЙ АВТОМАТ

Введение

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

Сегодня мы узнаем, как именно это работает, а также его варианты.

Что такое конечный автомат?

Конечный автомат можно рассматривать как «модель», которая выполняет определенные вычислительные действия, которые принимают начальное состояние и вращаются через различные [указанные] состояния и возвращаются к нормальному [состоянию принятия]. Эту машину можно использовать для манипулирования компьютерными программами [разговор о сериализации и логических выражениях], которые требуют аппаратных и программных проявлений.

Конечный автомат [FSM] никогда не будет полным без напоминания о его происхождении из компьютерных наук в рамках темы «Теория автоматов». Автоматы[во множественном числе], автоматы в единственном числе, в свете того, что мы можем назвать FSM, Finite State Automata-FSA [что я предпочитаю].

Помните, я говорил о полноте по Тьюрингу в своей статье Виртуальная машина Эфириума, в которой указывалось, что EVM является полной по Тьюрингу, и если машина полная по Тьюрингу, она говорят, что он выполняет все типы вычислительных манипуляций, что, возможно, делает его бесконечным конечным автоматом. С другой стороны, любой другой конечный автомат, который не решает всех вычислительных задач, называется неполным по Тьюрингу.

NBМашина Тьюринга › FSM.

Как правило, конечный автомат способен принимать действие [инструкцию], которое приведет к изменению состояния.

Типы ФСА

Есть два типа автоматов с конечным состоянием, а именно;

  • Детерминированные конечные автоматы [DFA]
  • Недетерминированные конечные автоматы [NDFA или NFA]

DFA

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

DFA определяется элементом из 5 кортежей; Q, ∑, δ, q0, F все с уникальным определением. Хотите узнать больше, подписывайтесь здесь. Помните смертельные бои, да, ››‹‹Z [вперед вперед назад назад z]? ха-ха, теперь эта комбинация удовлетворяет состоянию [brutality] в DFA определенного персонажа, поэтому при завершении будет выполнено действие, стоящее за ней. Чин Чан ;-)

Это изображение отображает детерминированную конечную автоматизацию, которая принимает только алфавит [a,b,c,d] с числом, кратным 4, с начальным состоянием S1 и S4 в качестве состояния принятия. Это означает, что строка «abaac» ведет к последовательности состояний S1, S2, S1, S2, S2, S4 и, следовательно, принимается.

НДФА

В отличие от DFA, он может переходить к любой комбинации в машинной последовательности без каких-либо строгих ограничений в отношении того, произойдет это или нет, это означает, что он может иметь больше, чем функцию перехода. Он принимает входные строки при условии, что у него есть совместимое пространство, соответствующее строке в состоянии final[accept].

Теперь эта диаграмма может принимать все комбинации, которые приведут к ее завершению в состоянии принятия, поэтому комбинации чисел, такие как [0, 1, 101, 1001…], приветствуются, поскольку они заканчиваются в состоянии принятия «d». А также комбинации типа [1, 01, 10, 0110…] не могут быть приняты явно. На самом деле это называется лучше, потому что на самом деле экономит время, принимает нулевые значения и не требует слишком много состояний и переходов для завершения выполнения.

Применение ФСА

Выключатель

Состояние: включено или выключено. Переход: состояние «включено» изменяется при применении состояния «выключено».

Лифт

Состояние: статическое, динамический переход: при нажатии на номер этажа он переходит из статического состояния в динамическое, что приводит пользователя к нужному этажу и обратно в статическое состояние.

Банкомат

Состояние: раздача, статика, пение... Переход: машина меняет свое состояние, если выполняются условия для снятия 1k со статики на раздачу или пение мотивационных песен разорившемуся пользователю.

Заключение

Государственная машина действует как гардероб в том смысле, что вы храните свою одежду для вечеринок, похорон и свиданий, и когда настроение срабатывает в соответствии с вашим нарядом, вы идете вперед и надеваете ее, тем самым меняя состояние своей одежды.

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

Мачо Гарсиас!