|
|
|
Памажите с алгоритмом
|
|||
|---|---|---|---|
|
#18+
Ни как не могу придумать толковый алгоритм к этой задаче : Из заданного множества точек на плоскости выбрать такие три точки А, В, С, чтобы внутри треугольника АВС содержалось максимальное количество точек этого множества ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2006, 16:34 |
|
||
|
Памажите с алгоритмом
|
|||
|---|---|---|---|
|
#18+
кроме перебора что-то ничего в голову не приходит... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2006, 16:38 |
|
||
|
Памажите с алгоритмом
|
|||
|---|---|---|---|
|
#18+
Можно сузить полный перебор, если искать по точкам, входящим в выпуклую оболочку множества. Как построить оболочку... Хм.. Кажись был такой алгоритм... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2006, 16:45 |
|
||
|
Памажите с алгоритмом
|
|||
|---|---|---|---|
|
#18+
поподробнее про выпуклую оболочку - обоснование, что так сокращается перебор? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2006, 17:08 |
|
||
|
Памажите с алгоритмом
|
|||
|---|---|---|---|
|
#18+
могу привести пример, при котором в решении не будет ни одной точки из точек принадлежащих выпуклой оболочке множества ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2006, 17:12 |
|
||
|
Памажите с алгоритмом
|
|||
|---|---|---|---|
|
#18+
в принципе я знаю метод сужения полного перебора, но он подходит только для общего случая, т.е. есть случаи, где этот метод не будет работать, и даст только лишние вычисления. Но мне кажется, что это тоже по большому счету обычный перебор, Хочется что-нить красивое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2006, 17:14 |
|
||
|
Памажите с алгоритмом
|
|||
|---|---|---|---|
|
#18+
можно попробовать сузить перебор. например, если осортировать все точки по какой-либо координате, то искомой тройкой точек никогда не будут точки, расположенные подряд в такой сортировке. кстати, а о каком количестве точек идет речь? известно ли что-нибудь про их распределение на плоскости? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2006, 17:30 |
|
||
|
Памажите с алгоритмом
|
|||
|---|---|---|---|
|
#18+
Kraverмогу привести пример, при котором в решении не будет ни одной точки из точек принадлежащих выпуклой оболочке множества Приводи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2006, 20:30 |
|
||
|
Памажите с алгоритмом
|
|||
|---|---|---|---|
|
#18+
Ну, например, 4 точки в вершинах квадрата - выпуклая оболочка. Далее, целиком внутри квадрата три точки, кот. образуют равнобедренный треугольник центр которого совпадает с центром квадрата. Внутри треугольника N точек, с равномерным распределением (т.е. киличество точек на единицу площади треугольника постоянно). Решение - три точки образующие внутренний треугольник, ни одна из них не принадлежит выпуклой оболочке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2006, 01:27 |
|
||
|
Памажите с алгоритмом
|
|||
|---|---|---|---|
|
#18+
Спасибо за пример mikhail_n, а то я ужо картинку накидал :)) для miksoft >кстати, а о каком количестве точек идет речь? - дофига в разумных пределах, ну пусть хоть 1000 >известно ли что-нибудь про их распределение на плоскости? - абсолютно произвольное (ну ес-но бесконечные координаты - это не разумно и только для математиков - теоретиков) >можно попробовать сузить перебор. например, если осортировать все точки по какой-либо координате, то искомой тройкой точек никогда не будут точки, расположенные подряд в такой сортировке. разумно, но так исключается достаточно малое количество точек, если я все правильно понял... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2006, 08:54 |
|
||
|
Памажите с алгоритмом
|
|||
|---|---|---|---|
|
#18+
Мой вариант сокращения перебора таков: допустим на некотором этапе перебора получен треугольник содержащий в себе MAX точек тогда: на очередном этапе перебора выбрана пара точек D и E. Прямая проходящая через эти точки делит плоскость на две полуплоскоси. В общем случае оказываются точки "слева" и "справа" от это прямой. Дык Вод. если с одной стороны (или что еще лучше с обоих) количество точке меньше, чем MAX, то они (эти точки) исключаются из рассмотрения, на кондидатуру третьей точки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2006, 09:11 |
|
||
|
Памажите с алгоритмом
|
|||
|---|---|---|---|
|
#18+
забыл пояснить. так как если выбирать трутью точку в этой (отсекаемой) полуплоскости - треугольник полностью находится в этой полуплоскости - а там и так точек меньше. ЗЫ на рисунке отсекаемая полуплоскость помечена красным квадратом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2006, 09:16 |
|
||
|
Памажите с алгоритмом
|
|||
|---|---|---|---|
|
#18+
Но все равно хотелось бы чего-нить покрасивше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2006, 09:20 |
|
||
|
Памажите с алгоритмом
|
|||
|---|---|---|---|
|
#18+
народ - есть же топик программирование вы бы еще в фокспро запостили ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2006, 22:27 |
|
||
|
Памажите с алгоритмом
|
|||
|---|---|---|---|
|
#18+
Lepsikнарод - есть же топик программирование вы бы еще в фокспро запостили я на C програмлю - мне сюда роднее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2006, 09:42 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33685140&tid=2031441]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
83ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 244ms |
| total: | 429ms |

| 0 / 0 |
