Алгорифмы Маркова
От: Аноним  
Дата: 22.06.05 07:53
Оценка:
Веселенькая тема, не так ли?
Не буду рассказывать что это такое, ибо те, кто не знает этого, вряд ли мне помогут.
Итак, задача: Построить ЕДИНЫЙ алгорифм для сложения и умножение НАТУРАЛЬНЫХ чисел. Вход: строка вида "N+M" or "N*M"; выход соответственно "Z".

Бред, скажите вы? Да, скажу я вам Ибо я мучаюсь с этим довольно продолжительное время. После нескольких попыток, гемороя с перечислением таблиц сложения и умножения, я пришел к выводу, что раз в задании не дана система счисления, я могу использовать ЕДИНИЧНУЮ
Числа "N" и "M" представляют из себя нечто вроде "0111111" = это число 6. Нолик в начале не принципиален, давай те его оставим.

Как оказалось — сложение "0111+01111" тривиально :
\Summ\
+0  ->  0
10  -> .1
00  -> .0


Но вот умножение...

Люди добрые, подскажите, как сделать умножение!!! Может кто делал что то подобное, или литературу посоветуйте (только обязательно с примерами! ибо теорию этих АМ я знаю, и по этому вопросу у меня полно всего) ! И интернете ОЧЕНЬ мало по этому поводу, тема редкая.
Re: Алгорифмы Маркова
От: fplab Россия http://fplab.h10.ru http://fplab.blogspot.com/
Дата: 22.06.05 08:02
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Веселенькая тема, не так ли?

А>Не буду рассказывать что это такое, ибо те, кто не знает этого, вряд ли мне помогут.
А>Итак, задача: Построить ЕДИНЫЙ алгорифм для сложения и умножение НАТУРАЛЬНЫХ чисел. Вход: строка вида "N+M" or "N*M"; выход соответственно "Z".

А>Бред, скажите вы? Да, скажу я вам Ибо я мучаюсь с этим довольно продолжительное время. После нескольких попыток, гемороя с перечислением таблиц сложения и умножения, я пришел к выводу, что раз в задании не дана система счисления, я могу использовать ЕДИНИЧНУЮ

А>Числа "N" и "M" представляют из себя нечто вроде "0111111" = это число 6. Нолик в начале не принципиален, давай те его оставим.

А>Как оказалось — сложение "0111+01111" тривиально :

А>
А>\Summ\
А>+0  ->  0
А>10  -> .1
А>00  -> .0 
А>


А>Но вот умножение...


А>Люди добрые, подскажите, как сделать умножение!!! Может кто делал что то подобное, или литературу посоветуйте (только обязательно с примерами! ибо теорию этих АМ я знаю, и по этому вопросу у меня полно всего) ! И интернете ОЧЕНЬ мало по этому поводу, тема редкая.


Сейчас не подскажу: нет под рукой литературы, а я все уже подзабыл Но попробуйте поискать следующие книги по этой теме (в И-нете точно есть электронные копии):
1. Х.Карри "Основания математической логики" (отдельная глава по алгорифмам Маркова; довольно просто все описано, хотя и не очень глубоко);
2. А.Марков "Теория алгорифмов" (тут, естественно, все описано, как никак — автор собственной персоной )
Приходиться заниматься гадостью — зарабатывать на жизнь честным трудом (Б.Шоу)
Re: Алгорифмы Маркова
От: mihoshi Россия  
Дата: 22.06.05 09:08
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Бред, скажите вы? Да, скажу я вам Ибо я мучаюсь с этим довольно продолжительное время. После нескольких попыток, гемороя с перечислением таблиц сложения и умножения, я пришел к выводу, что раз в задании не дана система счисления, я могу использовать ЕДИНИЧНУЮ


Бред, скажем мы Единичной системы не бывает. Ты имел в виду двоичную?
Re[2]: Алгорифмы Маркова
От: Сергей Мухин Россия  
Дата: 22.06.05 09:12
Оценка:
Здравствуйте, mihoshi, Вы писали:

M>Здравствуйте, Аноним, Вы писали:


А>>Бред, скажите вы? Да, скажу я вам Ибо я мучаюсь с этим довольно продолжительное время. После нескольких попыток, гемороя с перечислением таблиц сложения и умножения, я пришел к выводу, что раз в задании не дана система счисления, я могу использовать ЕДИНИЧНУЮ


M>Бред, скажем мы Единичной системы не бывает. Ты имел в виду двоичную?


да вроде бывает

да ты и сам ею пользуешься, когда пальцы загибаешь считая что-нибудь.
---
С уважением,
Сергей Мухин
Re[2]: Алгорифмы Маркова
От: _DAle_ Беларусь  
Дата: 22.06.05 09:13
Оценка:
Здравствуйте, mihoshi, Вы писали:

M>Здравствуйте, Аноним, Вы писали:


А>>Бред, скажите вы? Да, скажу я вам Ибо я мучаюсь с этим довольно продолжительное время. После нескольких попыток, гемороя с перечислением таблиц сложения и умножения, я пришел к выводу, что раз в задании не дана система счисления, я могу использовать ЕДИНИЧНУЮ


M>Бред, скажем мы Единичной системы не бывает. Ты имел в виду двоичную?


Не баловались вы с машинкой тьюринга, видимо.
http://en.wikipedia.org/wiki/Unary_numeral_system
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Re[3]: Алгорифмы Маркова
От: ivan_k Россия  
Дата: 22.06.05 09:19
Оценка:
У Пенроуза в "Новый ум короля" во введении вроде очень хорошо разобрана единичкая система счисления на машине Тьюринга, и умножение приводится как более сложный пример.
Re[2]: Алгорифмы Маркова
От: Alex-AKF  
Дата: 22.06.05 11:19
Оценка:
Здравствуйте, mihoshi, Вы писали:

M>Здравствуйте, Аноним, Вы писали:


А>>Бред, скажите вы? Да, скажу я вам Ибо я мучаюсь с этим довольно продолжительное время. После нескольких попыток, гемороя с перечислением таблиц сложения и умножения, я пришел к выводу, что раз в задании не дана система счисления, я могу использовать ЕДИНИЧНУЮ


M>Бред, скажем мы Единичной системы не бывает. Ты имел в виду двоичную?

Сходи в универ — там те расскажут.

1 = 1
11= 2
111=3

и т.д.
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Re[4]: Алгорифмы Маркова
От: Аноним  
Дата: 22.06.05 13:40
Оценка:
И вот, большая и серьезная тема переросла во флейм, существуется ли единичная система счисления

Кстате, я уже вроде сделал. Сейчас напишу.
Re: Алгорифмы Маркова
От: Аноним  
Дата: 22.06.05 13:59
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Итак, задача: Построить ЕДИНЫЙ алгорифм для сложения и умножение НАТУРАЛЬНЫХ чисел. Вход: строка вида "N+M" or "N*M"; выход соответственно "Z".


А>Бред, скажите вы? Да, скажу я вам Ибо я мучаюсь с этим довольно продолжительное время. После нескольких попыток, гемороя с перечислением таблиц сложения и умножения, я пришел к выводу, что раз в задании не дана система счисления, я могу использовать ЕДИНИЧНУЮ

А>Числа "N" и "M" представляют из себя нечто вроде "0111111" = это число 6. Нолик в начале не принципиален, давайте его оставим.

Вот к чему я пришел:
Mul_Sum

1        *0    ->    #
2        |#    ->    @#
3        2|    ->    |2
4        @#|    ->    1@#2
5        @    ->
6        2    ->    |
7        |1    ->    1|
8        |    ->
9        1    ->    |
10        #    ->    
    
11        +0    ->    0
12        10    ->    1
13        00    ->    0

Где @ и # специальные символы, 2 и 1 — то же спец символы, для замены | в нужных местах.


Теперь по идее алгорифм должен работать на строках вида "0|||||*0|||" и "0|||+0|||||"
Пока тестю. Даже на граничных условиях ( 0*0, 0+0 ) вроде бы работает.

Помогите мне с выходом из него. По идее, он заканчивает выполнение, а) когда не находит ниодной замены. Или б) если присутствует замена в виде "A -> ." У меня должен выходить по первому варианту а). Я не прав???
Re[2]: Алгорифмы Маркова
От: Аноним  
Дата: 22.06.05 14:07
Оценка:
Кстате, люди! Может видел кто-нибудь эмулятор марковских алгорифмов? А то я пожалуй буду переводить числа в 10-ую систему, без тестов не обойтись, а вручную я уже запарился.
Re[2]: Алгорифмы Маркова
От: Аноним  
Дата: 22.06.05 14:25
Оценка:
Здравствуйте, mihoshi, Вы писали:
M>Бред, скажем мы Единичной системы не бывает. Ты имел в виду двоичную?

Бывает... Все в жизни бывает...
Я даже по отрицательному основанию СС могу привести.
Или вот например по основанию Пи — вот где бред!

Но к теме, господа! Мне теперь эту единичную СС надо бы в 10-ую перевести. Вернее наоборот, благо из 1-ой в 10-ую — легко.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.