Лінійне діофантинове рівняння в невід’ємних цілих числах


16

Є лише дуже мало інформації, яку я можу знайти про повну NP-задачу розв’язання лінійного рівняння діофантину в негативних цілих числах. Тобто чи є рішення в невід’ємних рівняння , де всі константи позитивні? Єдина відома згадка про цю проблему, про яку я знаю, - це в Теорії лінійного та цілого програмування Шрівера . І навіть тоді це досить бурхлива дискусія.x1,x2,...,xна1х1+а2х2+...+анхн=б

Тому я дуже вдячний за будь-яку інформацію або довідку, яку ви могли б надати щодо цієї проблеми.

Мене найбільше хвилює два питання:

  1. Це сильно NP-Complete?
  2. Чи пов'язана з цим проблема підрахунку кількості рішень # P-hard чи навіть # P-завершено?

5
Це справді не питання рівня дослідження, і мені важко повірити, що ви не знайшли більше інформації. Почніть тут: en.wikipedia.org/wiki/Knapsack_problem
domotorp

3
для 2), afaik, немає жодного відомого прикладу проблеми, завершеної NP, натуральна версія підрахунку якої не є # P-завершеною. з'ясувати парсимонічне зменшення вашої конкретної проблеми може бути простішим, ніж знайти посилання. ця стаття робить це для тісно пов'язаних #SubsetSum: crt.umontreal.ca/~gerardo/tsppd-p-complete.pdf
Ніколов

8
Чи можу я попросити і @domotorp, і 4evergr8ful для трохи більшої уважності? Перший міг би пояснити, як проблема рубашки зводиться до таких рівнянь Діофантіна, які, здається, він вважає, що це так, тоді як 4evergr8ful, можливо, охолоне, тим більше, що він і просить про допомогу, і, очевидно, недосвідчений у роботі цього форуму . Але я подумав і над проблемою рюкзака, і мені зовсім не зрозуміло, що вона зводиться до позитивних рішень рівнянь Діофантіна.
Андрій Бауер

6
OP, як згадував @Austin, така ж динамічна ідея програми, що і для рюкзака, працює над вирішенням вашої проблеми в поліномічний час, коли обмежені поліном. Отже, ні, проблема не є сильно np-завершеною. і domotorp мав вагомий привід вказати вам на сторінку wiki ranapsack. аi
Сашо Ніколов

4
@ 4evergr8ful Звичайно, я припускав, що ви перефразовували цитату. Що це нормально. Однак ви неправильно вказали їх, змінивши "шість" на "кожен". Оскільки G&J визначають парсимонічні (тобто кількість рішень точно однакова), НЕ ПРАВИЛЬНО, що кожне скорочення між проблемами в NP може бути зроблено парсимонічним БЕЗПЕЧНО P = Parity-P. Причиною цього є те, що стандартне скорочення від SAT до NAE-SAT вводить коефіцієнт, який є потужністю 2. Це очікується, оскільки SAT є повноцінним для Parity-P, але NAE-SAT є легким (очевидно, що спарювання завдання, тому відповідь завжди рівна = 0).
Тайсон Вільямс

Відповіді:


1

Щодо (1), проблема не є сильною NP-жорсткою, див. Слідство 1 тут :

Papadimitriou, CH (1981). Про складність цілого програмування. Журнал ОСББ, 28 (4), 765-768.

Щодо (2), проблема, очевидно, полягає у #P, якщо всі константи позитивні. Існує також # P-повна версія SubsetSum, яка майже вписується у ваш проблемний примірник, але, однак, вимагає, щоб був 0 або 1, дивіться тут :хi

Фалішевський, П. і Хемаспандра, Л. (2009). Складність порівняння індексу потужності. Теоретичні інформатики 410 (1), 101-107.

Я майже впевнений, що конструкцію, використовувану Фалішевським та Гемаспаандрою, можна відрегулювати таким чином, що вимога не потрібна, і, отже, стверджувати, що проблема є # P-повною, за умови, що константи закодовані в двійкові.хi{0,1}


0

Я взагалі не фахівець з цього питання, але хотів би почати конструктивну дискусію. Ось спроба, заснована на питанні math.stackexchange.com Підрахуйте кількість позитивних рішень для лінійного рівняння діофантину . Ця стаття пов'язана з поліномами Ерхарта, про які я нічого не знаю, і я думаю також про коментарі @ SashoNikolov вище.

Визначте як кількість негативних розв’язків рівняння Діофантіна a n x n + a n - 1 x n - 1 + + a 1 x 1 = b , де коефіцієнти a i додатні, а b - негативні. Якщо я отримую свої рекурсії правильно, то у нас є N (N(а1,а2,,ан;б)

анхн+ан-1хн-1++а1х1=б,
аiб
N(а1;б)={1якщо а1б0інакше
N(а1,,ан+1;б)=0 к б/ан+1N(а1,,ан;б-ан+1к)
's. Ми знаємо, що це буде многочлен в b , але я не бачу, як обчислити поліном досить швидко.кб

1
Шановний Андрію, у випадку сильної твердості у NP ми вимірюємо величину введення, а не довжину його. Дивіться також: en.wikipedia.org/wiki/Knapsack_problem#Dynamic_programming
domotorp

2
@domotorp, я думаю, що Андрій займається другим питанням, про # P-повноту, не першим про сильну NP-повноту, на що, наскільки я бачу, дуже легко відповісти (ні, проблема не сильно NP -комплект). Андрію, я розгублений, що ти сподівається показати тут? Оскільки проблема рішення не є повною, NP, ви не можете сподіватися підраховувати кількість рішень. Ви сподіваєтесь наблизити кількість рішень? Або є швидший, ніж експоненційний алгоритм часу?
Сашо Ніколов

1
BTW, я думаю, що цілком ймовірно, що алгоритм у цій роботі (приблизно підраховуючи кількість рішень для ранку за допомогою динамічного програмування) може бути адаптований до проблеми рівняння діофантину
Ніколов

3
Я дізнався ще один факт про цю проблему. Є три види людей: ті, хто називає це проблемою #linear diophantine, ті, хто називає це проблемою # unbound рюкзак, і нарешті ті, хто називає це проблемою, що переживає. І вони, схоже, не розмовляють між собою.
4evergr8ful
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.