Un paio di mesi fa sono andato a un concerto di Bruce Springsteen. Non avevo ascoltato molte delle sue canzoni prima, ma mi è piaciuto molto il concerto e ne ho acquistato la registrazione live in seguito (che vende tramite live.brucespringsteen. netto). Un po 'più tardi ho persino comprato un'altra registrazione dal vivo di un altro concerto e dopo averli ascoltati a ripetizione mi piace sempre più la sua musica. Mi piace così tanto che voglio comprare più delle sue registrazioni dal vivo ... ed è qui che mi sono imbattuto nel mio problema: ha un sacco di registrazioni!
Quindi ora come sviluppatore voglio scrivere un pezzo di codice che mi darà il numero minimo / ottimale di registrazioni da acquistare che mi darà un numero massimo di canzoni diverse con il minimo duplicato (tenendo conto delle 2 registrazioni Ho già).
Potrei naturalmente forzarla, ma spero che ci sia qualche algoritmo o libreria che potrebbe aiutarmi a determinare il set corretto di registrazioni da acquistare? Scraping gli elenchi di set dal sito è la parte facile.
Ho già provato a cercare algoritmi e sembra che potrebbe essere una sorta di problema relativo al set di cover , che renderebbe NP-completo, che è un problema, ma non sto cercando una combinazione che mi dia tutte le canzoni diverse, solo quali x registrazioni da acquistare in aggiunta per ottenere la migliore quantità di canzoni diverse in totale (la lunghezza della canzone non lo fa t importa).
Chiarificazione : come sottolinea Doc Brown, devo essere ancora più specifico. Mi piacerebbe sapere quali registrazioni acquistare che mi danno più, ma non tutte, canzoni, con un massimo fisso di duplicati.
Possibilità? Dopo averci pensato un po ', sto iniziando a chiedermi se forse la Programmazione Genetica può essere applicata a questo? Potresti iniziare con una popolazione di individui generati casualmente (combinazioni di registrazioni) e quindi applicare una funzione di fitness che fornisce un punteggio basato sulla quantità di brani, duplicati e ampli unici; necessarie registrazioni totali Dopo un numero sufficiente di generazioni questo potrebbe anche dare una buona approssimazione?