Программный комплекс обеспечения интеллектуальных вычислений тема диссертации и автореферата по ВАК РФ 05.13.18, кандидат физико-математических наук Окуловский, Юрий Сергеевич

  • Окуловский, Юрий Сергеевич
  • кандидат физико-математических науккандидат физико-математических наук
  • 2009, Екатеринбург
  • Специальность ВАК РФ05.13.18
  • Количество страниц 111
Окуловский, Юрий Сергеевич. Программный комплекс обеспечения интеллектуальных вычислений: дис. кандидат физико-математических наук: 05.13.18 - Математическое моделирование, численные методы и комплексы программ. Екатеринбург. 2009. 111 с.

Оглавление диссертации кандидат физико-математических наук Окуловский, Юрий Сергеевич

Введение

Глава 1. Вычислительные возможности отдельного нейрона

1.1. Линейно-разделимые функции.

1.1.1. Критерий линейной разделимости для булевых функций.

1.1.2. Алгоритм проверки линейной разделимости.

1.1.3. Критерий линейной разделимости для функций распознавания

1.1.4. Монотонные и канонические булевы функции.

1.1.5. Классификация линейно-разделимых булевых функций.

1.2. Линейно-порожденные порядки

1.2.1. Образующие множества линейно-порожденных порядков.

1.2.2. Порядки с эквивалентными точками

1.2.3. Решетка линейно-порожденных порядков.

1.2.4. Связь между линейно-разделимыми функциями и линейно-порожденными порядками.

Глава 2. Комплекс поддержки интеллектуальных вычислений GANS

2.1. Компонентная модель GANS.

2.2. Интеллектуальные системы.

2.2.1. Нейронные системы.

2.2.2. Генетические алгоритмы

2.2.3. Алгоритмы коллективного разума.

2.3. Драйвер обучения.

2.3.1. Архитектура.

2.3.2. Процесс обучения.

2.4. Язык описания интеллектуальных систем.

2.4.1. Язык Thorn.

2.4.2. Система кодогенерациии Thornado.

2.4.3. Описание интеллектуальных систем.

Глава 3. Тестирование комплекса интеллектуальных вычислений

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

3.2. Аппроксимация функций с помощью нейронных сстсй

3.3. Обработка изображений с помощью нейронных сетей.

3.4. Алгоритм калибровки зонда и свойств жидкости.

3.5. Алгоритм автоматической калибровки робота.

Рекомендованный список диссертаций по специальности «Математическое моделирование, численные методы и комплексы программ», 05.13.18 шифр ВАК

Введение диссертации (часть автореферата) на тему «Программный комплекс обеспечения интеллектуальных вычислений»

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

• делать выводы, являющиеся логическим следствием имеющихся знаний;

• обучаться решению задачи по предъявленным примерам решения и в дальнейшем работать на основании накопленного опыта;

• демонстрировать способность к адаптации и корректировать собственное поведение при изменении условий;

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

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

• моделирование экспертной оценки (в медицине [33], предсказании погоды [6], и т.д);

• поиск приближенных решений для труднорсшасмых задач и КР-полных задач [7], [27];

• системное программное обеспечение (сжатие информации без потерь [37], распознавание вредоносного программного обеспечения [8])

• робототехника (распознавание изображений и техническое зрение, планирование и управление [41])

• экономика [19];

• энергетика [35];

Следует отметить, что наряду с термином «системы искусственного интеллекта» используются также «интеллектуальные системы» и «интеллектуальные вычисления». Вообще говоря, эти три термина не всегда используются исследователями как полностью взаимозаменяемые. Однако мы впоследствии будем применять их как синонимы, поскольку в рамках нашего исследования имеющиеся между ними различия существенного значения не имеют.

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

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

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

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

На сегодняшний день создано и постоянно создается большое количество программных реализаций систем искусственного интеллекта. Однако, не существует известных систем, реализующих алгоритмы коллективного разума. Также не представлены продукты, интегрирующие генетические алгоритмы и нейронные сети. Широко распространены пакеты, содержащие лишь реализацию нейронных сетей. Успешные коммерческие реализации (см., например, [17], [20]) имеют закрытую архитектуру, и позволяют работать лишь со строго определенными типами нейронных сетей и алгоритмами их обучения, существенно ограничивая возможности пользователя по разработке новых систем. Большинство распространенных программных комплексов поддержки генетических алгоритмов (см., например, [9], [13]) не допускают интеграцию с нейронными сетями из-за узкой специализации. В целом также следует отметить более низкий уровень реализаций генетических алгоритмов по сравнению с нейронными сетями, проявляющийся в детальности документации, поддержке, спектре функциональности и т.д. Некоторые системы искусственного интеллекта реализованы в составе крупных программных пакетов, таких, как МаШаЬ ([16], [30]). Такая реализация позволяет полнее интегрировать интеллектуальные вычисления со сложными математическими вычислениями, однако затрудняет оптимизацию интеллектуальных систем и их использование вне среды МаШаЬ.

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

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

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

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

Впервые биологический нейрон был рассмотрен как логическое устройство Уорреном МакКалоком и Уолтером Питсом [15]. Математическая модель простейшей сети была впервые предложена Френком Розенблаттом в 1957 году [21]. В 1960 году эта модель была реализована в вычислителе Магк-1 - первом в мире нейрокомпьютере. В результате было получено первое в истории устройство для симуляции интеллектуальной деятельности человека. Это позволило говорить о возможности решения различных задач не при помощи классических алгоритмов, содержащих готовые схемы действий, а на основе обучения и опыта. На фоне всеобщего интереса к искусственному интеллекту, из полученных результатов были сделаны весьма амбициозные выводы о скором создании искусственного интеллекта, основанного на пер-септронах. Однако, в 1969 году Марвин Минский и Сеймур Паперт публикуют книгу «Персептроны» [14], в которой указывают (не всегда корректно) па ограничения вычислительных способностей нейронов и ограничения при их обучении. Данная публикация, в сочетании с несбывшимися амбициозными прогнозами, вселила пессимизм в разработчиков и заказчиков искусственного интеллекта. Также эта работа сместила внимание разработчиков на логические и экспертные системы.

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

Приведем изложение основных определений теории нейронных сетей, необходимых для формулировки целей настоящей работы, следуя [35] и [38]. Математической моделью биологического нейрона (которую мы далее будем называть просто «нейроном») называется устройство с произвольным числом входов и одним выходом, принципиальная схема которого изображена на рис. 1.

Узлы, помеченные а^, отображают «входные клеммы» нейрона, на которые подается входной сигнал XI,. ,хп. Каждая клемма соединена с телом нейрона п связью. С каждой связью ассоциирован вес связи, тп. Вектор IV = ., гип) называют вектором весов нейрона. Вычисление нейрона происходит по формуле где / : М —К - произвольная функция активации. Выходной сигнал нейрона подается на выход нейрона, отмеченный буквой у.

Часто одна из связей становится активационной связью. Это означает, что она подключена не ко входной клемме, а к источнику постоянного сигнала,

Рис. 1. Принципиальная схема нейрона. равного 1. Вес такой связи называют весом активации. Математически, это означает, что х\ = 1 и число реальных входов на единицу меньше, чем число связей.

В качестве функции активации могут выступать произвольные функции. Часто применяют функции порогового вида. Пороговыми функциями называются монотонные функции, для которых 1гт1>со/(ж) = а и Нтх=^00/(х) — Ь, где а, Ъ - неравные константы. Простейшей пороговой функцией является функция /(х) = sign(a;), которая часто применяется в теоретических исследованиях. Нейрон с такой функцией активации называется персептроиом. Для практических нужд, однако, интересны непрерывные функции. Например, это униполярная функция 1 + е-Рх' где /3 - параметр, ¡3 > 0. Эта функция изменяется от 0 при х —> —оо до 1 при х —* оо. Другая функция порогового вида - биполярная функция ж) = 1апЬ(—/Зж), где (3 - параметр, (3 > 0, а tanh - гиперболический тангенс, tanh(ж) = ■ Эта функция принимает значения на отрезке (—1; 1).

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

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

2>

Рис. 2. Пример нейронной сети ными связями. Работа ациклической нейронной сети может быть смоделирована сравнительно простыми методами. Например, выполняется топологическая сортировка нейронов в сети, после чего информацию обрабатывает сначала первый нейрон, потом второй, и так далее. После того, как все нейроны выполнили вычисления, выходной вектор считывается с выходных клемм сети. Таким образом, работа ациклической нейронной сети однозначно определяется ее топологией.

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

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

Генетические алгоритмы и алгоритмы коллективного разума менее изучены, чем нейронные сети. Несмотря на то, что первые работы в этих направлениях начались в тот же период, что и первые работы в области нейронных сетей (50-60-е годы XX века), они стали широко использоваться и изучаться лишь в последнее время. Это связано, прежде всего, с тем, что для запуска даже простого генетического алгоритма требуются существенные вычислительные ресурсы, в то время как запуск небольшой нейронной сети таких ресурсов не требует.

Генетические алгоритмы являются математическим моделированием эволюционного процесса. Впервые эволюционный процесс в своих работах описал Чарльз Дарвин, впоследствии воззрения на эволюцию были уточнены другими исследователями. Эволюцией называется развитие живых организмов от поколения к поколению. Считается, что именно за счет эволюции возник современный нам живой мир, во всем его многообразии и сложности.

Движущими силами эволюции называют следующие три фактора:

• наследственность, т.е. свойство потомков быть в основном похожими на родителей;

• изменчивость, т.е. свойство потомков к демонстрации отсутствующих у родителей признаков;

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

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

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

История генетических алгоритмов, как метода моделирования эволюционного процесса, развивалась поступательно. Впервые он был предложен Ниль-сом Аалом Боричелли в 1954 году в работе [1]. Эта работа не получила широкой известности, и впоследствии другими авторами были сделаны повторные публикации в промежутке от 1960 до 1980. Постепенно подход генетических алгоритмов набирал популярность. При этом, видоизменялись представления о генетических алгоритмах: если в 1960-х годах при их использовании следовали биологическим аналогиям, то позднее их формулировка становилась все более общей.

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

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

На каждой итерации, состояние узла изменяется в зависимости от состояний в его окрестности. Под окрестностью понимается в общем случае произвольное множество узлов, на практике часто употребляют окрестность четырех или восьми непосредственных соседей. Примером клеточного автомата является игра «Жизнь» [10], распространенная в 70-х годах. Известно, что клеточные автоматы являются универсальной вычислительной структурой -в частности, игра «Жизнь» способна эмулировать универсальную машину Тыоринга.

Начиная с 90-х годов прошлого века, были разработаны и другие алгоритмы коллективного разума: например, алгоритмы, моделирующие ульи насекомых [7] или иммунную систему [26], [5]. Из всех видов алгоритмов искусственного интеллекта, алгоритмы коллективного разума являются наиболее «молодыми», и, соответственно, в этой области на сегодняшний день остаются открытыми многие вопросы как теоретического, так и практического характера.

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

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

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

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

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

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

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

Похожие диссертационные работы по специальности «Математическое моделирование, численные методы и комплексы программ», 05.13.18 шифр ВАК

Список литературы диссертационного исследования кандидат физико-математических наук Окуловский, Юрий Сергеевич, 2009 год

1. Baricelli N. A. Symbiogenetic evolution processes realized by artificial methods. Methodos. - 1957. V. 9. N 35-36. PP. 143-182.

2. Cover Т. M. Geometrical and Statistical Properties of Systems of Linear Inequalities with Applications in Pattern Recognition. IEEE Transactions on Electronic Computers, 14(3). 1965. V. EC-14. N 3. PP. 326-334.

3. Cover Т. M. The Number of Linearly Inducible Orderings of Points in d-Space. SIAM Journal on Applied Math. 1967. V. 15. N 2. PP. 434-439.

4. Cybenko G. Approximation by a superposition of a sigmoidal function. Mathematics of Control, Signals and Systems. 1989. V. 2. PP. 303-314.

5. Dasgupta D., Attoh-Okine N. Immunity-Based Systems: A survey. IEEE International Conference on Systems, Man and Cybernetics. 1997. PP. 369-374.

6. Diyankov О. V., Lykov V. A., Terekhoff S. A. Artificial neural networks in weather forecasting. RNNS/IEEE Symposium on Neuroinformatics and Neurocomputers. 1992.

7. Dorigo M., Stutzle T. Ant Colony Optimization. Cambridge: MIT Press -2004.

8. Forrest S., Perelson A. S., Allen L., Cherukuri R. Self-Nonself discrimination in a Computer. IEEE Symposium on Research in Security and Privacy. -1994. PP. 202-212.

9. GAlib Documentation. Massachusetts Institute of Technology. Электронный ресурс. URL: http://lancet. mit. edu/galib-2. 4/ (дата обращения 19. 08. 2009).

10. Gardner M. The Game of Life. Scientific American. 1940. N 223. PP. 120-123.

11. Harrington J. Code generation in action. Greenwich: Manning 2003.

12. Hedegus Т., Meggido N. On the geometric separability of Boolean functions. Discrete Applied Mathematics. 1994. V. 7. N 3. PP. 205-218.

13. Jenes. Genetic algorithms for Java. Computational and Intelligent Systems Engineering Laboratory at University of Sannio. Электронный ресурс. URL: http://sites. google, com/a/ciselab. org/jenes/Home/ (дата обращения 21. 07. 2009).

14. Minsky M., Papert S. Perceptrons. Cambridge MA: MIT Press 1969.

15. MucCulloch W., Pits W. A logical calculus of the ideas immanent in nervous activity. Mathematical Biophysics. 1943. V. 5. PP. 18-27.

16. Neural Network Toolbox 6. 0. 2. The MathWorks. Электронный ресурс. URL: http://www. mathworks. com/products/neuralnet/ (дата обращения 11. 08. 2009).

17. Neurosolutions User's Manual. Gainesville: NeuroDimension Inc. 1995.

18. Omondi A. R., Rajapakse J. C. FPGA Implementations of Neural Networks. New York: Springer-Verlag, Inc. 2006.

19. Paulo J G Lisboa, Vellido A., Edisbury B. Business Applications of Neural Networks: The State-Of-The-Art of Real-World Applications (Progress in Neural Processing). New Jersey: World Scientific Publishing Company -2002.

20. Peltarion Synapse Documentation. Peltarion Inc. Электронный ресурс. URL: http://www. peltarion. com/webdoc/ (дата обращения 16. 08. 2009).

21. Rosenblatt F. The Perceptron: A Probabilistic Model for Information Storage and Organization in the Brain. Psychological Review. Cornell Aeronautical Laboratory 1958. V. 65. N 6. PP. 386-408.

22. Rumelhart D. E., Hinton G. E., Williams R. J. Learning representations by back-propagating errors. Nature. 1986. N 323. PP. 533 - 536.

23. Sandcastle Documentation Builder. Microsoft. Электронный ресурс. URL: http://www. codeplex. com/Sandcastle (дата обращения 24. 07. 2009).

24. Siegclmann H. Т., Sontag Е. D. On The Computational Power Of Neural Nets. Journal of computer and system sciences. 1995. V. 50. N 1. PP. 132-150.

25. Sima J., Orponen P. A Computational Taxonomy and Survey of Neural Network Models, of Numbers and Symbols. (BS 1749:1985) London: British Standards Institution. 2001. PP. 2965-2989.

26. Singh S., Thayer S. Immunology Directed Methods for Distributed Robotics: A Novel, Immunity-Based Architecture for Robust Control and Coordination. Proceedings of SPIE: Mobile Robots XVI. 2001.

27. Spears W. M. Using Neural Networks And Genetic Algorithms As Heuristics For NP-Complete Problems. Fairfax Country, Virginia: George Mason University 1989.

28. Thai T. L., Lam H. NET Framework Essentials. Second Edition. Cambridge: O'Reilly 2002.

29. The Оф language. Microsoft. Электронный ресурс. URL: http://msdn. microsoft. com/en-us/vcsharp/aa336809. aspx (дата обращения 13. 08. 2009).

30. The Genetic Algorithm Optimization Toolbox (GAOT) for Mathlab 5. North Carolina State University. Электронный ресурс. URL: http://www. ise. ncsu. edu/mirage/GAToolBox/gaot/ (дата обращения 19. 08. 2009).

31. Turing A. Computing Machinery and Intelligence. Mind. 1950. V. LIX. N 236. PP. 433-460.

32. Гэри M., Джонсон D. Вычислительные машины и труднорешаемые задачи. Москва: Мир 1982.

33. Ежов А. А., Чечеткин В. Д. Нейронные сети в медицине. Откр. сист. -1997. № 4. Стр. 34-37.

34. Колмогоров А. Н. О представлении непрерывных функций нескольких переменных в виде суперпозиции непрерывных функций одного переменного. Докл. АН СССР. Москва 1957. Т. 114. № 5. Стр. 953-956.

35. Осовский С. Нейронные сети для обработки информации. Москва: Финансы и статистика 2002.

36. Рутковская Д., Рутковский Л., Пильинский М. Нейронные сети, генетические алгоритмы и нечеткие системы. Москва: Горячая линия-Телеком- 2004.

37. Семенюк В. В. Экономное кодирование. Санкт-Петербург: СПбГИТМО- 2001.

38. Хайкин С. Нейронные сети: полный курс. Второе издание. Москва: Вильяме 2006.

39. Черников С. Н. Линейные неравенства. Москва: Мир 1973.

40. Шалыто А. А., Поликарпова Н. И. Автоматное программирование. Санкт-Петербург: Питер 2009.

41. Юревич Е. И., Макаров И. М., Каляев И. А., Лохин В. М. Интеллектуальные роботы. Москва: Машиностроение 2007.Список работ автора по теме диссертации

42. Окуловский Ю. С. Язык ТН. Проблемы теоретической и прикладной математики: Труды 37-й Всероссийской молодежной конференции. Екатеринбург: УрО РАН 2006. Стр. 496-500.

43. Окуловский Ю. С. О функциях, реализуемых одним нейроном. Международная научная конференция «Информационно-математические технологии в экономике, технике и образовании» Тезисы докладов. Екатеринбург: УГТУ-УПИ 2006. Стр. 241-241.

44. Окуловский Ю. С. Алгоритмы порождения линейно-разделимых функций. Проблемы теоретической и прикладной математики: Труды 38-й Всероссийской молодежной конференции. Екатеринбург: УрО РАН -2007. Стр. 382-387.

45. Окуловский Ю. С. О функциях, реализуемых одним нейроном. Проблемы математического моделирования и информационно-аналитической поддержки принятия решений. Выпуск 3. Екатеринбург: УГТУ-УПИ -2007. Стр. 55-61.

46. Окуловский Ю. С. О классификации линейно-разделимых функций. 10-ая Всероссийская научно-техническая конференция «Нейроинформатика-2008, сборник научных трудов, часть 1. Москва: Изд-во МИФИ 2008. Стр. 212-218.

47. Окуловский Ю. С. Распознавание фигур на игровом поле. Научная сессия МИФИ-2008, сборник научных трудов, том 10 «Интеллектуальные системы и технологии». Москва: Изд-во МИФИ 2008. Стр. 193-194.

48. Деев Д. В., Окуловский Ю. С. О порождении подсистемы вывода документов. Проблемы теоретической и прикладной математики: Труды 39-й Всероссийской молодежной конференции. Екатеринбург: УрО РАН 2008. Стр. 388-392.

49. Деев Д. В., Окуловский Ю. С. Система кодогенерации Thornado. Прикладные аспекты моделирования и разработки систем информационно-аналитической поддержки и принятия решений. Выпуск 4. Екатеринбург: УГТУ-УПИ 2008. Стр. 209-216.

50. Окуловский Ю. С., Попов В. Ю. О построении контуров на изображениях УЗИ и МРТ. Методы компьютерной диагностики в биологии и медицине 2008. Саратов - 2008. Стр. 82-83.

51. Деев Д. В., Окуловский Ю. С., Попов В. Ю., Часовских В. П. Система кодогенерации Thornado и ее использование для создания бизнес-приложений. Научно-технический вестник СПбГУ ИТМО. №57. Санкт-Петербург: СпБГУИТМО 2008. Стр. 80-87.

52. Окуловский Ю. С. Интеллектуальный алгоритм автоматической калибровки робототехнических устройств. Проблемы теоретической и прикладной математики: Труды 40-й Всероссийской молодежной конференции. Екатеринбург: УрО РАН 2009. Стр. 359-363.

53. Окуловский Ю. С., Шека А. С. Об архитектуре роботов и интеллектуальном управлении ими. Научно-технический вестник СПбГУ ИТМО. №48. Санкт-Петербург: СпБГУИТМО 2008. Стр. 143-150.

54. Окуловский Ю. С., Попов В. Ю. О сложности распознавания множества векторов одним нейроном. Математические труды. Т. 12, №1. Новосибирск: Издательство Института Математики им. С. JT. Соболева СО РАН 2009. Стр. 130-143.

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