Содержание к диссертации
Введение
Глава 1. Современное состояние теории и практики информационных методов контроля работы ЭВМ. 10
1.1. Анализ и общая классификация информационных методов контроля работы вычислительных средств. 10
1.2. Корректирующий код системы остаточных классов 28
1.2.1. Система остаточных классов (СОК). Принципы кодирования и обработки данных в СОК. 28
1.2.2. Корректирующие свойства кода СОК. 34
1.2.3. Способы обнаружения ошибок. 39
1.2.4. Методы локализации и исправления (коррекции) ошибок . 44
1.3. AN -коды, их корректирующие способности. 53
1.3.1. Канонические представления целых чисел. 53
1.3.2. Арифметический вес и арифметическое расстояние. 61
1.3.3. ЛіУ-кодьі. 65
1.3.4. Циклические AN -коды. 75
Выводы по главе 1 88
Глава 2. Математическая модель гибридного корректирующего кода, обнаруживающего и исправляющего ошибки, возникающие при обработке данных . 89
2.1. Гибридный код AN-СОК, его корректирующие способности. 89
2.2. Действия над числами, представленными в коде AN-СОК . 95
2.3. Геометрические модели кодов СОК и AN-СОК. 100
2.4. Оценка увеличения длины двоичного кода, обусловленного переходом от кода СОК к гибридному коду. 111
2.5. Решение проблемы внутренней избыточности двоичного кода СОК. 114
2.6. Обнаружение, локализация и исправление ошибок в коде AN -СОК. 120
Выводы по главе 2 131
Глава 3. Нейросетевые модели для обнаружения и исправления ошибок в компьютерных модулярных вычислениях . 13 3
3.1. Нейронная сеть конечного кольца. 13 3
3.2. Нейросетевая реализация гибридного кода AN-СОК. 148
3.2.1. Модифицированная нейронная сеть конечного кольца . 148
3.2.2. Нейронные сети коррекции ошибок в коде AN-СОК для исправления искаженных остатков. 150
3.2.3. Коррекция искаженных разрядов двоичного представления AN -остатков. - 151
3.3. Сеть Хэмминга. Использование нейронной сети Хэмминга для обнаружения и исправления ошибок в нейрокомпьютерах, функциони рующих в СОК и AN -СОК. 156
Выводы по главе 3 170
Заключение 172
Литератур
- Корректирующий код системы остаточных классов
- Методы локализации и исправления (коррекции) ошибок
- Действия над числами, представленными в коде AN-СОК
- Модифицированная нейронная сеть конечного кольца
Введение к работе
Развитие средств вычислительной техники сопровождается ростом производительности машин, усложнением их конструкций и расширением областей применения. Это обусловливает постоянный интерес к проблеме повышения надежности работы машин [30]. Проблема помехоустойчивости относится к числу тех проблем, значение и актуальность которых с течением времени не только не уменьшаются, а даже увеличиваются [36]. Решение этой проблемы техническими средствами требует больших финансовых затрат; повышение надежности информации при этом ограничено уровнем развития техники и сколь-нибудь значительные достижения в этой области требуют новых технических решений. Другим путем решения задачи повышения достоверности является использование специальных процедур, основанных на применении помехоустойчивых (корректирующих) кодов. Этот путь не содержит никаких принципиальных ограничений. Более того, при выборе подходящего кода, обладающего необходимой корректирующей способностью, можно заметно снизить требования к надежности самого технического оборудования, сделать его более простым и дешевым [5].
В данной работе изучаются две конструкции арифметических кодов - коды системы остаточных классов (СОК) и AN -коды.
Достоинства корректирующего кода СОК:
- независимость образования разрядов числа, в силу чего каждый разряд несет информацию обо всем исходном числе. Отсюда вытекает независимость разрядов числа друг от друга и возможность их независимой параллельной обработки, что свидетельствует об условности разделения оснований на информационные и проверочные, и ограничивает распространение ошибки, возникшей в остатке по какому-либо модулю, на другие разряды числа;
- малоразрядность остатков в представлении числа. Последнее позволяет предполагать, что наиболее вероятны одиночные ошибки. Кроме этого, ввиду малого количества допустимых кодовых комбинаций открывается возможность построения табличной арифметики, благодаря чему большинство операций, выполняемых арифметическим устройством, превращаются в однотактные, выполняемые простой выборкой из таблицы. Указанные достоинства кода СОК позволяют значительно повысить скорость выполнения операций сложения, вычитания и умножения (по сравнению с осуществлением этих операций в позиционной системе счисления).
К основному недостатку кода СОК отнесем высокую арифметическую сложность процедуры локализации ошибочных остатков. Достоинствами AN -кода являются
- простота процедур кодирования и декодирования;
- возможность обнаружения одиночных ошибок при малом увеличении двоичного представления исходного числа (например, при А = 3 не более чем на два разряда);
- использование остаточных кодов, как представителей AN -кодов, обеспечивает параллелизм при выполнении действий над информационными и избыточными символами.
К основному недостатку AN -кода отнесем снижение скорости выполнения арифметических операций за счет увеличения разрядности числа.
Компромиссным решением проблемы уменьшения существующих недостатков кода СОК является построение гибридного кода AN-СОК, в котором каждый остаток кода СОК представлен в виде двоичного AW-кода. Используя при этом в качестве генераторов AN -кодов малые нечетные числа, мы сохраним достоинства кода СОК и AN -кода, выделенный недостаток AN-кода сделаем незначительным, отмеченный недостаток кода СОК существенно снизим. Другим путем решения поставленной проблемы является совместное использование корректирующих свойств кода СОК и нейронных сетей (НС), а именно, обнаружение ошибки провести на базе свойств СОК, а локализацию и коррекцию ошибки - на базе свойств НС.
Объектом диссертационной работы являются информационные методы контроля работы ЭВМ. Предметом исследований являются два представи теля арифметических корректирующих кодов (коды СОК и AN -коды), а также рекуррентная сеть Хэмминга, обладающая ассоциативным свойством.
Цель исследований данной работы состоит в повышении эффективности коррекции ошибок, возникающих при обработке данных в ЭВМ.
Научная задача заключается в разработке модулярных отказоустойчивых нейросетевых моделей параллельного типа.
При этом решались следующие частные задачи:
- исследование информационных методов обнаружения, локализации и исправления ошибок;
- разработка математической модели гибридного кода, представляющего собой синтез кодов СОК и AN -кодов;
- обоснование осуществимости модульных и немодульных операций над числами гибридного кода AN -СОК; вывод формул, задающих правила выполнения операций над числами в коде AN -СОК;
- разработка геометрической модели полученного гибридного кода;
- сравнительный анализ основных характеристик кодов СОК и AN -СОК;
- разработка структуры отказоустойчивых нейронных сетей, функционирующих в модифицированной системе остаточных классов;
- компьютерное моделирование исследуемых методов коррекции ошибок.
Корректирующий код системы остаточных классов
Пусть заданы натуральные числа Pi,p2 --,p„, которые называют основаниями или модулями системы. Под системой остаточных классов (СОК) понимают такую непозиционную систему счисления, в которой любое целое неотрицательное число N можно представить в виде набора остатков от деления этого числа на выбранные основания системы (наименьших р неотрицательных вычетов по модулям pi, i = \,n) [2, 5, 77, 83], т.е. N = {ax,a2,...,an), (1.2.1.1) N_ Pi где at=N Pi, / = 1,и, или так: а( s N(mod р(), i = l,n.
Здесь и далее формула [х] означает целую часть числа х, т.е. наибольшее целое число, не превосходящее х. В дальнейшем при описании операций, выполняемых по некоторому модулю, например для изображения того факта, что а,- является наименьшим неотрицательным вычетом N по модулю р(, наряду с формулой a,- sivYmod р.) будем использовать записи: а( =\N\ ИЛИ Pi a:=\N\+ .
Для начала будем полагать, что основания СОК рх, р2, ..., рп являются взаимно простыми числами. В теории чисел доказано, что если рх, р2,..., рп взаимно простые между собой, то описанное дифрами а{, а2, ..., ап представление числа N является единственным (Китайская теорема об остатках (КТО)) [5, 65, 77, 94]. При этом диапазон однозначно представимых чисел в заданной СОК есть интервал [0,D), где D = рхр2-...-рп. Число #, удовлетворяющее условию N є [О, D), будем называть правильным числом.
В системе остаточных классов нет естественного разделения чисел на положительные и отрицательные. Поэтому существует несколько способов введения отрицательных чисел. По-видимому, удобнее всего представлять отрицательные числа в виде дополнения абсолютной величины числа до величины D: \-N\D=\D-N\D. (1.2.1.2) В этом случае, в качестве нуля выступает число Р (Р =—, если :2, иначе Р = , где D = Р\Р2 - Рп)- Положительными числами являются числа, ле жащие в интервале (0,Р), а отрицательными - числа в интервале (P,D).
Операция, выполняемая над группой чисел, называется модульной или непозиционной, если значение любого разряда результата зависит только от значений соответствующих разрядов исходных чисел.
В отличие от позиционных систем счисления, где величина определенного разряда суммы или произведения зависит не только от значений соответствующих, но и от других разрядов слагаемых или сомножителей, в системе остаточных классов сложение, вычитание и умножение (для целых чисел) выполняются отдельно по каждому основанию и переносы между разрядами отсутствуют. Следовательно, эти операции в системе остаточных классов являются модульными [77].
Рассмотрим правила выполнения модульных операций (сложения, вычитания, умножения и деления нацело) в СОК в случае, когда исходные операнды и результат операции являются правильными числами.
Таким образом, деление без остатка двух чисел в СОК осуществляется путем модульного умножения делимого на мультипликативную обратную ве личину делителя. Величина является однозначно определена, если /?,- и fit Pi взаимно простые числа. Пусть для какого-либо модуля р{ остаток fi( ранен нулю. Это означает, что Pi является делителем числа В. Но поскольку число А по условию делится на В без остатка, то основание pt должно быть также делителем А. Следовательно, а І = 0 и соответствующая цифра частного является неопределенной:
Однако раз число В делится на р{, то это число заведомо не может быть меньше, чем Pi, и поэтому (A/B) (D/Pi), где D = рхр2 ..р„.
Поэтому частное {AIB) может быть однозначно представлено в сокращенной СОК, полученной путем исключения из исходной СОК основания Pi (и соответственно неопределенной цифры у І ). Неопределенная цифра частного может быть однозначно вычислена по значениям остальных остатков частого в результате расширения сокращенной СОК.
Если Pi и Pi имеют наибольший общий делитель dx, то остаток а,- также должен делиться на dt. Тогда Величина = 0,1,2,..., -1 однозначно определяется остальными цифрами частного, поскольку (А/В) (А/ d{) (DI dt) [77]. Так как (A/B) (D/6) = 35, то остатки по основаниям р1 и р3 позволяют однозначно определить величину 2: г = 1 Таким образом, — = (5,5,5). В
Кроме рассмотренных операций (сложения, вычитания, умножения и деления без остатка), существуют другие, для выполнения которых необходимо знание величины всего числа, а не только его остатков по некоторым модулям. Такие операции называют немодульными. К ним относятся следующие операции: определение знака числа и наличия переполнения разрядной сетки (выхода из рабочего диапазона), вычисление абсолютной величины числа, сравнение двух чисел, деление с остатком и другие. Их можно осуществить с помощью вычисления позиционных характеристик и расширения системы оснований (подробнее в [5], [77], [95]). А можно для этой цели привлечь иную систему счисления, в которой не составляло бы труда реализовать указанные операции. Таким образом, необходимо иметь подходящую систему счисления, а также простые методы перевода из данной системы остаточных классов в новую систему счисления и обратно. Данная задача довольно просто решается привлечением системы счисления, называемой обобщенной позиционной системой (ОПС), полиадической или же системой счисления со смешанными основаниями (ССО) [5, 77, 94, 95].
Методы локализации и исправления (коррекции) ошибок
В предыдущем пункте данного параграфа описаны способы обнаружения ошибок в коде системы остаточных классов (СОК). Что делать, если, воспользовавшись одним из изложенных методов, получен положительный ответ о наличии ошибки (ошибок) в имеющемся представлении, как оказалось, неправильного числа? Как по максимуму правдоподобия декодировать указанный вектор в кодовое слово - искомое правильное число? Для ответа на эти вопросы необходимо иметь алгоритмы, позволяющие определить по каким модулям представление данного числа содержит ошибочные остатки и исправить их, т.е. нужны методы локализации и исправления ошибок, изложению которых и будет посвящен пункт 1.2.4.
Основным способом коррекции ошибок является метод проекций. Его суть в следующем. Пусть в коде СОК с основаниями ри р2, ..., рп (причем R, h = PxPi — Pk величина рабочего диапазона, a Pn = рхРг — Pn величина полного диапазона) в результате какой-либо операции или при передаче числа оказалось, что получено число А = (аьа2,...,ап). Назовем число А(, полученное из А зачеркиванием цифры а(, проекцией числа А по основанию р{; число Ay, полученное из А зачеркиванием остатков at и aj, проекцией А по основаниям р{ и pj; и так далее.
Как и ранее, число А, где А =[0,Рк), будем называть правильным; если же А є [Рк,Рп), то А - неправильное число.
Если окажется, что проекции At числа А по всем основаниям совпадают, то число А правильное. Если же существует такое As, что As — правильное, при условии, что А{ — неправильные числа, где і = l,2,...,s-l,s + \,...,п, то именно в остатке по модулю ps. Тем самым ошибка будет локализована.
Предположим теперь, что по проекциям А/ не удалось локализовать ошибку. Это означает, что ошибка не является одиночной. Тогда рассматриваются проекции по паре модулей, по тройкам модулей и так далее (при условии, что минимальное расстояние кода достаточно велико). Если ошибки удалось локализовать с помощью проекций числа А по t модулям, причем Ass — правильное число, то именно остатки по модулям pSi, /?S2, ..., pSt являются ошибочными [77].
Вычисление истинных значений искаженных остатков осуществляется по проекции, локализующей ошибки. Поскольку факт правильности проекций можно было устанавливать любым известным методом обнаружения ошибок, то в общем случае мы имеем лишь представление проекции Л, 2..„г,:
Отметим, что быстродействие рассмотренного метода коррекции ошибок, метода проекций, относительно невелико.
Перейдем к рассмотрению другого метода коррекции ошибок, использующего понятие альтернативной совокупности.
Вообще говоря, для коррекции ошибок введения только одного избыточного основания недостаточно. Однако существуют случаи, когда при наличии только одного контрольного основания все же удается однозначно установить ошибочную цифру.
Неправильное число А называют -альтернативно корректируемым (или просто -альтернативным) числом, если существуют к таких правильных чисел Ах, А2, ..., Ак, каждое из которых отличается от А цифрой по одному какому-либо основанию, причем эти основания различны для различных Аг (г = 1,). Совокупность оснований (р(, р{,..., pik), по которым числа Ах, А2, ..., Ak отличаются от А, называют альтернативной совокупностью числа А.
С учетом изложенного метода проекций необходимым и достаточным условием вхождения основания р( в альтернативную совокупность неправильного числа А является то, что проекция числа А по модулю р( есть правильное число. Таким образом, альтернативную совокупность можно сформировать, найдя правильные проекции среди всех проекций по одному основанию. Другим способом построения альтернативной совокупности является метод нулевизации, позволяющий определить таблицу распределения ошибок [5].
В силу конструкции кода СОК при выполнении последовательности модульных операций с участием неправильного числа А ошибка может либо устранится, либо остаться на месте, но никоим образом она не может переместиться в цифру по какому-либо другому основанию. Что же касается альтернативной совокупности результата операций, то она может существенно отличаться от альтернативной совокупности А.
Примем соглашение: в цепи операций, выполняемых по реальной программе, последняя строится таким образом, что все промежуточные результаты, равно как и конечный результат, в случае отсутствия ошибок в ходе реализации программы являются правильными числами.
Справедливо утверждение: ошибочной может быть цифра по какому-либо основанию, входящему в пересечение альтернативной совокупности неправильного числа А с альтернативной совокупностью результата выполнения над числом А рациональной операции по программе.
Под условной альтернативной совокупностью неправильного числа А понимают совокупность оснований, по которым возможна ошибка, с учетом характера альтернативных совокупностей предшествующих неправильных результатов по ходу выполнения программы.
Действия над числами, представленными в коде AN-СОК
Пусть каждый из остатков безызбыточного или корректирующего кода системы остаточных классов (кода СОК) представлен в виде двоичного AN -кода. Полученный код мы назвали гибридным кодом AN-СОК. Ясно, что преобразование исходного кода СОК в гибридный код AN-СОК повлияет и на известные алгоритмы выполнения действий над числами, представленными в коде СОК. Установим правила выполнения действий над числами, представленными в коде AN -СОК.
Пусть рх, р2, ..., рп — основания кода СОК, Ах, А2, ..., Ап - генераторы AN -кодов для модулей р{, р2, ..., рп соответственно. Если числа pi взаимно простые, то набор остатков (наименьших неотрицательных вычетов) {аьа2,...,ап) числа N по выбранным основаниям однозначно задает число N из диапазона [0, ),где D = рір2-...-рп,т.е. N_ Pi. N = (а,,а2,...,ая) гДе «/ = N р( или а( = iV(mod р(), / = 1,и. (2.2.1) Число N, удовлетворяющее условию Лґє[0,),где D = plp2-...-p„t будем называть правильным числом.
В силу конструкции гибридного кода AN-СОК число N, удовлетворяющее условиям (2.2.1) в коде AN-СОК имеет вид N = (a[A\a[A\...,alfiYN COK, где а = А,а,, at в //(mod Рі), і = й. (2.2.2) Из свойств сравнений следует, что формулы (2.2.2) могут быть записаны в виде N = {a[A\a{A\...,anA yN C0K, где аіА А (шой АіРі), і = й. (2.2.2 ) Формулы (2.2.2 ) позволяют без промежуточного перехода к коду СОК представить число N в коде AN -СОК.
Рассмотрим правила выполнения модульных операций (сложения, вычитания, умножения и деления нацело) в коде AN -СОК в случае, когда исходные операнды и результат операции являются правильными числами. Пусть W, . , Г, а Я2 -№.& №T " - С У46» правил выполнения операций сложения и вычитания в СОК, конструкции кода AN -СОК, а также формул (2.2.1) и (2.2.2) можно заключить, что Nx+N2=[r[A) \.. YN-C\rw У + / (mod AtPl), / = ЇЯ (2.2.3) - 4\А\уіА\...,уіАТ СОК rlA)=aP-rtA4modAlPl), / = ЇЯ (2.2.4) Действительно, полагая, что У/3«/±А(т0(1л)» по свойствам сравнения получим А;у; s А{{а, ±fi()(mod А{р{), АІУІ = Aiai ±4А (mod Л-А) y(A aM±dA\modAiPi) что и требовалось показать.
Аналогично рассуждая, тот же результат (формулу) для операции вычитания мы получим, если введем понятие отрицательного числа (-N) в коде СОК по формуле (-N) = D-N(mod D), где D = p{p2-...-pn, т.е. поделив рабочий диапазон на интервалы положительных и отрицательных чисел.
Замечание: отметим, что при описании правил выполнения операций сложения и вычитания, ограничения накладываемые на генераторы AN -кодов А{ были связаны лишь с правилами построения AN -кодов и желаемыми корректирующими способностями, которыми должен обладать код Л//-СОК.
Перейдем теперь к описанию операций умножения и деления нацело (без остатка), которые также относятся к модульным.
Попытка применения формул, аналогичных формулам (2.2.3), (2.2.4) и формул умножение чисел в коде СОК, для осуществление операции умножения двух чисел, представленных в коде ЛЛг-СОК, приведет к следующему: пусть Уі ссіР,(mod Pi), из свойств сравнений имеем АІУІ = AtaiPi (mod 4РІ) Y\A) a\A)Pi (mod Atpi) или у\л) = «дИ (mod Л/Л), (2.2.5) ilflWS«SV»(mod .).
Последнее означает, что перемножение соответствующих AN -остатков операндов не приводит к получению искомого результата (AN -остатков произведения), но промежуточные формулы (2.2.5) позволяют заключить следующее. Для получение произведения двух чисел, представленных в коде AN-СОК, нужно один из операндов перевести в код СОК и умножить по модулю A; Pi остатки полученного числа на соответствующие AN -остатки другого операнда.
Для быстрого перевода чисел из кода AN -СОК в код СОК потребуем, чтобы элементы А[ были обратимы по соответствующим модулям pi, т.е. существовали решения сравнений А(х = \(то& р[), последнее требование будет выполнено, если числа А{ и р{ являются взаимно простыми. Тогда на основании формул (2.2.2) формулы перевода чисел кода AN-СОК в код СОК примут вид:
Модифицированная нейронная сеть конечного кольца
Геометрическая модель избыточного кода системы остаточных классов (СОК) является немаловажным объектом исследования, так как она позволяет уяснить важные соотношения теории помехоустойчивого кодирования, определяющие корректирующие возможности кодов СОК. Кроме того, эта модель дает возможность предугадать некоторые результаты, которые затем можно будет доказать строгим математическим путем. Исследования теории помехоустойчивого кодирования при помощи геометрических методов дополняет алгебраическую теорию кодирования и является обобщением теории кодирования сигналов, представленных в системе остаточных классов.
В [94, 95] предложена геометрическая модель помехоустойчивого кода в системе остаточных классов (кода СОК), базирующаяся на совокупности единичных n-мерных кубов. Ее смысл состоит в следующем. «Каждому представлению числа в СОК, образующему кодовые комбинации, ставятся в соответствие вершины единичных n-мерных кубов, кодовые точки которых: ААМр1лль\р1 ---АМр.Ь 4HIA»KIA»—»KL/» РГ L АР „ » \ р\г, г у 1 г \ру I г рг I fl/ „/ образуют Рп=р1-р2-.,,-р„ вершин. 100 Количество n-мерных кубов определяется выражением tf = fa-IXP2-I)...(A-I).
Пусть поверхность единичных n-мерных кубов обладает тем свойством, что любые две вершины на ней могут быть соединены прямыми, имеющими конечную длину. Тогда для каждой пары вершин А, и Aj поверхности п мерных кубов существует нижняя граница длин прямых, лежащих на этой поверхности и соединяющих выбранные точки. Эта нижняя граница длин прямых есть расстояние между точками At и Лу - dAjA . Определенное таким образом расстояние удовлетворяет трем основным аксиомам метрики: dA,A, -0 dM, =dM d4Aj =dAAk +dAtA,
Всякое множество Pn комплексов СОК, в котором для любой пары его элементов (точек) А, и определено число dM , удовлетворяющее трем основным аксиомам метрики, называется метрическим пространством. Функция dAA называется метрикой этого пространства, а ее значение для какой-либо пары точек (вершин) единичных n-мерных кубов — расстоянием между этими точками.
Введенная метрика такова, что единственная ошибка изменяет одну координату кодовой точки, две ошибки две координаты, к ошибок - к координат. Ошибка по одному основанию может изменить одну координату на величину, равную глубине ошибки Д,. Расстояние между двумя вершинами единичных n-мерных кубов А, и А; можно определить как наименьшее число ребер, которые следует пройти при движении из вершины А, к вершине Aj. Смежные ребра, определяющие глубину ошибки по одному основанию, при определении расстояния считаются за одно ребро. Необходимо отметить, что движение по ребрам n-мерных кубов может происходить не только в пределах данного куба, но и кубов, соседних справа, слева, сверху и снизу.
Наибольшей наглядностью обладает геометрическая модель для кодов СОК, представленных тремя основаниями: рх = 2, р2 = 3, р3=5, где рх и р2 информационные основания, а р3 — контрольное основание. При этом рабочий диапазон P2=Pi-p2=6, а полный диапазон Р3 = /?, -р2 -р3 = 30. В рассматриваемом случае число А однозначно определяется представлением (а,,а2), поэтому разряд а3 можно считать избыточным. Входной алфавит состоит из Р3 букв (ОД, ..., 29). Тогда значность кода СОК, обеспечивающего представление и передачу всех букв этого алфавита, будет равна А(а1,а2,а3), где а, =0,1; а2 =0,1,2; а3 =0,1,2,3,4.
Глубина ошибок для первого основания равна А, = 1, для второго основания может меняться от Д2 = 1 до А2 = 2 и для третьего основания — от А3 = 1 до А3 = 4. Каждая буква представляется тремя десятичными разрядами. Значения разрядов 0 а, р, -1, где / = 1,2,3. Такая геометрическая модель кода СОК показана на рисунке 2.3.1, где у каждой из вершин отмечены координаты. Ось х имеет один единичный отрезок, соответствующий модулю рх, ось у имеет два единичных отрезка, соответствующие модулю р2 и ось z имеет четыре единичных отрезка, соответствующие модулю р3.
Величина расстояния между различными кодовыми комбинациями (векторами) изменяется от 1 до п, где п — количество модулей; в нашем примере /7 = 3. Например, расстояние между точками d A = 1, d = 2, dAiA = 3.»
Обратим внимание читателя на то, что при всех достоинствах данной модели, можно заметить и некоторые ее недостатки. Изложенная модель не позволяет изображать код СОК с числом оснований, превышающим 3. Кроме этого отметим, что при изображении кода СОК, желательно учесть такую конструктивную особенность этого кода как «цикличность» (например, рассмотрим кодовые комбинации А6, А16 и А26 кода, геометрическая модель которого изображена на рисунке 2.3.1; поскольку А6 =(0,0,1), Л16 =(0,1,1), А26 =(0,2,1), при увеличении в А6 разряда по модулю р2 =3 на единицу мы получим А16, а результатом этого же преобразования в А26 будет А6).