Problemy z najniższym spośród równych kontraktów minimaksowych w MiniMaxDOS
============================================================================
*Uwaga: poniższe problemy dotyczą komponentu BigDeal o nazwie MiniMaxDOS, piszącego bezpośrednio do PBN dane analizy w widne w formatach JFR. Implementacja minimaksa w samym BigDeal, używana do wyświetlania/drukowania danych analizy z tabelami rozkładów, jest niezależna od poniższych.*
MiniMaxDOS zazwyczaj przyjmuje, że ze wszystkich równie opłacalnych kontraktów, minimaksem jest najniższy.
Zasada ta przestaje jednak działać, jeśli liczba lew do wzięcia różni się między rozgrywką z obu rąk tej samej strony. Poniżej znajdują się przykłady z zestawu testowego.
Przykład 1
----------
W/nikt |
♠ K7
♥ AK87
♦ A87
♣ AJ52
|
|
|
♠ 9843
♥ 53
♦ QT4
♣ Q983
|
|
♠ AJ5
♥ QT9
♦ 9532
♣ T76
|
|
|
♠ QT62
♥ J642
♦ KJ6
♣ K4
|
|
| NT | ♠ | ♥ | ♦ | ♣ |
N | 10 | 10 | 11 | 10 | 10 |
S | 11 | 10 | 11 | 10 | 10 |
W | 2 | 3 | 2 | 3 | 3 |
E | 2 | 3 | 2 | 3 | 3 |
|
N realizuje 4NT, S realizuje 5NT. E i W nie mają opłacalnej obrony dla 3NT z ręki N/S.
`MiniMaxDOS` ustala `4NT S, +460` jako minimaks, zamiast `3NT N/S, +460`.
Przykład 2
----------
N/EW |
♠ Q52
♥ KQ974
♦ AQ
♣ AKT
|
|
|
♠ T73
♥ 32
♦ JT5
♣ Q8764
|
|
♠ AKJ94
♥ AT6
♦ K8642
♣ ==
|
|
|
♠ 86
♥ J85
♦ 973
♣ J9532
|
|
| NT | ♠ | ♥ | ♦ | ♣ |
N | 8 | 3 | 9 | 4 | 7 |
S | 3 | 3 | 8 | 3 | 7 |
W | 4 | 10 | 4 | 9 | 6 |
E | 4 | 10 | 4 | 9 | 6 |
|
E/W ugrywają 4 pik. 4 NT i 5 kier są bez 2 z ręki N, lecz nie z ręki S.
`MiniMaxDOS` ustala `5Hx N, -300` jako minimaks, zamiast `4NTx N, -300`.
Przykład 3
----------
W/EW |
♠ Q
♥ KT97
♦ J953
♣ 9754
|
|
|
♠ 94
♥ AQ642
♦ Q72
♣ T83
|
|
♠ AKJT3
♥ J3
♦ T64
♣ AQ2
|
|
|
♠ 87652
♥ 85
♦ AK8
♣ KJ6
|
|
| NT | ♠ | ♥ | ♦ | ♣ |
N | 4 | 4 | 5 | 6 | 7 |
S | 4 | 4 | 5 | 7 | 6 |
W | 8 | 8 | 7 | 5 | 6 |
E | 9 | 8 | 7 | 6 | 6 |
|
E ugrywa 3NT. N ma opłacalną obronę w 4 trefl (ale nie 4 karo), a S ma opłacalną obronę w 4 karo (ale nie 4 trefl), obie bez trzech.
`MiniMaxDOS` ustala `4Dx S, -500` jako minimaks, zamiast `4Cx S, -500`.
Przykład 4
----------
W/nikt |
♠ J5
♥ T872
♦ KT76
♣ K32
|
|
|
♠ KT93
♥ K54
♦ A
♣ AT986
|
|
♠ Q87642
♥ 9
♦ 84
♣ Q754
|
|
|
♠ A
♥ AQJ63
♦ QJ9532
♣ J
|
|
| NT | ♠ | ♥ | ♦ | ♣ |
N | 6 | 3 | 10 | 9 | 3 |
S | 6 | 3 | 10 | 10 | 3 |
W | 6 | 10 | 3 | 3 | 10 |
E | 6 | 10 | 3 | 3 | 10 |
|
E/W ugrywają 4 pik. Zarówno N, jak i S mogą bronić 5 kierami, bez jednej, lecz S może bronić również 5 karami, bez jednej.
`MiniMaxDOS` ustala `5Hx S, -100` jako minimaks, zamiast `5Dx S, -100`.
Przykład 5
----------
E/EW |
♠ 9865
♥ Q98
♦ AJT4
♣ 84
|
|
|
♠ KQ732
♥ AJ2
♦ K53
♣ AK
|
|
♠ J4
♥ KT76
♦ Q98
♣ J762
|
|
|
♠ AT
♥ 543
♦ 762
♣ QT953
|
|
| NT | ♠ | ♥ | ♦ | ♣ |
N | 3 | 3 | 3 | 3 | 5 |
S | 3 | 3 | 3 | 3 | 5 |
W | 10 | 10 | 10 | 9 | 8 |
E | 9 | 9 | 10 | 8 | 8 |
|
W ugrywa 4NT, E ugrywa 3NT. N/S nie mają opłacalnej obrony na poziomie 4.
`MiniMaxDOS` ustala `4NT W, -630` jako minimaks, zamiast `3NT W, -630`.
Podsumowanie
------------
Przykład 5 jest wytłumaczalny. Wyszczególnianie 4NT jako minimaksa może być użyteczne do podkreślenia różnicy liczby lew branych z obu rąk.
Niestety, nie tłumaczy to Przykładu 1, gdzie raportowany jest konktrakt o jeden poziom niższy od najwyższego wychodzącego, a kontrakt o dwa poziomy niższy - już nie.
Zachowanie to jest niespójne z Przykładem 4, gdzie kontrakt, dla którego zachodzą różnice liczby lew nie jest wyszczególniony jako minimaks, a Przykłady 2-3 pokazują, jak problematyczne może być takie podejście, gdy więcej niż jeden kontrakt (z punktu widzenia poziomu i miana) różni się liczbą lew z obu rąk.
Wskazuje to w związku z tym nie na zgrabną funkcjonalność, lecz na niewielkie odstępstwa od przyjętych konwencji.
Double Dummy Solver rozwiązuje Przykłady 1 i 5 poprawnie (spójnie), a Przykłady 2-4 go nie dotyczą, z racji przyjmowania najwyższej opłacalnej obrony jako minimaks.
Dane PBN dla przykładów
-----------------------
```
[Board "Example 1"]
[Dealer "W"]
[Vulnerable "None"]
[Deal "N:K7.AK87.A87.AJ52 AJ5.QT9.9532.T76 QT62.J642.KJ6.K4 9843.53.QT4.Q983"]
[Board "Example 2"]
[Dealer "N"]
[Vulnerable "EW"]
[Deal "N:Q52.KQ974.AQ.AKT AKJ94.AT6.K8642. 86.J85.973.J9532 T73.32.JT5.Q8764"]
[Board "Example 3"]
[Dealer "W"]
[Vulnerable "EW"]
[Deal "N:Q.KT97.J953.9754 AKJT3.J3.T64.AQ2 87652.85.AK8.KJ6 94.AQ642.Q72.T83"]
[Board "Example 4"]
[Dealer "W"]
[Vulnerable "None"]
[Deal "N:J5.T872.KT76.K32 Q87642.9.84.Q754 A.AQJ63.QJ9532.J KT93.K54.A.AT986"]
[Board "Example 5"]
[Dealer "E"]
[Vulnerable "EW"]
[Deal "N:9865.Q98.AJT4.84 J4.KT76.Q98.J762 AT.543.762.QT953 KQ732.AJ2.K53.AK"]
```