Генетическое улучшение (информатика) - Genetic improvement (computer science)

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

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

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

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

использованная литература

  1. ^ Лэнгдон, Уильям Б. (2015). Генетически улучшенное программное обеспечение . Справочник по приложениям генетического программирования . С. 181–220. DOI : 10.1007 / 978-3-319-20883-1_8 . ISBN 978-3-319-20882-4.
  2. ^ Юстина Petke и Saemundur О. Харальдссон и Марк Харман и Уильям Б. Лэнгдон и Дэвид Р. Уайт и Джон Р. Вудворд (2018). «Генетическое улучшение программного обеспечения: всесторонний обзор» (PDF) . IEEE Transactions по эволюционным вычислениям . 22 (3): 415–432. DOI : 10.1109 / TEVC.2017.2693219 . hdl : 1893/25358 .
  3. ^ Веймер, Уэстли; и другие. (2010). «Автоматический ремонт программ с эволюционным вычислением». Коммуникации ACM . 53 (5): 109. CiteSeerX  10.1.1.170.188 . DOI : 10.1145 / 1735223.1735249 .
  4. ^ Лэнгдон, Уильям Б .; Харман, Марк (2015). «Оптимизация существующего программного обеспечения с помощью генетического программирования». IEEE Transactions по эволюционным вычислениям . 19 : 118–135. DOI : 10.1109 / TEVC.2013.2281544 .
  5. ^ Ву, Фань; Веймер, Уэстли; Харман, Марк; Цзя, Юэ; Кринке, Йенс (2015). Глубокая оптимизация параметров . Материалы конференции 2015 г. по генетическим и эволюционным вычислениям - GECCO '15 . С. 1375–1382. DOI : 10.1145 / 2739480.2754648 . ISBN 9781450334723.
  6. ^ Брюс, Бобби Р .; Петке, Юстина; Харман, Марк (2015). Снижение потребления энергии с помощью генетического улучшения . Материалы конференции 2015 г. по генетическим и эволюционным вычислениям - GECCO '15 . С. 1327–1334. DOI : 10.1145 / 2739480.2754752 . ISBN 9781450334723.
  7. ^ Лэнгдон, Уильям Б .; Харман, Марк (2014). Генетически улучшенное программное обеспечение CUDA C ++ . EuroGP 2014 . Конспект лекций по информатике. 8599 . С. 87–99. DOI : 10.1007 / 978-3-662-44303-3_8 . ISBN 978-3-662-44302-6.
  8. ^ Орлов, Михаил; Сиппер, Моше (2011). «Полет ФИНЧА через пустыню Ява». IEEE Transactions по эволюционным вычислениям . 15 (2): 166–182. CiteSeerX  10.1.1.298.6272 . DOI : 10.1109 / TEVC.2010.2052622 .
  9. ^ Шульте, Эрик М .; Веймер, Уэстли; Форрест, Стефани (2015). Восстановление прошивки маршрутизатора COTS без доступа к исходному коду или тестовым пакетам . Труды сопутствующей публикации конференции по генетическим и эволюционным вычислениям 2015 г. - GECCO Companion '15 . С. 847–854. DOI : 10.1145 / 2739482.2768427 . ISBN 9781450334884.

внешние ссылки

Инструменты