 |
AlgoList алгоритмы, методы, исходники
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
mserg
Зарегистрирован: 25.08.2003 Сообщения: 60
|
Добавлено: Ср Сен 10, 2003 9:03 pm Заголовок сообщения: NP-трудные задачи и жизнь |
|
|
Хочу обсудить практического применения NP-трудных задач на практике.
Считается, что если бы мы умели решать NP-трудные за полиномиальное время, то это помогло бы решить многие практические задачи. Но из всех реальных задач, за которые бизнесмены готовы хорошо заплатить, ни одна не становится решаемой, если бы даже мы умели решать NP-трудные задачи достаточно быстро.
Предположим, что разработана некоторая программа и мы пытаемся применить ее на практике. Возможны четыре варианта, описывающих комбинации существования решения и возможностью решать NP-трудные задачи за приемлимое время.
1. Поставленная задача имеет решение и мы смогли его найти за приемлимое время
2. Поставленная задача имеет решение, но мы не можем найти решение за приемлимое время (то есть программа «повисла» и мы не знаем, «отвиснет» она или нет)
3. Поставленная задача не имеет решения и мы можем это доказать за приемлимое время
4. Поставленная задача не имеет решения, но мы не можем это доказать за приемлимое время
На практике успешный бизнес ставит цели всегда выше, чем может реально достичь (см. например, литературу по проектному менеджменту). Поэтому практически всегда будем иметь варианты 3 или 4. Сможет ли программа доказать неразрешимость задачи или нет – не имеет никакого значения, так как ответ: «Задача неразрешима» бизнесмена не устроит. И он не будет смотреть доказательство на 100 страниц, почему задача не имеет решения. Он спросит что-то вроде того : «Что я могу сделать, чтобы задача была решена?» или «Какие есть варианты, чтобы сделать задачу решаемой?». Математики по этому поводу либо молчат, либо высказываются очень скромно, могут обойти эти вопросы под предлогом «сложности темы» или излогать неработоспобные методы в сложной математической символике. Бизнес же придумал вполне успешную методологию решения «неразрешимых» задач
Если возникает вариант 2, то причиной может быть туповатый алгоритм или постановка задачи в «абструкционной форме» - в обвешанной ненужными и трудными для удовлетворения деталями. Если бы даже сверхумный алгоритм нашел решение задачи и возник бы вариант 1, то на практике его нельзя применять. Раз нам пришлось быть весьма изощренными для отыскания решения, то существует высокая вероятность того, что решение будет неустойчиво к изменению входных параметров. Бизнесмены всегда оценивают риски решений (устойчивость к изменению входных параметров) и стараются избегать авантюр. Математиков же презирают на неспособность помочь в решении реальных проблем.
Лично я не сомневаюсь, что умение приемлимо решать NP-трудные задачи весьма важно. Но не менее важно правильно работать с контекстом возниконовения задачи и уметь ставить задачи так, чтобы можно было в приемлимой форме объяснить противоречия и находить хорошие решения.
А что вы думаете по этому вопросу? |
|
Вернуться к началу |
|
 |
Граф Гость
|
Добавлено: Пт Сен 12, 2003 10:49 am Заголовок сообщения: Re: NP-трудные задачи и жизнь |
|
|
mserg писал(а): | Но из всех реальных задач, за которые бизнесмены готовы хорошо заплатить, ни одна не становится решаемой, если бы даже мы умели решать NP-трудные задачи достаточно быстро.
|
Вот тебе NP-трудные задачи, за которые бизнесмены платят большие деньги
http://www.rsasecurity.com/rsalabs/challenges/factoring/numbers.html |
|
Вернуться к началу |
|
 |
Гость
|
Добавлено: Пт Сен 12, 2003 3:48 pm Заголовок сообщения: |
|
|
а разве факторинг NP-полна?  |
|
Вернуться к началу |
|
 |
mserg
Зарегистрирован: 25.08.2003 Сообщения: 60
|
Добавлено: Пт Сен 12, 2003 5:30 pm Заголовок сообщения: |
|
|
Насколько я понял, речь идет о постановке задачи взлома RSA-шифра как NP-трудной задачи. Если я не прав, прошу поправить.
Представим себя на месте бизнесмена, стригущего купоны с RSA-шифрования. Оно основывается на том, мы не умеем решать NP-трудные задачи достаточно хорошо, чтобы взлом был экономически оправдан. Если научимся, то стричь купоны будет не с чего. Будет ли бизнесмен платить за то, чтобы лишить себя бизнеса? А именно это и утверждается.
Я не плохо знаю, как работает западный бизнес. В данном случае конкурс объявлен по трем причинам:
1) Реклама. Материальное вознаграждение привлекает людей и они будут рассказывать о сайте, и значит потенциально увеличивается число клиентов. Это основная причина.
2) Поиск кадров. Если кто-то научился ломать шифры, то такого человека можно взять на работу. Вероятности перескочить через шифр настолько мала, что можно ее даже не рассматривать и материальные риски компании минимальны. И никаких тебе чтений резюме, никаких тестов, испытательных сроков и прочей мороки, не нужно человека искать, учить и прочее - чертовски выгодно.
3) Убедиться, что шифр надежен. Для этого с помощью возможности ( без гарантии!) материального вознаграждения привлекают большое количество людей. Щедрость такого предложения нетрудно подсчитать: прикиньте общее число потраченных человеко-часов людей, жаждущих славы и богатства, и поделите на минимальное вознаграждение. Легко убедиться, что в среднем выгоднее сдавать пустые бутылки.
Вот что скрывается за готовностью платить за решение NP-трудной задачи. Лохотрон... |
|
Вернуться к началу |
|
 |
Граф Гость
|
Добавлено: Пн Сен 15, 2003 4:04 pm Заголовок сообщения: |
|
|
Anonymous писал(а): | а разве факторинг NP-полна?  |
Факторинг - NP-трудна. NP-полнота и NP-труднота - разные вещи.
Подозреваю, что mserg имел ввиду как раз NP-полноту, но и тогда мое замечание остается в силе |
|
Вернуться к началу |
|
 |
Гость
|
Добавлено: Пн Сен 22, 2003 2:36 pm Заголовок сообщения: |
|
|
Граф писал(а): | Anonymous писал(а): | а разве факторинг NP-полна?  |
Факторинг - NP-трудна. NP-полнота и NP-труднота - разные вещи.
Подозреваю, что mserg имел ввиду как раз NP-полноту, но и тогда мое замечание остается в силе |
факторинг не считается не полной не трудной задачей НП просто пока ее не решили,
задача НП трудна если у ней можно свести любую НП задачу к факторингу досих пор не свели ни одну из задач НП полных так что вы не правы |
|
Вернуться к началу |
|
 |
mserg
Зарегистрирован: 25.08.2003 Сообщения: 60
|
Добавлено: Вт Сен 23, 2003 8:17 pm Заголовок сообщения: |
|
|
Коллеги, не суть. Можем ли мы или не можем свести одну задачу, которую мы не умеем решать, к другой, которую мы тоже не умеем решать? Какой смысл это обсуждать? Что мы получим с того, что классифицируем или не классифицируем задачу как NP-полную или как NP-трудную? Оправдание своей профессиональной беспомощности? Никто за это не заплатит. Прошу также заметить, что тема обсуждения - не тонкости классификации алгоритмов. |
|
Вернуться к началу |
|
 |
Гость
|
Добавлено: Ср Сен 24, 2003 12:10 pm Заголовок сообщения: |
|
|
mserg писал(а): | Коллеги, не суть. Можем ли мы или не можем свести одну задачу, которую мы не умеем решать, к другой, которую мы тоже не умеем решать? Какой смысл это обсуждать? Что мы получим с того, что классифицируем или не классифицируем задачу как NP-полную или как NP-трудную? Оправдание своей профессиональной беспомощности? Никто за это не заплатит. Прошу также заметить, что тема обсуждения - не тонкости классификации алгоритмов. |
задача составления расписания и распределения комнат очень насущна для вузов НП полна и занее готовы заплотить |
|
Вернуться к началу |
|
 |
mserg
Зарегистрирован: 25.08.2003 Сообщения: 60
|
Добавлено: Ср Сен 24, 2003 4:39 pm Заголовок сообщения: |
|
|
Мне знакома эта проблема. По моим подсчетам стоимость разработки КАЧЕСТВЕННОЙ программы составления расписаний для учебных заведений - примерно $10 млн. Это крайне рискованный проект и очень трудно убедить потенциальных инвесторов в его рентабельности. Очевидно, что проект не может быть сделан в одиночку или даже в десятиром. Лично я бы не стал рисковать. При стоимости одной лицензии $10000 это может не окупиться даже если продвигать программу по всему миру. К тому же на рынке составления расписания уже есть игроки и вытеснить их не так то просто.
Если за что-то не хотят платить – значит это того не стоит и по большому счету это никому не нужно. Если исходить из народных трат, то можно сделать вывод, что иметь выпивку и жвачку важнее, чем иметь хорошее расписание. Вот такова "насущность" этой проблемы.
Когда то я баловался тем, что составлял модель составления школьного расписания (а оно проще ВУЗовского). Оказалось, что даже далеко неполная модель состоит из 30 (программных) классов и около 40 ограничений. Проводил же эксперименты еще на более упрощенной модели. Возникли как раз те проблемы, которые я в общей форме изложил в самом первом сообщении темы. Здесь задача комбинаторного взрыва вариантов существует, но при приложении значительных усилий она мне кажется удовлетворительно решаемой. Рассуждать о NP-полноте можно, но зачем? Это никуда нас не продвигает...
Однако профиссионально эта задача мне интересна. Если есть люди, тратящие свою жизненную энергию на эту тему, то я заинтересован в получении контактной информации. Готов содействовать в решении проблем составления расписания. |
|
Вернуться к началу |
|
 |
wormball
Зарегистрирован: 05.04.2003 Сообщения: 192 Откуда: каф. биофизики биофака мгу
|
Добавлено: Ср Сен 24, 2003 4:45 pm Заголовок сообщения: |
|
|
mserg писал(а): | Когда то я баловался тем, что составлял модель составления школьного расписания (а оно проще ВУЗовского). Оказалось, что даже далеко неполная модель состоит из 30 (программных) классов и около 40 ограничений. |
чо так много?? там ведь вроде надо только следить, чтобы учителя вели в одно и то же время один урок, соответственно классы были только на одном уроке и чтобы количество часов совпадало?? _________________ от многого знания многие печали |
|
Вернуться к началу |
|
 |
KPAH
Зарегистрирован: 06.12.2002 Сообщения: 203 Откуда: Москва
|
Добавлено: Чт Сен 25, 2003 6:05 am Заголовок сообщения: |
|
|
2 wormball
Так как моя жена несколько раз составляла расписание для школы, в которой рабтает кое-что я об этом знаю. И всё действительно плохо..
Ограничений там до задницы (в школе) - и количество часов "трудных" и "лёгких" уроков, нельзя ставить некоторые уроки в начале и конце учебного дня итд итп. Для ВУЗов все эти "детские" ограничения убираются. |
|
Вернуться к началу |
|
 |
mserg
Зарегистрирован: 25.08.2003 Сообщения: 60
|
Добавлено: Сб Окт 04, 2003 8:21 am Заголовок сообщения: |
|
|
wormball писал(а): | mserg писал(а): | Когда то я баловался тем, что составлял модель составления школьного расписания (а оно проще ВУЗовского). Оказалось, что даже далеко неполная модель состоит из 30 (программных) классов и около 40 ограничений. |
чо так много?? там ведь вроде надо только следить, чтобы учителя вели в одно и то же время один урок, соответственно классы были только на одном уроке и чтобы количество часов совпадало?? |
· Общее количество занятий в классах нужно более-менее равномерно распределить по неделе.
· Предметы занятий тоже нужно распределить по неделе.
· Напряженность занятий нужно распределить в течении дня и в течении недели. На первом месте стоит математика (индекс напряженности 11), далее русский язык и литература (10) и так далее. СЭС требует составлять расписание так, чтобы напряженность была максимальной в середине учебного дня, а в начале и конце - минимальной.
· Тоже самое и течении недели - суммарная напряженность занятий должна быть максимальной в середине недели. Так как требования СЭС выполнить невозможно их заменяют на типа: трудные занятия не должны быть первым или последним, суммарное количество трудных (напряженных) уроков в течении для должно быть ограничено и так далее.
· Еще нужно распределить занятия так, чтобы выровнять условия (по СЭС) между классами, т.е. чтобы не было изгоев и любимчиков и все имели равные условия.
· Некоторые школы налагают ограничения на последовательности занятий: одно занятие - теория, в след за ним - практика.
· Очевидно, что окна в занятиях для учеников недопустимы.
Вторая группа ограничений связана с учителями. Должны быть выполнены условия трудового кодекса:
· длительность рабочего дня
· нагрузка в течении дня
· нагрузка в течении недели
· выделение времени для обеда
· свободный день от занятий.
Также необходимо учитывать индивидуальные условия:
· учитель может иметь ограничения по времени (например живет далеко, нужно отвести ребенка в музыкальную школу, может иметь занятия в ВУЗе и прочее)
· и нагрузке (например, учитель - пенсионер и не выдерживает много занятий в течении дня).
Ограничения могут накладываться и на время проведения занятий:
· лыжная физкультура первым уроком - вряд ли хорошая идея в сельской школе.
Еще есть администрация школы, которая должна обеспечить расписание ресурсами. Ресурсы могут накладывать дополнительные ограничения
· по количеству учебных мест,
· по количеству и размеру инвентаря и прочее.
Кроме того, администрация должна обеспечить устойчивость расписания к различного рода событиям:
· болезнь или уход учителя,
· поломка оборудования и прочее.
В зависимости от поставленных учебным заведением целей
· формируются учебные программы,
· набираются учащиеся,
· учителя,
· занятия распределяются по учителям,
· занятиям назначаются дни недели, время и место проведения.
Качество учебных расписаний, осознанно или нет, оцениваются по критериям. В бизнесе они часто называются
· "ключевые параметры производительности" или
· "сбалансированная система показателей".
Примерами могут служит качество распределения напряженности, количество окон у учителей, общая длительность рабочей недели, количество рабочих дней и прочее. Есть допустимые диапазоны этих параметров, есть также предпочтения (например, допустимо 4 окна в неделю, но лучше чтобы их не было совсем).
Так как расписание - это клубок противоречий, то как правило, требования противоречивы. Разрешение противоречий, как правило лежит за пределами системы составления расписания. Например, выяснилось, не удается в некотором классе назначить занятие по физкультуре. Первое, что может оказаться, это перегруженность ресурса - хотим провести занятий больше, чем реально можно. Решения могут быть такими:
· если гимнастика, то можно совместить занятия двух классов.
· Можно одно занятие проводить в спортзале, другое в рекреации.
· Можно пойти на нарушение и сделать один день длинным.
· Можно арендовать спортзал.
· Можно бегать вокруг школы.
Если ресурс не перегружен, то проблему, скорее всего, создают учителя физкультуры, выставивших чрезмерные требования по времени: допустим, ни один из учителей не хочет проводить занятия в среду(для простоты пример надуман) - и спортзал простаивает. Здесь можно
· надавить на кого-нибудь,
· уволить и нанять других людей.
· Если это какая-нибудь хореография - то можно подумать об аренде и так далее.
Составление расписания - это процесс "балансирования" противоречивых требований. Нередко учителя и родители, чьи требования были попраны, считают этот процесс борьбой "добра и зла" и пытаются оказать давление на того, кто составляет расписание, приводят разные аргументы, почему их требования должны быть выполнены, невзирая на требования других. Никакая программа не спасет от этого геморроя. Здесь нужно уметь
· управлять конфликтами.
Часто противоречия могут быть обусловлены большой группой ограничений и исчезать, если одно из них убрать. Для этого при поиске расписания нужно
· ранжировать ограничения по приоритетам и предпочтениям, в зависимости от важности ограничения и возможности что-либо сделать, чтобы снять противоречие. Тогда из всех противоречий будут указываться с минимальным приоритетом.
С контекте постановки задачи составления расписания как NP-полной задачи, можно утверждать:
· Часто поиск хороших решений связан с решениями, лежащих вне модели составления расписания.
· Сами критерии оптимального расписания и весовые коэффициенты этих критериев - весьма туманны и субъективны. Какой смысл корячить в поисках абсолютного оптимума? Достаточно избежать плохих решений.
· Так как решения принимаются людьми, то подсказки по разрешению противоречий должны быть достаточно просты, чтобы могли быть поняты. Это не должны быть доказательства методом какого то хитрого перебора с отсечениям на тысячи страниц (а именно это предполагает решение NP-полной задачи)
Где-то я читал, что к Кнуту обратился китаец с утверждением, что он умеет рашать одну из np-полных задач за время O(n^12). Кнут утверждает, что китаец не прав, при этом он жаловался, что проверить очень трудно из-за высокой степени. Если даже китаец прав, так что с того?
Я не знаю ни одной работоспосбной программы составления расписания, начатой с постановки, как NP-полной задачи. Дело даже не доходит до полной постановки. Мои развлечения см. в http://np-soft.ru/projects/scheduling.zip: примеры упрощенной работающей программы schedule1 и настоящей, но непроваренной, а значит неработающей schedule2
Гость не прислал ни одного контакта, значит заявление о важности составления расписания - пустой звук: Как только нужно сделать чуть больше, чем написать две строки – возникает паралич воли.
Для тех, кому на практике нужно составлять школьные расписания можно попробовать:
http://www.ibn.lt/
раздел Software, программа TimeTables. Можно пользоваться бесплатно, но тогда не сможете получить отчетности - прийдется срисовывать результат с экрана.
Вот такие пироги... |
|
Вернуться к началу |
|
 |
mserg
Зарегистрирован: 25.08.2003 Сообщения: 60
|
|
Вернуться к началу |
|
 |
Гость
|
Добавлено: Ср Мар 31, 2004 2:42 pm Заголовок сообщения: |
|
|
пости работающая!
звучит смешно.
как почтилетающий самолет
или почти лечащий врач
и не стыдно |
|
Вернуться к началу |
|
 |
mserg
Зарегистрирован: 25.08.2003 Сообщения: 60
|
Добавлено: Чт Апр 01, 2004 6:08 am Заголовок сообщения: |
|
|
Не понял смысла сообщения... Есть лучший открытый код?
Насколько я помню, в программе не работают ограничения "наличие окон в параллелях" и ограничения на закладке "Напряженность", а все остальное работоспособно. Проблемы, связанные с использованием, описаны ранее. |
|
Вернуться к началу |
|
 |
|
|
Вы можете начинать темы Вы можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
Powered by phpBB 2.0.4 © 2001, 2002 phpBB Group
|