Butter wouldn't melt...

Sep 09, 2024 13:49

Я забил в гпт вопрос.

Вот у меня есть такой-то O(n^2) алгоритм, который стартует со списка кусков линий (в общем случае пространственных), и проверяет: если пара концов каких-либо двух линий из списка ближе, чем ε друг к другу, их нужно слить в один кусок и начать просмотр заново.

Такой, наивный алгоритм. При увеличении размера списка время работы довольно быстро растет поскольку n^2, что неприятно. Спрашиваю: что можно сделать для увеличения быстродействия?

И он пошел мне про какие-то KD-деревья.

А я спросил: а можно ведь разбить изначальный массив на маленькие кусочки и пустить несколько параллельных threads? Потом дождавшись, когда все они выполнятся, в последний раз с результатами из этих веток ещё раз просмотреть на предмет слияния?

Да, говорит. Можно. В данном случае, мне это пойдёт, потому что нет времени на все эти изыски с nearest neighbors. И что?

Нужно этому гпт всё подсказывать. Да ещё и проверять по сто раз, что он такое насоветовал. Но всё равно удобно. Net effect: сильно сокращается время разработки.

работа, искусственный интеллект

Previous post Next post
Up