powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Произошёл бы какой-нибудь прорыв, если макс. время сортировки уменьшить с N * log(N) до N?
21 сообщений из 21, страница 1 из 1
Произошёл бы какой-нибудь прорыв, если макс. время сортировки уменьшить с N * log(N) до N?
    #38091482
baden_baden
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для определённых случаев сортировка за линейное время осуществима, но хочется узнать, что бы дало в принципе такое уменьшение времени, ведь даже log(1 000 000 000 000) не так велик. Даже для тех задач, которые я решал, было значительное отличие при замене сортировки пузырьком на быструю сортировку, но там мы заменяли N * Т на N * log(N), а произойдёт ли что-то революционное(решатся какие-то нерешаемые ранее из-за времени задачи, появятся новые алгоритмы, благодаря которым в нашей повседневности или хотя бы в некоторых профессиях появятся сильно упрощающие жизнь системы), если мы уберём log(N) и научимся волшебным образом сортировать числа за N действий?
...
Рейтинг: 0 / 0
Произошёл бы какой-нибудь прорыв, если макс. время сортировки уменьшить с N * log(N) до N?
    #38091589
Abstraction
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
baden_baden,

Ну, во-первых, этот "волшебный" способ был бы интересен сам по себе. Если правильно помню, возможность сортировки быстрее O(N*lnN) означает достаточно странные вещи (у Скиены были рассуждения на эту тему, доберусь до дома - напишу подробнее).
А во-вторых, это означает ускорение многих других алгоритмов. NP-задачи, насколько помню, так и останутся NP, но открытие будет очень приятное.
...
Рейтинг: 0 / 0
Произошёл бы какой-нибудь прорыв, если макс. время сортировки уменьшить с N * log(N) до N?
    #38091808
rt5858
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ващет сложность квик сорт = O(N^2)
...
Рейтинг: 0 / 0
Произошёл бы какой-нибудь прорыв, если макс. время сортировки уменьшить с N * log(N) до N?
    #38091813
Abstraction
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rt5858ващет сложность квик сорт = O(N^2)В худшем случае. O(N*lnN) в среднем. Возьмите пирамидальную - будет и в худшем O(N*lnN).
...
Рейтинг: 0 / 0
Произошёл бы какой-нибудь прорыв, если макс. время сортировки уменьшить с N * log(N) до N?
    #38091867
rt5858
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AbstractionВ худшем случае. O(N*lnN) в среднем.
да я это знаю.. эх
...
Рейтинг: 0 / 0
Произошёл бы какой-нибудь прорыв, если макс. время сортировки уменьшить с N * log(N) до N?
    #38092687
Abstraction
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Исправляюсь: сортировка за O(N) без дополнительных предположений о сравниваемых элементах невозможна. Обсуждение вопроса содержится в книге С. Скиены, "Алгоритмы: руководство по разработке", 4.7.1, также 9.2.1.
Кратко: существует n! перестановок элементов, каждое сравнение сокращает число перестановок не более чем вдвое, требуется прийти к единственной перестановке => требуется минимум O(ln(N!))=O(N*lnN) операций.
...
Рейтинг: 0 / 0
Произошёл бы какой-нибудь прорыв, если макс. время сортировки уменьшить с N * log(N) до N?
    #38092721
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
baden_badenДля определённых случаев сортировка за линейное время осуществима, но хочется узнать, что бы дало в принципе такое уменьшение времени, ведь даже log(1 000 000 000 000) не так велик. Даже для тех задач, которые я решал, было значительное отличие при замене сортировки пузырьком на быструю сортировку, но там мы заменяли N * Т на N * log(N), а произойдёт ли что-то революционное(решатся какие-то нерешаемые ранее из-за времени задачи, появятся новые алгоритмы, благодаря которым в нашей повседневности или хотя бы в некоторых профессиях появятся сильно упрощающие жизнь системы), если мы уберём log(N) и научимся волшебным образом сортировать числа за N действий?

Таких постановок практически нету. Если вы сортируете вектор
целых чисел то:

1 000 000 000 000 / 2^32 = / 4 294 967 295 = 232

Какова кардинальность? Каждое число диапазона целых
при равномерной гистограме встречается в выборке 232 раза!
Учитывая специфику предметной области я утверждаю
что линейных гистограмм практически не бывает. Поэтому
проще подсчитывать подсчётом (1 проход!)
и выводить результат. Это для чисел.

Если вы сортируете набор строк в БД то их никто не сортирует
а строят индекс и по нему извлекают.

Сортировка - это очень тяжёлый алгоритм с очень малым КПД
и малым полезным эффектом в принципе!

Данные выгоднее поддерживать с сортированных структурах
а не сортировать на каждый чих! Из-за этого мы имеем
непонимание студентами принципов оптимизации. Студент
оптимизирует "не то" и "не там" и не смотрит в корень
постановки.

И еще раз. Таких постановок не бывает.
...
Рейтинг: 0 / 0
Произошёл бы какой-нибудь прорыв, если макс. время сортировки уменьшить с N * log(N) до N?
    #38092753
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonЕсли вы сортируете набор строк в БД то их никто не сортирует
а строят индекс и по нему извлекают.Настолько нелепо, что даже спорить не хочется.
...
Рейтинг: 0 / 0
Произошёл бы какой-нибудь прорыв, если макс. время сортировки уменьшить с N * log(N) до N?
    #38092754
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Из контекста понятно что я говорю о 1 000 000 000 000 словах?
...
Рейтинг: 0 / 0
Произошёл бы какой-нибудь прорыв, если макс. время сортировки уменьшить с N * log(N) до N?
    #38092759
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Не очень. Сформулируйте, плиз, фразу про сортировку строк более развернуто.
...
Рейтинг: 0 / 0
Произошёл бы какой-нибудь прорыв, если макс. время сортировки уменьшить с N * log(N) до N?
    #38092768
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft, придумай постановку где тебе "вне DBMS" нужно
сортировать 10^12 слов.
...
Рейтинг: 0 / 0
Произошёл бы какой-нибудь прорыв, если макс. время сортировки уменьшить с N * log(N) до N?
    #38092779
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

А причем тут "вне DBMS"? в той фразе было "в БД".

Хотя если очень хочется - пожалуйста. У меня один знакомый сортировал фрагменты органических молекул (атом конкретного элемент кодируется соответствующей буквой). Размер не помню, но на HDD трех-четырехлетней давности влезала только одна такая коллекция (т.е. сотни Гб). И у него была задача быстрого поиска по этой коллекции по началу цепочки. Т.е. в терминах SQL это была операция поле LIKE 'строка%' . Ну так вот по отсортированной коллекции в плоском файле с небольшим самопальным индексом у него поиск работал в разы быстрее, чем MS SQL c аналогичной коллекцией в таблице. Одна беда - софт, который генерил эту коллекцию, умел выгружать ее только целиком. В итоге сортировать ее заново было проще и быстрее, чем пытаться найти изменения и вставить их в ту же таблицу в MS SQL.
...
Рейтинг: 0 / 0
Произошёл бы какой-нибудь прорыв, если макс. время сортировки уменьшить с N * log(N) до N?
    #38092784
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft, для сортировки этой сотни гигабайт ему нужен был как минимум
еще пара таких дисков. +Merge sort. Дальше не скажу нужна статистика
по данным. Что. Чего. Сколько. Какая средняя длина элемента e.t.c.
...
Рейтинг: 0 / 0
Произошёл бы какой-нибудь прорыв, если макс. время сортировки уменьшить с N * log(N) до N?
    #38110186
Чотакакта
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
I/O-сопроцессоры, математические сопроцессоры, графические сопроцессоры... ждем аппаратного БДшного сопроцессора (около-мгновенная сортировка/поиск/фильтрация непосредственно в памяти, а дальше и на носителях), ну и чуть позже приход алгоритмического сопроцессора.

В результате в повседневной жизни появится сильно упрощающая жизнь кнопка "Сделать всё как надо" и не надо будет думать о каких-то там алгоритмах чего-то там.. Да и вообще, думать не надо будет..

P.S. Сорри, наболело..
...
Рейтинг: 0 / 0
Произошёл бы какой-нибудь прорыв, если макс. время сортировки уменьшить с N * log(N) до N?
    #38110189
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЧотакактаI/O-сопроцессоры, математические сопроцессоры, графические сопроцессоры... ждем аппаратного БДшного сопроцессора (около-мгновенная сортировка/поиск/фильтрация непосредственно в памяти, а дальше и на носителях), ну и чуть позже приход алгоритмического сопроцессора.

В результате в повседневной жизни появится сильно упрощающая жизнь кнопка "Сделать всё как надо" и не надо будет думать о каких-то там алгоритмах чего-то там.. Да и вообще, думать не надо будет..

В подобной технике нельзя что-то одно ускорить с стотыщпитсот раз и оставить при этом без
изменения всё остальное. Если даже предположить что существует процессор иммитирующий
работу DBMS-Oracle то его узким местом мгновенно станет память. Надо будет ее ускорять
во столько-же раз. Вобщем придём к тому что закон Мура уже не действует (старик Гордон
ухмыляется) и надо форсировать параллелизм. А его уже давно форсируют строя кластеры.
А кластеры само по себе решение дешевле чем строительство новых процессоров. Ведь перезалить
софт стоит в тыщи раз дешевле чем изготовить новый процессор.

Нужно форсировать неисследованные идеи. К примеру вообще отказаться от принципа трех-уровневой
памяти и ввести еще парочку уровней. Создав тем самым много слоёв кеширования и отказавшись
от дорогостоящей DDR3 как от основной и от магнитного диска. Новые процессоры на аналоговых имплементациях нейросетей.
Новые типы устройств хранения (без энергопотребления вообще). Вспомогательные процессоры
для логических машин типа Lisp, для быстрой символьной логики и ФП. Игровые процессоры графики
больше не развивать. И так бесполезная трата энергии. А вот физику - форсировать. Дело
полезное и не только в играх но и в науке.

Исследовать био-технологии процессоры не на основе кремния а на основе живых структур и т.п.
...
Рейтинг: 0 / 0
Произошёл бы какой-нибудь прорыв, если макс. время сортировки уменьшить с N * log(N) до N?
    #38110422
sphinx_mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonЧотакактаI/O-сопроцессоры, математические сопроцессоры, графические сопроцессоры... ждем аппаратного БДшного сопроцессора (около-мгновенная сортировка/поиск/фильтрация непосредственно в памяти, а дальше и на носителях), ну и чуть позже приход алгоритмического сопроцессора.

В результате в повседневной жизни появится сильно упрощающая жизнь кнопка "Сделать всё как надо" и не надо будет думать о каких-то там алгоритмах чего-то там.. Да и вообще, думать не надо будет..

...скип...
Нужно форсировать неисследованные идеи.
...скип...

Тут главное не забыть бы, что "столица автоматически переходит в Васюки." (с) Остап Ибрагимович...
...
Рейтинг: 0 / 0
Произошёл бы какой-нибудь прорыв, если макс. время сортировки уменьшить с N * log(N) до N?
    #38111080
Khod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonНовые типы устройств хранения (без энергопотребления вообще). Вспомогательные процессоры
для логических машин типа Lisp, для быстрой символьной логики и ФП. Игровые процессоры графики
больше не развивать. И так бесполезная трата энергии. А вот физику - форсировать. Дело
полезное и не только в играх но и в науке.

Исследовать био-технологии процессоры не на основе кремния а на основе живых структур и т.п.

Как устройства хранения без энергопотребления могут ускорить вычисления?

Почему вспомогателные процессоры для языков типа Лиспа, а не Дракона например.
Или машину Тьюринга имели ввиду?

Игровые процессоры не развивать. Но ведь их используют для вычислений (та же Суба).

Физику форсировать как?
В теорию относительности перевести к субсветоваым скоростям?

У биотехнологий процент адекватного решения стремится к 100% но не раывен 100%.
...
Рейтинг: 0 / 0
Произошёл бы какой-нибудь прорыв, если макс. время сортировки уменьшить с N * log(N) до N?
    #38111145
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KhodКак устройства хранения без энергопотребления могут ускорить вычисления?
Есть разные пути ускорения расчётов. Часть из них основаны
на том что ты повышаешь скорость АЛУ и наращиваешь количество ядер.
Но иногда есть предел. (Элементарно денег не хватит).
Есть и другой подход. В общем случае это мемоизация. Почитай
на тему.
...
Рейтинг: 0 / 0
Произошёл бы какой-нибудь прорыв, если макс. время сортировки уменьшить с N * log(N) до N?
    #38111151
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KhodПочему вспомогателные процессоры для языков типа Лиспа, а не Дракона например.Или машину Тьюринга имели ввиду?
Не обязательно Лиспа. Любую машину символьной логики
которая активно использует не классическую (плоскую)
модель памяти с ячейками а модель на ассоциаций и деревьев.
...
Рейтинг: 0 / 0
Произошёл бы какой-нибудь прорыв, если макс. время сортировки уменьшить с N * log(N) до N?
    #38111182
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KhodИгровые процессоры не развивать. Но ведь их используют для вычислений (та же Суба).
Их слабо используют. И их API и фреймворки запилены только под рендеринг графики.
И они узко-специализированные. Набор команд - неуниверсальный.
То что из запилили под некоторые расчётные алгоритмы это просто забавный технический
казус. Но если-бы цель стояла просто поднять перформанс основного CPU
для расчётов математики то никто-бы не ставил себе на борт игровые видяшки
а вкладывались бы в большее количество обычных штатных CPU на одной motherboard.
И то что красноглазики и технофрики считают Raibow tables на видяшках
это тоже забавных техничекий казус. Это не системый подход. Это воля случая.
...
Рейтинг: 0 / 0
Произошёл бы какой-нибудь прорыв, если макс. время сортировки уменьшить с N * log(N) до N?
    #38111192
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KhodУ биотехнологий процент адекватного решения стремится к 100% но не раывен 100%.
Ты очень сильно удивишся но системы распознающие лицевые образы,
отпечатки пальцев штрих и QR-коды всегда выдают вероятностный
ответ или выдают множество эталонных образов попадающих в допустимую
группу совпадений. (То что не видишь на экране этих критериев
просто говорит о том что разработчих их от тебя стыдливо скрыл
и не показывает).

Другого метода брадт, еще не создали ни на кремниях ни на биотехнологиях.

P.S. А биотехнологии просто могли-бы быть дешевле.
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Произошёл бы какой-нибудь прорыв, если макс. время сортировки уменьшить с N * log(N) до N?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]