2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Сложение в комбинаторной системе счисления
Сообщение03.01.2013, 17:27 
Аватара пользователя
Здравствуйте, может кто-то встречал (думал на тему) как сложить два числа в комбинаторной системе счисления $$N=\binom{a_n}{n}+\binom{a_{n-1}}{n-1}+\cdots+\binom{a_1}{1}$$ где $a_n>a_{n-1}>\cdots>a_1\geqslant 0$. Особенностью этой системы является то, что представлениe каждого $N$ содержит одинаковое число единиц, см. например:
http://www.srccomp.com/techpubs/docs/NP ... eedCWC.pdf

 
 
 
 Re: Сложение в комбинаторной системе счисления
Сообщение03.01.2013, 20:20 
Вы спутали представление в комбинаторной системе счисления и constant weight codeword. Вам нужно сложение первого или второго?

-- Чт янв 03, 2013 23:52:35 --

Кажется, что ничего лучше перевода в «обычное» представление, сложения и перевода обратно нет.

Если вы имели в виду те двоичные коды, то можно составить таблицу сложения кодов 000…001, 000…010, …, 010…000 (сложение двух 100…000 не поместится), исключая из её области определения и коды нуля. Потом складываем как-нибудь с помощью неё данные коды, не учитывая разряды, кодирующие ноль, и дальше необходимое количество единиц в них добавляем. Только не ясно, есть ли смысл делать это вместо перевода-сложения-перевода.

Иногда есть по нескольку таких кодов постоянного веса для одного числа уже из-за наличия нескольких разрядов, вносящих в число 0.

 
 
 
 Re: Сложение в комбинаторной системе счисления
Сообщение04.01.2013, 00:01 
Аватара пользователя
arseniiv, прежде всего спасибо. Спутал ли я представление в комбинаторной системе счисления и constant weight codes? Возможно. Однако, если внимательно посмореть на Table 1 в статье по указанной ссылке, можно заметить именно это свойство. Доказательства того, что оно справедливо для любых $a$ и $n$ я не встречал. Теперь, зачем может понадобиться такой сумматор? Понятно, что комбинаторная система счисления избыточна, поэтому логично предположить, что на ее основе можно построить надежные (самопроверяемые) устройства, в частности сумматор. Думаю, что если переводить числа в двоичную систему, там суммировать и переводить обратно, то можно потерять не только время, но и самопроверяемость.

 
 
 
 Re: Сложение в комбинаторной системе счисления
Сообщение04.01.2013, 01:10 
Alik в сообщении #666819 писал(а):
Однако, если внимательно посмореть на Table 1 в статье по указанной ссылке, можно заметить именно это свойство.
Это свойство именно кодов, а не представления в системе, которое отмечено во второй колонке. Эти два представления взаимно однозначно переводятся друг в друга, но являются всё-таки разными вещами.

Alik в сообщении #666819 писал(а):
Думаю, что если переводить числа в двоичную систему, там суммировать и переводить обратно, то можно потерять не только время, но и самопроверяемость.
Самопроверяемость в этом месте не нужна. Защита от помех требуется не везде.

 
 
 
 Re: Сложение в комбинаторной системе счисления
Сообщение04.01.2013, 01:46 
Аватара пользователя
arseniiv писал(а):
Самопроверяемость в этом месте не нужна
Поясните где именно?

 
 
 
 Re: Сложение в комбинаторной системе счисления
Сообщение04.01.2013, 01:52 
При суммировании и даже при умножении.

 
 
 
 Re: Сложение в комбинаторной системе счисления
Сообщение04.01.2013, 02:07 
Аватара пользователя
То есть аппаратура должна всегда работать при комнатной температуре, нормальной влажности и прочее? Как быть с самолетом, который летит в грозу или бортовой системой спутника?

 
 
 
 Re: Сложение в комбинаторной системе счисления
Сообщение04.01.2013, 02:16 
Как хотите. :-)

 
 
 
 Re: Сложение в комбинаторной системе счисления
Сообщение25.01.2013, 17:20 
Насколько я ничего не знаю :-) , на самолетах и спутниках стоят не дешевые ширпотребовские контроллеры за 3 рубля, а весьма дорогие ПЛИС, в которых запросто можно сделать на физическом уровне в разных ячейках параллельное выполнение хоть 1000 сложений исходных данных с последующим анализом результатов и отбросом отклоняющихся от матожидания значений. И не только это, а гораздо более удивительные и фантастические вещи :-)

ЗЫ вообще, мне смутно кажется, что если не изобретут нейронный компьютер, то уж от примитивной концепции последовательного выполнения ограниченного набора команд при единственности текущего контекста давно пора перейти к чему-то более интересному. Например, представьте - у вас компьютер на ПЛИС, которая запросто конфигурируется во время работы: запускаем задачу - у нас на аппаратном уровне конфигурируется часть ячеек и мы имеем вшитое на железном уровне приложение, которое работает с максимальной скоростью, причем не делит время и ресурсы с другими приложениями, а они работают параллельно. Вот это я понимаю, настоящая многозадачность.

 
 
 [ Сообщений: 9 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group