Лекция
Привет, мой друг, тебе интересно узнать все про недоопределенные вычисления, тогда с вдохновением прочти до конца. Для того чтобы лучше понимать что такое недоопределенные вычисления, технология активных объектов, тао, генеративный искусственный интеллект, н-вычисления , настоятельно рекомендую прочитать все из категории Связь с другими науками и явлениями культуры.
Управление по данным (data-driven) - универсальная архитектура, организующая вычислительный процесс на принципах, качественно отличных от традиционного алгоритмического управления. Технология обеспечивает естественную параллельность и высокую эффективность вычислений, может служить основой для создания новых операционных систем и аппаратных технологий 21-го века.
недоопределенные вычисления ( н-вычисления ) принципиально новая теория и технология эффективного решения широкого спектра проблем от прикладных вычислений до задач искусственного интеллекта. Эта технология использует управление по данным с его естественной параллельностью и высокой эффективностью. Качественно расширяет возможности работы с информацией и вычислительными моделями повышенной сложности, позволяя значительно упростить процесс создания следующего поколения систем и технологий, в частности, в таких областях, как экономика, финансы, менеджмент, управление сложными объектами и производственными процессами, инженерные расчеты, и т.д.
За рубежом данное направление получило название constraint programming (программирование в ограничениях) и с начала 90-х годов все более интенсивно разрабатывается в качестве одного из наиболее перспективных. Аппарат н-вычислений позволяет снять ограничения, характерные для традиционных методов, и обеспечивает качественный скачок в технологии информационных систем: значительное расширения спектра решаемых задач, повышение качества получаемых решений, и, как следствие, экономию времени и средств пользователя. При этом на многих классах задач эффективность решения повышается в десятки раз по сравнению с лучшими известными алгоритмами.
Что же такое Недоопределенность?
Для того, чтобы ответить на этот вопрос, проще всего начать с базового понятия любой формальной системы — с переменной. При этом стоит напомнить, что существует по крайней мере два основных, качественно различных, понятия переменной: алгоритмическая и классическая.
Алгоритмическая переменная, связанная с использованием алгоритмов и появлением языков программирования, является, по сути дела, именем ячейки абстрактной памяти, в которую могут помещаться различные значения, меняющиеся по ходу исполнения соответствующей процедуры. Такая переменная не имеет отношения к нашей теме и исключается поэтому из дальнейшего рассмотрения.
Классическая переменная — базовое понятие математики — представляет некоторую неизвестную величину, связанную условиями задачи с другими известными и неизвестными величинами. При достаточной полноте условий задачи сопоставленная данной переменной величина, т.е. ее значение, может быть определена точно. Таким образом, значение классической переменной отражает некоторую конкретную, заданную условиями задачи, сущность, представляемую в задаче именем данной переменной. В рамках одной задачи значение переменной не может меняться — оно может быть либо неизвестно (неопределено) либо известно (определено).
Таким образом, традиционная математика оперирует с переменными, находящимися в одном из двух состояний: неопределено или определено.
Но подобное упрощение, к которому мы настолько привыкли, что считаем его само собой разумеющимся, годиться только для абстрактной формальной системы.
Для любого реального параметра реальной задачи:
Другими словами, значение реального параметра задачи всегда ограничено (т.е. частично известно) уже в самой ее формулировке, а в процессе решения оно дополнительно уточняется. Причем определенное значение оно получает только в том частном случае, когда (а) условия задачи для этого достаточно полны и (б) имеется метод полного решения этой задачи.
Таким образом, значение реального параметра всегда частично известно, поскольку находится где-то между неопределено и определено, что означает, что в общем случае оно недоопределено.
Традиционная математика игнорирует это ключевое обстоятельство, поскольку не умеет его использовать. В Н-математике же оно является базовым и активно работает: ее переменная (Н-переменная) может принимать любое из недоопределенных значений (Н-значений), каждое из которых представляет собой ту или иную подобласть области значений данного параметра .
Формально Н-значением переменной является любое непустое подмножество области значений этой переменной. Поскольку обычная (традиционная) переменная, сопоставляемая реальному параметру х, может принимать только точные значения, то в Н-математике ее приходится представлять Н-переменной *х, у которой область значений является совокупностью всех непустых множеств точных значений из области значений х.
При этом выражение *х = *а, где *х — Н-переменная, а *а - ее текущее Н-значение, получает следующий смысл: точное значение параметра х, представленного Н-переменной *х, принадлежит подобласти значений, представленной Н-значением *а.
Таким образом, область Н-значений Н-переменной *х является полурешеткой, включающей как всю область значений х (максимально недоопределенное Н-значение *х, которое будем называть неопределенным), так и все не пустые подмножества этой области, — в частности, и определенные (точные) значения х.
В частности, если областью значений переменной А является конечное множество А, то такой переменной А будет соответствовать Н-переменная *А с областью значений *А , представляющей собой множество всех подмножеств А без пустого:
*А = 2 А .
Например, как это показано на рис.1, переменной А с областью значений А, представленной латинским алфавитом {a ,..., z}, сопоставляется Н-переменная *А с областью значений *А , включающей все непустые подмножества множества {a ,..., z}. Т.о. все определенные (однозначные) значения, равно как и все множество {a ,..., z} являются частным случаем Н-значений *А.
Следовательно, что Н-значение способно отражать процесс решения реальной задачи, при котором Н-значение реального параметра проходит последовательные фазы доопределения, т.е.
Другими словами, текущее Н-значение *а Н-переменной *х, представляющей параметр х, равно подмножеству конкретных значений, любое из которых в процессе решения потенциально может стать точным значением *х и х, остающимся пока неизвестным (вернее, известным с точностью до данного Н-значения *а) ввиду недостатка информации. Об этом говорит сайт https://intellect.icu . По ходу решения задачи, включающей параметр х, и\или при добавлении дополнительных данных его Н-значение становится все более определенным и в пределе может доопределиться до точного значения.
Для Н-математики участие Н-переменной в вычислениях — процесс монотонно сходящийся: любая Н-переменная может только уточняться, при этом ее текущее Н-значение становится все менее недоопределенным, заменяясь на одно из своих подмножеств.
ТАО - новая программная технология, обеспечивающая дальнейшее развитие объектно-ориентированного подхода на базе управления по данным. Получающая в мире все более широкое развитие мультиагентная архитектура существенно упрощает спецификацию поведения объектов, превращая их в активные автономные сущности, асинхронно взаимодействующие друг с другом и окружающей средой. При разработке технологии особое внимание уделяется возможности ее применения для систем управления динамическими процессами, потоками данных, САПР, систем со сложными интерактивными интерфейсами и др. Благодаря мультиагентной архитектуре на основе управления по данным ТАО-программы обладают естественной высокой параллельностью, не требующей никаких дополнительных усилий со стороны разработчика или пользователя.
Обзор возможностей ТАО сделан на основе публикаций [Shetsov и др., 1997], [Швецов и др., 1998], а также [Shetsov и др., 1999]. Данный раздел содержит только основные сведения. Более подробные данные и инструкции для построения агентных моделей на основе ТАО см. в указанных публикациях.
Главная особенность технологии активных объектов (ТАО) состоит в том, что она базируется на технологии недоопределенных моделей [Нариньяни], которая относится к наиболее развитым подходам в области программирования в ограничениях (constraint propagation - СР-подход). В ТАО технология недоопределенных моделей ([Shvetsov и др., 1995], [Semenov]) расширена средствами описания и интерпретации динамических интерактивных процессов. Кроме того, ее можно рассматривать как некоторую интеграцию программирования в ограничениях и традиционного объектно-ориентированного программирования. Это означает, в частности, что все аспекты поведения активных объектов и их взаимодействие пользователь описывает не с помощью методов и сообщений, а декларативно, в виде систем ограничений.
Недоопределенные модели (н-метод) разработаны в лаборатории Искусственного Интеллекта ВЦ СО РАН еще в начале 80-х и является в настоящее время одним из наиболее развитых подходов в области программирования в ограничениях. Этот метод, реализованный, в частности, в таких системах как UniCalc и NeMo+, позволяет эффективно решать сложные гетерогенные системы ограничений, в которых линейные и нелинейные уравнения и неравенства могут комбинироваться с теоретико-множественными и логическими отношениями. В классическом варианте н-метод позволяет работать только со статическими унитарными моделями.
Основным понятием ТАО является активный объект, который сочетает свойства традиционных программных объектов и агентов. МногоАгентная Система (МАС) описывается в виде сети активных объектов, состояния и связи которых динамически изменяются. МАС, сконструированная в технологии ТАО, характеризуется следующими возможностями.
Активные объекты существуют в едином времени, которое является встроенным понятием ТАО, и отсчитывается абстрактными часами. С каждым тактом этих часов связывается изменение состояний активных объектов и их взаимоотношений. Модель поведения активного объекта описывается в виде системы ограничений, которая может иметь очень высокую математическую сложность, например, представлять собой нелинейную систему уравнений и неравенств. Решая эту систему, ТАО вычисляет текущее состояние активного объекта, используя в качестве начальных данных информацию о состояниях других активных объектов и сигналы, поступающие из внешнего окружения.
Взаимодействие активных объектов является асинхронным. Каждый активный объект индивидуально определяет момент изменения своего состояния, анализируя события, происходящие в МАС.
ТАО включает средства динамического реконфигурирования МАС. Это означает, что в процессе существования МАС может изменяться состав входящих в нее активных объектов, а также связи между ними. МАС может иметь иерархическую структуру. При этом активный объект более высокого уровня контролируют поведение некоторой группы подчиненных ему активных объектов. Контроль осуществляется с помощью наложения дополнительных ограничений на деятельность этой группы.
В данную технологию построения систем на базе активных объектов заложены следующие принципы:
Язык ТАО представляет собой объектно-ориентированную надстройку над языком UniCalc, где вводятся средства для спецификации сложных (пространственных) объектов, их отрисовки и поведения. Язык позволяет описывать реакцию объектов на сигналы, поступающие от датчиков и манипуляторов (мышь, клавиатура, пользовательская программа), а также на изменение своего состояния и состояния других объектов.
Основные символы языка включают буквы латинского алфавита, цифры и специальные символы.
Спецификация программы, в которой описывается набор активных объектов и их взаимодействие друг с другом, состоит из раздела объявлений, раздела инициализаций и раздела связываний.
<Спецификация> ::= <Объявления>
<Инициализация>
<Связывание>
<Конец спецификации>
<Объявления> ::= Specification
<Описание прототипов>
<Описание функций>
<Инициализация> ::= Initialization {<Инициализация объекта>}
<Связывание> ::= Linking {<Связывание объекта>}
<Конец спецификации> ::= End
Раздел "объявлений" содержит описание прототипов (объектов) и функций над прототипами (объектами). В разделе "инициализаций" происходит присваивание объектам конкретных значений. В разделе "связываний" для объектов, поведение которых зависит от состояния других объектов, устанавливаются связи с этими объектами.
Каждый объект характеризуется набором своих значений, которые хранятся в его полях — слотах. Кроме значений слоты могут содержать ссылки на другие объекты. Активный объект включает в себя набор ограничений на слотах, называемый моделью объекта. Модель содержит правила изменения состояния объекта в зависимости от его предыдущего состояния и состояния тех объектов, которые указаны в качестве внешних для него.
В общем случае структура объекта выглядит следующим образом:
Object <Имя прототипа> [ : <Имя родительского прототипа>]
( [ Out { <Имя слота> : <Имя прототипа>; } ]
[ In { [<Признак слота>] <Имя слота> : <Имя прототипа>;}]
[ Local { <Имя слота> : <Имя прототипа>; }]
[ Model { <Выражение> } ]
)
Объект характеризуется именем и, возможно, порождающим прототипом. Слоты объекта подразделяются на внешние (Out), внутренние (In) и локальные (Local). Внешние слоты представляют собой ссылки на прототипы объектов, на изменение состояния которых данный объект должен реагировать. В список внутренних слотов входят слоты, значения которых могут использовать другие активные объекты. Локальные слоты предназначены для использования внутри модели объекта и недоступны извне. Раздел Model содержит модель данного объекта.
В системе ТАО определен набор базовых графических прототипов, описание которых хранится в библиотеке. Эти прототипы содержат данные как набор слотов. Для каждого из них существует функция (метод) отображения, которая вызывается в процессе интерпретации программы. Базовые прототипы не содержат в себе модели. В них включен лишь минимальный набор слотов, требуемый для их отображения.
Определены следующие базовые графические прототипы: точка, отрезок, прямоугольник, окружность, дуга., эллипс, прямоугольная область, круг, сектор, овал.
Благодаря реализации механизма прямого наследования, иерархическое задание типов позволяет каждый раз останавливаться лишь на основных свойствах нового прототипа, забывая о второстепенных, определенных ранее для родительского прототипа.
В основу языка описания моделей объектов взят язык решателя UniCalc, который максимально приближен к общепринятой математической нотации. На этом языке модель записывается в виде совокупности выражений, связывающих между собой слоты объекта. Аналогично списку слотов, неявно в модель включаются и соотношения, унаследованные от прототипов. В ней могут фигурировать In- и Local-слоты описываемого объекта, а также In-слоты объектов, указанных в разделе Out. В описание включаются также константы, стандартные математические функции и функции пользователя. Каждое выражение должно заканчиваться символом ";".
Для задания конкретных числовых значений используются константы. С помощью арифметических операций из них конструируются константные выражения. Арифметические операции (+, -, *, /, ^) в Unicalc'e реализованы с общепринятым приоритетом и типом результата вычислений. Логические операции OR, AND, NOT, —> используются для построения логических выражений. Эти операции обычно связывают операции отношения, которые вырабатывают значение логического типа. В связи с тем, что в UniCalc' е значения переменных задаются в виде интервалов, используется трехзначная логика, т.е. результаты вычисления логических выражений могут принимать одно из трех значений: ЛОЖЬ, ИСТИНА, НЕОПРЕДЕЛЕНО.
В языке используются следующие операции отношения: = равно; <> не равно; < меньше; > больше;<= меньше или равно; >= больше или равно. Доступны следующие стандартные математические функции: sin, cos, tg, ctg, exp, In, abs, sign, sqrt, min, max, acos, asin.
В отличие от языка решателя UniCalc, в котором тип переменной определяется по первой букве ее имени, имена слотов могут быть произвольными, так как их тип указывается явно при описании. Принадлежность значения слота некоторого объекта текущему такту вычислений обозначается записью его имени, например S. Если же нужно указать значение слота или всего объекта для предыдущего такта, то после его имени приписывается апостроф – S`. Все операции и отношения в языке определены только для значений простых типов: integer, real и string. Если значение слота имеет простой тип, то достаточно указать его имя. В слотах сложных типов необходимо указывать путь к его подобъектам. Для этого через символ "." перечисляются имена слотов от внешних к внутренним вплоть до слота простого типа.
В языке существуют встроенные объекты — мышь и клавиатура, которые являются, по сути, внешними устройствами, функционирование которых обеспечивается системой. Система поддерживает только одну мышь и только одну клавиатуру, поэтому встроенные объекты Mouse и Keyboard не могут выступать в качестве прототипов, однако эти объекты могут быть переопределены. Описание Mouse и Keyboard может быть расширено добавлением разделов Out, Local, Model.
Система ТАО состоит из двух частей — компилятора и интерпретатора, которые работают последовательно. Компилятор по тексту модели, написанному на языке ТАО, формирует внутреннее представление модели, которое потом использует интерпретатор. Интерпретатор, исходя из своих данных, получаемых от внешних датчиков, внутреннего описания модели и результатов предыдущих вычислений, формирует модель для вычислителя (в данном случае — это UniCalc), отправляет ее на счет и получает результат, который соответствующим образом обрабатывает и отображает на экране (см. рис. 4.2. ниже).
МАС в целом, описанная на языке ТАО, представляет собой иерархически структурированную сеть активных объектов. В задачу компилятора входит построение исполняемого представления сети активных объектов. Структура этой сети может динамически изменяться в процессе функционирования МАС.
Поскольку состояния активных объектов вычисляются асинхронно, каждому из них может быть сопоставлен собственный программный модуль, обеспечивающий решение соответствующей системы ограничений (решатель ограничений). Этот модуль может исполняться на отдельном процессоре или узле компьютерной сети.
Взаимодействие активных объектов координирует специальный менеджер. Он обеспечивает, в частности, обмен данными между активными объектами, передачу им сигналов и другой информации от внешнего окружения, в том числе пользователя, переход МАС в новое состояние, связь с подсистемой графической визуализации поведения активных объектов и др.
В ТАО пользователь рассматривается как полноправный активный объект, который может оперативно влиять на работу МАС, генерируя с помощью внешних устройств (мыши, клавиатуры и др.) сигналы, данные, команды и т.п.
Рис. 4.2. Блок-схема ТАО
При формировании модели средствами ТАО необходимо решить две задачи:
1) скомпоновать основную функциональную часть модели;
2) создать графический интерфейс, который будет визуализировать ход протекания компьютерных экспериментов с моделью.
Как уже выше упоминалось, структура активного агента описывается в терминах ТАО следующим образом:
Как уже упоминалось в начале данной главы мы представляем экономическую систему как взаимодействие следующих видов активных агентов (каждый вид может быть представлен в экономической системе одним или несколькими агентами):
- макротехнология с ее параметрами оптимального распределения сайзеров по рабочим местам;
- информационное пространство, которое определяет границы информационных взаимодействий сайзеров;
- институциональная структура, задающая правила формирования и работы дополнительных подпространств для взаимодействия сайзеров;
- коллективная модель среды, которая является инструментом взаимодействия сайзеров;
- множество участников экономической деятельности (сайзеров), которые взаимодействуют между собой по поводу и при посредстве компонент, упомянутых в предыдущих пунктах.
Оригинальный подход, решающий проблему понимания компьютером информации на естественном языке в конкретной предметной области. Используется для создания ряда прикладных программных продуктов нового поколения: пользовательских интерфейсов на естественном языке и автоматического понимания текстов определенной тематики при разработке систем комплексной автоматизации в делопроизводстве, медицине, коммерческой деятельности, образовании и многих других.
Генеративный искусственный интеллект — это тип системы искусственного интеллекта (ИИ), способной генерировать текст, изображения или другие медиаданные в ответ на подсказки. Генеративный ИИ использует генеративные модели, такие как большие языковые модели, для статистической выборки новых данных на основе набора обучающих данных, который использовался для их создания.
Известные системы генеративного ИИ включают ChatGPT — чат-бот, созданный OpenAI с использованием больших языковых моделей GPT-3 и GPT-4 и Bard — чат-бот, созданный Google с использованием модели LaMDA. Другие генеративные модели ИИ включают художественные системы искусственного интеллекта, такие как Stable Diffusion и DALL-E.
Генеративный ИИ может применяться в самых разных отраслях, включая разработку программного обеспечения, маркетинг и моду. Инвестиции в генеративный ИИ резко выросли в начале 2020-х годов, когда крупные компании, такие как Microsoft, Google и Baidu, а также многочисленные более мелкие фирмы разрабатывали модели генеративного ИИ
Если я не полностью рассказал про недоопределенные вычисления? Напиши в комментариях Надеюсь, что теперь ты понял что такое недоопределенные вычисления, технология активных объектов, тао, генеративный искусственный интеллект, н-вычисления и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Связь с другими науками и явлениями культуры
Комментарии
Оставить комментарий
Связь с другими науками и явлениями культуры
Термины: Связь с другими науками и явлениями культуры