|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
11.08.2015, 12:57 | #1 |
Форумчанин
Регистрация: 23.09.2010
Сообщений: 682
|
Задача Золушки
Есть следующая практическая задача:
Имеется много конвертов, на каждом конверте 10-значное случайное число. Нужно разделить конверты на две части: первая часть ~ 1/10 от всей кучи; вторая часть ~ 9/10 от всей кучи; Признак разделения 10-значное число, которые забиты в программе (проверять только вручную). Вполне возможно, что 1/10 нужная часть - идет подряд среди общей пачки, а может и нет. Как максимально быстро найти нужный (хотя бы один конверт)??? Пока только одна идея: тщательно перетасовать конверты и проверять подряд, надеясь на теорию вероятности (вероятность вытащить нужный конверт как раз 1/10, а перетасовав мы исключим случай, что все нужные конверты находятся, например в конце пачки)
Проще всего признать свою ошибку.
Гораздо труднее еЁ осознать и исправить. Последний раз редактировалось Niro; 11.08.2015 в 13:01. |
11.08.2015, 13:04 | #2 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,065
|
Я ничего не понял. Задача выглядит как: на глазок поделить кучу конвертов на две кучи. Маленькую, и ту, что в 9 раз больше. Кто такой искомый конверт, зачем делить на эти кучи, чего за числа в программе - ничего не понятно.
|
11.08.2015, 13:09 | #3 |
Форумчанин
Регистрация: 23.09.2010
Сообщений: 682
|
Есть куча конвертов (пусть будет 100), отличаются друг от друга случайными числами, которые на них написаны.
"Правильных" конвертов - пусть будет 10 штук. "Правильность" можно проверить вбив номер конверта в программу - она скажет нужный это конверт или нет. Если просто перебирать конверты, вбивая числа - получается долго и муторно. Нужно придумать способ, нахождения нужных конвертов за самое короткое время.
Проще всего признать свою ошибку.
Гораздо труднее еЁ осознать и исправить. |
11.08.2015, 13:16 | #4 |
Старожил
Регистрация: 02.03.2008
Сообщений: 2,499
|
Непонятен вид распределения и тип испытаний.
Среди этих многих конвертов достоверно имеется какое-то количество нужных, или могут быть, а могут не быть? То есть может быть два типа задачи. 1) Имеем колоду 36 карт, среди них обязательно есть 4 туза. 2) Берем 100 колод по 36 карт, перемешиваем, выбираем из них 36 карт. Тогда среди них - не обязательно будут 4 туза. Кстати, в обоих случаях наверное нет никакой особой стратегии поиска тузов. Разве что, если в случае 1) проверили 32 карты, и в них ни одного туза, то оставшиеся 4 можно не проверять - там точно 4 туза. А во втором случае надо проверять до конца. |
11.08.2015, 13:19 | #5 |
Форумчанин
Регистрация: 23.09.2010
Сообщений: 682
|
Да, обязательно имеется некоторое (правда примерное) количество нужных конвертов.
Проще всего признать свою ошибку.
Гораздо труднее еЁ осознать и исправить. |
11.08.2015, 13:21 | #6 | |
ios developer
Старожил
Регистрация: 16.11.2007
Сообщений: 2,885
|
Цитата:
Делайте что хотите, но чтобы через полчаса в лесу было светло, сухо и медведь!
Последний раз редактировалось crazy horse; 11.08.2015 в 14:09. |
|
11.08.2015, 13:31 | #7 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,065
|
Можно пробовать искать зависимость в искомых числах. Допустим окажется, что нужны конверты с номером 123ххххххх или только начинающиеся на 1,5 или 9. Три цифры уж любой дурак запомнит. Тогда человек сможет предварительно отсеять откровенно неподходящие конверты, а оставшиеся уже пробивать по программе. Остаётся вопрос в удобстве дополнительного перелопачивания конвертов и пользе такой фильтрации. А то может наборы данных такие, что этим только три конверта отсеется, а работы лишней много будет проделано.
Если есть набор чисел со всех 100 конвертов, то тут можно позагоняться на предмет формирования оптимальной стратегии. Можно будет командовать оператору, что мол найди-ка ты дружок для начала конверты, начинающиеся на 8, а в оставшихся уже копошись внимательнее |
11.08.2015, 13:39 | #8 | |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
задача не про золошку, а про лоторею.
как и в лоторее нужно поставить случайный генератор который будет указыывать на счастливое письмо. Цитата:
|
|
11.08.2015, 13:48 | #9 |
Старожил
Регистрация: 02.03.2008
Сообщений: 2,499
|
Я не понял, зачем перетасовывать.
Если заранее неизвестен порядок, то можно считать их уже перетасованными. Или известно, что какое-то начальное неудачное расположение более вероятно ? То есть более вероятно, что нужные конверты в самом конце ? |
11.08.2015, 13:49 | #10 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Как вариант, по очереди брать письма с обеих концов стопки, таким образом время перебора сокращается вдвое. Если ещё от середины кучи поставить по курсору и вести в концам кучи, то время сокращается в 4 раза а вероятность найти нужное письмо многократно увеличивается. Курсоры и в тех блоках можно ставить, увеличите перебор ещё в 2 раза.
Последний раз редактировалось Человек_Борща; 11.08.2015 в 13:55. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задача по подсчёту статистики использования букв. Другая задача - по длинной арифметике Pascal ABC | kimberly | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 24.12.2012 17:03 |
задача на структуру(struct)/задача на работу с файлом | SevenArth | Помощь студентам | 0 | 26.04.2012 19:06 |
Задача на оптимальный расчет маршрута (задача в презентации) в табличном процессоре Excel | Toofed | Помощь студентам | 0 | 30.11.2011 01:12 |
Задача минимизации дисбаланса на линии сборки (задача минимакса) | LenZab | Microsoft Office Excel | 13 | 13.03.2011 22:51 |