Данный текст содержит пояснения к алгоритму из моей первой статьи “Алгоритм мышления и сознания”. Тезисы первой статьи:

  • Феномен субъективного мышления можно алгоритмизовать.
  • Предъявленный в статье алгоритм мыслит и этим можно воспользоваться практически.
  • С помощью алгоритма мышления можно дать определение сознания в асимптотической форме.

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

В основе алгоритма мышления лежит формальная логика сложности с такими свойствами:

  1. Объектами логики являются абстрактные теории.
  2. Любая теория обладает сложностью и эту сложность можно явно проверить.
  3. Из любой теории можно вывести более сложную теорию.
  4. Из любой сложной теории можно вывести простую теорию.
  5. Из двух разных теорий будут разные выводы.
  6. Любая теория содержательна. Теория называется содержательной если она является уникальной и бесконечно сложной. Практически это значит, что из содержательной теории можно построить потенциально бесконечную цепочку выводов, такую, что все выводы в цепочке уникальны и каждый следующий вывод сложнее предыдущего.

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

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

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

Соответственно, абстрактные теории делятся на два типа: простые и сложные. Теория называется сложной, если из нее, с помощью некоторой процедуры, можно вывести уникальный набор простых теорий. В свою очередь, для всех простых теорий та же самая процедура возвращает константный результат и, таким образом, сложность простых теорий одинакова. Ввиду того, что сложность в рассматриваемой логике определяется конструктивно, её можно вычислять и сравнивать. Две теории имеют одинаковую сложность если их можно разложить на одинаковое количество простых теорий. Чем больше простых теорий можно получить, тем сложнее исходная теория.

Формальное определение сложности. На множестве теорий S = P ? C, где P = {s ? S | A[s] = ?} подмножество простых теорий, C = {s ? S | A[s] ? ?} подмножество сложных теорий, оператор A: S > 2P задает сложность, если ?(c1,c2) ? C, c1 ? c2, A[c1] ? A[c2]; то есть, для любой сложной теории имеет место уникальность разложения на простые. В свою очередь |A[s]|: численная мера сложности s.

Логика сложности. Множество теорий S, оператор A, и оператор D: S > S такой, что ?s ? S, |A[s]| < |A[D[s]]|, и ?(s1,s2) ? S, s1 ? s2, D[s1] ? D[s2], задают логику сложности. Оператор D из любой заданной теории выводит новую, гарантированно более сложную.

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

Множество теорий. Для представления теорий используются строки которые состоят из произвольной последовательности круглых скобок ‘(‘, ‘)’ и любых графических идентификаторов внутри скобок. Для лаконичности каждая буква считается отдельным идентификатором. Всё содержимое строки должно быть заключено в общие наружные скобки. На каждую открывающую скобку в строке должна быть закрывающая. Пример: строка ((b)a(e)) правильная, тогда как строки (b)a(e), (a(b(e) неправильные.

Множество теорий S состоит из всех возможных правильных строк.

Две строки равны если они совпадают с точностью до перестановки неделимых элементов в подстроках. Пример того, как можно переставлять элементы: (ab(cd)) ? ((cd)ab) ? (b(dc)a) ? … ? ((dc)ba). Пустые подстроки не значимы и выбрасываются, например, (a()) ? (a).

Правила вывода. На множестве S заданы три правила вывода.

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

((ab)(ac)) ? (a(bc));

((ab)(abc)) ? { (a(bbc)), (b(aac)), (ab(c )) };

((ab)(ac)(ae)) ? { (a(bce)), (a(bc)(ae)), (a(ab)(ce)) };


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

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

(a) ? { ((aa)(aa)), ((aaa)(aaa)(aaa)), ((aaaa)(aaaa)(aaaa)(aaaa)), …};

(a(b)) ? { ((aa(bb)(bb))(aa(bb)(bb))), ((aaa(bbb)(bbb)(bbb))(aaa(bbb)(bbb)(bbb))(aaa(bbb)(bbb)(bbb))), …};

(a(b(cc))) ? { (aa(bb(cccc)(cccc))(bb(cccc)(cccc)))(aa(bb(cccc)(cccc))(bb(cccc)(cccc))), …};


Правило композиции. Любой набор строк из S, можно объединить в одну строку. Например: (a), (b), (e) ? ((a)(b)(e)).

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

Хочу обратить внимание, что в основной статье, оператор абстракции, в отличие от оператора A, в результат своей работы включает не только простые, но и вообще все строки которые можно вывести по правилу абстракции.

Оператор D. Правило дедукции с заданным параметром дублирования соответствует действию оператора D. Из любой заданной строки по правилу дедукции можно вывести более сложную строку, и этот факт можно проверить при помощи оператора A.

Оператор композиции (). Соответствует действию правила композиции.

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

Содержательность теорий. В логике сложности каждая теория содержательна. Поскольку ?s ? S существует уникальная цепочка выводов tn = (A[D[tn-1]]) возрастающей и потенциально бесконечной сложности.

Гипотеза неразрешимости. Множества общего вида Ts = {p ? S | ?n ? N, p ? A[D[tn]]; tn = (A[D[tn-1]]); t0 = s} я считаю неразрешимыми. Множество Ts содержит все простые строки которые выводятся рекурсивной функцией tn из стартовой строки s. При условии неразрешимости Ts, вывод tn является алгоритмически случайным. Доказательств нет.

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

Мышление реализует сознание в асимптотической форме. Грубо говоря, “сознание теории” это предельное, бесконечно сложное содержание, к которому стремится tn в процессе вычислений.

Субъективный опыт. Субъективные переживания это прерогатива сознания. Сознание неконструктивно.

Будет ли компьютер переживать во время вычислений? Нет. Но в результатах вычислений могут быть переживания на счет компьютера.

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

Комментарии (8)


  1. Kanut
    03.09.2019 20:58

    Прежде всего я исхожу из предположения, что разумность и сложность это одно и то же.

    И на этом прочтение статьи лично для меня закончилось…


    1. sshikov
      03.09.2019 21:29
      +1

      Мне еще прошлой статьи хватило :)


  1. kkirsanov2
    04.09.2019 10:13

    Любая теория содержательна. Теория называется содержательной если ...

    Раз любая теория содержательна, то разве не следет в целях экономии мышления не давать определение содержательной теории?


  1. andyudol
    04.09.2019 10:24

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


    То есть из бесконечно сложной теории можно вывести вывести ещё более сложную? ?++?


  1. user_man
    04.09.2019 13:18

    Чем ваш подход лучше других (гораздо глубже проработанных) подходов математической логики? У вас строки, в мат.логике логические конструкции. Суть обоих — носитель информации, но в мат.логике добавлена информация о логических зависимостях, у вас же просто выделение общей подстроки без каких либо дополнительных ограничений. Плюс выделять подстроку можно многими способами, который из них предпочтет ваша система? Пример — строка «abacab», в ней можно выделить а, можно выделить ab, можно выделить b и a, но потерять 2*ab и сочетание ac. Можно выделить a(b(c )), но как потом восстановить до исходного?


  1. Little_Buddha
    04.09.2019 16:30

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


  1. vadimr
    05.09.2019 02:27

    Вы это всё серьёзно???

    Мышление, когда оно не занято решением математических задач, не сводится к логическому выводу.


  1. surVrus
    05.09.2019 13:13

    Прежде всего я исхожу из предположения, что разумность и сложность это одно и то же.

    1. Прежде всего, это нарушение первого закона логики Аристотеля. Про определения понятий. Если Вы определили «разумность» равно «сложность» — то возникает неоднозначность в толковании смысла обеих слов.
    2. «Сложность» в этом контексте не равно «разумность». Это когнитивная ошибка. Перестановка причины и следствия не допустима для моделей реального мира, пока иное прямо не доказано. Пример: «многие террористы — арабы». Но «многие арабы — террористы» — неверное суждение.
    3. Поэтому утверждение про разумность сложного алгоритма — неверное.
    4. Разумность — это свойство биологических объектов. Алгоритм или модель не может быть разумным. Алгоритм или модель могут выглядеть (иметь вид, иметь поведение) похожее на действия разумных существ. Для более корректной формулировки рекомендую прочитать «Бомба мегабитовая» Лема.