>> << >>
Главная

КОМПЛЕМЕНТАРНАЯ СИСТЕМА СЧИСЛЕНИЯ И ЕЕ ИСПОЛЬЗОВАНИЕ В БИОЛОГИИ, ФИЗИОЛОГИИ И КОМПЬЮТЕРНОЙ ТЕХНИКЕ

Ноябрь 2024
Опубликовано 2024-11-03 00:00 , обновлено 2024-11-03 00:05

КОМПЛЕМЕНТАРНАЯ СИСТЕМА СЧИСЛЕНИЯ

И ЕЕ ИСПОЛЬЗОВАНИЕ В БИОЛОГИИ, ФИЗИОЛОГИИ

И КОМПЬЮТЕРНОЙ ТЕХНИКЕ

           

 

Ю.Магаршак

Editor-in-chief NewConcepts Journal

 

           

СИСТЕМЫ СЧИСЛЕНИЯ БЕЗ ПОЗИЦИОННОГО НУЛЯ. Со времен изобретения арабских цифр считается, что система счисления должна содержать позиционный ноль, то есть ноль в каждом разряде. Правила обращения с цифрами (Булева алгебра) при этом таковы:

 

A+B = B+A = A

A A = A

A B = BA= B  B =B

A+A=AB

                                                            (1)

 

где + и  операции сложения и умножения, а в паре AB цифра B оккупирует разряд n, в то время как цифра А находится в следующем разряде n+1. В двоичном варианте эта система является основой функционирования компьютеров. Состояния ячеек А и B соответствуют цифрам 1 и 0. 

 

Gregory Magarshak в далеком 1993 году был, повидимому, первым, кто задался вопросом, можно ли построить систему счисления, в которой ноль будет означать только пустое множество, но в разрядах, используемых для записи числа, среди используемых для этого цифр нуля не будет. Предложенная им система счисления (получившая название компактные числа) подчиняется следущим правилам:

           

a+ a= b                                                            aa =a

a +b = b + a = aa                                            bb =  ab

b + b= ab                                                         ab = ba = b                                      (2)

 

эквивалентная арифметике с цифрами 1 и 2. Первые 12 целых положительных чисел этой арифметики таковы:

 

 

1        2         3        4         5        6         7          8          9         10        11         12

a,       b,        aa,      ab,     aaa,    aab,     aba,     abb,      baa,     bab,     bba,     bbb

 

Правила (2) эквивалентны системе, в которой в каждом разряде используются цифры a=1, b=2. В целом, компактная система счисления функционирует столь же эффективно, как традиционная, с позиционным нулем. Правила сложения и умножения также столь же просты, как при умножении и сложении в традиционной системе. После небольшой тренировки, ее использование на практике не представляет проблем. Ноль в этой системе, однако, в разрядах для записи чисел отсутствует. Он появляется только как пустое множество, то есть является одной единственной точкой на оси вещественных чисел, как в алгебре.

            В настоящей работе рассмотрена другая система счисления без позиционного нуля – комплементарные числа. Ее использование представляется особенно перспективным в связи с тем, что комплементарность является принципом, чрезвычайно широко используемым в природе. При этом в живой природе (in vivo) повсеместно и в самых разнообразных формах от комплементарности фермент-субстратной пары в энзиматических процессах до комплементарности нуклеотидов молекулы наследственности ДНК.

 

 

КОМПЛЕМЕНТАРНАЯ СИСТЕМА СЧИСЛЕНИЯ. В предлагаемой системе счисления используются два символа: p и n (первые буквы слов positive and negative), действия с которыми аналогичны действиям с числами +1 и –1 в арифметике.

Существует несколько схем оперирования с комплементарными числами. Среди них отметим

1) Комплементарную систему счисления с фиксированным количеством разрядов (подобно тому, как это происходит в компьютерах)

2) Комплементарную систему счисления с переменным количеством разрядов (в которой для записи информации используются последовательности с переменным числом разрядов, наподобие нуклеотидных цепей).

           

 

ФРАКТАЛЬНЫЕ СЕТКИ СИСТЕМ СЧИСЛЕНИЯ.

На Рис. 1 изображена фрактальная сетка, служащая основой всех двоичных систем счисления. Вертикальный отрезок длиной 2k соответствует разряду номер k. В случае традиционной булевой алгебры с позиционным нулем, двоичная запись числа N получается при движении вдоль прямой, параллельной secondary diagonal и пересекающей и ось X и ось Y в точке N (Так называемый числовой луч) (Рис.2).

 

ФРАКТАЛЬНАЯ СЕТКА В ДВОИЧНОЙ БУЛЕВОЙ АЛГЕБРЕ.

Двоичная запись числа в традиционной булевой алгебре получается по следующему правилам:

При этом, само собой разумеется, традиционная двоичная запись числа не зависит от того, происходит ли движение по числовому лучу начиная от оси X к оси Y (в направлении увеличения разрядов) или от оси Y к оси X (в направлении уменьшения разрядов).

 

ФРАКТАЛЬНАЯ СЕТКА В КОМПЛЕМЕНТАРНОЙ СИСТЕМЕ СЧИСЛЕНИЯ.

Получение числа по фрактальной сетке в комплементарной системе счисления может быть осуществлено двумя способами: в направлении увеличения разрядов записи числа и в направлении их уменьшения. Хотя алгоритмы разнятся, результат оказывается одним и тем же.

Генерация комплементарной формы числа N, перемещаясь от меньших разрядов к высшим получается в результате движения по ломанной линии, начинающейся в точке N на оси X. Траектория перемещения точки, представляющей число от оси X к вертикальному отрезку длиной 2k, где к – число разрядов представления числа, определяется по следующим правилам:  

Шаг первый. Если точка N касается одного из вертикальных отрезков фрактальной сетки с определенным числом разрядов, она перемещается к верхней точке этого отрезка. Если нет – перемещается вдоль лучей в первом квадранте, выходящих из этой точки и наклоненных к горизотальной оси под углами  π/4 и   -π/4, к вершине того из двух вертикальных отрезков, который имеет минимальную длину (и вдвое длиннее отрезка, из которого луч вышел). Один из двух ближайших к точке N вертикальных отрезков справа и слева от нее всегда удовлетворяет этому требованию.

Рекуррентная процедура. Из точки, в которой находится траектория числа N, испускаются два луча под углами π/4 и -π/4 к оси X. Один и только один из этих лучей пересекает отрезок фрактальной сетки вдвое более длинный, чем тот, на котором находится точка. Назовем эту точку фрактальной сетки Rn+1. Точка траектории комплементарной записи числа N перемещается из точки Rn в точку Rn+1. После чего процедура повторяется до тех пор, пока логарифм длины отрезка фрактальной сетки, на котором находится точка, не будет соответствовать числу разрядов (фиксированному) в записи данного числа.

 Генерация комплементарной формы числа N, перемещаясь от высших разрядов к меньшим. Начальная точка находится на вершине отрезка фрактальной сетки длиной 2n, где n – число разрядов для записи числа.

На рис. 3 для иллюстрации изображены траектории получения комплементарной записи чисел 11, 16 и 23. В таблице 1 приведены первые 32 комплементарных числа, а также (для сравнения) запись тех же чисел в традиционной булевой алгебре. Обратим внимание на то, что традиционная бинарная запись цифр с k разрядами позволяет записывать цифры с 0 до 2k-1, тогда как комплементарная запись цифр с двумя разрядами позволяет записывать и положительные, и отрицательные цифры от 1 до 2k.

 

ЗАПИСЬ КОМПЛЕМЕНТАРНЫХ ЧИСЕЛ В КОМПЬЮТЕРАХ. Каждое положительное число в комплементарной записи имеет цифру p (плюс 1) в старшем разряде, а каждое отрицательно число – цифру n (минус 1, т.е. -1) в старшем разряде. Допустим, положительное число N записано в виде n-разрядного [Nn]. Для записи этого же числа в форме с числом разрядов на k больше оно будет иметь вид [Nn+k]=pnnnn[Nn]. Если в n разрядах записано отрицательное число [Mn], то в форме, в которой число разрядов равно n+k его вид будет [Mn+k]=npppp[Mn], где цифры p (плюс единица) и n (минус единица) повторяются k раз.

 

 

АРИФМЕТИЧЕСКИЕ ДЕЙСТВИЯ С КОМПЛЕМЕНТАРНЫМИ ЧИСЛАМИ.

Умножение комплементарных чисел. Умножение комплементарного числа на единицу оставляет его неизменным, тогда как умножение комплементарного числа на минус единицу приводит к замене в каждом разряде цифры n на цифру p а цифры p на цифру n.

Сложение комлементарных чисел. Начнем с рассмотрения сложения комплементарных чисел в том случае, если число разрядов для его записи может варироваться. Покажем, что оно может осуществляться без использования нулей.

Допустим, что в младшем разряде (или в k младших разрядах) у складываемых чисел стоят противоположные комплеменарные цифры. В этом случае запись числа сокращается на k разрядов.

Допустим, что первым разрядом, в которых цифры слагаемых чисел комплементарной записи одинаковы, является разряд k. Начиная с этого разряда алгоритм сложения двух комплементарных чисел таков. Генерируется вспомогательный дуплет (пара ячеек), состоящий из двух разрядов, которые назовем первичным А и вторичным B, и который скользит вдоль разрядов в направлении возрастания в процессе сложения.

Пусть ячейка дуплета A находится напротив разряда номер k.

  1. Если цифры в разряде k cлагаемых чисел одинаковы, в ячейку B записывается цифра из этого разряда. Это – предварительное значение цифры в ячейке k+1 (которое может быть изменено или не изменено на следующем шаге дуплета) Если они противоположны, ячейка B остается без изменения.
  2. Цифра, записанная в ячейке А из предыдущего шага, сравнивается с цифрами слагаемых в разряде k. Если слагаемые цифры противоположны, цифра из ячейки А записывается в разряд k cуммы. Если слагаемые цифры в разряде k одинаковы, эта цифра записывается в разряд k суммы (окончательное значение суммы в разряде k), а в разряд k+1 суммы чисел записывается комплементарное им число.
  3. Ячейки A и B меняются местами и смещаются на один разряд вправо. После чего шаги 1, 2 и 3 повторяются.

 

КОМПЛЕМЕНТАРНАЯ СИСТЕМА СЧИСЛЕНИЯ С ФИКСИРОВАННЫМ ЧИСЛОМ РАЗРЯДОВ. Вместо того, чтобы вариировать число разрядов (тем самым, избегая использование нуля), в комплементарной системе, так же как в традиционной, используемой в компьютерах, можно использовать приближенное значение чисел. Последовательность pnpnpnpn… являтся приближенной записью нуля со стороны положительной полуоси, тогда как последовательность npnpnpnp… дает приближенное значение нуля со стороны отрицательной полуоси. Вспомнив, что в компьютерах с фиксированным числом разрядов числа записываются приближенно, точность вычислений в комплементарной системе счисления и в традиционной булевой алгебре одного порядка величины.

 

ОБСУЖДЕНИЕ. Использование двоичной Булевой алгебры (последовательности нулей и единиц) повсеместно используемой в компьютерной технике в настоящее время, является далеко не единственно возможным. В настоящей работе предложена одна из возможных альтернатив. Которая может оказаться полезной и в использовании одновременно с булевой кодировкой (например, для повышения устойчивости против вирусов), и сама по себе.

            С другой стороны бросается в глаза, что нет никаких данных, что Булева алгебра используется в работе мозга и вообще в биологии. Напротив – существование множество комплементарных систем in vivo делает развитие комплементарной системы счисления потенциально полезным. В частности, гипотеза о том, что работа мозга (в котором синапсы осуществляются совокупностью  положительных и отрицательных связи) осуществляется с использованием комплементарных систем счисления, представляется достойной всесторонней проверки.

 

 

Дальнейшее исследование использования комплементарных систем счисления в компьютерной технике, а также того, что комплементарная арифметика является основой работы мозга, представляется плодотворным и перспективным.

Добавить комментарий

Оставлять комментарии могут только зарегистрированные пользователи.
Войдите в систему используя свою учетную запись на сайте:
Email: Пароль:

напомнить пароль

Регистрация