Как стать автором
Обновить
9
0
Алексей @ai_borisov

Наука и Разработка программных комплексов

Отправить сообщение
хотя, скорее всего, нам так и не удастся ответить на вопрос, что такое алгоритмы...

Не разделяю Вашего пессимизма.


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

Определение существует. На Хабр есть серия статей "Что такое алгоритм?!", в которой есть ссылки на это определение.


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

Нет, представленное там определение алгоритма не перечёркивает обозначенную Вами математическую теорию, а расширяет и дополняет её.


Ваше нападение на существующие свойства алгоритма поддерживаю. Эти свойства действительно необходимо пересмотреть и систематизировать.


С уважением

Спасибо за ссылку

Здравствуйте


За "игру" — пожалуйста.


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


критика: я бы оставил чуть поменьше воды

Спасибо. Люблю критику. Проблема с "водой" в том, что для разных людей одно и тоже предложение может быть и "водой", и чем-то новым. Трудно писать текст, не зная какой человек этот текст прочтет. Знает ли этот человек об эксперименте "Китайская комната", или необходимо добавить "воды" и описать его суть. И если совсем "спустить" всю воду останется лишь формальная теория. Она уже есть в теоретической книге, но читать её без "воды" тяжеловато. Поэтому баланс "воды" требует калибровки в каждом сообществе. В этой серии статей пока только нащупываю нужный уровень "водянистости". Первый опыт научпопа тяжеловат, но интересен.


Но должен быть кто-то, кто напишет этот алгоритм <"игра Го"> используя язык программирования

Вопрос скорее не в том, что это написание невозможно. А в том, насколько оно целесообразно. Раньше искали способ сделать из свинца золото. Искали в химии. Не получилось. С точки зрения физики этот процесс уже не невозможен. Но насколько он эффективен? Целесообразно ли разрабатывать процесс ядерного синтеза золота из свинца или дешевле найти золото, уже синтезированное, спрятанное в недрах нашей Земли? Если возвращаться к Алгоритму игры Го. А насколько дороже получится создание этого алгоритма на языке программирования (верю, что оно возможно) чем то решение, которое уже сейчас демонстрирует AlphaGo?


<машины> через пару лет будут лучше понимать смысл текста

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


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

А если "нейронка" будет способна настраивать другие "нейронки" под решение разных задач с некоторой поставленной ей целью, будет ли это "сознанием"?


тем не менее сейчас человеческий мозг — её платформа. Можно ли создать что-то получше? Ну да.

В этом с Вами соглашусь. Действительно, "получше" создать можно.


Спасибо за Ваш отзыв
С уважением.

Здравствуйте


Опубликована новая статья серии: Что такое алгоритм?! "Искусственный интеллект"


С уважением

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

Вся серия статей планомерно ведёт к тому, что необходимо "расширить" значение термина "Алгоритм", для того, чтобы им можно было пользоваться вне "уровня абстрактно-логического мышления". В этом уровне имеем "Вычислительный алгоритм", согласующийся согласно тезису Чёрча-Тьюринга с функцией, вычислимой на машине Тьюринга. Используя этот термин, сталкиваемся с неразрешимыми проблемами при попытке описания алгоритмов поведения человека. Но описывать развитие поведения необходимо, а потому необходима формализация термина "Алгоритм поведения". В предыдущей статье было обсуждение этого вопроса.


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


Изучая возможности развития алгоритмов поведения человека на "абстрактных" примерах "древнего Физика" (статья Физика) и "древнего Математика" (статья Математика), можно обнаружить, что, например, понимание "смысла чисел" можно объяснить проще, чем указание на наличие врожденного "Чувства численности". И тогда генетически предопределенным у человека останется не это "чувство", а способность "изобретать и использовать алгоритмы поведения" (именно поведения, а не вычисления). Уже после публикации статьи "Математика" в её комментариях меня "направили" изучать труды Ж. Пиаже, в которых на основе серии весьма изобретательно продуманных экспериментов по контролю изучения ребенком некоторого математического действия (например, "сложения физическим объединением объектов") строился анализ "операций" (в терминах Пиаже), необходимых для исполнения этого действия. Согласно наблюдениям Пиаже такие "операции" накапливаются в арсенале ребенка с возрастом. И эти операции еще не "арифметические". Эти "операции" — это элементарные "алгоритмы поведения" в моей терминологии. В Вашей терминологии это "образы". Используемое нами слово, конечно, не так важно. Но называя это "алгоритмом", можно получить готовые способы как существующие алгоритмы можно объединить (из опыта программирования). В то время как готовых способов для объединения "образов" я пока не знаю. Как, например, объединить "образ игры в салочки, поглотившей внимание ребенка" и "образ бабушки, попросившей его в 10 часов вернуться домой"?


Спасибо за обилие ссылок в Ваших комментариях. Нашел в них работы Д.Тененбаума. Читаю.
С уважением.

Текущая статья была дополнена выводами:


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

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

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


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

С уважением

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


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


С уважением.

Подправил в статье вывод. Снова поспешил и перемудрил, но стараюсь здесь исправиться.


Следующее завершение "подразумевалось", но было коряво исполнено и не досказано:


Кажется, что в статье совсем позабыта заявленная над катом "формализация познания"? Не совсем так. И самые внимательные могут подтвердить: ключевые моменты сформулированы, но зачем-то удержаны на втором плане повествования. Для этого есть причина. Всё объясняется планомерным движением к цели, выбранной при создании серии "Что такое алгоритм?!". Каждое слово, написанное под этим заголовком, ведёт к её заключительной статье, в которой необходимо зафиксировать единственно доступный нам способ Познания и на основе этого дать определение слову "Информация". Да, эта цель достижима, но, как Вы видите, каждая статья не становится легче предыдущей. Перед заключительной статьёй нам необходимо сделать всего одну тематическую остановку. Давайте попробуем с использованием всех ранее отмеченных закономерностей растерзать "Искусственный интеллект"?

Достойна обсуждения возможность Хабра исправлять статьи после их опубликования. Стоит ли платформе позволять это делать? Чем это может быть чревато?


С уважением всем, поставившим статью в закладки.

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


Тем более, что при прочтении старых статей обнаружен интересный эффект осмысленного текста (в терминах ОТА). Часть смысла, который содержался в твоём контексте во время написания, со временем теряется. Он не фиксируется в тексте статьи, но в процессе написания и публикации это никак не обнаруживаемо. А вот по прошествии времени внутренний контекст меняется, и при чтении становятся видны все допущенные пропуски в основной теме. Тянет сесть и дописать. А Хабр это позволяет. Надо выделить время для коррекции статей ("Жизнь", "Язык" и текущей).


С момента последней записи в этом журнале выпущен релиз v1.5.1 (2021-12-02). К этому релизу была написана автоматизация CI на GitlLab для верстки pdf для каждого коммита теоретической книги. Основные изменения и дополнения касаются проработки трансляционного и интерполяционного синтеза в модели памяти. Начато описание и формирование терминов виртуального синтеза в модели языка.


Теоретическая книга ОТА доступна к скачиванию: (20211202.pdf)


Cписок изменений:


Дополнено содержание
  • Оформлен коммуникационный синтез
  • Подготовлена терминологическая основа для виртуального синтеза
  • Закреплены 6 основных способов синтеза
  • Введён способ синтеза трансляцией
  • Обозначен интерполяционный способ синтеза
  • Определена граница между трансляцией и интерполяцией алгоритма
  • Введена система изоморфизма как специализация системы трансляции
  • Задана основа целевой направленности для процесса интерполяционного синтеза алгоритма (ключевое отличие от других способов синтеза)
  • Базовые стратегии эвольвера и их эволюция
  • Термин сознание перенесен в эпоху памяти
  • Язык переопределен с использованием термина модель
  • абстрактный синтез -> виртуальный синтез
  • Обозначены специализации виртуального синтеза
  • Изменена структура эпохи кода
  • Из статьи: Правила развития программного проекта
  • Из статьи: ООП

Добавлены термины
  • Абстрактная модель
  • База (базовый интерфейс)
  • Блок кода
  • Виртуальный символ
  • Выслушивание текста
  • Ген
  • Запись текста
  • Исполнитель текста
  • Контекст эвольвера
  • Носитель текста
  • Осмысленный текст
  • Система моделирования
  • Смысл текста
  • Стратегия эвольвера
  • Строка
  • Текст
  • Хранение текста
  • Чтение текста
  • Шаблон

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


Надеюсь, теперь сформулировать ответ на Ваш комментарий. Простите за такую задержку)


Ваша следующая фраза:


«Исполнителем» в каждом конкретном случае по сути было «мироздание», работающее по определенным законам…

созвучна с первым тезисом, который очень коряво пытался сформулировать в статье. Да, "Исполнитель — это закономерности мироздания".


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


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


«Алгоритм — точное предписание о выполнении в определённом порядке некоторой системы операций, ведущих к решению всех задач данного типа». (Философский словарь / Под ред. М. М. Розенталя)


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


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


Забавный эффект получается при прочтении старых статей. Часть смысла, который был твоим контекстом во время написания, со временем теряется. Он не фиксируется в тексте статьи, но в процессе написания и публикации это никак не обнаруживаемо. А вот по прошествии времени внутренний контекст меняется, и при чтении видны все допущенные пропуски в основной теме. Хоть садись и дописывай)))


Спасибо Вам за комментарий.


С уважением.

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


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


Но это был простой вариант.
А если взять два экземпляра нетренированной ИНС посложнее (AlphaGo). И натренировать один экземпляр для игры "Го", а второй оставить для распознавания пчелок (пример достаточно условный, но не думаю, что это непосильная задача для обозначенной ИНС). Синтезированные в результате тренировок алгоритмы очень различаются. Пчелок как в прежнем варианте узнают-распознают. А вот в "игроке Го" ситуация посложнее: наблюдаются последовательности действий, стратегические композиции.


Здесь уже достаточно сложно сказать, что эти две натренированные ИНС решают одну задачу.


Но, конечно, это не делает сложный вариант ИНС совсем не вписывающимся в определение алгоритма Кнута. Просто задача у алгоритма ИНС не тривиальная — алгоритм создания алгоритма решения другой задачи и алгоритм исполнения созданного алгоритма. Например, если это будет алгоритм сборки "Ханойской башни", то синхронно будут исполняться два алгоритма (вычислительный и синтезированный сборочный). Какой-то из них, конечно, будет соответствовать терзаемому определению.


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


С уважением.

Мне категорически не хватает собеседника, углубленно владеющего обозначенной Вами областью знаний. Есть вероятность, что диалог будет нам обоюдно полезен, конечно, если у Вас есть на это время и желание. Моя электронка доступна на GitLab.


В любом случае рад нашему знакомству.

"Алгоритм — это конечный набор правил, который определяет последовательность операций для решения конкретного множества задач и обладает пятью важными чертами: конечность, определённость, ввод, вывод, эффективность (Д. Э. Кнут)."

Нервная система — это 100-процентно алгоритмизированная структура

Поведение человека это алгоритм?


Если поведение приравниваем с алгоритмом, то:


Как организована нервная структура конечного набора правил?
Какая последовательность операций в процессе слушания человеком классической музыки?
Какая "определенность" у первого прослушивания ребенком сказки "Колобок"?
Что есть "вывод" в прослушивании ребенком сказки "Колобок" в пятый раз?


Если термин алгоритм нельзя использовать для описания поведения, то:


Каким словом описать то в поведении, что в некоторых примерах весьма детально соответствует определению Кнута (приготовление салата по рецепту), а в некоторых неуловимо выскальзывает между его "важных черт"?


Можно придумать новый термин, например, "Мета-алгоритм". Станет ли проще от этого объяснение, если указать, что в этом термине нужно из привычного алгоритма удалить "последовательность" при этом, добавив "повторимость"?


Имеет ли право на существование любой и вариантов введения нового термина (расширение смысла слова "Алгоритм" или введение "Мета-алгоритма"), если он дает простые ответы на все перечисленные вопросы?


Многовато вопросов. Тут лучше остановиться.


С уважением.

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


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


Да, способ используемый в ИНС тождественен по сути приведенному в текущей статье синтезу поведения. Этот способ интерполяционного синтеза алгоритма. И в полученном в ИНС алгоритме, как и в памяти человека, нет последовательности зачастую нет и определенности, а в наличии только структура исполнения. Это достаточно просто объяснимо в несколько подправленных терминах ОТА. Но попытки объяснить необходимость пересмотрения существующих терминов всегда встречаются в штыки.


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


Спасибо Вам за комментарии.


С уважением.

Промахнулся в интерфейсе. Ответ в основной ветке.

Здравствуйте.


Указанному в текущей статье предложению далеко до высокого титула "Определение". Пожалуй, это больше именно "суть", которая опускается почти во всех имеющихся определениях слова "Алгоритм". На самом деле легко объяснимо, почему свойство "повторимость" не упоминается даже в приведенной Вами формулировке Кнута. Это определение про "математический алгоритм" (вычисление). Способы описания и выполнения вычислений почти во всех случаях делают повторимость неизбежной. Совсем не так для алгоритмов поведения.


Возьмем алгоритм поведения: "Съешь первый гриб, встреченный на пешей прогулке по лесу". Осенью в грибную пору он вполне конечен. Для исполнителя-человека — вполне определен. Что здесь будет вводом? Ну, допустим, лес. А вот "вывод" и "эффективность" довольно туманны. Какая задача у этого алгоритма? Наесться, интересно погулять или поиграть в "русскую рулетку"?


Все заданные вопросы совсем не к тому, что определение Дональда Кнута некорректно. Просто оно не подходит для анализа алгоритмов поведения. Для этих "алгоритмов" необходимы другие "важные черты". И одна из критически важных особенностей алгоритмов поведения — это "Повторимость". Про эту и другие особенности первая статья серии. Способы играться по-другому устроенным определением алгоритма во всех остальных статьях, но ни в одной из этих статей нет "Определения". И это сделано намеренно. Статьи — развлечение и привлечение внимания. Теория и определения в проекте на GitLab. Там же место обсуждению достоинств и недостатков предлагаемых формальных определений.


Спасибо Вам за отзыв.


С уважением.

Здравствуйте


Опубликована новая статья серии: Что такое алгоритм?! "Философия"


С уважением

Спасибо. Люблю критику.


Вы правы во всём, даже про "глобус". И, да, опасности используемого метода исследования существуют, но есть и способ их обходить. Достаточно добавить контроль с проверкой "вдуманных" моделей экспериментальными данными.


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


С уважением.

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


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

Проект унаследован от проекта "Пылесос в лабиринте". Лицензия GNU AGPL.


Для заинтересовавшихся Gitlab проект "Футбольный комментатор": cm_football. Заявки на участие приветствуются. Всегда им буду рад на почте (aiborisov84@gmail.com).

Понимаю Вас. И желаю удачно завершить намеченные Вами проекты.


Мне был очень полезен наш диалог. И задача "Футбольное поле" уже внесена в план необходимых реализаций. Возможно, это будет исключительно личная реализация, а может кому-нибудь с форума будет интересно посмотреть и присоединиться.
В любом случае спасибо Вам за задачку. И если у Вас будет время и желание с ней "поиграться" в уже готовом виде или в процессе изготовления — напишите. Можно в личку Хабр или на почту.


Всегда с уважением

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность