Şirketteki değişiklikler sonucunda, oturma planımızı yeniden düzenlemeliyiz: bir odada 10 masa vardır. Bazı masalar, nedenlerden dolayı diğerlerinden daha popüler. Bir çözüm şapkadan bir masa numarası çizmek olacaktır. Bunu yapmanın daha iyi bir yolu olduğunu düşünüyoruz.Açık alan oturma optimizasyonu algoritması
10 masa ve 10 kişiye sahibiz. Bu yarışmaya katılan herkese 50 varsayımsal jetona masalarda teklif vermesini sağlar. Bir masaya ne kadar teklif verdiğinize dair bir sınırlama yoktur, "Sadece burada, periyodda oturmak istiyorum" diyen 50'nin tümünü yerleştirebilirsiniz. Ayrıca her masaya 5 jeton vererek “umurumda değil” diyebilirsiniz.
Önemli not: kimse başkalarının ne yaptığını bilmiyor. Herkes sadece kendi/onu yararına üzerinden karar verme vardır (tanıdık geliyor?)
Şimdi bu varsayımsal sonuçlar elde diyelim: Artık
# | Desk# >| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
1 | Alise | 30 | 2 | 2 | 1 | 0 | 0 | 0 | 15 | 0 | 0 | = 50
2 | Bob | 20 | 15 | 0 | 10 | 1 | 1 | 1 | 1 | 1 | 0 | = 50
...
10 | Zed | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | = 50
, ne bulmalıyız olduğunu bir (veya daha fazla) bize maksimum memnuniyet sağlayan konfigürasyon (lar) (yani insanlar tüm teklifleri hesaba katmayı ve grubun toplamını maksimize etmeyi istedikleri masaları alırlar. Tabii ki varsayım, daha fazla kişi istediği masanın üzerinde daha fazla bir şeydir.).
Sadece 10 kişi olduğu için, tüm olası konfigürasyonlara bakmaya zorlayabileceğimizi düşünüyorum, ama bu tür problemleri çözmek için daha iyi bir algoritma olduğunu merak ediyordum?
http://en.wikipedia.org/wiki/Stable_marriage_problem – polygenelubricants
ile ilgili olabilir Pratikte, maksimum tatminden ziyade asgari hayal kırıklığı gibi bir şey isteyebilirsiniz. Ya da en azından bazı kombinasyon. –
@Doug: ipucu için teşekkürler :). Bu mümkün –