Як / Чому лінійні системи настільки важливі для інформатики?


9

Я почав займатися математичною оптимізацією зовсім недавно і люблю це. Здається, багато проблем з оптимізацією можна легко виразити і вирішити як лінійні програми (наприклад, мережеві потоки, обкладинка вершини / вершини, подорожуючий продавець тощо). Я знаю, що деякі з них є важкими для NP, але справа в тому, що вони можуть бути "обрамлена як лінійна програма", якщо її не вирішити оптимально.

Це задумало мене: нас завжди навчали системи лінійних рівнянь, лінійної алгебри у всій школі / коледжі. І бачити силу LP для вираження різних алгоритмів це начебто захоплююче.

Питання: Хоча у нас навколо нас нелінійні системи, де / чому такі лінійні системи є настільки важливими для інформатики? Я розумію, що вони допомагають спростити розуміння і обчислюються обчисленнями більшість випадків, але це так? Наскільки добре це «наближення»? Ми надто спрощуємось і чи є результати все ще значущими на практиці? Або це просто "природа", тобто проблеми, які є найбільш захоплюючими, справді просто лінійні?

Чи можна було б впевнитись, що "лінійна алгебра / рівняння / програмування" є наріжним каменем CS? Якщо ні, то що було б хорошим протиріччям? Як часто ми маємо справу з нелінійними речами (я не обов'язково маю на увазі теоретично, але також з точки зору "вирішуваності", тобто просто кажу, що НП не вирішує це; повинно бути хороше наближення до проблеми, і якщо воно приземлиться до лінійності?)


4
Я не спровокував, але не бачу, чому простежуваність не відповідає вам. Є кілька цікавих точних органів чуття, в яких невипуклі проблеми є нерозв'язними, наприклад. arxiv.org/abs/1210.0420 .
Колін МакКійлан

2
У низоводів може бути багато причин, чому вони вирішують не коментувати.
Тайсон Вільямс

1
Один із способів подивитися на це полягає в тому, що будь-яка проблема NP може бути зведена до цілого програмування в поліноміальний час, і тоді проблема цілочислення програмування може бути усунена. але ми використовуємо спектральні методи та релаксації СДП, які є проблемами квадратичної оптимізації, які ефективно вирішуються.
Сашо Ніколов

1
Що означає "лінійні системи" у цьому питанні?
Цуйоші Іто

1
лінійні системи зустрічаються протягом усього періоду науки .... його спрощення, яке отримує напрочуд високий пробіг .... це здається невеликим наслідком для необґрунтованої ефективності математики в природничих науках .. мабуть, CS відповідає цій категорії "природничих наук" ".... вона тісно пов'язана з фізикою, імовірно, все частіше, тому весь час (наприклад, зменшення транзисторів, тепловіддача, низький рівень QM, вивчення споживання енергії, ентропія тощо] ....
vzn

Відповіді:


12

Передумова цього питання є дефектом: багато хто може стверджувати, що квадратика є справжньою "межею" для простежуваності та моделювання, оскільки задачі з найменшими квадратами є настільки ж "легкими", як і лінійні задачі. Є й інші, хто стверджує, що опуклість (або навіть субмодульність у певних випадках) є межею для простежуваності.

Можливо, те, що є більш актуальним, - чому лінійні системи допускають простежувані рішення? " що не зовсім те, про що ви запитували, але пов'язане. Одне з цих питань - комбінованість. Оскільки визначальною властивістю лінійної системи є теf(x+y)=f(x)+f(y), це надає системі своєрідну "безпам'ятність". Щоб створити рішення проблеми, я можу зосередитись на окремих частинах і поєднати їх без штрафних санкцій. Дійсно, передумова більшості алгоритмів потоку саме в цьому.

Ця безпам`ятність надає ефективність: я можу розбити речі на частини, або працювати ітеративно, і не втрачаю в силу цього. Я все ще можу приймати погані рішення (див. Жадібні алгоритми), але сам акт розбиття речей не шкодить мені.

Це одна з причин, чому лінійність має таку силу. Напевно, багато інших.


Мені подобається ця відповідь, але тим, хто стверджує, що лінійне програмування не є межею, я відповідаю так: "це P-завершено!" ;).
Артем Казнатчеєв

Так, але чи так це, наприклад, що СДП не є?
Суреш Венкат

У нас не повинно бути єдиної межі, і деякі межі Р (скажімо, квадратичне програмування з позитивною напіввизначеною матрицею для квадратних доданків) здаються більш загальними. Я не хотіла погоджуватися, просто вказувала, що межа - це більше питання смаку при виборі між проблемами, повними P.
Артем Казнатчеєв

5

" Хоча у нас навколо нас нелінійні системи, де / чому лінійні системи є настільки важливими для інформатики?"

Ось часткова відповідь у моїй думці: я думаю, що це тому, що природа рясна предметами / явищами - представницькими функціями, які хоч і є нелінійними у своїх операндах, насправді є членами лінійних просторів. Хвиля функціонує в просторі Гільберта, компоненти в спектрі фур’є, поліноміальні кільця, стохастичні процеси - всі вони так поводяться. Навіть дуже загальні визначення вигнутих просторів будуються з складання невеликих діаграм плоских просторів (колекторів, ріманових поверхонь, ..). Більше того, природа сповнена симетрії, і вивчення симетрій незмінно потрапляє у вивчення лінійних операторів (теорія представлення, на мій погляд, проникає в багато областей інформатики, коли-небудь всюдисуща).

Це додатково до випадків, коли самі оператори мають лінійний характер.

Велика частина проблем, для яких нам потрібні комп'ютерні програми, виникають як безпосередньо, так і абстрагуються від природних явищ. Можливо, вивчення / розв’язування лінійних систем, зрештою, не повинно бути несподіванкою?


Ага так, чудові радощі підняття карт.
Суреш Венкат
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.