Я работаю над игрой и изо всех сил пытаюсь получить некоторые общие функциональные возможности. Предположим, у нас есть фраза типа "puzzle game using group of words"
, поэтому я сгенерирую из этого возможные подмножества:
"puzzle"
, "game"
, "using"
, "group"
, "of"
, "words"
и, чтобы добавить больше удовольствия, я также добавляю группу из двух последовательных слов (на данный момент группы из> 2 слов не допускаются ): "puzzle game"
, "game using"
, "using group"
, "group of"
, "of words"
Так что теперь основной идеей будет формирование ВСЕХ возможных комбинаций из этих подмножеств, которые образуют исходное предложение. Обратите внимание, что в этом случае подмножества должны быть разделом.
Пример:
"puzzle game", "using", "group", "of words"
"puzzle", "game", "using group", "of", "words"
...
Не допускается:
"puzzle game", "game using", .. (it's not a partition as "game" is repeated)
Есть ли какой-нибудь известный алгоритм, который генерирует все возможные комбинации? Я предполагаю, что это может занять очень много времени для более длинных фраз, так есть ли альтернативы, которые пытаются найти возможные наилучшие варианты, например, на основе некоторого веса?
Я не претендую на то, чтобы получить код (хотя это было бы здорово), но по крайней мере любые советы или идеи о том, на что обратить внимание, были бы очень полезны!