L'algoritmo ungherese è un algoritmo di ottimizzazione combinatoria che risolve il problema della corrispondenza del peso massimo bipartito in tempi polinomiali e ha anticipato il successivo sviluppo dell'importante metodo primal-dual . L'algoritmo è stato sviluppato e pubblicato da Harold Kuhn nel 1955, che ha dato il nome di "algoritmo ungherese" perché l'algoritmo si basava sulle opere precedenti di due matematici ungheresi: Dénes Kőnig e Jenő Egerváry. Munkres ha rivisto l'algoritmo nel 1957 e ha osservato che si tratta davvero di un polifunzio. Da allora l'algoritmo è anche noto come algoritmo Kuhn-Munkres.
Sebbene l'ungherese contenga l'idea di base del metodo primal-dual, risolve direttamente il problema di corrispondenza bipartita del peso massimo senza utilizzare alcun macchinario di programmazione lineare (LP). Quindi, in risposta alla seguente domanda , ha commentato Jukka Suomela
Ovviamente puoi risolvere qualsiasi LP usando un solutore LP generico, ma gli algoritmi specializzati in genere hanno prestazioni molto migliori. [...] Spesso puoi anche evitare problemi come l'uso di numeri razionali esatti rispetto a numeri in virgola mobile; tutto può essere fatto facilmente con numeri interi.
In altre parole, non devi preoccuparti di come arrotondare una soluzione razionale / a virgola mobile dal solutore LP per ottenere una corrispondenza perfetta del peso massimo di un dato grafico bipartito.
La mia domanda è la seguente:
Esiste una generalizzazione dell'algoritmo ungherese che funziona per un grafico generale non orientato senza l'uso di macchinari LP in modo simile allo spirito dell'algoritmo ungherese originale?
Preferirei un'esposizione moderna e di facile lettura piuttosto che un documento complicato originale. Ma qualsiasi puntatore sarà molto apprezzato!
Mille grazie in anticipo e buon Natale !!!
Aggiornamento: Arman sotto risponde alla domanda. Voglio solo sottolineare che un'altra bella fonte per studiare l'algoritmo Blossom di Edmonds (per il caso ponderato) è il capitolo 11 dell'ottimizzazione combinatoria di Korte e Vygen . Google book in realtà mostra quasi tutte le parti di cui ho bisogno per capire l'algoritmo.