Содействие - исключение из 3-го закона Ньютона.

Амальгама

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Амальгама » Лукоморье 2.0 » Вторая тень


Вторая тень

Сообщений 181 страница 210 из 1000

181

#p96833,Шарпер написал(а):

лучше бы придумал алгоритм разаязывания петель в коммивояжере.

Что такое петли, и зачем их развязывать?!

0

182

#p96833,Шарпер написал(а):

лучше бы придумал алгоритм разаязывания петель в коммивояжере.

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

0

183

#p96790,лукаш написал(а):

А мужики то и не знают !!

Впрочем, весьма возможно, что ты прав!  http://www.kolobok.us/smiles/light_skin/good.gif

0

184

#p96783,лукаш написал(а):

возьмем наш родной четырехугольник
у него есть ПУТЬ и ИМЯ  - периметр
выкинем узел
и чо будет ПУТЬ короче чем периметр *?

Вот как-то сразу не нашел опровергающий пример...
И потом не нашел...
Зато нашел ошибку в своих расчетах...
http://www.kolobok.us/smiles/artists/laie/LaieA_034.gif
Теперь мне нужно проверить,
всегда ли, выкидыванием любой одной точки из N,
из кратчайшего маршрута через N точек получается кратчайший маршрут через  N-1  точку.
Если да, то это просто здорово!  http://www.kolobok.us/smiles/light_skin/good.gif

0

185

Случай N=5 для моих исходных данных - я уже был готов выложить быстренько,
но нашел нестыковку, которая есть следствие ошибки, которую не нашел пока.

Поэтому начинаю выкладывать здесь и сейчас, поскольку нужно идти уже дальше,
но быстренько уже не получится, поскольку надо будет всё перепроверять
попутно

Случай N=5, поехали!

А, нет, стоп!
никуда покуда не поехали...
У меня еще не все углы расчитаны...

Отредактировано Лукомор (2019-01-19 08:41:49)

0

186

#p96842,Лукомор написал(а):

Что такое петли, и зачем их развязывать?!

https://hsto.org/web/6ef/97a/a99/6ef97aa99cc445a9b7c7016c4f97c085.png

#p96843,Лукомор написал(а):

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

Ну вот способ ближвйшего соседа неплох, но петьли дает
https://habr.com/ru/post/329604/

А мой параллельный коммутацией коротких лучше, но тоже дает петли

0

187

#p96847,Шарпер написал(а):

А мой параллельный коммутацией коротких лучше, но тоже дает петли

Так и не понял, что такое  эти "петли", и чем они тебе не угодили?!

0

188

петли - это наверно пересечения

хотя.....

0

189

Если пересечение не находится на точке, можно укоротить путь, сменив коммутацию точек в пересечении и направление прохода петли.

0

190

#p96868,SERGEY написал(а):

Если пересечение не находится на точке, можно укоротить путь, сменив коммутацию точек в пересечении и направление прохода петли.

Да, тут в этом конкретном примере напильником легко доработать...
Петля: (100,90), (85,20), (100,0), (85,50) перестановкой двух внутренних точек переводится в контур: (100,90), (100,0), (85,20), (85,50),
а петля из 12 звеньев от (100,90) до (50,75) перестановкой (100,90), (50,100), (10,85) в начале петли, и (25,70), (50,75) в конце петли.

0

191

#p96847,Шарпер написал(а):

А мой параллельный коммутацией коротких лучше, но тоже дает петли

Он таки "лучше", или "тоже дает петли"?

0

192

#p96870,Лукомор написал(а):

Он таки "лучше", или "тоже дает петли"?

И то и это. Ближ. сосед  вдобавок зависит от точки начала и петляет по-разному, а мой не зависит

0

193

#p96868,SERGEY написал(а):

Если пересечение не находится на точке, можно укоротить путь, сменив коммутацию точек в пересечении и направление прохода петли.

А ты не знаешь будет пересечение или нет,пока сам себя не загонишь в тупик

0

194

#p96874,Шарпер написал(а):

А ты не знаешь будет пересечение или нет,пока сам себя не загонишь в тупик

Никто не запрещает методом последовательных приближений допиливать пошагово!
С каждой итерацией улучшая чего-нить...
Вот, например:

#p96869,Лукомор написал(а):

Петля: (100,90), (85,20), (100,0), (85,50) перестановкой двух внутренних точек
переводится в контур: (100,90), (100,0), (85,20), (85,50),

это действо (в правом нижнем углу твоего примера)
дает сокращение пути ажно на 3,791,
с 564,516 до 560,725, т.е. менее одного прОцента...

#p96869,Лукомор написал(а):

а петля из 12 звеньев от (100,90) до (50,75)
перестановкой (100,90), (50,100), (10,85) в начале петли,
и (25,70), (50,75) в конце петли.

Это уже более радикальная перестановка,
она дает выигрыш в 34,985, что, с учетом предыдущего улучшения,
дает кратчайший путь длиною в 525,740.
Общий выигрыш от развязывания двух петель составил без малого 7 процентов от исходного решения.

Отредактировано Лукомор (2019-01-19 12:07:29)

0

195

#p96874,Шарпер написал(а):

А ты не знаешь будет пересечение или нет,пока сам себя не загонишь в тупик

Это хороший алгоритм поимки льва в пустыне:
просто сидишь и ждешь, когда лев сам себя загонит в тупик. http://www.kolobok.us/smiles/light_skin/yahoo.gif

0

196

#p96873,Шарпер написал(а):

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

Казалось бы, причем тут точка начала,
если маршрут всё равно замкнутый,
а замкнутый маршрут остается кратчайшим,
с какой точки не начинай обход.

0

197

#p96878,Лукомор написал(а):

Казалось бы, причем тут точка начала,
если маршрут всё равно замкнутый,
а замкнутый маршрут остается кратчайшим,
с какой точки не начинай обход.

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

0

198

#p96883,Шарпер написал(а):

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

Это крайне плохо!
То что пути разные, означает, просто, что они не кратчайшие.
Хуже всего то, что он может и вобще не дать кратчайшего пути, даже после перебора всех начальных точек...

0

199

#p96868,SERGEY написал(а):

Если пересечение не находится на точке, можно укоротить путь, сменив коммутацию точек в пересечении и направление прохода петли.

с кем ты разговариваешь ?

0

200

#p96878,Лукомор написал(а):

а замкнутый маршрут остается кратчайшим,
с какой точки не начинай обход.

по сурьезу ?

кстати
насчет возврата в ноль в условии имх  ничего не сказано
или я что то пропустил

что
у него хаза там ?

0

201

#p96883,Шарпер написал(а):

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

Это если из середки брать. А ты попробуй за начальный брать самый крайний, например, самый нижний/самый правый.

0

202

#p96885,Лукомор написал(а):

То что пути разные, означает, просто, что они не кратчайшие.

естественно. Это ж эвристический способ, который не дает гарантии точного. Точный только с отсевом всех возможных запретных с получением кратчайшего разрешенного

0

203

И еще я бы метод ближайшего соседа дополнил бы предварительной таксономией, чтобы разбить все точки на группы.
И это даже для перебора выигрышно.
Типа, три группы по 10 точек каждая лучше, чем одна группа 30 точек. Имеется в виду, что перебор путей идет сначала между группами в целом, а уже потом внутри каждой группы между точками.
Это должно хорошо работать для существенно неравномерного распределения точек в пространстве. Типа, несколько городов, внутри каждого сколько-то точек - достаточно оптимизировать маршрут внутри каждого города, а потом маршруты между городами, не надо перебирать все варианты связей между всеми точками.
И, соответственно, будет неэффективно, если распределение в пространстве более-менее равномерное.

+1

204

#p96894,Zagar написал(а):

Это если из середки брать. А ты попробуй за начальный брать самый крайний, например, самый нижний/самый правый.

Из какой середки? Способ ближайшего зависит от точки начала. Мой способ параллельной коммутации не зависит от начальной точки, но путанку тоже дает.

0

205

#p96896,Zagar написал(а):

разбить все точки на группы.

Есть такой, не помню названия

0

206

#p96890,лукаш написал(а):

кстати
насчет возврата в ноль в условии имх  ничего не сказано
или я что то пропустил
что
у него хаза там ?

Ты что-то пропустил...
Вот классическая формулировка:
http://www.kolobok.us/smiles/light_skin/rtfm.gif

Задача коммивояжёра (англ. Travelling salesman problem, сокращённо TSP) —
одна из самых известных задач комбинаторной оптимизации,
заключающаяся в поиске самого выгодного маршрута,
проходящего через указанные города хотя бы по одному разу
с последующим возвратом в исходный город.

В сущности, этот классический вариант более всего соответствует смыслу работы реального коммивояжера.

Пробежавшись по всему маршруту,
распродав по пути товар,
он возвращается на базу,
в город, где у него типа склад.

Там он затаривается новой порцией товара,
и уходит на следующий цикл.

Существуют всякие еретические отступления от классического варианта задачи, например:

Замкнутый и незамкнутый варианты задачи[править | править код]
В замкнутом варианте задачи коммивояжёра требуется посетить все вершины графа, после чего вернуться в исходную вершину.
Незамкнутый вариант отличается от замкнутого тем, что в нём не требуется возвращаться в стартовую вершину.

Это, как: "увидеть Париж, и умереть".
Задача одноразового коммивояжера.  http://www.kolobok.us/smiles/standart/smile3.gif

Отредактировано Лукомор (2019-01-19 17:03:52)

0

207

#p96899,Лукомор написал(а):

он возвращается на базу,

я не возражаю
но раньше я это себе представлял как детский билиард где маленькая пушечка последовательно выстреливает шарики и они безвозвратно находят пути с разными очками

0

208

#p96889,лукаш написал(а):

с кем ты разговариваешь ?

А разве я обязан к кому-то конкретно обращаться ?

0

209

#p96903,SERGEY написал(а):

А разве я обязан к кому-то конкретно обращаться ?

че так серьезно
сразу ?

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

8

Кто-то вдруг произнес с выражением:
     -- "Устремив свои мысли на высшее "Я",  свободный от  вожделения  и
себялюбия, исцелившись от душевной горячки, сражайся, Арджуна!"
     Я вздрогнул. Парень тоже вздрогнул.
     -- "Бхагавад-гита"!   --  сказал  голос.  --  Песнь  третья,  стих
тридцатый.

то же из этой серии

- какие же вы дураки оба !!
я вообще не могу понять о чем вы говорите

0

210

#p96899,Лукомор написал(а):

Незамкнутый вариант отличается от замкнутого тем, что в нём не требуется возвращаться в стартовую вершину.

о
блин!!

а я и не знал
что я говорю прозой (с)

0


Вы здесь » Амальгама » Лукоморье 2.0 » Вторая тень