ISSN 1991-3087

Свидетельство о регистрации СМИ: ПИ № ФС77-24978 от 05.07.2006 г.

ISSN 1991-3087

Подписной индекс №42457

Периодичность - 1 раз в месяц.

Вид обложки

Адрес редакции: 305008, г.Курск, Бурцевский проезд, д.7.

Тел.: 8-910-740-44-28

E-mail: jurnal@jurnal.org

Рейтинг@Mail.ru Rambler's Top100
Яндекс.Метрика

Математические основы преобразования формальной информации

 

Андрейчиков Николай Иосифович,

кандидат экономических наук.

 

1. Введение.

 

Начнем с определения понятия «формальная информация». Для этого укажем на отличие существующего понятия «информация» от понятия «формальная информация».

Наиболее распространенное определение информации дано В. В. Лидовским в учебном пособии для студентов, изучающих курс «Теории информации».

«Информация — нематериальная сущность, при помощи которой с любой точностью можно описывать реальные (материальные), виртуальные (возможные) и понятийные сущности. Информация — противоположность неопределенности».

Как видим, под информацией понимается наличие знаний (смысла) в информации. При отсутствии знаний (смысла) в информации считается, что такая информация обладает неопределенностью (или является бессмысленной). Но с другой стороны, бессмысленная информация строится точно так же, как осмысленная информация. Вот эта общность осмысленной и неосмысленной информации и является сущностью формальной информации. Для этого формальная информация не учитывает наличие или отсутствие смысла в информации. Такой подход позволил обнаружить новые закономерности построения и преобразования формальной информации. Мы изучаем только дискретную формальную информацию. Построение формальной информации описано автором в статье «Математические основы построения информационных сообщений. Конструктивный подход» (Андрейчиков Н.И.).

В связи с отказом от учета смысла в информации, в формальной информации не используется такое понятие, как:

а) энтропия информации (Шеннон К.), так как этот показатель применим только к осмысленной в информации;

б) избыточность информации (Шеннон К.), так как этот показатель применим только к осмысленной информации.

Размер формальной информации определяется естественным образом, как количество элементов или символов в формальной информации. Причем под символом понимается любой объект материального и/или нематериального мира.

ФОРМАЛЬНАЯ ИНФОРМАЦИЯ – это конечное упорядоченное множество символов, которые являются копиями произвольных объектов материального и/или нематериального мира. Упорядочение состоит в том, что в формальной информации обязательно существует первый символ и последний символ. Каждый символ формальной информации, кроме первого символа, имеет предыдущий символ. Каждый символ формальной информации, кроме последнего символа, имеет последующий символ. Рядом расположенные символы формальной информации могут совпадать, однако один из них будет для другого последующим или предыдущим. Обмен местами двух различных символов формальной информации влечет изменение формальной информации. Обмен местами двух одинаковых символов формальной информации не изменяет формальную информацию.

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

Символы, пригодные для использования в качестве элементов формальной информации должны обладать следующими свойствами:

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

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

в) Количество различных символов должно быть не менее двух.

С математической точки зрения, формальная информация лучше всего описывается одномерным вектором, который в качестве элементов вектора содержит копии символов. Длина формальной информации – это количество символов во множестве или в векторе. Поскольку формальная информация конечна, то символы формальной информации можно пронумеровать натуральными числами от 1 до m – длины формальной информации. Причем первый символ формальной информации имеет номер 1, последний символ формальной информации имеет номер m. Все остальные символы формальной информации имеют номера от 2 до m-1. Каждый последующий символ формальной информации имеет больший номер, каждый предыдущий символ формальной информации имеет меньший номер. Номера символов в формальной информации назовем адресами символов в формальной информации. Таким образом, адрес символа в формальной информации изменяется от 1 до m. Начало отсчета номеров символов можно производить слева направо, как в европейских языках, или справа налево, как в арабских языках.

АЛФАВИТ формальной информации – это формальная информация, в которой все символы различны и встречаются ровно один раз. Длина алфавита – это количество символов в алфавите. Обозначим длину алфавита через N. Адреса символов в алфавите изменяются от 1 до N. Поскольку все символы в алфавите различны, то любая перестановка двух символов в алфавите влечет изменение алфавита в целом. С математической точки зрения алфавит – это одномерный вектор.

ИНВАРИАНТ формальной информации – это одномерный числовой вектор, в котором расположены адреса символов формальной информации в алфавите. Первое число в инварианте – это адрес первого символа формальной информации в алфавите. Второе число в инварианте – это адрес второго символа формальной информации в алфавите. Последнее число в инварианте – это адрес последнего символа формальной информации в алфавите. Таким образом, длина инварианта формальной информации равна длине формальной информации m, а каждое число в инварианте – это натуральное число от 1 до N. Числа инварианта формальной информации находятся во взаимно-однозначном соответствии с символами формальной информации. Таким образом, математической сущностью формальной информации является инвариант формальной информации. В дальнейшем в рамках этой стать вместо термина «инвариант формальной информации» будем использовать термин «инвариант». Два инварианта являются равными, если имеют одинаковый размер и все числа инвариантов, находящиеся по одному и тому же адресу в инвариантах, равны.

Если две формальные информации имеют различные инварианты, то эти две формальные информации различны. Если две формальные информации имеют равные инварианты, то эти две формальные информации равны в случае построения этих информаций с использованием одного и того же алфавита, и эти две информации не равны в случае построения этих информаций с использованием двух различных алфавитов.

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

Основные результаты изучения преобразований формальной информации:

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

б) Произвольная формальная информация всегда имеет обратное преобразование.

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

Если рассматривать настоящую работу в целом, то в ней решены две укрупненные задачи:

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

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

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

Результаты формальной информации могут найти применение в генетике, биологии и других прикладных науках, где изучается формальная информация без наличия знаний в этой информации.

 

2. Алгоритм преобразования формальной информации.

 

2.1. Общие обозначения.

Пример двух алфавитов представлен ниже на рисунках 1-9. Эти алфавиты мы в дальнейшем будем постоянно использовать для демонстрации примеров.

 

Рис. 1. Два алфавита, символы с номерами от 1 до 20.

 

Рис. 2. Продолжение двух алфавитов, символы с номерами от 21 до 40.

 

Рис. 3. Продолжение двух алфавитов, символы с номерами от 41 до 60.

 

Рис. 4. Продолжение двух алфавитов, символы с номерами от 61 до 80.

 

Рис. 5. Продолжение двух алфавитов, символы с номерами от 81 до 100.

 

Рис. 6. Продолжение двух алфавитов, символы с номерами от 101 до 120.

 

Рис. 7. Продолжение двух алфавитов, символы с номерами от 121 до 140.

 

Рис. 8. Продолжение двух алфавитов, символы с номерами от 141 до 160.

 

Рис. 9. Продолжение двух алфавитов, символ с номером 161.

 

Таблица на рисунках имеет 3 строки. В первой строке указаны адреса (или номера) символов в алфавитах. Во второй строке приводятся символы алфавита в порядке возрастания кода от наименьшего кода к наибольшему коду. В третьей строке приводится тот же самый алфавит, что и во второй строке, но со случайным расположением символов. Каждый алфавит содержит:

а) прописные и строчные буквы английского языка;

б) прописные и строчные буквы русского языка;

в) цифры от 0 до 9;

г) пробел;

д) знаки препинания;

е) знаки окончания предложения;

ж) прочие знаки.

Для целей изложения совершенно неважно различие между буквами, знаками, цифрами и прочими знаками. Поэтому в качестве общего термина будем употреблять термин «символ». При необходимости будем также использовать термины «буква» и «знак». Первый алфавит содержит упорядоченные по величине кода символы, поэтому буквы одинакового начертания на русском и английском языках находятся в разных местах. Буквы английского языка находятся вначале алфавита. Буквы русского языка находятся в конце алфавита.

Второй алфавит содержит случайную смесь букв и знаков из первого алфавита. Поэтому возникает проблема распознавания букв одинакового начертания. Русские буквы, одинакового начертания с буквами английского алфавита, во втором алфавите мы выделили подчеркнутым шрифтом, то есть русская буква «С» во втором алфавите изображена как С. Обращаем внимание на то, что это проблема исключительно для изложения настоящей работы, а не проблема науки.

Наши алфавиты насчитывают 161 символ, то есть N = 161. С помощью этих алфавитов можно создавать тексты на английском языке, тексты на русском языке, тексты, содержащие английские и русские слова и предложения. В принципе можно алфавит дополнить, например, строчными и прописными буквами испанского языка. В этом случае, с помощью такого алфавита можно создавать тексты на трех языках. Можно добавить прописные и строчные буквы всех стран мира. В этом случае, с помощью такого алфавита можно создавать тексты на всех языках мира. Обращаем внимание на то, что содержание этого абзаца не является какой-то научной новизной. Этот подход реализован во всех компьютерах.

Пусть имеются следующие данные:

A(1 до N) = {a1, a2, …, aN}

Где:

A() – алфавит, единица измерения – количество копий символов;

a1, a2, …, aN – копии символов;

N – длина алфавита, количество копий символов в алфавите.

T1(1 до m) = {ai, …}

Где:

T1() – некоторая формальная информация, состоящая из копий символов алфавита A(), единица измерения – количество копий символов в формальной информации;

ai – копия символа из алфавита с некоторого адреса;

m – длина формальной информации, единица измерения – количество копий символов в формальной информации.

T2(1 до m) = {aj, …}

T2() – некоторая формальная информация, состоящая из копий символов алфавита A(), единица измерения – количество копий символов в формальной информации. T2() может отличаться от T1() или может совпадать с T1();

aj – копия символа из алфавита с некоторого адреса;

m – длина формальной информации, единица измерения – количество символов в формальной информации. Длина T1() может совпадать с длиной T2() или может не совпадать. В случае различия в длине мы будем указывать на это специально.

I1(1 до m) = {k1, k2, …, km}

Где:

I1() – инвариант формальной информации T1(). Первое число инварианта – это адрес первого символа формальной информации T1() в алфавите A(). Второе число инварианта – это адрес второго символа формальной информации T1() в алфавите A(). Последнее число инварианта – это адрес последнего символа формальной информации T1() в алфавите A();

k1, k2, …, km – конкретные величины адресов символов формальной информации T1() в алфавите A();

m – длина инварианта формальной информации, равная длине информации T1().

I2(1 до m) = {p1, p2, …, pm}

Где:

I2() – инвариант формальной информации T2(). Первое число инварианта – это адрес первого символа формальной информации T2() в алфавите A(). Второе число инварианта – это адрес второго символа формальной информации T2() в алфавите A(). Последнее число инварианта – это адрес последнего символа формальной информации T2() в алфавите A();

p1, p2, …, pm – конкретные величины адресов символов формальной информации T2() в алфавите A();

m – длина инварианта формальной информации, равная длине информации T2().

D(1 до m) = {d1, d2, …, dm}

Где:

D() – вектор приращений или вектор преобразования, содержит числа, с помощью которых из чисел инварианта I1() вычисляются числа инварианта I2() или, наоборот, из чисел инварианта I2() вычисляются числа инварианта I1();

d1, d2, …, dm – конкретные значения чисел вектора D();

m – длина вектора D(), равная длине большей формальной информации из T1() и T2(), если формальные информации имеют различную длину.

Формулировки основных задач, подлежащих разрешению:

а) найти числа D(), если известны числа I1(1 до m), I2(1 до m) и длина алфавита N;

б) найти числа I2(1 до m), если известны числа I1(1 до m), D() и длина алфавита N;

в) найти числа I1(1 до m), если известны числа I2(1 до m), D() и длина алфавита N;

г) найти числа D(), если известны числа I1(1 до m), I2(1 до s) и длина алфавита N;

д) найти числа I2(1 до s), если известны числа I1(1 до m), D() и длина алфавита N;

в) найти числа I1(1 до m), если известны числа I2(1 до s), D() и длина алфавита N.

 

2.2. Обоснование алгоритма (метода, способа) вычисления чисел одного инварианта из чисел другого инварианта.

Пусть имеется два инварианта:

I1(1 до m) = {k1, k2, …, km}

I2(1 до m) = {p1, p2, …, pm}

Найдем способ вычисления чисел p1, p2, …, pm из чисел k1, k2, …, km. Рассмотрим, например, два числа p1 и k1. Поскольку это целые числа, то для вычисления числа k1 необходимо к числу p1 прибавить или отнять приращение d1, которое также является целым числом от 1 до N. Для каждой пары чисел из инвариантов существует свое собственное приращение di. Все вычисленные приращения поместим в отдельный вектор D(1 до m) = {d1, d2, …, dm}. Этот вектор играет исключительную роль в нашем исследовании. Поскольку приращение можно прибавлять или вычитать, то всегда существует два варианта преобразования одной и той же формальной информации в другую формальную информацию. Условно, в качестве первого варианта преобразования мы приняли вычисление чисел инварианта путем прибавления приращений. Соответственно, условно, в качестве второго варианта преобразования мы приняли вычисление чисел инварианта путем вычитания приращений.

Рассмотрим более подробно оба варианта вычисления приращений. При этом мы, полагаем, что оба инварианта нам известны. Неизвестным является только приращение. Наша цель состоит в вычислении чисел вектора приращений.

Первый вариант вычисления приращений:

k1 + d1 = p1 d1 = p1 – k1

k2 + d2 = p2 d2 = p2 – k2

…………..

km + dm = pm dm = pm – km

Второй вариант вычисления приращений:

k1 – d1 = p1 d1 = k1 – p1

k2 – d2 = p2 d2 = k2 – p2

…………..

km – dm = pm dm = km – pm

Как видим, абсолютная величина приращения в обоих вариантах одна и та же. Различие между ними только в знаке. В одном варианте, неизвестно каком, приращение положительное, а другом варианте, неизвестно каком, приращение отрицательное. Формулы для вычисления приращений в таком виде малопригодны для использования. Существует очень древний метод использования отрицательных чисел в виде дополнений положительного числа. Этот метод применялся во времена, когда люди не знали отрицательных чисел. Если приращение больше нуля и не превосходит N, то это приращение оставляем без изменений. Если приращение меньше единицы, то приращение заменяем дополнением приращения до числа N, то есть к приращению прибавляем N.

Таким образом, формулы вычисления приращения будут следующими:

Первый вариант вычисления приращений:

k1 + d1 = p1 d1 = p1 – k1 Если d1 < 1, то d1 = p1 – k1 + N

k2 + d2 = p2 d2 = p2 – k2 Если d2 < 1, то d2 = p2 – k2 + N

…………..

km + dm = pm dm = pm – km Если dm < 1, то dm = pm – km + N

Второй вариант вычисления приращений:

k1 – d1 = p1 d1 = k1 – p1 Если d1 < 1, то d1 = k1 – p1 + N

k2 – d2 = p2 d2 = k2 – p2 Если d2 < 1, то d2 = k2 – p2 + N

…………..

km – dm = pm dm = km – pm Если dm < 1, то dm = km – pm + N

Теперь приращения больше нуля и не превосходят N. Остается найти метод использования дополнения приращений до числа N.

Далее мы будем полагать, что нам известен первый инвариант и вектор преобразования с приращениями и/или дополнениями приращений. Поскольку нам неизвестно где приращение, а где дополнение приращения, то мы дважды вычислим числа второго инварианта: 1) при условии, что во всех случаях используется приращение; 2) при условии, что во всех случаях используется дополнение приращений.

Вычислим числа второго инварианта при условии, что во всех случаях используется приращение.

Первый вариант вычисления приращений:

p1 = k1 + d1 p1 = k1 + p1 – k1 p1 = p1

p2 = k2 + d2 p2 = k2 + p2 – k2 p2 = p2

…………..

pm = km + dm pm = km + pm – km pm = pm

Второй вариант вычисления приращений:

p1 = k1 – d1 p1 = k1 – k1 + p1 p1 = p1

p2 = k2 – d2 p2 = k2 – k2 + p2 p2 = p2

…………..

pm = km – dm pm = km – km + pm pm = pm

Как видим, уравнения превратились в тождества, то есть выполняются при всех значениях.

Вычислим числа второго инварианта при условии, что во всех случаях используется дополнение приращений.

Первый вариант вычисления приращений:

p1 = k1 + d1 p1 = k1 + p1 – k1 + N p1 = p1+ N, что невозможно

p2 = k2 + d2 p2 = k2 + p2 – k2 + N p2 = p2+ N, что невозможно

…………..

pm = km + dm pm = km + pm – km + N pm = pm+ N, что невозможно

Второй вариант вычисления приращений:

p1 = k1 – d1 p1 = k1 + p1 – k1 – N p1 = p1 – N, что невозможно

p2 = k2 – d2 p2 = k2 + p2 – k2 – N p2 = p2 – N, что невозможно

…………..

pm = km – dm pm = km + pm – km – N pm = pm – N, что невозможно

Рассмотрим выражение p1 + N. Поскольку 1 <= p1 <= N, то p1 + N > N. Поэтому результат вычисления следует проверять на условие «больше N». Если условие выполняется, то использовано не приращение, а дополнение приращения. Поэтому для получения правильного результата необходимо вычесть N. Аналогично, поступаем для остальных случаев вычисления чисел второго инварианта.

Рассмотрим выражение p1 – N. Поскольку 1 <= p1 <= N, то p1 – N < 1. Поэтому результат вычисления следует проверять на условие «меньше 1». Если условие выполняется, то использовано не приращение, а дополнение приращения. Поэтому для получения правильного результата необходимо прибавить N. Аналогично, поступаем для остальных случаев вычисления чисел второго инварианта.

Таким образом, использование дополнения приращения вместо приращения выявляется путем проверки результата вычисления на условие «больше N» и условие «меньше 1». Общий алгоритм вычисления чисел второго инварианта из чисел первого инварианта следующий:

Первый вариант вычисления приращений:

p1 = k1 + d1 Если p1 > N, то p1 = k1 + d1 – N

p2 = k2 + d2 Если p2 > N, то p2 = k2 + d2 – N

…………..

pm = km + dm Если pm > N, то pm = km + dm – N

Второй вариант вычисления приращений:

p1 = k1 – d1 Если p1 < 1, то p1 = k1 – d1 + N

p2 = k2 – d2 Если p2 < 1, то p2 = k2 – d2 + N

…………..

pm = km – dm Если pm < 1, то pm = km – dm + N

Иными словами, необходимо вычисленные числа второго инварианта проверять на условие «меньше 1» и на условие «больше N», не вдаваясь в вопрос об использовании дополнений приращений или приращений. Таким образом, для наших целей различие между приращением и дополнением приращения оказалось несущественно. Поэтому в дальнейшем мы будем употреблять термин приращение и в случаях, когда речь идет о дополнениях приращений. Если выполняется условие «больше N», то необходимо вычесть N. Если выполняется условие «меньше 1», то необходимо прибавить N. Заметим, что один и тот же результат вычислений не может одновременно удовлетворять обоим условиям.

Обращаем внимание на следующее: изложенное не является использованием теории вычетов (остатков от деления), так как остатки изменяются от 0 до N – 1, а у нас адреса изменяются от 1 до N. Если адрес равен нулю, то формулы и алгоритм не работают.

Выше нами установлено, что приращение, вычисленное по первому варианту, равно по абсолютной величине приращению, вычисленному по второму варианту. Если приращение положительно, то оно остается без изменения. Если приращение меньше 1, то мы заменяем его дополнением до N. Поэтому каждая пара приращений из первого и второго вариантов вычисления приращений обязательно содержит приращение и дополнение приращения до N. Следовательно, сумма, соответствующих пар приращений по первому и по второму варианту равна N. Это очень важное свойство, имеющее большое практическое значение.

Рассмотрим вариант, при котором приращение или дополнение приращения равно N. Поскольку в общем случае приращение вычисляется по формуле d1 = p1 – k1 или d1 = k1 – p1, то d1 = N только в одном случае, при p1 = k1. Только в этом случае, d1 = 0 и поэтому необходимо прибавлять N. Равенство соответствующих чисел инвариантов означает, что равны адреса символов в алфавите. Если используется один алфавит, то равенство адресов символов означает совпадение символов в двух формальных информациях. Поскольку соответствующие символы в одной формальной информации полностью совпадают с символами во второй формальной информации, то формальные информации идентичны. Следовательно, равенство отдельных чисел вектора приращения числу N означает преобразование этих символов самих в себя. Равенство всех чисел вектора приращения числу N означает преобразование всей формальной информации в себя. Таким образом, преобразование различных видов формальной информации в себя осуществляется одним и тем же вектором приращения различной длины. Этот вывод действителен только при использовании одного алфавита. Как мы покажем далее, при использовании двух алфавитов d1 = N означает совпадение адресов, но, не обязательно, хотя и возможно, совпадение символов.

Найдем способ вычисления чисел k1, k2, …, km из чисел p1, p2, …, pm. Для этого найдем способ вычисления вектора приращений. Ранее мы нашли способ вычисления вектора приращений при вычислении чисел p1, p2, …, pm из чисел k1, k2, …, km. Воспользуемся симметрией и в способе вычисления вектора приращений и заменим символ «p» символом «k», а символ «k» заменим символом «p». Получим следующий результат:

Способ вычисления вектора приращений при вычислении чисел k1, k2, …, km из чисел p1, p2, …, pm.

Первый вариант вычисления приращений:

p1 + d1 = k1 d1 = k1 – p1 Если d1 < 1, то d1 = k1 – p1 + N

p2 + d2 = k2 d2 = k2 – p2 Если d2 < 1, то d2 = k2 – p2 + N

…………..

pm + dm = km dm = km – pm Если dm < 1, то pm = km – pm + N

Второй вариант вычисления приращений:

p1 – d1 = k1 d1 = p1 – k1 Если d1 < 1, то d1 = p1 – k1 + N

p2 – d2 = k2 d2 = p2 – k2 Если d2 < 1, то d2 = p2 – k2 + N

…………..

pm – dm = km dm = pm – km Если dm < 1, то dm = pm – km + N

Как видим, первый вариант вычисления приращений в случае вычисления чисел p1, p2, …, pm из чисел k1, k2, …, km совпадает со вторым вариантом вычисления приращений в случае вычисления чисел k1, k2, …, km из чисел p1, p2, …, pm. Второй вариант вычисления приращений в случае вычисления чисел p1, p2, …, pm из чисел k1, k2, …, km совпадает с первым вариантом вычисления приращений в случае вычисления чисел k1, k2, …, km из чисел p1, p2, …, pm.

Таким образом, первый и второй варианты вычисления приращений – это есть вычисление приращений для прямого преобразования формальной информации и обратного преобразования формальной информации.

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

Первый вариант вычисления приращений:

k1 = p1 + d1 Если k1 > N, то k1 = p1 + d1 – N

k2 = p2 + d2 Если k2 > N, то k2 = p2 + d2 – N

……..

km = pm + dm Если km > N, то km = pm + dm – N

Второй вариант вычисления приращений:

k1 = p1 – d1 Если k1 < 1, то k1 = p1 – d1 + N

k2 = p2 – d2 Если k2 < 1, то k2 = p2 – d2 + N

…………..

km = pm – dm Если km < 1, то km = pm – dm + N

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

Если преобразовывается одна формальная информацию в другую не равную формальную информацию при условии отсутствия совпадающих символов, то количество вариантов преобразования вычисляется как (N1)m, где N – длина алфавита; m – длина информации. Один символ в алфавите не учитываем – это преобразование символа в себя.

 

2.3. Особенности преобразования формальной информации с использованием двух алфавитов.

Самой важной характеристикой алфавита является длина алфавита N. От величины этого показателя зависит содержание вектора приращений и содержание инварианта формальной информации. Поэтому для преобразования формальной информации с использованием двух алфавитов необходимо, чтобы второй алфавит имел ту же самую длину N. Содержание второго алфавита может быть произвольным. Мы считаем, что второй алфавит по содержанию может быть следующим:

а) Символы второго алфавита совпадают с символами первого алфавита по содержанию, но порядок следования символов во втором алфавите полностью или частично отличается от порядка следования символов в первом алфавите.

б) Все символы второго алфавита по содержанию отличны от символов первого алфавита.

в) Символы второго алфавита по содержанию частично совпадают с символами первого алфавита.

Рассмотрим более подробно каждый из вариантов содержания символов во втором алфавите.

2.3.1. Второй алфавит отличается от первого алфавита только порядком следования одних и тех же символов.

 Поскольку у нас два алфавита, то естественно предположить, что одна формальная информация строится по первому алфавиту, а другая формальная информация строится по второму алфавиту. Это предположение соответствует нашим представлениям о создании любой формальной информации при наличии алфавита и инварианта.

Таким образом, у нас имеются два инварианта:

I1(1 до m) = {k1, k2, …, km}

I2(1 до m) = {p1, p2, …, pm}

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

При использовании двух алфавитов, преобразование формальной информации в себя изменяется. Дело в том, что одна и та же формальная информация имеет два различных инварианта: по первому алфавиту и по второму алфавиту. Поэтому количество различных векторов приращения для преобразования формальной информации изменяется и вычисляется по формуле: (N – 1)m, где m – длина информации; N – длина алфавита.

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

Если предположить, что N – это количество генов в геноме живого организма (не менее 2000), то при m = 100000 (минимальная длина генома живых организмов) количество преобразований одного организма в себя при половом размножении равно 2000100000 = 2*10300000. Это чудовищно много. Вот почему из человека почти всегда получается человек. Из мухи почти всегда получается муха. Для вычислений мы использовали данные Тарантул В.З.

2.3.2. Все символы второго алфавита по содержанию отличаются от символов первого алфавита.

Этот вариант преобразования практически ничем не отличается от преобразования с использованием одного алфавита. Дело в том, что при равной длине первого и второго алфавитов придется считать, что первый символ первого алфавита соответствует первому символу второго алфавита, второй символ первого алфавита соответствует второму символу второго алфавита и т.д. Инвариант формальной информации по первому алфавиту в этом случае равен инварианту формальной информации по второму алфавиту. А это означает фактическое использование одного алфавита. Второй алфавит является, в этом случае, другим изображением первого алфавита. Поэтому рассматривать подробно этот вариант мы будем.

2.3.3. Символы второго алфавита по содержанию частично совпадают с символами первого алфавита.

В этом случае, количество символов в первом алфавите, не совпадающих с символами во втором алфавите, равно количеству символов во втором алфавите, не совпадающих с символами в первом алфавите. Чтобы произвести преобразование формальной информации необходимо установить соответствие между несовпадающими символами в первом и во втором алфавитах. Если адреса символов в алфавитах будут одинаковы, то это является преобразованием с использованием одного алфавита. Если, хотя бы некоторые символы алфавитов имеют различные адреса, то это является преобразованием с использованием двух алфавитов. Эти варианты нами рассмотрены выше.

 

2.4. Преобразование одной формальной информации в другую формальную информацию в случае различных размеров формальных информаций.

Пусть имеется два инварианта:

I1(1 до m) = {k1, k2, …, km}

Где: k1 – число от 1 до N;

 k2 – число от 1 до N, может быть равно k1;

 km – число от 1 до N, может быть равно любому предыдущему числу;

 m – длина инварианта, равная длине первой формальной информации.

I2(1 до s) = {p1, p2, …, ps}

Где: p1 – число от 1 до N;

 p2 – число от 1 до N, может быть равно p1;

 ps – число от 1 до N, может быть равно любому предыдущему числу;

 s – длина инварианта, равная длине второй формальной информации.

Найдем способ вычисления чисел p1, p2, …, pm из чисел k1, k2, …, ks при условии m ≠ s.

Положим для определенности m < s.

2.4.1. Способ вычисления вектора приращений для вычисления чисел p1, p2, …, pm из чисел k1, k2, …, ks:

Первый вариант вычисления приращений:

k1 + d1 = p1d1 = p1 – k1 Если d1 < 1, то d1 = p1 – k1 + N

k2 + d2 = p2d2 = p2 – k2 Если d2 < 1, то d2 = p2 – k2 + N

…………..

km + dm = pmdm = pm – km Если dm < 1, то dm = pm – km + N

Далее существует два варианта продолжения вычислений:

а) естественный порядок вычислений, заключающийся в повторении выбора значений инварианта I1() с самого начала. Так может повторяться не единожды. Мы условно считаем, что одного повторения достаточно. Максимальное количество повторных считываний может достигать s-1 при m=1.

k1 + dm+1 = pm+1dm+1 = pm+1 – k1 Если dm+1 < 1, то dm+1 = pm+1 – k1 + N

k2 + dm+2 = pm+2dm+2 = pm+2 – k2 Если dm+2 < 1, то dm+2 = pm+2 – k2 + N

…………

ks-m + ds = psds = ps – ks-m Если ds < 1, то ds = ps – ks-m + N

б) рациональный порядок вычислений, заключающийся в использовании адреса одного и того же символа, например, адрес пробела. Обозначим адрес этого символа k0.

k0 + dm+1 = pm+1dm+1 = pm+1 – k0 Если dm+1 < 1, то dm+1 = pm+1 – k0 + N

k0 + dm+2 = pm+2dm+2 = pm+2 – k0 Если dm+2 < 1, то dm+2 = pm+2 – k0 + N

…………

k0 + ds = psds = ps – k0 Если ds < 1, то ds = ps – k0 + N

Второй вариант вычисления приращений:

k1 – d1 = p1d1 = k1 – p1 Если d1 < 1, то d1 = k1 – p1 + N

k2 – d2 = p2d2 = k2 – p2 Если d2 < 1, то d2 = k2 – p2 + N

…………..

km – dm = pmdm = km – pm Если dm < 1, то dm = km – pm + N

Далее существует два варианта продолжения вычислений:

а) естественный порядок вычислений, заключающийся в повторении выбора значений инварианта I1() с самого начала. Так может повторяться не единожды. Мы условно считаем, что одного повторения достаточно. Максимальное количество повторных считываний может достигать s-1 при m=1.

k1 – dm+1 = pm+1dm+1 = k1 – pm+1 Если dm+1 < 1, то dm+1 = k1 – pm+1 + N

k2 – dm+2 = pm+2dm+2 = k2 – pm+2 Если dm+2 < 1, то dm+2 = k2 – pm+2 + N

…………

ks-m – ds = psds = ks-m – ps Если ds < 1, то ds = ks-m – ps + N

б) рациональный порядок вычислений, заключающийся в использовании адреса одного и того же символа, например, адрес пробела. Обозначим адрес этого символа k0.

k0 – dm+1 = pm+1dm+1 = k0 – pm+1 Если dm+1 < 1, то dm+1 = k0 – pm+1 + N

k0 – dm+2 = pm+2dm+2 = k0 – pm+2 Если dm+2 < 1, то dm+2 = k0 – pm+2 + N

…………

k0 – ds = psds = k0 – ps Если ds < 1, то ds = k0 – ps + N

2.4.2. Способ вычисления вектора приращений для вычисления чисел k1, k2, …, km из чисел p1, p2, …, ps:

Первый вариант вычисления приращений:

p1 + d1 = k1d1 = k1 – p1 Если d1 < 1, то d1 = k1 – p1 + N

p2 + d2 = k2d2 = k2 – p2 Если d2 < 1, то d2 = k2 – p2 + N

…………..

pm + dm = kmdm = km – pm Если dm < 1, то pm = km – pm + N

Далее существует два варианта продолжения вычислений:

а) естественный порядок вычислений, заключающийся в повторении выбора значений инварианта I1() с самого начала. Так может повторяться не единожды. Мы условно считаем, что одного повторения достаточно. Максимальное количество повторных считываний может достигать s-1 при m=1.

pm+1 + dm+1 = k1dm+1 = k1 – pm+1 Если dm+1 < 1, то dm+1 = k1 – pm+1 + N

pm+2 + dm+2 = k2dm+2 = k2 – pm+2 Если dm+2 < 1, то dm+2 = k2 – pm+2 + N

…………

ps + ds = ks-mds = ks-m – ps Если ds < 1, то ds = ks-m – ps + N

б) рациональный порядок вычислений, заключающийся в использовании адреса одного и того же символа, например, адрес пробела. Обозначим адрес этого символа k0.

pm+1 + dm+1 = k0dm+1 = k0 – pm+1 Если dm+1 < 1, то dm+1 = k0 – pm+1 + N

pm+2 + dm+2 = k0dm+2 = k0 – pm+2 Если dm+2 < 1, то dm+2 = k0 – pm+2 + N

…………

ps + ds = k0ds = k0 – ps Если ds < 1, то ds = k0 – ps + N

Второй вариант вычисления приращений:

p1 – d1 = k1d1 = p1 – k1 Если d1 < 1, то d1 = p1 – k1 + N

p2 – d2 = k2d2 = p2 – k2 Если d2 < 1, то d2 = p2 – k2 + N

…………..

pm – dm = kmdm = pm – km Если dm < 1, то dm = pm – km + N

Далее существует два варианта продолжения вычислений:

а) естественный порядок вычислений, заключающийся в повторении выбора значений инварианта I1() с самого начала. Так может повторяться не единожды. Мы условно считаем, что одного повторения достаточно. Максимальное количество повторных считываний может достигать s-1 при m=1.

pm+1 – dm+1 = k1dm+1 = pm+1 – k1 Если dm+1 < 1, то dm+1 = pm+1 – k1 + N

pm+2 – dm+2 = k2dm+2 = pm+2 – k2 Если dm+2 < 1, то dm+2 = pm+2 – k2 + N

…………

ps – ds = ks-mds = ps – ks-m Если ds < 1, то ds = ps – ks-m + N

б) рациональный порядок вычислений, заключающийся в использовании адреса одного и того же символа, например, адрес пробела. Обозначим адрес этого символа k0.

pm+1 – dm+1 = k0dm+1 = pm+1 – k0 Если dm+1 < 1, то dm+1 = pm+1 – k0 + N

pm+2 – dm+2 = k0dm+2 = pm+2 – k0 Если dm+2 < 1, то dm+2 = pm+2 – k0 + N

…………

ps – ds = k0ds = ps – k0 Если ds < 1, то ds = ps – k0 + N

Случай m > s рассматривать не будем, так как симметричен случаю m < s.

 

2.5. Преобразование одной формальной информации в другую неизвестную формальную информацию по заданному вектору приращения.

В этом случае нам известен один или два алфавита и один инвариант, например, I1(). Мы можем сами произвольно или по какому-либо закону генерировать вектор приращения D(). Задача состоит в вычислении чисел инварианта I2() при условии, что нам известен инвариант I1(), вектор приращения D() и один или два алфавита длиной N.

Пусть имеются инварианты:

I1(1 до m) = {k1, k2, …, km}

I2(1 до m) = {p1, p2, …, pm}

Создадим вектор приращения D(). Поскольку нам известно, что числа вектора приращения изменяются от 1 до N, то каких-либо проблем с созданием вектора приращения нет. Длина вектора приращения может изменяться от 1 до m.

Рассмотрим три размера вектора отображения вектора D():

2.5.1. D(1 до m) = {d1, d2, …, dm}

Этот вариант мы исследовали выше очень подробно. В этом случае числа любого инварианта I1(1 до m) преобразовываются в числа любого инварианта I2(1 до m) двумя способами.

Первый вариант вычисления приращений:

p1 = k1 + d1 Если p1 > N, то p1 = k1 + d1 – N

p2 = k2 + d2 Если p2 > N, то p2 = k2 + d2 – N

…………..

pm = km + dm Если pm > N, то pm = km + dm – N

Второй вариант вычисления приращений:

p1 = k1 – d1 Если p1 < 1, то p1 = k1 – d1 + N

p2 = k2 – d2 Если p2 < 1, то p2 = k2 – d2 + N

…………..

pm = km – dm Если pm < 1, то pm = km – dm + N

Обратная задача: вычисление чисел инварианта I1() из чисел инварианта I2() при известном векторе приращений D() также решена нами выше. Результат решения обратной задачи следующий:

Первый вариант вычисления приращений:

k1 = p1 + d1 Если k1 > N, то k1 = p1 + d1 – N

k2 = p2 + d2 Если k2 > N, то k2 = p2 + d2 – N

…………..

km = pm + dm Если km > N, то km = pm + dm – N

Второй вариант вычисления приращений:

k1 = p1 – d1 Если k1 < 1, то k1 = p1 – d1 + N

k2 = p2 – d2 Если k2 < 1, то k2 = p2 – d2 + N

…………..

km = pm – dm Если km < 1, то km = pm – dm + N

 

2.5.2. D(1 до m) = {d1}, то есть вектор приращений содержит одно число.

Алгоритм вычисления чисел вектора I2() из чисел вектора I1() почти ничем не отличается от предыдущего. Поскольку у нас одно значение вектора приращений, то оно одно и используется для вычисления всех чисел.

Первый вариант вычисления приращений:

p1 = k1 + d1 Если p1 > N, то p1 = k1 + d1 – N

p2 = k2 + d1 Если p2 > N, то p2 = k2 + d1 – N

…………..

pm = km + d1 Если pm > N, то pm = km + d1 – N

Второй вариант вычисления приращений:

p1 = k1 – d1 Если p1 < 1, то p1 = k1 – d1 + N

p2 = k2 – d1 Если p2 < 1, то p2 = k2 – d1 + N

…………..

pm = km – d1 Если pm < 1, то pm = km – d1 + N

Обращаем внимание на следующее обстоятельство. Одинаковые числа в инварианте I1() переходят в одинаковые числа в инварианте I2(). Если d1 = N, то все числа первого инварианта равны соответствующим числам второго инварианта. Если d1 < N, то все равные между собой числа первого инварианта переходят в другие равные между собой числа второго инварианта. А все неравные между собой числа первого инварианта переходят в другие неравные между собой числа второго инварианта. Иными словами, при d1 < N реализуется, так называемый механизм подстановки. Первая формальная информация преобразовывается во вторую формальную информацию путем однозначной замены одних символов другими символами.

Обратная задача: вычисление чисел инварианта I1() из чисел инварианта I2() при известном векторе отображения D() имеет следующее решение:

Первый вариант вычисления приращений:

k1 = p1 + d1 Если k1 > N, то k1 = p1 + d1 – N

k2 = p2 + d1 Если k2 > N, то k2 = p2 + d1 – N

…………..

km = pm + d1 Если km > N, то km = pm + d1 – N

Второй вариант вычисления приращений:

k1 = p1 – d1 Если k1 < 1, то k1 = p1 – d1 + N

k2 = p2 – d1 Если k2 < 1, то k2 = p2 – d1 + N

…………..

km = pm – d1 Если km < 1, то km = pm – d1 + N

2.5.3. D(1 до m) = {d1, d2, …, dN}, то есть вектор приращений содержит количество чисел, равное длине алфавиту N, причем все числа встречаются ровно один раз. Порядок следования чисел – произвольный.

Алгоритм вычисления чисел вектора I2() из чисел вектора I1() почти ничем не отличается от предыдущего. Положим для определенности m > N и m < 2N – для вычисления номера последнего числа.

Первый вариант вычисления приращений:

p1 = k1 + d1 Если p1 > N, то p1 = k1 + d1 – N

p2 = k2 + d2 Если p2 > N, то p2 = k2 + d2 – N

…………..

pN = kN + dN Если pN > N, то pN = kN + dN – N

pN+1 = kN+1 + d1 Если pN+1 > N, то pN+1 = kN+1 + d1 – N

pN+2 = kN+2 + d2 Если pN+1 > N, то pN+1 = kN+1 + d2 – N

…………..

pm = km + dm-N Если pm > N, то pm = km + dm-N – N

Второй вариант вычисления приращений:

p1 = k1 – d1 Если p1 < 1, то p1 = k1 – d1 + N

p2 = k2 – d2 Если p2 < 1, то p2 = k2 – d2 + N

…………..

pN = kN – dN Если pN < 1, то pN = kN – dN + N

pN+1 = kN+1 – d1 Если pN+1 < 1, то pN+1 = kN+1 – d1 + N

pN+2 = kN+2 – d2 Если pN+2 < 1, то pN+2 = kN+2 – d2 + N

…………..

pm = km – dm-N Если pm < 1, то pm = km – dm-N + N

Обращаем внимание на следующее обстоятельство. Одинаковые числа в инварианте I1() переходят в различные числа в инварианте I2(). И только в одном случае из N случаев число в первом инварианте переходит в себя. Различные числа в инварианте I1() переходят в различные числа в инварианте I2(). И только в одном случае из N случаев различные числа в первом инварианте переходят в себя. Поэтому частоты распределения чисел во втором инварианте нивелируются. Распределение чисел во втором инварианте примерно соответствует закону равномерного распределения вероятностей. Очевидным примером, подтверждающим это утверждение, является инвариант I1() содержащий все одинаковые числа и имеющим длину N. Вычисленный инвариант I2() будет иметь N различных чисел. И, следовательно, инвариант I2() будет иметь числа с идеальным равномерным законом распределения вероятностей. Это не что иное, как идеальный шум. Строгого доказательства реализации равномерного закона распределения вероятностей мы не имеем и оставляем доказательство последующим исследователям.

Обратная задача: вычисление чисел инварианта I1() из чисел инварианта I2() при известном векторе приращения D() имеет следующее решение:

Первый вариант вычисления приращений:

k1 = p1 + d1 Если k1 > N, то k1 = p1 + d1 – N

k2 = p2 + d2 Если k2 > N, то k2 = p2 + d2 – N

…………..

kN = pN + dN Если kN > N, то kN = pN + dN – N

kN+1 = pN+1 + d1 Если kN+1 > N, то kN+1 = pN+1 + d1 – N

kN+2 = pN+2 + d2 Если kN+2 > N, то kN+2 = pN+2 + d2 – N

…………..

km = pm + dm-N Если km > N, то km = pm + dm-N – N

Второй вариант вычисления приращений:

k1 = p1 – d1 Если k1 < 1, то k1 = p1 – d1 + N

k2 = p2 – d2 Если k2 < 1, то k2 = p2 – d2 + N

…………..

kN = pN – dN Если kN < 1, то kN = pN – dN + N

kN+1 = pN+1 – d1 Если kN+1 < 1, то kN+1 = pN+1 – d1 + N

kN+2 = pN+2 – d2 Если kN+2 < 1, то kN+2 = pN+2 – dN+2 + N

…………..

km = pm – dm-N Если km < 1, то km = pm – dm-N + N

 

2.6. Преобразование одной формальной информации в другую формальную информацию в случае, когда первая формальная информация включает символы, отсутствующие в алфавите.

Речь идет о возможности преобразования формальной информации, символы которой отсутствуют в имеющемся алфавите. Конечно, можно проанализировать формальную информацию, найти все символы, отсутствующие в имеющемся алфавите, дополнить алфавит отсутствующими символами и преобразовать формальную информацию по алгоритмам, рассмотренным выше. Этот вариант мы рассматривать не будем. Существует еще один вариант действий, который позволяет несколько по иному взглянуть на процесс преобразования формальной информации.

Мы предлагаем создать дополнительный алфавит из символов, отсутствующих в имеющемся алфавите. Адреса символов в дополнительном алфавите, которые будем помещать в инвариант, нумеровать следующим образом: N+1, N+2, …, N+R, где R – количество символов в дополнительном алфавите.

Введем обозначения:

A(1 до N) = {a1, a2, …, aN} – имеющийся алфавит, длиной N символов.

B(b1, b2, …, bR} – дополнительный алфавит, длиной R символов. Символы дополнительного алфавита отсутствуют в имеющемся алфавите A().

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

а) Произвести анализ формальной информации, подлежащей преобразованию, на наличие символов, не входящих в алфавит A(). Найденные символы поместить в дополнительный алфавит B(), причем символы в дополнительном алфавите должны встречаться ровно один раз.

б) Построить инвариант I1(1 до m) для формальной информации, подлежащей преобразованию. Если символ из формальной информации имеется в алфавите A(), то адрес этого символа записать в инвариант в обычном порядке, то есть в виде числа от 1 до N. Если символ из формальной информации отсутствует в алфавите A(), то найти адрес этого символа в дополнительном алфавите B(), прибавить к нему число N и записать в инвариант I1().

в) Произвести преобразование формальной информации, при этом необходимо проверять величину числа в инварианте I1(). Если число больше N, то его без преобразования записывать в инвариант I2(). Если число не превосходит N, то его использовать в преобразовании.

г) Из инварианта I2() построить преобразованную формальную информацию. При этом необходимо помнить, что если число в инварианте I2() больше N, то из этого числа необходимо вычесть N и по этому адресу считать число из дополнительного алфавита символ. Если число в инварианте I2() не превосходит N, то по этому адресу необходимо считать символ из алфавита A().

Изложенный алгоритм позволяет из любой формальной информации получить причудливую смесь из преобразованных и не преобразованных символов.

Пример приводить не будем в силу громоздкости. Отметим только то, что реализация описанного алгоритма на языке программирования очень лаконична и наглядна. Это для описания алгоритма необходимо создавать дополнительный алфавит, а на языке программирования достаточно осуществлять проверку на наличие символа в алфавите A(). Если символ в алфавите отсутствует, то его без преобразования поместить в преобразованную формальную информацию.

 

2.7. Повторное преобразование формальной информации.

Пусть имеются инварианты:

I1(1 до m) = {k1, k2, …, km}

I2(1 до m) = {p1, p2, …, pm}

I3(1 до m) = {q1, q2, …, qm}

Где:

q1 – число от 1 до N;

q2 – число от 1 до N, может быть равно q1;

qm – число от 1 до N, может быть равно любому предыдущему числу;

m – длина инварианта, равная длине информации.

D(1 до m) = {d1, d2, …, dm} – вектор приращений.

Вычислим числа инварианта I2() из чисел инварианта I1() с использованием вектора приращений D(). Затем вычислим числа инварианта I3() из чисел инварианта I2() с использованием вектора приращений D().

Вычисление чисел вектора I2():

Первый вариант вычисления приращений:

p1 = k1 + d1 Если p1 > N, то p1 = k1 + d1 – N

p2 = k2 + d2 Если p2 > N, то p2 = k2 + d2 – N

…………..

pm = km + dm Если pm > N, то pm = km + dm – N

Второй вариант вычисления приращений:

p1 = k1 – d1 Если p1 < 1, то p1 = k1 – d1 + N

p2 = k2 – d2 Если p2 < 1, то p2 = k2 – d2 + N

…………..

pm = km – dm Если pm < 1, то pm = km – dm + N

Вычислим числа инварианта I3():

Первый вариант вычисления приращений:

q1 = p1 + d1 Если q1 > N, то q1 = p1 + d1 – N

q2 = p2 + d2 Если q2 > N, то q2 = p2 + d2 – N

…………..

qm = pm + dm Если qm > N, то qm = pm + dm – N

Второй вариант вычисления приращений:

q1 = p1 – d1 Если q1 < 1, то q1 = p1 – d1 + N

q2 = p2 – d2 Если q2 < 1, то q2 = p2 – d2 + N

…………..

qm = pm – dm Если qm < 1, то qm = pm – dm + N

Обращаем внимание на следующее: при вычислении чисел I3() имеет смысл вычисление осуществлять в одном и том варианте вычисления приращений.

Заменим числа «p» на значения из предыдущего абзаца:

Первый вариант вычисления приращений:

q1 = k1 + d1 + d1 = k1 + 2d1 Если q1 > N, то q1 = k1 + 2d1 – N

q2 = k2 + d2 + d2 = k2 + 2d2 Если q2 > N, то q2 = k2 + 2d2 – N

…………..

qm = km + dm + dm = km + 2dm Если qm > N, то qm = km + 2dm – N

Второй вариант вычисления приращений:

q1 = k1 – d1 – d1 = k1 – 2d1 Если q1 < 1, то q1 = k1 – 2d1 + N

q2 = k2 – d2 – d2 = k2 – 2d2 Если q2 < 1, то q2 = k2 – 2d2 + N

…………..

qm = km – dm – dm = km – 2dm Если qm < 1, то qm = km – 2dm + N

Обратите внимание на следующее: вычитать число N или прибавлять число N возможно придется дважды в зависимости от результата первого вычисления.

Как видим, повторное преобразование формальной информации – это первое преобразование формальной информации, но с удвоенным приращением. Легко показать, что операция повторного преобразования, примененная к числам инварианта I3(), сводится к преобразованию чисел инварианта I1() с утроенным приращением. Процесс повторного отображения можно продолжать неограниченное число раз. Но особого смысла эта операция не имеет, так как тот, же самый результат можно получить из первого преобразования формальной информации при умножении чисел приращения на количество повторных преобразований формальной информации за минусом единицы.

 

2.8. Специфические свойства преобразования формальной информации в себя применительно к живой природе.

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

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

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

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

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

Для того чтобы изменить адреса всех символов второго алфавита можно первый символ в алфавите поместить на место последнего символа в алфавите, а все вышестоящие символы сдвинуть вверх на единицу. В результате все символы в обоих алфавитах станут носителями индивидуальных свойств. Этот метод можно применять для любого подмножества символов в алфавите. Для этого первый символ в подмножестве символов в алфавите следует поместить на место последнего символа в подмножестве символов в алфавите, а все вышележащие символы в подмножестве алфавита сдвинуть на единицу вверх. В результате символы в подмножестве символов в алфавите станут носителями индивидуальных свойств. Можно не первый символ подмножества символов в алфавите перемещать на место последнего символа в подмножестве символов в алфавите, а последний символ в подмножестве символов в алфавите перемещать на место первого символа в подмножестве символов в алфавите. В этом случае, нижележащие символы в подмножестве символов в алфавите следует сдвинуть на единицу вниз.

Если два алфавита имеют разные размеры, то наибольший алфавит усекается до наименьшего алфавита.

 

3. Примеры использования алгоритма преобразования формальной информации.

 

3.1. Преобразование одной формальной информации в другую формальную информацию.

Возьмем для примера слова формальной информации: 1) Война; 2) Песец. Инвариант слова «Война» - это вектор, содержащий адреса букв слова «Война» в первом алфавите. Для слова «Песец» инвариант определяется точно также.

Введем обозначение инвариантов:

I11() – инвариант для слова «Война» по первому алфавиту. Это вектор длиной 5, содержащий адреса букв из слова «Война» в первом алфавите. Первая цифра индекса обозначает номер алфавита, а вторая – номер слова.

I22() – инвариант для слова «Песец» по второму алфавиту. Это вектор длиной 5, содержащий адреса букв из слова «Песец» во втором алфавите. Первая цифра индекса обозначает номер алфавита, а вторая – номер слова.

D1() – вектор приращений для преобразования слова «Война» в слово «Песец» при использовании первого варианта вычисления приращений (суммирования) и первого алфавита для слова «Война» и второго алфавита для слова «Песец».

D2() – вектор приращений для преобразования слова «Война» в слово «Песец» при использовании второго варианта вычисления приращений (вычитания) и первого алфавита для слова «Война» и второго алфавита для слова «Песец».

D3() – вектор приращений для преобразования слова «Песец» в слово «Война» при использовании первого варианта вычисления приращений (суммирования) и первого алфавита для слова «Война» и второго алфавита для слова «Песец».

D4() – вектор приращений для преобразования слова «Песец» в слово «Война» при использовании второго варианта вычисления приращений (вычитания) и первого алфавита для слова «Война» и второго алфавита для слова «Песец».

Конкретные значения инвариантов взяты нами из алфавитов на рисунках 1-9.

I11() = {99, 143, 138, 142, 129}

I22() = {74, 145, 11, 145, 17}

Вычислим вектор приращений D1() для вычисления чисел I22() из чисел I11() путем прибавления приращения.

99 + d1 = 74 → d1 = 74 – 99 = -25 < 1 → d1 = 74 – 99 + 161 = 136

143 + d2 = 145 → d2 = 145 – 143 = 2

138 + d3 = 11 → d3 = 11 – 138 = -127 < 1 → d3 = 11 – 138 + 161 = 34

142 + d4 = 145 → d4 = 145 – 142 = 3

129 + d5 = 17 → d5 = 17 – 129 = -112 < 1 → d5 = 17 – 129 + 161 = 49

D1() = {136, 2, 34, 3, 49}

Вычислим вектор приращений D2()для вычисления чисел I22() из чисел I11() путем вычитания приращения.

99 – d1 = 74 → d1 = 99 - 74 = 25

143 – d2 = 145 → d2 = 143 – 145 = -2 < 1 → d2 = 143 – 145 + 161 = 159

138 – d3 = 11 → d3 = 138 – 11 = 127

142 – d4 = 145 → d4 = 142 – 145 = -3 < 1 → d4 = 142 – 145 + 161 = 158

129 – d5 = 17 → d5 = 129 – 17 = 112

D2() = {25, 159, 127, 158, 112}

Как видим, сумма чисел, имеющих одинаковый индекс в векторах D1() и D2() равна N = 161.

D1() = {136, 2, 34, 3, 49}

D2() = {25, 159, 127, 158, 112}

Вычислим вектор приращений D3() для вычисления чисел I11() из чисел I22() путем прибавления приращения.

74 + d1 = 99 → d1 = 99 – 74 = 25

145 + d2 = 143 → d2 = 143 – 145 = -2 < 1 → d2 = 143 – 145 + 161 = 159

11 + d3 = 138 → d3 = 138 – 11 = 127

145 + d4 = 142 → d4 = 142 – 145 = -3 < 1 → d4 = 142 – 135 + 161 = 158

17 + d5 = 129 → d5 = 129 – 17 = 112

D3() = {25, 159, 127, 158, 112}

Вычислим вектор приращений D4() для вычисления чисел I11() из чисел I22() путем вычитания приращения.

74 – d1 = 99 → d1 = 74 – 99 = -25 < 1 → d1 = 74 – 99 + 161 = 136

145 – d2 = 143 → d2 = 145 – 143 = 2

11 – d3 = 138 → d3 = 11 – 138 = -127 < 1 → d3 = 11 – 138 + 161 = 34

145 – d4 = 142 → d4 = 145 – 142 = 3

17 – d5 = 129 → d5 = 17 – 129 = -112 < 1 → d5 = 17 – 129 + 161 = 49

D4() = {136, 2, 34, 3, 49}

Как видим, сумма чисел, имеющих одинаковый индекс в векторах D3() и D4() равна N = 161.

D3() = {25, 159, 127, 158, 112}

D4() = {136, 2, 34, 3, 49}

Кроме того, D1() = D4() и D2() = D3(), что соответствует изложенной выше теории преобразования одной формальной информации в другую и, наоборот.

Вычислим числа инварианта I22() при условии, что известен инвариант I11() и вектор приращений D1().

I11() = {99, 143, 138, 142, 129}

D1() = {136, 2, 34, 3, 49}

p1 = 99 + 136 = 235 > 161 → p1 = 99 + 136 – 161 = 74

p2 = 143 + 2 = 145

p3 = 138 + 34 = 172 > 161 → p3 = 138 + 34 – 161 = 11

p4 = 142 + 3 = 145

p5 = 129 + 49 = 178 > 161 → p5 = 129 + 49 – 161 = 17

I22() = {74, 145, 11, 145, 17}

Как видим, числа вектора I22() вычислены правильно.

Вычислим числа инварианта I22() при условии, что известен инвариант I11() и вектор приращений D2().

I11() = {99, 143, 138, 142, 129}

D2() = {25, 159, 127, 158, 112}

p1 = 99 – 25 = 74

p2 = 143 – 159 = -16 < 1 → p2 = 143 – 159 + 161 = 145

p3 = 138 – 127 = 11

p4 = 142 – 158 = -16 < 1 → p4 = 142 – 158 + 161 = 145

p5 = 129 – 112 = 17

I22() = {74, 145, 11, 145, 17}

Как видим, числа вектора I22() вычислены правильно.

Вычислим числа инварианта I11() при условии, что известен инвариант I22() и вектор приращений D3().

I22() = {74, 145, 11, 145, 17}

D3() = {25, 159, 127, 158, 112}

p1 = 74 + 25 = 99

p2 = 145 + 159 = 304 > 161 → p2 = 145 + 159 – 161 = 143

p3 = 11 + 127 = 138

p4 = 145 + 158 = 303 > 161 → p4 = 145 + 158 – 161 = 142

p5 = 17 + 112 = 129

I11() = {99, 143, 138, 142, 129}

Как видим, числа вектора I11() вычислены правильно.

Вычислим числа инварианта I11() при условии, что известен инвариант I22() и вектор приращений D4().

I22() = {74, 145, 11, 145, 17}

D4() = {136, 2, 34, 3, 49}

p1 = 74 – 136 = -62 < 1 → p1 = 74 – 136 + 161 = 99

p2 = 145 – 2 = 143

p3 = 11 – 34 = -23 < 1 → p3 = 11 – 34 + 161 = 138

p4 = 145 – 3 = 142

p5 = 17 – 49 = -32 < 1 → p5 = 17 – 49 + 161 = 129

I11() = {99, 143, 138, 142, 129}

Как видим, числа вектора I11() и вектора I22() вычислены правильно.

С точки зрения знаний человека слово «Война» и слово «Песец» абсолютно разные понятия и связи между ним нет. Формальная информация ничего не знает о знаниях и рассматривает эти слова как формальную информацию, не имеющую никакого смысла. Поэтому в формальной информации ничего нет не естественного в преобразовании слова «Война» в слово «Песец» и, наоборот. Да еще не одним единственным образом.

3.2. Повторное преобразование формальной информации.

В предыдущем примере мы из чисел инварианта I11() вычислили числа инварианта I22() с использованием вектора приращений D1(). Повторное преобразование формальной информации означает, что необходимо из чисел инварианта I22() вычислить числа нового инварианта I3() = {q1, q2, q3, q4, q5}c использованием того же самого вектора приращений D1().

I22() = {74, 145, 11, 145, 17}

D1() = {136, 2, 34, 3, 49}

q1 = 74 + 136 = 210 > 161 → q1 = 74 + 136 – 161 = 49

q2 = 145 + 2 = 147

q3 = 11 + 34 = 45

q4 = 145 + 3 = 148

q5 = 17 + 49 = 66

I3() = {49, 147, 45, 148, 66}

Теория гласит, что тот же самый инвариант I3() можно вычислить из инварианта I11() с использованием того же самого вектора приращений D1(), но с умножением чисел вектора приращений на 2. Это утверждение мы и проверим.

I11() = {99, 143, 138, 142, 129}

D1() = {136, 2, 34, 3, 49}

q1 = 99 + 2×136 = 371 > 161 → q1 = 99 + 2×136 – 161 = 210 > 161 → q1 = 99 + 2×136 – 161 -161 = 49

q2 = 143 + 2×2 = 147

q3 = 138 + 2×34 = 206 > 161 → q3 = 138 + 2×34 – 161 = 45

q4 = 142 + 2×3 = 148

q5 = 129 + 2×49 = 227 > 161 → q5 = 129 + 2×49 – 161 = 66

I3() = {49, 147, 45, 148, 66}

Как видим, теоретические положения полностью подтверждаются практикой.

3.3. Преобразование формальной информации в себя.

Возьмем для примера слова формальной информации: 1) Война; 2) Песец. Инвариант слова «Война» - это вектор, содержащий адреса букв слова «Война» в первом алфавите (базисе). Для слова «Песец» инвариант определяется точно также.

I11() = {99, 143, 138, 142, 129}

I22() = {74, 145, 11, 145, 17}

Вычислим вектор приращений D1() для вычисления чисел инварианта I11() из чисел инварианта I11() путем прибавления приращения.

99 + d1 = 99 → d1 = 99 – 99 = 0 < 1 → d1 = 99 – 99 + 161 = 161

143 + d2 = 143 → d2 = 143 – 143 = 0 < 1 → d2 = 143 – 143 + 161 = 161

138 + d3 = 138 → d3 = 138 – 138 = 0 < 1 → d3 = 138 – 138 + 161 = 161

142 + d4 = 142 → d4 = 142 – 142 = 0 < 1 → d4 = 142 – 142 + 161 = 161

129 + d5 = 129 → d5 = 129 – 129 = 0 < 1 → d5 = 129 – 129 + 161 = 161

D1() = {161, 161, 161, 161, 161}

Вычислим вектор приращений D2() для вычисления чисел инварианта I11() из чисел инварианта I11() путем вычитания приращения.

99 – d1 = 99 → d1 = 99 – 99 = 0 < 1 → d1 = 99 – 99 + 161 = 161

143 – d2 = 143 → d2 = 143 – 143 = 0 < 1 → d2 = 143 – 143 + 161 = 161

138 – d3 = 138 → d3 = 138 – 138 = 0 < 1 → d3 = 138 – 138 + 161 = 161

142 – d4 = 142 → d4 = 142 – 142 = 0 < 1 → d4 = 142 – 142 + 161 = 161

129 – d5 = 129 → d5 = 129 – 129 = 0 < 1 → d5 = 129 – 129 + 161 = 161

D2() = {161, 161, 161, 161, 161}

Вычислим вектор приращений D3() для вычисления чисел инварианта I22() из чисел инварианта I22() путем прибавления приращения.

 74 + d1 = 74 → d1 = 74 – 74 = 0 < 1 → d1 = 74 – 74 + 161 = 161

145 + d2 = 145 → d2 = 145 – 145 = 0 < 1 → d2 = 145 – 145 + 161 = 161

11 + d3 = 11 → d3 = 11 – 11 = 0 < 1 → d3 = 11 – 11 + 161 = 161

145 + d4 = 145 → d4 = 145 – 145 = 0 < 1 → d4 = 145 – 145 + 161 = 161

17 + d5 = 17 → d5 = 17 – 17 = 0 < 1 → d5 = 17 – 17 + 161 = 161

D3() = {161, 161, 161, 161, 161}

Вычислим вектор приращений D4() для вычисления чисел инварианта I22() из чисел инварианта I22() путем вычитания приращения.

74 – d1 = 74 → d1 = 74 – 74 = 0 < 1 → d1 = 74 – 74 + 161 = 161

145 – d2 = 145 → d2 = 145 – 145 = 0 < 1 → d2 = 145 – 145 + 161 = 161

11 – d3 = 11 → d3 = 11 – 11 = 0 < 1 → d3 = 11 – 11 + 161 = 161

145 – d4 = 145 → d4 = 145 – 145 = 0 < 1 → d4 = 145 – 145 + 161 = 161

17 – d5 = 17 → d5 = 17 – 17 = 0 < 1 → d5 = 17 – 17 + 161 = 161

D4() = {161, 161, 161, 161, 161}

Мы вычислили вектора для двух различных слов «Война» и «Песец» по разным алфавитам. Результат один и тот же. Это означает, что при использовании единственного алфавита все виды информации одинаковой длины преобразовываются в себя одним и тем же вектором приращений.

Далее рассмотрим преобразование слова формальной информации «Война» в слово «Война» с использованием двух алфавитов. Для этого необходимо знать инвариант слова «Война» по первому алфавиту и инвариант слова «Война» по второму алфавиту. Ранее мы уже эти инварианты использовали в п. 3.1.

I11() = {99, 143, 138, 142, 129} - это по первому алфавиту.

I21() = {56, 20, 39, 128, 63} - это по второму алфавиту.

Вычислим вектор приращений D1() для вычисления чисел инварианта I21() из чисел инварианта I11() путем прибавления приращения.

99 + d1 = 56 → d1 = 56 – 99 = -43 < 1 → d1 = 56 – 99 + 161 = 118

143 + d2 = 20 → d2 = 20 – 143 = -123 < 1 → d2 = 20 – 143 + 161 = 38

138 + d3 = 39 → d3 = 39 – 138 = -99 < 1 → d3 = 38 – 138 + 161 = 62

142 + d4 = 128 → d4 = 128 – 142 = -14 < 1 → d4 = 128 – 142 + 161 = 147

129 + d5 = 63 → d5 = 63 – 129 = -66 < 1 → d5 = 63 – 129 + 161 = 95

D1() = {118, 38, 62, 147, 95}

Вычислим вектор приращений D2() для вычисления чисел инварианта I21() из чисел инварианта I11() путем вычитания приращения.

99 – d1 = 56 → d1 = 99 - 56 = 43

143 – d2 = 20 → d2 = 143 – 20 = 123

138 – d3 = 39 → d3 = 138 – 39 = 99

142 – d4 = 128 → d4 = 142 – 128 = 14

129 – d5 = 63 → d5 = 129 – 63 = 66

D2() = {43, 123, 99, 14, 66}

Как видим, сумма чисел, имеющих одинаковый индекс в векторах D1() и D2() равна N = 161.

D1() = {118, 38, 62, 147, 95}

D2() = {43, 123, 99, 14, 66}

Вычислим вектор приращений D3() для вычисления чисел I11() из чисел I21() путем прибавления приращения.

56 + d1 = 99 → d1 = 99 – 56 = 43

20 + d2 = 143 → d2 = 143 – 20 = 123

39 + d3 = 138 → d3 = 138 – 39 = 99

128 + d4 = 142 → d4 = 142 – 128 = 14

63 + d5 = 129 → d5 = 129 – 63 = 66

D3() = {43, 123, 99, 14, 66}

Вычислим вектор отображения D4() для вычисления чисел инварианта I11() из чисел инварианта I21() путем вычитания приращения.

56 – d1 = 99 → d1 = 56 – 99 = -43 < 1 → d1 = 56 – 99 + 161 = 118

20 – d2 = 143 → d2 = 20 – 143 = -123 < 1 → d2 = 20 – 143 + 161 = 38

39 – d3 = 138 → d3 = 39 – 138 = -99 < 1 → d3 = 69 – 138 + 161 = 62

128 – d4 = 142 → d4 = 128 – 142 = -14 < 1 → d4 = 128 – 142 + 161 = 147

63 – d5 = 129 → d5 = 63 – 129 = -66 < 1 → d5 = 63 – 129 + 161 = 95

D4() = {118, 38, 62, 147, 95}

Как видим, сумма чисел, имеющих одинаковый индекс в векторах D3() и D4() равна N = 161.

D3() = {43, 123, 99, 14, 66}

D4() = {118, 38, 62, 147, 95}

Кроме того, D1() = D4() и D2() = D3(), что соответствует изложенной выше теории.

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

 

4. Выводы.

 

4.1. Для того чтобы не учитывать знания в формальной информации, необходимо исследовать математическую сущность формальной информации – инвариант формальной информации. Преобразование одной формальной информации в другую формальную информацию заменяется вычислением натуральных чисел одного инварианта из натуральных чисел другого инварианта. Для вычисления чисел инварианта используется приращение (разница между числами инвариантов) или дополнение приращения до длины алфавита. Применение дополнения приращения выявляется формальным образом: путем проверки вычисленных значений на условие «больше длины алфавита» и на условие «меньше единицы». Если вычисленное значение больше длины алфавита, то из вычисленного значения необходимо вычесть длину алфавита. Если вычисленное значение меньше единицы, то к вычисленному значению необходимо прибавить длину алфавита.

 

4.2. Произвольная формальная информация преобразуется в другую произвольную формальную информацию, кроме преобразования в себя, двумя способами при одном алфавите независимо от размеров обеих формальных информаций. При использовании другого алфавита произвольная формальная информация преобразовывается в другую произвольную формальную информацию, кроме преобразования в себя, с помощью другого вектора приращений независимо от размеров обеих формальных информаций.

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

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

 

4.3. Каждое преобразование одной формальной информации в другую формальную информацию обязательно имеет обратное преобразование другой формальной информации в первую формальную информацию.

Повторное преобразование формальной информации – это первое преобразование формальной информации, но с удвоенным приращением. Повторное преобразование повторного преобразования формальной информации осуществляется с утроенным приращением. Этот процесс можно неограниченно продолжать.

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

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

Описанные в настоящей работе алгоритмы преобразования формальной информации применимы в любых системах.

 

Литература

 

1.                  Андрейчиков Н. И., Андрейчикова В. Н. Математические основы построения информационных сообщений (конструктивный подход). Объединенный научный журнал, Москва, Агентство научной печати, 2009, N12 (230), 78 с.

2.                  Лидовский В. В. Теория информации. М., Компания Спутник+, 2004, 111 с.

3.                  Тарантул В. З. Геном человека: Энциклопедия, написанная четырьмя буквами. М., Языки славянской культуры, 2003, 392 с.

4.                  Шеннон К. Работы по теории информации и кибернетике. Перевод с английского. Под редакцией Р.Л.Добрушина и О.Б.Лупанова. С предисловием А.Н.Колмогорова. Издательство иностранной литературы, Москва, 1963, 827 с.

 

Поступила в редакцию 19.05.2014 г.

2006-2016 © Журнал научных публикаций аспирантов и докторантов.
Все материалы, размещенные на данном сайте, охраняются авторским правом. При использовании материалов сайта активная ссылка на первоисточник обязательна.