Главная проблема всей идеи в том, что подобрать функцию скрещивания оказалось весьма и весьма проблематично.
Думаю, проблема в неправильном выборе представления слоя. Стоит попробовать представить интерфейс в виде quadtree, размещая нужные элементы в его узлах.
Для такого представления данных, можно вводить адекватные операторы мутации и скрещивания. В сети много информации по эволюции сетевых структур, так что проект ещё можно довести до ума.
Плоскость, у которой верхняя граница есть нижняя граница, а правая есть левая. То есть человек может иди слева направа сколько угодно и будет пересекать траекторию человека, движущегося сверху вниз лишь в одной точке.
Генератор визуальных интерфейсов с генетическим алгоритмом в помощь дизайнерам