Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SYSTEM FOR MAKING DECISIONS IN A MULTI-AGENT ENVIRONMENT
Document Type and Number:
WIPO Patent Application WO/2023/121514
Kind Code:
A1
Abstract:
Aspects of the invention envisage decision-making systems and methods, which entail: acquiring, by means of a computer system, external influence data from sensors or devices of the claimed system; generating internal images of the system on the basis of the acquired external influence data, wherein internal system images are stored in a library of internal system images; selecting current internal images corresponding to the current state of the system at the current point in time; calculating a matrix of priorities for the current internal images; making an optimal decision on the basis of a plurality of processes, the input data for this step being comprised of the current internal images and the priority matrix; executing, by means of the computer system, the decision made; and building the experience of the system on the basis of decisions made.

Inventors:
KRYUKOV VLADIMIR GERMANOVICH (RU)
Application Number:
PCT/RU2022/050391
Publication Date:
June 29, 2023
Filing Date:
December 14, 2022
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
KRYUKOV VLADIMIR GERMANOVICH (RU)
International Classes:
G05B13/02; G06N5/04
Foreign References:
RU2601150C22016-10-27
RU2755520C12021-09-16
US11093829B22021-08-17
US10795737B22020-10-06
CN109844653A2019-06-04
CN109947567A2019-06-28
Attorney, Agent or Firm:
KORSUNSKIY, Alexey Leonidovich (RU)
Download PDF:
Claims:
ФОРМУЛА ИЗОБРЕТЕНИЯ

1. Автономная система принятия решений, содержащая: блок получения внешних воздействий (102), сконфигурированный для получения данных внешнего воздействия от датчиков или устройств системы; блок обработки внешних воздействий (104), сконфигурированный для формирования внутренних образов (ВО) системы, на основании полученных данных внешнего воздействия; библиотеку ВО (106), которая хранит и корректирует ВО системы, получаемые от блока обработки внешних воздействий; блок текущего состояния системы (108), который на основании данных от блока знаний (118) отбирает действующие ВО, соответствующие текущему состоянию системы в настоящий момент времени; супервизор состояний (ПО), сконфигурированный для расчета матрицы приоритетов для действующих ВО; блок принятия решений (112), связанный с супервизором состояний (ПО) и сконфигурированный для принятия оптимального решения на основании выполнения множества процессов, причем входными данными блока принятия решений являются действующие ВО и матрица приоритетов; исполнительный блок (114), сконфигурированный для реализации принятого решения; блок оперативного обучения (116), сконфигурированный для формирования опыта системы на основании принимаемых решений; и общий блок обучения (120), сконфигурированный для обучения библиотеки ВО (106) и библиотеки знаний (118).

2. Система по п.1, в которой блок получения ВВ реализован нейронной сетью, выполняющей распознавание ВО.

34

3. Система по п.1, в которой внутренние образы (ВО) в библиотеке ВО разбиваются на группы однородных ВО, соответствующих гомогенному контексту.

4. Система по п.1, в которой внутренние образы в библиотеке ВО разбиваются на кластеры по схожести.

5. Система по п.1, в которой супервизор состояний (ПО) дополнительно сконфигурирован для изменения макросостояния и микросостояний системы на основании внешних воздействий.

6. Система по и.4, в которой при появлении нового ВО супервизор состояний (ПО) выполняет перерасчет состояний.

7. Система по и.5, в которой для расчета и перерасчета состояний используются цепи Маркова.

8. Система по п.1, в которой блок принятия решений включает в себя фильтр целей (212), блок результатов процессов (214) и интегратор решений (216).

9. Система по и.7, в которой фильтр целей (212) содержит подблок мышления.

10. Система по п.1, в которой блок принятия решений (112) реализует множество параллельных процессов.

11. Система по п.1, в которой каждый процесс из множества процессов реализован универсальным агентом или универсальным аналитическим процессом.

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

13. Система по и. 1, в которой блок результатов процессов (214) имеет обратную связь с супервизором состояний (110).

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

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

15. Способ по и.14, в котором полученные данные внешнего воздействия обрабатываются нейронной сетью, выполняющей распознавание ВО.

16. Способ по п.14, в котором внутренние образы (ВО) разбиваются на группы однородных ВО, соответствующих гомогенному контексту.

17. Способ по п.14, в котором внутренние образы разбиваются на кластеры по схожести.

18. Способ по п.14, дополнительно сконфигурирован для изменения макросостояния и микросостояний системы на основании внешних воздействий.

19. Способ по п.18, в котором при появлении нового ВО выполняется перерасчет состояний.

20. Способ по п.19, в котором для расчета и перерасчета состояний используются цепи Маркова.

21. Способ по п.14, выполненный с возможностью реализации множества параллельных процессов для принятия оптимального решения.

22. Способ по п.14, в котором каждый процесс из множества процессов реализован универсальным агентом или универсальным аналитическим процессом. Способ по п.22, выполненный с возможностью обучения универсальных агентов. Машиночитаемый энергонезависимый носитель данных, содержащий исполняемые инструкции, которые при исполнении компьютерной системой заставляют компьютерную систему выполнять способ принятия решений по любому из пп. 14-23.

Description:
СИСТЕМА ПРИНЯТИЯ РЕШЕНИЙ В МУЛЬТИАГЕНТНОЙ СРЕДЕ

ОБЛАСТЬ ТЕХНИКИ

[0001] Реализации изобретения в целом относятся к области вычислительных систем, а более конкретно к системам, предназначенным для принятия решений без участия человека.

УРОВЕНЬ ТЕХНИКИ

[0002] В настоящее время мультиагентные (многоцелевые, многоагентные) системы имеют большую актуальность и широкое применение в различных областях, например, таких как: робототехника, безопасность, медицина, логистика, бизнес, маркетинг и т.д. Система принятия решений является ключевым элементом и основой всего функционирования для создания «Сильного» Искусственного Интеллекта (Сильный ИИ / AGI). Мышление - непрерывное принятие решений на различном уровне в отношении разных целей или задач. Одной из целей изобретения является реализация системы, способной принимать совокупное решение с учётом актуальности целей. При этом решение должно быть оптимальным, дающим лучшее развитие системы как в текущем моменте времени, так и в будущем.

[0003] Современные попытки создать ИИ сводятся в общем случае к разработке отдельных фрагментов интеллекта, каждый из которых решает одноцелевую задачу, пригодную для формализации. Однако существует множество сложностей при сборке общей/целой многозадачной системы. Если сравнивать процесс мышления человека с ИИ, то человек способен ставить перед собой определенные цели на будущее и намечать планы их реализации. Человек способен принимать различные решения в каждый момент времени. Однако не все решения доступны сознательному контролю и пониманию. То есть решения могут приниматься и исполняться независимо от сознания человека/параллельно, что не всегда выглядит логичным решением со стороны ИИ.

[0004] Мышление имеет аналитическую и прогностическую функцию, соответственно мышление о прошлом и о будущем. Мышление также отвечает за управление текущим моментом (оперативные решения и их исполнение). Задача идеального мышления - находить оптимальные решения для текущего момента времени с учётом будущего развития событий.

[0005] Основная задача системы принятия решений - адекватно реагировать как на внешние воздействия, выбирая правильное решение в каждый момент времени, так и на внутренние изменения, происходящие в самой системе как таковой. При этом, система должна неуклонно стремиться к достижению одной или нескольких стоящих перед ней и конкурирующих между собой целей. Цели или задачи системы имеют иерархическую структуру. Из целей разного уровня образуются планы. Система принятия решений главным образом стремится к достижению поставленных целей и сохранению/ поддержанию равновесного состояния с наибольшей эффективностью.

[0006] Конкретные цели задаются на этапе проектирования системы, основываясь на иерархии целей. Цели или задачи системы в некотором смысле можно сопоставить с потребностями человека (Иерархия потребностей Маслоу). Каждая потребность - это отдельная цель. Взаимоотношение целей между собой является самой сложной проблемой, которая может быть решена, например, через систему приоритетов при принятии решений. Результатом чего становится строка или матрица состояний (в зависимости от сложности проектируемой системы). В контексте настоящего описания помимо всего предлагаются решения для формирования многоуровневых иерархических целей и потребностей системы для принятия оптимальных решений. [0007] Каждая цель отражается в строке (матрице) состояния и реализуется одним отдельным процессом. Процесс или отдельная задача, способная реализовать одну цель, может быть сделана в виде нейронной сети различного типа либо в виде универсального аналитического процесса.

РАСКРЫТИЕ ИЗОБРЕТЕНИЯ

[0008] Варианты реализации настоящего изобретения описывают механизмы принятия решений.

[0009] Автономная система для принятия решений включает: блок получения внешних воздействий (102), сконфигурированный для получения данных внешнего воздействия от датчиков или устройств системы; блок обработки внешних воздействий (104), сконфигурированный для формирования внутренних образов (ВО) системы, на основании полученных данных внешнего воздействия; библиотеку ВО (106), которая хранит (в процессе обучения) и корректирует ВО системы, получаемые от блока обработки внешних воздействий; блок текущего состояния системы (108), который на основании данных от блока знаний (118) отбирает действующие ВО, соответствующие текущему состоянию системы в настоящий момент времени; супервизор состояний (ПО), сконфигурированный для расчета матрицы приоритетов для действующих ВО; блок принятия решений (112), связанный с супервизором состояний (ПО) и сконфигурированный для принятия оптимального решения на основании выполнения множества процессов, причем входными данными блока принятия решений являются действующие ВО и матрица приоритетов; исполнительный блок (114), сконфигурированный для реализации принятого решения; блок оперативного обучения (116), сконфигурированный для формирования опыта системы на основании принимаемых решений; и общий блок обучения (120), сконфигурированный для обучения библиотеки ВО (106) и библиотеки знаний (118). [0010] Способ принятия решений реализуется вычислительной системой и включает в себя такие этапы, как: получение вычислительной системой данных внешнего воздействия от датчиков или устройств системы; формирование внутренних образов (ВО) системы, на основании полученных данных внешнего воздействия, причем ВО системы хранятся в библиотеке ВО; отбор действующих ВО, соответствующих текущему состоянию системы в настоящий момент времени; вычисление матрицы приоритетов для действующих ВО; принятие оптимального решения на основании выполнения множества процессов, причем входными данными для данного этапа являются действующие ВО и матрица приоритетов; исполнение вычислительной системой принятого решения; формирования опыта системы на основании принимаемых решений.

[ООН] Машиночитаемый энергонезависимый носитель данных содержит исполняемые инструкции, которые при исполнении компьютерной системой заставляют компьютерную систему выполнять способ принятия решений, включающий в себя такие этапы, как: получение вычислительной системой данных внешнего воздействия от датчиков или устройств системы; формирование внутренних образов (ВО) системы, на основании полученных данных внешнего воздействия, причем ВО системы хранятся в библиотеке ВО; отбор действующих ВО, соответствующих текущему состоянию системы в настоящий момент времени; вычисление матрицы приоритетов для действующих ВО; принятие оптимального решения на основании выполнения множества процессов, причем входными данными для данного этапа являются действующие ВО и матрица приоритетов; исполнение вычислительной системой принятого решения; формирования опыта системы на основании принимаемых решений. КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

[0012] Изобретение станет более понятным благодаря приведенному ниже подробному описанию и прилагаемым чертежам различных вариантов реализации изобретения. Однако чертежи не должны использоваться для ограничения изобретения конкретными вариантами реализации, а предназначены только для пояснения и понимания сущности настоявшего изобретения.

[0013] На Фиг. 1 представлена примерная блок-схема системы для принятия решений.

[0014] На Фиг. 2 представлена блок-схема функционирования системы принятия решений.

[0015] На Фиг. 3 представлена блок-схема одного из возможных вариантов реализации настоящего изобретения, при котором применяется облачное хранилище данных.

[0016] На Фиг. 4 представлена блок-схема способа принятия решений в соответствии с некоторыми вариантами реализации настоящего изобретения.

[0017] На Фиг. 5 представлена блок-схема компьютерной системы, которая может использоваться для реализации вариантов способов принятия решений.

ПОДРОБНОЕ ОПИСАНИЕ

[0018] В настоящем документе описана вычислительная система для принятия решений в мультиагентной среде и соответствующий способ принятия решений. Данная система может найти применение в различных областях науки и техники, помимо описанного ниже конкретного примера реализации заявленного изобретения. Система принятия решений является универсальными механизмами для принятия оптимальных решений и может использоваться (или являться конкретной реализацией системы как таковой), например, в финансовых или экономических системах, например, для оптимизации прибыли/доходов (биржевой брокер), маркетинговых системах, сложных диагностических системах различной направленности (например, система автоматического жизнеобеспечения и др.). [0019] Кроме того, система принятия решений или реализуемый способ могут быть использованы в системах автоматического/автоматизирова ного управления для транспортных средств, роботов (автопилоты, дроны (БПЛА) и т.п.). Чаще всего автопилоты используются для пилотирования летательных аппаратов (поскольку там меньше всего препятствий), однако современные технологии постепенно внедряют автономные функции в повседневные транспортные средства. Рассмотрим чуть подробнее одну из возможных систем автоматизированного управления для транспортных средств (ТС).

[0020] Многие современные автомобили оснащены всем необходимым оборудованием для автономного движения и планирования пути, как минимум, на основе систем глобального позиционирования. При помощи беспроводного взаимодействия и систем позиционирования современные ТС способны образовывать многоагентную систему. Концепция автономного дорожно-транспортного движения подразумевает использование принципов известных многоагентных систем (МАС). Автомобили, как агенты могут обмениваться сообщениями с навигационным устройством, расположенным, например, на перекрестке и состоящим из компьютера и беспроводного передатчика. При приближении к перекрестку ТС налаживает контакт с таким навигационным устройством.

[0021] Основным элементом МАС является универсальный агент. Поэтому для создания транспортной системы на основе МАС необходимо выделить как минимум следующие агенты: агент-водитель и агент-менеджер. Агент-водитель - это транспортное средство, управляемое человеком или автономное транспортное средство. Причем, в случае ТС, управляемого человеком, агент-водитель может выдавать подсказки водителю для достижения поставленной цели (звуковые, визуальные подсказки и т.д). Агент-менеджер - это система, которая может быть установлена, например, в светофор (или на перекрестке) и осуществляющая управление агентами-водителями. [0022] Основная цель для агента-водителя - достигнуть пункта назначения за минимальное время, при этом, по возможности, использовать самый короткий маршрут, чтобы затратить меньше топлива на поездку. Основная цель агента-менеджера управление агентами-водителями, подъезжающими к перекрестку, их перестроение и создание на перекрестке безостановочного и бесконфликтного проезда транспортных средств, за минимально возможное время. Для выполнения поставленных целей агенты должны согласовывать свои цели, стратегии поведения, координировать свои действия и разрешать конфликты.

[0023] Агенты-водители и агенты-менеджеры могут обмениваться полученными знаниями, используя некоторый специальный язык и подчиняясь установленным правилам/прото колам системы. МАС должна находить оптимальное решение задачи без внешнего вмешательства. В данном случае под оптимальным решением понимается решение, на которое будет потрачено наименьшее количество времени и топлива.

[0024] Таким образом, набор базовых характеристик агента может включать, например, такие свойства как: 1) активность - агент-менеджер должен быть способен организовать и реализовать проезд на перекрестке без конфликтов и без остановок, за минимальное время; 2) реактивность - агенты-водители должны воспринимать всю необходимую информацию от окружающей среды. При этом окружающая среда для агента-водителя включает: дорожные знаки, дорожную разметку, других агентов-водителей, различные препятствия для движения, погодные явления (дождь, туман) и т.д. 3) автономность - агенты-водители и агенты-менеджеры должны достигать поставленных целей без участия человека; и 4) общительность - для достижения своих целей агенты-водители должны активно обмениваться информацией между собой по специально установленным протоколам коммуникации. [0025] Далее для примера рассмотрим экономическую мультиагентную систему управления фондовым рынком. Открытый характер современного информационного общества и глобальной рыночной экономики приводит к активному развитию научно- технического прогресса, повышению уровня конкуренции на рынках, расширению доступа к ресурсам глобальной сети Интернет, что стимулирует развитие Интернет-экономики, частью которой является электронный рынок ценных бумаг.

[0026] Рост процессов глобализации выдвигает новые требования к инновационной управленческой деятельности, в частности в контексте того, что на реальном рынке ценных бумаг основную роль играют люди-торговцы (брокеры, трейдеры и др.), а на электронном рынке им соответствуют интеллектуальные агенты, которые могут принимать решения, объединяться в группы и учиться в процессе функционирования рынка, то есть выполнять почти все действия, которые выполняют реальные люди. В связи с этим возникает потребность в интеллектуальных методах, способных непрерывно получать новые знания и менять свою структуру и функции, развиваясь и адаптируясь к решаемым задачам и условиях внешней среды.

[0027] Для достижения обозначенных целей управления в распределенном взаимодействии различных участников могут быть применены мультиагентные системы. Основу мультиагентного подхода составляет понятие агента, который функционирует в качестве самостоятельного алгоритма/программы или адаптивного элемента системы искусственного интеллекта.

[0028] В отличие от традиционного метода, когда производится поиск некоторого строго определенного алгоритма, позволяющего найти лучшее решение проблемы, в мультиагентных системах решение является результатом взаимодействия некоторого множества самостоятельных модулей - агентов или процессов. Главная особенность в данном случае - динамика и непредсказуемость процесса принятия решений. На практике это означает, что оптимизация решения достигается за счет многочисленных взаимодействий, которые практически невозможно отследить. Агентам системы ставят цели, которых они должны достигать, при этом не определяют жестких сценариев их достижения.

[0029] Кроме того, мультиагентная система принятия решений позволяет учитывать поведение отдельно взятых агентов, в результате чего становится возможным выявлять достаточно тонкие особенности коллективного поведения элементов системы, учитывать их взаимосвязи друг с другом и с окружающей средой. Такая система может быть предназначена, например, для: 1) поиска данных о финансовых инструментах; 2) мониторинга статуса ценных бумаг и управления рисками; 3) поддержки принятия решений о купле-продаже финансовых активов. И в каждом отдельном случае будут свои агенты.

[0030] Приведенные выше примеры применения мультиагентных систем объединяет общая концепция и цель - принятие оптимального решения в данный момент времени для конкретной задачи. Описываемая в настоящем изобретении автономная система принятия решений имеет структуру, которая может быть оптимально спроектирована для любой вышеприведенной в качестве примера цели или ситуации. В данном случае будет меняться только набор агентов или процессов в соответствии с поставленными перед системой задачами.

[0031] На Фиг. 1 представлена блок-схема системы принятия решений. В примерном варианте система (100) содержит: блок получения внешних воздействий (ВВ) (102), выход которого соединен со входом блока обработки внешних воздействий (104), выход которого соединен с входом библиотеки внутренних образов (ВО) (106), выход которого соединен с входом блока текущего состояния системы (108), со вторым входом которого соединена библиотека знаний (118); выход блока текущего состояния системы (108) соединен с входом супервизора состояний (ПО) и со входом блока принятия решений (112), причем супервизор состояний (110) и блок принятия решений (112) имеют двустороннюю связь и их соответствующие выходы соединены с входами исполнительного блока (114), который имеет двухстороннюю связь с блоком оперативного обучения (116), имеющего дополнительную двухстороннюю связь с супервизором состояний (ПО); при этом библиотека знаний (118) и библиотека ВО (106) имеют двухстороннюю связь с общим блоком обучения (120), вход которого соединен с выходом супервизора состояний (110).

[0032] Взаимодействие между упомянутыми блоками системы реализуется путем передачи пакетов данных по сети связи. Данная система (100) реализует несколько формализуемых одноцелевых процессов (задач, агентов), что приводит к принятию системой оптимального решения, о чем подробнее будет указано ниже. Следует обратить внимание на то, что в принципе построения системы (100) применен блочный/мо дульный подход. Блоки системы являются автономными, что обеспечивает возможность замены каждого из них под конкретную прикладную задачу, а также возможность исключения некоторых блоков и возможность добавления новых блоков. Каждый процесс/агент системы имеет свою цель, которая задается на этапе проектирования. Простые процессы собираются под конкретную задачу.

[0033] Внешние воздействия (ВВ) на систему регистрируются блоком получения внешних воздействий (102), который содержит множество датчиков и/или устройств системы. Примерами упомянутых датчиков и/или устройств могут выступать, по меньшей мере известные, как: видеокамера, микрофон, устройства ввода данных (клавиатура, мышь и т.д.), сенсорный датчик, датчик движения, датчик температуры, датчик влажности, датчик дыма, датчик освещенности, газоанализатор, сейсмический датчик и т.п. Специалисту в данной области техники будет понятно, что для каждой конкретной системы будет использоваться свой индивидуальный набор датчиков и/или устройств для регистрации внешних воздействий. [0034] Полученные блоком получения внешних воздействий (102) данные поступают в блок обработки внешних воздействий (104), который может быть реализован, например, искусственной нейронной сетью. В другом альтернативном варианте может применяться множество обученных известными методами нейронных сетей, каждая из которых обучена на формирование конкретных внутренних образов, присущих конкретному внешнему воздействию (ВВ), согласно его сущности. В другом альтернативном варианте вместо нейронной сети может быть использована аналитическая система или иной механизм обработки ВВ, если ВВ является «простым» и не требуется сложного механизма для формирования внутреннего образа (ВО). Нейронная сеть идентифицирует поступающие на её вход данные и применяет к ним набор функциональных преобразований для формирования внутренних образов (ВО) системы (получения внутренней информации).

[0035] Например, в одном из альтернативных вариантов реализации изобретения, полученный видеоряд может быть разбит на последовательности кадров, идентифицированные обученной моделью нейронной сети в качестве относящихся к одному событию (например, проезд автомобиля через перекресток, продвижение железнодорожного состава через контрольный пункт и др.).

[0036] в другом альтернативном варианте, например, если в качестве данных внешних воздействий (102) используются фото, например, полученные с помощью фотокамеры, оснащённой датчиком присутствия, то данные могут быть идентифицированы обученной моделью нейронной сети, например, посредством выявления области интереса на изображении и идентификации и классификации объекта, содержащегося в границах детектированной области интереса. Стоит отметить, что указанные выше примеры не являются ограничивающими применение настоящего изобретения. Для каждого вида/типа внешних воздействий (102) при получении данных системой могут быть применены специализированные средства, характерные для обработки таких данных и присущие соответствующему типу данных. Заявленное изобретение является масштабируемым/расширяемым/адап тивным и универсальным средством для принятия решений.

[0037] В некоторых реализациях нейронная сеть (НС) может быть представлена рекуррентной нейронной сетью. В других реализациях нейронная сеть может быть представлена сверточной нейронной сетью, которая в различных реализациях системы может включать в себя любое подходящее количество сверточных слоев, слоев ReLU, слоев пула и/или любые другие слои. Порядок расположения слоев, количество слоев, количество фильтров или любой другой параметр сверточной нейронной сети может быть отрегулирован, например, с использованием эмпирических данных. В других вариантах реализации, не ограничиваясь, могут использоваться модели полносвязных нейронных сетей, модели глубинного обучение и др., в зависимости от конкретной задачи.

[0038] Однако, указанные выше варианты не ограничивают применение других моделей нейронных сетей для получения внутренних образов системы (ВО). Например, конкретная модель НС может зависеть от внешних воздействий (ВВ). Так же стоит учесть, что помимо одной модели НС может применяться, например, ансамбль разного рода обученных известными методами НС для получения консолидированной информации внешних воздействий при их многообразии. Предположим, что на систему оказывается множество разнородных воздействий и каждый тип воздействия подлежит обработке для выделения значимых для системы признаков внешних воздействий (ВВ) и их последующей консолидации для обеспечения работы заявляемой системы.

[0039] Ансамбль НС может включать, но не ограничиваясь, например, модели полносвязных НС, рекуррентных НС, НС прямого прохода, автоэнкодеров, деконволюционных НС и моделей нейронных сетей другого вида.

[0040] Указанный ансамбль НС может быть скомбинирован, например, исходя из видов внешних воздействий (ВВ) на систему принятия решений. Данный ансамбль может быть расширен/сужен в зависимости от внешних воздействий для конкретной имплементационной задачи системы. Все данные полученные в таком варианте реализации системы принятия решений подлежат конкатенации известными методами для дальнейшей обработки в рамках обеспечения работы указанной заявленной системы принятия решений.

[0041] Внутренние образы (ВО), полученные блоком обработки внешних воздействий (104), поступают в библиотеку ВО (106), где хранятся и постоянно корректируются на основании текущего состояния системы (ассоциативная память/база данных системы). Для способствования идентификации ВО внутри системы могут применяться, но не ограничиваясь, например, метаданные, присвоенные ВО и иные атрибуты.

[0042] Каждый ВО системы имеет свой идентификатор и набор ассоциаций (ассоциативных/обратных связей). В контексте данного изобретения ассоциация — это отношение ВО (значимость или приоритет) к конкретной цели или потребности системы. В общем, в контексте настоящего изобретения, можно сказать, что в совокупности ВО содержит в себе отношение «образа» объекта к целям системы, подлежащим достижению. Каждый ВО из библиотеки ВО (106) способен оказывать влияние на текущее состояние системы, то есть на состояние системы в настоящий момент времени. Каждому ВО соответствует свое значение значимости (или приоритет), которое отличается для различных макросостояний системы, с учетом коэффициентов коррекции. В процессе работы системы и внутренних алгоритмов обучения системы, ВО наполняются содержанием: ассоциациями (изменения состояния системы) и причинно-следственными связями, закономерностями (реакции системы, принятие решений).

[0043] В качестве указанных значений значимости ВО могут применяться, например, заданные в системе коэффициенты (К), на основании которых возможна корректировка указанных приоритетов (например, в диапазоне от 0 до 1). Указанные коэффициенты значимости могут быть получены на основании экспертного опыта системы или, например, эмпирическим путем, или в процессе обучения (накопления опыта) в системе. Примерами таких коэффициентов могут выступать, например, такие, но не ограничиваясь, как коэффициент незначимости ВО (КНЗ), коэффициент важности ВО (КВ), коэффициент значимости ВО (КЗ), коэффициент малозначимости ВО (КМЗ). Например, в одном варианте можно принять, что если К меньше КНЗ, имеющего значение 0,1 (или иное значение), то такой ВО не имеет отношения к цели, решаемой на настоящий момент времени и, следовательно, такой ВО может быть отброшен. Если К больше КВ и имеет значение 0,85 и более, то чем больше К, тем большую важность он имеет для конкретной цели и принятия решения в текущий момент времени. Однако, стоит учесть, что максимальный К, больший КВ (например, 1,0 или значение крайне близкое к 1,0) приводит к возможности подавления других целей для настоящего момента времени (выживание). В качестве примера максимального К и его влияния для системы автоматического пилотирования можно предположить принятие решения об аварийной посадке в случае полного исчерпания запаса топлива; столкновения с препятствием, дающее большую возможность на выживание системы (автономное автотранспортное средство принимает решение уйти от столкновения в снег, нежели таранить встречный автомобиль при неизбежности столкновения). Так же заданный КЗ равный 0,5, или иное значение, при К большем КЗ свидетельствует об обязательном участии ВО для принятия конкретного решения. Далее, можно предположить, что при К большем КМЗ (то есть К в правильно пределах 0,1 - 0,5), он малозначим для конкретного решения и имеет маленький приоритет. При этом, в данном случае, чем больше К, тем больший приоритет имеет ВО.

[0044] Целью указанных коэффициентов является детерминация принадлежности ВО для принятия решения/несоответствие или неприменимость ВО конкретной задаче, принимаемому решению и цели как таковой. Таким образом, незначительный или малозначительный ВО может не приниматься во внимание системой, что обеспечивает снижение ресурсных затрат системой. Однако, стоит учесть, что малозначимый ВО может иметь больший приоритет для другого решения в другой момент времени.

[0045] В одном из вариантов реализации системы библиотека ВО (106) может быть сконфигурирована для самообучения, например, на основании данных, получаемых от супервизора состояний (110) через общий блок обучения (120). В альтернативном варианте общий блок обучения (120) предназначен для взаимного обучения библиотеки ВО (106) и для обучения библиотеки знаний (118). Общий блок обучения (120) обучается/учит распознавать ВО, описывать ВО и формировать для них соответствующий конте кст/содержание .

[0046] В одном из вариантов реализации, контекст, например, может быть представлен в текстовой форме, например, с применением методов дистрибутивной семантики. В другом, альтернативном варианте реализации, контекст может быть представлен, например, в качестве метаданных. Еще в одном альтернативном варианте реализации, контекст может быть представлен в комбинированной форме. Данное утверждение не призвано ограничивать способы и методы формирования контекста. В любом варианте реализации способ формирования контекста можно подобрать, например, на основании экспертного опыта и знаний, в зависимости от сущности ВО (множества разнородных ВО) и его атрибутов, присущих конкретному ВО. При этом, если заявленной системе принятия решений присуще множество разнородных ВО, то каждой группе однородных ВО присуще формирование контекста схожим образом.

[0047] Следует отметить, что в библиотеке ВО (106) внутренние образы подвергаются кластеризации. Алгоритм кластеризации может представлять собой стандартную статистическую процедуру, реализующую сбор данных, содержащих информацию о выборке ВО и анализ ВО. Далее выполняется процесс упорядочивания/группировки схожих ВО в сравнительно однородные кластеры. В данном случае могут быть применены такие классические алгоритмы кластеризации как: к-средних, ЕМ алгоритм, иерархическая кластеризация и т.п.

[0048] ВО из библиотеки образов (106) поступают в блок текущего состояния системы (108), который на основании данных из библиотеки знаний (118) закономерности кластеров преобразует ВО в АВО (дельта ВО), соответствующие текущему состоянию системы. В данном блоке (106) формируется текущая картина окружающего мира (оперативная память системы). То есть отбираются только действующие в настоящий момент времени ВО, имеющие наивысший приоритет, не ниже значения КЗ.

[0049] Полученные АВО поступают далее в супервизор состояний (110), а также и в блок принятия решений (112). Супервизор состояний (110) отвечает за определение, управление и коррекцию текущего состояния системы (100), которое влияет на последующее принятие системой оптимального решения. Супервизор состояний (110) разделяет действующие ВО на значимые и незначимые для каждого определенного последующего процесса с учетом коэффициентов значимости. Таким образом, в текущем состоянии для каждого ВО формируется значимость/приоритет самого ВО при воздействии на систему (100).

[0050] В одном дополнительном варианте реализации системы, супервизор состояний (ПО) может включать в себя корректор ценностей ВО (на чертежах не показан). Корректор ценностей ВО предназначен для пересчета коэффициентов значимости ВО при каждом такте работы системы методами, подробно раскрытыми в настоящем описании.

[0051] Для последующей обработки с учетом значимости и матрицы приоритетов отбираются только те ВО, которые превышают установленный порог значимости, который может быть предустановлен или же подобран эмпирическим путем. Например, порог может быть выбран от 0 до 1 (например, 0,5 или иное значение), как это подробно описано выше в отношении коэффициентов значимости ВО. Состояние или матрица приоритетов отражают не только текущее, но и увязывают между собой понятия полезности/ценности, что можно выразить через понятие «энергия». Энергия в контексте настоящего изобретения представляет собой определенную метрику. Например, значение энергии может быть предзадано диапазоном значений, в зависимости от конкретной реализации системы принятия решений. Энергия может иметь как положительные, так и отрицательные значения (например, -1, 0, 1 или иное значение из предзаданного диапазона).. При этом отрицательное значение энергии означает неверный «путь» системы принятия решений. Система принятия решений должна стремиться к оптимальному равновесному энергетическому состоянию, то есть к фундаментальному состоянию. В данном случае можно принять во внимание принцип свободной энергии Фристона, призванный формализовать процесс принятия решений методом, в каком-то смысле схожим с принципом наименьшего действия в классической механике, который описывает эволюцию физических систем. В целом, базовым принципом любой автоматической системы является ее стремление к достижению равновесного состояния, аналогично принципам психики человека. Супервизор состояний (ПО) может быть реализован как стандартный вычислительный алгоритм или программа. В другом альтернативном варианте, супервизор состояний (ПО) может быть реализован в качестве обучаемой определенной модели нейронной сети, которая обучается пересчитывать и детерминировать взаимосвязи между значениями матриц приоритетов в разные момент времени.

[0052] Текущее состояние системы определяется в супервизоре состояний (ПО) набором приоритетов (матрица приоритетов). Микросостояния системы изменяются, если происходят действия в рамках текущего набора ВО. Макросостояние системы может меняться только в случае появления нового ВО или существенных внутренних изменений в системе. При этом стоит учесть, что переход в другое макросостояние системы возможен лишь при достаточном количестве энергии, в зависимости от изменений приоритетов.

[0053] Как было отмечено выше, полученные АВО также поступают на вход блока принятия решений (112), который непосредственно взаимодействует с супервизором состояний (ПО) путем взаимных обратных связей для генерации множества процессов, каждый из которых имеет свой приоритет, о чем более подробно будет указано ниже.

[0054] Полученное оптимальное решение в блоке принятия решений (112) для текущего момента времени отправляется далее в исполнительный блок (114), результатом которого является определенное действие системы. Под действием в контексте данного описания понимается единичная исполнительная программа/алгоритм, передаваемая на выход системы. Созданная информация в системе, а также имеющаяся в виде текущего состояния, обрабатываются, результатом чего становится ответное действие системы в соответствии с правильным оптимальным решением. Важно отметить, что конкретное действие является правильным и оптимальным для системы только в текущем моменте времени и только для такой конфигурации системы.

[0055] Данные о принятом решении из исполнительного блока (114) дополнительно поступают в блок оперативного обучения (116), который связан двухсторонней связью с супервизором состояний (ПО). Блок оперативного обучения (116) сконфигурирован для формирования опыта.

[0056] Чтобы понять принцип работы системы рассмотрим его более подробно с раскрытием процессов/агентов системы. На Фиг. 2 представленная блок-схема функционирования системы принятия решений (200). Работа блока принятия решений (112), соответствующего фиг. 1, базируется на обработке, выполнении и анализе множества сформированных системой процессов.

[0057] Каждый отдельный процесс — это некоторая подзадача, являющаяся частью общей задачи/цели системы. Разделение на отдельные процессы - единственная возможность построения прикладной системы. Простые процессы легко поддаются формализации и автоматизации. Система приоритетов для параллельных процессов позволяет переключаться на наиболее значимый в настоящий момент процесс и соответственно задачу, что позволяет системе принимать единственно верное оптимальное решение.

[0058] Основная характеристика простого процесса - единственная целевая функция. Именно по этому принципу и происходит разделение на процессы. Одна цель - один процесс (или агент). Каждому выделенного процессу присваивается ячейка приоритета в строке или матрице состояния. Каждая задача отражается в строке (матрице) состояния и реализуется одним отдельным процессом.

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

[0060] Как показано на фиг. 2, все ВО системы хранятся в библиотеке ВО (106). Библиотека ВО хранит все новые ВО, старые ВО, данные о ВО процессов изменения, а также закономерности кластеризации ВО. При этом в системе может быть предусмотрена фильтрация старых ВО, для снижения затрат на обработку. Так, например, при поступлении идентичного старому нового ВО, старый ВО может быть удален и, например, могут остаться лишь данные о том, что поступил ВО идентичный старому. Новому ВО может быть присвоен аналогичный строму ВО контекст/метаданные и временная метка о поступлении старого ВО и, например, количество поступивших старых ВО. Эти данные могут быть добавлены, например, в метаданные нового поступившего ВО в качестве исторических данных. Как было указано ранее, ВО в библиотеке (106) могут быть разделены на кластеры по схожести. Внутренние образы поступают на вход блока текущего состояния системы (108). Один выход упомянутого блока (108) идет к супервизору состояний (110), откуда на основании матрицы приоритетов и текущего состояния системы отбираются/формируются АВО целевого состояния системы. Затем АВО попадают в фильтр целей (212), который фильтрует цели и задачи системы по степени их важности для текущего момента и строит оперативно-тактические планы работы системы по принятию решений. Фильтр целей может содержать подблок мышления (не показан на фиг. 2), который отвечает за разработку планов и стратегий.

[0061] Подблок мышления выполняет анализ предыдущего опыта системы (анализ реакций системы на внешнее воздействие) и моделирования будущих целей и задач системы. Работа системы моделируется в фоновом режиме для прошедшего и будущего времени. То есть моделируются/прогнозируются реакции и действия системы (прошлые или возможные в будущем) на внешние воздействия. Прогнозирование может быть основано, но не ограниваясь на методах экстраполяции, методах корреляционного и факторного анализа, причинно-следственных методах прогнозирования. Моделирование будущих действий системы с учетом имеющегося опыта. Моделирование может выполняться, но не ограничиваясь, например на основании подходов моделирования Лотки-Вольтерры, Бохёффера - ван дер Поля, модели Мальтуса, финансово-экономических математических моделей (например, расчет оптимального расходования ограниченных ресурсов; оптимизации прибыли от размера капиталовложений и др., в зависимости от конкретной реализации системы принятия решений). Результаты моделирования анализируются и корректируются.

[0062] Фактически подблок мышления реализует внутреннюю деятельность системы, как реакцию на возможные возникающие ситуации (входные данные). Подблок мышления помогает расставлять приоритеты целей и создавать планы и стратегии, однако в самом подблоке не принимаются окончательные решения по дальнейшим действиям системы. [0063] Процесс работы подблока мышления можно свести к моделированию или анализу последовательности действий. При этом результатом подблока мышления является не конкретное действие, а план, стратегия действий, подчинённых глобальной/общей задаче.

Цель - задача для действия в текущий момент. План - направление действий в перспективе. План задает вектор (совокупность) целей (целевых состояний). При этом подблок мышления косвенно принимает участие в обучении системы, поскольку в нем анализируются нетипичные/нестандартных ситуаций, после чего такие ситуации переводятся в стандартные - то есть формируется опыт. Формируемый опыт может динамически кластеризоваться известными методами (например, метод к-средних или иной метод динамической кластеризации).

[0064] После фильтра целей (212) на вход каждого процесса (или агента) в качестве входных данных поступают отфильтрованные в соответствии с актуальными целями и планами действующие АВО. В данном контексте А-дельта - это метрика отличия одного ВО от другого (в предыдущий момент времени). Каждый процесс-агент является простым и быстрым, а также универсальным, способным решать разные задачи при соответствующем обучении, поскольку он будет применяться множество раз во всей системе для решения любых частных задач или процессов.

[0065] Разделение конкретной задачи по созданию прикладной системы на простые параллельные процессы проводится на этапе проектирования и создания конкретной прикладной системы. Перед работой система предварительно конфигурируется и тестируется, например, вручную для проверки правильности разделения на процессы. Для тестирования работы могут быть использованы так же автоматические методы тестирования, например, с ручной валидацией. Цель отдельного процесса - найти максимально ценное решение в рамках своей локальной задачи. При этом каждый процесс должен быть максимально быстрым. [0066] Следует также отметить, что, когда процессы-агенты системы сформированы, их требуется обучить, например, стандартными методами глубокого обучения до требуемого рабочего уровня. При этом в процессе работы системы в фоновом режиме будет реализовано бесконечное дообучение в режиме реального времени (самосовершенствование) .

[0067] Каждый отдельный процесс или агент поддается формализации. По каждому процессу может быть принято правильное для него решение. Результаты каждого выполненного процесса системы сохраняются в блок результатов процессов (214) вместе с приоритетом решения. Однако отдельные решения по каждому процессу необходимо интегрировать в совокупное решение, где каждый процесс будет иметь текущую значимость/приоритет, действительную в реальном времени.

[0068] Общее оптимальное решение для системы определяется в интеграторе решений (216), в том числе с учетом приоритетов, и представляет собой объединение и корреляцию совокупности правильных решений, полученных из отдельных процессов для достижения поставленной цели. Далее полученное оптимальное решение поступает в исполнительный блок системы (114), который инициирует выполнение системой соответствующего действия.

[0069] Данные, хранящиеся в блоке результатов процессов (214), также поступают на вход супервизора состояний (ПО), который на основании прошлых решений корректирует текущую матрицу приоритетов. Обновленные данные от супервизора состояний поступают в библиотеку ВО (106) для своевременного изменения содержания ВО на основании процессов системы.

[0070] Далее рассмотрим один такт работы системы принятия решений (100). В ответ на изменение внешних воздействий в системе предусмотрено два типа реакций. Разные реакции соответствуют следующим ситуациям: (1) появление нового ВО и (2) изменение значимости/состояния актуальных ВО (в ответ на некоторое действие в окружающем мире). Один такт работы системы составляет приблизительно 1 секунду, или иное значение, в рамках требования к конкретной прикладной задаче.

[0071] Первая ситуация - когда нет нового ВО или каких-либо кардинальных изменений в действующих ВО. В таком случае системой вычисляется незначительное изменение действий, на основании чего выполняется коррекция выходных решений системы. Макросостояние системы в таком случае не меняется, а для микросостояний системы в супервизоре состояний (110) вычисляются колебания. Такой такт быстрый и простой.

[0072] На основании вычисленных колебаний в супервизоре состояний (ПО) в фоновом режиме продолжает работать фильтр целей (212), расположенный в блоке принятия решений (112), а точнее его подблок мышления. Мышление системы актуально для текущего состояния (соответствует макросостоянию системы) и изменяется в режиме реального времени в связи с внешними воздействиями на систему. Подблок мышления реализует обработку информации в пространстве системы.

[0073] Вторая ситуация - появление нового ВО для системы. Новый ВО характеризуется своим содержанием (набором ассоциаций и причинно-следственных связей, атрибутов), которое может влиять как на микросостояния, так и на макросостояние системы. Упомянутые состояния в таком случае подвергаются пересчету. В основе расчетов/перерасчетов состояний может лежать подход по принципу цепи Маркова, математические методы нечеткой логики (например, адаптивная нейро-нечеткая система вывода, описанная в универсальной форме аппроксиматоров и др.).

[0074] Цепь Маркова — последовательность случайных событий с конечным или счётным числом исходов, где вероятность наступления каждого события зависит только от состояния, достигнутого в предыдущем событии. Цепь Маркова характеризуется тем, что при фиксированном настоящем будущее независимо от прошлого. Каждый отдельный процесс в каждый момент времени находится в одном из п состояний. При этом, если он находится в состоянии с номером i, то он перейдет в состояние] с вероятностью ру. Матрицу Р=|| ру || называют матрицей переходов. Марковскую цепь можно также представить в виде графа, в котором вершины — это состояния процесса, а ребра — переходы между состояниями, и на ребре из i в j написана вероятность перехода из i в], то есть ру.

[0075] Возвращаясь ко второй ситуации, если меняется макросостояние системы, то в блок текущего состояния системы (108), отражающий картину мира, подгружаются внутренние образы (ВО), соответствующие этому состоянию. Для прошлой ситуации новые подгруженные ВО были незначимыми, а для текущего состояния они становятся действующими. Микросостояние системы соответственно тоже вычисляется заново. Новое/текущее микросостояние становится некоторой стартовой/исходной точкой для последующего анализа новых микросостояний.

[0076] Если же новый ВО недостаточно "силен", чтобы изменить макросостояние системы, то в таком случае изменяются только микросостояния, причем изменения могут быть достаточно кардинальными.

[0077] В каждом такте системы вычисляется текущее оптимальное решение. Оно вычисляется на основе состояния, в котором начинался данный такт. То есть на основе матрицы приоритетов, которая сформирована супервизором состояний (ПО) по результатам работы предыдущего такта. Новая матрица приоритетов с текущего такта будет использована только в следующем такте. Аналогичным образом рассчитывается в каждом новом такте матрица значимости внутренних образов для следующего момента времени.

[0078] На Фиг. 3 представлена блок-схема одного из возможных вариантов реализации настоящего изобретения, при котором применяется облачное хранилище данных. Проиллюстрирована передача данных между системой принятия решений (100) и облаком (302). Важно отметить, что библиотека ВО (106) и библиотека знаний (118) могут располагаться в облаке. Такой известный подход организации распределенного хранения библиотек в некоторых вариантах реализации позволяет сократить ресурсы системы на локальное хранение данных и позволить быстрее обращаться системе принятия решений (100) к указанным библиотекам из любой точки мира. Однако, такой подход организации хранения библиотек не является приоритетным, а лишь одним из возможных вариантов реализации. Упомянутый подход хранения требует постоянного доступа к сети, что не всегда возможно, в случае реализации системы в качестве локальной и не предполагающей доступа к сети, либо имеющей ограничения на доступ к сети (например, автономная система автоматического пилотирования и принятия решений подводной лодки, космического корабля и др.). С другой стороны, в перспективе совершенствования технологий доступа к сети интернет и техники, распределенный облачный подход хранения данных может быть возможен в качестве базового для системы принятия решений при некоторых конкретных вариантах ее реализации.

[0079] На Фиг. 4 представлена блок-схема примерного способа принятия решений 400. Способ 400 и/или каждая из его отдельных функций, программ, подпрограмм или операций могут выполняться одним или несколькими процессорами компьютерной системы (в частности, компьютерной системы 500, изображенной на Фиг. 5), реализующей способ 400. В некоторых вариантах осуществления способ 400 может выполняться с помощью одного потока обработки. В альтернативном варианте осуществления способ 400 может выполняться двумя или несколькими потоками обработки, каждый из которых выполняет одну или несколько отдельных функций, программ, подпрограмм или операций, относящихся к данному способу. В одном из вариантов реализации потоки обработки, реализующие способ 400, могут быть синхронизированы (например, с использованием семафоров, критических секций и/или других механизмов синхронизации потоков). В альтернативном варианте осуществления потоки обработки, реализующие способ 400, могут выполняться асинхронно по отношению друг к другу. Поэтому, несмотря на то что на Фиг. 4 и в связанных с ним описаниях, операции способа 400 выполняются в определенном порядке, в различных вариантах осуществления данного способа как минимум некоторые из описанных операций могут выполняться параллельно и/или в произвольно выбранном порядке.

[0080] Способ 400 в одном из примерных вариантов реализации содержит следующие этапы:

[0081] Этап 402. Получение вычислительной системой данных внешнего воздействия от датчиков или устройств системы.

[0082] Этап 404. Формирование внутренних образов (ВО) системы, на основании полученных данных внешнего воздействия, при этом ВО хранятся в библиотеке ВО.

[0083] Этап 406. Отбор действующих ВО, соответствующих текущему состоянию системы в настоящий момент времени.

[0084] Этап 408. Вычисление матрицы приоритетов для действующих ВО.

[0085] Этап 410. Принятие оптимального решения на основании выполнения множества процессов, причем входными данными для данного этапа являются действующие ВО и матрица приоритетов.

[0086] Этап 412. Исполнение вычислительной системой принятого решения.

[0087] Этап 414. Формирование опыта системы на основании принимаемых решений.

[0088] Следует отметить, что способ принятия решений 400 может быть расширен и уточнен всеми частными вариантами исполнения, которые уже были описаны выше для вариантов реализаций системы принятия решений 100.

[0089] На Фиг. 5 представлена блок-схема компьютерной системы в соответствии с некоторыми вариантами реализации настоящего изобретения. Компьютерная система может быть подключена (например, по сети) к другим компьютерным системам в локальной сети, интрасети, экстрасети или сети Интернет. Компьютерная система может работать в качестве сервера в сетевой среде клиент-сервер. Компьютерная система может быть персональным компьютером (PC), планшетным компьютером, ТВ-приставкой (STB), персональным цифровым помощником (PDA), мобильным телефоном или любым устройством, способным выполнять набор инструкций (последовательных или иных), определяющих действия, которые должны выполняться этим устройством. Кроме того, несмотря на то что проиллюстрирована только одна компьютерная система, термин «компьютер» также следует понимать как любую совокупность компьютеров, которые индивидуально или совместно выполняют набор (или несколько наборов) инструкций для выполнения любого одного или нескольких способов, описанных в настоящем описании. В качестве компьютера так же может выступать суперкомпьютер, например, под управлением Linux.

[0090] Примерная компьютерная система 500 состоит из устройства 502 обработки данных, оперативного запоминающего устройства 504 (например, постоянного запоминающего устройства (ROM), флеш-памяти, динамической памяти с произвольным доступом (DRAM), такой как синхронная динамическая память с произвольным доступом (SDRAM)), и устройства 508 хранения данных, которые взаимодействуют друг с другом через шину 522.

[0091] Устройство 502 обработки данных представляет собой одно или несколько устройств обработки общего назначения, таких как микропроцессор, центральный процессор и т.п. Устройство 502 обработки данных может быть микропроцессором с полным наборов команд (CISC), микропроцессором для вычисления сокращенных наборов команд (RISC), микропроцессором с очень длинным командным словом (VLIW), процессором, реализующим другие наборы команд, или процессором, реализующим сочетание наборов команд.

[0092] Устройство 502 обработки данных также может представлять собой одно или несколько устройств обработки специального назначения, таких как специализированная интегральная схема (ASIC), программируемая на месте матрица логических элементов (FPGA), цифровой сигнальный процессор (DSP), сетевой процессор и т.п. Устройство 502 обработки данных сконфигурировано для выполнения инструкций 530 с целью реализации способа принятия решений 400 (Фиг. 4), а также для выполнения любых описанных выше операций.

[0093] Компьютерная система 500 может дополнительно включать сетевой интерфейс 506, устройство 512 визуального отображения (например, жидкокристаллический дисплей), буквенно-цифровое устройство 514 ввода (например, клавиатуру), устройство 516 управления курсором и устройство принятия внешнего воздействия 518. В одном варианте реализации устройство 512 визуального отображения, устройство 514 буквенно-цифрового ввода и устройство 516 управления курсором могут быть объединены в единый компонент или устройство (например, сенсорный жидкокристаллический дисплей).

[0094] Устройство принятия внешнего воздействия 518 представляет собой одно или несколько устройств или датчиков для принятия внешнего воздействия. В качестве устройства принятия внешнего воздействия может выступать видеокамера, микрофон, сенсорный датчик, датчик движения, датчик температуры, датчик влажности, датчик дыма, датчик освещенности и т.п.

[0095] Устройство 508 хранения данных может включать машиночитаемый носитель 510 данных, на котором хранятся инструкции 530, воплощающие любую одну или несколько методик или функций, описанных в настоящем документе (способ 400). Инструкции 530 также могут полностью или, по крайней мере, частично находиться в оперативной памяти 504 и/или на устройстве 502 обработки данных во время их выполнения компьютерной системой 500. Оперативная память 504 и устройство обработки 502 данных также представляют собой машиночитаемые носители данных. В некоторых реализациях инструкции 530 могут дополнительно передаваться или приниматься по сети 520 через сетевое интерфейсное устройство 506.

[0096] Несмотря на то, что в иллюстративных примерах машиночитаемый носитель 410 данных представлен в единственном числе, термин «машиночитаемый носитель» следует понимать как включающий в себя один или несколько носителей (например, централизованную или распределенную базу данных и (или) связанные с ней кэши и серверы), в которых хранится один или несколько наборов инструкций. Термин «машиночитаемый носитель» также следует понимать как включающий в себя какой-либо носитель, способный хранить, кодировать или переносить набор инструкций для выполнения машиной и вынуждающий машину выполнять любую одну или несколько методик настоящего изобретения. Следовательно, термин «машиночитаемый носитель» должен включать, помимо прочего, твердотельные запоминающие устройства, оптические и магнитные носители данных.

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

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

[0099] В приведенном выше описании излагаются многочисленные детали. Однако специалисту в данной области техники будет очевидно, что аспекты настоящего изобретения могут быть реализованы на практике без этих конкретных деталей. В некоторых случаях, чтобы избежать затруднения понимания настоящего изобретения, хорошо известные структуры и устройства представлены в виде блок-схемы, а не подробно. [00100] Следует отметить, что при отсутствии других конкретных указаний, как стало очевидно из последующего обсуждения, на протяжении всего описания такие термины в обсуждении, как «получение», «определение», «выбор», «хранение», «анализ» и т. и., относятся к действиям и процессам компьютерной системы или аналогичного электронного вычислительного устройства, которое манипулирует данными и преобразует данные, представленные в виде физических (электронных) величин в регистрах и памяти компьютерной системы, в другие данные, аналогичным образом представленные в виде физических величин в памяти или регистрах компьютерной системы или других таких устройствах хранения, передачи или отображения информации.

[00101] Настоящее изобретение также относится к устройству для выполнения операций, описанных в настоящем документе. Это устройство может быть специально сконструировано для требуемых целей или может содержать компьютер общего назначения, избирательно активируемый или реконфигурируемый компьютерной программой, хранящейся в компьютере. Такая компьютерная программа может храниться на машиночитаемом носителе данных, например, на дисках любого типа, включая дискеты, оптические диски, компакт-диски и магнитно-оптические диски, постоянные запоминающие устройства (ROM), оперативную память (RAM), программируемые постоянные запоминающие устройства (EPROM), электронно-перепрограммируемые постоянные запоминающие устройства (EEPROM), магнитные или оптические карты или носители любого типа, пригодные для хранения электронных инструкций, каждый из которых подключен к компьютерной системной шине.

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

[00103] Варианты реализации настоящего изобретения могут быть представлены в виде программного продукта или программного обеспечения, включающего машиночитаемый носитель с сохраненными на нем инструкциями, которые могут использоваться для программирования компьютерной системы (или других электронных устройств) с целью выполнения процесса в соответствии с настоящим изобретением. Машиночитаемый носитель включает любой механизм для хранения или передачи информации в форме, читаемой машиной (например, компьютером). К примеру, машиночитаемый (например, читаемый компьютером) носитель включает машиночитаемый (например, читаемый компьютером) носитель информации (например, постоянное запоминающее устройство (ROM), оперативную память (RAM), носитель информации на магнитных дисках, оптический носитель информации, устройства флэш-памяти).

[00104] Слова «пример» или «приведенный в качестве примера» в настоящем документе означают пример, случай или иллюстрацию. Любой аспект или решение, описанные в настоящем документе как «пример» или «приведенный в качестве примера», необязательно должны рассматриваться как предпочтительный или преимущественный по сравнению с другими аспектами или решениями. Скорее, использование слов «пример» или «приведенный в качестве примера» предназначено для представления концепций с практической точки зрения. При использовании в настоящей заявке термин «или» предназначен для обозначения включающего «или», а не исключающего «или». Кроме того, использование термина «реализация», «один вариант реализации», «пример реализации» или «один пример реализации» во всем тексте не означает один и тот же вариант или пример реализации, если только они не описаны как таковые. Кроме того, термины «первый», «второй», «третий», «четвертый» и т. д., используемые в настоящем документе, предназначены для обозначения различных элементов и необязательно имеют порядковое значение в соответствии с их числовым обозначением.

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