Перейти к публикации
  • Сейчас на странице   Всего пользователей: 1   (0 пользователей, 1 гость)

Rooster

Программирование, т. 7

  

536 пользователей проголосовало

У вас нет прав на голосование в этом опросе, или на просмотр результатов опроса. Пожалуйста, войдите или зарегистрируйтесь для голосования в опросе.

Рекомендованные сообщения

(изменено)

Курсовая работа

 

 

TwltFe3.png

 


Изменено пользователем Rooster
DDamager понравилось это

Shaman.png.0cdd33d48561cd068bb3c5ee78289381.png Anna.jpeg.03c9b49363298ceec256500a5d522f7d.jpeg Nigga.jpg.f807f2556bdbf68452292a9301494591.jpg

 

Поделиться сообщением


Ссылка на сообщение

Да с программой проблем не будет офк, а вот пояснительная записка мозги поебет


Shaman.png.0cdd33d48561cd068bb3c5ee78289381.png Anna.jpeg.03c9b49363298ceec256500a5d522f7d.jpeg Nigga.jpg.f807f2556bdbf68452292a9301494591.jpg

 

Поделиться сообщением


Ссылка на сообщение

если не ошибаюсь там сам алгоритм будет строк на 30 :xd:

 

найти все пути от А до Б-> выбрать самый длинный -> пройти пониму маркируя вершины -> и тоже самое в обратном порядке

ниче не забыл?

Поделиться сообщением


Ссылка на сообщение

Клевая курсовая ака задачка на 20 минут собеседования


towBCf6.pngimage.png.6f88ac9ad688355eb803ba0b32e309ca.pngimage.png.c05354238865437022b3e4a97a835dbd.pngimage.png.0e8329f2b07e208ae8ef4e3f6878d126.png

 

 

 

Поделиться сообщением


Ссылка на сообщение

 

 

найти все пути от А до Б-> выбрать самый длинный -> пройти пониму маркируя вершины -> и тоже самое в обратном порядке

бля это же изи

а прочитав описание нихуя не понял 

Rooster понравилось это

Скрытый текст

 

OMGVERYLONGNAME написал 08.06.2018 в 12:50:
потому что ты не игрок, ты мразь на любой роли
ZombBomb написал 05.12.2018 в 19:27:
лол
Fint написал 19.07.2019 в 15:49:
Ок, я ошибся

 

 

NaniQue- написал 30.07.2019 в 10:37:
висп вроде норм игрок

 

 

Поделиться сообщением


Ссылка на сообщение

бля это же изи

а прочитав описание нихуя не понял 

 

Чета жиза


Shaman.png.0cdd33d48561cd068bb3c5ee78289381.png Anna.jpeg.03c9b49363298ceec256500a5d522f7d.jpeg Nigga.jpg.f807f2556bdbf68452292a9301494591.jpg

 

Поделиться сообщением


Ссылка на сообщение

вы долбоебы это NP полная задача

 

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

 

смотрите ссылку на вики выше

Поделиться сообщением


Ссылка на сообщение
(изменено)

а да, сори

 

за долбаеба - ответишь

 

upd: надо найти самый длинный путь A до B-> перейти на след вершину C-> маркануть ее -> найти cамый длинный путь от С до B и тд 

 

(ссылку не смотрел)


Изменено пользователем FeelYourDestiny

Поделиться сообщением


Ссылка на сообщение

 

 

вы долбоебы это NP полная задача

И что?

 

Тебе нужно NP время чтобы алгоритм перепечатать?

 

Обычный графовый алгоритм поиска кратчайшего пути, где по исходным данным (список прямых рейсов) строится ориентированный мультиграф. 

 

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

 

Как только совершено посещение восточной вершины, наоборот, дуги на запад обретают свои веса, а восточные - бесконечные. И проблема в том, что это может сломать популярные жадные алгоритмы.

Поделиться сообщением


Ссылка на сообщение

По последним 2 постам в топике вы можете увидеть, кто здесь программист, а кто ебаный стажер :dunno:

Поделиться сообщением


Ссылка на сообщение

По последним 2 постам в топике вы можете увидеть, кто здесь программист, а кто ебаный стажер :dunno:

 

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

 

upd: надо найти самый длинный путь A до B-> перейти на след вершину C-> маркануть ее -> найти cамый длинный путь от С до B и тд 

 

(ссылку не смотрел)

 

это ничего не меняет. ты найдешь самый длинный путь в одну сторону и всё. оптимального решения это не даст

Поделиться сообщением


Ссылка на сообщение

 


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

 

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

 

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


8d54e0134bc24224b2f10096b8287f36.png

 

Собственно сравнение времени перебора и жадного алгоритма ветвей и границ для классической задачи коммивояжера.

 

Если бы это была бы моя курсовая, я бы занялся it science и нашел бы жадный алгоритм который лоялен к динамическому изменению весов ребер/числу вершин в процессе работы.

Поделиться сообщением


Ссылка на сообщение

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

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

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

 

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

Поделиться сообщением


Ссылка на сообщение

 

 

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

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

 

Я с самого начала понимал, что тут поиск гамильтоново цикла. Просто не так выразился.

Поделиться сообщением


Ссылка на сообщение

Ладно, все таки неплохая задачка для курсовой

Поделиться сообщением


Ссылка на сообщение
(изменено)
и на счет запад восток, в условии не сказано что каждый следующий город должен быть западнее/южнее предыдущего, так что можно хоть змейкой летать

 

Офк хоть змейкой, но эффективно.

 

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

 

 NcZXUFb.png

Где 0 и 8 это один и тот же город, самый западный, 3 и 5, 7 и 2, 1 и 6 это тоже одни и те же города, а 4 это самый восточный.

 

Тогда задача будет о переходе из 0 в 8 по гамильтонову циклу, но мы будем посещать города 2 раза. А нам это нельзя по условию. Следовательно проходя до вершины под номером 4 мы должны удалять города из второй половины которые уже посетили. 

 

Нужно только найти алгоритм, который это не сломает.


Изменено пользователем Index

Поделиться сообщением


Ссылка на сообщение

из 0 в 1 будет не на восток а на северо-восток :vihui:

Поделиться сообщением


Ссылка на сообщение

из 0 в 1 будет не на восток а на северо-восток :vihui:

Какая разница, главное чтобы не на запад по условию.

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

 

 

Ещё как вариант сделать инвертированно. Путь с запада на восток + путь с востока на запад. А затем перевернуть все дуги и сделать ещё раз задачу с конца, сперва для второй половины якобы а потом для первой.

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

 

Но опять же это будет жадный алгоритм с ловушкой, я уверен. Будет находить локальный минимум или отсутствие решений когда оно есть.

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...