[devel] [sisyphus -> devel] Стабильный Сизиф
Alexey Tourbin
=?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Ср Июн 21 06:40:31 MSD 2006
On Tue, Jun 20, 2006 at 08:11:47PM +0400, Денис Смирнов wrote:
> AT> Тогда возникает только вычислительная проблема. Придется анализировать
> AT> т.н. power set отстойника (т.е. всевозможные подмножества, которые можно
> AT> составить из пакетов в отстойнике). Т.е. если в отстойнике находится 10
> AT> пакетов, то в поисках максимального "хорошего" подмножества пакетов
> AT> придется анализировать 2^{10} = 1024 подмножества (включая полное и
> AT> пустое). Если же в отстойнике 100 пакетов, то имеем порядка 10^{30}
> AT> вариантов, и задачу в строгом смысле вряд ли удастся решить. Есть
> AT> конечно градиентные методы и всякая прочая хрень...
>
> Эта задача решается куда проще. При условии что у нас есть алгоритм,
> который по группе пакетов дает четкий ответ есть там unmet'ы или нет. И
> если есть, то какой пакет не устанавливается, и каких provides ему не
> хватает. Ну и, разумеется, есть информация по requires/provides всех
> пакетов.
Есть только предикат, который для данной группы (точнее, подмножества;
слово группа здесь лучше не произносить) дает однозначный ответ:
появились новые анметы или нет.
Предикат не может дать ответ, какой пакет "виноват" в том, что появились
новые анметы. В общем случае это нетривиальная задача. Есть некоторые
соображения и на эту тему, могу вербализовать.
Если исходить только из предиката, то получается экспоненциально трудная
задача -- найти максимальное подмножество, удовлетворяющее критерию.
То есть перебор подмножеств B(U) aka булеан aka power set.
> Берем пакет. Если unmet'ов нет -- сразу переносим. Если unmet'ы есть, то
> смотрим какие из пакетов во временном репозитории имеют соответствующие
> provides, повторяя этот процесс рекурсивно до получения либо группы
> пакетов, которые можно установить, либо информации о том, что этот пакет
> нельзя установить вообще.
Я склоняюсь к тому, что автоматически ничего волшебно-простого сделать
нельзя. Сказывается также отсутствие постановки задачи. Так может быть
стоит посмотреть примеры анметов за последний год...
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 191 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20060621/cca1c380/attachment-0001.bin>
Подробная информация о списке рассылки Devel