Применение генетического алгоритма при проведении профориентации учащихся
Исследование результатов работы программного продукта, использующего разработанный алгоритм. Модели генетических алгоритмов и их создание. Разработка программного продукта на основе спроектированного алгоритма. Список профессий, подходящих пользователю.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 14.12.2019 |
Размер файла | 1,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Остановка работы и вывод полученного результата
Остановка работы и вывод полученного результата
Корректный вывод выходных данных
Вывод списка профессий и процента успеха в каждой из них
Вывод списка профессий и процента успеха в каждой из них
Скрещивание особей
Должны скрещиваться те особи, которые имеют наибольшее значение приспособленности
Особи с небольшим значением приспособленности скрещиваются с большей вероятностью.
В третьей главе был разработан и протестирован программный продукт, реализующий работу алгоритма, спроектированного во второй главе. Описана структура программного продукта, его классы и методы. Тестирование показало, что программный продукт работает корректно и выполняет свою функцию, которая заключается в решении задачи профориентирования и подбора оптимального списка профессий на основе оценочной характеристики знаний тестируемого.
Заключение
В ходе выполнения диссертационной работы были выполнены следующие задачи:
1. Исследованы методики профориентации.
2. Исследован генетический алгоритм.
3. Спроектирован генетический алгоритм, предназначенный для решения задачи профориентирования.
4. Реализован генетический алгоритм, предназначенный для решения задачи профориентирования.
5. Исследованы результаты работы программного продукта, использующего разработанный алгоритм.
Генетический алгоритм успешно справляется с задачей профориентирования и поиска оптимального списка профессий по заданному критерию, в качестве которого выступает оценочная характеристика знаний человека по учебным дисциплинам.
Однако, практическое использование алгоритма в том виде, в котором он реализован сейчас остается под вопросом, в силу того, что поиск оптимума производится на основании одних лишь оценок по всем учебным дисциплинам и в учет не берутся такие факторы как, например, психологические и психофизические особенности личности, также влияющие на дальнейшее развитие человека, как специалиста той или иной области.
Для оценки этих факторов необходимо разработать особую методологию тестирования, результаты которой коррелировали бы с оценочной характеристикой знаний человека во всех учебных дисциплинах. Разработка такой методологии, в свою очередь, требует обширных знаний в области педагогики, психологии и социологии.
Список использованных источников
1. Бурнатова, Н.П. Формирование готовности педагогов к профориентационному содействию школьникам: дис. канд. пед. наук: 13.00.01 / Н.П. Бурнатова. - Челябинск, 2004. - 192 л.
2. Джанерьян, С.Т. Профессиональная Я-концепция: дис. д. пед. наук: 19.00.01 / С.Т. Джанерьян. - Ростов-на-Дону, 2005. - 603 л.
3. Дусь, Т.Э. Подготовка старшеклассников к осознанному выбору профессии в процессе социальной работы с молодежью: дис. канд. пед. наук: 13.00.01 / Т.Э. Дусь. - Омск, 2004. - 255л.
4. Ефимова, Т.Е. Формирование готовности старшеклассников подросткового возраста к профессиональному самоопределению: дис. канд. пед. наук: 13.00.01 / Т.Е. Ефимова. - Челябинск, 2003. - 188 л.
5. Зеер, Э.Ф. Основы профориентологии / Э.Ф. Зеер, А.М. Павлова, Н.О. Садовникова. - М., 2005. - 157 с.
6. Holland J.P. Adaptation in Natural and Artificial Systems. An Introductionary Analysis With Application to Biology/ Control and Artificial Intelligence. University of Michigan, 1975, 210 c.
7. Овчинникова, С.В. Личностно ориентированные игровые технологии как средство профессиональной ориентации старшеклассников: дис. канд. пед. наук: 13.00.01 / С.В. Овчинникова. - Карачаевск, 2006. - 180 л.
8. Пряжникова, Е.Ю. Профориентация / Е.Ю. Пряжникова, Н.С. Пряжников. - М., 2005. - 494 с.
9. Самоукина, Н. Практический психолог в школе / Н. Самоукина. - М., 1997. - 192 с.
10. Степаненков, Н.К. Профессиональная ориентация учащихся / Н.К. Степаненков. - Мн, 1993. - 168 с.
11. Феоктистова, Т.В. Профориентация как средство обеспечения основ трудовой социализации школьников: Автореф. дис. канд. пед. наук - Казань, 2005. - 188 л.
12. Чистякова, Н.С. Основы профессиональной ориентации школьников. - М. : Высшая школа, 1989. - 112 с.
13. Климов, Е.А. Психология профессионального самоопределения / Е.А. Климов. - Ростов-на-Дону, 1996. - 509 с.
Приложение 1.
(обязательное)
Код структуры Individual
struct Individual{
int fitness;
float likelihood;
std::map <std::string, std::map <std::string, int" allele;
int operator==(Individual ind) {
if (ind.allele != allele) {
return false;
}
return true;
}
};
Приложение 2.
(обязательное)
Код методов GetIndex и CreateNewPopelation
int CGA::GetIndex(float val) {
float last = 0;
for (int i = 0; i < MAXPOP; i++) {
if (last <= val && val <= population[i].likelihood) return i;
else last = population[i].likelihood;
}
return 4;
}
void CGA::CreateNewPopulation() {
gene temppop[MAXPOP];
for (int i = 0; i < MAXPOP; i++) {
int parent1 = 0, parent2 = 0, iterations = 0;
while (parent1 == parent2 || population[parent1] == population[parent2]) {
parent1 = GetIndex((float)(rand() % 101));
parent2 = GetIndex((float)(rand() % 101));
if (++iterations > 25) break;
}
temppop[i] = Breed(parent1, parent2);// Create a child.
}
for (int i = 0; i < MAXPOP; i++) population[i] = temppop[i];
}
Приложение 3.
(обязательное)
Код метода Breed
gene CGA::Breed(int p1, int p2) {
int crossover = rand() % 3 + 1;// Create the crossover point (not first).
int first = rand() % 100;// Which parent comes first?
gene child = population[p1];// Child is all first parent initially.
int initial = 0, final = 3;// The crossover boundaries.
if (first < 50) initial = crossover; // If first parent first. start from crossover.
else final = crossover + 1;// Else end at crossover.
for (int i = initial; i < final; i++) {// Crossover!
child.alleles[i] = population[p2].alleles[i];
if (rand() % 101 < 5) child.alleles[i] = rand() % (result + 1);
}
return child;// Return the kid...
}
Размещено на Allbest.ru
Подобные документы
Особенности алгоритмов, критерии качества. Создание и применение программного продукта на языке 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