From 4b191c8f10459e1c6915ba528c7cc67e2f00685d Mon Sep 17 00:00:00 2001 From: emkael Date: Fri, 3 Jun 2016 23:09:14 +0200 Subject: * lowest par contract issues documented --- doc/LowestParContract.pl.md | 379 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 379 insertions(+) create mode 100644 doc/LowestParContract.pl.md (limited to 'doc/LowestParContract.pl.md') diff --git a/doc/LowestParContract.pl.md b/doc/LowestParContract.pl.md new file mode 100644 index 0000000..cae8bcc --- /dev/null +++ b/doc/LowestParContract.pl.md @@ -0,0 +1,379 @@ +Problemy z najniższym spośród równych kontraktów minimaksowych w MiniMaxDOS +============================================================================ + +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
N1010111010
S1110111010
W23233
E23233
+
+ +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
N83947
S33837
W410496
E410496
+
+ +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
N44567
S44576
W88756
E98766
+
+ +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
N631093
S6310103
W6103310
E6103310
+
+ +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
N33335
S33335
W10101098
E991088
+
+ +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"] +``` -- cgit v1.2.3