2014 dxdy logo

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

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


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


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

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

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

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

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



Начать новую тему Ответить на тему
 
 МП-автомат для распознавания заданного языка
Сообщение09.12.2009, 21:06 


09/12/09
34
Необходимо построить МП-автомат который распознает язык $L$
где $L=\{\alpha$#$\beta | \alpha, \beta \in A^{*} ; |A|=2; \alpha \neq \beta\}$
где $A$ - алфавит
# - не принадлежит этому алфавиту

Проблема в следующем:
При чтении слова альфа я записываю его на ленту до тех пор пока не встречу символ #
после этого в стеке автомата слово $\alpha$ лежит как бы перевернутое и возникает проблема при сравнении слова $\alpha$ и $\beta$
(так как на каждом шаге мы видим только одну букву с вершины стека)

У меня две идеи: каким-то образом записывать стек перевернутым или каким-то образом сравнивать слова так как есть после записи первого в стек.

Первую я не представляю как реализовывать.
А если сравнивать в лоб, то есть идея задействовать булеву алгебру (алфавит не зря же по мощности равен двум), но пока не удалось с помощью операций выявить критерий равенства слов.

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

 Профиль  
                  
 
 Re: МП-автоматы
Сообщение09.12.2009, 21:21 
Заморожен
Аватара пользователя


18/12/07
8774
Новосибирск
У меня такое ощущение, что этот язык вообще не будет контекстно-свободным.

 Профиль  
                  
 
 Re: МП-автоматы
Сообщение09.12.2009, 21:29 


09/12/09
34
Если откинуть условие $\alpha \neq \beta$ то он не будет контекстно свободным это понятно.
А с этим условием у меня тоже возникала мысль о не контекстно свободности, но задание так стоит.
И лемму о разростании мне не удалось применить (если пытаться строить через КС грамматики) ни с помощью не замкнутости по операциям.

 Профиль  
                  
 
 Re: МП-автоматы
Сообщение09.12.2009, 21:50 
Заморожен
Аватара пользователя


18/12/07
8774
Новосибирск
MMM-2000 в сообщении #269577 писал(а):
Если откинуть условие $\alpha \neq \beta$ то он не будет контекстно свободным это понятно.

Да Вы что? :shock: Если откинуть это условие, он будет ваще регулярным!!!

Вот если заменить это условие на "противоположное" условие $\alpha = \beta$, то он точно не будет контекстно-свободным и это легко доказывается. А с неравенством... не знаю.

-- Чт дек 10, 2009 00:55:41 --

Стоп! Кажется понял. Язык, конечно же, будет контекстно-свободным (но не детерминированно контекстно-свободным).

Автомат, естественно, должен быть недетерминированным и для распознавания он должен угадывать, какая по счёту буква в словах $\alpha$ и $\beta$ различаются (либо угадывать тот факт, что это слова разной длины, но сие вообще тривиально). До этой буквы всё пихаем в стек. Затем пропускаем остаток слова $\alpha$ вплоть до символа #. Затем снимаем верхнюю букву из стека и запоминаем её через состояние. Затем освобождаем стек, читая слово $\beta$ буква за буквой, и когда дойдём до нужной буквы (узнаём это по тому факту, что стек освободился), фиксируем различие и радуемся :)

-- Чт дек 10, 2009 01:17:12 --

Автомат рисовать не буду, поскольку полные решения запрещены правилами форума, но грамматику --- пожалуйста. Считаем, что $A = \{ a,b \}$.

$S \to aL | bL | Ra | Rb | M$
$L \to aL | bL | aLa | aLb | bLa | bLb | \sharp$
$R \to Ra | Rb | aRa | aRb | bRa | bRb | \sharp$
$M \to UX | VY$
$U \to aUa | aUb | bUa | bUb | aZ\sharp$
$V \to aVa | aVb | bVa | bVb | bZ\sharp$
$X \to bZ$
$Y \to aZ$
$Z \to aZ | bZ | \varnothing$

-- Чт дек 10, 2009 01:22:10 --

MMM-2000 в сообщении #269566 писал(а):
А если сравнивать в лоб, то есть идея задействовать булеву алгебру

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

 Профиль  
                  
 
 Re: МП-автоматы
Сообщение09.12.2009, 22:53 


09/12/09
34
Профессор Снэйп в сообщении #269589 писал(а):
MMM-2000 в сообщении #269577 писал(а):
Если откинуть условие $\alpha \neq \beta$ то он не будет контекстно свободным это понятно.

Да Вы что? :shock: Если откинуть это условие, он будет ваще регулярным!!!


Прошу прощения за такую глупость. Я это впринципе имел ввиду но не написал. виноват. :oops:
ну то что $\alpha = \beta$


С грамматикой я разобрался, спасибо большое!
Автомат сам разумеется построю. =)
Еще раз спасибо.

з.ы.
Профессор Снэйп в сообщении #269589 писал(а):
Вот эти Ваши слова для меня вообще загадочны. Как Вы собирались какую-то булеву алгебру задействовать, даже не представляю.


Я подумывал о том что если считать $a=0$ и $b=1$ то как-то можно с помощью серии операций над буквами(как над числами) выяснить равенство слов.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

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



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

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


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

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