|
Titlul: 020 Cuplaj maxim in graf bipartit Scris de: Filip Cristian Buruiana din Decembrie 06, 2008, 19:49:25 Aici puteti discuta despre problema Cuplaj maxim in graf bipartit (http://infoarena.ro/problema/cuplaj).
Titlul: Răspuns: 020 Cuplaj maxim in graf bipartit Scris de: Mircea Pasoi din Ianuarie 09, 2009, 15:39:07 Lipseste poza de la explicatia exemplului.
Titlul: Răspuns: 020 Cuplaj maxim in graf bipartit Scris de: Marius Stroe din Ianuarie 09, 2009, 21:42:59 Au fost câteva probleme cauzate (de mine). Am să pun poza imediat. :)
Titlul: Răspuns: 020 Cuplaj maxim in graf bipartit Scris de: gaboru corupt din Martie 10, 2009, 00:07:31 interesant e ca daca fac cu Edmonds Karp pe exemplul:
Cod: 3 3 6 imi da raspuns gresit. daca folosesc solutia cu "lanțuri altenante" care cred ca sunt alternante, imi da raspunsul corect. totusi cred ca ambele solutii ar trebui sa returneze un raspuns corect daca totusi sunt "solutii" cu implementare diferita. raspuns corect furnizat de solutia cu lanturi alternante ( http://infoarena.ro/job_detail/225128?action=view-source ): Cod: 3 iar cea gresita cu Edmonds Karp ( http://infoarena.ro/job_detail/225136?action=view-source ) : Cod: 3 Titlul: Răspuns: 020 Cuplaj maxim in graf bipartit Scris de: Marius Stroe din Martie 11, 2009, 20:04:26 Soluția cu Edmonds Karp nu cred că e greșită. Tu ai introdus datele greșit. Pe prima linie ai 3 3 6, adică ai o mulțime L cu 3 elemente {1, 2, 3} și o mulțime R tot cu 3 elemente {1, 2, 3} și între acestea se adaugă 6 muchii. Însă, pe coloana a doua din liniile următoare ai valorile 4, 5, 6 care nu sunt corecte. Ar trebui 1, 2, 3.
Titlul: Răspuns: 020 Cuplaj maxim in graf bipartit Scris de: gaboru corupt din Martie 11, 2009, 20:36:00 Ok, pana la urma am inteles ce era gresit. Dar totusi, cred ca ar trebui specificat alaturi de solutie ca datele de intrare au alt format fata de cel cu liste alternante.
Titlul: Răspuns: 020 Cuplaj maxim in graf bipartit Scris de: Marius Stroe din Martie 12, 2009, 19:55:38 Ok, pana la urma am inteles ce era gresit. Dar totusi, cred ca ar trebui specificat alaturi de solutie ca datele de intrare au alt format fata de cel cu liste alternante. Datele de intrare au acelaşi format pentru toate soluţiile. Titlul: Răspuns: 020 Cuplaj maxim in graf bipartit Scris de: Adelina Spataru din Noiembrie 20, 2009, 16:12:47 Imi poate spune cineva va rog frumos care este ideea de rezolvare cu lanturi alternante?
Titlul: Răspuns: 020 Cuplaj maxim in graf bipartit Scris de: Sima Cotizo din Noiembrie 20, 2009, 17:21:21 Daca te referi la ce cred eu:
- sa zicem ca ai in stanga un set de noduri i, in dreapta un set de noduri j. tii in L[ i ] nodul din dreapta cu care nodul i (din stanga) e cuplat, iar in R[ j ] nodul din stanga cu care e cuplat nodul j(din dreapta). bineinteles, daca L[ i ] sau R[ j ] sunt 0, inseamna ca sunt necuplati (sau egali cu alta valoare "de referinta" gen -1, tu stii) - pentru un nod din dreapta cuplat cu unul din stanga, stii ca el va ramane cuplat mereu (practic, nu vrei sa scazi cuplajul). - iei un nod din stanga. daca gasesti sa-l cuplezi cu unul din dreapta liber, o faci. daca nu gasesti vreunu liber, ii iei pe cei ocupati si incerci sa-i recuplezi pe astia cu nodu curent, deci sa incerci pe R[j] (nodul corespunzator nodului din dreapta cu care vrei sa cuplezi) sa il cuplezi cu altcineva Asta e ideea in mare. Imi dau seama ca nu este foarte clar explicata, dar cred ca te-ar ajuta sa te uiti si pe o sursa in acelasi timp ( de exemplu: http://infoarena.ro/job_detail/234180?action=view-source ). Daca are altcineva o explicatie mai clara, sau daca eu am explicat alta metoda decat cea ceruta, va rog sa ma corectati :) Titlul: Răspuns: 020 Cuplaj maxim in graf bipartit Scris de: Andrei Grigorean din Noiembrie 20, 2009, 23:09:00 Ce anume vrei sa iti explicam, algoritmul in sine sau modul de implementare?
Titlul: Răspuns: 020 Cuplaj maxim in graf bipartit Scris de: Budeanu Emilian din Martie 25, 2010, 11:29:52 salut...ma poate ajuta cineva?..nu gasesc un turorial sau un articol care sa ma ajute sa inteleg ce sunt grafurile si cum le folosesc..nu am mai lucrat deloc cu grafuri..daca ma puteti ajuta cu un tutorial ceva ar fi perfect
Titlul: Răspuns: 020 Cuplaj maxim in graf bipartit Scris de: Cezar Mocan din Martie 25, 2010, 12:29:18 Wikipedia. 1 (http://en.wikipedia.org/wiki/Graph_%28data_structure%29) si 2 (http://en.wikipedia.org/wiki/Graph_theory). Sper sa te ajute!
Titlul: Răspuns: 020 Cuplaj maxim in graf bipartit Scris de: alexandru din Mai 02, 2010, 19:40:08 Nu gasesc nici unde explicata metoda lanturilor alternante, se poate detalia putin sau un link catre o explicatie ?
Titlul: Răspuns: 020 Cuplaj maxim in graf bipartit Scris de: Sima Cotizo din Mai 02, 2010, 23:38:17 Bineinteles, imediat. Uite aici:
http://infoarena.ro/forum/index.php?topic=3450.msg36209#msg36209 Pun pariu ca nu ai citit topicul... Titlul: Răspuns: 020 Cuplaj maxim in graf bipartit Scris de: livica din Februarie 02, 2011, 00:17:40 Poate cineva sa comenteze codul (http://infoarena.ro/job_detail/225128?action=view-source) pentru ca nu pot sa-l inteleg. Eu stiu cum sa fac problema asta dar intr-un mod mult mai dificil de implementat, de aceea va rog daca poate cineva sa ma ajute sa inteleg codul lui Marius Stroe!
Titlul: Răspuns: 020 Cuplaj maxim in graf bipartit Scris de: Vlad Eugen Dornescu din Februarie 02, 2011, 11:40:51 http://en.wikipedia.org/wiki/Hopcroft-Karp_algorithm
Titlul: Răspuns: 020 Cuplaj maxim in graf bipartit Scris de: livica din Februarie 02, 2011, 12:18:10 Algoritmul lui Marius Stroe nu urmeaza pseudocodul Hopcroft-Karp de pe wikipedia. E cu totul altceva!
Titlul: Răspuns: 020 Cuplaj maxim in graf bipartit Scris de: Petru Trimbitas din Februarie 02, 2011, 14:27:10 Uite sursa mea:
http://infoarena.ro/job_detail/465422?action=view-source nu sunt multe comentarii dar sper sa te ajute :D Daca nu intelegi ceva intreaba si incerc sa te ajut. Titlul: Răspuns: 020 Cuplaj maxim in graf bipartit Scris de: livica din Februarie 02, 2011, 21:50:55 Merci!
Eu m-am gandit la un algoritm propriu inspirat de chestia asta cu vectorii L si R. Incerc sa cuplez un nod din stanga cu unul din dreapta. Daca nodul din dreapta nu e cuplat atunci fac cuplajul. Altfel caut un alt nod din dreapta cu care nodul din stanga se poate cupla. Daca toate nodurile din dreapta nodului din stanga sunt cuplate atunci decuplez un nod din dreapta, il cuplez cu nodul din stanga, iar nodul din stanga care a fost decuplat de nodul din dreapta caut sa-l cuplez cu un altul din dreapta necuplat. Faza e ca algoritmul la care m-am gandit eu merge foarte bine pe foaie, intru-cat l-am testat multe grafuri bipartite? Cumva algoritmul tau face acelasi lucru? Apropo: algoritmul lui Stroe nu merge pentru un graf anume. E gresit. Titlul: Răspuns: 020 Cuplaj maxim in graf bipartit Scris de: Dragos Oprica din Februarie 03, 2011, 00:04:00 Apropo: algoritmul lui Stroe nu merge pentru un graf anume. E gresit. Nu e algoritmul lui Stroe. E un algoritm greedy ce determina cuplajul maxim, si e demonstrat a fi corect. Practic functia pair-up returneaza adevarat daca poate cupla nodul i din prima multime. Cum face asta? Parcurge in primul rand toate nodurile vecine ale nodului i din cea dea doua multime,si daca gaseste unul liber, il cupleaza cu acesta. Daca nu gaseste nici un nod liber (necuplat), atunci parcurge din nou vecinii nodului i, si incearca sa vada daca poate cupla perechea acestui nod cu altul, pentru a-l putea cupla pe i cu acesta. Sper sa intelegi. E seara, si e probabil sa am greseli gramaticale, si pentru asta, imi cer scuze. Titlul: Răspuns: 020 Cuplaj maxim in graf bipartit Scris de: livica din Februarie 03, 2011, 00:40:51 Asa m-am gandit si eu. Ciudat e ca merge si nu pot intelege de ce.
Nu pot sa inteleg care ar putea fi demonstratia matematica pentru algoritmul asta, asa cum exista una pentru algoritmul care rezolva acceasi problema, insa utilizand un graf auxiliar (http://www.youtube.com/watch?v=NlQqmEXuiC8). Titlul: Răspuns: 020 Cuplaj maxim in graf bipartit Scris de: Stefan-Alexandru Filip din Februarie 04, 2011, 00:16:17 Algoritmul lui Marius Stroe nu urmeaza pseudocodul Hopcroft-Karp de pe wikipedia. E cu totul altceva! E acelasi lucru, doar ca este implementat la obiect, fara bla bla. Se demonstreaza folosind drumuri de augmentare, pana la urma este o optimizare la Edmond-Karp, care este o implementare a Ford–Fulkerson. Daca nu stii algoritmul de flux maxim intr-o retea de transport, atunci iti recomand sa incepi cu acesta din urma. Titlul: Răspuns: 020 Cuplaj maxim in graf bipartit Scris de: Aurelian Namascu din Aprilie 01, 2011, 06:53:26 Care este cel mai eficient algoritm pentru a afla cuplajul maxim intr-un graf multi partit( tripartit, 4 partit, 5 partit, 6 partit) ?
Dar cred ca pentru ce am eu nevoie va fi 7->9 partit. Edmonds-Karp? Titlul: Răspuns: 020 Cuplaj maxim in graf bipartit Scris de: Stanciu Alexandru Marian din Mai 09, 2011, 21:51:58 Am implementat aceasta problema urmarind exact algoritmul de pe Wikipedia cu privire la algoritmul Hopcroft–Karp. Am retinut muchiile intr-o lista de adiacenta, vectorul pair e global la fel si dist. Am urmarit exact acel algoritm. Nu inteleg de ce imi da raspunsul gresit. Nu este de ajuns implementarea acelui algoritm sau mai trebuie modificat ceva?
Multumesc anticipat, Alex Titlul: Răspuns: 020 Cuplaj maxim in graf bipartit Scris de: Mihai Visuian din Noiembrie 25, 2011, 19:56:03 Buna... imi puteti spune si mie de unde pot invata despre grafuri(de pe internet de preferat) sunt pe clasa a 9-a.
Titlul: Răspuns: 020 Cuplaj maxim in graf bipartit Scris de: Radu-Andrei Szasz din August 14, 2012, 11:36:02 Se poate adauga si problema revolutie (http://infoarena.ro/problema/revolutie) la probleme suplimentare :)
Titlul: Răspuns: 020 Cuplaj maxim in graf bipartit Scris de: Mouse Wireless din August 04, 2015, 19:57:40 https://en.wikipedia.org/wiki/Hopcroft%E2%80%93Karp_algorithm
Stie cineva care este scopul BFS-ului din primul pas al algoritmului descris aici?.. nu se poate si fara? Vad ca toata lumea de pe aici a implementat solutia cu lanturi alternate, fara sa se chinuie cu Hopcroft-Karp cu BFS-ul lui de la inceput.. |