Blandade kinesiska brevbärarproblem

Det blandade kinesiska brevbärarproblemet (MCPP eller MCP) är sökandet efter den kortaste genomgången av en graf med en uppsättning hörn V, en uppsättning oriktade kanter E med positiva rationella vikter och en uppsättning riktade bågar A med positiva rationella vikter som täcker varje kant eller båge minst en gång till minimal kostnad. Problemet har visat sig vara NP-komplett av Papadimitriou . Det blandade kinesiska brevbärarproblemet uppstår ofta i bågdirigeringsproblem som snöplogning, där vissa gator är för smala för att korsa i båda riktningarna medan andra gator är dubbelriktade och kan plogas i båda riktningarna. Det är lätt att kontrollera om en blandad graf har en brevbärartur av någon storlek genom att verifiera om grafen är starkt kopplad. Problemet är NP-svårt om vi begränsar brevbärarturen till att korsa varje båge exakt en gång eller om vi begränsar den till att korsa varje kant exakt en gång, vilket bevisats av Zaragoza Martinez.

Matematisk definition

Den matematiska definitionen är:

Ingång: En starkt sammankopplad, blandad graf med kostnad för varje edge och en maximal kostnad .

Fråga: finns det en (riktad) tur som korsar varje kant i och varje båge i minst en gång och har kostat högst ?

Beräkningskomplexitet

Den största svårigheten med att lösa det blandade kinesiska brevbärarproblemet ligger i att välja orienteringar för de (oriktade) kanterna när vi får en knapp budget för vår turné och bara har råd att korsa varje kant en gång. Vi måste sedan orientera kanterna och lägga till ytterligare några bågar för att få en riktad Eulerisk graf, det vill säga för att göra varje vertex balanserad. Om det finns flera kanter som faller på en vertex är det inte en lätt uppgift att bestämma den korrekta orienteringen av varje kant. Matematikern Papadimitriou analyserade detta problem med fler restriktioner; "MIXED CHINESE POSTMAN är NP-komplett, även om ingångsgrafen är plan, har varje vertex högst tre grader, och varje kant och båge har kostat en."

Eulerisk graf

Processen att kontrollera om en blandad graf är Eulerian är viktig för att skapa en algoritm för att lösa problemet med blandade kinesiska brevbärare. Graderna för en blandad graf G måste vara jämn för att ha en Eulerisk cykel, men detta är inte tillräckligt.

Approximation

Det faktum att den blandade kinesiska brevbäraren är NP-hård har lett till sökandet efter polynomtidsalgoritmer som närmar sig den optimala lösningen till rimlig tröskel. Frederickson utvecklade en metod med en faktor på 3/2 som kunde appliceras på plana grafer, och Raghavachari och Veerasamy hittade en metod som inte behöver vara plan. Däremot kan polynomtiden inte hitta kostnaden för deadheading, den tid det tar för en snöplog att nå gatorna den kommer att ploga eller en gatusopare att nå de gator som den kommer att sopa.

Formell definition

Givet en starkt sammankopplad blandad graf med en vertexuppsättning , och kantmängd , en båguppsättning och en icke-negativ kostnad för varje , MCPP består av att hitta en minimikostnad tur genom varje länk minst en gång.

Givet , , ( anger uppsättningen av kanter med exakt en ändpunkt i , och . Givet en vertex , (ograd) anger antalet bågar enter , (outdegree) är antalet bågar som lämnar , och (grad) är antalet länkar som inträffar med . Observera att . En blandad graf kallas även om alla dess hörn har jämn grad, den kallas symmetrisk om för varje vertex , och det sägs vara balanserat om, givet någon delmängd av hörn , skillnaden mellan antalet bågar riktade från till , , och antalet bågar riktade från till , , är inte större än antalet oriktade kanter som förenar och , .

Det är ett välkänt faktum att en blandad graf är Eulerisk om och endast om är jämn och balanserad. Lägg märke till att om är jämn och symmetrisk, så är G också balanserad (och Eulerian). Dessutom, om är jämn, kan lösas exakt i polynomtid.

Även MCPP Algorithm

  1. Givet en jämn och starkt sammankopplad blandad graf , låt vara uppsättningen av bågar som erhålls genom att slumpvis tilldela en riktning till kanterna i och med samma kostnader. Beräkna för varje vertex i i den riktade grafen . En vertex med kommer att betraktas som en källa (sink) med utbudsefterfrågan . Observera att eftersom är en jämn graf, är alla tillgångar och krav jämna tal (noll anses vara ett jämnt tal).
  2. Låt vara uppsättningen av bågar i motsatt riktning mot de i och med kostnaderna för de motsvarande kanterna, och låt vara uppsättningen av bågar parallella med till noll kostnad.
  3. För att tillfredsställa kraven hörn, lös ett minimikostnadsflödesproblem i grafen , där varje båge i har oändlig kapacitet och varje båge i har kapacitet 2. Låt vara det optimala flödet.
  4. För varje båge i gör: Om orientera sedan motsvarande kant i från till (riktningen, från till , tilldelad den associerade kanten i steg 1 var fel"); om , orientera sedan motsvarande kant i G från till (i det här fallet var orienteringen i steg 1 "rätt" "). Observera att fallet är omöjligt, eftersom alla flödesvärden genom bågar i är jämna tal.
  5. Förstärk genom att lägga till kopior av varje båge i . Den resulterande grafen är jämn och symmetrisk.

Heuristiska algoritmer

När den blandade grafen inte är jämn och noderna inte alla har jämn grad, kan grafen omvandlas till en jämn graf.

  • Låt vara en blandad graf som är starkt kopplad . Hitta de udda gradnoderna genom att ignorera bågriktningarna och få en minimal kostnadsmatchning. Förstärk grafen med kanterna från den minimala kostnadsmatchningen för att skapa en jämn graf .
  • Grafen är jämn men inte symmetrisk och en eulerisk blandad graf är jämn och symmetrisk. Lös ett minimikostnadsflödesproblem i för att få en symmetrisk graf som kanske inte är jämn .
  • Det sista steget innebär att göra den symmetriska grafen jämn. Märk noderna med udda grader . Hitta cykler som alternerar mellan linjer i bågmängden och linjer i kantmängden som börjar och slutar vid punkter i . Bågarna i bör betraktas som oriktade kanter, inte som riktade bågar.

Genetisk algoritm

En artikel publicerad av Hua Jiang et. al lade fram en genetisk algoritm för att lösa det blandade kinesiska brevbärarproblemet genom att operera på en population. Algoritmen fungerade bra jämfört med andra approximationsalgoritmer för MCPP.

Se även