powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Опасные дырки в прямоугольнике
25 сообщений из 68, страница 2 из 3
Опасные дырки в прямоугольнике
    #33045652
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй линейное программирование. Как из экономики. Математика там, конечно, крутая. Но ничего сложного.

ЗЫ: линейное программирование не имеет отношения к программированию. Это раздел линейной алгебры, если кто не знает.
...
Рейтинг: 0 / 0
Опасные дырки в прямоугольнике
    #33046064
Дмитрий Валуев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кхм...Линейное программирование? Здесь же сплошные квадраты и корни :^)
Код: plaintext
1.
2.
3.
4.
min S=sqr((x- 1200 )^ 2 +(y- 85 )^ 2 )+sqr((x- 63 )^ 2 +(y- 2500 )^ 2 )+sqr((x- 2700 )^ 2 +(y- 2650 )^ 2 )+sqr((x- 2990 )^ 2 +(y- 100 )^ 2 )
x> 0 
y> 0 
x< 3000 
y< 3000 
Так можно найти минимум суммарного или "среднего" расстояния.
Что касается минимаксной задачи
Код: plaintext
1.
2.
3.
4.
min S=max(sqr((x- 1200 )^ 2 +(y- 85 )^ 2 ),sqr((x- 63 )^ 2 +(y- 2500 )^ 2 ),sqr((x- 2700 )^ 2 +(y- 2650 )^ 2 ),sqr((x- 2990 )^ 2 +(y- 100 )^ 2 ))
x> 0 
y> 0 
x< 3000 
y< 3000 
то похоже она посложнее будет :^)

кхм^2...Линейное программирование - раздел линейной алгебры?
...
Рейтинг: 0 / 0
Опасные дырки в прямоугольнике
    #33046280
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда рассчитывается то, сколько чего какомы дистрибъютеру послать, так там даже квадратов с корнями нет. А вот как распределить поставку, чтоб выгода максимальная была - это уже как раз линейное программирование. ИМХО, задача с максимальной прибылью похожа на эту.

>кхм^2...Линейное программирование - раздел линейной алгебры?
Нам в курсе линейки читали. И во всех учебниках по линейке я такой раздел видел. В конце обычно.

Назрел у меня вопрос: какое расстояние предполагается считать максимальным? Допустим от меня до дырки оди 3 километра, до дырки два 2 километра. А дырка три в сантиметре от меня. А в другом варианте до дырки один, два и три по полтора километра. В первом случае расстояние суммарное больше. Но позиция, имхо, устойчивей во втором.
...
Рейтинг: 0 / 0
Опасные дырки в прямоугольнике
    #33046315
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
надо максимизировать расстояние до ближайшей дырки (видимо считая границу - дыркой). Т.е. функция хоть и непрерывная но даже не гладкая (при смене "ближайшей" меняется бином, который надо "максимизировать"). В 0 приближении я бы отминимизировал ф-ю вида

Сумма(1/(r(i) - r(0))**2)

Т.к. есть основания полагать что максимумы будут "не очень далеко" от минимума этой ф-ии.

А дальше можно стартовать из всех найденных локальных минимумов по достаточно мелкой сетке но уже в "настоящей задаче" (хотя проще наверное - находить 3 ближайших объекта (точки, либо отрезки границ) к найденной точке локального минимума и вписывать окружность. однако за общность вписывания, в отличии от "скатывания" в решение по сетке, не ручаюсь).
...
Рейтинг: 0 / 0
Опасные дырки в прямоугольнике
    #33046524
Фотография RatTail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>видимо считая границу - дыркой

Единственная роль границы прямоугольника - ограничить область поиска целевой точки
множеством точек, принадлежащих этому прямоугольнику, а не быть еще одной дыркой.
Иначе ответ для этой задачи был бы очевиден: +/- бесконечность.


>я бы отминимизировал ф-ю вида Сумма(1/(r(i) - r(0))**2)

А что мешает?
...
Рейтинг: 0 / 0
Опасные дырки в прямоугольнике
    #33046796
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RatTail>видимо считая границу - дыркой
Единственная роль границы прямоугольника - ограничить область поиска целевой точки множеством точек, принадлежащих этому прямоугольнику, а не быть еще одной дыркой. Иначе ответ для этой задачи был бы очевиден: +/- бесконечность.
Какие плюс-минус бесконечность? Какое к чертям линейное программирование?
Вы условие то читали? Или вас, друзья мои, больше прикалывает использовать умные слова не задумываясь об их смысле?

Есть многоугольник. В многоугольнике проколоты дырки. Найти точку максимально удаленую от всех проколотых дырок.

RatTail>я бы отминимизировал ф-ю вида Сумма(1/(r(i) - r(0))**2)
А что мешает?
Мешает то, что эта формула сюда никак не упирается :)

Решение выглядит так:
1) для каждого угла исходного многоуголника находим ближайший к углу прокол, замеряем расстояние между углом и проколом. Угол с максимальным расстоянием - кандидат на результат.
2) Если проколов больше чем один, то для каждых двух проколов ищем на каждой из сторон многоугольника точку равноудаленную от обоих проколов. Для каждой найденой точки проверяем, есть ли прокол который ближе чем два исходных? Если есть - отбрасываем эту пару и переходим к следующей. Если нету - и расстояние между точкой на границе многоугольника до обоих проколов максимальное из всех найденых на данный момент - запоминаем эту точку.
3) Если проколов больше чем два, то для каждой тройки проколов ищем центр окружности проведеной через эти три прокола. Проверяем есть ли какой-либо прокол внутри этой окружности и находится ли центр окружности внутри многоугольника? Если есть проколы внутри или центр вышел за пределы многоугольника - отбрасываем и переходим к следующей тройке проколов. Иначе проверяем радиус найденой окружности на максимальность найденых расстояний.

Для случая если многоугольник четырехугольный и в нем четыре прокола, тебе понадобится сделать выбор из 4+6+4=14 точек чтобы найти ответ. Устроит?
...
Рейтинг: 0 / 0
Опасные дырки в прямоугольнике
    #33046809
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RatTail роль границы прямоугольника - ограничить область поиска
это ненамного меняет задачу (-4 условия из ~1004). Но приводит к необходимости дополнительно обследовать границу - как область возможных решений.

RatTail
>я бы отминимизировал ф-ю вида Сумма(1/(r(i) - r(0))**2)
А что мешает?
палиномы (при приравнивании ч.п. 0-ю) получается балшой степени. В аналитике не решается, к линейности не сводятся.

Хотя, возможно можно найти ф-ю поудачнее дифференцируемую, но с той же надеждой оценить области примерного расположения предполагаемых решений. Типа Сумма(Ln((r(i) - r(0))**2) не шибко помогает... но кажется степеня ур-й на экстремум будут чуть помельче Но это только определение точек ~ подходящих. А не сами точки.
...
Рейтинг: 0 / 0
Опасные дырки в прямоугольнике
    #33046819
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl 3) Если проколов больше чем два, то для каждой тройки проколов ищем центр окружности проведеной через эти три прокола. Проверяем есть ли какой-либо прокол внутри этой окружности и находится ли центр окружности внутри многоугольника? Если есть проколы внутри или центр вышел за пределы многоугольника - отбрасываем и переходим к следующей тройке проколов. Иначе проверяем радиус найденой окружности на максимальность найденых расстояний.

можно сразу брать только тройки, в треугольник, натянутый на которые, не попадает ни один прокол. Меньше центров искать.
...
Рейтинг: 0 / 0
Опасные дырки в прямоугольнике
    #33046826
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4321можно сразу брать только тройки, в треугольник, натянутый на которые, не попадает ни один прокол. Меньше центров искать.
Нельзя.
...
Рейтинг: 0 / 0
Опасные дырки в прямоугольнике
    #33046837
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl 4321можно сразу брать только тройки, в треугольник, натянутый на которые, не попадает ни один прокол. Меньше центров искать.
Нельзя.
"ну и дура" (с не мой).
...
Рейтинг: 0 / 0
Опасные дырки в прямоугольнике
    #33047031
Фотография RatTail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ладно, БелоСов, типа уговорил. Значит, триангуляция. Ну и?
Скажем, есть у нас готовый список координат трех вершин каждого из треугольников,
входящих в триангуляцию некой многоугольной выпуклой области. И что теперь?
...
Рейтинг: 0 / 0
Опасные дырки в прямоугольнике
    #33047093
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RatTailЛадно, БелоСов, типа уговорил. Значит, триангуляция. Ну и?
Скажем, есть у нас готовый список координат трех вершин каждого из треугольников, входящих в триангуляцию некой многоугольной выпуклой области. И что теперь?
Какие треугольники??? Нет там никаких треугольников. Там исключительно окружности :)
А насчет "что теперь?" - А теперь ты выбираешь удобный язык и кодируешь вышеприведеный алгоритм.
Лично я бы предпочел AutoLISP там можно не возится с фактическими расчетами, но выбирать тебе :)
...
Рейтинг: 0 / 0
Опасные дырки в прямоугольнике
    #33047735
Фотография RatTail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дико извиняюсь, но то, что ты предлагаешь, это какая-то чушь.
Ты готов перебрать и просчитать ВСЕ возможные комбинации из трех точек
из множества 1000 точек. Типа, за пару секунд на машине mmx 266MHz.
Я уже молчу о том, что совершенно непонятно куда эти просчеты совать.

Вопрос: зная координаты центра и радиус макс. круга, который можно вписать
в прямоугольник и который (этот круг) не содержит внутри себя дыр, можешь ли
ты сходу сказать, где расположена наша самая безопасная точка? Я - не могу.
...
Рейтинг: 0 / 0
Опасные дырки в прямоугольнике
    #33047896
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RatTailДико извиняюсь, но то, что ты предлагаешь, это какая-то чушь.
Ты готов перебрать и просчитать ВСЕ возможные комбинации из трех точек
из множества 1000 точек. Типа, за пару секунд на машине mmx 266MHz.
Я уже молчу о том, что совершенно непонятно куда эти просчеты совать.

Вопрос: зная координаты центра и радиус макс. круга, который можно вписать
в прямоугольник и который (этот круг) не содержит внутри себя дыр, можешь ли
ты сходу сказать, где расположена наша самая безопасная точка? Я - не могу.
ну зачем перебирать ~10**9? Накрой прямоугольник сеткой стартовых точек ~ 10*3. Найди для каждой стартовой 3 ближайшие "ямы" (или 2 ямы и границу, или 2 границы и яму) (это, если есть некий двумерный индекс по ямам, будет быстрее (10**3)*(10**3), врать неохота, но наверное ~ln(10**3)*10**3 ) И опиши на этих тройках окружности (для 2х и границы - полуокружность с центром на границе, для 1 и 2-х границ - окружность с центром в угле). Сравни радиусы. Центр самой большой - примерно "самая безопасная" (одна из множества "самых безопасных")

(скорее всего можно доказать, что количество стартовых точек должно быть сравнимо с N величин, что-то ~ (2-3)*N, для строгого совпадения найденного решения с искомым. Удивлюсь, если гарантия ~N**2)
...
Рейтинг: 0 / 0
Опасные дырки в прямоугольнике
    #33048574
Фотография RatTail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Накрой прямоугольник сеткой стартовых точек ~ 10*3.

Всего? На мой вкус, маловато будет. И почему не десятью?
По-моему, все это будет называться "пальцем в небо".
...
Рейтинг: 0 / 0
Опасные дырки в прямоугольнике
    #33048936
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RatTailДико извиняюсь, но то, что ты предлагаешь, это какая-то чушь.
Ты готов перебрать и просчитать ВСЕ возможные комбинации из трех точек
из множества 1000 точек. Типа, за пару секунд на машине mmx 266MHz.
Это ты кому? Мне? :) Ну не веришь, не надо. Тогда можешь решать задачу другими методами... Если конечно придумаешь их :)

RatTailЯ уже молчу о том, что совершенно непонятно куда эти просчеты совать.
Ну за просчеты обычно извиняются.

RatTailВопрос: зная координаты центра и радиус макс. круга, который можно вписать в прямоугольник и который (этот круг) не содержит внутри себя дыр, можешь ли ты сходу сказать, где расположена наша самая безопасная точка? Я - не могу.
Да, конечно могу. Самая безопасная точка находится в центре круга с самым максимальным радиусом. Ты этого не видишь?
...
Рейтинг: 0 / 0
Опасные дырки в прямоугольнике
    #33049187
Фотография RatTail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БелоСов, не кипятись. Это же просто дружеская полемика.

Вполне может быть, что твой подход верен на все 100%.
...
Рейтинг: 0 / 0
Опасные дырки в прямоугольнике
    #33049834
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RatTailПо-моему, все это будет называться "пальцем в небо".
вапшета пальцем не нада.те паче - неббу. Ано не аценит.

если серьезно, то накрыв прямоугольник сеткой чуть больше чем в N квадратиков (со сдвигом на границе в полквадратца), получим заведомо какое то количество квадатов, не содержащих точек. (т.е. надо ~ [sqrt(N)] +1 "ячеек" для квадратной области, для прямоугольной тоже что - то в этом роде, главное, чтобы ячеек разбиения было > N - числа проколов). Очевидно, что точки, лежащие в их центрах, безопаснее точек, лежащих в центрах содержащих проколы ячеек.

если теперь грубо разбить ячейки еще скажем на 3*3, то будем иметь ячейки, которые имеют только пустые смежные, и ячейки, которые имеют непустые смежные. Подобрав разбиение (из оценок мин и макс расстояний), можно будет утверждать что все точки некоторых несмежных (в зависимости от "конфигурации" несмежной области) с проколотыми заведомо безопасней всех точек ячеек имеющих проколотые и (даже) точек ячеек, смежных с проколотыми. Т.е. решения надо искать в таких ячейках "центровых в ряду несмежных". (До сих пор количество вычислений ~N). Вот дальше чуть хуже: гуляя по точкам ячейки мы можем получить массу троек "наиближайших точек", расстояния до которых будут отличаться с точностью до ~1/2 диагонали ячейки. Какую из троек выбрать, и какова сложность алгоритма выборки (в смысле зависимости от N) сказать, не придумав алгоритма, трудно. Тут я действительно соврал, в том смысле, что недостаточно взять только тройки проколов, ближайших к центрам областей. Но если нас интересуют решения с некоторой заданной точностью, то можно будет ограничиться достаточно мелким разбиением (в зависимости от точности, т.е. от 1/2 диагонали "ячеек погрешности", т.е количество ячеек разбиения останется ~N), и выбирать в качестве кандидатов (т.е. троек, служащих для вычисления безопасно точки) только тройки, ближайшие к центрам ячеек, все смежные к которым в некоторой окружности (с радиусом ~ ребра ячеки площадью 1/N от площади прямоугольника) не имеют проколов (решения, лежащие в отй же ячейке будут отличаться с точночтью не больше 1/2 диагонали).

Понятно, что большую часть этого бреда можно даже доказать. Лениво, однако. Опять же, не совсем понятно, интересуют ли нас решения "с некоторой точностью"? Но со сложностью ~N.

(А то ить троек то ~ 10**9, как White Owl , задолбаишься просто перебирать в лоб)
...
Рейтинг: 0 / 0
Опасные дырки в прямоугольнике
    #33049882
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4321 (т.е. надо ~ [sqrt(N)] +1 "ячеек"
читать "делений" вместо "ячеек" (имеется в виду разбиения сторон).

Ленифф, аднако, каюс.
...
Рейтинг: 0 / 0
Опасные дырки в прямоугольнике
    #33050077
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемые господа RatTail, Sarin, Di_LIne, Lelikk, White Owl, 4321!

Прошу прощения за то что вмешиваюсь в вашу полемику.

Предлагаю следующее:

1) Подойти формально к проблеме нахождения минимума функции многих
переменных. То есть определить однозначно, как должна выглядеть
целевая функция

Например:

Если (x1,y1),(x2,y2),(x3,y3),(x4,y4) - экстремальные точки то:

Расстояния от x,y до экстремумов

V1(x,y)=sqrt((x1-x)^2+(y1-y)^2)
V2(x,y)=sqrt((x2-x)^2+(y2-y)^2)
V3(x,y)=sqrt((x3-x)^2+(y3-y)^2)
V4(x,y)=sqrt((x4-x)^2+(y4-y)^2)

Искомая целевая функция может выглядеть приблизительно так:

F(x,y)=min(V1(x,y),V2(x,y),V3(x,y),V4(x,y))

Графически эта зависимость выглядит как гористая поверхность с
четырьмя коническими пиками. Она непрерывна но имеет разрывы
производных. (Неплохо было-бы избавится от функции min т.к.
она не дает нам возможность использовать методы градиентов.)

Можно попробовать выбрать и другую форму функции F (гладкие
поверхности с четырьмя локальными максимумами). Главное, чтобы
искомая точка отразилась как глобальный минимум. Непрерывность
и дифференцируемость нам дадут возможность применить
более широкий спектр методов ИМХО.

Не возражаю против других видов функции F.


2) Считать переборные подходы неверными. Нет гарантии что мы можем
перебрать n-е количество координат в реальные сроки в общей постановке
данной задачи (без конкретных цифр). Методы сеток считать приемлемыми
только в том случае, когда аналитическое решение в принципе невозможно.


3) Использовать типовой набор методов поиска минимума:

- аналитические (методы градиентных спусков и т.п);
- генетические алгоритмы;
- стохастичные алгоритмы;
- комбинация вышеперечисленных.


Спасибо за внимание.

С уважением Mayton.
...
Рейтинг: 0 / 0
Опасные дырки в прямоугольнике
    #33050834
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
1) Подойти формально к проблеме нахождения минимума функции многих
переменных. То есть определить однозначно, как должна выглядеть
целевая функция

1 ф-я, в общем случае (т.е. если не заботиться специально о расположении ловушек), будет иметь дикое количество практически равнозначных локальных екстремумов. Генетический алгоритм упадет в первый попавшийся и там успокоится. Если же мутации будут частыми - будет периодически прыгать между ~~равнозначностью.

mayton
2) Считать переборные подходы неверными. Нет гарантии что мы можем
перебрать n-е количество координат в реальные сроки в общей постановке
данной задачи (без конкретных цифр). Методы сеток считать приемлемыми
только в том случае, когда аналитическое решение в принципе невозможно.

Вы наверное не читали, чё я там плёл про сетку. Перебором там не пахнет. Простые геометрические соображения. (Попробуйте закрашивая квадратики нарисовать круг на милиметровке - поймете аналогию). Просто лома доказывать "сходимость".

mayton
3) Использовать типовой набор методов поиска минимума:

- аналитические (методы градиентных спусков и т.п);
- генетические алгоритмы;
- стохастичные алгоритмы;
- комбинация вышеперечисленных.

мдя-ссс. (про замену изломанной поверхности гладкой, но с воронками я уже думал, но полиномчик слишком многокорневой вырисовывается. аналитически его не разгрызть. См.выше. Есть еще метод посыла советчиков "типовых методов из общих соображений"
...
Рейтинг: 0 / 0
Опасные дырки в прямоугольнике
    #33050876
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4321
1 ф-я, в общем случае (т.е. если не заботиться специально о расположении ловушек), будет иметь дикое количество практически равнозначных локальных екстремумов.


Давайте договоримся о какой функции идет речь. Дизьюнкция множества конических поверхностей (F) которую я предложил в своем первом посте не имеет пологих участков. Гипотетически возможны одинаковые значения минимумов (у краев поверхности).

4321
Генетический алгоритм упадет в первый попавшийся и там успокоится. Если же мутации будут частыми - будет периодически прыгать между ~~равнозначностью.


Ошибаетесь, коллега. ГА созданы для поиска минимумов именно таких функций.


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


Давайте грызть вместе.. где ваш полином... А?

Подать его к столу!


Есть еще метод посыла советчиков "типовых методов из общих соображений"


Зря зубоскальничаете. На форум и не такие заходят...
...
Рейтинг: 0 / 0
Опасные дырки в прямоугольнике
    #33051074
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Давайте договоримся о какой функции идет речь. Дизьюнкция множества конических поверхностей (F) которую я предложил в своем первом посте не имеет пологих участков. Гипотетически возможны одинаковые значения минимумов (у краев поверхности).

прикиньте: проколы у вас приблизительно по равномерной сетке. Все локальные минимумы однозначны.
mayton
Ошибаетесь, коллега. ГА созданы для поиска минимумов именно таких функций.

могабыть.
слишком мало возился, видимо. Но быстрой сходимости именно к глобальному экстремуму не наблюл. Почему-то - к одному из. (с редкими перескоками).
mayton

[quot ]
Давайте грызть вместе.. где ваш полином... А?

возьмите частные производные от Summ(1/r(i,0)) по X(0) и Y(0) (в скобках -индексы). Или от Summ(Ln(r(i,0)). Получите свои полиномы >~1000 степени.
mayton
Зря зубоскальничаете. На форум и не такие заходят...
та ничого ж личнохо




ЗЫ. просто идея поиска "на милиметровке с точностью" - раскроить область на "клеточки", примерить, куда влезают заданные "клетчатые трафареты кругов" без проколов (что куда-то влезут с определенностью - даже "доказано"). и в окрестности центров этих областей искать решения стандартным натягиванием окружности на тройку ближайших к центру области проколов. (засада может быть в том случае, если таких троек (при малом смещении точки) будет много - т.е. специальная расстановка проколов почти по окружности - но и [любое] решение тогда будет "хорошим" с хорошей точностью).
...
Рейтинг: 0 / 0
Опасные дырки в прямоугольнике
    #33051188
Фотография RatTail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рибяты;
По существу сказать ничего не имею (в частности и потому что был занят).
Но все прочитал с большим интересом.
>Неплохо было-бы избавится от функции min т.к.
>она не дает нам возможность использовать методы градиентов.

Я как в самый первый раз прочитал эту задачу - первая мысль:
Градиент! (все, что умею, Ж) Но увы этот ужасный min(...).
Сетка вроде бы ничего. Но ее "квадратность" как-то все очень усложняет.

Но разброс в exec times разных решений http://spoj.sphere.pl/ranks/RUNAWAY/
заставляет думать, что имеют право на жизнь разные подходы.

Кстати, надвигаются выходные... Ж)
А регистрация там фри: http://spoj.sphere.pl/problems/classical/
Испытайте кто-нибудь свой алгоритм/идею на практике (задача #34).
...
Рейтинг: 0 / 0
Опасные дырки в прямоугольнике
    #33051284
mikhail_n
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С интересом наблюдаю этот топик уже второй день. Парни, большинство из Вас просто не понимает условий задачи. Аналитика тут не катит.

Ув. тов. mayton, для Вашей постановки задачи

F(x,y)=min(V1(x,y),V2(x,y),V3(x,y),V4(x,y))


готов с ходу в карьер предложить сразу четыре решения:

(x1,y1), (x2,y2), (x3,y3), (x4,y4)

но даже если Вы замените min на max, то это ничего не даст, читайте внимательнее условие задачи, ибо

F(x,y)=max(V1(x,y),V2(x,y),V3(x,y),V4(x,y))

даст Вам точку максимально удалённую от одной из 4х опасных точек, что вовсе не гарантирует, что расстояние до ближайшей опасной точки будет максимальным. Поясню на примере: пусть мы ищем решение не на плоскости ограниченной квадратом, а на отрезке прямой. И пусть x1 и x4 принадлежат концам отрезка, а x2 и x3 лежат внутри отрезка. Тогда решением задачи с max будет либо x1 либо x4, посколько расстояние между ними как раз и есть максимально возможное, и никого не волнует, что при этом один из членов внутри скобок обнуляется. Могу привести подобные примеры и для плоскости, просто их сложнее проиллюстрировать.

Вообще говоря, эта задача довольно нетривиальна, ибо в общем случае имеет множество решений, причём корреляция числа решений от числа опасных точек довольно произвольна. Могу привести пару примеров когда при неограниченном увеличении количества опасных точек количество решений растёт также неограниченно.

Пока что, на мой взгляд, перспективу имеет только то, что предлагает 4321, всё остальное - детский лепет.
...
Рейтинг: 0 / 0
25 сообщений из 68, страница 2 из 3
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Опасные дырки в прямоугольнике
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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