2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Неконструктивная сложность алгоритма
Сообщение04.06.2024, 20:26 


04/06/24

14
Допустим, лучший известный алгоритм решения некоторой задачи имеет квадратичную сложность. Но доказано, что эту задачу можно решить линейным алгоритмом, но его никто не знает. Такие ситуации есть? Если докажут, что P=NP, то они точно появятся.

 Профиль  
                  
 
 Re: Неконструктивная сложность алгоритма
Сообщение04.06.2024, 21:02 


26/12/11
92
Bogka в сообщении #1641408 писал(а):
Такие ситуации есть?
Когда проводят анализ алгоритма, то по-хорошему, где-то рядом рассматривают вопрос "почему нельзя быстрее". Если же всё-таки "можно быстрее", то это выяснится тут же, в процессе этого же анализа. А значит, сразу будет ясно, где чего подкрутить.

В ситуации, о которой Вы говорите... Вы как себе это представляете?
Вот у Вас есть алгоритм и он классный. А я прихожу и говорю: Я точно знаю, что можно быстрее. Но я не знаю, как. А если я не знаю, как, то с чего я решил, что можно быстрее? Ну, я доказал математически. А что я доказал-то? Что я анализировал? А я сам не знаю, что я анализировал.
Так что ли? Странно как-то.

А вот если я анализировал существующий алгоритм и увидел, что "можно быстрее", то есть я увидел, где этот алгоритм "не дотягивает", увидел "слабые места", то понятно, что эти "слабые места" и нужно пытаться исправить.

 Профиль  
                  
 
 Re: Неконструктивная сложность алгоритма
Сообщение04.06.2024, 21:11 
Заслуженный участник


07/08/23
1196
Есть алгоритмы факторизации чисел и проверки на простоту, вроде там бывают случаи, когда хорошее время работы доказано в предположении чего-то в духе обобщённой гипотезы Римана.

 Профиль  
                  
 
 Re: Неконструктивная сложность алгоритма
Сообщение04.06.2024, 21:21 


04/06/24

14
dgwuqtj
Если в них какая-то процедура, успешно работающая всегда, если выполняется гипотеза, это конструктивно и для практики достаточно. Там действительно доказано неконструкивно?

 Профиль  
                  
 
 Re: Неконструктивная сложность алгоритма
Сообщение04.06.2024, 21:29 
Заслуженный участник


07/08/23
1196
А при чём тут практика? Речь идёт про теоретические результаты об абстрактных алгоритмах на абстрактных машинах (скажем, словарных RAM). У самых быстрых алгоритмов умножения матриц, к примеру, такие скрытые константы, что их никто не имплементировал. На практике же часто хватает каких-нибудь приближённых алгоритмов, например, проверку на простоту можно брать вероятностную или недоказанную.

-- 04.06.2024, 21:34 --

Ну и использование теоретико-числовых гипотез - это всё-таки конструктивные доказательства, просто условные. А итоговую сложность не знают, пока не докажут гипотезу или не обоснуют сложность по-другому.

 Профиль  
                  
 
 Re: Неконструктивная сложность алгоритма
Сообщение04.06.2024, 21:46 


04/06/24

14
Пишут, что важная проблема есть или нет линейный алгоритм умножения матриц. Если неконструктивно докажут, что он есть, это будет сильная мотивация его искать. Как и если неконструктивно докажут P=NP, будет мотивация искать полиномиальные алгоритмы традиционно считаемых экспоненциальными задач.

 Профиль  
                  
 
 Re: Неконструктивная сложность алгоритма
Сообщение04.06.2024, 21:50 
Заслуженный участник


07/08/23
1196
Ну вот окажется, что есть алгоритм умножения матриц $n \times n$ над полем $\mathbb F_2$ за $10^{100} n^2$ элементарных операций. И докажут, что быстрее асимптотически нельзя. И что?

-- 04.06.2024, 21:51 --

Между $P = NP$ и поиском быстрых алгоритмов для задач из класса $P$ всё-таки большая разница.

 Профиль  
                  
 
 Re: Неконструктивная сложность алгоритма
Сообщение04.06.2024, 21:58 


04/06/24

14
dgwuqtj
А если докажут, что константа 10, то много людей бросятся его искать, и специалисты и нет, в том числе применяя ИИ и создавая новые ИИ под эту задачу. В Дипмайнде улучшили сортировку 5 чисел и умножение матриц 4х4 или около того с помощью ИИ. С учетом того, что к этому рекурсивно приходят алгоритмы на больших размерах, улучшились и они.

 Профиль  
                  
 
 Re: Неконструктивная сложность алгоритма
Сообщение04.06.2024, 22:01 
Заслуженный участник


07/08/23
1196
Это, конечно, хорошо было бы.

 Профиль  
                  
 
 Re: Неконструктивная сложность алгоритма
Сообщение04.06.2024, 22:27 
Заслуженный участник
Аватара пользователя


23/07/08
10910
Crna Gora
Да, коэффициенты.
Вот тут (Хабр) пишут, что недавно китайцы предложили алгоритм умножения матриц со сложностью $O(n^{2.371866})$, побив прежний рекорд $O(n^{2.3728596})$. Допустим, это им удалось ценой увеличения коэффициента всего в $2$ раза. При каких $n$ уменьшение показателя степени перевесит увеличение коэффициента, и мы таки получим выигрыш в скорости? WolframAlpha говорит, что при $n>9.31102\cdot 10^{302}.$
Если раньше подобные новости и производили на меня какое-то впечатление, то после этого расчёта — точно нет.

 Профиль  
                  
 
 Re: Неконструктивная сложность алгоритма
Сообщение04.06.2024, 23:58 
Заслуженный участник


18/01/15
3245

(Оффтоп)

Тут и без Вольфрама ясно. Улучшение показателя примерно $0,001$, коэффициент предполагаем увеличивающимся в 2 раза, значит размер, с которого старый алгоритм уступает новому, примерно $2^{1000}\approx 10^{300}$ , ибо $2^{10}\approx 10^3$.

 Профиль  
                  
 
 Re: Неконструктивная сложность алгоритма
Сообщение05.06.2024, 01:40 
Заслуженный участник
Аватара пользователя


16/07/14
9216
Цюрих
Bogka в сообщении #1641425 писал(а):
Как и если неконструктивно докажут P=NP
Есть алгоритм Левина, находящий выполняющий набор для выполнимых SAT-формул, и, если P=NP, делающий это за полиномиальное время.

 Профиль  
                  
 
 Re: Неконструктивная сложность алгоритма
Сообщение05.06.2024, 02:32 


04/06/24

14
mihaild
Он как бы полностью выполнимость не решает? Что он делает если формула невыполнима?

 Профиль  
                  
 
 Re: Неконструктивная сложность алгоритма
Сообщение05.06.2024, 10:01 
Заслуженный участник
Аватара пользователя


11/03/08
10003
Москва
Мне кажется, что если доказать отсутствие алгоритма меньшей сложности можно даже без предъявления алгоритма, то наличие "быстрого алгоритма" предполагает явное описание алгоритма. Без этого можно только высказывать гипотезу о его существовании. Если говорить о проблеме P=NP, то её решение может состоять лишь в предъявлении полиномиального алгоритма для одной из NP-полных задач. Что вроде как можно трактовать "доказано существование полиномиального алгоритма для всех прочих NP-полных задач, но его никто не знает". Однако в этом классе задач есть алгоритмы сведения одних задач этого класса к другим, то есть полиномиальный алгоритм существует и предъявлен (но может оказаться для конкретной задачи непрактичным).
И касательно непрактичности - общался я некогда с человеком, пытавшимся реализовать в библиотеке программ алгоритм Шенхаге-Штрассена. Проблема там, как я понял с его слов, была связана не столько с большой константой, сколько с тем, что число операций типа сложения резко выросло, и в результате появилась численная неустойчивость.

(Оффтоп)

А ещё в наивные студенческие годы пытался я придумать алгоритм умножения матриц со сложностью $O(n^2\ln n)$, развернув матрицы-сомножители в вектора и вставив нолики между фрагментами, соответствовавшими строкам и столбцам, соответственно...

 Профиль  
                  
 
 Re: Неконструктивная сложность алгоритма
Сообщение05.06.2024, 19:52 
Заслуженный участник
Аватара пользователя


16/07/14
9216
Цюрих
Bogka в сообщении #1641459 писал(а):
Он как бы полностью выполнимость не решает? Что он делает если формула невыполнима?
Зависает.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу 1, 2  След.

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group