Ответ немного зависит от того, нужна ли вам помощь в создании (создании) новых комбинаций, или вы хотите понять переменные, которые влияют на вероятность успеха / принятия.
Если позже, вы может подойти к этому в качестве задачи классификации. Из вашего описания вы можете придумать некоторые функции, которые описывают набор кирпичей, которые вы тестировали / будете тестировать, такие как: количество зеленых кирпичей, общий вес кирпичей, средний вес кирпичей, вес нижнего ряда кирпичей.
Тогда у вас будет таблица, в которой каждая строка будет представлять собой конфигурацию кирпичей, а каждый столбец будет сгенерированным выше элементом. У вас есть и дополнительный столбец для вашей цели, который будет истинным / ложным в зависимости от того, была ли конфигурация успешной.
+---------+------------+-------------+---------------+----------------+
| n_green | weight_sum | weight_mean | weight_br_sum | target_success |
+---------+------------+-------------+---------------+----------------+
| 10 | 102 | 0.6 | 15 | true |
| 2 | 60 | 0.5 | 30 | false |
| 40 | 250 | 1.1 | 15 | true |
+---------+------------+-------------+---------------+----------------+
Вы можете использовать линейную модель (например, Logisti c Регрессия ) где X - массив значений из столбцов n_green: target_success, а y - целевой столбец. Затем вы можете посмотреть на коэффициенты подобранной модели, чтобы понять, какие функции оказывают наибольшее влияние на успех (хотя вам следует сначала масштабировать ваши функции ).
Затем вы можете создавать новые комбинации и пропустите их через подобранную модель, чтобы получить вероятность успеха.
Если расположение / конфигурация кирпичей важны, вы можете исследовать нейронные сети и, в частности, сверточные нейронные сети ( CNN ). Вы должны использовать библиотеку, такую как ELI5 или Shap , чтобы исследовать важность функций.
Если первое, вы должны исследовать GANs .