Даны три точки в евклидовой плоскости с координатами A(x1,y1), B(x2,y2) и C(x3,y3). Необходимо построить минимальное дерево, соединяющее эти точки с минимальной общей длиной рёбер. Разрешается добавление одной дополнительной точки S(xs,ys)(точки Штейнера), которая может уменьшить суммарную длину соединяющих отрезков. На вход подаются три пары вещественных чисел (x1,y1), (x2,y2), (x3,y3) — координаты заданных точек. Программа должна: Входные данные: Выходные данные: Заданы три точки A(x1,y1), B(x2,y2) и C(x3,y3) в евклидовой плоскости. Нужно найти минимальное дерево, соединяющее их, с возможностью добавления одной точки Штейнера S(xs,ys), которая минимизирует сумму расстояний. Метод градиентного спуска применяется для нахождения оптимальной точки S. 2. Минимизация суммы расстояний После нахождения S(xs,ys), строим дерево: - Красные точки — исходные точки - Синяя точка — точка Штейнера - Жёлтые линии — минимальное дерево Итог Метод использует градиентный спуск для поиска точки Штейнера
Построение минимального дерева Штейнера в евклидовой плоскости
2 февраля 20252 фев 2025
5
2 мин