есть приложение DOS Box, которое генерирует подмножества чисел K из N общих чисел, оно имеет случайное начальное число 113. Я пытаюсь имитировать это, но в Python пока что мне не удалось добиться большого успеха, потому что подмножества, которые он генерирует, очень сбалансированы, например, если вы подсчитаете, сколько раз каждое число появляется во всем файле, это покажет, что оно появляется точно одинаковое количество раз или очень близко к одному и тому же количеству раз, например, то или иное число появляется больше, и есть тот же баланс относительно позиции/столбца, поэтому число будет отображаться очень равномерно в каждом столбце. Я пытался найти логику его баланса, и похоже, что если вы разделите количество нужных вам подмножеств на N общих чисел, вы получите среднее значение того, сколько раз каждое число появится в одном и том же столбце, и если вы сделаете (K * количество подмножеств) / N общего количества чисел, сколько раз каждое число появится в целом. Я знаю, что это своего рода комбинаторика, которую мне удалось сделать с помощью itertools, но я также попробовал использовать случайный модуль, и сейчас я подумываю о том, чтобы попытаться использовать numpy с numpy.random.randint и/или возвратом. Основная проблема заключается в том, что, даже используя случайное начальное число, я все еще не могу понять, как это сделать, как это происходит в приложении DOS Box (которое называется Pulse K of N), потому что когда я подсчитываю, сколько раз каждое Число появлялось на каждую позицию, оно даже близко не было четным. Не знаю, будет ли это иметь для кого-то смысл, но я пытался понять это уже несколько дней, так что думаю, оно того стоит, лол
Итак, подведу итог: Я пробовал itertools и модуль случайных чисел, ожидалось, что из N общих чисел будут подмножества чисел, в которых они имели очень, очень сбалансированное распределение, появляясь одинаковое количество раз или почти одинаковое количество раз в целом и на каждой позиции, без повторения одного и того же числа в одном и том же подмножестве или без повторения подмножества. Результат не совсем соответствовал ограничениям, потому что баланс был не таким правильным, как если бы он был создан с использованием DOS Box. Вот так:
Подмножества, созданные приложением DOS Box
Подробнее здесь: https://stackoverflow.com/questions/787 ... ith-python
Попытка создать очень сбалансированные подмножества чисел K из чисел N с помощью Python ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение