2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.

Если Вы хотите задать новый вопрос, то не дописывайте его в существующую тему, а создайте новую в корневом разделе "Помогите решить/разобраться (М)".

Если Вы зададите новый вопрос в существующей теме, то в случае нарушения оформления или других правил форума Ваше сообщение и все ответы на него могут быть удалены без предупреждения.

Не ищите на этом форуме халяву, правила запрещают участникам публиковать готовые решения стандартных учебных задач. Автор вопроса обязан привести свои попытки решения и указать конкретные затруднения.

Обязательно просмотрите тему Правила данного раздела, иначе Ваша тема может быть удалена или перемещена в Карантин, а Вы так и не узнаете, почему.



Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3  След.
 
 
Сообщение25.01.2008, 16:21 
Аватара пользователя


13/01/08
22
Москва
Хм, у меня другое определени детерминированного автомата:
Пусть $M = (Q, \Sigma, \delta, q_0, F)$ - конечный автомат. Назовём автомат $M$ детерминированным, если множество $\delta (q,a)$ содержит не более одного состояния для любых $q \in Q$ и $a \in \Sigma$

 Профиль  
                  
 
 
Сообщение26.01.2008, 09:41 
Заморожен
Аватара пользователя


18/12/07
8774
Новосибирск
mastedm писал(а):
Хм, у меня другое определени детерминированного автомата:
Пусть $M = (Q, \Sigma, \delta, q_0, F)$ - конечный автомат. Назовём автомат $M$ детерминированным, если множество $\delta (q,a)$ содержит не более одного состояния для любых $q \in Q$ и $a \in \Sigma$


Надо сказать, довольно нестандартное определение. Получается, что автомат вообще без стрелок --- тоже детерминированный?! Странно как-то это...

 Профиль  
                  
 
 
Сообщение26.01.2008, 17:29 
Аватара пользователя


13/01/08
22
Москва
Ну зачем же так извращаться?) Просто если потребовать, чтобы из каждого состояния вела стрелка для каждого символа, то тогда вряд ли для любого автомата можно будет построить детерминированный.

 Профиль  
                  
 
 
Сообщение26.01.2008, 17:45 
Заморожен
Аватара пользователя


18/12/07
8774
Новосибирск
mastedm писал(а):
Просто если потребовать, чтобы из каждого состояния вела стрелка для каждого символа, то тогда вряд ли для любого автомата можно будет построить детерминированный.


Вы не правы.

 Профиль  
                  
 
 
Сообщение26.01.2008, 18:52 
Аватара пользователя


13/01/08
22
Москва
ну да, ведь всегда для недостающих символов можно ввести фиктивное состояние, из которого никогда нельзя попасть в конечное.

 Профиль  
                  
 
 
Сообщение26.01.2008, 19:05 
Заморожен
Аватара пользователя


18/12/07
8774
Новосибирск
Совершенно верно.

Вот если возьмёте автомат, у которого для каждого состояния и каждого символа из этого состояния ведёт не более одной стрелки с этим символом, введёте своё "фиктивное" (почему фиктивное? термин какой-то неудачный) состояние, проведёте недостающие стрелки в него, а все стрелки из нового состояния завернёте в него же само, то и получите детерминированный автомат, эквивалентный исходному.

Вот, почитайте, что я первокурсникам рассказываю: http://www.nsu.ru/education/podzorov/Alg/Course.pdf Там вначале всё про автоматы. А то без конца одну и ту же простую тему мусолите.

Ну и другие источники, конечно, тоже. Я вот так с ходу ссылки не помню, но наверняка много что можно найти. По моему, даже в википедии про конечные автоматы всё очень подробно расписано: не в русской, так в английской.

 Профиль  
                  
 
 
Сообщение26.01.2008, 19:25 
Аватара пользователя


13/01/08
22
Москва
Не поверите, но у меня достаточно хороших источников и помимо Википедии (у меня с ней нехорошие отношения сложились). Вот правда определения в них несколько различаются.

По поводу фиктивного элемента: фиктивный потому что он не несет смысла. Ну правда, если писать программу, зачем нам лишняя ветка, тем более что заведомо ложная.

 Профиль  
                  
 
 
Сообщение26.01.2008, 19:26 
Заморожен
Аватара пользователя


18/12/07
8774
Новосибирск
Что значит "ложная ветка программы"?

 Профиль  
                  
 
 
Сообщение26.01.2008, 19:31 
Аватара пользователя


13/01/08
22
Москва
Если реализовывать автомат в виде программы, то фиктивные состояния можно выкинуть, потому что ветки в эти состояния не приведут к допуску строки

 Профиль  
                  
 
 
Сообщение26.01.2008, 19:40 
Заморожен
Аватара пользователя


18/12/07
8774
Новосибирск
Вы программированием занимаетесь или математикой?

Если математикой, то тут всё просто. Есть определение (ДКА или чего-то там ещё), есть объект --- берёте и проверяете, удовлетворяет ли он определению. Определения же в математике даются с целью максимально упростить доказательства, а не с целью упрощения программной реализации.

А если программированием, то Вам тогда, по моему, в другой форум надо: http://dxdy.ru/viewforum.php?f=3

P. S. Анекдот знаете?

Задача номер 1: вскипятить чайник.

Решение физика: налить в чайник воды, нарубить дров, растопить печь, поставить чайник на неё, подождать, когда закипит.

Решение математика: такое же.

Задача номер 2: вскипятить чайник, если вода в него уже налита.

Решение физика: нарубить дров, растопить печь, поставить чайник на неё, подождать, когда закипит.

Решение математика: вылить воду из чайника, после чего задача сведётся к предыдущей.

 Профиль  
                  
 
 
Сообщение26.01.2008, 20:04 
Заслуженный участник
Аватара пользователя


17/10/05
3709
:evil:
Господа, ничего если я вмешааюсь?

Профессор Снэйп писал(а):
Надо сказать, довольно нестандартное определение.

Нестандартное в какой области? Вот я открываю Ахо А., Ульман Дж. — Теория синтаксического анализа, перевода и компиляции (Том 1. Синтаксический анализ) на странице 138, и читаю:
    Определение: Пусть $M=(Q, \Sigma, \delta, q_0,F)$ — недетерменированный конечный автомат. Назовём $M$ детерменированным, если множество $\delta(q, a)$ содержит не более одного состояния для любых $\q \in Q$ и $a \in \Sigma$. Если $\delta(q,a)$ всегда содержит точно одно состояние, то автомат $M$ назовём полностью определённым.
детерминированный = determenistic
полностью определённыё = completely specified

Позвольте уверить, что это определение широко распространено в теории формальных грамматик и формальных языков. Оно вполне разумно: зная состояние автомата и входной символ можно однозначно сказать, в какое состояние он перейдёт. Не это ли есть детерминизм?

mastedm писал(а):
По поводу фиктивного элемента: фиктивный потому что он не несет смысла. Ну правда, если писать программу, зачем нам лишняя ветка, тем более что заведомо ложная.

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

Фиктивный в программировании обычно применяется в смысле «не являющийся таковым». Например, фиктивный элемент «начало-конец» может замыкать двусвязный список в кольцо, не являясь элементом списка.

Но Ваше добавляемое состояние (превращающее автомат в полностью определённый) — вполне нормальное состояние. Оказаться в этом состоянии — вполне нормальный способ для автомата сказать, что он не принимает входную цепочку.

 Профиль  
                  
 
 
Сообщение26.01.2008, 20:07 
Аватара пользователя


13/01/08
22
Москва
Я бы сказал, что занимаюсь больше прикладной математикой.

А анекдот конечно уже слышал, потому что практически каждый преподаватель физикоматематических наук считает, что студенты его ещё не слышали и поэтому обязательно рассказывает. По крайней мере я про своих преподов.

 Профиль  
                  
 
 
Сообщение26.01.2008, 20:10 
Заслуженный участник
Аватара пользователя


17/10/05
3709
:evil:
P.S. Пока я писал, появилось сообщение Профессора Снэйпа. Хочу добавить, что к какому разделу относится теория формальных грамматик, мне, например, совсем неочевидно. То, что матан используется в физике не делает вопрос по матану частью физического форума.

 Профиль  
                  
 
 
Сообщение26.01.2008, 20:28 
Заморожен
Аватара пользователя


18/12/07
8774
Новосибирск
В английской википедии определение ДКА такое, как я говорил (выделение в тексте моё):

Цитата:
In the theory of computation, a deterministic finite state machine or deterministic finite automaton (DFA) is a finite state machine where for each pair of state and input symbol there is one and only one transition to a next state.


См. здесь: http://en.wikipedia.org/wiki/Determinis ... te_machine

В русской википедии определение ДКА таково, как вы говорите. Из текста статьи это непонятно, но то, что это так, видно из иллюстрации: http://ru.wikipedia.org/wiki/%D0%98%D0% ... %D0%90.jpg

Признаюсь, что я изучал теорию автоматов по англоязычному учебнику, русские книги не читал. Отсюда, вероятно, и наше с вами расхождение :)

Детерминизм, по моему --- это когда автомат в каждый момент обработки слова "знает, что делать", то есть когда в любой момент всегда находится один и ровно один переход, соответствующий очередной букве прочитанного слова. В этом плане "западное понимание" ДКА мне кажется гораздо более естественным, чем то, что вы сейчас преподносите.

Кроме того, теорема Майхилла-Нероуда для ДКА (которая ограничивает снизу число состояний такого автомата числом классов некоей специально определяемой по языку эквивалентности) работает именно для "западного понимания" того, что есть ДКА. Для меня, как для математика, это --- самый решающий аргумент в пользу того, какую именно "детерминированность" лучше брать в качестве определения.

Добавлено спустя 5 минут 33 секунды:

незваный гость писал(а):
То, что матан используется в физике не делает вопрос по матану частью физического форума.


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

А здесь имеет место как раз первая ситуация. Говоря о конечных автоматах, автор темы свернул на практику программирования: дескать, именно эти автоматы я буду считать детерминированными, поскольку они более "естественны" точки зрения программной реализации.

 Профиль  
                  
 
 
Сообщение26.01.2008, 20:43 
Заслуженный участник
Аватара пользователя


17/10/05
3709
:evil:
Профессор Снэйп писал(а):
Признаюсь, что я изучал теорию автоматов по англоязычному учебнику, русские книги не читал. Отсюда, вероятно, и наше с вами расхождение

Вы не обратили внимание, что Ахо-Ульман — это перевод с англицкого? Я пытался подчеркнуть это, дав перевод терминов из оригинала.

Профессор Снэйп писал(а):
чем то, что вы сейчас преподносите.

see ur steps

Профессор Снэйп писал(а):
Кроме того, теорема Майхилла-Нероуда для ДКА

От того, что мы в теореме заменим слова «детерменированный» на «полностью определённый», теорема мало пострадает.


Вам не приходилось сталкиваться со школами в математике? и, в частности, с терминологическими традициями школ? В Питере московский терминологический акцент режет ухо.

Добавлено спустя 1 минуту 38 секунд:

Профессор Снэйп писал(а):
А здесь имеет место как раз первая ситуация. Говоря о конечных автоматах, автор темы свернул на практику программирования: дескать, именно эти автоматы я буду считать детерминированными, поскольку они более "естественны" точки зрения программной реализации.

Автор темы свернул, я уверен, на то определение, которое давалось у него на лекциях.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 36 ]  На страницу Пред.  1, 2, 3  След.

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group