Perché funziona l'ultima fase di Matching dei coinquilini stabili di Irving

1

pertinente al problema dei compagni di stanza stabili e all'algoritmo sviluppato da Robert W. Irving.

Ci sono due fasi (a volte spezzate in tre) in cui possiamo arrivare ad un abbinamento stabile di tutti in un set e alle loro preferenze dichiarate. La prima, a volte riconosciuta seconda, semplice fase di rifiuto è abbastanza auto-esplicativa su come e perché funzionano. Ma la fase finale di rotazione / ciclica è stata difficile da comprendere. L'obiettivo è trovare rotazioni ed eliminare / rifiutare le coppie trovate nelle rotazioni fino a quando non viene trovata / trovata una corrispondenza stabile. Questa fase è piuttosto difficile da spiegare a parole quindi farò del mio meglio e spero che qualcuno già conosca questo problema.

La mia formulazione:

Inizieremo con l'elenco di preferenze rimanenti di qualsiasi persona e selezioniamo la seconda preferenza rimanente person1[2] . Utilizza l'elenco di person1[2] e seleziona l'ultima preferenza rimanente person2[L] . Li usiamo come nostra coppia di partenza (person1[2],person2[L]) . Con person2[L] ripeteremo il processo di cui sopra (selezionando la seconda preferenza di person2[L] e le ultime preferenze) e continueremo fino a quando non avremo ancora una volta ruotato attorno alla nostra coppia originale di (person1[2],person2[L]) . A quel punto rifiuteremo tutte le coppie diagonali (personI[2],previous personJ[L]) . Le coppie rotazione / rifiuto-diagonale si ripetono finché tutti hanno una singola corrispondenza o finché non viene dichiarato che non tutti possono essere abbinati.

Pseudocodice dell'algoritmo:

FOR all rotations in (p1...pn) and (q1...qn)
such that qi is second preference of pi and pi+1 is last preference of qi 
DO:
    FOR i = 1...n -1 DO:
    reject(qi,pi+1)
    END
END

Il codice sembra perfetto da implementare, ma è piuttosto difficile capire perché funzioni. Devo ancora trovare un buon video o articolo che spieghi questa fase.

    
posta rambossa 26.07.2016 - 04:21
fonte

0 risposte

Leggi altre domande sui tag