|
Четверговый НАМ и сложение двоичных чисел в строках
|
|||
---|---|---|---|
#18+
Привет Котаны-Бротаны! Код: sql 1. 2.
Код: sql 1. 2. 3. 4. 5.
Код: sql 1. 2.
Под катом я расскажу что такое НАМ своими словамиНормальные Алгоритмы Маркова (НАМ) - представляют собой совокупность правил (rules) Код: sql 1. 2. 3.
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Некоторые подсказки которые я сам для себя нашел Код: sql 1. 2. 3. 4.
Просто некоторые линки https://en.wikipedia.org/wiki/Markov_algorithm Здесь есть пример перевода двоички в унарный код ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 18:29 |
|
Четверговый НАМ и сложение двоичных чисел в строках
|
|||
---|---|---|---|
#18+
Алгоритм: сложение в столбик ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 19:50 |
|
Четверговый НАМ и сложение двоичных чисел в строках
|
|||
---|---|---|---|
#18+
Ммм... да. Код давай. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 19:53 |
|
Четверговый НАМ и сложение двоичных чисел в строках
|
|||
---|---|---|---|
#18+
Может вопрос-таки об умножении? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 20:02 |
|
Четверговый НАМ и сложение двоичных чисел в строках
|
|||
---|---|---|---|
#18+
Давайте все таки начнем со сложения. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 20:11 |
|
Четверговый НАМ и сложение двоичных чисел в строках
|
|||
---|---|---|---|
#18+
mayton Давайте все таки начнем со сложения. 1. двоичный код - в палки (для обоих слагаемых) 2. убрать плюс 3. палки - в двоичный код ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 20:47 |
|
Четверговый НАМ и сложение двоичных чисел в строках
|
|||
---|---|---|---|
#18+
+1 Одна процедура уже есть. Но мне кажется что обратная будет не так проста. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 21:19 |
|
Четверговый НАМ и сложение двоичных чисел в строках
|
|||
---|---|---|---|
#18+
Скопипащу с вики сюда. Что б было. Конвертер с бинарного кода в унарный. Rule|0 -> 0||1 -> 0|0 -> Для нашего примера. Input: 1101+111 Output: |||||||||||||+||||||| Далее. Здесь надо аккуратно. Надо выкинуть плюсик но только после того как оба слагаемых сконверчены в лесенку из палочек. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 22:21 |
|
Четверговый НАМ и сложение двоичных чисел в строках
|
|||
---|---|---|---|
#18+
тут наверное на ассемблере было бы прикольно напрограммировать с побитовыми операциями... ну типа прописать в память 0 и 1 но я ассемблера не знаю :( ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 22:35 |
|
Четверговый НАМ и сложение двоичных чисел в строках
|
|||
---|---|---|---|
#18+
Этот топик - вообще не про Ассемблер. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 22:41 |
|
Четверговый НАМ и сложение двоичных чисел в строках
|
|||
---|---|---|---|
#18+
mayton, Проверил на ограниченном наборе. Правила формирования файла rule.txt: Сначала идут тестовые образцы в формате Тест -> Ожидаемый результат Если ожидаемый результат начинается с @ то после него идет функция получения результата от левой части Образцы собираются до строки <<rules>>, все оставшееся это правила. комментарии в правилах как в VB, Пустые строки игнорируются. запуск через run.bat Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 23:17 |
|
Четверговый НАМ и сложение двоичных чисел в строках
|
|||
---|---|---|---|
#18+
Забавная штука.... пример с хабра Нормальный алгоритм Маркова для деления чисел . Список замен немного изменен, так в этой машине символ | - служебный. Так что вместо него следует использовать # ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2020, 00:13 |
|
Четверговый НАМ и сложение двоичных чисел в строках
|
|||
---|---|---|---|
#18+
1101+111 = 1000 + 100 + 100 + 10 + 1 + 1 = 1000 + 100 + 100 + 10 + 10 = 1000 + 100 + 100 + 100 = 1000 + 1000 + 100 = 10000 + 100 = 10100 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2020, 01:30 |
|
Четверговый НАМ и сложение двоичных чисел в строках
|
|||
---|---|---|---|
#18+
Поправил интерпретатор, что бы символ "|" не выпадал из алфавита. Обычные пары разделяются последовательностью " -> ", терминальные пары последовательностью " |-> " ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2020, 07:10 |
|
Четверговый НАМ и сложение двоичных чисел в строках
|
|||
---|---|---|---|
#18+
В интерпретатор добавлена проверка перекрытия правил ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2020, 07:49 |
|
Четверговый НАМ и сложение двоичных чисел в строках
|
|||
---|---|---|---|
#18+
mayton, Зачем нужно terminal rule я не понял. mayton Об оптимизации - не думаем. Нужно любое работающее решение. Так это элементарно. Надо просто перебрать все суммы двоичных чисел в диапазоне байта в лоб. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2020, 08:31 |
|
Четверговый НАМ и сложение двоичных чисел в строках
|
|||
---|---|---|---|
#18+
crutchmaster, Ну... Я-же не создатель этого языка. Terminal rule это чтото вроде условия выхода из рекурсии. Часть алгоритмов без него обходятся. Ну и ладно. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2020, 08:48 |
|
Четверговый НАМ и сложение двоичных чисел в строках
|
|||
---|---|---|---|
#18+
mayton, А, дошло. Если оно срабатывает или достигнут конец списка, то всё заканчивается. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2020, 08:59 |
|
Четверговый НАМ и сложение двоичных чисел в строках
|
|||
---|---|---|---|
#18+
Swa111, спасибо. Посмотрю. Но есть также онлайновые вычислители. Я находил несколько работающих в браузере. И в Розетта-Код есть имплементации почти под все языки. https://rosettacode.org/wiki/Execute_a_Markov_algorithm Я думаю что надо собрать 1 бинарничек на сях под Windows и выложить сюда чтоб желающие пользовались. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2020, 10:04 |
|
Четверговый НАМ и сложение двоичных чисел в строках
|
|||
---|---|---|---|
#18+
Swa111, ты гитхабом пользуешся? Ну я имею в виду.. Учетная запись там есть? Свои репозитарии? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2020, 10:06 |
|
Четверговый НАМ и сложение двоичных чисел в строках
|
|||
---|---|---|---|
#18+
Щас я расскажу свою идею. Вобщем я сложение заменил на инкремент. Поскольку НАМ очень удобно дебажить. Весь state программы укладывается в 1 строчку я просто покажу как я думал это решать. Пока без кода а в виде модификаций строки. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34.
Вот. Я это написал в уме сегодня ночью. И еще не проверял. Наверное там где-то есть зацикливание. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2020, 10:17 |
|
Четверговый НАМ и сложение двоичных чисел в строках
|
|||
---|---|---|---|
#18+
mayton, Мы сперва переводим бинарь в палочки, но как палочки перевести обратно в бинарь? Первый кусок кода его будет блокировать же. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2020, 10:20 |
|
Четверговый НАМ и сложение двоичных чисел в строках
|
|||
---|---|---|---|
#18+
crutchmaster mayton, Мы сперва переводим бинарь в палочки, но как палочки перевести обратно в бинарь? Первый кусок кода его будет блокировать же. Мммм.... чтоб рулы не пересекались - мы служебные символы можем ввести новые. Например между первой и второй фазой делать Код: sql 1.
И дальше оперировать звездочками. Мне символов не жалко. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2020, 10:23 |
|
Четверговый НАМ и сложение двоичных чисел в строках
|
|||
---|---|---|---|
#18+
Swa111, у меня твой алгоритм не сработал на вот этом эмуляторе http://www.cmcmsu.info/1course/alg.schema.nam.htm Правильно ли я скопипастил? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27.
В пошаговом режиме пишет Ни одно правило не применено, либо выполнено терминальное правило. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2020, 10:32 |
|
Четверговый НАМ и сложение двоичных чисел в строках
|
|||
---|---|---|---|
#18+
mayton Мне символов не жалко. Хотя да. Я думаю что Марков пожадничал. Надо было ввести в язык поняти стека и вызва процедуры или функции. Но он наверное как и все теоретики просто что-то на бумаге хотел доказать. Типа равна ли эта хрень Машинке Тьюринга. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2020, 10:47 |
|
|
start [/forum/topic.php?fid=16&msg=39963618&tid=1339708]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 241ms |
total: | 384ms |
0 / 0 |