Сетевая вычислительная система и способ решения вычислительной задачи



Сетевая вычислительная система и способ решения вычислительной задачи
Сетевая вычислительная система и способ решения вычислительной задачи
Сетевая вычислительная система и способ решения вычислительной задачи
Сетевая вычислительная система и способ решения вычислительной задачи
Сетевая вычислительная система и способ решения вычислительной задачи
Сетевая вычислительная система и способ решения вычислительной задачи
Сетевая вычислительная система и способ решения вычислительной задачи

 


Владельцы патента RU 2556374:

СЕНТИЕНТ ТЕКНОЛОДЖИЗ (БАРБАДОС) ЛИМИТЕД (BB)

Изобретение относится к области распределенных эволюционных алгоритмов. Техническим результатом является повышение эффективности распределенных вычислений с использованием распределенных эволюционных алгоритмов. Описан сервер и множество клиентских компьютеров, формирующих сетевую вычислительную систему, которая может расширяться и предназначена для непрерывной оценки характеристик эффективности группы генов, сгенерированных с помощью программного приложения. Каждый клиентский компьютер осуществляет периодическое получение данных, связанных с генами, записанными в его запоминающем устройстве. Используя эти данные, клиентские компьютеры оценивают характеристику эффективности каждого из своих генов путем сравнения решения, обеспечиваемого геном, с периодически получаемыми данными, связанными с этим геном. Соответственно, характеристика эффективности каждого гена может обновляться и изменяться каждый раз при получении данных. Характеристика эффективности гена определяет его приспособленность. Гены могут быть виртуальными трейдерами активов, которые рекомендуют варианты сделок. Первоначально генам могут быть присвоены разные классы для улучшения схождения, однако затем может приниматься решение об объединении (слиянии) генов других классов для повышения вариабельности. 2 н. и 18 з.п. ф-лы, 7 ил.

 

ПЕРЕКРЕСТНЫЕ ССЫЛКИ НА РОДСТВЕННЫЕ ЗАЯВКИ

[0001] В настоящей заявке испрашивается конвенционный приоритет в соответствии с положением 119(e) 35 USC по временным заявкам США: US 61/173581 "Распределенный эволюционный алгоритм для биржевых сделок", поданной 28 апреля 2009 г., и US 61/173582 "Распределенный эволюционный алгоритм для биржевых сделок", поданной 28 апреля 2009 г., содержание которых полностью вводится ссылкой в настоящую заявку.

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

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

[0003] Биржевые курсы, как правило, изменяются непредсказуемым образом, однако время от времени их поведение можно предугадать. Для распределения акций по категориям используются так называемые генетические алгоритмы. В соответствии с одной из теорий в любой заданный момент времени курсы 5% акций изменяются в соответствии с трендом. Поэтому генетические алгоритмы иногда используются (с некоторым успехом) для определения категорий акций, поведение которых следует тренду или поведение которых не соответствует тренду.

[0004] Эволюционные алгоритмы, представляющие собой расширенные множества генетических алгоритмов, хорошо проявляют себя при выполнении поиска, имеющего случайный характер. Как показал Koza, J.R. в работе "Генетическое программирование: о программировании компьютеров с использованием алгоритма естественного отбора", 1992, MIT Press, эволюционный алгоритм может использоваться для получения описательных представлений готовых программ. Основными элементами эволюционного алгоритма является среда, модель гена, функция приспособленности и функция воспроизводства (репродукции). Среда может быть моделью постановки любой задачи. Ген можно определить как набор правил, которые управляют его поведением в среде. Правило представляет собой перечень условий, после выполнения которых следует действие, осуществляемое в среде. Функция приспособленности может быть определена степенью успешности согласования развивающегося набора правил со средой. Поэтому функция приспособленности используется для оценки приспособленности к среде каждого гена. Получение новых генов обеспечивается функцией репродукции путем смешивания правил наиболее приспособленных родительских генов. При каждой генерации создается новая популяция генов.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

[0020] Фигура 1 - блок-схема высокого уровня сетевой вычислительной системы, обеспечивающей выполнение эволюционного алгоритма в соответствии с одним из вариантов осуществления настоящего изобретения.

[0021] Фигура 2 - схема, на которой показаны функциональные логические блоки клиентского компьютера и сервера вычислительной системы фигуры 1, в соответствии с одним из вариантов осуществления настоящего изобретения.

[0022] Фигура 3 - график зависимости показателя схождения от временного интервала оценки для определенного пула.

[0023] Фигура 4 - блок-схема сетевой вычислительной системы, в состав которой входит сервер и множество клиентов, формирующих множество различных классов, в соответствии с одним из вариантов осуществления настоящего изобретения.

[0024] Фигура 5А - блок-схема алгоритма оценки характеристик эффективности генов одним или несколькими клиентскими компьютерами, в соответствии с одним из вариантов осуществления настоящего изобретения.

[0025] Фигура 5В - блок-схема алгоритма оценки характеристик эффективности генов одним или несколькими серверами, в соответствии с одним из вариантов осуществления настоящего изобретения.

[0026] Фигура 6 - блок-схема, на которой показаны компоненты клиента и сервера фигуры 1.

ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ

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

[0028] В нижеприведенном описании понимается, что: (i) указание "система" относится к комплексу аппаратным средств, комплексу программных средств или к комплексу, содержащему аппаратные и программные средства; (ii) указание "сетевая вычислительная система" относится к множеству мобильных или стационарных вычислительных систем, которые обмениваются информацией друг с другом, используя линии проводной или беспроводной связи, причем сетевая вычислительная система содержит множество компьютеров, по меньшей мере один из которых является центральным или распределенным сервером, а остальные компьютеры являются клиентскими компьютерами, и каждый сервер или клиентский компьютер содержит по меньшей мере один центральный процессор (ЦП) и по меньшей мере одно запоминающее устройство.

[0029] На фигуре 1 представлена блок-схема высокого уровня сетевой вычислительной системы 100 в соответствии с одним из вариантов осуществления настоящего изобретения. Сетевая вычислительная система 100, схема которой представлена на фигуре 1, содержит N клиентских компьютеров 20 и один сервер 10. Следует понимать, что сервер 10 может быть центральным или распределенным устройством. Клиентский компьютер может быть ноутбуком, настольным компьютером, карманным сотовым устройством связи/вычислений, планшетным компьютером или иным им подобным устройством.

[0024] Соединение клиентских компьютеров 20 (указываемых в описании так же, как и "клиенты") с сервером 10 осуществляется с использованием широкополосной связи. Такие соединения могут выполняться с использованием кабеля, DSL, беспроводных линий WiFi, 3G, 4G, или любого другого вида проводной или беспроводной связи, который существует или может быть разработан в будущем и предназначен для подсоединения ЦП к Интернету. Может использоваться любой ЦП, если на нем может выполняться программное обеспечение клиента (программа-клиент) в соответствии с настоящим изобретением, как это будет описано ниже.

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

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

[0033] В соответствии с настоящим изобретением каждый клиент, который подсоединен к сети, получает или скачивает программное обеспечение клиента. Это программное обеспечение автоматически генерирует множество генов, количество которых может варьироваться в зависимости от размеров запоминающего устройства и вычислительной мощности ЦП клиента. Например, в одном из вариантов клиент может использовать для оценки 1000 генов.

[0034] Предполагается, что ген является виртуальным трейдером, которому выделяется некоторая сумма денежных средств для осуществления коммерческих операций с использованием архивных данных. Такие коммерческие операции осуществляются в соответствии с набором правил, которые определяют ген и указывают, когда нужно покупать, продавать, удерживать позицию или выходить из позиции. Правило представляет собой перечень условий, после соблюдения которых выполняется некоторое действие, которое может быть, например, покупкой, продажей, удерживанием позиции или выходом из нее. Правила могут быть также разработаны таким образом, чтобы они содержали в качестве целей ограничители убытков и прибыли (приказы "gain-goal" и "stop-loss"), что делает действие по выходу из позиции избыточным. Удерживание происходит, когда не запущено ни одно правило в гене, и поэтому ген эффективно удерживает текущую позицию. Условие - это перечень совместно действующих условий, основанных на индикаторах.

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

[0035] Нижеприведенный код определяет правило в гене через условия и индикаторы, а также определяет действие, осуществляемое геном, в соответствии с одним из вариантов осуществления настоящего изобретения:

if(PositionProflt>=2% and !(tick=(-54/10000)% prev tick and MACD is negative)

and !(tick=(-119/10000)% prev tick and Position is long))

and !(ADXx 100<=5052))

then SELL

где "and" представляет логическую операцию "И", "!" представляет логическую операцию "НЕ", "tick", "MACD" и "ADX" - биржевые индикаторы рынка акций, "SELL" указывает действие "продавать", и "PositionProfit" представляет положение прибыли для гена.

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

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

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

[0039] В соответствии с другим вариантом осуществления настоящего изобретения распределение генов также используется для повышения скорости оценки для одного и того же гена. В этом случае гены, которые получены сервером, но еще не достигли определенного возраста или же еще не отвечают одному или нескольким заданным условиям, могут быть переданы сервером обратно множеству клиентов для дополнительной оценки. Результаты оценки, полученные клиентами для гена (также указываемые в настоящем описании как частичные оценки), передаются обратно в сервер. Сервер объединяет результаты частичной оценки гена с величиной приспособленности гена на момент времени передачи гена клиентам, для получения показателя приспособленности для этого гена. Например, пусть ген имеет оценку на временном интервале, охватывающем 500 дней, и он передается сервером, например, двум клиентам, каждый из которых получает команду выполнить оценку гена для 100 дополнительных дней. Соответственно, каждый клиент осуществляет такую дополнительную оценку для 100 дополнительных дней и передает результаты оценки в сервер. Эти два результата объединяются с величиной приспособленности гена, полученной на момент времени передачи гена этим двум клиентам. Объединенные результаты представляют собой приспособленность гена, оценка которой выполнена на временном интервале, охватывающем 700 дней. Иными словами, распределенная система в соответствии с рассматриваемым примером увеличивает возраст зрелости гена с 500 дней до 700 дней, используя только 100 разных дней оценки для каждого клиента. Таким образом, распределенная система по настоящему изобретению имеет высокую степень масштабируемости при осуществлении оценок своих генов.

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

[0041] Каждый клиентский компьютер имеет коммуникационный порт для доступа к одному или к нескольким серверам данных, которые указаны ссылочным номером 30, для получения информации, необходимой для получения решения поставленной задачи. В случае формирования рекомендаций по торговым политикам в отношении активов, таких как акции, сырьевые товары, валюта и др., информация, обеспечиваемая такими серверами, включает стоимости активов, за определенный временной интервал. В другом варианте (не показан) информация, необходимая для решения поставленной задачи, может передаваться из сервера 30 данных в клиенты 20 через сервер 10. Хотя сервер 10 показан на фигуре 1 как один центральный сервер, следует понимать, что сервер 10 может быть распределенным устройством.

[0042] На фигуре 2 показаны логические блоки клиентов 20 и сервера 10. Как можно видеть, каждый клиент 20 содержит пул 24 генов, которые генерируются автономным программным приложением, работающим на клиенте. Здесь и далее предполагается, что каждый ген представляет собой трейдера финансовых активов (например, акций), хотя следует понимать, что в общем случае ген может использоваться для нахождения решения любой другой вычислительной задачи. Характеристики эффективности каждого гена клиента оцениваются на первом заданном временном интервале, охватывающем Р операционных дней, например 600 дней, с помощью блока 22 оценки. Оценка каждого гена осуществляется путем сравнения рекомендаций этого гена по сделкам и определения его соответствующей доходности на заданном временном интервале. Характеристика эффективности гена указывается в настоящем описании также как приспособленность гена. Клиент 20 получает архивные коммерческие данные для определения приспособленности своих генов.

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

[0044] В некоторых вариантах после начальной оценки генов на первом временном интервале, охватывающем Р операционных дней, выжившие гены оцениваются дополнительно на множестве S дополнительных временных интервалов, каждый из которых охватывает Q других операционных дней. Например, после начальной оценки генов на первых 600 операционных днях каждый выживший ген оценивается дальше на двух дополнительных временных интервалах, каждый из которых охватывает дополнительные 600 операционных дней. Поэтому в таких примерах каждый ген оценивается на временном интервале, охватывающем 1800 операционных дней. Такое множество временных интервалов может быть неперекрывающимися последовательными интервалами. Кроме того, количество Q операционных дней каждого дополнительного временного интервала может отличаться от количества Р операционных дней начального интервала оценки. В результате оценки на каждом таком дополнительном временном интервале могут удаляться гены, которые выжили после предыдущих оценок. Например, ген, выживший после начального временного интервала оценки, охватывающего, например, 600 дней, может не выжить после оценки, осуществляемой на втором временном интервале, охватывающем, например, также 600 дней, если его приспособленность на интервале 1200 операционных дней будет ниже заданного порогового значения. Гены, сохраняемые в пуле 26 элитных генов, которые не выжили после таких дополнительных временных интервалов оценки, удаляются. Пороговое значение приспособленности, которое должны превышать гены для прохождения начального временного интервала оценки, может быть равно или не равно пороговым значениям приспособленности для последующих временных интервалов оценки.

[0045] Гены, которые выжили после начального и последующих временных интервалов оценки, остаются в пуле 26 элитных генов, и обрабатываются блоком 28 селекции генов для возможного отбора и передачи в сервер 10, как показано на фигуре 2. Гены, полученные сервером 10 от клиентских компьютеров, записываются в генном пуле 14 сервера 10. Блок 28 селекции генов осуществляет сравнение приспособленности генов своего пула 26 элитных генов, с генами, записанными в пуле 14, которые имеют наихудшие характеристики эффективности. В одном из вариантов сервер 10 принимает только те гены, у которых приспособленность, определенная клиентским компьютером, по меньшей мере равна или превышает приспособленность генов, сохраняемых в генном пуле 14. Поэтому сервер 10 сообщает клиентскому компьютеру информацию о приспособленности наихудших генов, по которой блок 28 селекции генов осуществляет сравнение и определяет гены, которые будут приняты сервером 10. Например, сервер 10 может передавать в блок 28 селекции генов запрос, содержащий вопрос: "Приспособленность моего наихудшего гена равна X, имеются ли гены с лучшими характеристиками?". Блок 28 селекции генов может ответить сообщением "Имеется 10 генов с лучшими характеристиками" и попытается передать эти гены в сервер. В одном из вариантов генный пул 14 имеет фиксированный размер. Поэтому для принятия нового гена сервер 10 удаляет один из генов, записанных в его пуле 14. В одном из вариантов пул 14 исходной популяции формируется из всех генов, имеющих наибольшую приспособленность, записанных первоначально в пулах элитных генов клиентов. Это процесс продолжается, пока пул 14 не будет заполнен целиком, причем объем пула 14 может изменяться динамически. В другом варианте для формирования начальной популяции генов заполнение пула 14 генами из пулов элитных генов продолжается до тех пор, пока не будет использован весь объем пула 14.

[0046] Блок 12 принятия генов устроен таким образом, что он добавляет в пул 14 гены, полученные от клиента, только в том случае, если они имеют более высокую приспособленность, чем гены, записанные в пуле 14. Блок 12 принятия генов присваивает каждому принятому гену идентификатор ID и выполняет ряд операций по реорганизации пула 14 сервера перед добавлением в него принятого гена.

[0047] Для генов в пуле 26 элитных генов разрешается репродукция (воспроизводство). Для этого блок 30 репродукции генов случайным образом выбирает и комбинирует два или более генов, а именно, путем смешивания правил, использованных для создания родительских генов. После этого пул 24 последовательно заполняется популяцией из вновь созданных генов (дочерние гены), а также из генов, которые были в пуле элитных генов. Прежний пул генов удаляется. Новая популяция генов в пуле 24 оценивается, как это уже было указано.

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

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

[0050] Для генного пула сервера может быть предусмотрен процесс архивирования/восстановления для обеспечения целостности данных в случае неисправности сервера. Более того, поскольку клиенты устроены таким образом, что они хранят копии генов сервера, по которым они получили указания на выполнение оценок, и поскольку клиенты "самодостаточны" в осуществлении эволюционного процесса, то они могут продолжать выполнение оценок своих генов и развивать дальше эволюционный процесс, даже если сервер выходит из строя, или с ним нет связи по какой-либо иной причине. Когда сервер подсоединяется снова, генный пул сервера может быть воссоздан по генам, имеющимся в клиентах. Таким образом, сетевая вычислительная система в соответствии с вариантами осуществления настоящего изобретения не теряет информацию предшествующей обработки генов.

[0051] Сервер 50 данных обеспечивает архивную финансовую информацию для широкого круга торгуемых активов, таких как акции, облигации, сырьевые товары, валюта и их производные, такие как опционы, фьючерсы и т.п.Сервер 50 данных может взаимодействовать непосредственно с сервером 20 или с клиентами. Серверы данных могут также обеспечивать доступ к различным инструментам технического анализа, таким как финансовые показатели MACD, полосы Боллинджера, ADX, RSI и им подобные.

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

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

Показатель схождения = (взвешенная сумма средних величин приспособленности генов)/(сумма средних величин приспособленности генов)

где: взвешенная сумма средних величин приспособленности = взвешенная сумма средних величин приспособленности + средняя величина приспособленности х возраст

[0054] В соответствии с некоторыми вариантами осуществления изобретения сервер разбивает генный пул на некоторое количество Z разных классов. Соответственно, сервер разбивает множество клиентских компьютеров на Z групп, каждая из которых связана с разным классом генов. Например, клиенты группы 1 связаны с генами класса 1, клиенты группы 2 связаны с генами класса 2, и клиенты группы Z связаны с генами класса Z. Количество клиентов в разных группах может быть одинаковым или разным. Сервер ведет учет классов, к которым принадлежит каждый ген и каждый клиент. Гены в каждом классе характеризуются разными подмножествами индикаторов, которые в своей совокупности и вместе с группой условий определяют генный пул. Таким образом, каждый класс имеет возможность вносить свой вклад в решение задачи или формировать рекомендации в пространстве поиска, определяемом индикаторами, связанными с этим классом.

[0055] В некоторых вариантах сервер перераспределяет гены для дополнительной оценки только среди тех клиентов, которые относятся к одному классу. Следовательно, разные классы клиентов работают одновременно с общим генным пулом сервера. Например, пусть сервер разбил клиентские компьютеры на три группы (классы), каждой из которых назначен один из трех классов генов, причем разным группам назначаются разные классы генов. Гены первого класса имеют возможность использовать в качестве индикаторов, например, цену "тика", объем сделок и волатильность акций. Гены второго класса имеют возможность использовать в качестве индикаторов, например, цену "тика", а также информацию MACD и ADX. Гены третьего класса имеют возможность использовать в качестве индикаторов, например, цену "тика", объем сделок и скорость изменения биржевого курса. В соответствии с такими вариантами каждый класс работает независимо от других классов и передает свой пул элитных генов в сервер, как уже было указано. Для дополнительной оценки генов сервер передает гены каждого класса только клиентам этого же класса. Например, элитные гены класса 1, идентифицируемые клиентами класса 1, могут быть переданы сервером для дополнительной оценки только клиентам класса 1. Поэтому в таких вариантах гены, принадлежащие к разным классам, не объединяются.

[0056] На фигуре 4 приведена блок-схема сетевой вычислительной системы 300, в состав которой входит сервер 310 и множество клиентов 320ij, формирующих множество Z разных классов, в соответствии с одним из вариантов осуществления настоящего изобретения. Индекс i указывает номер клиента в каждом классе и изменяется от 1 до N, а индекс j определяет номер класса и изменяется от 1 до Z. Например, обозначение 32011 идентифицирует первый клиентский компьютер в классе 1 генов, обозначение 32021 идентифицирует второй клиентский компьютер в классе 1 генов, и обозначение 3201N идентифицирует N-й клиентский компьютер в классе 1 генов. Аналогично, обозначение 320zi идентифицирует первый клиентский компьютер в классе Z генов, обозначение 320Z2 идентифицирует второй клиентский компьютер в классе Z генов, и обозначение 320ZN идентифицирует N-й клиентский компьютер в классе Z генов. Понятно, что N и Z - это целые числа, и в каждом классе может быть разное количество N клиентов.

[0057] В одном из вариантов, как это уже указывалось, гены, принятые сервером 310 от любого клиента класса j, могут быть переданы обратно для дополнительной оценки только клиентам класса j. Например, гены, полученные сервером от клиентов 320i1 класса 1 (то есть, гены класса 1), могут быть переданы для дополнительной оценки только клиентам 320i1 класса 1. Как уже указывалось, классификация генов и их связывание с клиентскими компьютерами обеспечивает однородность генов, отсутствие корреляции между генами разных классов и убыстряет схождение процесса.

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

[0059] Пусть сервер 310 (фигура 4) обеспечивает возможность смешивания генов. Соответственно, сервер 310 может передавать, например, гены класса 1, которые он принимает от клиентов 320 л, для дополнительной оценки только другим клиентам класса 1, или же может передавать, например, гены класса 4, которые он принимает от клиентов 320i4, для дополнительной оценки только другим клиентам класса 4. Пусть гены класса 1 имеют возможность использовать в качестве индикаторов цену "тика", объем сделок и волатильность акций, и гены класса 2 имеют возможность использовать в качестве индикаторов цену "тика", а также информацию MACD и ADX. Пусть также сервер объединяет гены классов 1 и 2 для формирования нового класса генов. Соответственно, индикаторы, используемые вновь сформированным классом, включают цену "тика", объем сделок, волатильность акций, а также информацию MACD и ADX. Слияние генов помогает минимизировать любое схождение, результатом которого является нахождение локального оптимума, который не является оптимальной точкой. Объединяемые классы могут быть удалены или могут быть оставлены.

[0060] На фигуре 5А приведена блок-схема алгоритма 500 оценки характеристик эффективности генов одним или несколькими клиентскими компьютерами, в соответствии с одним из вариантов осуществления настоящего изобретения. На стадии инициализации клиентские компьютеры связываются с сервером для назначения им одного из N разных классов, каждый из которых связан и соответствует одному из N классов генов (блок 502). Соответственно, имеется N классов генов, каждый из которых связан с одним из N классов клиентских компьютеров. После генерации генов (блок 504) и получения информации, связанной с генами (блок 506), гены оцениваются (блок 508) с использованием полученных данных для определения их характеристик эффективности или приспособленности. После выполнения оценок (блок 508) осуществляется сравнение вычисленной приспособленности каждого гена с пороговым значением (блок 510), и гены, приспособленность которых меньше порогового значения, удаляются (блок 512). Гены, приспособленность которых равна или больше порогового значения, сохраняются и передаются для отбора и принятия сервером (блок 514).

[0061] На фигуре 5В приведена блок-схема 550 алгоритма оценки характеристик эффективности генов одним или несколькими серверами, в соответствии с одним из вариантов осуществления настоящего изобретения. В примере, представленном на фигуре 5В, перед принятием нового гена сервер определяет, был ли этот новый ген уже принят ранее и сохранен сервером (блок 562). Если сервер определяет, что новый ген уже был ранее им принят и сохранен, он объединяет величину приспособленности этого нового гена с предыдущей величиной приспособленности (блок 564) и принимает этот ген для хранения (блок 554). Если сервер определяет, что новый ген не был им принят и сохранен ранее, то он сравнивает величину приспособленности каждого такого гена с величинами приспособленности генов, ранее записанных и сохраняемых сервером (блок 552). Если оказывается, что величина приспособленности проверяемого гена больше или равна величинам приспособленности генов, записанных ранее и сохраняемых сервером, то он принимает этот ген (блок 554). Если оказывается, что величина приспособленности проверяемого гена меньше величин приспособленности генов, записанных ранее и сохраняемых сервером, то он может не принять этот ген (блок 560).

[0062] Сервер проверяет для каждого принятого им гена, удовлетворяет ли степень схождения класса генов, к которому принадлежит этот ген, заданному условию (блок 556). Если степень схождения класса генов, к которому принадлежит этот ген, удовлетворяет заданному условию (блок 556), то этот класс генов объединяется с другим классом генов (574), который определен подходящим для объединения, в результате чего формируется новый класс. После выполнения объединения сервер изменяет класс генов, которые участвуют в объединении, на новый класс (блок 568). Класс клиентских компьютеров объединяемых классов изменяется аналогичным образом. После выполнения указанных изменений классов определяется временной интервал, который должен использоваться для оценки вновь принятого гена (блок 558). Если вновь принятый ген соответствует заданному условию продолжительности, то сервер сохраняет этого ген вместе с величиной его приспособленности (блок 570). Если вновь принятый ген не соответствует заданному условию продолжительности, то ген передается сервером обратно в один или несколько клиентских компьютеров для дополнительной оценки на дополнительных временных интервалах (блок 566). В таких вариантах ген передается только тем клиентам, которые ранее осуществляли оценку этого гена и передавали его для принятия сервером. Иначе говоря, сервер передает гены, которые оценивались клиентскими компьютерами класса j, только клиентским компьютерам класса j (блок 560), где j - переменная, изменяющаяся от 1 до N. Если степень схождения класса гена, к которому принадлежит принятый ген, не удовлетворяет заданному условию (блок 556), то следует переход на определение того, соответствует ли временной интервал, использованный для оценки вновь принятого гена, заданному условию продолжительности (блок 558), как это уже было указано. Следует иметь в виду, что порядок, в котором на фигуре 5В показаны различные действия и проверки, является примерным и может быть изменен без изменения выполняемых функций.

[0063] На фигуре 6 приведена блок-схема, на которой показаны компоненты клиента и сервера фигуры 1. На фигуре 6 показано, что каждый сервер или клиент содержит по меньшей мере один процессор 402, который обменивается информацией с различными периферийными устройствами с помощью подсистемы 404 шины. Это могут быть следующие периферийные устройства: подсистема 406 хранения данных, в том числе подсистема 408 запоминающих устройств и подсистема 410 хранения файлов, устройства 412 ввода информации пользовательского интерфейса, устройства 414 вывода информации пользовательского интерфейса и подсистема 416 сетевого интерфейса. Устройства ввода и вывода информации обеспечивают взаимодействие пользователя с системой 402 обработки данных.

[064] Подсистема 416 сетевого интерфейса обеспечивает сопряжение с другими компьютерными системами, сетями и ресурсами 404 хранения данных. Может обеспечиваться сопряжение с такими сетями, как Интернет, локальные сети (LAN), региональные сети (WAN), беспроводные сети, внутрикорпоративные сети, частные сети, общедоступные сети, сети с коммутируемыми линиями связи или любые другие подходящие сети связи. Подсистема 416 сетевого интерфейса представляет собой интерфейс для приема данных устройством обработки информации от других источников и передачи данных другим источникам. В качестве подсистемы 416 сетевого интерфейса может использоваться сетевая карта Ethernet, модем (телефонная, спутниковая, кабельная связь, ISDN и т.п.), модули цифровой абонентской линии (DSL) и др.

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

[0066] К устройствам 414 вывода информации пользовательского интерфейса относятся, например, дисплеи, принтеры, факс-аппараты или устройства вывода звуковой информации. В качестве дисплея может использоваться ЭЛТ, плоская панель, например, жидкокристаллический дисплей или проекционное устройство. В общем случае, термин "устройство вывода" относится ко всем возможным типам устройств и способов вывода информации.

[0067] Подсистема 406 хранения данных может быть устроена таким образом, чтобы в ней сохранялись базовые программы и данные, обеспечивающие функциональные возможности в соответствии с вариантами осуществления настоящего изобретения. Например, в соответствии с одним из вариантов осуществления изобретения в подсистеме 206 хранения данных могут храниться программные модули, обеспечивающие выполнение функций в соответствии с настоящим изобретением. Эти программные модули могут выполняться процессором 402. Подсистема 406 хранения информации может также использоваться в качестве хранилища данных, используемых в соответствии с настоящим изобретением. Подсистема 406 хранения информации может включать, например, подсистему 408 запоминающих устройств и подсистему 410 хранения файлов, например, на дисках.

[0068] Подсистема 408 запоминающих устройств может содержать различные типы таких устройств, включая оперативное запоминающее устройство 418 с произвольным доступом (ОЗУ) для хранения команд и данных во время исполнения программ, а также постоянное запоминающее устройство 420 (ПЗУ), в котором хранятся программы. Подсистема 410 хранения файлов обеспечивает долговременное хранение файлов программ и данных, и в качестве такой подсистемы может использоваться жесткий диск, дисковод гибких дисков вместе с соответствующими носителями данных, дисковод компакт-дисков, дисковод оптических дисков, сменные картриджи с носителями информации и другие аналогичные устройства.

[0069] Подсистема 404 шины обеспечивает механизм обмена сообщениями между различными компонентами и подсистемами сервера и клиента. Хотя подсистема 404 шины показана схематически как одна шина, в других вариантах осуществления изобретения может использоваться несколько шин.

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

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

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

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

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

4. Серверная вычислительная система по п. 3, в которой заданное для серверной вычислительной системы минимальное значение приспособленности соответствует величине приспособленности наименее приспособленной особи в генном пуле серверной вычислительной системы.

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

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

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

8. Серверная вычислительная система по п. 6, в которой объединенный класс связан с объединением подмножества индикаторов, ранее связанных с первым классом, и подмножества индикаторов, ранее связанных со вторым классом.

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

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

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

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

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

14. Серверная вычислительная система по п. 13, в которой первый клиентский компьютер перед объединением относился к первому классу.

15. Серверная вычислительная система по п. 13, в которой первый клиентский компьютер перед объединением относился ко второму классу.

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

17. Серверная вычислительная система по п. 13, в которой объединенный класс связан с объединением подмножества индикаторов, ранее связанных с первым классом, и подмножества индикаторов, ранее связанных со вторым классом.

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

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

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



 

Похожие патенты:

Изобретение относится к способу связи. Технический результат - отслеживание и управление потреблением ресурсами.

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

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

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

Изобретение относится к технике цифровой связи и может найти применение на железнодорожном транспорте для организации оперативно-технологической связи работников, организующих движение поездов.

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

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

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

Изобретение относится к системам автоматизации, основанным на использовании вычислительных машин. .

Изобретение относится к информационно-измерительной технике и может быть использовано в распределенных системах сбора данных, вырабатываемых контролируемыми объектами, в частности в системах бортовых измерений, АСУ ТП, контрольно-проверочной аппаратуре и т.п.

Изобретение относится к информационной безопасности. Технический результат заключается в обеспечении информационной безопасности при размещении оборудования сети в неэкранированных помещениях. Изолированная компьютерная сеть состоит из компьютера администратора, компьютеров пользователей с корпусами, экранирующими электромагнитное излучение (ЭМИ), клавиатур с экранированием ЭМИ, средств идентификации пользователей, подсоединенных к каждому компьютеру, коммутатора, включающего концентратор, размещенного в корпусе, экранирующем ЭМИ, релейного переключателя питания, сетевых соединений компьютеров и сетевого оборудования, ручного переключателя сетевых соединений и содержит подключенное к концентратору как минимум одно внешнее периферийное устройство, расположенное в контейнере, экранирующем ЭМИ, и сетевые соединения компьютеров сетевого оборудования и периферийных устройств выполнены оптоволоконными кабелями. 1 з.п. ф-лы, 2 ил.

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

Изобретение относится к средствам создания контрольных точек во время моделирования. Технический результат заключается в снижении вычислительных затрат компьютерного моделирования. Выбирают временной шаг для сохранения контрольной точки корреляции, причем контрольная точка корреляции содержит данные, используемые для корреляции значения, распространяющегося в прямом направлении, сформированного посредством компьютерного моделирования, причем компьютерное моделирование не может быть повторно начато со значений, сохраненных в контрольной точке корреляции. Причем выбор временного шага для сохранения контрольной точки корреляции предусматривает определение баланса между сохранением контрольной точки полного состояния, с которой компьютерное моделирование может быть повторно начато, и сохранением контрольной точки корреляции и сокращением требований к объему памяти компьютера. Выделяют пространство памяти для контрольной точки корреляции. Значение, распространяющееся в обратном направлении, из данных измерений коррелируют со значением, распространяющимся в прямом направлении, из компьютерного моделирования, причем прямое значение, распространяющееся в прямом направлении, сохраняется в контрольной точке корреляции. 4 н. и 24 з.п. ф-лы, 33 ил., 3 табл.

Группа изобретений относится к работе сети управления. Технический результат - повышение безопасности и эксплуатационной надежности сети управления. Для этого предложен способ работы сети управления с единственным соединением между первым управляющим компьютером и вторым резервным управляющим компьютером через сеть, к которой подключено множество функционально важных технических устройств обработки данных. Информационно-техническое соединение между компьютерами и устройствами обеспечено посредством команды опроса состояния, причем для начала работы сети управления проверяется коммуникационное соединение между обоими компьютерами. При положительном результате проверки первому компьютеру назначается функция ведущего, а при отрицательном результате проверки оба компьютера присоединяют к себе устройства в установленной последовательности. При присоединении предопределенного количества устройств к одному из обоих компьютеров он принимает функцию ведущего, а другой компьютер - функцию резервного, при находящемся ниже заданного количестве устройств, подключенных к каждому из обоих компьютеров, генерируется сигнал, который сигнализирует состояние неисправности сети управления. 2 н. и 6 з.п. ф-лы, 1 ил.
Наверх