|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
27.04.2018, 19:25 | #1 |
Новичок
Джуниор
Регистрация: 27.04.2018
Сообщений: 2
|
Алгоритм Маркова
Помогите решить задачку, пожалуйста. Нужно составить алгоритм Маркова в котором удаляется вторая половина слова, состоящего из букв ab (если слово нечетное, удаляем большую часть)
Например: есть слово abbaba, после выполнения программы должно получиться abb. Если же дано слово aabaaba, должно получиться aab. |
28.04.2018, 04:34 | #2 |
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
У алгоритмов Маркова, подобных тому, о котором Вы пишете, есть одна неприятная особенность: очень тяжело отличить начальное состояние строки от конечного. Грубо говоря, если делать в чистом виде алгоритм, переводящий abbaba -> abb, то те же самые правила в какой-то момент начнут кромсать уже этот финальный abb.
Самое простое решение этой проблемы - пометить начальную строку каким-то дополнительным символом, например abbabaZ -> abb Тогда правила могут быть, например, такими: Код:
Последний раз редактировалось Black Fregat; 28.04.2018 в 04:37. Причина: Ошибся |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Алгоритм Маркова | lialia | Помощь студентам | 0 | 05.11.2013 21:42 |
нормальный алгоритм маркова | Пьеро | Помощь студентам | 1 | 29.11.2010 10:08 |
Нормальный алгоритм Маркова | Пьеро | Помощь студентам | 1 | 25.11.2010 16:02 |
нормальный алгоритм Маркова | Gimi | Помощь студентам | 1 | 20.01.2009 19:07 |