powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Памажите с алгоритмом
16 сообщений из 16, страница 1 из 1
Памажите с алгоритмом
    #33683311
Kraver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ни как не могу придумать толковый алгоритм к этой задаче
: Из заданного множества точек на плоскости выбрать такие три точки А, В, С, чтобы внутри треугольника АВС содержалось максимальное количество точек этого множества
...
Рейтинг: 0 / 0
Памажите с алгоритмом
    #33683329
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кроме перебора что-то ничего в голову не приходит...
...
Рейтинг: 0 / 0
Памажите с алгоритмом
    #33683355
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно сузить полный перебор, если искать по точкам,
входящим в выпуклую оболочку множества. Как построить
оболочку... Хм.. Кажись был такой алгоритм...
...
Рейтинг: 0 / 0
Памажите с алгоритмом
    #33683435
Kraver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
поподробнее про выпуклую оболочку - обоснование, что так сокращается перебор?
...
Рейтинг: 0 / 0
Памажите с алгоритмом
    #33683446
Kraver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
могу привести пример, при котором в решении не будет ни одной точки из точек принадлежащих выпуклой оболочке множества
...
Рейтинг: 0 / 0
Памажите с алгоритмом
    #33683453
Kraver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в принципе я знаю метод сужения полного перебора, но он подходит только для общего случая, т.е. есть случаи, где этот метод не будет работать, и даст только лишние вычисления. Но мне кажется, что это тоже по большому счету обычный перебор, Хочется что-нить красивое.
...
Рейтинг: 0 / 0
Памажите с алгоритмом
    #33683525
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно попробовать сузить перебор.
например, если осортировать все точки по какой-либо координате, то искомой тройкой точек никогда не будут точки, расположенные подряд в такой сортировке.

кстати, а о каком количестве точек идет речь?
известно ли что-нибудь про их распределение на плоскости?
...
Рейтинг: 0 / 0
Памажите с алгоритмом
    #33683848
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kraverмогу привести пример, при котором в решении не будет ни одной точки из точек принадлежащих выпуклой оболочке множества

Приводи
...
Рейтинг: 0 / 0
Памажите с алгоритмом
    #33685140
mikhail_n
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, например, 4 точки в вершинах квадрата - выпуклая оболочка. Далее, целиком внутри квадрата три точки, кот. образуют равнобедренный треугольник центр которого совпадает с центром квадрата. Внутри треугольника N точек, с равномерным распределением (т.е. киличество точек на единицу площади треугольника постоянно). Решение - три точки образующие внутренний треугольник, ни одна из них не принадлежит выпуклой оболочке.
...
Рейтинг: 0 / 0
Памажите с алгоритмом
    #33685264
Kraver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за пример mikhail_n, а то я ужо картинку накидал :))

для miksoft
>кстати, а о каком количестве точек идет речь? - дофига в разумных пределах, ну пусть хоть 1000
>известно ли что-нибудь про их распределение на плоскости? - абсолютно произвольное (ну ес-но бесконечные координаты - это не разумно и только для математиков - теоретиков)

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

разумно, но так исключается достаточно малое количество точек, если я все правильно понял...
...
Рейтинг: 0 / 0
Памажите с алгоритмом
    #33685285
Kraver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мой вариант сокращения перебора таков:
допустим на некотором этапе перебора получен треугольник содержащий в себе MAX точек тогда:
на очередном этапе перебора выбрана пара точек D и E. Прямая проходящая через эти точки делит плоскость на две полуплоскоси. В общем случае оказываются точки "слева" и "справа" от это прямой. Дык Вод. если с одной стороны (или что еще лучше с обоих) количество точке меньше, чем MAX, то они (эти точки) исключаются из рассмотрения, на кондидатуру третьей точки.
...
Рейтинг: 0 / 0
Памажите с алгоритмом
    #33685296
Kraver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
забыл пояснить.

так как если выбирать трутью точку в этой (отсекаемой) полуплоскости - треугольник полностью находится в этой полуплоскости - а там и так точек меньше.
ЗЫ на рисунке отсекаемая полуплоскость помечена красным квадратом
...
Рейтинг: 0 / 0
Памажите с алгоритмом
    #33685299
Kraver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Но все равно хотелось бы чего-нить покрасивше.
...
Рейтинг: 0 / 0
Памажите с алгоритмом
    #33687333
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
народ - есть же топик программирование вы бы еще в фокспро запостили
...
Рейтинг: 0 / 0
Памажите с алгоритмом
    #33687761
Kraver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Lepsikнарод - есть же топик программирование вы бы еще в фокспро запостили

я на C програмлю - мне сюда роднее
...
Рейтинг: 0 / 0
Памажите с алгоритмом
    #33690331
Петяня
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lepsikнарод - есть же топик программирование вы бы еще в фокспро запостили
Кстати, зря туда не запостили. Там бы я раньше прочёл. В MySQL ответил. Может и сгодится, а?
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Памажите с алгоритмом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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