14 апреля 2019 г.

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

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

Ресурсы

  • Введение в теорию вычислений Майкла Спайзера

Конечные автоматы (FA) имеют множество состояний. Которые изменяются в зависимости от заданной «входной строки». Автомат вычисляет, то есть меняет свое состояние на основе входной строки. Он может достичь или не достичь окончательного или принятого состояния. Набор строк, которые распознает FA, называется обычным языком.

Формально конечный автомат представляет собой набор из 5

  • q0, "начальное" состояние
  • Q, набор всех состояний, в которых может находиться FA.
  • Σ,алфавит. набор разрешенных входныхсимволов (из которых состоит входная строка)
  • δ: Q x Σ — › Q, правила, определяющие, как изменяется состояние
  • F ⊆ Q, набор конечных или принятых состояний

Они эквивалентны "обычным языкам". (И забавный факт, что мы не можем использовать их для проверки правильности совпадения скобок в строке.]

Классные актуальные интернет-ресурсы