6) из 10 вычли цифру, полученную в пункте 5(10-10 = 0).
Вывод: итоговая цифра=0 и совпадает с контрольной цифрой на штриховом коде, следовательно товар имеет законное происхождение и его качество гарантируется.
Использованные источники:
1. Чернышева, Ю.С. Практика обеспечения качества и безопасности продовольственных товаров на современном этапе / Ю.С.Чернышева, Ж.В.Горностаева, В.Е.Жидков // Kant. 2018. № 1 (26). С. 245-250.
2. Брайловская, А.В. О способах предупреждения фальсификации парфюмерно-косметических товаров / Брайловская А.В., Чернышева Ю.С. // Наука и бизнес: Проблемы и перспективы развиия предпринимательской деятельности сборник статей международной научно-практической конференции. 2016. С. 28-31.
УДК 004.923
Бровкина А. С. студент 3 курса
факультет «Информационные системы и технологии»
Пальмов С.В., к.т.н.
доцент
кафедра «Информационные системы и технологии»
ФГБОУ ВО ПГУТИ Россия, г. Самара ОСНОВНЫЕ ВОЗМОЖНОСТИ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ
Аннотация: В статье рассмотрено понятие генетического алгоритма. Приведены достоинства и недостатки алгоритмов данного класса. Кратко описаны принципы функционирования. Также приведен пример эффективной работы упомянутого алгоритма.
Ключевые слова: генетический алгоритм, случайный поиск, задача оптимизации.
Brovkina A.S. 3rd year student
Faculty of "Information systems and technologies" Volga State University of Telecommunications and Informatics
Russia, Samara Palmov S. V.
Ph.D. of Engineering Sciences associate professor of the department "Information systems and technologies" Volga State University of Telecommunications and Informatics
Russia, Samara MAIN FEATURES OF GENETIC ALGORITHMS
Abstract: The article deals with the concept of a genetic algorithm. Its
advantages and disadvantages are given. The algorithm's functional principles are briefly described. An example of effective operation of the algorithm is given.
Keywords: genetic algorithm, random search, optimization problem.
Генетический алгоритм (GA) - это адаптивный алгоритм эвристического поиска, основанный на эволюционных идеях естественного отбора и генетики. Он представляет собой интеллектуальную эксплуатацию случайного поиска, применяемого для решения задач оптимизации. GA использует историческую информацию для обеспечения лучшей производительности в пространстве поиска. Генетические алгоритмы были разработаны для имитации некоторых процессов, наблюдаемых в ходе естественной эволюции.
Идея GA заключается в том, чтобы использовать силу эволюции для решения задач оптимизации. Джон Холланд создал генетический алгоритм в начале 70-х гг. прошлого века.
Зачем использовать GA? Ответ прост: генетический алгоритм оперирует совокупностью особей (популяция), которые представляют собой строки, кодирующие одно из решений задачи. В отличие от GA, другие алгоритмы оптимизации работают лишь с одним решением. [1]
Генетические алгоритмы применяются для:
• Оптимизации запросов в базах данных.
• Решения задач на графах.
• Настройки и обучение нейронной сети.
• Решения задач компоновки.
• Составления расписаний.
• Разработки игровых стратегий.
• Реализации искусственной жизни и т.д.
Преимущества GA:
• Быстрее и эффективнее по сравнению с классическими методами решения оптимизационных задач.
• Имеет хорошие возможности для параллельного решения нескольких задач.
• Оптимизирует как непрерывные, так и дискретные функции.
• Предоставляет список решений, а не одно решение.
• Эффективен, когда пространство поиска очень велико.
Недостатки GA:
• Ограничение на круг решаемых задач.
• Из-за того, что GA выполняет многократные вычисления, для некоторых проблем (задач) это может оказаться дорогостоящим процессом.
• Генетический алгоритм является стохастическим (случайным), а это значит, что нет никаких гарантий, получить оптимальное или качественное решение. [2]
Основной принцип действия генетического алгоритма заключается в
том, что это - эволюционный алгоритм, главной операцией которого является скрещивание, т.е. комбинирование. С помощью отбора особей, получается правильная «комбинация» возможных решений.
Алгоритм делится на четыре этапа:
• Создания нового поколения
• Размножение
• Мутации
• Отбор
Шаги повторяются до тех пор, пока не будет получен искомый результат или количество поколений (циклов) не достигнет заранее выбранного максимума.
Рассмотрим каждый шаг более подробно:
Создание популяции. На первом шаге создается основная популяция. Неэффективная, как правило. Самое главное, чтобы она подходила по всем параметрам и «могла размножаться».
Размножение. На втором шаге происходит все как у человеческих особей. Для получения потомства необходимо наличие двух родителей. Потомок должен обладать чертами обоих родителей.
Мутации. На третьем шаге происходит изменение значения гена потомка на противоположное.
Отбор. На заключительном этапе производится отбор на основании некоторого критерия качества. Не прошедшие отбор особи исключаются из рассмотрения. [3]
Существует различные виды генетических алгоритмов:
• Канонический GA
• Генитор (Genitor)
• Гибридный алгоритм (Hybrid algorithms)
• CHC (Cross-population selection, Heterogeneous recombination and Cataclysmic mutation)
• GA с нефиксированным размером популяции (Genetic Algorithm with Varying Population Size - GAVaPS)
• Параллельный GA (Parallel implementations)
• Миграция (Migration)
Чтобы доказать насколько мощен генетический алгоритм, рассмотрим пример. Необходимо получить фрагмента песни «крылатые качели» из случайно сгенерированного списка букв. Общее количество символов - 14, каждый из может быть любой из 32 русского алфавита. Следовательно, вероятность получения нужно строки случайным способом равна,
(л1"1г)\4 _ о г 1 (Л~22
> ~ ' т. е. практически ноль.
Чтобы произвести кодировку фразы воспользуемся таблицей ASCII. Тогда фраза «крылатые качели» преобразуется в следующую матрицу:
[234, 240, 251, 235, 224, 242, 251, 229, 234, 224, 247, 229, 235, 232]
Далее генерируется исходная популяция из 10 случайных фраз: [238, 241, 234, 244, 252, 242, 221, 255, 234, 180, 247, 229, 232, 242] [226, 251, 239, 229, 224, 246, 247, 234, 234, 224, 225, 229, 232, 237] [247, 232, 235, 234, 244, 229, 251, 242, 253, 233, 247, 229, 243, 240]
[232, 247, 224, 229, 224, 242, 251, 229, 234, 251, 240, 235, 235, 234] После этого происходит преобразование матрицы в строки символов и получается 10 случайных фраз:
оскфьтэякгчеит выпефцчккабеин чилифеытэйчеур
ичаеатыеырллк.
Функция соответствия вычисляет число правильно отгаданных букв. Например, для строки «оскфьтэякгчеит» это 7. На заключительном этапе будут отобраны наилучшие потомки. [4]
На основании проведенного анализа можно судить о том, что на сегодняшний день генетический алгоритм является мощным вычислительным средством в разнообразных оптимизационных задачах.
Использованные источники:
1. Генетический алгоритм [Электронный ресурс] - Режим доступа: yury.name/internet/03ia-seminar-note.doc (дата обращения: 27.04.2018)
2. Genetic Algorithms - Introduction [Электронный ресурс] - Режим доступа: https://www.tutorialspoint.com/genetic_algorithms/genetic_algorithms_introducti on.htm (дата обращения: 27.04.2018)
3. Генетический алгоритм. Просто о сложном [Электронный ресурс] -Режим доступа: https://habrahabr.ru/post/128704/ (дата обращения: 27.04.2018)
4. MATLAB.Exponenta [Электронный ресурс] - Режим доступа: http : //matlab .exponenta.ru/fuzzylogic/book5/1 _2. php (дата обращения : 27.04.2018)