
Комментарии 5
Кстати, почему "алгорифм" это не опечатка? В википедии оно называется нормальные марковские алгориТмы.
И почему НАМ а не НМА, если это аббревиатура?
А еще, немного оффтоп, но про эти штуки есть игра:
Алгорифмами их называл сам Марков. А выбор между разными аббревиатурами (НА, МА, НАМ, НМА) - из личных эстетических соображений.
В википедии (https://ru.wikipedia.org/wiki/Нормальный_алгоритм) кстати, сказано в скобочках. И аббревиатура там тоже предложена:
Норма́льный алгори́тм (алгори́фм) Ма́ркова (НАМ, также марковский алгоритм)
Но на этом можно не заостряться. Я не пурист, который бегает за всеми и поправляет в ту или иную сторону. Просто выбор нотации для конкретного цикла статей.
Ставить себе эту игру (на рабочий комп) (да ещё за деньги) я, наверно, пожмотничаю. Хотя посмотреть, какие же там задачки подкидывают... - любопытство сгубит кодта.
Если в строке ровно одна единичка, остановимся
"1" ->. "STOP"
Я уже даже начал писать комментарий об ошибке у вас, но вы сильно ниже рассуждаете о начале/конце строки, но на много много абзацев об этом нет упоминания. Т.е. у вас есть правила вида "маркер в начале строки", но правила, которые вы выписываете срабатывают в любом месте строки и поэтому не работают.
Вам стоит сделать добавить комментарий, об этом прямо в первом упоминании. Что мол, это правило вот как записано сработает всегда, а не когда 1 - это вся строка, но об этом ниже. Пока допустим, что это правило срабатывает только на всю строку.
Я рассуждаю - и привожу примеры разных программ. Коллац без маркеров и коллац с маркерами - это два разных случая.
Как раз тот факт, что НАМ не имеет маркеров "из коробки", и приводит к тому, что при работе со строками приходится превозмогать некоторые трудности.
В частности, - если мы поместим правило "1"->."STOP" в начало программы, оно сработает на любой строке, содержащей единичку в любой позиции. И получится ерунда. А вот если мы поместим его в самый конец, - то из-за логики программы (и при условии, что мы соблюли формат начальной строки) мы гарантируем, что эта единичка единственная.
А если мы договорились, что формат строки - это единички в окружении маркеров, - то программировать становится проще.
Ненормальное марковское программирование