Qual è il modo migliore per descrivere la complessità algoritmica del rilevamento di collusione per un sito di poker online da dieci milioni di giocatori?NP-Hard? Complessità algoritmica del rilevamento della collusione nel poker online?
assuma (non credo che queste ipotesi fanno molta differenza quindi sentitevi liberi di ignorarli, ma tanto per chiarire):
- che il sito ha 10.000.000 utenti registrati.
- Che questi giocatori abbiano giocato un totale di 5 miliardi di mani.
- Che l'unica informazione che ti viene data è il "database della cronologia delle mani" per il sito, contenente tutte le carte giocatore e le azioni di scommessa per ogni mano.
- In altre parole, NON è possibile utilizzare scorciatoie come l'esame di indirizzi IP, la ricerca di pattern di profitto/profitto insoliti e così via.
- Supponiamo che ti venga assegnata una funzione che, quando passa un gruppo di esattamente N (dove N è tra 2 e 10) giocatori, restituisce VERO se TUTTI i giocatori del gruppo hanno colluso INSIEME. Se alcuni ma non tutti i giocatori sono collusi, la funzione restituisce FALSE. Un valore di ritorno di TRUE è fatto con (per esempio) il 75% di confidenza.
Il vostro compito è quello di produrre un elenco completo di tutti i giocatori che sono stati collusi, insieme a un elenco completo dei giocatori con cui ha collaborato. Recentemente ho sentito questo problema descritto come NP-hard ma è accurato? A volte chiamiamo le cose "NP" o "NP-hard" che sono semplicemente "difficili".
Grazie!
Non ho una risposta (ancora?), Ma un'altra domanda. :) Se chiamo haveColluded ("Bob", "Jane", "Mary") e: 1. Bob ha colluso con Jane in mano 1. 2. Bob ha colluso con Mary in mano 2. 3. Jane ha colluso con Maria in mano 3. (supponiamo che siano gli unici giochi giocati) cosa restituisce? –
In questo caso, supponendo che Bob, Jane e Mary siano seduti nella stessa tabella, la funzione restituisce VERO. Hai identificato un gruppo di collusione di 3 giocatori e non tutti i giocatori di quel gruppo devono essere attivi durante il sottogruppo di mani che stai guardando. Ovviamente, HaveColluded è in qualche modo "magico" ma ho ritenuto necessario limitare il problema. Sentiti libero di inserire la tua definizione di HaveColluded qui se questo semplifica le cose! :-) –
@Coding the Wheel: se qualcun altro avesse fatto questa domanda, avrei detto loro di chiederti. :) –