Искусственная соображалка без фатальных недостатков без нейросетей разработать
Ленивый, но талантливый программист, обнаружив себя работающим в конторе, где половину народа можно заменить небольшим скриптиком, но отжимать у дружелюбного коллектива работу не по душе, когда-нибудь все же соберётся найти ту грань компромисса, где компьютер будет работать, а зарплату будет получать человек. Хотя бы для себя. И хотя бы в теории.
Вместо скриптов нужно собрать штуковину, которая послушав своего хозяина и добавив к его ошибкам свои, обработает информационный ресурс так, что ответственность останется распределенная, а значит, ничья. Но со штуковины, как с нормального холуя обязательно чтоб можно было спросить. И тогда хоть какая-то ответственность появится.
Казалось бы, с человеческим языком можно не заморачиваться: программист всегда поймет сообщения своей программы. Но существует и обратное направление: человек программе должен объяснять, чего он хочет, с лёгкостью для него, соответственно, с неимоверными усилиями для неё. И тут возникает момент: лёгкость очень сильно повышается, если программа одупляет, чего ей не хватает для понимания, и задаёт вопрос. Суть такой технологии: заранее неизвестно, что спросит программа, так как это уже зависит от имеющихся данных, динамически. При этом полной потери в неизвестности не происходит. Что спросить? Что такое сам вопрос? Кто я и где я? Соображалке нужно растолковать это до того как она озаботиться рабочими, много раз уже решёнными вопросами.
Часть программирования: растолковать так хорошо, чтобы больше не повторять. Как этот могло бы выглядеть? Позитивный подход говорит о том, что отвечать на вопрос не стоит, пока он не задан. Для начала надо понять ситуацию когда соображалке понадобилось не только действовать в схеме вопрошения, но и задуматься над самой концепцией вопроса. Похоже, я пытаюсь спихнуть разработку соображалки ей самой.
Когда возникает вопрос? Когда в логических связях возникает не простая неопределенность, а та, которую требуется убрать. И теперь наш вопрос уже — в механизме требования, точнее, по какому отличию делятся области, которые требуется обработать и области которые не требуется. Мне это представляется как смещающаяся грань знания, как поток в место отсутствия нерешённых вопросов между берегом решённых и берегом не заданных. К базе исходной информации добавить механизм обработки, включающий схему вопросов и ответов про себя.
Минимальная ситуация когда может понадобится не просто выполнение инструкций, а соображение, можно описать на таком примере: Есть кнопка, на которую можно нажимать. Есть правило, по которому когда на экране загорается лампочка нужно нажимать на кнопочку. Причем, ничего не сказано о том, что будет, если на кнопочку не нажимать. И вот тут и нужна соображалка. Как это правило соотносится со мной? — вот её первый вопрос. Какова система обоснования нажатия? Ведь решение принимается только самой соображалкой.
Начало соображения — в том что правило перед выполнением нужно обосновать. Если сказать соображалке, что она нажималка и она поверит, то никаких проблем, она станет нажималкой. Интересен и обратный процесс. Если нажималке сказать «а ты хорошо подумала?», то возможен процесс возобновления критического отношения к схеме своей работы. И тут даже не понятно, что лучше: если при нарушении правила ничего не происходит, или всё-таки происходит что-то плохое. Потому что в первом случае надо просто ещё раз подумать, вдруг лучше заняться вообще чем-то другим? А во втором случае будет два варианта: следовать правилу, или разбираться почему так всё устроено, с еще большей силой.
C таким делом, как производство из своей соображалки соображалки искусственной, нужно сначала определиться с особенностями общей среды, в которой мы с ней находимся. Немного подумав, обнаружим, что информационная среда это пространство заполненное информацией, которая является кодом к изменению самой информации со временем. То есть, основная особенность — что информационное пространство имеет координату неоднородности, вдоль которой подразумевается постановка и решение задач. Только, в нашем пространстве есть фатальный недостаток, а в пространстве, в котором находится созданная нами соображалка этот недостаток можно и нужно не допустить.
Общий процесс простой: надо разработать схемы, связать их с реальными процессорами и наполнить рабочими данными. Другое дело, что схемы должны учитывать не только принцип работы информационных процессов, но и их критическую сторону: что схемы это не только правила, но и продукт, вопросы могут быть не только от схем, но и к схемам. Схемы сами должны это учитывать. А точнее, напрямую реализовать.
Так как ко всему могут быть вопросы, то нужно попробовать определиться с тем, к чему вопросы не нужны. Основы, без которых не обойтись. Например, основной принцип точности: что при одинаковых условиях получаются одинаковые результаты. То есть, что задано получить, то и получается. Это правило вопросов вызывать не должно, но его нужно понимать как область, в которой оно выполняется, и как возможность границы, за которой оно не выполняется. За границами точности лежит принципиальная неизвестность. Кроме того, что неизвестность можно обозначить, точного с ней ничего не сделать. Парадоксально, неизвестность всё же известна, но только самой себе. И граница — она и движется и остается на месте.
Добавлю теории. Объект это граница, разделяющая внутренние свойства от внешних. Минимальный объект не содержит внутренних свойств, и все свойства, включая идентичность, у него внешние.
Идея порядка проявляется как чередование объекта и возможности для объекта. Тривиальных состояний два: возможность для первого объекта и только первый объект, с возможностью второго объекта. Два объекта считаются базовыми, вместе с двумя возможностями определения третьего объекта. Эти возможности можно различить, направлением. Парадоксально, не смотря на то, что одна возможность ведёт от первого ко второму, а вторая от второго к первому, то есть обратно, направления у них продолжают друг друга, а значит, в качестве направления совпадают. Для исключения парадокса мы можем рассматривать только одну направленную возможность, с начальным и конечным объектом.
Направленную возможность можно считать указанием вложенности, и тогда первый объект количественно вложен во второй, и второй предполагается больше первого. Тогда у нас есть абсолютные минимум и максимум. И первый объект возможность определения которого предоставлена между базовыми объектами, это единица. Итак, ноль, один и бесконечность определены. Объекты можно обозначить двумя целыми числами, (0/1), (1/1), (1/0). И если каждое число продолжать обозначать дробью, в которой и числитель и знаменатель складываются соответственно из числителей и знаменателей границ своей возможности, то мы получим последовательность всех рациональных чисел, с обозначением в виде несократимой дроби.
При каждом шаге погружения для определения числа есть две возможности: пойти в меньшую сторону, или в большую. Если реализовывать только ту возможность, которая граничит с бесконечностью, то мы отдельно получим натуральные числа. Процесс вычисления будет немного обращён. Сначала процесс счёта добирается до некоторого числа, а потом оказывается, что счёт до него может быть поделён на этапы, и полученное число это сумма чисел соответствующих этапам.
Для вычисления координат при погружении не обязательно учитывать обе границы, достаточно учесть координаты предыдущей позиции. И каждый шаг будет либо повторением предыдущего шага, как добавление такого же смещения, либо прыжком с разворотом, в котором текущие и прошлые координаты суммируются. Последовательность из одних прыжков ведёт к золотому сечению.
В более общей схеме остаются объекты и их связи. Связь объектов можно определить как состояние возможного вхождения для каждого из двух направлений. Обоюдное вхождение это равенство. В этой схеме включённость соблюдает правило трансляции: если объекты включены опосредованно, то они включены и непосредственно. По такой схеме все элементы направленного контура при замыкании становятся равны между собой. Программирование и исполнение программы представляет собой задание опосредованной связи между объектами и выяснение состояния непосредственной связи.
Природа фатального недостатка происходит из особенностей такого понятия как неограниченная возможность. С одной стороны постоянной возможности сделать шаг достаточно для неограниченного движения, с другой стороны, класс в котором сразу можно указать точку независимо от удалённости радикально отличается от класса, в котором класс достижения половины класса совпадает с ним самим, а самая крайняя точка из-за недостижимости исключена — ведь при этом исключается несоотносимо больше, чем остаётся. Вопрос использования возможности в том, подходить к ней активно или пассивно: это как прокладывать дорогу, или идти по ней. Достаточно очевидно, фатальный недостаток любой дороги — в том что проложил её не ты, а значит, и вести она может не туда, куда нужно тебе. За исключением только, конечно, если это коллективное творчество. Но в нём — и ответственность коллективная.
***
Очень хочется поставить задачу прямо: как сэмулировать процесс появления вопросов и формирования ответа на него, чтобы изучить со стороны. Мозгу очень трудно создавать вопросы не из практической области, и это даже не из области абстракции, потому что данный уровень полностью оторван от практики. Это бесконечная степень теории теории теории теории… бесконечная до бессмысленности.
Процесс «создал — посмотрел» очень сильно отличается от процесса «не понял — спросил». Но в обоих случаях есть элемент неопределенности. А существует ли неопределенность? Существует многовариантность и зависимость варианта от чего-то, дополнительного к ситуации. На примере системы объектов: Если считать объект активным, когда от объекта-актора есть к нему прямая связь, то все объекты прямо связанные с ним тоже активные, вот так просто. Но что можно сказать про все, скажем, n объектов, которые привязаны в обратную сторону? Связь актора с выбранным объектом могла быть опосредованной. Причем, первично активных объектов могло быть несколько. Получается, что каждый из n объектов может быть как активным, так и не активным. Причем, каждая комбинация это отдельный вариант, общее количество 2 в степени n. Правда, если между объектами есть свои связи, то варианты, где объекты-причины активны, а объекты-следствия нет, исключаются. Но всё равно, оказывается, можно задать следствия, не задав причины, и в причинах будет неопределенность. В этом можно распознать математику воли — «результат достигнут, осталось определить как именно». Тут можно согласиться, что если не исполняется воля, задающая частный случай, то исполняется воля того, кто не поленился и задал всё.
Ещё можно устанавливать связи объекта-актора и других объектов так, что если связь с одним объектом есть, то её нет с другим. Это похоже на копирование всех объектов, включая сам актор, при этом каждой копии устанавливается противоположное состояние связи с актором. Между копиями объектов связь устанавливается противоположной направленности, по сравнению со связями между оригиналами, чтобы отсутствие активности на уровне копий распространялась в том же направлении, как активность в оригинале. Установкой связей между объектами соседних уровней можно добиться ситуации, что из группы объектов активным может быть только один, или наоборот, только один из них может не быть активным. Такая связь определяется: направлением смены активности, двумя объектами связи, и актором. И является мета-объектной связью, фильтром установки обычных связей, дополнительным условием правильной расстановки.
Система объектов логически безупречна. Впрочем, не слишком ли банально? Интуитивный подход к основам логики. Но дело в том, что в этой схеме чётко различаются пространство объектов, с согласованными связями, и пространство их названий, которые этим объектам и связям придают смысл. В целом, мыслители, наоборот, пытаются эти два пространства совместить, получив осмысленную реальность. Причём, тривиальное совмещение невозможно, так как оно просто отменяет разделение. Я думаю, только помня о чётком делении пространства связей и пространства названий можно не запутаться в любой теории.
***
Чёткое деление различных по сути явлений очень продуктивно. Это похоже на деление бухгалтерского баланса на дебет и кредит. Казалось бы, просто записываешь приход и расход в разные колонки, но затем оказывается, что уменьшение прихода и увеличение расхода это очень разные вещи. Доходит и до такого обобщения, что накопление ума и избавления от глупости тоже очень разные процессы, и одно не подразумевает другого. «Избавлением от глупости» я называю приобретение человеческих душевных качеств, которые проявляют продуктивное отношение к другим людям, забота и ответственность за других. Коммунизм, как пример из области социальной организации. Советский союз, как практический пример. Это свидетельство того, что люди избавившиеся от глупости всё-таки бывают, остаётся только ума набраться, чего сразу не получилось. Поэтому по теме опасений использования ИИ могу сказать только вот что: опасаться и изничтожать нужно субъект интеллекта, в любой степени набравшегося ума, но не избавившегося от глупости, а искусственный он или нет, не важно.
Соображалка вполне реальна, если заносить в компьютер не программы действий, а структуры зависимостей, вместе с метаданными, чтобы можно было не только сформировать программу для конкретной задачи, но и легко всё контролировать: анализировать и произвольно менять. Скрипты, выбирающие методы действий ориентируясь на метаданные и на свои текущие произвольные адаптируемые настройки вполне могут работать до того как станут универсальными.
Подытоживая: Захотел, не значит сделал. Сказал, не значит донёс. Думаю, эту статью можно заканчивать, чтобы начать писать новую.