Возможно, вы захотите взглянуть на работы В. Даниэля Хиллиса из 80-х. Он потратил много времени на создание сетей сортировки с помощью генетического программирования. Хотя он был более заинтересован в решении проблемы сортировки постоянного числа объектов (сети сортировки из 16 объектов были серьезной академической проблемой в течение почти десятилетия), было бы неплохо ознакомиться с его работой, если вы действительно заинтересованы в генетических алгоритмах сортировки.
При разработке алгоритма сортировки списка произвольной длины вы также можете ознакомиться с концепцией коэволюции. Ранее я построил коэволюционную систему, в которой смысл заключался в том, чтобы один генетический алгоритм развивал алгоритмы сортировки, а другой ГА разрабатывал несортированные списки чисел. Пригодность сортировщика - это его точность (плюс бонус за меньшее количество сравнений, если он точен на 100%), а пригодность генератора списков заключается в том, сколько ошибок делают алгоритмы сортировки при сортировке своего списка.
Чтобы ответить на ваш конкретный вопрос о том, эволюционировал ли пузырь когда-либо быстро, я должен был бы сказать, что я серьезно сомневаюсь в этом, если только фитнес-функция программиста не будет очень специфической и опрометчивой. Да, пузырек очень прост, поэтому, возможно, терапевт, чья фитнес-функция состояла в точности плюс размер программы, в конечном итоге обнаружил бы пузырь. Однако зачем программисту выбирать размер вместо числа сравнений в качестве фитнес-функции, когда именно последняя определяет время выполнения?
Спрашивая, может ли GP превратить один алгоритм в другой, я задаюсь вопросом, полностью ли вы понимаете, что такое GP. В идеале каждая уникальная хромосома определяет уникальный вид. Население 200 хромосом представляет 200 различных алгоритмов. Да, где-то там может быть quick и bubble, но есть и 198 других, потенциально неназванных, методов.