49029

Выбор профессии финансового аналитика

Курсовая

Информатика, кибернетика и программирование

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

Русский

2013-12-19

1.52 MB

2 чел.

Федеральное агентство по образованию

Государственное образовательное учреждение высшего профессионального образования

«ПЕРМСКИЙ ГОСУДАРСТВЕННЫЙ ПЕДАГОГИЧЕСКИЙ УНИВЕРСИТЕТ»

Факультет информатики и экономики

Кафедра прикладной  информатики

КУРСОВАЯ РАБОТА

по дисциплине

«Интеллектуальные информационные системы»

Тема: «Выбор профессии  финансового аналитика»

                                                   

ИСПОЛНИТЕЛЬ: студентка  гр. 1233

Е.Ю. Пупорева

                                                                                НАУЧНЫЙ  РУКОВОДИТЕЛЬ:

проф. Л. Н. Ясницкий

                                                                                ПОДПИСЬ

«____»________________2008г.

Пермь 2008


Содержание

Введение

3

Глава 1. Теоретические основы нейросетей

4

          1.1 История развития нейросетей

4

          1.2 Сущность нейросетей

7

          1.3 Подготовка входных и выходных параметров

10

          1.4 Некоторые области применения персептронов

11

             1.4.1 Нейросети в банковском деле

11

             1.4.2 Нейросети в маркетинге

12

             1.4.3 Нейросетевой детектор лжи

13

          1.5 Перспективы метода компьютерного моделирования

14

Глава 2. Применение нейросетей при выборе профессии

18

          2.1 Постановка задачи

21

          2.2 Анализ полученных результатов

22

Заключение

28

Библиографический список

29

Приложение 1

31

Приложение 2

40


Введение

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

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

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

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


Глава 1.Теоретические основы нейросетей

  1.   История развития нейросетей

Теоретические основы нейрокибернетики были заложены  в начале 40-х годов. В 1943 году У. Маккалок и его ученик У. Питтс сформулировали основные положения теории деятельности головного мозга. Ими были получены следующие результаты:

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

предложена конструкция сети таких элементов для выполнения логических и арифметических операций;

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

Серьезное развитие нейрокибернетика получила в работах американского нейрофизиолога Френсиса Розенблата (Корнелльский университет). В 1958 году он предложил свою модель нейронной сети. Розенблат ввел в модель Маккаллока и Питтса способность связей к модификации, что сделало ее обучаемой. Эта модель была названа персептроном. Первоначально персептрон представлял собой однослойную структуру с жесткой пороговой функцией процессорного элемента и бинарными или многозначными входами. Первые персептроны были способны распознавать некоторые буквы латинского алфавита. Впоследствии модель персептрона была значительно усовершенствована. Он применялся для задачи автоматической классификации, которая в общем случае состоит в разделении пространства признаков между заданным количеством классов. В двухмерном случае требуется провести линию на плоскости, отделяющую одну область от другой. Персептрон способен делить пространство только прямыми линиями (плоскостями).

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

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

Новый виток быстрого развития моделей нейронных сетей, который начался лет 20 тому назад, связан с работами Амари, Андерсона, Карпентера, Кохонена и других, и в особенности, Хопфилда, а также под влиянием обещающих успехов оптических технологий и зрелой фазы развития СБИС для реализации новых архитектур. Начало современному математическому моделированию нейронных вычислений было положено работами Хопфилда в 1982 году, в которых была сформулирована математическая модель ассоциативной памяти на нейронной сети. Показано, что для однослойной нейронной сети со связями типа "все на всех" характерна сходимость к одной из конечного множества равновесных точек, которые являются локальными минимумами функции энергии, содержащей в себе всю структуру взаимосвязей в сети. Понимание такой динамики в нейронной сети было и у других исследователей. Однако, Хопфилд и Тэнк показали как конструировать функцию энергии для конкретной оптимизационной задачи и как использовать ее для отображения задачи в нейронную сеть. Этот подход получил развитие и для решения других комбинаторных оптимизационных задач. Привлекательность подхода Хопфилда состоит в том, что нейронная сеть для конкретной задачи может быть запрограммирована без обучающих итераций. Веса связей вычисляются на основании вида функции энергии, сконструированной для этой задачи.

Линия истории

1943 г. У. Маккалок (W. McCulloch) и У. Питтс (W. Pitts) предложили модель нейрона и сформулировали основные положения теории функционирования головного мозга.

1949 г. Д. Хебб (D. Hebb) высказал идеи о характере соединений нейронов мозга и их взаимодействии (клеточные ансамбли, синаптическая пластичность). Впервые предложил правила обучения нейронной сети

1957 г. Ф. Розенблатт (F. Rosenblatt) разработал принципы организации и функционирования персептронов, предложил вариант технической реализации первого в мире нейрокомпьютера Mark.

1959 г. Д. Хьюбел (D. Hubel) и Т. Визель (Т. Wiesel) показали распределенный и параллельный характер хранения и обработки информации в биологических нейронных сетях.

1960-1968 гг. Активные исследования в области искусственных нейронных сетей, например, адалина и мадалина В. Уидроу (W. Widrow) (1960-1962 гг.), ассоциативные матрицы К. Штайнбуха (К. Steinbuch) (1961 г.).

1969 г. Публикация книги М. Минского (М.Minsky) и С. Пейперта (S. Papert) “Персептроны”, в которой доказывается принципиальная ограниченность возможностей персептронов. Угасание интереса к искусственным нейронным сетям.

1970-1976 гг. Активные разработки в области персептронов в СССР (основные заказчики - военные ведомства).

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

1982-1985 гг. Дж. Хопфилд (J. Hopfield ) предложил семейство оптимизирующих нейронных сетей, моделирующих ассоциативную память.

1985 г. Появление первых коммерческих нейрокомпьютеров, например, Mark III фирмы TRW (США).

1987 г. Начало широкомасштабного финансирования разработок в области ИНС и НК в США, Японии и Западной Европе (японская программа “Human Frontiers” и европейская программа “Basic Research in Adaptive Intelligence and Neurocomputing”).

1989 г. Разработки и исследования в области ИНС и НК ведутся практически всеми крупными электротехническими фирмами. Нейрокомпьютеры становятся одним из самых динамичных секторов рынка (за два года объем продаж вырос в пять раз). Агентством DARPA (Defence Advanced Research Projects Agency) министерства обороны США начато финансирование программы по созданию сверхбыстродействующих образцов НК для разнообразных применений.

1990 г. Активизация советских исследовательских организаций в области ИНС и НК (Институт кибернетики им. Глушкова в Киеве, Институт многопроцессорных вычислительных систем в Таганроге, Институт нейрокибернетики в Ростове-на-Дону). Общее число фирм, специализирующихся в области ИНС и НК, достигает трехсот.

1991 г. Годовой объем продаж на рынке ИНС и НК приблизился к 140 млн. долларам. Создаются центры нейрокомпьютеров в Москве, Киеве, Минске, Новосибирске, Санкт-Петербурге.

1992 г. Работы в области ИНС находятся стадии интенсивного развития. Ежегодно проводится десятки международных конференций и форумов по нейронным сетям, число специализированных периодических научных изданий по указанной тематике достигло двух десятков наименований.

1996 г. Число международных конференций по ИНС и НК достигло ста.

1997 г. Годовой объем продаж на рынке ИНС и НК превысил 9 млрд. долларов, а ежегодный прирост составил 50%.

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

2002 г. Красноярск. X-ый Всероссийский семинар "Нейроинформатика и ее применения".

1.2. Сущность нейросетей

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

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

Практически любую задачу можно свести к задаче, решаемой нейронной сетью.

Вопрос о построении нейронной сети решается в два этапа:

Выбор типа (архитектуры) нейронной сети

Подбор весов (обучение) нейронной сети

На первом этапе следует выбрать следующее:

какие нейроны мы хотим использовать (число входов, передаточные функции);

каким образом следует соединить их между собой;

что взять в качестве входов и выходов нейронной сети.

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

На втором этапе следует "обучить" выбранную нейронную сеть, то есть подобрать такие значения ее весов, чтобы она работала нужным образом. Необученная нейронная сеть подобна ребенку - ее можно научить чему угодно. В используемых на практике нейронных сетях количество весов может составлять несколько десятков тысяч, поэтому обучение - действительно сложный процесс. Для многих архитектур разработаны специальные алгоритмы обучения, которые позволяют настроить веса нейронной сети определенным образом. Наиболее популярный из этих алгоритмов - метод обратного распространения ошибки (Error Back Propagation), используемый, например, для обучения персептрона.
    Обучить нейронную сеть - значит, сообщить ей, чего мы от нее добиваемся. Этот процесс очень похож на обучение ребенка алфавиту. Показав ребенку изображение буквы "А", мы спрашиваем его: "Какая это буква?" Если ответ неверен, мы сообщаем ребенку тот ответ, который мы хотели бы от него получить: "Это буква А". Ребенок запоминает этот пример вместе с верным ответом, то есть в его памяти происходят некоторые изменения в нужном направлении. Мы будем повторять процесс предъявления букв снова и снова до тех пор, когда все 33 буквы будут твердо запомнены. Такой процесс называют "обучение с учителем".

Рис.1. Процесс обучения нейросети.

При обучении нейронной сети мы действуем совершенно аналогично. У нас имеется некоторая база данных, содержащая примеры (набор рукописных изображений букв). Предъявляя изображение буквы "А" на вход нейронной сети, мы получаем от нее некоторый ответ, не обязательно верный. Нам известен и верный (желаемый) ответ - в данном случае нам хотелось бы, чтобы на выходе нейронной сети с меткой "А" уровень сигнала был максимален. Обычно в качестве желаемого выхода в задаче классификации берут набор (1, 0, 0, ...), где 1 стоит на выходе с меткой "А", а 0 - на всех остальных выходах. Вычисляя разность между желаемым ответом и реальным ответом сети, мы получаем 33 числа - вектор ошибки. Алгоритм обратного распространения ошибки - это набор формул, который позволяет по вектору ошибки вычислить требуемые поправки для весов нейронной сети. Одну и ту же букву (а также различные изображения одной и той же буквы) мы можем предъявлять нейронной сети много раз. В этом смысле обучение скорее напоминает повторение упражнений в спорте - тренировку.

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

1.3  Подготовка входных и выходных параметров

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

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

После первоначального создания и обучения нейронной сети, незначимые параметры могут быть выявлены двумя способами:

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

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

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

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

Желаемые выходные сигналы персептрона должны быть также закодированы в приемлемой форме и масштабированы в приемлемом диапазоне [a,b].

Таким образом, персептрон можно применять для моделирования предметной области, описываемой числовыми  параметрами любого диапазона.  При формировании обучающей выборки  входные и выходные параметры желательно  масштабировать – преобразовать к приемлемому диапазону [a,b]. Естественно,  что ответы персептрона после этого  следует интерпретировать путем применения  преобразования, обратного масштабированию.

Персептрон дает нечеткий ответ, оценивая вероятность возможной ошибки. Подобно добросовестному врачу-диагносту, персептрон может ответить, что у больного наверняка есть инфаркт миокарда, однако с вероятностью 65% он подозревает, что  у больного был порок сердца и на 90% персептрон уверен, что ишемической болезни сердца у человека нет.

1.4 Некоторые области применения персептронов

1.4.1 Нейросети в банковском деле

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

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

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

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

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

1.4.2  Нейросети в маркетинге

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

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

Рассматриваются постановки и основанные на применении нейросетевых технологий методы решения таких задач маркетинга, как прогнозирование потребительского спроса проведение сегментации рынка и диагностики потребителя. Для каждой задачи выбор топологии нейронной сети, ее построение и обучение проводились c помощью программной системы Statistica Neural Network, разработанной американской компанией "StatSoft". На начальном этапе исследований для решения поставленных задач использовался один из возможных типов нейронной сети - многослойный персептрон с сигмоидальной передаточной функцией активации.

1.4.3 Нейросетевой детектор лжи

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

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

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

  1.  Перспективы метода компьютерного моделирования

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

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

Конечно же здесь речь идет не об обычных фон-неймановских компьютерах и не об обычных методах составления компьютерных программ. Речь идет о низкоуровневой стратегии искусственного интеллекта. Такие интеллектуальные операции может выполнять только компьютер, построенный «по образу и подобию» человеческого мозга – нейрокомпьютер. Это может также быть нейронная сеть, имитирующая нейрокомпьютер на обычном компьютере.

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

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

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

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

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

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

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

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

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

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

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

Глава 2. Применение нейросетей при выборе профессии

2.1 Постановка задачи

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

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

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

В качестве исходных параметров, список которых приведен ниже, были взяты вопросы  конкретного теста на определение профессии с сайта http://www.proforientator.ru/tests/po-demo/po-demo.php - тест «Профориентатор». Можно задаться вопросом зачем мы выбрали тест, т.е. таким образом мы его копируем. Однако, с помощью нейросимулятора мы можем оценить значимость параметров, удалить менее значимые параметры. И в итоге получается совершенно другой тест. Возможно также проверка работы психологов, проверив их результатов. К тому же моя работа более конкретизирована, т.к. выявляет возможность человека к овладению или неовладению одной конкретной профессией( финансового аналитика), тогда как в тесте рассмотрено множество профессий. Таким образом моя работа более полезна для людей, которых волнует именно проблема приобретения навыков финансового аналитика. Далее приведен список входных параметров.

Х1 – Считают ли ваши друзья вас человеком вялым и апатичным

  1.  Да
  2.  Не знаю
  3.  Нет

Х2 – Нравится ли вам ходить в гости и знакомиться с новыми людьми

  1.  Да
  2.  Не знаю
  3.  Нет

Х3 – Важно ли для вас высказать свое мнение окружающим

  1.  Да
  2.  Не знаю
  3.  Нет

Х4 – Если вы знакомитесь с людьми в Интернете, важно ли вам познакомиться с ними «вживую»

  1.  Да
  2.  Не знаю
  3.  Нет

Х5 – Можете ли вы легко познакомиться с людьми на улице

  1.  Да
  2.  Не знаю
  3.  Нет

Х6 – Предпочтете ли вы в одиночестве походить по улицам, чем провести время в большой компании

  1.  Да
  2.  Не знаю
  3.  Нет

Х7 – Считают ли окружающие вас человеком активным

  1.  Да
  2.  Не знаю
  3.  Нет

Х8 - Вам есть что рассказать о себе даже новым знакомым

  1.  Да
  2.  Не знаю
  3.  Нет

Х9 – Вы бы предпочли веселую компанию сидению в одиночестве

  1.  Да
  2.  Не знаю
  3.  Нет

Х10 – Оказавшись в компании малознакомых людей, вы предпочитаете больше слушать других, чем говорить самому

  1.  Да
  2.  Не знаю
  3.  Нет

Х11 - Вы любите участвовать во всевозможных конкурсах, соревнованиях и т.п.

  1.  Да
  2.  Не знаю
  3.  Нет

Х12 – «Каждый сам за себя» - вот принцип, который не подведет

  1.  Да
  2.  Не знаю
  3.  Нет

Х13 – Ваши интересы для вас превыше всего

  1.  Да
  2.  Не знаю
  3.  Нет

Х14 – Думаете ли вы что каждый отвечает сам за себя

  1.  Да
  2.  Не знаю
  3.  Нет

Х15 – Из предложенных утверждений выберете то, которое вам кажется более верным

  1.  Кто много отдает, тот много получает.
  2.  Затрудняюсь ответить.
  3.  Дай другому палец – он всю руку откусит.

Х16 – Вы никогда не доверяю человеку, который уже подвел вас один раз

  1.  Да
  2.  Не знаю
  3.  Нет

Х17 -  Считаете ли вы, что большинству людей нельзя доверять

  1.  Да
  2.  Не знаю
  3.  Нет

Х18 – Вам приятно доставить удовольствие другому, даже постороннему, незначимому для вас человеку

  1.  Да
  2.  Не знаю
  3.  Нет

Х19 –  "Кто людям помогает, тот тратит время зря, хорошими делами прославиться нельзя"

  1.  Да
  2.  Не знаю
  3.  Нет

Х20 -  Всегда и во всем вы принимаете решения самостоятельно

  1.  Да
  2.  Не знаю
  3.  Нет

Х21 – Вы почти никогда и никуда не опаздываете

  1.  Да
  2.  Не знаю
  3.  Нет

Х22 - Вы всегда четко планируете ваш  день

  1.  Да
  2.  Не знаю
  3.  Нет

Х23 – Вы доделываете работу в последний момент

  1.  Да
  2.  Не знаю
  3.  Нет

Х24 –  В вашем распорядке дня много неожиданностей

  1.  Да
  2.  Не знаю
  3.  Нет

Х25 -  Взяв книгу, вы всегда ставите ее на место

  1.  Да
  2.  Не знаю
  3.  Нет

Х26 – Когда вы ложитесь спать, то уже наверняка знаете, что будете делать завтра

  1.  Да
  2.  Не знаю
  3.  Нет

Х27 – Есть ли у вас ежедневник, где вы записываете важную информацию на несколько дней вперед

  1.  Да
  2.  Не знаю
  3.  Нет

Х28 –  Хороший человек может часто совершать необдуманные поступки

  1.  Да
  2.  Не знаю
  3.  Нет

Х29 – В своих словах и поступках я следую пословице: "Семь раз отмерь, один - отрежь"

  1.  Да
  2.  Не знаю
  3.  Нет

Х30 -  Невозможно точно рассчитать сколько времени уйдет на дорогу до работы, по крайней мере вам

  1.  Да
  2.  Не знаю
  3.  Нет

Х31 – У вас наблюдается скорее рабочий беспорядок на столе, чем расположение вещей по аккуратным "стопочкам"

  1.  Да
  2.  Не знаю
  3.  Нет

Х32 –  Составляете ли вы перед ответственными делами план их выполнения

  1.  Да
  2.  Не знаю
  3.  Нет

Х33 –  После вечеринки мытье посуды вы откладываете до утра

  1.  Да
  2.  Не знаю
  3.  Нет

Х34 –  Вам кажется чуждым принцип "От судьбы не уйдешь"

  1.  Да
  2.  Не знаю
  3.  Нет

Х35 –  Случается, что вы переживаете даже по незначительному поводу

  1.  Да
  2.  Не знаю
  3.  Нет

Х36 –  Мысли о возможных бедах, неудачах беспокоят вас лишь изредка

  1.  Да
  2.  Не знаю
  3.  Нет

Х37 - Трагические сцены даже в мыльных операх способны вызвать у вас слезы

  1.  Да
  2.  Не знаю
  3.  Нет

Х38 –  Считаете ли вы, что кругом полно "толстокожих" людей

  1.  Да
  2.  Не знаю
  3.  Нет

Х39 –  Испортить вам настроение совсем просто

  1.  Да
  2.  Не знаю
  3.  Нет

Х40 –  Если вам предстоит важная встреча, вы сохраняете спокойствие

  1.  Да
  2.  Не знаю
  3.  Нет

Х41 -  Выберете одно из утверждений, характеризующее Вас

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

На выходе будем формировать следующий выходной вектор У:

У – возможность человека быть финансовым аналитиком:

   1 – человек может быть финансовым аналитиком

   0 – человек не может быть финансовым аналитиком

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

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

Рис. 2. Проектирование сети.

2.2 Анализ полученных результатов

В результате обучения был получен следующий результат. Максимальная ошибка равна 0,089514, т.е. результат выдается с точностью +/-0,089514. Графический результат представлен на рисунке 3.

Рис.3. Результат обучения нейросимулятора.

Далее был проведен анализ суммарной ошибки, в результате видно, что 4, 9, 12, 17, 57, 62,  82 строки заданы некорректно, и именно из-за них не уменьшалась ошибка. Результат приведен на рисунке4.

Рис. 4. Анализ суммарной ошибки.

Удалив  данные примеры из выборки, попытались обучить персептрон. Ошибка обучения опустилась до 0,01 (рис. 5).

Рис. 5. Результат обучения нейросимулятора после удаления некорректных строк.

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

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

Рис.6. Соотношение реальных результатов и вычислений нейросимулятора.

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

 

Рис. 7. Изменения ошибки обучения.

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

Также был проведен анализ значимости параметров, результат которого приведен на рисунке 8. Из него можно выявить наименее значимые параметры. В нашем случае к таким можно отнести 3,9,12,13,29,32.

Ри. 8. Анализ значимости параметров.

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


Заключение

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

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

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

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

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


Библиографический  список

Литература

  1.  Романов В. П. Интеллектуальные информационные системы / Под ред.д.э.н., проф. Н.П.Тихомирова. – М.: Издательство «Экзамен», 2003.
  2.  Хайкин С. Нейронные сети. Издательство «Вильямс», 2005.
  3.  Ясницкий Л.Н. Введение в искусственный интеллект: Учеб. пособие для студ. высш. учеб. заведений. – М.: Издательский центр «Академия», 2005. – 176с.

Ссылки на ресурсы Internet

  1.  artint.ru – Российский НИИ Искусственного интеллекта
  2.  Нейрокомпьютеры   http://dfe3300.karelia.ru/koi/www/neucom.html
  3.  www.neuroproject.ru
  4.  neuroshell.forekc.ru
  5.  http://www.proforientator.ru/tests/po-demo/po-demo.php - тест «Профориентатор»
  6.  offline.computerra.ru –  Нейросимуляция – Журнал «Компьютера»


Приложение 1

Обучающая выборка

x1

x2

x3

x4

x5

x6

x7

x8

x9

x10

3

3

1

1

3

3

1

1

1

1

2

3

3

2

1

1

3

3

2

1

2

2

2

3

3

3

1

1

1

2

1

2

3

1

2

3

1

2

3

1

3

2

1

3

2

1

3

2

1

3

1

3

2

1

3

2

1

3

2

1

2

3

1

2

3

1

2

3

1

2

3

1

2

3

1

2

3

1

2

3

2

1

3

2

1

3

2

1

3

2

1

1

1

1

1

1

1

1

1

1

3

3

3

3

3

3

3

3

3

3

1

1

2

2

3

3

1

1

2

2

1

1

3

3

2

2

1

1

3

3

2

2

1

1

3

3

2

2

1

1

2

2

3

3

1

1

2

2

3

3

3

3

1

1

2

2

3

3

1

1

3

3

2

2

1

1

3

3

2

2

1

2

1

3

1

2

1

3

1

2

1

3

1

2

1

3

1

2

1

3

2

1

2

3

2

1

2

3

2

1

2

3

2

1

2

3

2

1

2

3

3

1

2

3

1

2

3

1

2

3

3

1

3

2

3

1

3

2

3

1

3

3

1

1

2

2

3

3

1

1

1

2

3

3

2

1

1

2

3

3

1

3

2

2

3

1

1

3

2

2

2

1

3

3

1

2

2

1

3

3

2

3

1

1

3

2

2

3

1

1

3

1

2

2

1

3

3

1

2

2

3

2

1

1

2

3

3

2

1

1

3

1

2

3

3

1

2

3

3

1

1

2

1

2

1

3

2

2

3

1

2

1

2

2

2

3

2

1

1

3

2

3

2

1

2

3

2

1

3

2

1

2

3

2

1

2

1

3

2

1

1

2

1

2

3

2

1

2

3

2

1

2

1

3

3

3

2

1

1

1

3

1

2

3

3

3

2

1

1

1

1

2

3

2

3

3

1

2

3

2

1

3

2

1

2

3

2

1

2

3

1

2

3

2

1

2

3

2

1

2

2

1

1

3

3

3

2

3

1

1

2

1

1

1

1

3

2

1

1

3

1

2

1

3

2

1

2

3

3

2

1

2

3

2

3

3

2

3

2

2

1

2

1

2

3

3

2

1

2

1

1

2

3

3

2

1

1

1

3

1

1

2

1

2

3

3

1

2

1

2

2

1

3

3

1

2

2

1

3

3

2

1

1

3

1

1

2

2

1

1

1

2

3

2

3

2

1

2

3

2

2

1

3

2

3

1

2

1

3

2

3

1

2

2

3

1

3

1

2

2

1

1

2

3

1

1

2

3

1

1

1

1

3

3

1

3

1

3

1

1

3

3

1

1

3

1

3

1

3

3

1

1

2

3

3

2

1

1

2

3

1

2

1

3

2

3

3

1

1

2

2

3

2

1

3

1

1

2

2

3

3

1

3

2

1

2

2

3

3

1

3

2

2

1

2

3

1

3

3

2

2

1

1

3

1

2

3

2

2

1

1

3

3

2

3

1

2

1

1

3

1

1

3

1

3

1

2

3

1

1

3

3

1

3

1

3

2

1

3

3

1

3

3

1

3

2

1

3

1

3

1

3

3

2

3

1

1

2

1

3

1

1

3

2

3

1

1

3

3

1

1

3

1

3

2

3

1

3

1

3

2

1

3

3

2

3

3

1

3

1

1

2

1

3

3

1

2

1

3

3

2

3

1

3

3

1

1

3

2

3

1

1

1

3

1

1

1

3

3

2

3

3

3

2

3

3

3

1

1

2

1

3

1

3

2

1

3

3

3

1

2

2

1

1

3

1

3

3

3

2

1

3

2

2

3

3

1

1

1

3

1

2

3

2

1

1

1

2

3

2

2

2

2

3

1

1

2

2

2

3

1

2

3

3

3

1

1

2

3

3

1

3

3

2

3

2

1

3

3

2

1

3

1

1

2

1

1

3

1

1

2

1

3

2

3

2

2

1

3

2

1

2

1

1

1

2

1

2

1

1

2

2

2

3

1

1

2

2

2

3

3

2

3

3

3

1

3

2

3

3

2

3

3

2

1

2

2

3

3

2

1

1

3

3

2

3

1

1

3

3

1

1

1

2

1

2

1

1

1

2

1

1

2

3

2

1

1

1

2

3

3

3

3

1

1

3

3

3

1

3

1

1

3

2

3

3

2

1

1

2

1

3

2

3

3

2

1

1

2

1

2

1

1

2

3

3

2

3

1

1

1

2

1

1

2

3

3

2

3

1

3

1

1

1

3

2

3

1

1

1

1

3

3

3

1

2

1

3

3

3

x11

x12

x13

x14

x15

x16

x17

x18

x19

x20

3

1

2

2

1

1

1

1

3

1

2

3

3

3

3

2

2

2

1

3

2

2

3

3

3

1

1

1

2

2

2

3

1

2

3

1

2

3

1

2

2

1

3

2

1

3

2

1

3

2

3

2

1

3

2

1

3

2

1

3

3

1

2

3

1

2

3

1

2

3

1

2

3

1

2

3

1

2

3

1

1

3

2

1

3

2

1

3

2

1

1

1

1

1

1

1

1

1

1

1

3

3

3

3

3

3

3

3

3

3

3

3

1

1

2

2

3

3

1

1

2

2

1

1

3

3

2

2

1

1

3

3

2

2

1

1

3

3

2

2

1

1

2

2

3

3

1

1

2

2

2

2

3

3

1

1

2

2

3

3

1

1

3

3

2

2

1

1

3

3

1

3

1

2

1

3

1

2

1

3

1

2

1

3

1

2

1

3

1

2

2

3

2

1

2

3

2

1

2

3

2

1

2

3

2

1

2

3

2

1

1

2

3

2

1

3

2

1

3

2

3

2

3

1

3

2

3

1

3

2

2

2

3

3

1

1

2

2

3

3

2

1

1

2

3

3

2

1

1

2

3

1

1

3

2

2

3

1

1

3

1

2

2

1

3

3

1

2

2

1

3

2

2

3

1

1

3

2

2

3

1

3

3

1

2

2

1

3

3

1

2

3

3

2

1

1

2

3

3

2

2

3

3

1

2

3

3

1

2

3

1

1

2

3

1

2

1

1

3

2

3

3

3

3

1

3

3

1

3

2

1

2

3

3

2

1

1

2

3

2

2

3

2

1

2

3

1

2

3

2

2

1

2

3

2

1

2

1

2

3

3

3

2

1

2

3

2

1

2

3

1

3

2

3

1

3

3

1

3

3

1

1

1

2

3

2

1

2

3

2

2

1

2

3

2

1

2

3

2

1

3

3

3

2

2

1

2

1

2

1

1

3

3

3

3

1

1

1

2

1

1

3

3

3

1

3

3

1

3

2

1

2

3

2

1

2

3

2

1

2

3

3

3

2

1

2

3

2

1

2

1

1

2

3

2

1

2

3

2

1

2

3

2

3

2

1

2

3

3

2

3

3

1

2

1

2

3

3

1

2

1

2

2

1

3

3

1

2

2

1

3

1

1

2

2

1

1

3

1

1

3

2

1

2

3

2

3

2

1

2

3

1

2

1

3

2

3

1

2

1

3

1

3

1

2

2

3

1

3

1

2

3

1

1

2

3

1

1

2

3

3

3

1

3

1

3

1

1

3

3

1

1

3

1

3

1

3

3

1

1

3

2

1

1

2

3

3

2

1

1

1

3

2

3

3

1

1

2

1

3

2

1

3

1

1

2

2

3

2

1

3

2

1

2

2

3

3

1

3

2

2

1

2

3

1

3

3

2

2

1

1

3

1

2

3

2

2

1

1

3

3

2

3

1

2

1

1

3

3

2

3

1

3

1

2

3

1

1

3

1

1

3

1

3

2

1

3

3

1

3

3

1

3

2

1

3

1

3

3

1

3

2

3

1

1

2

1

3

3

2

3

2

1

1

3

2

3

1

1

3

3

2

1

3

1

3

2

3

1

3

3

2

2

1

3

3

2

3

3

1

1

1

1

2

1

3

3

1

2

1

1

1

2

3

1

3

3

1

1

3

1

1

1

3

1

1

1

3

3

2

3

3

3

2

3

3

3

1

1

2

1

3

1

3

2

1

3

3

3

1

2

2

1

1

3

1

3

3

3

2

1

3

2

2

3

3

1

1

1

3

1

1

1

2

3

2

1

1

1

2

1

1

2

2

2

3

1

1

2

2

3

1

1

2

3

3

3

1

1

2

3

2

1

3

3

2

3

2

1

3

2

1

1

3

1

1

2

1

1

3

3

2

2

1

3

2

3

2

2

1

1

2

1

2

1

1

1

2

1

2

1

1

2

2

2

3

1

1

2

2

3

1

3

2

3

3

3

1

3

2

1

2

2

3

3

2

1

2

2

3

2

3

1

1

3

3

2

3

1

1

1

2

1

1

1

2

1

2

1

1

2

1

1

1

2

3

2

1

1

1

x21

x22

x23

x24

x25

x26

x27

x28

x29

x30

1

1

1

3

1

1

1

1

1

2

3

2

3

3

2

1

3

3

3

1

2

3

3

3

3

3

3

1

1

1

3

1

2

3

1

2

3

1

2

3

1

3

2

1

3

2

1

3

2

1

2

1

3

2

1

3

2

1

3

2

1

2

3

1

2

3

1

2

3

1

2

3

1

2

3

1

2

3

1

2

3

2

1

3

2

1

3

2

1

3

1

1

1

1

1

1

1

1

1

1

3

3

3

3

3

3

3

3

3

3

2

2

3

3

1

1

2

2

3

3

3

3

2

2

1

1

3

3

2

2

1

1

3

3

2

2

1

1

3

3

3

3

1

1

2

2

3

3

1

1

1

1

2

2

3

3

1

1

2

2

2

2

1

1

3

3

2

2

1

1

1

2

1

3

1

2

1

3

1

2

1

3

1

2

1

3

1

2

1

3

2

1

2

3

2

1

2

3

2

1

2

3

2

1

2

3

2

1

2

3

1

3

2

1

2

1

3

2

1

3

3

1

3

2

3

1

3

2

3

1

1

1

2

2

3

3

1

1

2

2

3

3

2

1

1

2

3

3

2

1

2

2

3

1

1

3

2

2

3

1

3

3

1

2

2

1

3

3

1

2

1

1

3

2

2

3

1

1

3

2

2

2

1

3

3

1

2

2

1

3

1

1

2

3

3

2

1

1

2

3

3

1

2

3

3

1

2

3

3

1

1

2

1

1

3

3

2

1

2

1

2

2

1

2

1

1

3

2

3

3

1

2

2

3

2

1

1

3

2

3

3

2

3

2

1

2

2

3

2

1

3

3

1

2

3

1

2

1

3

1

2

1

2

3

1

2

3

2

1

2

1

1

2

3

3

3

3

2

1

3

1

2

3

2

1

2

3

2

1

1

2

3

2

1

2

3

2

1

3

2

2

1

2

1

2

1

2

3

3

2

3

1

1

3

1

1

1

1

1

1

2

3

2

1

3

1

3

1

3

1

3

2

1

2

3

2

2

3

3

2

3

2

1

2

3

2

1

1

1

2

2

1

2

3

2

1

2

3

2

2

1

2

3

2

1

1

1

2

3

3

1

2

3

3

1

2

1

2

3

3

3

3

1

2

2

1

3

3

1

2

2

2

1

1

3

1

1

2

2

1

3

2

3

2

1

2

3

2

3

2

3

2

3

1

2

1

3

2

3

1

2

2

3

1

3

1

2

2

3

1

1

1

2

3

1

1

2

3

1

1

1

3

1

3

1

1

3

3

1

3

3

1

3

1

3

3

1

1

3

1

2

3

3

2

1

1

2

3

3

2

2

3

3

1

1

2

1

3

2

3

3

1

1

2

2

3

2

1

3

1

1

2

2

3

3

1

3

2

1

2

2

3

1

3

3

2

2

1

2

3

1

2

3

2

2

1

1

3

1

2

3

1

2

1

1

3

3

2

3

1

3

1

2

3

1

1

3

1

3

1

1

3

2

1

3

3

1

3

1

3

3

2

1

3

1

3

3

1

3

2

3

1

1

2

1

3

3

2

3

1

3

1

3

2

1

1

3

2

3

1

1

3

3

2

1

3

1

3

2

3

3

1

3

2

2

1

3

3

2

3

3

3

1

1

1

2

1

3

3

1

2

3

1

1

2

3

1

3

3

1

1

1

1

3

1

1

1

3

3

2

3

3

3

2

3

3

3

1

1

2

1

3

1

3

2

1

3

3

3

1

2

2

1

1

3

1

3

3

3

2

1

3

2

2

3

3

1

1

1

3

3

2

1

1

1

2

3

2

1

1

2

3

1

1

2

2

2

3

1

1

3

3

3

1

1

2

3

3

3

1

3

2

3

2

1

3

3

2

3

2

1

1

2

1

1

3

1

1

2

1

3

2

3

2

2

1

3

2

3

2

1

1

1

2

1

2

1

1

1

2

2

3

1

1

2

2

2

3

1

1

3

3

3

1

3

2

3

3

3

1

3

2

1

2

2

3

3

2

1

2

3

3

2

3

1

1

3

3

2

3

1

2

1

2

1

1

1

2

1

2

2

3

2

1

1

1

2

3

2

1

x31

x32

x33

x34

x35

x36

x37

x38

x39

x40

1

1

3

3

1

3

3

1

1

1

1

1

1

1

1

1

1

1

1

1

2

2

2

3

3

3

1

1

1

2

1

2

3

1

2

3

1

2

3

1

3

2

1

3

2

1

3

2

1

3

1

3

2

1

3

2

1

3

2

1

2

3

1

2

3

1

2

3

1

2

3

1

2

3

1

2

3

1

2

3

2

1

3

2

1

3

2

1

3

2

1

1

1

1

1

1

1

1

1

1

3

3

3

3

3

3

3

3

3

3

1

1

2

2

3

3

1

1

2

2

1

1

3

3

2

2

1

1

3

3

2

2

1

1

3

3

2

2

1

1

2

2

3

3

1

1

2

2

3

3

3

3

1

1

2

2

3

3

1

1

3

3

2

2

1

1

3

3

2

2

1

3

1

2

1

3

1

2

1

3

1

2

1

3

1

2

1

3

1

2

2

3

2

1

2

3

2

1

2

3

2

1

2

3

2

1

2

3

2

1

2

1

3

2

1

3

2

3

1

2

3

2

3

1

3

2

3

1

3

2

3

3

1

1

2

2

3

3

1

1

1

2

3

3

2

1

1

2

3

3

1

3

2

2

3

1

1

3

2

2

2

1

3

3

1

2

2

1

3

3

2

3

1

1

3

2

2

3

1

1

3

1

2

2

1

3

3

1

2

2

3

2

1

1

2

3

3

2

1

1

2

3

3

1

2

3

3

1

2

3

2

1

2

1

2

2

1

3

2

1

3

2

1

2

3

2

3

2

1

2

3

2

1

1

2

3

2

1

2

3

2

3

2

1

2

3

2

1

2

3

2

1

3

2

1

3

2

1

2

1

1

2

1

2

3

3

3

2

1

2

1

2

3

1

1

2

1

1

1

1

2

3

2

1

2

3

2

1

2

3

1

2

2

3

3

2

1

2

1

2

1

2

3

2

1

2

3

2

1

1

3

1

3

1

1

3

3

1

3

1

1

3

3

3

1

3

3

2

3

3

2

3

1

2

3

2

1

2

3

2

2

1

3

2

3

2

3

2

3

2

2

1

1

1

3

3

2

3

2

3

3

2

3

2

3

2

3

2

3

2

1

2

1

2

3

3

1

2

1

2

2

1

3

3

1

2

2

1

3

3

1

3

1

1