© Артем Андреевич Ларин, 2024
ISBN 978-5-0064-8124-4
Создано в интеллектуальной издательской системе Ridero
Обман зрения
Визуально ощущается, что больший объект уменьшился в пропорциях сильнее, чем меньший.
Проект «Контролируемая случайность»
Введение
В человеческом обществе испокон веков существует такая гипотеза, что если попросить нечто высшее о чем-то конкретном или тривиальном, то есть шанс, что это нечто даст просящему то, что он просит в той или иной форме. Проходят столетия – человеческая цивилизация развивается, и эта гипотеза вместе с ней: раньше просили Духов, потом Бога, а теперь Вселенную.
Так вот, я решил поставить эксперимент, подтверждающий эту гипотезу, – поставить эксперимент над Реальностью.
Эксперимент не удался! Но это не опровергает выше описанную гипотезу. Во-первых, существует очевидный конфликт данного эксперимента с этой гипотезой. В эксперименте я рассматриваю Дающего, как нечто математическое, некий не живой Абсолют, что противоречит гипотезе, ведь по ее концепции, это Дающее может быть и не живое, но способное живым быть.
Анализ задания и математическая постановка задачи
И так, мы имеем задачу получить от Реальности, рассмотрим ее как глобальную динамическую матрицу или всеобщую систему, нечто то, что мы хотим. Далеко ходить не будем, пускай это нечто будет конкретным числом или парой чисел, как в случае моей программы. Для этого нам понадобится алгоритм, выдающий случайные значения, и в результате выпадения случайных значений мы за минимальное количество попыток должны получить, загаданные нами, числа. Так же по условию задачи мы должны «просить» всеобщую матрицу о том, чтобы она выдала нам загаданные нами значения. Это «просить» я реализовал тем способом, что банально подсказываю всеобщей системе, какие значения я загадал. Для этого я создал стартовую комбинацию чисел и «новую». Я сравниваю стартовую комбинацию чисел и новую и выбираю ту, которая по своему значению ближе к загаданным значениям.
И так мы имеет шесть переменных – три пары по две: c и d, x и y и a и b.
с, d – значения, которые мы загадываем,
х, y – стартовая комбинация,
а, b – новая комбинация.
Во второй программе все устроено аналогично, с тем отличием, что мы имеем английский алфавит, и наша задача получить случайным образом две гласные буквы. Хоть мы работаем и с буквами, решается задача так же чисто математически, аналогично как в первой программе.
Разработка схемы алгоритма, разработка программы и их описание
Ключевой компонент программы это набор условий «if», с помощью которых мы выбираем наиболее похожие значения на загаданные нами. Заключаем условия «if» в цикл, условием которого является выполнение поставленной задачи. Вводим дополнительную переменную, считающую количество выполнения циклов, и конечное значение переменной является результатом выполнения программы.
Инструкция по использованию разработанных программ
Программа с числами: вводим два любых (оба положительных или оба отрицательных, и не 1) числа от -20 до 20, запускаем программу.
Программа с буквами: просто запускам программу.
Решение контрольных примеров и проверка правильности функционирования программы
Для проверки правильности функционирования программы я использовал метод шагов, то есть в процессе выполнения программы я вижу, что выполняются все этапы программы.
При тестировании программы результаты оказались отрицательными относительно ожидания. Происходило то, что с условием «if» и без него результат программы, а именно количество выполнений цикла, каждый раз было совершенно случайным, а ожидалось, что будет некая зависимость.
Заключение
И так, эксперимент не удался, но это тоже результат. Результат, из которого пока что любые выводы будут поспешны. Ведь речь идет об области нашего Бытия, неподвластного на данный момент науке. Я говорю об области идеальной, универсальной.
Приложение: тексты программ
Программа с числами:
Алгоритм программы можно описать следующим образом:
Настройка кодировки и инициализация генератора случайных чисел:
Устанавливается кодировка консоли для корректного отображения текста.
Инициализируется генератор случайных чисел с использованием текущего времени для обеспечения разнообразия случайных чисел.
Ввод данных:
Пользователю предлагается ввести два числа (оба положительных или оба отрицательных, и не равные 1) в диапазоне от -20 до 20.
Инициализация переменных:
Переменные a, b, x, y и счетчик i инициализируются значением 1.
Цикл поиска:
Программа выполняет цикл, пока a не станет равным c и b не станет равным d.
В каждом цикле:
Генерируются два случайных числа a и b в диапазоне от -20 до 20.
Увеличивается счетчик i.
Логика выбора:
Если оба введенных числа положительные:
Программа проверяет различные условия, чтобы выбрать пару чисел a и b, которая ближе всего к введенным числам c и d по среднему арифметическому.
Если оба введенных числа отрицательные:
Программа выполняет аналогичные проверки, но для отрицательных чисел.
Сравнение и выбор:
Программа сравнивает текущую пару чисел с новой парой, основываясь на их средних арифметических, и выбирает ту, которая ближе к введенным значениям.
Вывод результата:
После нахождения подходящей пары чисел программа выводит количество итераций i, которое потребовалось для нахождения этой пары.
Завершение программы:
Программа завершает выполнение и возвращает управление операционной системе.
Таким образом, программа пытается найти пару случайных чисел, которая наиболее близка к введенной пользователем паре чисел, с учетом заданных условий.
Программа с буквами:
Алгоритм программы можно описать следующим образом:
Инициализация:
Определяется структура para, содержащая два поля: letter (символ) и isvowel (логическое значение, указывающее, является ли буква гласной).
Создается массив letters из 26 элементов типа para, представляющий все буквы английского алфавита от ’a’ до ’z’. Каждая буква инициализируется как согласная (isvowel = false).
Определение гласных:
Устанавливается, что буквы ’a’, ’e’, ’i’, ’o’, ’u’ являются гласными, изменяя их поле isvowel на true.
Генерация случайных индексов:
Генерируются четыре случайных индекса x, y, a, b в диапазоне от 0 до 25, соответствующие буквам в массиве letters.
Цикл поиска:
Программа выполняет цикл, пока не будут найдены два индекса x и y, которые соответствуют гласным буквам.
В каждом цикле:
Генерируются новые случайные индексы a и b.
Увеличивается счетчик r, отслеживающий количество итераций.
Логика выбора:
Программа проверяет различные условия, чтобы определить, следует ли заменить текущие индексы x и y на новые a и b.
Условия проверяют комбинации гласных и согласных между текущими и новыми индексами, чтобы сделать выбор.
Вывод результата:
После нахождения подходящей пары индексов, программа выводит количество итераций r, которое потребовалось для нахождения этой пары.
Завершение программы:
Программа завершает выполнение и возвращает управление операционной системе.
Таким образом, программа пытается найти пару случайных индексов, которые соответствуют гласным буквам, с учетом заданных условий, и выводит количество попыток, потребовавшихся для этого.
Идея о трассировке
Что если трассировку запускать не как отдельный процесс, а вписать ее в код каждой выполняемой программы следующим образом:
Разбивает программу на логические шаги.
1. Шаг. Выполняем анализ пройденного шага, путем проверки соответствия значения переменных допустимым значениям. По факту положительного результата переход к следующему шагу. В случае отрицательного результата сохранение отчета только по выполненному шагу.
2. Шаг. Выполнение программы. Последняя строка шага возвращает программу к 1 шагу.
3. Шаг. Выполнение программы. Последняя строка шага возвращает программу к 1 шагу.
И так далее…
По идее это должно снизить нагрузку на ОЗУ.
Кодирование и передача информации с помощью числа пи
Каждый файл представлен в виде двоичного кода, который можно интерпретировать как двоичное число. Далее это число можно преобразовать в десятичную систему счисления. Затем можно определить позицию данного числа в числе пи и передать файл в виде этой позиции. В результате каждому файлу будет присвоена уникальная позиция в числе пи.
gpt критикует:
Этот метод не является эффективным, так как число пи является бесконечной и иррациональной десятичной дробью. Это означает, что в нем можно найти любую последовательность цифр, включая двоичные коды файлов, но это потребует огромного количества памяти и времени для поиска и передачи файла. Поэтому данный метод не используется в практике для передачи файлов. Вместо этого используются более эффективные и надежные методы передачи файлов, такие как сжатие данных, шифрование и другие технологии.
Логический эксперимент «Почему 2+2=4»
Ставим условие:
x=2;
если x=2, то y=5.
Выполняем:
x + x = y;
y = 5.
И так, что мы сделали? Мы создали условия отличные от реальности и получили отличный от реальности результат. – Ок, но это не все! Нам надо запустить эти условия в процесс дальнейшего построения реальности, а именно:
Если 2 +2 = 5, то 2 +2 +2 =?
Чтобы решить эту задачу, не представляется возможным сформировать условия.
Из этого можно сделать вывод что выражение «2+2=4» фундаментальней логики. Проще говоря логика пляшет от подобных условий реальности, а следовательно, логически это невозможно преодолеть.
Как я воспроизвел расчеты мозга
На данной иллюстрации изображена одна из задач теста на IQ. Как происходит процесс решения этой задачи и ей подобных? Дело в том, что мы не замечаем, как наш мозг все математически рассчитывает. Так давайте, я попробую воспроизвести расчеты мозга, которые он проводит, решая эту задачу.
Разобьем фигуры на совместные области, так чтобы можно было составить систему логических уравнений из того, что он выделил
x – квадрат, y – круг, a – крест, b – диагонали
система уравнений:
x (1 + a + b) = xyab
a (1 + x + y) = xyab
b (1+ x + y) = xyab
y (? + a + b) = xyab
Обозначим присутствие значений в ячейке как произведение. Обозначим присутствие значений в области ячеек как сумму. Произведение – это логическое «и». Сумма – это логическое «или».
Чтобы получить решение этой задачи, обратимся к нейросети.
GPT:
Для нахождения значения»?» в системе уравнений с помощью вероятности, можно предположить, что значения x, y, a и b являются независимыми случайными величинами, равномерно распределенными на некотором интервале.
Предположим, что все переменные x, y, a и b равновероятно принимают значения от 0 до 1. Тогда вероятность того, что случайные величины x, y, a и b примут какое-либо конкретное значение, равна 1 / n, где n – количество возможных значений (в данном случае, n = 101, так как есть 101 равновероятное значение от 0 до 1).
Заменим в системе уравнений значения x, y, a и b на их вероятностные представления:
x (1 + a + b) = (x * y * a * b) / n
a (1 + x + y) = (x * y * a * b) / n
b (1 + x + y) = (x * y * a * b) / n
y (? + a + b) = (x * y * a * b) / n
Переупорядочим уравнения:
(x * y * a * b) = n * x (1 + a + b)
(x * y * a * b) = n * a (1 + x + y)
(x * y * a * b) = n * b (1 + x + y)
(x * y * a * b) = n * y (? + a + b)
Теперь, найдем значения x, y, a и b, удовлетворяющие этой системе уравнений.
n * x (1 + a + b) = n * a (1 + x + y) = n * b (1 + x + y) = n * y (? + a + b)
Если a = b = x = y =?, получим:
n *? (1 +? +?) = n *? (1 +? +?) = n *? (1 +? +?) = n *? (? +? +?)
Таким образом, вероятностью значения»?» в данной системе уравнений является любое число, которое является решением уравнения? (1 +? +?) =? (? +? +?).
Я:
Тут мозг не решает эту систему, а только составляет ее и идет в обход решения с помощью теории вероятностей. очевидно?=1, 1 умножить на игрек равно игрек – круг.
Нейросеть почему-то не захотела решать через вероятности решать, говорит вариантов мало. Тогда попробую так:
GPT:
GPT:
A * X = B,
где A – матрица коэффициентов системы,
X – столбец неизвестных,
B – столбец свободных членов.
Таким образом, для нахождения P (?), нужно решить данную систему, где B будет состоять из нулей, кроме последнего элемента, равного 1.
И так, нейросеть дала корректный ответ, соответствующий правильному решению. Вот я и получил расчеты, которые мозг совершает, решая эту задачку.
Бесконечный двигатель в виртуальной реальности