Тёмный

Ford-Fulkerson algorithm 

Roman Tsarev
Подписаться 2,9 тыс.
Просмотров 66 тыс.
50% 1

The Ford-Fulkerson method or Ford-Fulkerson algorithm allows to solve the maximum flow problem. It was published by L. R. Ford, Jr. and D. R. Fulkerson in 1956.

Опубликовано:

 

18 май 2017

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 104   
@krystlecarrington5485
@krystlecarrington5485 3 года назад
объсняете алгосы лучше всех на ютубе, всегда радуюсь, если гуглю алгоритм и вижу Ваш разбор
@ArksRussian
@ArksRussian 5 лет назад
Спасибо большое, добрый человек! После вашего видео алгоритм в голове лёг как следует. По какой-то причине, для этого алгоритма большинство описаний в интернете не вводят используемые термины и упускают часть формул. Ваше описание - приятное исключение.
@memoryLayer
@memoryLayer 4 года назад
Да это жестко. Это видео осиливал больше двух часов)) Постепенно переслушивая и перематывая + делал своё задание паралельно. Спасибо большое
@romantsarev1145
@romantsarev1145 4 года назад
Отлично! Главное, что два часа ушли не впустую!
@nadyamoscow2461
@nadyamoscow2461 3 года назад
Счастливчик! Я, вообще, в день по 4 минуты видео "перевариваю", и трачу на эти минуты по часу. Тупо конспектирую, понимая через раз. Причем, параллельно учу Си и Питон. Так вот, языки мне даются слету, включая написание кодов и решение задач. Причем, подозреваю, что если мне те же задачи начнут объяснять в форме алгоритмов, я и их не пойму. Просто, видимо, алгоритмы , как форма передачи информации - вообще, не мое. Хотя практика показывает, что мозг, если его долго заставлять понимать то, чего он понимать не хочет, в итоге сдается и "открывается".
@memoryLayer
@memoryLayer 3 года назад
@@nadyamoscow2461 Вот это связка C and Python)) Вопрос зачем?)) Дам подсказку: нельзя учить несколько языков одновременно , дальше основ это никуда не зайдёт (я говорю про уверенный. Advanced level) . В любом случае успехов в обучении))
@nadyamoscow2461
@nadyamoscow2461 3 года назад
@@memoryLayer Спасибо! И поздравляю с достигнутым Advanced level ! Я не совсем одновременно. Меня, в принципе, интересует С, затем С++ и, возможно, в будущем, при необходимости, Java. Они базово аналогичны и вытекают один из другого с некоторыми изменениями. А Python просто попался на пути. Я одновременно и не учу: Си пока отложен. Вернусь, когда освою ООП на Питоне. Кстати, даже после азов Си, Питон кажется неприлично упрощенным. С другой стороны, логика - везде логика. Когда вернусь к Си, полученные знания в Питоне не помешают. Для меня это хобби, так что на меня не давит необходимость скорее на работу устроиться или типа того - могу учиться в удовольствие, пробовать и выбрать, что больше понравится. Я просто предпочитаю как следует разобраться, из чего именно выбираю. А алгоритмы - они при любом синтаксисе алгоритмы. Без них же никуда, чтоб они провалились... Нельзя же строить дом без фундамента
@YtSearchLifeStyle
@YtSearchLifeStyle 2 года назад
@@nadyamoscow2461 ммм... Ну и как спустя год?))))
@blessedponica8030
@blessedponica8030 4 года назад
Огромное спасибо, с вашей подачей материал очень хорошо усваивается!
@romantsarev1145
@romantsarev1145 4 года назад
Рад, что материал приносит пользу.
@Tatiana-zs3dc
@Tatiana-zs3dc 3 года назад
Прекрасное предельно ясное объяснение ! Спасибо вам огромное !
@romantsarev1145
@romantsarev1145 3 года назад
Пожалуйста. Рад, что понравилось.
@user-pd6do7es9x
@user-pd6do7es9x 6 лет назад
Большое спасибо автору видео! Все предельно ясно объяснил.
@romantsarev1145
@romantsarev1145 6 лет назад
Пожалуйста
@torrodincov6497
@torrodincov6497 3 года назад
Хорошо, очень хорошо, что вы есть
@xclamaation
@xclamaation Год назад
Огромное спасибо Вам за такое подробное объяснение!
@romantsarev1145
@romantsarev1145 Год назад
Пожалуйста!
@TheTipaproTV
@TheTipaproTV 6 лет назад
Спасибо автору за видео. Пытался понять данный алгоритм из теории - не получилось. А после видео всё стало на свои места.
@SosokYlitky
@SosokYlitky 4 года назад
Спасибо за видео.
@romantsarev1145
@romantsarev1145 4 года назад
Пожалуйста
@meunyaolya3076
@meunyaolya3076 Год назад
спасибо большое! актуально как никогда!!!
@romantsarev1145
@romantsarev1145 Год назад
Пожалуйста!
@fatvvsfatvvs5642
@fatvvsfatvvs5642 3 года назад
Вау, лучшее объяснение алгоритма Форда Фалкерсона! Наконец-то я понял этот алгоритм!
@romantsarev1145
@romantsarev1145 3 года назад
Спасибо за отзыв! Рад, что Вам пригодилось и понравилось.
@user-er4rc4bj9v
@user-er4rc4bj9v 2 года назад
Спасибо большое !!
@romantsarev1145
@romantsarev1145 2 года назад
Пожалуйста!
@mrlime9437
@mrlime9437 5 лет назад
Идеальное объяснение, спасибо огромное
@user-lx6ww2vi7c
@user-lx6ww2vi7c 4 года назад
Просто лайк
@yehornedbalo2969
@yehornedbalo2969 4 года назад
Спасибо!
@romantsarev1145
@romantsarev1145 4 года назад
Пожалуйста
@TheBestTvarynka
@TheBestTvarynka 5 лет назад
Чувак, спасибо :)!
@user-fd5lu8tw2d
@user-fd5lu8tw2d 7 лет назад
Спасибо большое
@romantsarev1145
@romantsarev1145 7 лет назад
Пожалуйста, Михаил.
@clankyhippo9133
@clankyhippo9133 3 года назад
Сперва испугался, что нет стрелочек, а потом понял
@valentynkhaman7688
@valentynkhaman7688 5 лет назад
На 18:06 пропусканая способность между узлами 2-3 разве не 20/20 должна стать ?
@romantsarev1145
@romantsarev1145 5 лет назад
Нет. Пропускную способность вычитаем в направлении потока. Раз поток проходит от 3 узла к 2, то получаем (30+10)/(10-10 - это от 3 к 2) = 40/0, а не 20/20.
@dargfox_
@dargfox_ 5 лет назад
Допущена ошибка в таблице на 20:54. У ребра (3;4) должно быть (10;0) - (0;10) = (10;-10). Да, на выходе получается одно и тоже, но это выражение может запутать. Руководился лишь вашей логикой, предоставленной в данном видеоролике. Если я где-то ошибся, то пожалуйста, исправьте меня. Спасибо за хорошее видео и предоставленный материал.
@romantsarev1145
@romantsarev1145 5 лет назад
Действительно, вы правы. В таблице опечатка. (На рисунках все правильно).
@professional2094
@professional2094 Год назад
Спасибо за видео! А почему ни слова про обратные ребра? В рассматриваемом примере мы гоним поток только по прямым ребрам.
@user-ug5cn6rw1v
@user-ug5cn6rw1v 6 лет назад
5:45, почему 2 узел не входит в множество для третьего узла? Т.е. как видно, что пропускная способность == 0?
@romantsarev1145
@romantsarev1145 6 лет назад
Да, на ребре 2-3 стоит метка 40/0. Это значит, что из узла 2 мы можем двигаться в узел 3 (пропускная способность равна 40), а из узла 3 в узел 2 - не можем (пропускная способность равна 0). А раз из узла 3 в узел 2 попасть мы не может, то 2 не входит в множество S3.
@user-ug5cn6rw1v
@user-ug5cn6rw1v 6 лет назад
Roman Tsarev точно, не обратил внимание на направление. Спасибо большое)
@romantsarev1145
@romantsarev1145 6 лет назад
Владислав Владимирович Пожалуйста
@user-uo8pc9hn4r
@user-uo8pc9hn4r 5 лет назад
тогда что происходит на 11:50?
@romantsarev1145
@romantsarev1145 5 лет назад
さまAsakura Переходим к шагу 3: поскольку вес ребра из второго узла в пятый (30) меньше веса ребра из второго узла в третий (40), то переходим в узел 3; помечаем третий узел меткой [40, 2]; полагаем i=3; переходим к шагу 2.
@user-th4tb3mf5s
@user-th4tb3mf5s 3 года назад
Легче величину потока считать на ребрах в стоке или истоке. Не совсем понял логику 20 + 10 + 10 + 10 + 10. За видео спасибо, освежил память)
@user-nn1ko1uq6k
@user-nn1ko1uq6k 6 месяцев назад
если вы за 3 года все таки поняли логику, не могли бы вкратце объяснить?
@user-io2zz9fv1l
@user-io2zz9fv1l 5 лет назад
Почему на первом шаге мы не перешли от узла 4 к узлу 2, ведь для него пропускная способность (= 40 > 20), больше чем к узлу 5? А так ваши видео очень приятно и понятно слушать)
@romantsarev1145
@romantsarev1145 5 лет назад
Спасибо. Что же касается узла 4, то ребра, соединяющего его с узлом 2, вообще нет.
@user-lt6dq1dj9h
@user-lt6dq1dj9h 5 лет назад
потому что
@ronro1
@ronro1 2 года назад
@@romantsarev1145 скорее всего он имел в виду от узла 3 к узлу 2, там действительно вы не учитываете этот переход
@romantsarev1145
@romantsarev1145 2 года назад
@@ronro1 Это вопрос ко второму Шагу 2 на первой итерации (5:32)? Цитирую с 5:51 "Второй узел не входит [во множество узлов с потенциальными кандидатами S], поскольку остаточная пропускная способность ребра от узла 3 к узлу 2 равна нулю". Все в видео верно.
@user-nn1ko1uq6k
@user-nn1ko1uq6k 6 месяцев назад
@@romantsarev1145, на самом же деле пропускная способность все таки равна 40. Потому что подпись под узлом 2 = (40, 0), а у всех других вершин (20, 0) или же (10, 0)
@antichrist509
@antichrist509 4 года назад
Здравствуйте, а что нам показывает максимальный поток в сети? Для чего нам его искать?
@romantsarev1145
@romantsarev1145 4 года назад
Как например узнать, сколько нефти можно за единицу времени перегнать через существующий трубопровод? С помощью этого (или аналогичного) алгоритма.
@antichrist509
@antichrist509 4 года назад
Roman Tsarev спасибо
@gintoke8888
@gintoke8888 3 года назад
А что делать если вес дуги не 20/0 а просто 2 или 5?
@romantsarev1145
@romantsarev1145 3 года назад
Это значит, что вес дуги просто 2/0 или 5/0. В самом начале про это рассказывается.
@user-jt5ch8pv6h
@user-jt5ch8pv6h 4 года назад
Завтра зачет по этой жепе, классно что можно тупо посмотреть видос и не читать буковы
@romantsarev1145
@romantsarev1145 4 года назад
Главное, чтобы мимо не пролетело )
@vadymca8420
@vadymca8420 4 года назад
Так и не понял почему в конце максимум будет 20+10+10+10+10=60...
@romantsarev1145
@romantsarev1145 4 года назад
На каждой итерации (при прохождении от истока к стоку) мы пытаемся "пропихнуть" максимальный поток. Это те самые 20, 10, 10... На каждой последующей итерации мы учитываем то, что уже выбрали. Заканчиваем итерации, когда уже не можем ничего "пропихнуть". И суммируем те самые частные максимальные потоки всех предыдущих итераций.
@vadymca8420
@vadymca8420 4 года назад
@@romantsarev1145 💙💛
@johnsimpson2827
@johnsimpson2827 6 лет назад
Все круто , но купите пожалуйста хороший микрофон для записи , минус уши
@woaalong
@woaalong 4 года назад
Для орграфа алгоритм такой же?
@romantsarev1145
@romantsarev1145 4 года назад
Да.
@lonewhiteraven3440
@lonewhiteraven3440 4 года назад
а так же делать если у тебя направленная сеть ?
@romantsarev1145
@romantsarev1145 4 года назад
Да
@lonewhiteraven3440
@lonewhiteraven3440 4 года назад
@@romantsarev1145 спасибо за ответ
@lonewhiteraven3440
@lonewhiteraven3440 4 года назад
@@romantsarev1145 ах да и Еше точно так или есть изменения (ну насчёт сток и истока понятно)
@romantsarev1145
@romantsarev1145 4 года назад
Точно так
@lonewhiteraven3440
@lonewhiteraven3440 4 года назад
@@romantsarev1145 вес правильно спасибо большое(нормальное объяснение не мог найти ну точнее были но для маленьких сетей)наконец то дискретную сдам
@impetrov
@impetrov 2 года назад
Если по ребру 1-3 проходит поток 20, то почему пропускная способность ребра 3-1 стала 20??
@romantsarev1145
@romantsarev1145 2 года назад
На каком этапе?
@impetrov
@impetrov 2 года назад
@@romantsarev1145 вот тут: 10:00
@romantsarev1145
@romantsarev1145 2 года назад
@@impetrov Хороший вопрос. Идея в следующем, раз из узла 1 в узел 3 на этой итерации проходит поток в 20, то он "ослабляет" исходную пропускную способность 30 до 10. Одновременно с этим появляется потенциал для движения потока из 3 в 1 в размере 20, если он придет на следующих итерациях.
@impetrov
@impetrov 2 года назад
@@romantsarev1145 я вот не понимаю, почему этот потенциал возникает? если там нет потока, то понятно, потенциально можно от 3-1 направить. Но почему потенциал возникает именно тогда, когда появляется из 1 в 3 не могу понять.
@mravchik3785
@mravchik3785 2 года назад
Где можно взять перезентацию?
@romantsarev1145
@romantsarev1145 2 года назад
Сделайте скриншоты
@mravchik3785
@mravchik3785 2 года назад
@@romantsarev1145 Мне нужно взять Ваш отличный исходник и дополнить пару моментов
@romantsarev1145
@romantsarev1145 2 года назад
@@mravchik3785 Без проблем. 10 000 руб. на карту и исходник Ваш.
@injir1788
@injir1788 6 лет назад
Как вас найти ?
@injir1788
@injir1788 6 лет назад
+Roman Tsarev можно с вами про консультироваться ?
@romantsarev1145
@romantsarev1145 6 лет назад
Вы можете задать Ваш вопрос в комментариях.
@romantsarev1145
@romantsarev1145 6 лет назад
Если же Вам нужна развернутая консультация, лучше будет обратиться к фрилинсерам на studlance(goo.gl/xpccZj) или studwork(goo.gl/rBHSfi), где за символическую плату Вас проконсультируют, а то и предоставят полное решение с подробными пояснениями. Можете также воспользоваться услугами на workzilla(goo.gl/4hN4HF), на этой площадке предоставляются услуги широкого профиля, в том числе, и решение различных задач.
@kostiantynpilavov3980
@kostiantynpilavov3980 4 года назад
по графу
@user-ku9ty3yo6v
@user-ku9ty3yo6v 3 года назад
Зачем удалил Нину Львовну?
@romantsarev1145
@romantsarev1145 3 года назад
Погорячился
@kaisaryerdenbekov1588
@kaisaryerdenbekov1588 3 года назад
Автор, как это решать??? Смотрел 25 минут, в конце понял что смотрел не то :facepalm: Потом еще 25 минут рисовал, то что ниже. Помоги, а, плиз. После пропускания потока в транспортной сети (см. рисунок) насыщенными оказались дуги: U = (s, 1), (s, 5), (5, 6), (3, t), (6, 3). (1) >>>10>>>> ( 3) ^ v ^ ^ v 12 8 22 10 11 ^ v ^ ^ v s >14> (5 ) >10> (6) >10> ( t) v ^ ^ v ^ 18 11 12 4 17 v ^ ^ v ^ (2 ) > 9> (4) Определите, возможно ли увеличить поток в данной сети.
@romantsarev1145
@romantsarev1145 3 года назад
Лучше пересмотрите еще раз видео и разберитесь с алгоритмом. Это будет гораздо лучше, чем я за Вас решу.
@2007vintik
@2007vintik 4 года назад
снимаю шляпу, спасибо
@user-sv5vb4bx8i
@user-sv5vb4bx8i 7 лет назад
Полезно, но слишком затянуто По двадцать раз одно и то же повторять смысла не вижу, всё же не совсем идиоты по ту сторону экрана сидят)
@romantsarev1145
@romantsarev1145 7 лет назад
Переписать? )
@expanzo
@expanzo 6 лет назад
не переписывай, все норм есть люди которые видят это в первый раз и это замечательно что ты повторяешь по 20 раз одно и тоже, остальные могут читать книги написанные старыми программистами которые кодят на бинарном коде.
Далее
Bubble sort
3:27
Просмотров 4,2 тыс.
Насыщение сети
17:17
Просмотров 58 тыс.
#tatyanadiablo #shorts
00:13
Просмотров 786 тыс.
Идея алгоритма Дейкстры
9:56
Просмотров 7 тыс.
Алгоритм Краскала
11:57
Просмотров 18 тыс.