Jump to content

Многостороннее разделение номеров

В информатике многостороннее разделение чисел это проблема разделения мультимножества чисел на фиксированное количество подмножеств так, чтобы суммы подмножеств были как можно более похожими. Впервые он был представлен Рональдом Грэмом в 1969 году в контексте проблемы планирования идентичных машин . [ 1 ] : сек.5 Задача параметризуется положительным целым числом k и называется k -сторонним числовым разделением . [ 2 ] Входными данными для задачи является мультимножество S чисел (обычно целых), сумма которых равна k*T .

Соответствующая проблема принятия решения состоит в том, чтобы решить, можно ли S разделить на k подмножеств так, чтобы сумма каждого подмножества была в точности T . Существует также задача оптимизации : найти разбиение S на k подмножеств так, чтобы k сумм были «насколько это возможно». Точную цель оптимизации можно определить несколькими способами:

  • Минимизируйте разницу между наибольшей и наименьшей суммами. Эта цель часто встречается в статьях о многостороннем разделении чисел, а также в статьях, посвященных физическим приложениям. [ 2 ]
  • Минимизируйте наибольшую сумму. Эта цель эквивалентна одной цели для планирования идентичных машин . Имеется k одинаковых процессоров, и каждое число в S представляет время, необходимое для выполнения задания одного процессора. Цель состоит в том, чтобы распределить задания между процессорами так, чтобы время выполнения (время завершения последнего задания) было минимальным.
  • Максимизируйте наименьшую сумму. Эта цель соответствует применению справедливого распределения статей , в частности максимальной доли . Это также проявляется в проблемах манипулирования голосованием. [ 3 ] и в определении последовательности действий по техническому обслуживанию модульных газотурбинных авиационных двигателей. [ 4 ] [ 5 ] Предположим, имеется несколько k двигателей, которые необходимо проработать как можно дольше. Для работы двигателя необходима определенная важная часть. Имеется набор S деталей, каждая из которых имеет разный срок службы. Цель состоит в том, чтобы распределить детали по двигателям таким образом, чтобы кратчайший срок службы двигателя был как можно большим.

Эти три целевые функции эквивалентны, когда k = 2, но все они различны, когда k ≥3. [ 6 ] [ 7 ]

Все эти задачи NP-сложны , [ 8 ] но существуют различные алгоритмы, которые во многих случаях эффективно решают эту проблему.

Вот некоторые тесно связанные проблемы:

  • Проблема разделения — частный случай многостороннего разделения чисел, при котором количество подмножеств равно 2.
  • Задача с тремя разбиениями — другая, более сложная задача, в которой количество подмножеств не считается фиксированным параметром, а определяется входными данными (количество наборов — это количество целых чисел, деленное на 3).
  • Проблема упаковки контейнеров - двойственная задача, в которой общая сумма в каждом подмножестве ограничена, но k является гибким; цель состоит в том, чтобы найти раздел с наименьшим возможным k . Цели оптимизации тесно связаны между собой: оптимальное количество ячеек размера d не превышает k , если оптимальный размер наибольшего подмножества в k -разделе не превышает d . [ 9 ]
  • Проблема планирования единых машин — более общая проблема, в которой разные процессоры могут иметь разную скорость.

Алгоритмы аппроксимации

[ редактировать ]

Существуют различные алгоритмы, позволяющие получить гарантированное приближение оптимального решения за полиномиальное время. Для разных целей существуют разные алгоритмы аппроксимации.

Минимизация наибольшей суммы

[ редактировать ]

Коэффициент аппроксимации в этом контексте — это наибольшая сумма в решении, возвращаемом алгоритмом, деленная на наибольшую сумму в оптимальном решении (коэффициент больше 1). Большинство приведенных ниже алгоритмов были разработаны для планирования идентичных машин .

  • Жадное числовое разделение (также называемое наибольшим временем обработки в литературе по планированию) циклически перебирает числа и помещает в набор каждое число, текущая сумма которого наименьшая. Если числа не отсортированы, то время выполнения и коэффициент аппроксимации не более . Сортировка чисел увеличивает время выполнения до и улучшает коэффициент аппроксимации до 7/6 при k =2, и в общем. Если числа распределены равномерно в [0,1], то коэффициент аппроксимации не превосходит почти наверняка и в ожидании.
  • Метод наибольшего дифференцирования (также называемый алгоритмом Кармаркара-Карпа ) сортирует числа в порядке убывания и неоднократно заменяет числа их разностями. Сложность выполнения . В худшем случае его коэффициент аппроксимации аналогичен – не более 7/6 при k =2 и не более в общем. Однако в среднем случае он работает гораздо лучше, чем жадный алгоритм: при k =2, когда числа распределены равномерно на [0,1], его коэффициент аппроксимации не превышает в ожидании. Он также лучше работает в симуляционных экспериментах.
  • Алгоритм Multifit использует бинарный поиск в сочетании с алгоритмом упаковки бинов . В худшем случае его продолжительность составляет не более 8/7 для k =2 и не более 13/11 вообще.

несколько схем аппроксимации с полиномиальным временем Было разработано (PTAS):

  • Грэм [ 1 ] : сек.6 представил следующий алгоритм. Для любого целого числа r>0 выберите r самых больших чисел в S и оптимально разбейте их. Затем распределите оставшиеся числа произвольно. Этот алгоритм имеет коэффициент аппроксимации и это происходит во времени .
  • Сахни [ 10 ] представил PTAS, который достигает (1+ε)OPT во времени . Это FPTAS, если k фиксировано. Для k =2 время выполнения улучшается до . Алгоритм использует технику, называемую интервальным разделением .
  • Хохбаум и Шмойс [ 9 ] представил следующие алгоритмы, которые работают, даже если k является частью входных данных.
    • Для любого r >0 алгоритм с коэффициентом аппроксимации не более (6/5+2 р ) во времени .
    • Для любого r >0 алгоритм с коэффициентом аппроксимации не более (7/6+2 р ) во времени .
    • Для любого ε >0 алгоритм со степенью аппроксимации не более (1+ε) за время . Это ПТАС .

Максимизация наименьшей суммы

[ редактировать ]

Коэффициент аппроксимации в этом контексте — это наименьшая сумма в решении, возвращаемом алгоритмом, деленная на наименьшую сумму в оптимальном решении (коэффициент меньше 1).

  • Для жадного разделения чисел , если числа не отсортированы, то коэффициент аппроксимации в худшем случае равен 1/ k . [ 11 ] Сортировка чисел увеличивает коэффициент аппроксимации до 5/6, когда k = 2, и в общем и то тесно. [ 12 ]
  • Фёгингер [ 11 ] представил PTAS, который достигает коэффициента аппроксимации вовремя , где огромная константа, экспоненциальная относительно требуемого коэффициента аппроксимации ε. Алгоритм использует алгоритм Ленстры для целочисленного линейного программирования .
  • FPTAS Сахни [ 10 ] работает и для этой цели.

Максимизация суммы произведений

[ редактировать ]

Слух [ 13 ] изучает проблему, цель которой состоит в том, чтобы максимизировать сумму по каждому множеству i в 1,..., k , произведения чисел в множестве i . В более общем варианте каждый набор i может иметь вес w i , и цель состоит в том, чтобы максимизировать взвешенную сумму произведений. Эта задача имеет точное решение, работающее за время O( n 2 ).

PTAS для общих целевых функций

[ редактировать ]

Пусть C i (для i между 1 и k ) будет суммой подмножества i в данном разделе. Вместо минимизации целевой функции max( C i ) можно минимизировать целевую функцию max( f ( C i )), где f — любая фиксированная функция. Аналогичным образом можно минимизировать сумму целевой функции ( f ( C i )), или максимизировать min (f ( C i )), или максимизировать сумму ( f ( C i )). Алон, Азар, Вегингер и Ядид [ 14 ] представил общие PTAS (обобщающие PTAS Санхи, Хохбаума, Шмойса и Вёгингера) для этих четырех задач. Их алгоритм работает для любого f, удовлетворяющего следующим двум условиям:

  1. Сильное условие непрерывности, называемое условием F* : для любого ε>0 существует δ>0 такое, что, если | y - x |<δ x , то |f( y )-f( x )|<ε f ( x ).
  2. Выпуклость (для задач минимизации) или вогнутость (для задач максимизации).

Время работы их PTAS-ов линейно по n (количеству входов), но экспоненциально по точности аппроксимации. PTAS для минимизации sum( f ( C i )) основан на некоторых комбинаторных наблюдениях:

  1. Пусть L := средняя сумма в одном подмножестве (1/ k сумма всех входов). Если некоторые входные данные x не меньше L , то существует оптимальное разбиение, в котором одна часть содержит только x . Это следует из выпуклости f . Следовательно, входные данные могут быть предварительно обработаны путем присвоения каждому такому входному набору уникального подмножества. После этой предварительной обработки можно предположить, что все входные данные меньше L .
  2. Существует оптимальное разбиение, в котором суммы всех подмножеств находятся строго между L /2 и 2 L ( L /2 < C i < 2 L для всех i из 1,..., k ). В частности, разбиение, минимизирующее сумму квадратов C i 2 среди всех оптимальных разбиений удовлетворяет этим неравенствам.

PTAS использует метод округления входных данных . Учитывая входную последовательность S = ( v 1 ,..., v n ) и положительное целое число d , округленная последовательность S # ( d ) определяется следующим образом:

  • Для любого v j > L/d последовательность S # ( d ) содержит входные данные v j # что представляет собой v j, округленное до следующего целого числа, кратного L / d 2 . Обратите внимание, что v j v j # < v j + L / d 2 , и Л/д 2 < v j / d , поэтому v j # < ( d +1) v j / d.
  • Кроме того, последовательность S # ( d ) содержит некоторые входные данные, равные L/d . Количество этих входов определяется таким образом, чтобы сумма всех этих новых входов равнялась сумме всех входов в S. # ( d ), которые не превышают L/d , округленные до следующего целого числа, кратного L/d (например, если сумма всех «коротких» входов в S равна 51,3 L/d , то 52 новых L/d входа добавляются к S # ( д )).

В С # ( d ), все входные данные являются целыми кратными L / d 2 . Более того, два приведенных выше наблюдения справедливы для S # ( г ) тоже:

  1. Пусть L # быть средней суммой в одном подмножестве (1/ k сумма всех входов в S # ( д )). По конструкции L # как минимум Л. это Поскольку L само по себе является целым кратным L / d 2 , округление входных данных, меньших, чем L, не может сделать их больше, чем L . Следовательно, все входы в S # ( d ) меньше L и, следовательно, меньше L # .
  2. Существует оптимальное разбиение S # ( d ), в котором все суммы подмножеств находятся строго между L # /2 и 2 л # . Следовательно, все подмножества содержат не более 2 d элементов (поскольку все входы в S # ( d ) не менее L / d ).

На основании этих наблюдений все входные данные в S # ( d ) имеют вид hL / d 2 , где h — целое число в диапазоне . Следовательно, входные данные можно представить как целочисленный вектор. , где это количество гл / д 2 входы в S # ( д ). При этом каждое подмножество можно представить в виде целочисленного вектора , где это количество гл / д 2 входы в подмножестве. Тогда сумма подмножества равна . Обозначим через , набор векторов с . Поскольку сумма элементов такого вектора не превосходит 2 d , общее количество этих элементов меньше , так .

Существует два разных способа найти оптимальное решение задачи S. # ( д ). Один из способов использует динамическое программирование: время выполнения представляет собой полином, показатель степени которого зависит от d . Другой способ использует алгоритм Ленстры для целочисленного линейного программирования.

Решение для динамического программирования

[ редактировать ]

Определять как оптимальное (минимальное) значение суммы целевой функции ( f ( C i )), когда входной вектор равен и его необходимо разделить на k подмножеств, среди всех разделов, в которых все суммы подмножеств находятся строго между L # /2 и 2 л # .

Эту проблему можно решить с помощью следующего рекуррентного соотношения :

  • - поскольку их объективная сумма пуста.
  • если - поскольку все входы должны быть отнесены к одному подмножеству, его сумма равна .
  • в противном случае – поскольку мы не рассматриваем оптимальные решения вне этого диапазона.
  • для всех : проверяем все варианты k -го подмножества, и объединяем его с оптимальным разбиением остатка на k -1 подмножества.

Для каждого k и n рекуррентное соотношение требует проверки не более векторы. векторов n не превышает Общее количество проверяемых , где n — исходное количество входов. Следовательно, время выполнения алгоритма динамического программирования равно . Оно линейно по n для любого фиксированного d .

Решение для целочисленного линейного программирования

[ редактировать ]

Для каждого вектора t в T введите переменную x t, обозначающую количество подмножеств с этой конфигурацией. Минимизация суммы ( f ( C i )) может быть достигнута путем решения следующей ILP:

  • Свернуть
  • при условии (общее количество подмножеств)
  • и (общий вектор входов)
  • и .

Число переменных не более , а количество уравнений - обе константы не зависят от n , k . Следовательно, алгоритм Ленстры можно использовать . Время его выполнения экспоненциально в размерности ( ), но полиномиально в двоичном представлении коэффициентов, находящихся в O(log( n )). Построение самой ILP занимает время O( n ).

Преобразование решения из округленного в исходный экземпляр

[ редактировать ]

Следующие леммы связывают разбиения округленного экземпляра S # ( d ) и исходный экземпляр S .

  • Для каждого раздела S с суммами C i существует раздел S # ( d ) с суммами C i # , где .
  • Для каждого раздела S # ( d ) с суммами C i # , существует разбиение S с суммами C i , где , и его можно найти за время O( n ).

При заданной точности аппроксимации ε>0 пусть δ>0 — константа, соответствующая ε/3, существование которой гарантируется условием F*. Позволять . Можно показать, что преобразованное разбиение S имеет общую стоимость не более , поэтому коэффициент аппроксимации равен 1+ε.

Отсутствие PTAS для некоторых целевых функций.

[ редактировать ]

В отличие от приведенного выше результата, если мы возьмем f( x ) = 2 х , или f( x )=( x -1) 2 , то PTAS для минимизации sum( f ( C i )) не существует, если P=NP . [ 14 ] : Раздел 4 Обратите внимание, что эти f( x ) выпуклы, но они не удовлетворяют условию F*, приведенному выше. Доказательство основано на задаче о разделении .

Точные алгоритмы

[ редактировать ]

Существуют точные алгоритмы , которые всегда находят оптимальный раздел. Поскольку задача NP-сложна, такие алгоритмы в целом могут потребовать экспоненциального времени, но в некоторых случаях их можно практически использовать.

  • Псевдополиномиальное разбиение числа по времени занимает O ( n ( k − 1) m к - 1 ) память, где m — наибольшее число во входных данных. Это практично только тогда , когда k =2 или когда k =3 и входные данные представляют собой небольшие целые числа. [ 15 ]
  • Полный жадный алгоритм (CGA) учитывает все разделы путем построения k - арного дерева . Каждый уровень в дереве соответствует входному числу, где корень соответствует наибольшему числу, уровень ниже — следующему по величине числу и т. д. Каждая из k ветвей соответствует отдельному набору, в который можно поместить текущее число. . Обход дерева в порядке глубины требует всего O( n ) пространства, но может занять O( k н ) время. Время выполнения можно улучшить, используя жадную эвристику: на каждом уровне сначала разрабатывайте ветвь, в которой текущее число помещается в набор с наименьшей суммой. Этот алгоритм сначала находит решение, найденное путем жадного разделения чисел , а затем переходит к поиску лучших решений.
  • Полный алгоритм Кармаркара-Карпа (CKK) учитывает все разделы, строя дерево степени . Каждому уровню соответствует пара k -кортежей, и каждый из ветвей соответствует другому способу объединения этих k -кортежей. Этот алгоритм сначала находит решение, найденное методом наибольшей разности , а затем переходит к поиску лучших решений. Для k =2 и k =3 CKK работает существенно быстрее, чем CGA в случайных экземплярах. Преимущество CKK перед CGA в последнем случае гораздо больше (когда существует равный раздел) и может составлять несколько порядков. На практике при k = 2 задачи произвольного размера могут быть решены с помощью CKK, если числа имеют не более 12 значащих цифр s; при k =3 не более 6 значащих цифр. [ 16 ] CKK также может работать как алгоритм в любое время : сначала он находит решение KK, а затем, по мере того, как позволяет время, находит все более лучшие решения (возможно, для достижения оптимальности требуется экспоненциальное время в худших случаях). [ 17 ] При k ≥ 4 CKK становится намного медленнее, а CGA работает лучше.
  • Корф, Шрайбер и Моффитт представили гибридные алгоритмы, сочетающие CKK, CGA и другие методы из задачи суммы подмножества и задачи упаковки контейнеров для достижения еще большей производительности. Их журнальная статья за 2018 год. [ 18 ] суммирует работы из нескольких предыдущих документов конференции:
    • Рекурсивное разделение чисел (RNP) [ 15 ] использует CKK для k = 2, но для k > 2 он рекурсивно разбивает S на подмножества и разбивает k пополам.
    • Гибридное рекурсивное разделение чисел (HRNP). [ 19 ]
    • Улучшено заполнение корзины. [ 20 ]
    • Улучшенные стратегии поиска. [ 21 ]
    • Алгоритм нескольких машин. [ 22 ]
    • Кэшированное итеративное ослабление (CIW). [ 23 ]
    • Последовательное разбиение . [ 24 ]

Сокращение до упаковки в мусорные контейнеры

[ редактировать ]

Проблема упаковки мусорных баков имеет множество быстрых решений. Решатель BP можно использовать для поиска оптимального разделения чисел. [ 25 ] Идея состоит в том, чтобы использовать двоичный поиск для поиска оптимального периода обработки. Чтобы инициализировать бинарный поиск, нам нужна нижняя и верхняя границы:

  • Некоторыми нижними границами интервала обработки являются: (sum S )/ k — среднее значение на подмножество, s 1 — наибольшее число в S и s k + s k+1 — размер интервала в оптимальном разделе, состоящем только из самые большие k +1 чисел.
  • Некоторых верхних границ можно достичь, применяя эвристические алгоритмы, такие как жадный алгоритм или KK.

Учитывая нижнюю и верхнюю границы, запустите решатель BP со средним размером ячейки := (нижний+верхний)/2.

  • Если результат содержит более k интервалов, то оптимальный интервал обработки должен быть больше: установите меньшее значение на среднее и повторите.
  • Если результат содержит не более k интервалов, то оптимальный интервал обработки может быть меньше, установите более высокое значение на среднее и повторите.

Варианты

[ редактировать ]

В задаче разделения сбалансированных чисел существуют ограничения на количество элементов, которые можно отнести к каждому подмножеству (они называются ограничениями мощности ).

Другой вариант — разбиение многомерных чисел . [ 26 ]

Приложения

[ редактировать ]

Одним из применений проблемы разделения является манипулирование выборами . Предположим, есть три кандидата (A, B и C). Единственный кандидат должен быть избран с использованием правила вето, т. е. каждый избиратель накладывает вето на одного кандидата, и побеждает кандидат с наименьшим количеством вето. Если коалиция хочет обеспечить избрание C, ей следует разделить свои вето между A и B так, чтобы максимизировать наименьшее количество вето, которое получит каждый из них. Если голоса взвешены, то проблему можно свести к проблеме разделения и, таким образом, ее можно эффективно решить с помощью CKK. При k =2 то же самое справедливо и для любого другого правила голосования, основанного на подсчете очков. Однако для k > 2 и других правил голосования требуются другие методы. [ 3 ]

Реализации

[ редактировать ]
  • Python: пакет prtpy содержит код для различных алгоритмов разделения чисел и упаковки ячеек.
  1. ^ Перейти обратно: а б Грэм, Рон Л. (1 марта 1969 г.). «Границы аномалий синхронизации многопроцессорной обработки» . SIAM Journal по прикладной математике . 17 (2): 416–429. дои : 10.1137/0117039 . ISSN   0036-1399 .
  2. ^ Перейти обратно: а б Мертенс, Стефан (2006), «Самая простая сложная задача: разделение чисел» , в Allon Percus; Габриэль Истрате; Кристофер Мур (ред.), Вычислительная сложность и статистическая физика , Oxford University Press, США, стр. 125, arXiv : cond-mat/0310317 , Bibcode : 2003cond.mat.10317M , ISBN  978-0-19-517737-4
  3. ^ Перейти обратно: а б Уолш, Тоби (11 июля 2009 г.). «Где действительно сложные проблемы манипулирования? Фазовый переход при манипулировании правилом вето» (PDF) . Написано в Пасадене, Калифорния, США. Материалы двадцать первой международной совместной конференции по искусственному интеллекту . Сан-Франциско, Калифорния, США: Morgan Kaufmann Publishers Inc., стр. 324–329. Архивировано (PDF) из оригинала 10 июля 2020 г. Проверено 05 октября 2021 г.
  4. ^ Фризен, ДК; Дойермейер, БЛ (1 февраля 1981 г.). «Анализ жадных решений проблемы последовательности замены деталей» . Математика исследования операций . 6 (1): 74–87. дои : 10.1287/moor.6.1.74 . ISSN   0364-765X .
  5. ^ Дойермейер, Брайан Л.; Фризен, Дональд К.; Лэнгстон, Майкл А. (1 июня 1982 г.). «Планирование для максимизации минимального времени завершения работы процессора в многопроцессорной системе» . SIAM Journal по алгебраическим и дискретным методам . 3 (2): 190–196. дои : 10.1137/0603019 . ISSN   0196-5212 .
  6. ^ Корф, Ричард Эрл (25 августа 2010 г.). «Целевые функции для многостороннего разделения чисел» . Третий ежегодный симпозиум по комбинаторному поиску . 1 : 71–72. дои : 10.1609/socs.v1i1.18172 . S2CID   45875088 .
  7. ^ Уолтер, Рико (01 января 2013 г.). «Сравнение минимального времени завершения двух эвристик планирования с самым длинным первым» . Центральноевропейский журнал исследования операций . 21 (1): 125–139. дои : 10.1007/s10100-011-0217-4 . ISSN   1613-9178 . S2CID   17222989 .
  8. ^ Гэри, Майкл Р.; Джонсон, Дэвид С. (1979). Компьютеры и трудноразрешимые проблемы: Руководство по теории NP-полноты . WH Фриман и компания. п. 238 . ISBN  978-0716710448 .
  9. ^ Перейти обратно: а б Хохбаум, Дорит С.; Шмойс, Дэвид Б. (1 января 1987 г.). «Использование алгоритмов двойного приближения для задач планирования теоретических и практических результатов» . Журнал АКМ . 34 (1): 144–162. дои : 10.1145/7531.7535 . ISSN   0004-5411 . S2CID   9739129 .
  10. ^ Перейти обратно: а б Сахни, Сартадж К. (1 января 1976 г.). «Алгоритмы планирования независимых задач» . Журнал АКМ . 23 (1): 116–127. дои : 10.1145/321921.321934 . ISSN   0004-5411 . S2CID   10956951 .
  11. ^ Перейти обратно: а б Вегингер, Герхард Дж. (1 мая 1997 г.). «Схема аппроксимации полиномиального времени для максимизации минимального времени завершения работы машины» . Письма об исследованиях операций . 20 (4): 149–154. дои : 10.1016/S0167-6377(96)00055-7 . ISSN   0167-6377 .
  12. ^ Чирик, Янош; Келлерер, Ганс; Вегингер, Герхард (1 июня 1992 г.). «Точная граница LPT для максимизации минимального времени завершения» . Письма об исследованиях операций . 11 (5): 281–287. дои : 10.1016/0167-6377(92)90004-М . ISSN   0167-6377 .
  13. ^ Джин, Кай (2017). «Оптимальное разделение, максимизирующее взвешенную сумму произведений» . В Сяо, Мингю; Розамонд, Фрэнсис (ред.). Границы в алгоритмике . Конспекты лекций по информатике. Том. 10336. Чам: Springer International Publishing. стр. 127–138. дои : 10.1007/978-3-319-59605-1_12 . ISBN  978-3-319-59605-1 .
  14. ^ Перейти обратно: а б Алон, Нога; Азар, Йоси; Вегингер, Герхард Дж.; Ядид, Таль (1998). «Аппроксимационные схемы планирования на параллельных машинах» . Журнал планирования . 1 (1): 55–66. doi : 10.1002/(SICI)1099-1425(199806)1:1<55::AID-JOS2>3.0.CO;2-J . ISSN   1099-1425 .
  15. ^ Перейти обратно: а б Корф, Ричард Э. (2009). Многостороннее разделение номеров (PDF) . ИДЖКАИ .
  16. ^ Корф, Ричард Э. (20 августа 1995 г.). «От приближенных к оптимальным решениям: пример разделения чисел» . Материалы 14-й Международной совместной конференции по искусственному интеллекту. Том 1 . IJCAI'95. Монреаль, Квебек, Канада: Morgan Kaufmann Publishers Inc.: 266–272. ISBN  978-1-55860-363-9 .
  17. ^ Корф, Ричард Э. (1 декабря 1998 г.). «Полный алгоритм разделения чисел в любое время» . Искусственный интеллект . 106 (2): 181–203. дои : 10.1016/S0004-3702(98)00086-1 . ISSN   0004-3702 .
  18. ^ Шрайбер, Итан Л.; Корф, Ричард Э.; Моффитт, Майкл Д. (25 июля 2018 г.). «Оптимальное многостороннее разделение номеров» . Журнал АКМ . 65 (4): 24:1–24:61. дои : 10.1145/3184400 . ISSN   0004-5411 . S2CID   63854223 .
  19. ^ Корф, Ричард Э. (16 июля 2011 г.). «Гибридный рекурсивный многосторонний алгоритм разделения чисел» . Материалы двадцать второй Международной совместной конференции по искусственному интеллекту - Том первый . IJCAI'11. Барселона, Каталония, Испания: AAAI Press: 591–596. ISBN  978-1-57735-513-7 .
  20. ^ Шрайбер, Итан Л.; Корф, Ричард Э. (3 августа 2013 г.). «Улучшенное заполнение контейнеров для оптимальной упаковки контейнеров и разделения номеров» (PDF) . Материалы двадцать третьей международной совместной конференции по искусственному интеллекту . IJCAI '13. Пекин, Китай: AAAI Press: 651–658. ISBN  978-1-57735-633-2 .
  21. ^ Моффитт, Майкл Д. (3 августа 2013 г.). «Стратегии поиска для оптимального многостороннего разделения чисел» (PDF) . Материалы двадцать третьей международной совместной конференции по искусственному интеллекту . IJCAI '13. Пекин, Китай: AAAI Press: 623–629. ISBN  978-1-57735-633-2 .
  22. ^ Корф, Ричард; Шрайбер, Итан (2 июня 2013 г.). «Оптимальное планирование небольшого количества одинаковых параллельных машин» . Материалы международной конференции по автоматизированному планированию и составлению графиков . 23 : 144–152. дои : 10.1609/icaps.v23i1.13544 . ISSN   2334-0843 . S2CID   12458816 .
  23. ^ Шрайбер, Итан Л.; Корф, Ричард Э. (27 июля 2014 г.). «Кэшированное итеративное ослабление для оптимального многостороннего разделения чисел» . Материалы конференции AAAI по искусственному интеллекту . АААИ'14. 28 . Квебек, Квебек, Канада: AAAI Press: 2738–2744. дои : 10.1609/aaai.v28i1.9122 . S2CID   8594071 .
  24. ^ Ричард Э. Корф, Итан Л. Шрайбер и Майкл Д. Моффит (2014). «Оптимальное последовательное многостороннее разделение номеров» (PDF) . {{cite web}}: CS1 maint: несколько имен: список авторов ( ссылка )
  25. ^ Шрайбер, Итан Л.; Корф, Ричард Э. (3 августа 2013 г.). «Улучшенное завершение контейнеров для оптимальной упаковки контейнеров и разделения номеров» . Материалы двадцать третьей международной совместной конференции по искусственному интеллекту . IJCAI '13. Пекин, Китай: AAAI Press: 651–658. ISBN  978-1-57735-633-2 .
  26. ^ Поп, Петрика К.; Матей, Оливиу (01 ноября 2013 г.). «Меметический алгоритмический подход к решению многомерной задачи многостороннего разделения чисел» . Прикладное математическое моделирование . 37 (22): 9191–9202. дои : 10.1016/j.apm.2013.03.075 . ISSN   0307-904X .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 59135e867a4d107bb95b36e30dff2cc9__1706219640
URL1:https://arc.ask3.ru/arc/aa/59/c9/59135e867a4d107bb95b36e30dff2cc9.html
Заголовок, (Title) документа по адресу, URL1:
Multiway number partitioning - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)