Андрейчиков
Сообщение
#91766 11.11.2015, 14:51
Случайно обнаружил любопытное свойство натуральных чисел. Проверил математические энциклопедии, но нигде не встретил упоминание об этом свойстве натуральных чисел. Многие считают, что число 0 входит в натуральные числа. Другие считают, что число 0 не является натуральным числом. Так вот, обнаруженное свойство натуральных чисел выполняется только для натурального ряда чисел, в который число 0 не входит, и не выполняется для натурального ряда чисел, в который включено число 0.
Рассмотрим операции сложения и вычитания на отрезке ряда натуральных чисел 1, 2, ..., N. Пусть X и Y - натуральные числа от 1 до N.
Обозначим через Z - результат сложения натуральных чисел X и Y. Потребуем от натурального числа Z выполнения неравенства 0 < Z < N + 1, то есть Z должно быть натуральным числом от 1 до N.
Z = X + Y
Если Z < N + 1, то наше требование выполнено. Минимальная величина суммы в этом случае равна 2, а максимальная величина суммы равна N. Таким образом, число Z в этом случае изменяется от 2 до N.
Если Z > N, то наше требование не выполнено. В этом случае вычтем из суммы число N. Получим Z = X + Y - N. Поскольку максимальная величина суммы X + Y равна 2*N, то Z = X + Y - N не превосходит N. Поскольку вычитание числа N из суммы X + Y мы производим только в том случае если эта сумма больше N (равна N + 1, N + 2, ..., 2 * N), то минимальная величина Z = X + Y - N = N + 1 - N = 1. Таким образом, число Z изменяется от 1 до N.
Рассмотрим нахождения чисел X или Y из числа Z.
Здесь возможны два варианта:
1) X = Z - Y = X + Y - Y = X, это обычное вычитание.
2) X = Z - Y = X + Y - N - Y = X - N. Поскольку максимальная величина числа X равна N, то X - N < 1. Следовательно, для получения правильного результата мы должны прибавить к разнице число N. В этом случае X = Z - Y = X + Y - N - Y + N = X.
В действительности нам не нужно знать о том, вычитали мы из суммы Z число N или не вычитали. Достаточно проверять результат вычитания Z - Y на выполнение условия Z - Y < 1. Если неравенство выполняется, то необходимо прибавить число N. Если неравенство не выполняется, то ничего делать не надо.
Аналогично обстоит дело с вычитанием натуральных чисел.
В целом, число ноль не нужно для операций вычитания и сложения с числами отрезка натурального ряда от 1 до N. Достаточно проверять результат операции на условие 0 < Z < N + 1. Если результат операции меньше единицы, то к результату операции необходимо прибавить число N. Если результат операции больше N, то из результата операции необходимо вычесть число N.
Это свойство выполняется только для отрезка ряда натуральных чисел от 1 до N и не выполняется для отрезка ряда чисел от 0 до N, а также для любого отрезка ряда натуральных чисел, начинающегося с числа большего 1.
Прошу математиков и других специалистов высказать свое мнение о важности обнаруженного свойства. Согласен на шнобелевскую премию, поэтому прошу высказываться по-существу. В конце дискуссии я покажу вариант использования этого свойства в практической деятельности людей.
Андрейчиков
Сообщение
#91780 18.11.2015, 11:49
Практическое использование обсуждаемого свойства натуральных чисел.
Рассмотрим преобразование одного текста в другой текст. Для демонстрационных целей ограничимся преобразованием слова "Ад" в слово "Агат".
ПЕРВЫЙ ШАГ - вычисление собственного алфавита слова "Ад". Собственный алфавит - это различне символы, которые встречаются в слове "Ад". Таких символов 2 - буква "А" и буква "д".
ВТОРОЙ ШАГ - вычисление собственного алфавита слова "Агат". Таких символов 4 - буква "А", буква "г", буква "а", буква "т".
ТТНТИЙ ШАГ - вычисление собственного алфавита обоих слов. Таких символов 5 - буква "А", буква "д", буква "г", буква "а", буква "т".
ЧЕТВЕРТЫЙ ШАГ - запишем собственный алфавит обох слов в одну строчку и перенумеруем символы алфавита. Номера букв - это адреса этих букв в алфавите.
А-1 д-2 г-3 а-4 т-5
Длина алфавита N = 5
ПЯТЫЙ ШАГ - вычисление вектора приращения, позволяющего преобразовать слово "Ад" в слово "Агат". Вектор приращения обозначим через V().
1) Берем первую букву слова "Ад" - это буква "А". Находим адрес этой буквы в общем алфавите. Это число 1. Берем первую букву слова "Агат" - это буква "А". Находим адрес этой буквы в общем алфавите. Это число 1. Находим разность адресов 1 - 1 = 0. Это меньше 1, поэтому прибавляем к разности N = 5. Получим 0 + 5 = 5. Записываем это число на первое место в вектор приращения V(1) = 5.
2) Берем вторую букву слова "Ад" - это буква "д". Находим адрес этой буквы в общем алфавите. Это число 2. Берем вторую букву слова "Агат" - это буква "г". Находим адрес этой буквы в общем алфавите. Это число 3. Находим разность адресов 3 - 2 = 1. Это число больше 0 и меньше 6, поэтому записываем это число на второе место в вектор приращения V(2) = 1.
3) Поскольку первое закончилось, то начинаем использовать это слово сначала. Берем первую букву слова "Ад" - это буква "А". Находим адрес этой буквы в общем алфавите. Это число 1. Берем третью букву слова "Агат" - это буква "а". Находим адрес этой буквы в общем алфавите. Это число 4. Находим разность адресов 4 - 1 = 3. Это число больше 0 и меньше 6, поэтому записываем это число на третье место в вектор приращения V(3) = 3.
4) Берем вторую букву слова "Ад" - это буква "д". Находим адрес этой буквы в общем алфавите. Это число 2. Берем четвертую букву слова "Агат" - это буква "т". Находим адрес этой буквы в общем алфавите. Это число 5. Находим разность адресов 5 - 2 = 3. Это число больше 0 и меньше 6, поэтому записываем это число на четвертое место в вектор приращения V(4) = 3.
Вектор приращений содержит 4 числа V()={5,1,3,3}
ШЕСТОЙ ШАГ - преобразование слова "Ад" в слово "Агат".
1) Берем первую букву из слова "Ад" - это буква "А". Находим адрес этой буквы в общем алфавите. Это число 1. Прибавляем к этому адресу первое число из вектора приращения - это число 5. 1 + 5 = 6. Поскольку 6 > N = 5, то вычитаем число N. 6 - 5 = 1. Это адрес первой буквы второго слова в общем алфавите. По этому адресу находится буква "А" - это первая буква второго слова.
2) Берем вторую букву из слова "Ад" - это буква "д". Находим адрес этой буквы в общем алфавите. Это число 2. Прибавляем к этому адресу второе число из вектора приращения - это число 1. 2 + 1 = 3. Поскольку 3 больше 0 и меньше 6, то ничего больше не делаем. Это адрес второй буквы второго слова в общем алфавите. По этому адресу находится буква "г" - это вторая буква второго слова.
2) Поскольку первое закончилось, то начинаем использовать это слово сначала. Берем первую букву из слова "Ад" - это буква "А". Находим адрес этой буквы в общем алфавите. Это число 1. Прибавляем к этому адресу третье число из вектора приращения - это число 3. 1 + 3 = 4. Поскольку 4 больше 0 и меньше 6, то ничего больше не делаем. Это адрес третьей буквы второго слова в общем алфавите. По этому адресу находится буква "а" - это третья буква второго слова.
3) Берем вторую букву из слова "Ад" - это буква "д". Находим адрес этой буквы в общем алфавите. Это число 2. Прибавляем к этому адресу четвертое число из вектора приращения - это число 3. 2 + 3 = 5. Поскольку 5 больше 0 и меньше 6, то ничего больше не делаем. Это адрес четвертой буквы второго слова в общем алфавите. По этому адресу находится буква "т" - это четвертая буква второго слова.
Мы вычислили второе слово "Агат" из первого слова "Ад". Это действие мы называем преобразованием слова "Ад" в слово "Агат".
Как видите для преобразования необходимо использовать описанное ранее свойство натуральных чисел. Обратите внимание: адреса в алфавите должны начинаться с 1. Если адрес в алфавите начинается с 0, то алгоритм не работает. Это связано с тем, что прибавление 0 не изменяет адрес. Таким образом, описанное свойство натуральных чисел - это арифметика адресов в алфавитах при преобразовании текстов.
Преобразование текстов не является шифрованием, так как целью шифрования является сокрытие смысла текста. А у нас целью преобразования является получение нового текста с новым смыслом и новым размером. Кроме того, если бы этот алгоритм был алгоритмом шифрования, то государство давно бы принудительно выкупила бы его в свою собственность. У государства имеются более мощные и надежные средства защиты, чем наш алгоритм преобразования текстов. Наш алгоритм предназначен для защиты частной информации.
Преобразование текста можно производить самого в себя, в том числе можно получить весь текст из любой буквы текста. Это является изоморфизмом процесса выращивания организма из одной клетки. Конечно, в живой природе все намного сложнее, но общая схема, скорее всего, неизменна.
Прошу коллег высказаться, а также задать интересующие Вас вопросы.