![]() |
|
|
![]()
|
|
| Kangaroo |
|
|||
|
AA - Aussie Animal ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2042 Регистрация: 7.10.2006 Где: US Репутация: нет Всего: 104 |
Всем привет!
На плоскости находятся точки. Необходимо найти оптимальное расположение горизонтальной линии (на рисунке - красная) так, чтобы суммарная длина перпендикуляров (на рисунке - синии линии) была наименьшей. ![]() Рекомендуют использовать алгоритм поиска двух наиболее близких точек на плоскости (Описан тут), но я пока не придумал куда его прикрутить. Любые идеи, ссылки приветствуются. Спасибо. -------------------- Lost.... |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
"Метод наименьших отклонений". -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 7 Всего: 386 |
Гы... Зачет?
Рассмотрим 2 точки. если прямая расположена между ними, то сумма перпендикуляров наименьшая и не изменяется. Можно на досуге подоказывать... Итого решение - делим все точки на 2 равные половины. одна половина лежит выше другой. проводим прямую между половинами. Если количество точек нечетно - выделяем точку прямо "типо по центру" и проводим прямую по ней... -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Kangaroo |
|
|||
|
AA - Aussie Animal ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2042 Регистрация: 7.10.2006 Где: US Репутация: нет Всего: 104 |
Гугл нашел только твой пост, может есть другое название? Ну, если бы все так просто Я, наверное, немного не так написал в первом посте. Мне интересно как можно использовать алгоритм про две точки в этой задаче. В этом основная проблема. Лабу помогаю сделать. -------------------- Lost.... |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 7 Всего: 386 |
Пудрют мозги? Либо так, либо условие неполное -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Kangaroo |
|
|||
|
AA - Aussie Animal ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2042 Регистрация: 7.10.2006 Где: US Репутация: нет Всего: 104 |
Ок, попытаюсь ща найти что-нибудь в условии. Спасибо. Добавлено через 45 секунд Все может быть )) -------------------- Lost.... |
|||
|
||||
| fryConstantine |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 18.9.2008 Репутация: нет Всего: нет |
метод наименьшх квадратов |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
Бред. Возьми метод наименьших квадратов - конкретно АНАЛИТИЧЕСКОЕ получение выражения для подсчета k и b через соотв. суммирование. Потом проделай ТО ЖЕ САМОЕ, но минимизируя не сумму квадратов, а сумму абсов отклонений от регрессионного уравнения y=k. И получишь аналитическое выражение для расчета этого самого k. Если же тебе достаточно численного решения, без аналитики - Экселевский "поиск решения" щелкает такие задачки как орехи. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 7 Всего: 386 |
? если мы отобразим все множество наших точек на прямую Y и будем решать ту-же задачу для прямой это будет бредом? Пусть для начала, количество точек четно. Разделим точки на 2 равных по количеству множества (Y и Z), все элементы первого лежат не "ниже" всех элементов второго. Возьмем точку, лежащую "не ниже" второго и "не выше" первого. Начнем утверждать , что такая точка (X) и есть решение нашей задачи... Итого - Нужно минимизировать выражение СУММА(abs(Y[]-X))+ СУММА(abs(Z[]-X)) Для этого выберем по одной точке из первого и второго множества, возьмем первую по счету пару и убедимся, что это так... Показывается перебором возможного расположения x y и z. Возьмем вторую, третью и т.д пары Получим, что конструкция abs(Y[n]-X)+abs(Z[n]-X) уже минимизирована. Сложив все такие уже минимизированные конструкции получим, что искомое выражение таки уже минимизировано... В каком месте наблюдается бред? -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
У меня. Просто в другом форуме буквально день назад была та же задача - но с минимизацией суммы квадратов отклонений. Вот и ляпнул не подумав. Приношу извинения. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Kangaroo |
|
|||
|
AA - Aussie Animal ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2042 Регистрация: 7.10.2006 Где: US Репутация: нет Всего: 104 |
А я уже минут 10 чесал репу над твоим постом Сделал по алгоритму, который описал ksnk. Тему пока не закрываю, если расскажут как надо было правильно ksnk, Akina, спасибо. -------------------- Lost.... |
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |