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



Но я хочу без привязки к конкретным компаниям написать пару слов о том, чему я научился:



1. Чем выше типизация, тем меньше ТЭПы. Небольшими кубиками заполнить кувшин можно плотнее, чем большими.



2. Инсоляция - определяющий фактор размещения зданий (в рамках мастерплана все остальное можно решить "по месту").



3. Чем выше строятся объекты, тем больше между ними должны быть расстояния (по инсоляции),



4. Из-за нормативных ограничений зависимости лифтов от метров/этажей, экономика объектов при увеличении этажности растет не равномерно. Для каждой инсоляционной линейки и требований по парковкам, озеленению и проездам есть наиболее эффективная этажность для застройки.



5. Генерация мастерпланов - это многофакторная оптимизация, в которой неограниченное количество факторов, с разными весами влияния. В определенный момент надо отрезать факторы ниже какого-то значения важности.



6. Самый эффективный алгоритм оптимизации в многофакторной системе - симуляция.



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



8. Самое сложное в обучении компьютера на сегодня - это описать что мы подразумеваем под словами - как правило, нравится, красиво, удобно - это возможно сделать, но для этого нужно разобраться в себе. Будет выглядеть как: в таких то случаях можно, симметрично, стремится к минимуму.