2014-06-18 4 views
0

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

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

Context-free grammar article on Wikipedia

Под заголовком "Правильные CFGs" вы можете увидеть некоторые определения. Я их не понимаю. Может кто-нибудь, пожалуйста, скажите мне, как это обозначение называется, поэтому я могу это сделать Google. Любые другие указатели или информация также будут полезны, но просто знание нескольких ключевых слов поможет. Кроме того, если кто-либо знает о всеобъемлющем ресурсе, доступ к которому можно бесплатно получить, например, лекции по видеоматериалу IIT по теме этих обозначений, я был бы всегда благодарен, поскольку я не могу позволить себе заниматься репетитором или даже учебниками в это время.

Ресурс, который я использую на данный момент для теории автоматов (для всех, кто интересуется), является Theory of Automata IIT Lectures на YouTube.

ответ

0

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

+0

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

+0

, а также я бы ответил на ваш ответ, но я не могу. когда у меня будет репутация, я вернусь и +1 это. –

0

Я прочитал много книг на эту тему языков и автоматов, в том числе книг Dragon на компиляторов (и гораздо более прагматичный Джек Креншоу-х Напишем Compiler), но ни один из них действительно не нажал, пока я не прочитал классический Конечные и бесконечные машины от Marvin Minsky. Будучи старой книгой, она не охватывает последних исследований и разработок в этой области вообще, но он объясняет современное состояние 1960-х годов в Automata, Neural Networks, Turing Machines, функциональном программировании и исчислении лямбда, и часто забытое третье колесо String-Rewriting Systems. И письмо исключительно превосходно и привлекательно. IIRC Мински даже соавтор робота с Исааком Азимовым, поэтому у него есть серьезные письменные верительные грамоты.

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

2

Символы и являются logical quantifiers соответственно означает «для всех» и «существует».

Обычно вы впервые на них в дискретной математике Конечно, хотя они часть predicate logic (также известный как первого порядка логики); в моей конкретной программе CS, Discrete Math является предпосылкой для Логика для компьютерных наук, что в свою очередь является предпосылкой для Официальных языков и автоматов.

Звездочка * символ в терминах (V union Sigma)* изучается в формальных языках/самой теории автоматов: это Kleene star operator. Его ввод - это алфавит (набор символов), и он производит набор всех строк из нуля или более символов над этим алфавитом.

Полезным инструментом для изучения формальных языков и автоматов является JFLAP.

Смежные вопросы