Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2014, 08:32   #1
alexandr66
Пользователь
 
Регистрация: 25.12.2012
Сообщений: 10
По умолчанию Теория автоматов (задача про кубик)

Всем доброго времени суток. Друзья, реально горю, времен ив обрез.

Друзья, препод дал задачу вот такую:
Игральный кубик многократно подбрасывается вверх, он падает, выпадает какое то число (от 1 до 6) и делаются следующие отметки:
1) При выпадении цифры 1 каждый второй раз делается одна отметка.
2) При выпадении цифры 1 три раза подряд делается вторая отметка.
3) При выпадении цифры 2 каждый второй раз делается третья отметка.
4) При выпадении цифры 2 три раза подряд делается четвертая отметка.
...............
И так далее до цифры 6.

В общем как я начал делать, что за что обозначил:
x1 - выпадение цифры 1
x2 - выпадение цифры 2
х3 - выпадение цифры 3
х4 - выпадение цифры 4
х5 - выпадение цифры 5
х6 - выпадение цифры 6

y1 - отметка при цифре 1 каждый второй раз
y2 - отметка при цифре 2 каждый второй раз
y3 - отметка при цифре 3 каждый второй раз
y4 - отметка при цифре 4 каждый второй раз
y5 - отметка при цифре 5 каждый второй раз
y6 - отметка при цифре 6 каждый второй раз

y11 - отметка при цифре 1 три раза подряд
y22 - отметка при цифре 2 три раза подряд
y33 - отметка при цифре 3 три раза подряд
y44 - отметка при цифре 4 три раза подряд
y55 - отметка при цифре 5 три раза подряд
y66 - отметка при цифре 6 три раза подряд

Нужно нарисовать таблицу переходов, по вертикали и горизонтали состояния. И нарисовать потом по таблице граф (ну это я сам). Граф как мне сказали будет ПОЛНЫМ, то есть всё со всем связанно.

Я пообщался еще с программистами, и пришли мы к такому выводу:
Автомат должен помнить, чётное или нечётное число единиц, двоек... шестёрок выпало в прошлом и на каждом чётном выпадении ставить метку. Уже для решения этой задачи нужен автомат с 2^6 = 64 состояниями. Чтобы отслеживать тройки подряд по шести позициям, нужен автомат с 18 состояниями. Чтобы отслеживать обе эти ситуации, нужно декартово произведение этих двух автоматов, то есть 64*18 =1152 состояния.

Я подошел к преподу, сказал об этом, он согласился что состояний много, но можно как то оптимизировать всё, объединить что ли, и вообще свести автомат как то к общему случаю что ли, до 6-10 состояний оптимизировать. Предложили взять q0 начальное состояние - это типа когда фишка в руках и только собрались подбрасывать;
q1 - состояние, в котором выпала цифра Xi первый раз
q11 - состояние, в котором выпала цифра Xi второй раз и тут делается отметка.
q12 - состояние, в котором выпала цифра Xi три раза подряд и тут делается отметка.

q2 - состояние, в котором выпала цифра Xi+1 первый раз
q21 - состояние, в котором выпала цифра Xi+1 второй раз и тут делается отметка.
....
и так далее

Помогите пожалуйста что ли придумать, заранее благодарен.
alexandr66 вне форума Ответить с цитированием
Старый 23.05.2014, 09:52   #2
alexandr66
Пользователь
 
Регистрация: 25.12.2012
Сообщений: 10
По умолчанию

Парни кто нибудь в курсе а?
alexandr66 вне форума Ответить с цитированием
Старый 23.05.2014, 12:17   #3
alexandr66
Пользователь
 
Регистрация: 25.12.2012
Сообщений: 10
По умолчанию

срочно нужно
alexandr66 вне форума Ответить с цитированием
Старый 23.05.2014, 18:17   #4
alexandr66
Пользователь
 
Регистрация: 25.12.2012
Сообщений: 10
По умолчанию

ребята ну помогите кто нибудь
alexandr66 вне форума Ответить с цитированием
Старый 24.05.2014, 04:37   #5
alexandr66
Пользователь
 
Регистрация: 25.12.2012
Сообщений: 10
По умолчанию

вообще ничего не понимаю
alexandr66 вне форума Ответить с цитированием
Старый 25.05.2014, 10:32   #6
alexandr66
Пользователь
 
Регистрация: 25.12.2012
Сообщений: 10
По умолчанию

парни, кто нибудь сможет помочь все таки ли нет?
alexandr66 вне форума Ответить с цитированием
Старый 25.05.2014, 18:59   #7
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Нельзя тут оптимизировать. У обычного автомата нет памяти, он не может помнить какая там фишка выпала.

Что значит "делается отметка"? - у ОБЫЧНОГО автомата ПО ОПРЕДЕЛЕНИЮ нет памяти. Если у тебя автомат с памятью, то такой таблицей, как ты хочешь, его не представить, таблица должна отражать состояние памяти.

Узнай у препода нормально что он хочет. Задание он сам придумывал?

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

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

Последний раз редактировалось rrrFer; 25.05.2014 в 19:04.
rrrFer вне форума Ответить с цитированием
Старый 26.05.2014, 06:50   #8
alexandr66
Пользователь
 
Регистрация: 25.12.2012
Сообщений: 10
По умолчанию

Это как автоматы МИЛИ или МУРА например надо сделать, где в таблице переходов может писаться через запитую x и y, где например x - цифра, а y - отметка. Вот мне и нужно как то оптимизировать, как то уменьшить состояния, более общий случай сделать для 6 цифр этих на кубике, итеративно как то, вот посмотри еще вот тут я обсуждаю эту тему http://www.cyberforum.ru/automata-th...ad1183232.html
Изображения
Тип файла: jpg Изображение 014.jpg (86.2 Кб, 50 просмотров)
alexandr66 вне форума Ответить с цитированием
Старый 26.05.2014, 14:19   #9
alexandr66
Пользователь
 
Регистрация: 25.12.2012
Сообщений: 10
По умолчанию

че парни подскажите а
alexandr66 вне форума Ответить с цитированием
Старый 26.05.2014, 21:21   #10
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Не могу посмотреть, на том форуме меня забанили.

В том примере, что ты привел, отметка привязывается к дуге.
Состояние не знает по какой дуге в него попали, потому что не имеет памяти.

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


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
теория автоматов Bakasova Помощь студентам 1 13.05.2013 17:13
Теория автоматов Pababop Помощь студентам 1 02.02.2011 14:08
Теория автоматов. Sabl Помощь студентам 3 30.01.2011 15:09
Теория автоматов. motaro Фриланс 5 07.02.2010 11:34