Страница: 1 |
Страница: 1 |
Вопрос: Комбинаторика
Добавлено: 13.03.08 19:06
Автор вопроса: фрекен Бок
Как вывести все комбинации из списка? Например, найти все комбинации списка из 10 наименований по 6.
Ответы
Всего ответов: 4
Номер ответа: 1
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #1
Добавлено: 14.03.08 11:45
Вроде так:
n = k! / (r! * (k - r)!)
у тебя k = 10; n = 6
Номер ответа: 2
Автор ответа:
Morpheus
Вопросов: 224
Ответов: 3777
Web-сайт:
Профиль | | #2
Добавлено: 14.03.08 13:39
тебе надо число или сам список всех вариантов состоящих из шести наименований?
Номер ответа: 3
Автор ответа:
фрекен Бок
Вопросов: 1
Ответов: 1
Профиль | | #3
Добавлено: 14.03.08 22:07
Нужен именно список. У меня задача найти наилучший портфель ЦБ по заданному критерию. Есть список из 10-ти ЦБ, нужны все 6-ти бумажные портфели, т.е. через запятую куча списков, а дальше я сама разберусь
Номер ответа: 4
Автор ответа:
el-paso
Вопросов: 3
Ответов: 164
Профиль | | #4
Добавлено: 16.03.08 11:33
В данной ситуации можно обойтись простым перебором комбинаций (даже вручную, бо количество вариантов совсем невелико).
А для более масштабных выборок - быстрее всего использовать "алгоритм отжига" (annealing algorithm) с оценкой каждого варианта.
В нете масса литературы по этому алгоритму.