Искусственные нейронные сети
Понятие искусственных нейронных сетей. Модель и архитектура технического нейрона. Обучение нейронных сетей. Основные функциональные возможности программ моделирования нейронных сетей. Однослойный и многослойный персептроны. Принцип работы сети Кохонена.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 19.11.2015 |
Размер файла | 4,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
В ходе проекта был проведен ряд экспериментов с целью исследования возможности применения нейронных сетей в процессе обучения и контроля знаний студентов. Результаты показали, что нейронные сети адекватно моделируют характеристики проставления оценок реальным преподавателем и могут быть эффективно использованы для автоматизации процесса контроля знаний.
В работе описана общая методика написания программ для среды WWW и приведен пример апплета, демонстрирующего работу сети Кохонена. Кроме того, в дистанционном курсе используется программа, работающая на Web-сервере и использующая технологию нейросетей для контроля знаний студентов.
Таким образом в проекте создан полноценный учебный курс, причем при желании его части могут использоваться независимо друг от друга, может быть изменена одна из частей или полностью заменен теоретический материал для проведения занятий по другой теме.
Готовый учебный комплекс предназначен для проведения дистанционного обучения в сети Интернет, а также может быть использован для самообучения и проведения очного курса по данной теме в институте.
Литература
Галушкин А.Н. «О современных направлениях развития нейрокомпьютеров» Информационные технологии №5 1997 г., с. 22-27.
С. Клименко, В. Уразметов. Internet - среда обитания информационного общества. РЦФТИ, Протвино, 1995, - 328 с.
Малышев Ю.А. Неисупина Н.П. и др. «Технология представления учебных курсов для дистанционной формы обучения в среде WWW» Информационные технологии №6 1997 г., с 35-44.
Джон Родли. Создание Java-апплетов. - К.: НИПФ "ДиаСофтЛтд.", 1996. - 384 с.
Е.М. Табачный, А.Н. Златопольский, Е.И. Калинина. Технико-экономический анализ и обоснование решений при проектироании информационных технологий. - М.: Изд-во МЭИ, 1997. - 51 с.
DARPA Neural Network Study, AFCEA Int'l Press, Fairfax, Va., 1988.
J.A. Anderson and E. Rosenfeld, "Neurocomputing: Foundation of Research", MIT Press, Cambridge, Mass., 1988.
Anil K. Jain, Jianchang Mao, K.M. Mohiuddin. Artificial Neural Networks: A Tutorialп, Computer, Vol.29, No.3, March/1996, pp. 31-44.
S. Brunak and B. Lautrup, Neural Networks, Computers with Intuition, World Scientific, Singapore, 1990.
G.A.Carpenter and S. Grossberg, Pattern Recognition by SelfOrganizing Neural Networks, MIT Press, Cambridge, Mass., 1991.
J. Feldman, M.A. Fanty, and N.H. Goddard, "Computing with Structured Neural Networks", Computer, Vol. 21, No. 3, Mar.1988, pp. 91-103.
D.O. Hebb, The Organization of Behavior, John Wiley & Sons, New York, 1949.
S. Haykin, Neural Networks: A Comprehensive Foundation, MacMilan College Publishing Co., New York, 1994.
J. Hertz, A. Krogh, and R.G. Palmer, Introduction to the Theory of Neural Computation, Addison-Wesley, Reading, Mass., 1991.
J.J. Hopfield, "Neural Networks and Physical Systems with Emergent Collective Computational Abilities", in Proc. National Academy of Sciencies, USA 79, 1982, pp. 2554-2558.
A.K. Jain and J. Mao, "Neural Networks and Pattern Recognition", in Computational Intelligence: Imitating Life, J.M. Zurada, R.J. Marks II, and C.J. Robinson, eds., IEEE Press, Piscataway, N.J., 1994, pp. 194-212.
T. Kohonen, SelfOrganization and Associative Memory, Third Edition, Springer-Verlag, New York, 1989.
R.P.Lippmann, "An Introduction to Computing with Neural Nets", IEEE ASSP Magazine, Vol.4, No.2, Apr. 1987, pp. 4-22.
M. Minsky, "Logical Versus Analogical or Symbolic Versus Connectionist or Neat Versus Scruffy", AI Magazine, Vol. 65, No. 2, 1991, pp. 34-51.
K. Mohiuddin and J. Mao, "A Comparative Study of Different Classifiers for Handprinted Character Recognition", in Pattern Recognition in Practice IV, E.S. Gelsema and L.N. Kanal, eds., Elsevier Science, The Netherlands, 1994, pp. 437-448.
M. Miтnsky and S. Papert, "Perceptrons: An Introduction to Computational Geometry", MIT Press, Cambridge, Mass., 1969.
D.E. Rumelhart and J.L. McClelland, Parallel Distributed Processing: Exploration in the Microstructure of Cognition, MIT Press, Cambridge, Mass., 1986.
Scherer A. Neuranale Netze. Grundlagen und Anwendungen.-Braunschweig, Weisbaden: Vieweg, 1997.
Zell A. Simulation neuronatez Netze-Bonn, Paris: Reading, Mass, [u.a.]: Addison-Wesley, 1994.
P. Werbos, "Beyond Regression: New Tools for Prediction and Analysis in the Behavioral Sciences", Phd Thesis, Dept. of Applied Mathematics, Harvard University, Cambridge, Mass., 1974.
"The First Census Optical Character Recognition System Conference", R.A.Wilkinson et al., eds., . Tech. Report, NISTIR 4912, US Deop. Commerse, NIST, Gaithersburg, Md., 1992.
Приложение 1
Лабораторная работа
«Кластеризация образов с помощью системы моделирования нейросетей Trajan 2.1»
1. Цель работы
Изучение студентами возможностей программного пакета Trajan 2.1 по решению задач классификации, кластеризации (категоризации) образов.
2. Знания и умения, формируемые данной лабораторной работой
принцип представления данных в задачах классификации и кластеризации,
принципы построения ИНС для классификации и кластеризации образов,
алгоритмы обучения ИНС для классификации и кластеризации образов,
способы сбора статистики с помощью системы Trajan,
возможности системы Trajan по решению, визуалиации и представлению задач кластеризации в доступном для анализа виде,
дает навыки по анализу и применению кластеров, получаемых в процессе обработки образов.
Для выполнения лабораторной работы необходимо знание общих сведений о работе с ПЭВМ IBM PC AT в операционной среде Windows 3.1. Так же необходимо перед выполнением лабораторной работы пройти курс обучения по ИНС и выполнить предыдущие лабораторные работы данного курса.
3. Постановка задачи
Задача кластеризации образов заключается в распределении представляемых образов по кластерам/категориям, в зависимости от значений признаков образов, в один кластер распределяются максимально похожие образы. Важной особенностью этой задачи является то, что при обучении сети априорно неизвестно ни количество кластеров, ни принадлежность того или иного образа какому-то классу, ни, зачастую, значение кластеров.
Для решения этой задачи успешно используются сети Кохонена.
В данной лабораторной работе необходимо распределить предлагаемый набор образов, содержащий информацию о цветах ириса различных видов, на несколько кластеров (составить букеты из одинаковых цветов). Для этого мы используем файл smallir.pat, созданный вами в лабораторной работе №2. В данном файле содержится 60 образов, по 20 на каждый вид, разделенных на две группы (обучающую и контролирующую последовательности) по 30 (каждая включает по 10 каждого вида).
Как вы помните, цветы одного из видов полностью отличаются от двух других, которые в свою очередь очень похожи, а также в наборе есть несколько исключений по принадлежности цветка определенному виду. Таким образом есть возможность убедиться в том, как сеть распределяет похожие образы в один кластер, а также размещает близко друг к другу похожие кластеры.
4. Принципиальные особенности сетей Кохонена
Сети Кохонена реализуют режим обучения без поощрения («без учителя») или режим самообучения: они учатся распознавать кластеры в наборе образцов, принадлежность которых классам (кластерам) не известна. Сеть Кохонена пытается расположить в выходном слое похожие кластеры близко друг к другу, формируя таким образом, Топологическую карту (Topological мар).
Сеть Кохонена всегда имеет две слоя: входной слой и слой топологической карты, т.е. выходной слой. Выходной слой сети Кохонена часто представляется в виде двумерной решетки (имеет два измерения). Выходной слой сети состоит из Радиальных элементов (Radial units).
В последнем слое используется функция квадратного корня в качестве функции активации, так что выходное значение представляет собой расстояние между входным образцом и взвешенным вектором выхода.
Следует отметить, что система Trajan поддерживает сети и с одномерным выходным слоем.
Алгоритм обучения сети Кохонена. пытается построить центры элементов топологического слоя так, чтобы они расположились как можно ближе к центрам кластеров, основанных на обучающих образцах. Во время обучения алгоритм выбирает элемент, чей центр находится ближе всего к обучающему образцу. Этот элемент и его соседи затем подстраиваются таким образом, чтобы как можно больше походить на обучающие данные.
Близость - критичная сторона алгоритма обучения Кохонена. Обновляя, в дополнение к выигравшим, окружающие элементы алгоритм обучения Кохонена аккумулирует зависимые данные в одной области топологической карты. Во время обучения размер этой области прогрессивно уменьшается, одновременно уменьшается и скорость обучения. Таким образом, сначала проводится прикидка (кластеры с большим количеством элементов, реагируют на похожие обучающие образцы), а затем осуществляется более точная деталировка (отдельные элементы в кластере реагируют на обучающие образцы).
В сети Кохонена ошибкой считается расстояние между вектором весов выигравшего элемента и входным вектором.
5. Создание сети Кохонена
Создайте сеть Кохонена, состоящую из 2 слоев (входного и слоя топологической карты). Это можно сделать в окне Создание ИНС (Network Creation) (рис. 1), которое вызывается с помощью команды меню Файл/Создать/Сеть (File/New/Network).
Рис.1. Окно создания сети Кохонена.
Для представления двухмерного выходного слоя в системе Trajan задается кроме количества элементов в слое (Units) еще и ширина слоя (Width): система определяет высоту слоя как отношение общего числа элементов выходного слоя к ширине слоя.
Замечание
Для любого слоя любого типа сети можно задавать параметр width. Однако принципиальное значение этот параметр имеет только для сети Кохонена. В остальных сетях это только изменит отображение сети на экране.
Задайте следующие значения:
первый слой - Units - 4, Width - 1;
второй слой - Units - 16, Width - 4.
Нажмите кнопку Создать/Create.
Структура созданной сети Кохонена приведена на рис. 2.
Рис.2. Структура созданной сети Кохонена.
6. Обучение сети Кохонена
Сети Кохонена, в отличие от остальных нейронных сетей, используются особым образом, и у системы Trajan есть все возможности для работы с ними:
Окно Частоты побед (Win Frequencies) для иллюстрации, где в сети сформировались кластеры;
Окно Топологическая карта (Topological мар) для иллюстрации, какой образец отнесен к какому кластеру. Это окно поможет Вам заранее задать имена элементам и образцам.
Загрузите обучающую последовательность. Откройте меню Файл/Открыть/Образец (File/Open/Pattern) и выберите необходимый вам файл в появившемся окне.
Необходимо отметить, что обычно образцы последовательности для сети Кохонена характеризуются только входными значениями признаков. Решения учителя для них нейзвестны.
Окно обучения Кохонена (Kohonen Training) (рис. 3) (команда меню Обучение/ Kohonen (Train/Kohonen)) включает начальные и конечные параметры для скорости обучения (коэффициента корреляции) и для размера области близости (соседства). Обычно обучение Кохонена разбивают на две части - фаза прикидки и фаза подстройки.
Скорость обучения/Learning Rate
Скорость обучения в алгоритме Кохонена линейно изменяется от первого цикла обучения до последнего.
Обычно алгоритм обучения запускают в две стадии.
На первой стадии используют изначально высокую скорость обучения (например, от 0.9 до 0.1), большой размер окрестности (например, от 2 до 1) и небольшое число циклов (например, 100).
На второй стадии используют неизменные скорость обучения (например, 0.01), небольшой размер окрестности (например, 0) и большое число циклов (например, 10000).
Окрестность
Это значение определяет количество рассматриваемых соседних элементов (нейронов) вокруг выигравшего элемента. Например, при размере окрестности равном 2, число элементов - 55.
Реинициализация/Reinitialise
При работе алгоритма Кохонена нажатие кнопки Реинициализация/Reinitialise изменяет только выходной слой радиальных элементов.
Рис.3. Обучение сети Кохонена.
В нашем примере вполне достаточно провести два запуска сети по 50 циклов (эпох) в каждом.
При первом запуске уменьшите Скорость обучения/Learning Rate от начального значения 0.5 до конечного 0.1 и оставьте постоянным размер Окрестности/Neighbourhood - 1.
При втором запуске установите постоянную Скорость обучения/Learning Rate 0.1 при размере Окрестности/Neighbourhood - 0.
Рис.4. Диаграмма ошибок на каждый образец.
График ошибки обучения
Как и в случае работы алгоритма обратного распространения ошибки средняя квадратичная ошибка сети изображается на Графике ошибки (рис.5). Однако в данном случае она имеет совершенно другой смысл.
При работе алгоритма обратного распространения ошибка определятся через расстояние между решениями учителя и нейросети. На графике отображается полная выходная ошибка по всем образцам.
Алгоритм сетей Кохонена определяет ошибку как расстояние между входным вектором и вектором выигравшего элемента выходного слоя. На графике показывается общая входная ошибка по всем образцам.
На рис. 4 приведена диаграмма ошибок для отдельных образцов, а на рис. 5 - изменение средней квадратичной ошибки по всем образцам.
Рис.5. График ошибки обучения.
Как только сеть обучена, вы можете изучить ее и определить где сформировались кластеры и чему они соответствуют. В нашем случае анализ сети провести достаточно легко, поскольку мы изначально знали какими должны быть результаты работы сети, что не типично для случаев использования сетей Кохонена.
7. Работа с сетью Кохонена
Окна Частоты побед (Win Frequencies) и Топологическая карта (Topological Map) дают возможность анализировать сеть Кохонена и осуществлять кластеризацию с помощью сети.
Частоты побед
Откройте окно Частоты побед (Win Frequencies) (рис. 6), вызвав его командой меню Статистика/Частоты побед (Statistics/Win Frequencies). В этом режиме система прогоняет все входные образцы и подсчитывает, сколько раз каждый элемент топологического слоя выигрывает (т.е. находится ближе всего к проверяемому образцу). Высокое число побед показывает центры кластеров на топологической карте.
Элементы с нулевыми частотами побед вообще не используются, и их наличие обычно показывает, что обучение прошло не очень успешно (т.к. сеть использует не все предоставленные ей ресурсы). Однако в данном случае, из-за небольшого количества входных образцов допустимо наличие неиспользованных элементов.
Рис.6 . Частоты побед
Частоты побед (Win Frequencies) показываются отдельно для обучающих и проверочных образцов (разделены толстой горизонтальной линией). Если расположение кластеров значительно отличается в этих двух половинах, это показывает, что сеть не научилась правильно обобщать данные. В нашем примере это не важно, т.к. обучающая последовательность очень мала для самообучения.
Топологическая карта
Как только распределение центров кластеров определено, можно открыть окно Topological Map (Топологическая карта) и просмотреть сеть с целью идентификации кластеров (рис.7).
Топологическая карта (Topological Map) отображает выходной слой графически в двумерном пространстве. Для каждого элемента топологического слоя отображается его близость к текущему образцу с помощью черного квадрата (чем больше квадрат, тем ближе), и выигравший элемент обведен тонким прямоугольником.
Рис.7. Топологическая карта.
Если проверить несколько образцов (самое удобное нажимать стрелку вверх справа от поля Образец (Pattern)), можно заметить, что похожие образцы объединены в группы, и близкие элементы расположены рядом друг с другом.
На этом этапе можно начинать именовать элементы (давать осмысленные имена) для того, чтобы показать их принадлежность к кластеру.
В нашем примере первые десять образцов относились к виду Setosa.
Выполните (Run) первый образец, затем дайте имя выигравшему элементу: введите название Setosa в поле имени элемента (Модуля) (справа от поля номера элемента), и нажмите RETURN. Топологическая карта (Topological Map) автоматически обновится и отобразит новое имя.
Прогоните остальные девять образцов (нажимая стрелка вверх справа от поля образца), и назовите их выигравшие элементы точно также.
Замечание
Чтобы не набирать на клавиатуре одно и тоже имя каждый раз, просто скопируйте его в буфер (выделите и нажмите CTRL+INSERT), а затем вставляйте в нужное место путем нажатия SHIFT+INSERT. Также можно не нажимать RETURN после каждого имени. Когда вы нажимаете стрелку вверх Топологическая карта автоматически обновляется.
Дайте названия всем элементам. Образцы 11-20 относятся к виду Versicolour, образцы 21-30 к виду Virginica.
Вы можете обнаружить элемнты, выигравшие в обоих этих видах, отметьте их как Dubious.
Когда вы проверите все образцы обучающей последовательности, отметьте оставшиеся (неизвестные) элементы как Неиспользованные. Или запустите вновь все образцы и посмотрите какому типу образцов неиспользованные элементы отвечают сильнее всего. Дайте им соответствующее название.
Как только все элементы поименованы, можно посмотреть, как сеть Кохонена классифицировала проверочные образцы.
Если Вы используете сеть Кохонена и не знаете заранее, какие должны быть кластеры (что является обычным случаем применения сети Кохонена), поступите следующим образом: просто дайте полученным кластерам символические имена, а затем посмотрите входные данные и определите значение кластеров. Для этого у системы есть возможность прямо в окне топологической карты (Topological Map) давать имена образцам.
Рис.8. Топологическая карта с названиями элементов.
Проведите следующие действия:
Обучите сеть Кохонена;
Используйте окно частоты побед (Win Frequencies), чтобы определить кластеры на топологической карте (Topological Map);
Назовите кластеры символическими именами (например C1, C2, и т.д.);
Прогоните образцы на топологической карте (Topological Map) и присвойте образцам имена соответствующих кластеров;
Исследуйте входные данные (возможно их источник) и определите, что представляет собой каждый кластер;
Поменяйте символические имена на смысловые.
Прогоните образцы еще раз и дайте им новые имена в зависимости от выигравшего элемента.
8. Задание
Ознакомьтесь с описанием лабораторной работы.
Следуя рекомендациям пункта 5, создайте новую сеть Кохонена.
Загрузите файл smallir.pat (он был создан вами во время выполнения лабораторной работы №2). При выполнении данной лабораторной работы рекомендуется иметь листинг этого файла, файла iris.pat, а также отчет по лабораторной работе №2. Это поможет вам более наглядно проанализировать работу сети, полученные кластеры и проверить значения кластеров. Хотя, напоминаем еще раз, при решении задачи кластеризации априорные значения кластеров и принадлежность им элементов обычно неизвестны.
Следуя инструкциям пункта 6 обучите сеть. Продемонстрируйте преподавателю структуру сети, график ошибки обучения, окно Частоты побед. Объясните полученные результаты.
Откройте окно Топологическая карта. Выполните анализ кластеров, дайте имена кластерам и образцам, как описано в пункте 7. Сохраните результаты.
Проведите реинициализацию сети. Обучите сеть заново. Просмотрите полученные результаты. Изменилось ли что-либо? Почему?
Проведите обучение сети, задавая другие значения скорости обучения, размера окрестности. Проведите анализ полученных кластеров. Как повлияло изменение этих параметров на результаты работы?
Протестируйте на обученной сети другую последовательность образцов (файл iris.pat, или другая сокращенная последовательность из этого файла). Сделайте выводы.
Представьте в качестве отчета листинги файлов образцов, обученных сетей, графики ошибки обучеия, результаты частот побед и топологические карты с именами элементов по всем проведенным экспериментам.
9. Контрольные вопросы
Для решения каких задач применяются самоорганизующиеся карты Кохонена?
Каков смысл параметров, передаваемых функции обучения Кохонена?
Что такое топологическая карта? Опишите возможности ее использования в системе Trajan.
Каким образом можно оценить качество обучения SOM средствами системы Trajan?
Приложение 2. Вопросы контролирующего курса
Вопросы обучающего курса представлены в следующем формате:
Вопрос
Правильный ответ
Неправильный ответ 1
Неправильный ответ 2
При проведении тестирования ответы перемешиваются.
Список вопросов:
Для обучения сетей Кохонена используется
обучение без учителя
обучение с учителем
смешанное обучение
Самоорганизующиеся карты это название
сетей Кохонена
скрытого слоя RBF-сетей
сетей, способных к обучению без учителя
Какое количество слоев имеют сети Кохонена?
всегда 2 слоя
1-3 слоя
любое, в зависимости от решаемой задачи
Какой нейрон называется нейроном-"победителем"?
тот, для которого значение функции близости максимально
тот, для которого значение функции близости минимально
нейрон, определяющий класс с максимальным числом образов
Проводится ли коррекция весовых векторов на стадии самообучения сети Кохонена?
да, нейрона-"победителя" и остальных активных нейронов слоя Кохонена
да, только нейрона-"победителя"
нет
Основное назначение сетей радиальных базисных функций
аппроксимация многомерных функций
решение задач автоматической классификации
прогнозирование
Сколько слоев имеют RBF-сети?
3
2
в зависимости от решаемой задачи
Радиальные базисные функции вычисляются
в скрытом слое RBF-сети
в выходном слое RBF-сети
перед подачей образов во входном слое RBF-сети
Для чего вводится параметр "лямбда" в RBF-сетях?
для определения весовых коэффициентов при наличии шума во входных данных
для вычисления опорных точек
для предварительной обработки входных векторов
При решении задачи аппроксимации функций необходимо
минимизировать суммарную ошибку по всем опорным точкам
чтобы искомая функция f проходила через все опорные точки
чтобы искомая функция f проходила через все точки обучающей последовательности
Когда достигается лучшее решение задачи аппроксимации при использовании вариационного исчисления?
когда функционал минимален
когда функционал максимален
только когда функционал равен нулю
Когда необходимо введение полинома в аппроксимирующую функцию?
при использовании некоторых центральных функций, кроме функции Гаусса
всегда
только для функции Гаусса
Алгоритм обратного распространения относится к методу обучения
с учителем
без учителя
смешанному
Сколько слоев может содержать персептрон?
От 1 до бесконечности
Всегда 3
Менее двух
Чем определяется принадлежность нейрона к классу входных, выходных или скрытых нейронов?
Тип нейрона задается явно
Принадлежность определяется положением нейрона в сети
Принадлежность определяется номером
На что влияет коэффициент корреляции?
На скорость обучения и сходимость
На топологию обученной сети
На способность сети отсекать глобальные минимумы из дерева решений
Как связаны нейроны в многослойных персептронах?
нейроны одного слоя только с нейронами прилегающих слоев без рекуррентных связей
нейроны одного слоя с нейронами прилегающих слоев с обратными связями
все со всеми
В алгоритме обратного распространения обратно передается
ошибка между желаемым и реальным выходным значением каждого нейрона выходного слоя
ошибка между входным значением нейрона входного слоя и выходным значением нейрона выходного слоя
весовой вектор нейрона выходного слоя
Алгоритм Дельта-правило использует
производную функции ошибки
производную взвешенной суммы весов выходного слоя
сигмоидную функцию ошибки
Что такое емкость нейронной сети?
число образов, которые она способна научиться распознавать
число нейронов в сети
число нейронов в выходном слое сети
RPROP-алгоритм основан на использовании
значения знака градиента
значения градиента
добавления момента
В чем состоит цель обучения репликативной нейронной сети
чтобы вектор, воспроизводимый выходным слоем сети, совпадал с вектором, поданным на входной слой
чтобы вектор, воспроизводимый выходным слоем сети, совпадал с ожидаемым выходным вектором
чтобы вектор, воспроизводимый выходным слоем сети представлял входную информацию в сокращенном виде
Как называется в генетическом алгоритме обмен частями двух индивидов?
рекомбинация
мутация
селекция
В каком случае не используется генетический алгоритм?
оптимизация объема обучающей последовательности
оптимизация весовой матрицы
оптимизация топологии сети
В чем состоит задача классификации образов?
В указании принадлежности входного образа одному или нескольким предварительно определенным учителем классам
В исследовании свойств данных, извлечения и сжатия информации
В автоматическом распределении образов по множеству классов, в зависимости от схожести их входных аттрибутов
По архитектуре связей ИНС могут быть сгруппированы в два класса:
сети прямого распространения информации и сети с обратными связями
сети с обратными связями и реккурентные сети
рекуррентные сети и динамические сети
Приложение 3. Обучающие последовательности для контролирующей системы
Обучающая последовательность 320 образов.
# Trajan v1.0 Patterns
no_inputs 12
no_outputs 4
no_patterns 320
!1
1 1 1 1 1 0 1 1 1 0 1 0 0 0 1 0
!2
1 1 1 1 1 1 1 0 1 1 1 1 0 0 0 1
!3
1 1 0 1 0 1 1 1 1 1 1 0 0 0 1 0
!4
1 0 1 1 1 0 1 1 1 1 1 1 0 0 1 0
!5
1 0 1 0 1 1 1 0 1 0 1 0 0 1 0 0
!6
1 1 1 1 0 1 1 1 1 1 1 1 0 0 0 1
!7
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!8
1 0 1 1 0 1 1 1 1 1 1 1 0 0 1 0
!9
1 1 1 1 1 1 1 1 0 1 1 1 0 0 0 1
!10
1 1 1 0 1 1 1 1 1 1 1 0 0 0 0 1
!11
0 1 1 1 0 1 1 1 0 1 1 1 0 1 0 0
!12
1 1 1 1 1 1 1 1 0 1 1 1 0 0 0 1
!13
1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 0
!14
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!15
1 1 1 1 1 1 1 0 0 1 1 1 0 0 0 1
!16
0 1 1 1 1 1 0 1 1 1 1 1 0 0 1 0
!17
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!18
0 1 0 1 1 1 1 1 1 0 1 0 1 0 0 0
!19
0 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
!20
0 1 1 1 1 1 1 1 1 0 0 1 0 1 0 0
!21
1 1 1 1 1 1 0 0 1 1 0 1 0 0 1 0
!22
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!23
1 0 0 1 0 1 1 1 1 1 1 1 0 0 1 0
!24
1 1 1 1 1 1 1 1 0 1 0 1 0 0 0 1
!25
1 0 1 1 1 1 1 1 1 1 0 1 0 0 1 0
!26
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!27
1 1 1 1 0 1 0 1 1 1 1 0 0 0 1 0
!28
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!29
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!30
1 0 1 1 0 1 1 0 1 1 1 1 0 0 1 0
!31
1 1 1 1 0 1 1 1 0 1 1 1 0 0 0 1
!32
1 1 0 1 1 1 0 1 1 1 1 1 0 0 1 0
!33
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!34
1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1
!35
1 1 1 1 1 1 1 0 1 1 1 1 0 0 0 1
!36
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!37
0 0 1 1 0 0 0 1 1 1 0 1 1 0 0 0
!38
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!39
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!40
1 1 0 1 1 1 1 1 0 1 1 1 0 0 1 0
!41
1 1 1 1 0 1 1 1 1 1 1 1 0 0 0 1
!42
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!43
0 1 1 1 1 1 1 1 0 1 0 1 0 0 1 0
!44
1 1 0 1 1 1 0 1 0 1 0 1 0 0 1 0
!45
0 1 1 0 1 0 0 1 1 1 1 0 0 1 0 0
!46
0 0 1 1 1 1 1 1 1 1 1 1 0 0 1 0
!47
0 0 1 1 0 1 1 0 1 1 1 1 0 1 0 0
!48
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!49
0 1 1 1 1 1 1 1 0 1 1 1 0 0 1 0
!50
1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 1
!51
1 1 1 0 1 1 1 1 1 1 1 1 0 0 0 1
!52
0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0
!53
0 1 1 0 1 1 1 0 0 1 1 0 0 1 0 0
!54
1 1 1 1 1 0 1 1 0 1 0 1 0 0 1 0
!55
1 1 0 1 1 1 1 0 1 1 1 1 0 0 1 0
!56
1 0 1 1 0 1 1 0 1 1 1 0 0 0 1 0
!57
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!58
1 1 1 1 1 1 0 0 1 1 1 1 0 0 0 1
!59
0 1 1 0 0 1 1 1 1 1 0 0 0 1 0 0
!60
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!61
1 0 1 1 1 1 1 1 0 1 1 1 0 0 1 0
!62
1 0 0 1 1 1 1 1 1 1 1 1 0 0 1 0
!63
1 1 1 0 1 1 0 1 1 0 1 1 0 0 1 0
!64
1 1 0 1 1 1 1 1 1 1 1 1 0 0 0 1
!65
0 1 1 1 1 1 0 1 1 1 1 1 0 0 1 0
!66
1 1 0 1 0 0 1 1 1 0 1 0 0 1 0 0
!67
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!68
1 1 1 0 1 1 1 1 1 1 1 1 0 0 0 1
!69
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!70
1 0 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!71
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!72
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!73
1 1 1 0 0 1 1 1 0 1 1 1 0 0 1 0
!74
0 1 0 0 1 1 0 1 1 1 1 0 1 0 0 0
!75
1 1 1 1 1 1 1 0 1 1 1 1 0 0 0 1
!76
1 1 1 1 0 1 1 1 1 1 1 1 0 0 0 1
!77
1 1 1 1 1 0 1 1 0 1 1 0 0 0 1 0
!78
0 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
!79
1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 1
!80
1 1 0 1 1 0 1 1 1 1 1 1 0 0 1 0
!81
1 1 1 1 1 1 1 1 0 1 1 1 0 0 0 1
!82
0 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
!83
1 1 1 1 0 1 1 1 1 1 0 1 0 0 0 1
!84
1 1 1 1 0 1 1 1 1 1 1 1 0 0 0 1
!85
1 1 1 0 1 1 1 1 1 1 1 1 0 0 0 1
!86
1 0 1 0 1 0 0 0 1 0 1 0 1 0 0 0
!87
1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1
!88
1 0 1 1 1 0 1 1 1 1 1 1 0 0 1 0
!89
0 1 1 1 0 0 0 1 1 1 1 1 0 1 0 0
!90
1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1
!91
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!92
0 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
!93
1 1 1 1 1 0 1 1 1 0 1 0 0 0 1 0
!94
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!95
1 1 0 1 1 1 1 1 1 1 1 1 0 0 0 1
!96
1 1 1 1 1 0 1 1 1 1 0 1 0 0 0 1
!97
1 1 0 1 1 1 1 1 1 1 1 1 0 0 0 1
!98
1 1 0 1 1 1 1 1 1 1 1 1 0 0 0 1
!99
1 0 1 1 0 0 0 0 0 0 1 1 1 0 0 0
!100
1 1 1 1 0 1 1 1 1 1 1 1 0 0 0 1
!101
1 1 1 1 0 1 1 1 1 1 1 1 0 0 0 1
!102
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!103
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!104
1 1 1 0 1 1 1 1 0 1 1 1 0 0 0 1
!105
1 1 1 1 1 1 1 1 0 1 1 1 0 0 0 1
!106
0 1 0 0 1 0 1 0 0 1 1 1 1 0 0 0
!107
1 1 1 0 0 1 1 1 1 1 0 1 0 0 1 0
!108
1 0 1 1 1 1 0 1 0 1 1 1 0 0 1 0
!109
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!110
0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 0
!111
0 0 1 1 1 1 0 1 1 1 0 1 0 1 0 0
!112
1 0 1 1 0 1 1 1 0 1 1 1 0 0 1 0
!113
1 1 1 0 1 0 1 0 1 1 1 1 0 0 1 0
!114
0 1 1 1 1 1 1 0 1 1 0 1 0 0 1 0
!115
0 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
!116
0 1 1 1 0 0 0 1 1 1 0 0 1 0 0 0
!117
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!118
1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1
!119
1 0 0 0 1 1 0 1 0 0 0 1 1 0 0 0
!120
1 1 1 0 1 1 1 1 1 0 1 1 0 0 1 0
!121
1 1 1 1 1 0 1 1 1 0 0 0 0 0 1 0
!122
1 1 0 1 1 1 1 0 1 1 1 0 0 0 1 0
!123
1 1 0 0 1 1 0 0 1 0 1 1 0 1 0 0
!124
1 0 0 1 1 1 1 1 1 0 1 1 0 1 0 0
!125
1 1 0 0 1 1 1 1 1 1 1 1 0 0 1 0
!126
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!127
1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 1
!128
1 1 0 1 1 0 1 0 1 1 1 1 0 0 1 0
!129
1 1 1 0 1 1 1 1 1 1 1 0 0 0 0 1
!130
1 1 1 1 0 1 0 1 1 1 1 1 0 0 1 0
!131
1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 1
!132
1 1 1 1 0 1 1 1 1 1 1 1 0 0 0 1
!133
1 1 1 1 0 1 1 1 1 1 1 1 0 0 0 1
!134
1 1 1 1 0 1 1 1 1 1 1 1 0 0 0 1
!135
0 0 1 1 1 1 1 1 0 1 1 1 0 1 0 0
!136
1 1 1 1 1 1 1 0 1 1 1 1 0 0 0 1
!137
1 1 0 0 1 0 1 0 0 1 1 1 0 0 1 0
!138
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!139
1 0 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!140
1 1 1 1 1 1 1 0 1 1 1 1 0 0 0 1
!141
1 1 1 1 1 1 1 0 1 1 1 1 0 0 0 1
!142
0 1 1 1 1 1 1 0 1 1 1 0 0 1 0 0
!143
1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1
!144
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!145
1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1
!146
1 0 1 1 1 0 0 0 1 1 0 1 0 1 0 0
!147
1 1 0 1 0 1 1 1 1 1 1 0 0 0 1 0
!148
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!149
1 1 1 1 1 1 1 0 1 1 0 1 0 0 0 1
!150
1 1 1 1 1 0 1 1 0 1 1 0 0 0 1 0
!151
1 1 1 1 1 1 1 0 1 1 1 1 0 0 0 1
!152
1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 1
!153
1 1 1 1 1 1 0 1 1 1 1 0 0 0 1 0
!154
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!155
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!156
1 0 1 0 1 1 0 1 1 1 0 1 0 0 1 0
!157
1 1 1 1 1 1 1 1 0 1 1 0 0 0 1 0
!158
1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 1
!159
1 1 1 1 1 1 1 0 1 1 0 1 0 0 0 1
!160
1 1 1 1 1 1 0 1 0 1 1 1 0 0 1 0
!161
0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0
!162
0 0 1 1 1 1 1 1 1 1 1 1 0 0 1 0
!163
1 1 1 1 0 1 1 1 1 0 1 1 0 0 1 0
!164
1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 1
!165
0 0 0 1 1 0 1 1 0 1 0 0 1 0 0 0
!166
1 1 1 1 1 1 1 0 1 1 1 0 0 0 1 0
!167
1 1 1 1 0 1 1 1 1 1 1 1 0 0 0 1
!168
1 1 1 0 1 1 0 1 1 1 1 1 0 0 0 1
!169
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!170
1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 1
!171
1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 1
!172
1 1 1 0 1 0 1 1 1 1 1 1 0 0 0 1
!173
1 0 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!174
1 1 0 0 1 0 1 1 0 1 0 1 0 0 1 0
!175
1 0 1 0 1 1 0 1 1 1 1 0 0 0 1 0
!176
1 1 0 1 1 1 1 1 0 1 1 1 0 0 1 0
!177
0 1 1 1 1 1 1 0 1 1 1 1 0 0 1 0
!178
1 1 1 1 1 1 1 1 1 0 1 0 0 0 1 0
!179
1 1 1 0 0 1 1 1 1 1 1 1 0 0 0 1
!180
1 0 1 1 1 0 1 1 1 1 1 1 0 0 1 0
!181
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!182
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!183
1 1 0 0 1 1 0 0 1 1 1 1 0 0 1 0
!184
0 1 1 0 1 1 1 1 1 1 0 1 0 0 1 0
!185
0 1 1 1 0 0 1 1 0 1 1 0 0 1 0 0
!186
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!187
1 1 0 1 1 0 1 1 1 1 1 1 0 0 1 0
!188
1 1 0 1 0 1 0 1 1 1 1 1 0 0 1 0
!189
0 1 1 1 0 1 1 0 0 1 0 1 0 1 0 0
!190
1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 1
!191
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!192
1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 1
!193
1 0 1 1 1 1 1 1 0 1 1 0 0 0 1 0
!194
1 1 1 1 0 0 0 1 1 1 1 1 0 0 1 0
!195
1 1 0 1 1 1 1 1 1 1 0 1 0 0 1 0
!196
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!197
1 1 1 0 0 1 1 1 1 1 0 0 0 0 1 0
!198
0 1 0 1 1 0 1 1 1 1 0 1 0 1 0 0
!199
1 0 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!200
0 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
!201
1 1 1 0 1 0 1 1 1 1 1 1 0 0 0 1
!202
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!203
1 1 1 1 1 1 1 0 0 1 1 1 0 0 0 1
!204
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!205
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!206
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!207
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!208
1 0 1 0 1 1 1 1 1 1 1 1 0 0 1 0
!209
1 1 0 1 1 1 1 1 1 0 0 1 0 0 1 0
!210
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!211
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!212
1 0 1 1 1 1 1 1 0 1 1 1 0 0 1 0
!213
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!214
1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 1
!215
1 1 1 0 1 1 1 0 1 0 1 0 0 0 1 0
!216
1 0 0 0 1 1 0 1 0 1 1 1 0 1 0 0
!217
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!218
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!219
1 1 0 1 1 1 0 1 0 0 1 0 0 1 0 0
!220
1 0 1 1 1 1 0 1 1 0 1 0 0 1 0 0
!221
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!222
1 1 0 1 1 1 1 1 1 1 0 1 0 0 1 0
!223
1 1 1 0 1 1 1 1 1 1 1 1 0 0 0 1
!224
1 1 1 1 1 0 0 1 0 1 1 1 0 0 1 0
!225
1 1 0 1 1 1 1 1 1 1 1 0 0 0 1 0
!226
0 1 0 1 1 1 0 0 1 1 1 1 0 1 0 0
!227
1 1 0 0 1 1 0 1 1 1 0 1 0 0 1 0
!228
0 1 1 1 1 1 1 1 1 0 1 1 0 1 0 0
!229
0 1 1 0 1 1 1 1 0 1 1 1 0 0 1 0
!230
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!231
1 1 1 0 1 1 1 1 1 1 0 1 0 0 0 1
!232
1 1 0 1 1 1 1 1 1 1 0 1 0 0 1 0
!233
1 1 1 0 1 1 0 1 0 1 1 1 0 0 1 0
!234
0 0 1 1 1 1 1 0 1 0 0 1 1 0 0 0
!235
1 1 0 0 1 1 0 1 1 0 1 1 0 1 0 0
!236
1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 1
!237
1 1 1 0 1 1 1 0 1 1 1 1 0 0 0 1
!238
1 1 0 1 1 0 1 1 1 1 1 0 0 0 1 0
!239
1 1 1 1 1 1 1 0 1 1 1 0 0 0 1 0
!240
0 1 1 1 0 1 0 1 1 1 1 1 0 1 0 0
!241
1 1 1 1 0 1 1 1 1 1 1 0 0 0 1 0
!242
1 1 1 1 1 1 0 0 0 1 1 1 0 0 1 0
!243
1 0 1 0 1 1 1 0 1 1 1 1 0 0 1 0
!244
1 1 0 1 1 0 1 1 1 1 1 0 0 0 1 0
!245
0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0
!246
0 0 1 0 1 1 1 1 1 1 1 0 0 1 0 0
!247
0 1 1 1 0 1 1 1 1 1 1 0 0 1 0 0
!248
1 1 1 1 0 0 1 1 0 1 1 1 0 0 1 0
!249
1 1 1 1 1 1 0 1 1 1 1 1 0 0 0 1
!250
0 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
!251
1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 0
!252
1 1 0 1 1 1 1 1 1 1 1 1 0 0 0 1
!253
1 1 1 1 0 1 1 0 1 1 0 1 0 0 1 0
!254
1 1 1 1 1 1 1 1 0 0 0 1 0 0 1 0
!255
1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 1
!256
1 1 1 1 1 1 1 0 1 1 0 1 0 0 0 1
!257
0 0 1 0 0 0 1 0 1 1 1 0 1 0 0 0
!258
1 1 1 0 0 1 1 1 1 1 1 1 0 0 0 1
!259
1 1 1 0 1 1 1 0 1 1 0 0 0 0 1 0
!260
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!261
1 1 1 1 0 1 1 1 1 1 1 1 0 0 0 1
!262
0 1 1 1 1 1 1 1 0 0 1 1 0 1 0 0
!263
1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 1
!264
1 1 1 1 1 1 0 1 0 1 1 1 0 0 1 0
!265
1 1 1 1 1 0 1 1 1 1 0 1 0 0 0 1
!266
1 1 1 1 1 0 1 1 1 0 1 1 0 0 1 0
!267
1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1
!268
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!269
1 1 0 0 0 1 1 1 0 0 1 1 0 1 0 0
!270
1 1 0 0 0 1 1 0 1 1 1 0 0 1 0 0
!271
0 0 1 0 0 1 1 0 1 1 1 1 0 1 0 0
!272
1 0 1 1 1 0 1 1 1 1 1 1 0 0 1 0
!273
1 1 0 0 1 0 0 1 1 0 1 1 0 1 0 0
!274
0 1 1 0 1 1 0 1 1 1 1 1 0 1 0 0
!275
1 1 0 0 1 1 1 0 0 1 1 1 0 0 1 0
!276
0 1 1 1 0 1 1 1 1 0 1 0 0 1 0 0
!277
1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 1
!278
1 1 1 1 0 1 1 1 0 0 1 1 0 0 1 0
!279
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!280
1 0 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!281
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!282
1 1 1 1 1 1 1 0 0 1 0 1 0 0 1 0
!283
1 1 1 1 1 0 1 1 1 1 0 0 0 0 1 0
!284
1 1 1 1 1 1 1 1 0 1 0 1 0 0 0 1
!285
1 1 1 1 0 1 1 1 1 1 0 1 0 0 0 1
!286
1 1 0 0 1 1 1 1 1 1 1 0 0 0 1 0
!287
1 0 0 1 0 0 1 1 0 0 1 0 1 0 0 0
!288
1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 0
!289
1 1 0 1 0 1 1 0 0 1 1 0 0 1 0 0
!290
1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1
!291
1 1 1 1 1 1 1 0 0 1 1 1 0 0 0 1
!292
0 1 1 1 0 1 1 1 1 1 1 0 0 1 0 0
!293
0 1 1 1 1 1 1 1 1 0 1 1 0 1 0 0
!294
1 1 0 0 1 0 1 1 1 1 1 0 0 0 1 0
!295
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!296
1 1 0 1 1 1 1 1 1 1 1 1 0 0 0 1
!297
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!298
1 0 1 1 1 1 1 1 1 0 0 0 0 1 0 0
!299
1 1 0 1 1 1 1 0 1 1 1 1 0 0 1 0
!300
0 0 1 1 0 1 1 1 1 0 1 1 0 1 0 0
!301
1 1 1 1 0 1 0 0 1 1 1 1 0 0 1 0
!302
1 0 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!303
0 0 1 1 1 0 1 0 0 1 1 1 0 1 0 0
!304
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!305
1 1 1 0 1 1 1 1 1 1 1 1 0 0 0 1
!306
1 1 1 1 1 0 1 0 1 1 1 1 0 0 0 1
!307
1 0 1 1 1 1 1 1 1 1 0 1 0 0 1 0
!308
1 1 1 0 1 1 0 1 1 0 1 1 0 0 1 0
!309
1 1 1 0 0 1 1 1 1 1 0 1 0 0 1 0
!310
1 1 1 1 1 1 1 1 0 1 1 1 0 0 0 1
!311
1 1 1 1 1 1 1 1 0 1 1 1 0 0 0 1
!312
1 1 1 1 1 1 0 1 1 0 0 1 0 0 1 0
!313
1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 1
!314
1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 1
!315
1 1 1 1 1 1 1 1 0 1 1 0 0 0 1 0
!316
1 1 1 1 0 1 1 1 1 1 0 1 0 0 0 1
!317
1 1 1 1 1 1 0 1 1 1 1 0 0 0 1 0
!318
1 1 1 1 1 1 1 0 1 1 1 0 0 0 1 0
!319
1 0 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!320
0 1 1 1 0 1 1 1 1 1 1 1 0 0 1 0
Обучающая последовательность 110 образов.
.# Trajan v1.0 Patterns
no_inputs 12
no_outputs 4
no_patterns 110
!1
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!2
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!3
1 1 1 1 1 1 0 1 1 1 1 1 0 0 0 1
!4
0 1 1 1 0 0 1 0 0 1 0 0 1 0 0 0
!5
1 0 1 1 1 1 0 1 1 1 1 1 0 0 1 0
!6
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!7
1 1 1 1 1 1 1 1 0 1 1 1 0 0 0 1
!8
1 1 0 1 1 1 1 1 0 1 1 1 0 0 1 0
!9
1 1 1 1 1 1 0 1 0 0 1 1 0 0 1 0
!10
1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 1
!11
1 1 1 0 1 1 1 0 1 1 1 1 0 0 0 1
!12
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!13
1 1 1 1 1 1 1 1 0 1 1 1 0 0 0 1
!14
1 1 0 0 0 0 0 1 0 1 1 1 0 1 0 0
!15
1 1 1 1 0 1 1 1 1 0 0 1 0 0 1 0
!16
0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0
!17
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!18
0 0 1 1 0 1 0 1 1 1 1 0 1 0 0 0
!19
1 1 0 1 1 0 1 1 1 1 1 0 0 0 1 0
!20
1 1 1 1 0 1 1 1 1 1 1 0 0 0 1 0
!21
1 1 0 1 1 1 0 1 1 1 0 0 0 1 0 0
!22
1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 0
!23
0 1 1 0 1 1 1 1 0 1 1 1 0 0 1 0
!24
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!25
0 0 1 1 1 1 1 1 0 1 1 1 0 1 0 0
!26
1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 0
!27
1 1 0 1 1 1 1 0 1 0 1 1 0 0 1 0
!28
0 1 1 1 1 1 1 1 1 1 1 0 0 0 1 0
!29
1 1 1 1 1 1 1 1 0 1 1 1 0 0 0 1
!30
1 1 1 1 1 1 0 1 1 1 1 1 0 0 0 1
!31
1 1 1 0 1 1 1 1 1 1 1 1 0 0 0 1
!32
1 0 1 1 0 1 0 1 0 0 1 1 0 1 0 0
!33
1 1 0 0 0 1 1 1 1 1 1 1 0 0 1 0
!34
0 1 1 0 1 1 1 1 1 1 1 1 0 0 1 0
!35
1 0 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!36
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!37
1 0 1 0 0 1 0 1 1 0 1 1 0 1 0 0
!38
1 0 1 1 1 1 0 0 0 0 1 1 0 1 0 0
!39
1 0 1 0 1 1 1 1 1 0 1 0 0 1 0 0
!40
1 1 0 1 1 1 1 1 1 1 0 1 0 0 1 0
!41
0 0 1 1 1 1 0 1 1 1 1 1 0 1 0 0
!42
1 1 0 1 1 1 1 1 1 1 1 1 0 0 0 1
!43
1 0 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!44
1 1 1 1 1 1 1 0 1 1 1 1 0 0 0 1
!45
1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1
!46
1 1 1 1 1 1 0 1 1 1 1 1 0 0 0 1
!47
1 1 1 1 0 1 1 1 1 1 1 1 0 0 0 1
!48
1 1 1 0 0 1 1 1 1 1 1 1 0 0 0 1
!49
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!50
1 1 0 1 0 1 1 0 1 0 1 1 0 1 0 0
!51
0 1 1 1 1 1 1 0 1 1 1 1 0 0 1 0
!52
1 1 1 1 1 1 1 1 0 1 1 1 0 0 0 1
!53
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!54
1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 1
!55
1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 1
!56
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!57
0 1 1 1 1 0 0 1 1 1 0 1 0 1 0 0
!58
1 1 1 0 1 1 1 1 0 0 1 1 0 0 1 0
!59
0 0 0 0 1 0 0 1 1 1 1 0 1 0 0 0
!60
1 0 1 1 0 1 1 1 1 1 0 1 0 0 1 0
!61
1 0 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!62
1 0 0 0 1 1 1 1 1 1 0 1 0 0 1 0
!63
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!64
1 1 0 1 1 1 1 1 1 1 1 1 0 0 0 1
!65
1 1 1 1 1 0 1 1 1 0 1 1 0 0 1 0
!66
0 0 1 1 1 1 1 0 0 1 1 1 0 1 0 0
!67
1 1 1 1 0 1 1 1 1 1 1 1 0 0 0 1
!68
1 1 1 0 1 1 1 1 1 1 1 0 0 0 0 1
!69
1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 1
!70
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!71
1 1 0 1 1 1 1 0 1 1 1 1 0 0 1 0
!72
0 1 1 1 1 1 1 1 1 1 1 0 0 0 1 0
!73
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!74
1 1 1 1 1 0 1 1 0 0 1 0 0 1 0 0
!75
1 1 1 1 1 1 1 0 1 1 1 1 0 0 0 1
!76
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!77
1 0 1 1 1 1 1 1 1 1 1 0 0 0 1 0
!78
1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 1
!79
1 0 1 1 1 0 1 1 1 1 1 1 0 0 1 0
!80
0 1 1 1 0 1 0 0 1 1 0 1 0 1 0 0
!81
0 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
!82
1 1 1 0 1 1 1 1 1 0 0 1 0 0 1 0
!83
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!84
1 1 1 1 0 1 1 0 1 0 1 1 0 0 1 0
!85
1 1 0 1 0 1 1 0 1 1 1 0 0 0 1 0
!86
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!87
1 1 1 1 1 1 1 0 1 1 1 1 0 0 0 1
!88
0 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
!89
1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 1
!90
1 1 0 0 1 1 1 1 0 1 1 1 0 0 1 0
!91
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!92
0 1 1 0 1 1 1 1 1 1 1 1 0 0 1 0
!93
1 1 1 1 0 0 1 0 1 0 1 1 0 0 1 0
!94
1 1 1 1 1 1 0 1 1 1 1 1 0 0 0 1
!95
1 0 1 0 1 1 1 1 1 1 0 1 0 0 1 0
!96
1 0 1 1 1 1 1 1 0 1 1 0 0 0 1 0
!97
1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
!98
0 0 1 1 1 0 1 1 1 1 1 1 0 1 0 0
!99
1 1 0 1 1 1 1 1 1 1 1 1 0 0 0 1
!100
0 1 1 1 1 0 1 1 1 1 1 1 0 0 1 0
!101
1 0 1 1 1 0 1 1 1 1 0 1 0 0 1 0
!102
1 1 1 1 1 1 1 0 1 1 1 0 0 0 1 0
!103
1 0 1 1 1 1 1 0 1 1 0 1 0 0 1 0
!104
1 1 0 0 0 0 1 1 1 1 1 0 0 1 0 0
!105
1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1
!106
1 1 1 1 1 0 0 1 1 1 1 1 0 0 0 1
!107
1 1 1 0 1 1 1 1 1 0 1 1 0 0 1 0
!108
0 0 1 1 1 1 1 1 0 1 1 1 0 1 0 0
!109
1 1 1 1 1 1 1 1 0 1 0 1 0 0 0 1
Приложение 4. Листинг контролирующей программы
cgi_res.pas
{$N+}
program cgi_res;
uses SysUtils;
const
INPUTS = 12;
HIDDEN1 = 12;
OUTPUTS = 4;
HIDDEN1_INDEX = INPUTS;
OUTPUT_INDEX = HIDDEN1_INDEX+HIDDEN1;
NUMNEURONS = INPUTS+HIDDEN1+OUTPUTS;
Var
NEURON:array[0..NUMNEURONS-1]of double;
ans:array[1..INPUTS]of string[1];
h:array[1..INPUTS]of string[3];
check_in:array[0..INPUTS-1]of double;
check_out:array[0..OUTPUTS-1]of double;
st,in_str,fio,grp:string;
i,max:byte;
(* Weight arrays *)
const W_In_H1:array[0..HIDDEN1-1,0..INPUTS+1-1]of double = (
(0.109022, -0.0539257, -0.368034, -0.471941, -0.14011, 2.33927, -0.909139,
-0.322244, -1.40411, -0.195163, -0.184279, -0.124136, 0.314774),
(-0.715285, -1.01007, -0.896435, -1.04527, -0.986676, -0.492673, -1.27935,
-0.760259, -0.83849, -0.470172, -0.635299, -0.722786, 1.68905),
(0.781771, 0.585087, 0.698981, 0.0769728, 0.849104, 1.3434, 0.677218,
0.16054, -2.58012, -0.126845, -0.0477314, -0.0215265, -0.341294),
(-0.115014, -0.299009, -0.386707, -0.00167638, 0.00157645, -0.568074, -0.0401864,
-0.175029, 0.050284, 0.00745735, 0.0164164, -0.313791, 0.516574),
(1.69567, -0.00457102, -0.0258746, -2.53526, -0.0675847, 2.03239, -0.611646,
0.11374, 0.326477, 3.3361, -0.307153, -0.0233276, -0.101178),
(0.323127, 0.453094, 1.43307, -1.17937, -1.30469, -0.739903, -1.17307,
-0.0469102, 1.16848, -2.81881, 0.203912, -1.46856, 0.127351),
(-0.168771, -0.052278, -0.0937404, 0.138683, -0.394373, -0.0080455, -0.665677,
-0.0575857, -0.390231, -0.077412, 0.133436, -0.0252823, 0.147023),
(-0.562288, -2.02446, -6.6931, -0.218433, -0.0113713, 0.724795, 0.0589764,
-0.530525, 0.0380381, 1.67573, -1.0224, -1.14925, 0.438447),
(0.698312, -0.0160047, 1.53373, -1.44304, -0.4157, 2.64013, -0.818845,
0.862477, 5.69266, -0.957385, -0.0989055, -0.580727, -0.00278491),
(-1.52924, 0.347028, -0.242113, 0.252351, 0.798555, -0.280498, 0.53143,
0.597981, 4.06578, 0.815546, 1.94425, -0.444688, -0.0898223),
(-0.0374775, -0.471714, -0.0143863, -0.27478, -0.0654873, -0.163415, -0.0978362,
-0.384747, 0.0309396, -0.00209866, -0.243247, -0.470842, 0.498723),
(-0.0497225, -0.0284349, 0.0242167, -2.14155, -0.00824269, -0.0183397, 0.103547,
0.0900314, 0.0350896, -0.0246594, -1.62929, 0.108472, 0.211198)
);
const W_H1_Out:array[0..OUTPUTS-1,0..HIDDEN1+1-1]of double = (
(-0.0417788, 12.4763, -0.0492676, -0.692518, 0.170335, -0.956991, -0.0457157,
-0.853115, 0.0116715, -2.03634, -0.505628, -0.0066435, -0.0376796),
(-2.29736, -22.4874, 0.600889, 1.61897, -0.813111, 8.56052, 0.00762325, 8.00798,
-2.84516, 0.0328812, 2.55626, 1.1535, -0.0463112),
(10.4161, -12.1323, -6.40036, 5.11533, -0.111914, -10.3867, 0.0734312, -11.4413,
-0.0479404, -0.0105011, 2.59167, 2.88688, -0.0289983),
(-5.28685, 0.0179245, 3.75147, -2.29328, 1.07041, 3.82189, -7.86089, -4.68059,
1.79581, 0.82398, -9.13616, -4.97627, 0.219971)
);
(* Nonlinearity functions *)
function sigmoid(x:double):double;
begin
sigmoid:=1.0/(1.0+exp(-x));
end;
(* Compute the network response
* Arguments:
* inpts (double) array containing the input values
* outpts (double) array which receives the results
*)
procedure eval_net(var inpts,outpts:array of double);
var i,j:integer;
begin
{ /* Zero neuron sums */}
for i:=0 to NUMNEURONS-1 do NEURON[i] := 0.0;
{ /* Apply inpts */}
for i:=0 to INPUTS-1 do NEURON[i] := inpts[i];
{ /* Compute hidden layer #1 */}
for i:=0 to HIDDEN1-1 do
begin
for j:=0 to INPUTS-1 do
begin
NEURON[HIDDEN1_INDEX + i]:=NEURON[HIDDEN1_INDEX + i]+
NEURON[j]*W_In_H1[i][j];
end;
NEURON[HIDDEN1_INDEX + i]:=NEURON[HIDDEN1_INDEX + i] +W_In_H1[i][INPUTS];
NEURON[HIDDEN1_INDEX + i]:= sigmoid( NEURON[HIDDEN1_INDEX + i] );
end;
{ /* Compute network outputs */}
for i:=0 to OUTPUTS-1 do
begin
for j:=0 to HIDDEN1-1 do
begin
NEURON[OUTPUT_INDEX + i] :=NEURON[OUTPUT_INDEX + i] +NEURON[HIDDEN1_INDEX + j]*W_H1_Out[i][j];
end;
NEURON[OUTPUT_INDEX + i] := NEURON[OUTPUT_INDEX + i]+W_H1_Out[i][HIDDEN1]; {/* BIAS */}
NEURON[OUTPUT_INDEX + i] := sigmoid( NEURON[OUTPUT_INDEX + i] );
end;
{ /* Copy outputs to outpt array */}
for i:=0 to OUTPUTS-1 do
outpts[i] := NEURON[OUTPUT_INDEX + i];
end;
Procedure Head;
begin
writeln('Content-type: text/html ');writeln('');
writeln('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">');
writeln('<HTML><HEAD><TITLE> Результаты теста</TITLE></HEAD><BODY>');
write('<p><font size=5 ><center><i> Вы закончили финальный тест!</i><p></center></FONT>');
end;
Procedure Fin;
begin
writeln('</BODY></HTML>');
end;
procedure Analize;
var buf:string;
begin
buf:='';
read(input,in_str);st:=in_str;
for i:=1 to INPUTS do begin
buf:='rad'+IntToStr(i)+'=';
if pos(buf,st) > 0 then delete(st,pos(buf,st),length(buf));
ans[i]:=copy(st,1,pos('&',st)); delete(st,1,pos('&',st));
write(st,'<p>');}
end; {for}
if pos('hid=',st) > 0 then delete(st,pos('hid=',st),length('hid='));
for i:=1 to INPUTS do begin
h[i]:=st[1+3*(i-1)];
end;
delete(st,1,pos('+',st)); delete(st,1,6);
fio:=copy(st,1,pos('%',st)-1); delete(st,1,pos('grp',st)+5);
grp:=st;
for i:=1 to INPUTS do
if ans[i]=h[i] then check_in[i-1]:=1
else check_in[i-1]:=0;
eval_net(check_in,check_out);
end;
BEGIN
HEAD;
ANALIZE;
write('<h3> Испытуемый: ',fio,' <p>');
write(' группа : ',grp,' <p>');
max:=0;
for i:=0 to OUTPUTS-1-1 do
if check_out[max]>check_out[i+1] then max:=max
else max:=i+1;
case max of
0:begin
write('<h3> Ваша оценка - <FONT SIZE=6>2 (=+ L-+TT+TT+¦LT+T-=+)</FONT> <p></h3>')
end;
1:begin
write('<h3> Ваша оценка - <FONT SIZE=6>3 (L-+TT+TT+¦LT+T-=+)</FONT> <p></h3>')
end;
2:begin
write('<h3> Ваша оценка - <FONT SIZE=6>4 (-+¦+++)</FONT> <p></h3>')
end;
3:begin
write('<h3> Ваша оценка - <FONT SIZE=6>5 (+TTL+=+)</FONT> <p></h3>')
end;
end; {case}
FIN;
END.
cgi_form.pas
program cgi_form;
uses SysUtils;
const v1='v1';
v2='v2';
v3='v3';
v4='v4';
v5='v5';
v6='v6';
a1='1';
a2='2';
a3='3';
type mas=array[1..3,0..3]of byte;
var st,
in_str,
name,
fio,
grp,
file_name,
a:string;
f:text;
q_num:integer;
y,
ind,
cal:byte;
quest_mas:mas;
h:array[1..12]of string[3];
Procedure Error;
begin
writeln('Content-type: text/html ');
writeln('');
writeln('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">');
writeln('<HTML><HEAD><TITLE>PAZiC </TITLE></HEAD><BODY
bgcolor=#FF0000>');
writeln('<H1>Error- Ошибка!!!</H1>');
writeln('</BODY></HTML>');
end;
Procedure Head;
begin
writeln('Content-type: text/html ');writeln('');
writeln('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">');
writeln('<HTML><HEAD><TITLE>Контрольные
вопросы</TITLE></HEAD><BODY>');
write('<form method=post action="/advcgi/cgi-res.exe">');
end;
Procedure Fin;
begin
write('<center><P align=center> <INPUT type="submit" value="Проверь
cебя "></p></center>');
writeln('</BODY></HTML>');
end;
Procedure Analize_Name;
begin
name:='';
read(input,in_str); st:=in_str;
delete(st,1,(pos('fam=',st)+3));
name:=copy(st,1,pos('&grp=',st)-1); fio:=name;
delete(st,1,(pos('&grp=',st)+4)); grp:=st;
name:=name+' '+st;
end;
Procedure Point_Q (ind:byte);
var buf:string; i,probel:word;
begin
reset(f); readln(f,buf); probel:=ind+3*(ind-1); i:=0;
while not (eof(f)) do begin
readln(f,buf);
if buf='' then i:=i+1;
if i=probel then break;
end;
end;
Procedure Point_A(n:byte);
var buf:string; i:word;
begin
i:=0;
while not (eof(f)) and (i<>n) do begin
readln(f,buf);
if buf='' then i:=i+1;
end;
end;
Procedure Wr;
var buf:string;
begin
buf:='Buffer';
while not (eof(f)) and (buf<>'') do begin
readln(f,buf);
writeln(buf);
end;
end;
Procedure Init(q:byte; var q_m:mas);
var i:byte;
begin
if q < 3 then begin
repeat q_m[1,0]:=random(3); until q_m[1,0]<>0;{1- question find randomly}
repeat q_m[1,1]:=random(4); until q_m[1,1]<>0;{1- answer find randomly}
repeat q_m[1,2]:=random(4);
until (q_m[1,2]<>q_m[1,1])and(q_m[1,2]<>0);
q_m[1,3]:=3-(q_m[1,1]+q_m[1,2])+3;
q_m[2,0]:=2-q_m[1,0]+1;{2-last question}
repeat q_m[2,1]:=random(4); until q_m[2,1]<>0;{1- answer find randomly}
repeat q_m[2,2]:=random(4);
until (q_m[2,2]<>q_m[2,1])and(q_m[2,2]<>0);
q_m[2,3]:=3-(q_m[2,1]+q_m[2,2])+3;
for i:=0 to 3 do q_m[3,i]:=0;
end
else begin
repeat q_m[1,0]:=random(q_num+1); until (q_m[1,0]<>0);{1- question find
randomly}
repeat q_m[2,0]:=random(q_num+1); until
(q_m[2,0]<>q_m[1,0])and(q_m[2,0]<>0);{1- question find randomly}
repeat q_m[3,0]:=random(q_num+1);
until
(q_m[3,0]<>q_m[2,0])and(q_m[3,0]<>q_m[1,0])and(q_m[3,0]<>0);{1-
question find randomly}
for i:=1 to 3 do begin
repeat q_m[i,1]:=random(4); until q_m[i,1]<>0;{1- answer find randomly}
repeat q_m[i,2]:=random(4); until (q_m[i,2]<>q_m[i,1])and(q_m[i,2]<>0);
q_m[i,3]:=3-(q_m[i,1]+q_m[i,2])+3;
end;
end;
end;
Function Hide(right:byte):string;
var s:word;
begin
if right = 1 t...
Подобные документы
Возможности программ моделирования нейронных сетей. Виды нейросетей: персептроны, сети Кохонена, сети радиальных базисных функций. Генетический алгоритм, его применение для оптимизации нейросетей. Система моделирования нейронных сетей Trajan 2.0.
дипломная работа [2,3 M], добавлен 13.10.2015Понятие и свойства искусственных нейронных сетей, их функциональное сходство с человеческим мозгом, принцип их работы, области использования. Экспертная система и надежность нейронных сетей. Модель искусственного нейрона с активационной функцией.
реферат [158,2 K], добавлен 16.03.2011Общие сведения о принципах построения нейронных сетей. Искусственные нейронные системы. Математическая модель нейрона. Классификация нейронных сетей. Правила обучения Хэбба, Розенблатта и Видроу-Хоффа. Алгоритм обратного распространения ошибки.
дипломная работа [814,6 K], добавлен 29.09.2014Сущность и функции искусственных нейронных сетей (ИНС), их классификация. Структурные элементы искусственного нейрона. Различия между ИНС и машинами с архитектурой фон Неймана. Построение и обучение данных сетей, области и перспективы их применения.
презентация [1,4 M], добавлен 14.10.2013Особенности нейронных сетей как параллельных вычислительных структур, ассоциируемых с работой человеческого мозга. История искусственных нейронных сетей как универсального инструмента для решения широкого класса задач. Программное обеспечение их работы.
презентация [582,1 K], добавлен 25.06.2013Рост активности в области теории и технической реализации искусственных нейронных сетей. Основные архитектуры нейронных сетей, их общие и функциональные свойства и наиболее распространенные алгоритмы обучения. Решение проблемы мертвых нейронов.
реферат [347,6 K], добавлен 17.12.2011Искусственные нейронные сети как одна из широко известных и используемых моделей машинного обучения. Знакомство с особенностями разработки системы распознавания изображений на основе аппарата искусственных нейронных сетей. Анализ типов машинного обучения.
дипломная работа [1,8 M], добавлен 08.02.2017Понятие искусственного нейрона и искусственных нейронных сетей. Сущность процесса обучения нейронной сети и аппроксимации функции. Смысл алгоритма обучения с учителем. Построение и обучение нейронной сети для аппроксимации функции в среде Matlab.
лабораторная работа [1,1 M], добавлен 05.10.2010Простейшая сеть, состоящая из группы нейронов, образующих слой. Свойства нейрокомпьютеров (компьютеров на основе нейронных сетей), привлекательных с точки зрения их практического использования. Модели нейронных сетей. Персептрон и сеть Кохонена.
реферат [162,9 K], добавлен 30.09.2013Способы применения технологий нейронных сетей в системах обнаружения вторжений. Экспертные системы обнаружения сетевых атак. Искусственные сети, генетические алгоритмы. Преимущества и недостатки систем обнаружения вторжений на основе нейронных сетей.
контрольная работа [135,5 K], добавлен 30.11.2015Описание технологического процесса напуска бумаги. Конструкция бумагоделательной машины. Обоснование применения нейронных сетей в управлении формованием бумажного полотна. Математическая модель нейрона. Моделирование двух структур нейронных сетей.
курсовая работа [1,5 M], добавлен 15.10.2012Определение и виды модели, ее отличие от понятия моделирования. Формула искусственного нейрона. Структура передачи сигнала между нейронами. Способность искусственных нейронных сетей к обучению и переобучению. Особенности их применения в финансовой сфере.
реферат [136,2 K], добавлен 25.04.2016Механизм работы нервной системы и мозга человека. Схема биологического нейрона и его математическая модель. Принцип работы искусственной нейронной сети, этапы ее построения и обучения. Применение нейронных сетей в интеллектуальных системах управления.
презентация [98,6 K], добавлен 16.10.2013Математическая модель нейронной сети. Однослойный и многослойный персептрон, рекуррентные сети. Обучение нейронных сетей с учителем и без него. Алгоритм обратного распространения ошибки. Подготовка данных, схема системы сети с динамическим объектом.
дипломная работа [2,6 M], добавлен 23.09.2013Принципы организации и функционирования биологических нейронных сетей. Система соединенных и взаимодействующих между собой простых процессоров. Нейронные сети Маккалока и Питтса. Оценка качества кластеризации. Обучение многослойного персептрона.
курсовая работа [1,1 M], добавлен 06.12.2010Нейронные сети как средство анализа процесса продаж мобильных телефонов. Автоматизированные решения на основе технологии нейронных сетей. Разработка программы прогнозирования оптово-розничных продаж мобильных телефонов на основе нейронных сетей.
дипломная работа [4,6 M], добавлен 22.09.2011Способы применения нейронных сетей для решения различных математических и логических задач. Принципы архитектуры их построения и цели работы программных комплексов. Основные достоинства и недостатки каждой из них. Пример рекуррентной сети Элмана.
курсовая работа [377,4 K], добавлен 26.02.2015Анализ применения нейронных сетей для прогнозирования ситуации и принятия решений на фондовом рынке с помощью программного пакета моделирования нейронных сетей Trajan 3.0. Преобразование первичных данных, таблиц. Эргономическая оценка программы.
дипломная работа [3,8 M], добавлен 27.06.2011Сущность и понятие кластеризации, ее цель, задачи, алгоритмы; использование искусственных нейронных сетей для кластеризации данных. Сеть Кохонена, самоорганизующиеся нейронные сети: структура, архитектура; моделирование кластеризации данных в MATLAB NNT.
дипломная работа [3,1 M], добавлен 21.03.2011Задача анализа деловой активности, факторы, влияющие на принятие решений. Современные информационные технологии и нейронные сети: принципы их работы. Исследование применения нейронных сетей в задачах прогнозирования финансовых ситуаций и принятия решений.
дипломная работа [955,3 K], добавлен 06.11.2011