Это был сарказм. Если брать за понятийную основу русский язык, то базовых понятий будет порядка 50К. Если вы будете строить сложные понятия типа "красное яблоко" то получите примерно 100М. Если займетесь разборкой "зрелое яблоко упало", то нужно будет 10^12. Намек понятен?
Правильно - LIFO (или FIFO). Это единственная логика, если вы станете (а куда вы денетесь) работать с регистрами. Можно, конечно, сначала дерево строить, примерно такое: (м-а-м)-а, (м-а-м)-б-а, но вы же хотите, чтобы у вас все якобы самообучалось.
Кстати, формирование конфигураторов довольно сильно отличается от обучения, выражения "обучение с учителем" и "обучение без учителя" - это просто фигуры речи, можно считать, что 10 + 12 = 22 - это обучение без учителя. Все будет упираться в способности системы заниматься управлением сложностью. То есть редукцией и бустингом. Это самое главное, а вы про это главное даже и не знаете еще, не говоря уже о постановке задачи. Проблема написания Гамлета путем случайного перебора всех клавиш на машинке не в том, что нужно много времени, а в том, что нужен еще один процесс, который бы отличал, что абракадабра, а где Гамлет.
Намек понятен?