Применение генетического алгоритма при проведении профориентации учащихся
Исследование результатов работы программного продукта, использующего разработанный алгоритм. Модели генетических алгоритмов и их создание. Разработка программного продукта на основе спроектированного алгоритма. Список профессий, подходящих пользователю.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 14.12.2019 |
Размер файла | 1,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Содержание
Введение
1. Аналитический обзор
1.1 Понятие профориентации
1.2 Классификация научных подходов
1.3 Анализ методик профориентирования
1.4 Анализ существующих решений
1.5 Генетический алгоритм
1.6 Постановка задачи
2. Проектирование
3. Реализация и тестирование
Заключение
Список использованных источников
Приложения
Введение
В наше время, как, впрочем, и на протяжении всего времени существования системы образования, выпускники средних образовательных заведений задаются вопросом о своем дальнейшем образовании и его направленности. На данный момент для решения проблемы направленности дальнейшего обучения выпускников школ разработано множество методик для определения склонности человека к тому или иному роду деятельности.
Решению вопроса профориентации посвятило свои работы большое количество работ отечественных и зарубежных авторов, среди которых Бурнатова Н.П, Дусь Т.Э, Ефимова Т.Е, Зеер Э.Ф, Климов Е.А, Овчинникова С.В, Пряжникова Е.Ю и другие[1-5]. В большинстве методик во внимание принимаются психологические и психофизические качества человека, текущий и потенциальный уровень его интеллектуального развития. Однако, на протяжении всего времени применения методик профориентирования на практике, большинство учебных заведений, согласно наблюдениям, используют так называемый "Ручной метод", в ходе которого организатор процедуры профориентирования обрабатывает данные, полученные от каждого тестируемого вручную.
Основной проблемой при проведении процедуры профориентации является то, что, несмотря на уровень развития информационных технологий в наши дни, подавляющее большинство учебных заведений не имеют инструментов автоматизации процесса профориентации и используют, так называемый "Ручной метод", при котором результаты тестирования обрабатываются вручную.
Описанные проблемы, их существующие обзоры и подходы к решению еще раз подтверждают, что вопрос профориентации выпускников средних образовательных учреждений является актуальным, проблемным и до конца нерешенным.
Собственное исследование применения генетического алгоритма для процедуры профориентации, основанное на практическом решении, поможет автоматизировать процесс проведения профориентации.
В представленной магистерской диссертации поднимаются вышеуказанные проблемы и производится исследование методик профориентации, проектирование и реализация генетического алгоритма для решения задачи профориентирования.
Объектом исследования являются методики профориентации.
Предметом исследования является генетический алгоритм.
Целью диссертационной работы является проектирование и разработка генетического алгоритма для решения задачи профориентации.
Задачи, поставленные в диссертационной работе:
1) исследование методик профориентации;
2) исследование генетического алгоритма;
3) проектирование генетического алгоритма;
4) реализация генетического алгоритма;
5) исследование результатов работы программного продукта, использующего разработанный алгоритм.
Положения, выносимые на защиту:
1. Разработан генетический алгоритм для решения задачи профориентирования.
2. Создан программный продукт, использующий разработанный алгоритм.
Научная новизна:
1. Применение генетического алгоритма для решения задачи профориентации.
Значимость результатов работы заключается в практическом применении разработанного алгоритма для профориентации выпускников. Использование результатов представленной диссертационной работы возможно в средних общеобразовательных учебных заведения.
Основные результаты работы были опубликованы на следующих конференциях:
- национальная научно-практическая конференция "Актуальные проблемы науки и практики в различных отраслях народного хозяйства" (Пенза, 2018);
- 6-ая Международная научно-техническая конференция "Качество в производственных и социально-экономических системах" (Курск, 2018);
- международная научно-практическая конференция "Интеграция науки, общества, производства и промышленности" (Тюмень, 2019) - 2 статьи;
- 4-ая Всероссийская научно-техническая конференция с международным участием "Перспективы развития технологий обработки и оборудования в машиностроении" (Курск, 2019).
Кроме того, результаты диссертационной работы докладывались и обсуждались на ежегодных выступлениях магистрантов кафедры АВТ ВоГУ.
Научная квалификационная работа состоит из введения, трех глав, анализа полученных результатов, заключения, списка использованных источников, приложений. Текст изложен на 50 страницах, содержит 8 рисунков, 1 таблицу, библиографический список состоит из 13 источников.
1. Аналитический обзор
1.1 Понятие профориентации
Профориентация динамична, "… она развивается по мере того, как меняются представления общества о целях, задачах, формах, методах и, вообще, о сущности профориентации"[3].
Помимо этого, профориентация представляет собой объект исследования разных наук, следствием этого является разнообразие подходов к трактовке этого понятия.
Педагоги определяют профориентацию как "…научно практическую систему подготовки учащихся к свободному сознательному выбору профессии" (С.Н. Чистякова), или "…целенаправленную деятельность, связанную с формированием у подрастающего поколения профессиональных интересов и склонностей в соответствии с личными способностями, потребностью общества и пригодностью к той или иной профессии" (С.Я. Батышев).
Психологи говорят, что профориентация трактуется как психологический процесс, содержащий две, связанных между собой, стороны: принятия оптантом решения о своем профессиональном выборе и воздействия на психику оптанта с целью формирования у него профессиональных намерений (П.А. Шавир).
В социологии и экономике "профориентация - это совокупность социально-экономических отношений между обществом и его членами по вопросу формирования специализированной рабочей силы с учетом общественных потребности в ней" (Э.Р. Саруханов, С.И. Сотникова).
В.Д. Симоненко объясняет разнообразие определений этого термина тем, что "…профориентация является педагогической по методам, социальной по содержанию, экономической по результатам и государственной по организации работы".
1.2 Классификация научных подходов
В работе "Подготовка старшеклассников к осознанному выбору профессии в процессе социальной работы с молодежью", за авторством Т.Э. Дусь, была предложена следующую классификацию научных подходов к изучению профориентации:
- педагогический;
- психологический;
- социологический;
- экономический;
- медико-биологический;
- управленческо-организационный;
- подход правового регулирования профориентации.
Педагогический появился раньше остальных и изучают разные формы и методы учебной и воспитательной работы профориентационной направленности. Он рассматривает вопросы политехнического обучения, привлечения учащихся к общественно полезному труду, к работе в учебно-производственных комбинатах, ознакомления учащихся с основными группами профессий в учебной и внеучебной работе. Большое значение имеет воспитание трудолюбия, уважительного отношения к профессиональному труду, а также профессиональное становление личности.
Основным социальным институтом профориентации, который практикует педагогический подход, являются средние образовательные учреждения.
Педагогический подход к изучению профориентации тесно связан с психологическим. Объектом исследований в области психологического аспекта профориентации являются внутренние и внешние психологические факторы, оказывающие влияние на выбор профессии, вопросы психологической подготовки к трудовой деятельности, психологические особенности личности (интересы, склонности, способности, потребности, запросы и т.д.), ценностные установки и мотивации, оказывающие влияние на формирование профессиональной направленности. Когда речь заходит о профессиональном самоопределении, исследователю трудно обойтись без психологической стороны этого процесса. Реализуется данный подход в деятельности центров профориентации и в средних образовательных учреждениях.
Однако, этого недостаточно. Содержание образования, его целевые установки отражают современные тенденции социально-экономической ситуации. Все процессы, протекающие в обществе, так или иначе влияют на профессиональное самоопределение учащихся. Профессиональное самоопределение является одной из неотъемлемых составляющих процесса социализации личности. В рамках социологического подхода исследуются социальные факторы, оказывающие влияние на выбор профессии, общественные потребности в кадрах, рынок труда.
К социологическому подходу достаточно близок экономический аспект изучения профориентационной деятельности. Задачи данного подхода заключаются в решении проблем подготовки квалифицированных кадров для различных отраслей промышленности, сельского хозяйства, сферы обслуживания и др. Особое внимание уделяется специфике и требованиям различных сфер производства. Важное место в профориентационной деятельности в рамках социально-экономического подхода занимает профадаптация, относительно новое направление в профориентации, подразумевающее под собой моделирование реальных условий труда или жизненных ситуаций, связанных с будущей профессиональной деятельностью. Основным социальным институтом профориентации в рамках социологического и экономического подходов являются центры занятости населения.
Медико-биологический подход также представляет интерес для исследователей. Последователи данного подхода уделяют внимание значимости учета медицинских рекомендаций и противопоказаний при выборе той или иной профессии и физиологических предпосылках успешности профессионального труда. Также считается, что врачебная профконсультация должна предшествовать всем другим видам консультирования. Социальным институтом профориентации в данном случае должны выступать, в первую очередь, центры медико-социальной экспертизы и реабилитации.
Управленческо-организационный подход занимается решением вопроса организации административного управления профориентацией. В рамках Управленческо-организационного подхода рассматриваются основные правила, цели, требования и порядок проведения профориентационной работы. Научное управление профориентацией предполагает сбор и обработку информации, выработку программы действий, контроль, рекомендации. К управленческо-организационному подходу тесно примыкает аспект правового регулирования профориентации, рассматривающий юридические вопросы организации профориентационной работы и направленный на правовое упорядочение социально-экономических отношений, определяющих современные направления в профориентации. Управленческо-организационной деятельностью и правовым регулированием профориентации занимается государство, призванное определять государственную политику и стратегию развития профориентационной деятельности[3]. Анализ отечественного опыта изучения профориентации показал фрагментарность исследований, разорванность аспектов и отсутствие системности в подходе к рассмотрению такого сложного и многообразного процесса, как профориентация. Такой расклад дел послужил толчком к появлению новой научной дисциплины - профориентологии, представляющий собой междисциплинарный подход к изучению профориентации.
Сущность междисциплинарного подхода заключается в сочетании и взаимодействии всех вышеописанных подходов к изучению профориентации. Постулатом данного подхода считается утверждение: "Упорядоченное и полноценное исследование профориентации невозможно без учета форм и методов педагогического и психологического воздействия профориентационной направленности, социально-экономической ситуации, форм организации научного управления профориентационным процессом, нормативно-правового обеспечения профориентации". В рамках междисциплинарного подхода предлагается следующее определение профориентации: "профориентация - это целенаправленная, организуемая и регулируемая государством деятельность, занимающаяся изучением рынка труда, общественных потребностей в кадрах, а также изучением психологических и физиологических показателей и особенностей лиц, выбирающих профессию и оказание им педагогической и психологической помощи в профессиональном выборе". По мнению большинства исследователей, важнейшим социальным институтом профориентации является школа, где готовится наибольшее количество молодых людей, выбирающих профессию.
1.3 Анализ методик профориентирования
Для выявления склонности человека к определённому роду деятельности, профессии нашли широкое применение специальные тесты, которые зачастую проводятся в старших классах системы среднего образования. Помимо центров трудоустройства и профориентации школьников подобные тесты проводят некоторые учебные заведения.
Для проведения профессиональной ориентации используются различные опросники и анкеты, составленные по различным методикам, однако, наиболее популярные из них:
Дифференциально-диагностический опросник (ДДО).
Разработан под руководством Е.А. Климова и предназначен для определения интересов и склонностей человека. Можно использовать в работе профконсультантов службы занятости и школьных психологов при профориентации подростков и взрослых и при отборе для обучения на различные типы профессий.
В основе методики лежит предложенная Е.А. Климовым классификация профессий по предмету труда, па который они (профессии) направлены.
1) Человек - техника (Ч-Т).
Труд людей этой группы профессий связан с:
- преобразованием деталей, изделий, механизмов (изготовление деталей, машин, механизмов вручную, на станках и автоматических линиях, слесарно-сборочные работы монтажные и электромонтажные, строительно-отделочные, работы по добыче и переработке промышленного сырья, изготовление пищевых продуктов);
- обслуживанием технических объектов (наладка и обслуживание оборудования, управление станками, машинами, механизмами, транспортными средствами и строительными машинами);
- восстановлением (восстановление и ремонт технического оборудования, изделий);
- изучением (контроль и анализ качества изделий и механизмов, испытание качества изделий).
2) Человек - человек (Ч-Ч).
Труд людей этой группы профессий связан с:
- воспитанием, обучением, тренировкой других людей (воспитатель дошкольных учреждений, детских домов, преподаватель в школах и других учебных заведениях, мастер производственного обучения, тренер по спорту и др.);
- медицинским обслуживанием людей и уходом за ними (врач, зубной техник, медицинская сестра);
- правовой помощью (судья, адвокат, юрисконсульт, работник милиции т.д.);
- организацией людей, руководством и управлением ими (администратор, менеджер и пр.);
- изучением, описанием, исследованием других людей (социолог, психолог, журналист, следователь и пр.).
З) Человек - знаковая система (Ч-З).
Труд людей этой группы профессий связан с:
- преобразованием, расчетом, сортировкой (бухгалтер, экономист, почтальон и пр.);
- шифровкой, дешифровкой, распознаванием символов (стенографист, радист, лингвист, филолог, историк, математик, библиотекарь и пр.);
- управлением движением (диспетчер, инспектор ГИБДД и пр.);
- составлением и хранением документации (нотариус, архивариус, делопроизводитель и пр.);
- восстановлением, устранением искажений (корректор, редактор и пр.).
4) Человек - природа (Ч-П).
Труд людей этой группы профессий связан с:
- преобразованием, переработкой (садовник, технолог пищевой промышленности, рыбообработчик и пр.);
- обслуживанием, охраной флоры и фауны (работник лесного хозяйства, цветовод, птицевод, животновод и пр.);
- заготовкой продуктов, эксплуатацией природных ресурсов (охотник, рыбак, лесоруб, агроном, зоотехник и пр.);
- восстановлением, лечением (ветеринар, эколог, лесовод и пр.);
- изучением, описанием, изысканием (генетик, геолог, ботаник, зоолог, метролог и пр.).
5) Человек - художественный образ (Ч-Х).
Труд людей этой группы профессий связан с:
- преобразованием, созданием (архитектор, дизайнер, скульптор, модельер. художник, режиссер, композитор и пр.);
- исполнением, изготовлением изделий по образцу в единичном экземпляре (дирижер, музыкант, вокалист, актер, ювелир. реставратор, оформитель и пр.);
- воспроизведением, копированием, размножением художественных произведений (мастер по росписи, шлифовщик по камню, маляр и пр.).
Методика представляет собой опросник из двадцати вопросов. Каждый вопрос содержит два альтернативных варианта ("а" и "б"). Испытуемый должен в каждой из 20 пар предлагаемых видов деятельности выбрать только один вид и в соответствующей клетке "Листа ответов" поставить знак "+" (плюс).
Опросник "Ориентация".
Результатом данного опросника является, как и в случае с ДДО, отношение человека, прошедшего опрос, к одной из классификаций предметов труда (человек - человек, человек - техника, человек - знаковая система, человек - художественный образ, человек - природа.), однако к ним добавляются два класса профессий, разделенных по признаку "характер труда" (исполнительские, творческие).
1.4 Анализ существующих решений
Как показал предварительный анализ, учебные заведения практически не используют свои системы для профессиональной ориентации абитуриентов. Кроме того, данный сервис представлен в рамках работы приемной комиссии не более чем в 5-7% учебных заведений. В большинстве случаев используется тестирование на бумажных носителях, реже используются информационные системы сторонних разработчиков. Поэтому целесообразнее проводить системы тестирования, предоставляющие доступ к своим сервисам посредством сети Интернет.
При поиске рассматривались сайты предоставляющие услуги, как на платной, так и на бесплатной основах. Среди найденных ресурсов было отобрано 5 сайтов-аналогов. При выборе использовались следующие критерии:
1) не менее 3-х методик профориентационного тестирования;
2) возможность прохождения тестирования в режиме "онлайн" или виде компьютерного тестирования;
3) получение результатов сразу после окончания тестирования или отправка их на электронную почту;
4) в результате для дальнейшего анализа были отобраны следующие информационные ресурсы:
1. Центр развития и тестирования "Гуманитарные технологии" (http://www.proforientator.ru) - создан в 1996 году на базе факультета психологии МГУ им. М.В. Ломоносова. Научный руководитель - доктор психологических наук, профессор А.Г. Шмелев. По решению Учёного совета МГУ в соответствии с приказом ректора Московского университета за Центром закреплены функции психологического и профориентационного тестирования и консультирования. Ресурс предоставляет услуги по комплексному тестированию, по прохождению которого выдается перечень рекомендаций. Тестирование в режиме "онлайн" доступно только в демонстрационной версии. Для полного исследования необходима регистрация и оплата услуг. Используется рядом учебных заведений для тестирования абитуриентов (как правило, на платной основе с консультацией штатного психолога).
2. Тест на профориентацию (http://proftester.ru) - веб-ресурс, предоставляющий возможность прохождения тестирования бесплатно, в режиме "онлайн". Комплекс содержит три методики профориентационного исследования: Дифференциально-диагностический опросник, опросник профессиональной готовности, опросник профессиональной направленности Д. Голанда.
3. Психологические тесты (http://www.effecton.ru/730.html) - в рамках комплекса Effecton Studio, состоящего из восьми методик, как правило, авторских, предоставляется возможности пройти следующие исследования:
- анкета оптанта: Первичная информация о главных направлениях профориентационной работы;
- методика определения профессионального личностного типа Голланда: Определение профессионального личностного типа;
- опросник профессиональных предпочтений Кабардовой: Отношение оптанта к различным типам профессий;
- карта интересов Голомштока: Изучение интересов и склонностей школьников в различных сферах деятельности;
- методика изучения склонностей Синявского и Федоришина: Методика изучения склонностей;
- методика "Мотивы выбора профессии": Мотивы выбора профессии - Опросник для оценки мотивации к достижению цели Элерса: Опросник для оценки мотивации к достижению цели;
- методика оценки уровня притязаний Бороздиной: Оценка уровня притязаний.
В отличие от остальных систем-аналогов, данный ресурс позволяет скачать программу в демонстрационном режиме на персональный компьютер (~ 85 Мб). Демо-версия позволяет пройти не более 5 тестовых исследований. Для получения полного доступа к системе необходима регистрация и приобретение полного пакета.
4. Бета-версия - тестирование проводится компанией "Бета-версия" на сайте http://beta-version.ru/services/planirovanie-karery/proforientaciya, на следующих условиях: Стоимость: 1700 рублей. В стоимость входит:
- компьютерное тестирование - 40 - 60 минут;
- консультация специалиста - 30 минут;
- отчет по результатам тестирования (8-10 страниц).
Комплекс компьютерного тестирования включает в себя три блока:
1) структура интересов - данный блок диагностирует сферу интересов по 8-ми факторам, условно обозначаемыми как: "Техника", "Наука", "Искусство", "Общение", "Бизнес", "Знак", "Природа" и "Риск";
2) структура интеллекта - данный блок определяет уровень развития различных способностей, условно обозначаемых как "Вычисления", "Лексика", "Эрудиция", "Зрительная логика", "Абстрактная логика" и "Внимание";
3) структура личности - данный блок выявляет личностные качества, которые условно обозначаются как "Активность", "Согласие", "Самоконтроль" и "Эмоциональная стабильность".
5. Ресурс Академии профессионального образования (http://www.spbapo.ru/proforient_school) - предоставляет услуги по профконсультированию учащихся 5-11-х классов. Комплексное тестирование проходит в 3 этапа:
1) компьютерное тестирование - диагностика сферы интересов, задания на оценку уровней развития различных способностей. Выдается полная распечатка результатов тестирования;
2) консультация психолога по итогам тестирования - интерпретация результатов теста, анализ личности, советы по выбору сферы деятельности, обсуждение сильных и слабых психологических качеств (мешающих или помогающих личностному развитию);
3) углубленное личностное тестирование с подбором методик для конкретного человека и индивидуальная консультация психолога-профориентатора. Стоимость тестирования с консультацией психолога (возможно с участием родителей) - 1100 рублей. Углубленное личностное тестирование стоит 1500 рублей.
В результате проведенного анализа были сформулированы следующие выводы:
1. Среди средних специальных и высших учебных заведений лишь единицы имеют собственные информационные системы по профориентации школьников - абитуриентов.
2. Профессиональное комплексное тестирование с консультацией психолога, как правило, является платной услугой.
3. При тестировании на сайтах, которые не принадлежат конкретным организациям, нельзя быть до конца уверенным в корректности подведения результатов в силу того, что используемые методики и алгоритмы подобного профориентационного исследования остаются в тени.
4. Подобные исследования являются актуальными для школьников, определяющих свое профессиональное будущее.
1.5 Генетический алгоритм
Идея генетических алгоритмов (ГА) появилась достаточно давно (1950-1975 гг.), но по-настоящему объектом изучения они стали только в последние десятилетия. Первооткрывателем в этой области признано считать Д. Холланда, который позаимствовал многое из генетики и адаптировал под вычислительные машины [6]. ГА широко используются в системах искусственного интеллекта, нейронных сетях и задачах оптимизации.
Модели генетических алгоритмов были созданы на базе эволюции в живой природе и методах случайного поиска. При этом случайный поиск является реализацией наиболее простой функции эволюции - случайных мутаций и последующего отбора. Эволюционный поиск с математической точки зрения означает ни что иное, как преобразование имеющегося конечного множества решений в новое. Функция, отвечающая за этот процесс, и есть генетический поиск. Главным отличием такого алгоритма от случайного поиска является активное использование накопленной в ходе итераций (повторений) информации.
ГА преследуют следующие цели:
- объяснить адаптационные механизмы как в естественной среде, так и в интеллектуально-исследовательской (искусственной) системе;
- моделирование эволюционных функций и их применение для эффективного поиска решений различных задач.
На данный момент сутью генетических алгоритмов и их модифицированных версий можно назвать поиск эффективных решений с учетом качества результата. Другими словами, поиск наилучшего баланса между производительностью и точностью. Происходит это за счет известной всем парадигмы "выживание наиболее приспособленной особи" в неопределенных и нечетких условиях.
Главными отличиями ГА от большинства других методов поиска оптимального решения являются:
- работа с закодированными определенным образом параметрами задачи, а не напрямую с ними;
- поиск решения происходит не путем уточнения начального приближения, а во множестве возможных решений;
- использование только целевой функции, не прибегая к её производным и модификациям;
- применение вероятностного подхода к анализу, вместо строго детерминированного.
Генетические алгоритмы производят расчеты исходя из двух условий:
1) выполнение заданного числа итераций;
2) качество найденного решения соответствует требованиям.
При выполнении одного из этих условий генетический алгоритм перестанет выполнять дальнейшие итерации. Помимо этого, использование ГА различных областей пространства решений позволяет им куда лучше находить новые решения, которые имеют более подходящие значения целевой функции.
Ввиду того, что ГА основаны на генетике, то и большая часть терминологии соответствует ей. Любой генетический алгоритм работает исходя из начальной информации. Множество начальных значений есть популяция Пt = {п 1, п 2, ..., пn}, где пi = {г 1, ..., гv}. Разберем подробнее:
- t - это номер итерации. t1, ..., tk - означает итерации алгоритма с номера 1 по k, и на каждой итерации создается новая популяция решений;
- n - размер популяции Пt;
- п 1, ..., пi - хромосома, особь, или организм. Хромосома или цепочка - это закодированная последовательность генов, каждый из которых имеет порядковый номер. При этом следует иметь в виду, что хромосома может быть частным случаем особи (организма);
- гv - это гены, являющиеся частью закодированного решения;
- локус - это порядковый номер гена в хромосоме;
- аллель - значение гена, которое может быть как числовым, так и функциональным.
Обычно любое значение кодируется на основе какого-либо алфавита. Простейшим примером является перевод чисел из десятичной системы счисления в двоичное представление. Таким образом алфавит представляется как множество {0, 1}, а число 15710 будет кодироваться хромосомой 100111012, состоящей из восьми генов.
Родителями называются элементы, выбираемые в соответствии с заданным условием. Например, часто таким условием является случайность. Выбранные элементы за счет операций скрещивания и мутации порождают новые, которые называются потомками. Таким образом, родители в течение реализации одной итерации генетического алгоритма создают новое поколение. Наконец, эволюцией в данном контексте будет чередование поколений, каждое новое из которых отличается набором хромосом в угоду лучшей приспособленности, то есть более подходящему соответствию заданным условиям. Общий генетический фон в процессе эволюции называется генотипом, а формирование связи организма с внешней средой - фенотипом.
Особенность генетического алгоритма заключается в функции пригодности. У каждой особи есть свое значение, которое можно узнать через функцию приспособления. Ее главной задачей является оценка этих значений у разных альтернативных решений и выбор лучшего из них. Иными словами, наиболее приспособленного.
В оптимизационных задачах функция приспособленности носит название целевой, в теории управления называется погрешностью, в теории игр - функцией стоимости, и т.д. Что именно будет представлено в виде функции приспособления, зависит от решаемой задачи.
В конечном итоге можно заключить, что генетические алгоритмы анализируют популяцию особей, организмов или хромосом, каждая из которых представлена комбинацией генов (множеством некоторых значений), и выполняют поиск оптимального решения, преобразовывая особи популяции посредством проведения искусственной эволюции среди них.
Отклонения в ту или иную сторону отдельных элементов в общем случае находятся в соответствии с нормальным законом распределения величин. При этом ГА обеспечивает наследственность признаков, наиболее приспособленные из которых закрепляются, обеспечивая тем самым лучшую популяцию.
Разложим по шагам наиболее простой (классический) ГА.
1. Инициализация начальных значений, то есть определение первичной популяции, того множества особей, с которыми будет происходить эволюция.
2. Установление первичной приспособленности каждой особи в популяции.
3. Проверка условий прекращения итераций алгоритма.
4. Использование функции селекции.
5. Применение генетических операторов.
6. Создание новой популяции.
7. Шаги 2-6 повторяются в цикле до выполнения необходимого условия, после чего происходит выбор наиболее приспособленной особи.
Рисунок 1 - Блок-схема базового ГА
Эффективность генетического алгоритма полностью зависит от правильности реализации этапов, описанных в плане. Особенно влиятельным пунктом здесь является создание первичной популяции. Для этого существует множество подходов. Опишем несколько:
1) создание полной популяции, что будет включать всевозможные варианты особей в некоторой заданной области;
2) случайное создание особей на основе всех допустимых значений;
3) точечное случайное создание особей, когда среди допустимых значений выбирается диапазон для генерации;
4) комбинирование первых трех способов создания популяции.
Таким образом, можно заключить, что эффективность генетических алгоритмов во многом зависит от опыта программиста в этом вопросе. Это является как недостатком генетических алгоритмов, так и их достоинством.
1.6 Постановка задачи
Необходимо спроектировать генетический алгоритм, предназначенный для решения задачи профориентации, разработать программный продукт на основе спроектированного алгоритма.
К основным требованиям к алгоритму можно отнести:
1) входными данными является оценочная характеристика ученика по всем учебным дисциплинам;
2) выходными данными является список профессий, подходящих пользователю;
3) список профессий, выводимый в качестве результата, должен содержать в себе 5 профессий;
4) вывод процента успеха в освоении профессий, представленных в результативном списке.
1.7 Планирование разработки
Для выполнения задач проекта следует выбрать модель жизненного цикла, а также модель процесса разработки. Существует четыре модели жизненного цикла программного продукта:
- каскадная модель. Представляет собой линейную последовательность выполнения стадий разработки продукта. Иначе говоря, переход между стадиями происходит только после завершения работы над предыдущей стадией;
- инкрементная модель. Разработка продукта происходит в линейной последовательности, но с возможностью возврата на предыдущую стадию;
- спиральная модель. Подразумевает разработку в виде последовательности версий, но на момент начала разработки определены не все требования. Они постепенно уточняются по мере разработки продукта;
- компонентно-ориентированная модель. Является развитием спиральной, но в ней конкретизируется содержание этапа конструирования, которое отражает то, что новая разработка должна основываться на повторном использовании существующих программных компонентов.
Для разрабатываемого проекта наиболее подходящей является спиральная модель жизненного цикла. Подходит данная модель тем, что будет удобно разрабатывать такой продукт постепенно с периодической оценкой рисков, также периодически тестируя полученный на итерации результат, будет возможно вносить изменения и добавлять новый функционал даже на относительно поздних этапах.
Также для качественной разработки ПП следует использовать методологию процесса разработки, которых существует большое количество.
Для разработки представленного в данном курсовом проекте ПП выбрана гибкая методология разработки Scrum.
Основой методологии Scrum является спринт - определенный временной отрезок (как правило, от 1 до 4 недель), в течении которого ведется работа над продуктом. По окончанию спринта предполагается получение новая рабочая версия продукта. На время разработки продукта спринт - фиксированная величина и не меняется по мере продвижения разработки. программный пользователь алгоритм
Перед началом каждого спринта проводится планирование, на котором производится оценка невыполненной работы по продукту и составление задач, которые должны быть выполнены в планируемом спринте. Каждый спринт должен иметь цель, которая является мотивирующим фактором и достигается с помощью выполнения задач.
Каждый день производится Daily Scrum, на котором каждый член команды отвечает на вопросы "что я сделал вчера?", "что я планирую сделать сегодня?", "какие препятствия на своей работе я встретил?". Задача Daily Scrum - определение статуса и прогресса работы над Sprint, раннее обнаружение возникших препятствий, выработка решений по изменению стратегии, необходимых для достижения целей спринта.
По окончанию спринта проводятся обзор и ретроспектива, задача которых оценить эффективность (производительность) команды в прошедшем спринте, спрогнозировать ожидаемую эффективность (производительность) в следующем спринте, выявлении имеющихся проблем, оценки вероятности завершения всех необходимых работ по продукту и другое [3].
В классическом Scrum существует 3 базовых роли:
- product owner является связующим звеном между командой разработки и заказчиком. Задача PO - максимальное увеличение ценности разрабатываемого продукта и работы команды;
- scrum master. Его задача - помощь команде в максимизации ее эффективности посредством устранения препятствий, помощи, обучении и мотивации команде;
- команда разработки. Состоит из специалистов, производящих непосредственную работу над производимым продуктом.
В рамках курсового проекта все три роли пришлось объединить в лице автора.
Для построения плана разработки ПП была использована система управления проектами OpenProject. Созданный план описывает планируемые сроки разработки ПП, устанавливает порядок выполнения работ, ответственных за их выполнение и проч. Разработанный план управления проектом представлен на Рис. 2.
Рисунок 2 - План разработки алгоритма
На основе вышеуказанного плана была сформирована диаграмма Ганта, представленная в двух частях на Рисунке 2 и Рисунке 3.
Рисунок 3 - Диаграмма Ганта
Рисунок 4 - Диаграмма Ганта
В первой главе был проведен анализ предметной области и анализ аналогов, в ходе которого было выявлено, что большинство учебных заведений не используют программные продукты для проведения профориентационного тестирования. В случае, если заведение, использует соответствующее ПО, информации по нему нет, однако существуют онлайн-сервисы, предназначенные для прохождения тестирования, некоторые из них были рассмотрены в качестве аналогов. Также было проведено планирование разработки.
2. Проектирование
Проектирование - процесс жизненного цикла программы, во время которого исследуется ее структура и взаимосвязи элементов. Осуществляется проектирование на основе анализа требований к системе.
Основным методом проектирования архитектуры данного программного продукта выбран метод нисходящего проектирования. Сначала необходимо выпустить рабочую версию программы с минимальным функционалом, позволяющим пользователю создавать события на определенную дату. После первого релиза будут производиться постепенная доработка существующих, а также разработка новых функций ПП.
2.1 Выбор средств разработки
Выбор языка программирования производиться по следующим критериям:
1) платформа разрабатываемого продукта;
2) гибкость языка;
3) скорость разработки;
4) производительность конечного продукта;
5) размер сообщества разработчиков, использующих язык.
Для разработки было принято решение использовать язык C++. Не смотря, на его небольшое сообщество, по сравнению с Java или C, данный язык имеет ряд преимуществ:
1) продукты, разработанные на C++ не требуют установки дополнительного ПО;
2) базируется на языке C и расширяет его возможности.
Язык программирования сам по себе лишь задает строгие правила его использования для написания программ. Сам процесс разработки обычно ведется в так называемой интегрированной среде разработки (ИСР или IDE) - это комплекс программных средств, используемый для разработки ПО, и включающий в себя:
1) текстовый редактор;
2) компилятор и/или интерпретатор языка;
3) средства автоматизации сборки;
4) отладчик.
Существует множество IDE, поддерживающих разработку на C++, и во многом, выбор IDE основывается на личных предпочтениях разработчика.
В качестве среды разработки было принято решение использовать Microsoft Visual Studio.
2.2 Проектирование алгоритма
Для правильной оценки уровня подготовки школьника к работе в той или иной профессии необходима объективная оценка его общего уровня знаний, которая будет выступать в качестве входных данных. В качестве этой оценки можно использовать аттестат или оценки ученика за последний год обучения или же провести тестирование, по одной из представленных в первой главе методик профориентирования.
Однако, эти методики призваны определить склонность человека к одной из 5-7 областей деятельности, они не дают конкретной оценки подготовленности человека к той или иной профессии.
Также, можно разработать собственную методику, затрагивающую не только области деятельности, но и профессии, входящие в эти области, однако для этого необходимы знания из соответствующей области и большое количество времени.
Минусом разработки собственной методики, помимо того, что тестирование будет являться, по сути, определением уровня знаний ученика в каждом предмете, также, является риск того, что список вопросов тестирования разрастется до очень больших размеров, на его решение будет уходить большое количество времени и сил тестируемого, как следствие, неискренние ответы на вопросы.
На основе всего изложенного выше, в качестве оценки знаний учащегося, которая будет выступать в качестве входных данных, целесообразно использовать его аттестат или оценки за год.
Так как целью алгоритма является получение списка из нескольких профессий, составленному на основе оценки уровня знаний тестируемого, то в качестве особи целесообразно будет определить список из нескольких профессий и процента успеха при освоении данной профессии человеком в дальнейшем.
Ген особи, т.е, профессия из списка, будет представлена виде перечисления предметов, необходимых для успешного освоения этой профессии тестируемым в дальнейшем и оценок, которые имеет ученик по этим предметам. Основываясь на оценках ученика будет рассчитываться процент успеха в освоении этой профессии учеником в будущем.
Для наглядности, вышеописанное представление особи в алгоритме представлено на рисунке 5.
Рисунок 5 - Содержимое особи
Схема работы алгоритма будет выглядеть следующим образом.
После ввода исходных данных, в качестве которых выступает, как сказано выше, аттестат, оценки за последний год обучения или иная форма оценочной характеристики знаний тестируемого по каждому из предметов программы обучения, генерируется начальная популяция, состоящая из особей, представленных в виде случайно сгенерированного списка профессий. К этому списку добавятся оценки ученика по каждому из требуемых предметов.
Далее происходит формирования следующей популяции путем скрещивания особей точным методом. Данный метод работает следующим образом. Выбираются пары особей из родительской популяции. После этого для каждой пары родителей случайным образом выбирается позиция гена, определяющая точку скрещивания.
Точка скрещивания представляет собой натуральное число, меньше длины хромосом каждого из родителей. Поэтому определение точки скрещивания будет являться, по своей сути, случайным выбором натурального числа на интервале [1, длина_хромосомы_родителя - 1].
В результате скрещивания получается потомок, хромосома которого на позициях от 1 до точки скрещивания состоит из генов первого родителя, а на позициях от точки скрещивания+1 до конца хромосомы - из генов второго родителя. Для наглядности, процедура скрещивания изображена на рисунке 6.
Рисунок 6 - Визуально представление процедуры скрещивания точным методом
Помимо скрещивания, существует маленький шанс того, что особь мутирует. В случае мутации особи, она заменит один из своих генов, т.е одну из профессий в списке, выбранную случайным образом на другую, так же выбранную случайным образом.
После формирования новой популяции, полученной с помощью скрещивания точным методом и мутаций, происходит отбор наиболее приспособленных особей и удаление из популяции менее приспособленных особей.
Отбор особей осуществляется на основе процента успеха в освоении каждой из профессий в списке и функции приспособленности. Учитывая тот факт, что количество профессий в списке фиксировано и равно 5, то в качестве функции приспособленности можно использовать сумму максимально возможных значений позиции, определяющей процент успеха.
Исходя из этого, в качестве функции приспособленности целесообразно использовать число 500, т.е сумму 5-и значений, равным 100. Для наглядности можно обратиться к рисунку 4.
Для определения приспособленности особи вычисляется сумма значений позиций, определяющих процент успеха и сравнивается с функцией приспособленности. Считается что, чем больше процент соответствия значения приспособленности особи и значения функции приспособленности, тем приспособленнее особь.
Например.
Функция приспособленности F = 500. Особь содержит в себе 5 генов с процентом успеха I1 = 90, I2 = 30, I3 = 40, I4 = 50, I5 = 80.
Тогда приспособленность особи If будет равняться:
(1)
Полученное по формуле (1), значение приспособленности особи, равное 290, сравнивается с функцией приспособленности F и определяется степень их соответствия Е:
E = If / F (2)
Полученная по формуле (2), степень соответствия, равная 0.58, определяет близость значения приспособленности особи к значению функции приспособленности. Чем ближе значение степени соответствия к 1, тем приспособленнее особь.
После определения приспособленности каждой особи в популяции, из нее удаляется определенный процент наименее приспособленных особей.
Далее снова происходит скрещивание и цикл жизни и смерти повторяется, пока не будет найдена особь с необходимым значением степени соответствия или по достижению определенного количества повторений.
Блок-схема спроектированного алгоритма представлена на рисунке 7.
Рисунок 7 - Блок-схема алгоритма
Таким образом, во второй главе был произведен выбор средств разработки, описана схема работы разрабатываемого алгоритма и определены следующие детали, касающиеся принципов работы алгоритма:
- в качестве метода скрещивания было принято решение использовать точный метод;
- особь будет представлена в виде списка профессий. Каждой профессии в списке будет соответствовать список из дисциплин, требуемых в этой профессии, и оценок ученика по ним;
- определен способ отбора особей. Отбор будет производится на основе процента успеха в освоении каждой из профессий в списке и функции приспособленности;
- определена функция приспособленности.
3. Реализация и тестирование
На основании спроектированного во второй главе алгоритма, был разработан программный продукт, выполняющий функцию поиска списка оптимальных профессий, на основании введенных данных, в качестве которых выступает список оценок ученика по всем дисциплинам школьной программы.
В данной реализации алгоритма особи реализованы в виде структуры с именем Individual, состоящей из:
- переменной целочисленного значения с именем fitness. Данная переменная хранит числовое значение приспособленности особи;
- переменная типа данных с плавающей запятой (float) с именем likelihood. Эта переменная содержит в себе значение вероятности скрещивания особи;
- ассоциативный массив с именем allele. В качестве ключа данный массив имеет наименование профессии, а в качестве значения - другой ассоциативный массив со значением, представляемым в виде наименования учебной дисциплины, а значение - это оценка ученика по данной дисциплине;
- перегруженного оператора сравнения (==), предназначенного для сравнения особей. Код структуры Individual представлен в Приложении 1.
Реализован класс, реализующий работу, спроектированного во второй главе, генетического алгоритма.
Данный класс включает в себя:
- конструктор с параметром, принимающий на вход ассоциативный массив, который, в свою очередь, представляет собой список учебных дисциплин и оценки тестируемого по данным дисциплинам;
- метод Solve, осуществляющий поиск оптимального решения;
- метод GetGen, возвращающий конкретную особь из текущей популяции;
- массив population типа individual, предназначенный для содержания в нем особей.
- метод Fitness с параметром в качестве указателя на особь. Данный метод призван рассчитывать значение приспособленности особи;
- метод CreateFitness, занимающийся расчетом значения приспособленности для особей всей популяции, используя при этом метод Fitness.
- метод MultInv рассчитывает общую приспособленность популяции с целью дальнейшего вычисления вероятности скрещивания для каждой особи в популяции.
- метод GenerateLikelihoods. Данный метод занимается расчетом вероятности скрещивания для всех особей в популяции. Расчет происходит на основе результата, возвращаемого методом MultInv.
- метод CreateNewPopulation создает новую популяцию путем скрещивания наиболее приспособленных особей, поиск которых осуществлеется с помощью метода GetIndex. Происходит это следующим образом. Метод CreateNewPopulation два раза подряд вызывает GetIndex со случайно сгенерированным числом от 1-100 в качестве параметра (val). GetIndex осуществляет поиск внутри популяции такой особи, значение приспособленности которой больше либо равно параметру val. Помимо этого, в условие возврата индекса особи методом GetIndex искомой особи входит такой момент, что значение параметра val должно быть больше значения приспособленности особи, рассмотренной в прошлом. За счет этого, собственно и осуществляется поиск наиболее приспособленных особей. После получения индексов двух особей в дело вступает метод Breed. Код метода GetIndex и CreateNewPopulation представлен в Приложении 2;
- метод Breed принимает на вход в качестве параметров два индекса разных особей, после чего генерирует точку скрещивания. Затем создается новая особь, которой присваиваются гены одного из родителей. Далее следует определение того, где будут располагаться гены второго родителя, до точки скрещивания или после. Происходит это генерацией случайного числа от 1 до 100. Если сгенерированное число больше 50, то гены второго родителя будут располагаться после точки скрещивания, если число меньше 50 - до точки скрещивания. Таким образом происходит создание потомственной особи. Далее следует запись потомка в массив новой популяции. Код метода Breed представлен в приложении 3.
Перед началом использования программного продукта, пользователь сначала должен заполнить текстовый файл, в котором должны быть перечислены учебные дисциплины и оценки ученика по ним.
Пример заполнения текстового файла с оценками:
RussianLanguage 5
Literature 5
Algebra 5
Geometry 4
HistoryOfRussia 4
History 5
SocialScience 5
Geography 4
Biology 4
Physics 3
Chemistry 3
Economy 4
EnglishLanguage 5
Technology 4
WorldArt 3
InformationTechnology 5
PhysicalEducation 4
Список профессий и требуемых для них дисциплин, также, хранится в отдельном xml-файле и имеет вид:
<?xml version="1.0" encoding="UTF-8" ?>
<points name="Professions">
<point name="Programmer">
<d1 name="Algebra"></d1>
<d2 name="InformationTechnology"></d2>
<d3 name="Geometry"></d3>
</point>
<point name="Doctor">
<d1 name="Biology"></d1>
<d2 name="Physics"></d2>
<d3 name="Algebra"></d3>
</point>
<point name="EnglishTeatcher">
<d1 name="EglishLanguage"></d1>
<d2 name="SocialScience"></d2>
<d3 name="Literature"></d3>
</point>
</points>
После запуска программы читается текстовый файл с оценками ученика и записывается в ассоциативный массив. Массив используется для вызова конструктора класса, отвечающего за генетический алгоритм, с параметром в виде ассоциативного массива. В результате вызова конструктора создается объект класса CGA и к нему применяется метод Solve и происходит выполнение генетического алгоритма.
Реализация метода Solve:
int CGA::Solve() {
int fitness = -1;
// Generate initial population.
srand((unsigned)time(NULL));
for (int i = 0; i < MAXPOP; i++) {// Fill the population with numbers between
for (int j = 0; j < 4; j++) {// 0 and the result.
population[i].alleles[j] = rand() % (result + 1);
}
}
if (fitness = CreateFitnesses()) {
return fitness;
}
int iterations = 0;// Keep record of the iterations.
while (fitness != 0 || iterations < 50) {// Repeat until solution found, or over 50 iterations.
GenerateLikelihoods();// Create the likelihoods.
CreateNewPopulation();
if (fitness = CreateFitnesses()) {
return fitness;
}
iterations++;
}
return -1;
}
Результатом выполнения программы является список список профессий, полученный в результате выполнения генетического алгоритма. При оценках ученика, приведенных выше, результат работы программы представлен на рисунке 8.
Рисунок 8 - Результат работы программы.
Тестирование проводилось на основе требований, описанных в первой главе. Использовался метод функционального тестирования, предполагающий проверку работоспособности функций программного обеспечения. Результаты тестирования представлены в таблице 1.
Таблица 1 - Результаты тестирования
Тест |
Ожидаемый результат |
Фактический результат |
|
Корректность введенных данных |
Вывод ошибки при некорректно введенных данных |
Вывод ошибки при некорректно введенных данных |
|
Остановка работы алгоритма при достижении необходимого значения приспособленности |
Остановка работы и вывод полученного результата |
Остановка работы и вывод полученного результата |
|
Остановка работы алгоритма при достижении максимального количества итераций ... |
Подобные документы
Особенности алгоритмов, критерии качества. Создание и применение программного продукта на языке Delphi. Тип операционной системы. Внутренняя структура программного продукта. Руководство пользователя и программиста, расчет себестоимости и цены программы.
дипломная работа [1,5 M], добавлен 12.06.2009Комплексное исследование истории развития, основных понятий, области применения и особенностей генетических алгоритмов. Анализ преимуществ генетических алгоритмов. Построение генетического алгоритма, позволяющего находить максимум целочисленной функции.
курсовая работа [27,9 K], добавлен 23.07.2011Обоснование выбора языка программирования. Анализ входных и выходных документов. Логическая структура базы данных. Разработка алгоритма работы программы. Написание программного кода. Тестирование программного продукта. Стоимость программного продукта.
дипломная работа [1008,9 K], добавлен 13.10.2013Описание принципа работы генетического алгоритма, проверка его работы на функции согласно варианту на основе готовой программы. Основные параметры генетического алгоритма, его структура и содержание. Способы реализации алгоритма и его компонентов.
лабораторная работа [20,2 K], добавлен 03.12.2014Обзор и анализ существующих методик управления проектами и оценки трудоемкости. Разработка алгоритма задания параметров и вычисления трудоемкости и стоимости программного продукта. Отладка и тестирование продукта. Разработка руководства пользователя.
дипломная работа [2,5 M], добавлен 18.11.2017Описание генетических алгоритмов. Применение генетического алгоритма для решения задачи коммивояжера. Постановка задачи безусловной оптимизации. Изучение распространения генетических алгоритмов на модель с несколькими взаимодействующими популяциями.
дипломная работа [979,1 K], добавлен 30.05.2015Разработка алгоритма поставленной задачи и реализация средствами автоматизированного проектирования. Составление программного продукта на основе готовой спецификации на уровне модуля, проведение его тестирования, использование инструментальных средств.
контрольная работа [257,5 K], добавлен 01.05.2015Описание формальной модели алгоритма на основе рекурсивных функций. Разработка аналитической и программной модели алгоритма для распознающей машины Тьюринга. Разработка аналитической модели алгоритма с использованием нормальных алгоритмов Маркова.
курсовая работа [1,5 M], добавлен 07.07.2013Разработка собственного алгоритма сжатия и восстановления данных с использованием возможностей языка C++ в рамках программного продукта "Архиватор". Разработка алгоритма программы, ее первый запуск и тестирование. Проверка работы архивации файлов.
курсовая работа [325,7 K], добавлен 13.10.2015Внешнее исследование программного продукта, анализ кода, блок-схемы алгоритма модуля. Оценка качества защиты программы средствами статического и динамического исследования. Осуществление "мягкого" и "жесткого" взлома. Пути оптимизации механизмов защиты.
курсовая работа [1,3 M], добавлен 22.05.2016Обзор системного и прикладного программного обеспечения используемого в ООО "Игровые системы". Описание компьютерной сети предприятия. Разработка игрового продукта для планшетов Apple iPad. Реализация визуального интерфейса и алгоритма работы модуля.
отчет по практике [1,4 M], добавлен 18.01.2015Создание программного продукта, представляющего моделирование на компьютере логнормального распределения, определение вероятностной оценки стоимости актива. Описание работы программного продукта. Работа с графиками, таблицами, математическими функциями.
курсовая работа [742,7 K], добавлен 08.01.2009Создание программы, которая позволяет автоматизировать процесс формирования в заводской базе документа "Накладная на отпуск материала на сторону" на основании приходного ордера на материалы. Описание блок-схемы алгоритма и листинга программного продукта.
курсовая работа [1,4 M], добавлен 17.10.2011Разработка программного комплекса и описание алгоритма. Разработка пользовательского интерфейса. Анализ тестовых испытаний программного блока. Защита пользователей от воздействия на них опасных и вредных факторов. Режимы работы программного комплекса.
дипломная работа [1,7 M], добавлен 14.03.2013Основные типы электронных путеводителей, предназначение их мультимедийной разновидности. Применение электронного путеводителя для ГОУ ВПО "МГТУ им. Г.И. Носова". Выбор алгоритма поиска оптимального маршрута. Функциональные схемы работы программы.
дипломная работа [3,7 M], добавлен 13.04.2014Создание программного обеспечения для реализации алгоритма, позволяющего находить кратчайшее расстояние от одной из вершин графа до всех остальных, при условии, что ребра графа не имеют отрицательного веса. Примеры выполнения алгоритма Дейкстра.
курсовая работа [1,1 M], добавлен 11.01.2015Исследование симметричных алгоритмов блочного шифрования. Минусы и плюсы алгоритма IDEA. Разработка программы аутентификации пользователя и сообщений на основе алгоритма IDEA. Выбор языка программирования. Тестирование и реализация программного средства.
курсовая работа [314,2 K], добавлен 27.01.2015Создание программного продукта, который позволит сшивать и редактировать топографические карты. Разработка алгоритмов отдельных функций. Возможность автоматизированной сшивки карт путем анализа изображения, добавлять и удалять с них топографические знаки.
дипломная работа [3,5 M], добавлен 22.11.2015Примеры построения тестов и технологии исследования алгоритмов на их основе. Построение тестов на основе метода покрытия решений и проведение исследования соответствующего исходного алгоритма и алгоритма с ошибками в операторах проверки условий.
контрольная работа [224,8 K], добавлен 24.05.2016Основные особенности эволюционных алгоритмов. Описание алгоритмов селекции, мутации, скрещивания, применяемых для реализации генетических алгоритмов. Вычисление функции приспособленности. Программная реализация. Тестирование и руководство пользователя.
курсовая работа [1,3 M], добавлен 11.03.2014