combinatorics

Я хочу генерировать комбинации, которые связывают индексы в списке с "слотами". Например, (0, 0, 1) означает, что 0 и 1 принадлежат одному слоту, а 2-другому. (0, 1, 1, 1) означает, что 1, 2, 3 принадлежат одному и тому же слоту, а 0-само по себе. В этом примере 0 и 1 являются просто способами идентификации э...

У меня есть массив a = ["w1", "w2", "w3"] Как я могу создать новый массив с каждой комбинацией значений? Мне нужно, чтобы выходные данные выглядели так: ["w1", "w2", "w3", "w1 w1", "w1 w2", "w1 w3", "w2 w1", "w2 w2", "w2 w3", "w3 w1", "w3 w2", "w3 w3", "w1 w1 w1", "w1 w1 w2", "w1 w1 w3", "w1 w2 w1", "w1...

Я пытаюсь решить проблему рыцарского тура. Я хочу вызвать правило для оценки возможных движений, но я не могу этого сделать, мое правило возвращает следующую позицию в переменной, которую я отправляю. move(X,Y):- X is X+1, Y is Y-2. move(X,Y):- X is X+2, Y is Y-1. В консоли ...

У меня есть очень неэффективный способ подсчета комбинаций N/2 элементов из массива размера N. Что я делаю, так это сортирую массив для начала, а затем перебираю перестановки массива, создавая мультинаборы с половиной элементов и вставляя их в набор. Наконец я получаю счет набора. long GetCombinations(std::v...

Я пытаюсь создать ряд ограниченных перестановок списка элементов. У каждого элемента есть категория, и мне нужно найти такие комбинации элементов, чтобы в каждой комбинации не было нескольких элементов из одной и той же категории. Для иллюстрации приведем несколько примеров данных: Name | Category ...

Это реальная проблема, решение которой я пытаюсь автоматизировать, поэтому я с удовольствием отвечу на любые вопросы или просьбы о разъяснении. Заранее спасибо за чтение и за любые мысли, которые у вас могут возникнуть по этому поводу. :) Edit: чтобы отличить от возможного дублирующего вопроса, я надеялся н...

Я понимаю, что есть куча вопросов о комбинаторике и перечислении, но я искал вокруг и не нашел ничего, относящегося конкретно к тому, что я ищу. Если я что-то пропустил, пожалуйста, укажите мне на это, и вопрос может быть закрыт. Итак, предположим, что у нас есть множество из N элементов, и у нас есть x поло...

Я хочу найти все возможные комбинации из следующего списка: data = ['a','b','c','d'] Я знаю, что это выглядит простой задачей, и она может быть достигнута с помощью следующего кода: comb = [c for i in range(1, len(data)+1) for c in combinations(data, i)] Но на самом деле я хочу, чтобы каждый элемент ...

Я ищу алгоритм для генерации перестановок набора таким образом, чтобы я мог сделать ленивый список из них в Clojure. т. е. я хотел бы перебрать список перестановок, где каждая перестановка не вычисляется, пока я ее не запрошу, и все перестановки не должны храниться в памяти сразу. в качестве альтернативы я ...

даны 2 массива Array1 = {a,b,c...n} и Array2 = {10,20,15....x} как я могу генерировать все возможные комбинации строк a (i) b(j) c(k) n(p) где 1 <= i <= 10, 1 <= j <= 20 , 1 <= k <= 15, .... 1 <= p <= x , например: a1 b1 c1 .... n1 a1 b1 c1..... n2 ...... ...... a10 b20...