Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Оптимальное расположение линии, по отношению к точкам на плоскости 
:(
    Опции темы
Kangaroo
Дата 14.10.2008, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


Профиль
Группа: Участник Клуба
Сообщений: 2042
Регистрация: 7.10.2006
Где: US

Репутация: нет
Всего: 104



Всем привет!

На плоскости находятся точки.
Необходимо найти оптимальное расположение горизонтальной линии (на рисунке - красная) так, чтобы суммарная длина перпендикуляров (на рисунке - синии линии) была наименьшей.
user posted image

Рекомендуют использовать алгоритм поиска двух наиболее близких точек на плоскости (Описан тут), но я пока не придумал куда его прикрутить.


Любые идеи, ссылки приветствуются. Спасибо.



--------------------
Lost....
PM MAIL MSN   Вверх
Akina
Дата 14.10.2008, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Цитата(Kangaroo @  14.10.2008,  18:56 Найти цитируемый пост)
чтобы суммарная длина перпендикуляров (на рисунке - синии линии) была наименьшей.

"Метод наименьших отклонений".


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
ksnk
Дата 14.10.2008, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 7
Всего: 386



Гы... Зачет?
 Рассмотрим 2 точки. если прямая расположена между ними, то сумма перпендикуляров наименьшая и не изменяется. Можно на досуге подоказывать...
Итого решение - делим все точки на 2 равные половины. одна половина лежит выше другой. проводим прямую между половинами. Если количество точек нечетно - выделяем точку прямо "типо по центру" и проводим прямую по ней...


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Kangaroo
Дата 14.10.2008, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


Профиль
Группа: Участник Клуба
Сообщений: 2042
Регистрация: 7.10.2006
Где: US

Репутация: нет
Всего: 104



Цитата(Akina @  14.10.2008,  18:09 Найти цитируемый пост)
"Метод наименьших отклонений"

Гугл нашел только твой пост, может есть другое название?


Цитата(ksnk @  14.10.2008,  18:20 Найти цитируемый пост)
Рассмотрим 2 точки. если прямая расположена между ними, то сумма перпендикуляров наименьшая и не изменяется. Можно на досуге подоказывать...
Итого решение - делим все точки на 2 равные половины. одна половина лежит выше другой. проводим прямую между половинами. Если количество точек нечетно - выделяем точку прямо "типо по центру" и проводим прямую по ней... 

Ну, если бы все так просто smile Это я сам уже придумал. Мне смутила подсказка про "алгоритм поиска двух наиболее близких точек на плоскости".

Я, наверное, немного не так написал в первом посте. Мне интересно как можно использовать алгоритм про две точки в этой задаче. В этом основная проблема.



Цитата(ksnk @  14.10.2008,  18:20 Найти цитируемый пост)
Гы... Зачет?

Лабу помогаю сделать.


--------------------
Lost....
PM MAIL MSN   Вверх
ksnk
Дата 14.10.2008, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 7
Всего: 386



Цитата

Мне смутила подсказка про "алгоритм поиска двух наиболее близких точек на плоскости"

Пудрют мозги? Либо так, либо условие неполное smile Вроде по этому условию решение такое и есть...


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Kangaroo
Дата 14.10.2008, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


Профиль
Группа: Участник Клуба
Сообщений: 2042
Регистрация: 7.10.2006
Где: US

Репутация: нет
Всего: 104



Цитата(ksnk @  14.10.2008,  20:32 Найти цитируемый пост)
Либо так, либо условие неполное

Ок, попытаюсь ща найти что-нибудь в условии. Спасибо.

Добавлено через 45 секунд
Цитата(ksnk @  14.10.2008,  20:32 Найти цитируемый пост)
Пудрют мозги?

Все может быть ))


--------------------
Lost....
PM MAIL MSN   Вверх
fryConstantine
Дата 15.10.2008, 02:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 18.9.2008

Репутация: нет
Всего: нет



Цитата

Гугл нашел только твой пост, может есть другое название?

метод наименьшх квадратов
PM MAIL   Вверх
Akina
Дата 15.10.2008, 07:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Цитата(ksnk @  14.10.2008,  19:20 Найти цитируемый пост)
решение - делим все точки на 2 равные половины. одна половина лежит выше другой. проводим прямую между половинами. Если количество точек нечетно - выделяем точку прямо "типо по центру" и проводим прямую по ней... 

Бред. 
Цитата(Kangaroo @  14.10.2008,  21:24 Найти цитируемый пост)
Гугл нашел только твой пост, может есть другое название?

Возьми метод наименьших квадратов - конкретно АНАЛИТИЧЕСКОЕ получение выражения для подсчета k и b через соотв. суммирование. Потом проделай ТО ЖЕ САМОЕ, но минимизируя не сумму квадратов, а сумму абсов отклонений от регрессионного уравнения y=k. И получишь аналитическое выражение для расчета этого самого k.
Если же тебе достаточно численного решения, без аналитики - Экселевский "поиск решения" щелкает такие задачки как орехи.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
ksnk
Дата 15.10.2008, 09:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 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) уже минимизирована. Сложив все такие уже минимизированные конструкции получим, что искомое выражение таки уже  минимизировано...

В каком месте наблюдается бред?




--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Akina
Дата 15.10.2008, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Цитата(ksnk @  15.10.2008,  10:11 Найти цитируемый пост)
В каком месте наблюдается бред?

У меня. Просто в другом форуме буквально день назад была та же задача - но с минимизацией суммы квадратов отклонений. Вот и ляпнул не подумав.

Приношу извинения. 


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Kangaroo
Дата 15.10.2008, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


Профиль
Группа: Участник Клуба
Сообщений: 2042
Регистрация: 7.10.2006
Где: US

Репутация: нет
Всего: 104



Цитата(Akina @  15.10.2008,  10:32 Найти цитируемый пост)
У меня. Просто в другом форуме буквально день назад была та же задача - но с минимизацией суммы квадратов отклонений. Вот и ляпнул не подумав.

А я  уже минут 10 чесал репу над твоим постом  smile 


Сделал по алгоритму, который описал ksnk. Тему пока не закрываю, если расскажут как надо было правильно smile - отпишусь.


ksnk, 
Akina, 
спасибо.


--------------------
Lost....
PM MAIL MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0632 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.