Jak widzieliśmy w tym pytaniu, złożone wyrażenia logiczne można wyrazić w postaci prostych łączników uogólnionego Saperka. Jednak uogólniony trałowiec nadal ma zwolnienia.
Aby uniknąć tych zwolnień, definiujemy nową grę o nazwie „Uogólniony Saper-1”.
Uogólniony-1 Saper to wersja Saper grana na dowolnym wykresie. Wykres ma dwa typy wierzchołków, „wskaźnik” lub „wartość”. Wartość może być włączona lub wyłączona (kopalnia lub niewypał), jednak jej stan jest nieznany graczowi. Wskaźnik mówi, że dokładnie jedna z sąsiednich komórek jest w (kopalnia). Wskaźniki nie liczą się jako same kopalnie.
Na przykład poniższa tablica dla Uogólnionego Sapera mówi nam, że komórki A i B są albo kopalniami, albo żadna z nich nie jest kopalniami.
(Na schemacie wskaźniki są zaznaczone na szaro, a wartości są białe)
W przeciwieństwie do zwykłego trałowca, w którym klikane są wartości, które są wyłączone, aby odsłonić wskaźniki, nie ma takiej mechaniki w Uogólnionym Saperu. Gracz po prostu określa, które stany wykresu mogą spełnić jego wskaźniki.
Twoim celem jest stworzenie 2
Saper Generali-1. W Generali-1 Saper zbudujesz strukturę, dzięki której będzie 8 określonych komórek, dla których wszystkie możliwe konfiguracje wartości mają dokładnie dwie komórki. Oznacza to, że zachowuje się dokładnie tak samo, jak 2
tradycyjny trałowiec. Kiedy piszesz swoje rozwiązanie, nie powinieneś mieć na uwadze konkretnych wartości dla komórek wartości. (W odpowiedzi na pytanie H.PWiza dozwolone jest, aby niektóre komórki wartości można było wydedukować ze stanu)
Punktacja
Twoje odpowiedzi zostaną ocenione na podstawie liczby wierzchołków na końcowym wykresie minus 8 (dla 8 wejść), przy czym niższy wynik jest lepszy. Jeżeli dwie odpowiedzi wiążą się w tej metryki, przerywnikiem będzie liczba krawędzi.
źródło
Odpowiedzi:
42 wierzchołki, 56 krawędzi
Każda zmienna jest wierzchołkiem wartości, a każde pole jest wierzchołkiem wskaźnika z krawędziami do zmiennych wewnątrz. Wejściami są x 1 , ..., x 8 . Na przykład, oto rozwiązanie z kopalniami na x 3 i x 5 , z kopalniami podświetlonymi na zielono.
Poziome ograniczenia upewnić się, że dokładnie jedna z A „s, a dokładnie jeden z b ” S posiada kopalnię. W tych dwóch kolumnach r nie zawiera kopalni, ale ma to miejsce w pozostałych sześciu kolumnach. (Należy zauważyć, że i b nie mogą oba mają kopalni w tej samej kolumnie). Każde wejście x znajduje się naprzeciwko R w kolumnę, tak dokładnie dwa wejścia mają min zgodnie z zapotrzebowaniem.
Do
k
danych wejściowych wykorzystuje5k+2
wierzchołki (3k
wartość i2k+2
wskaźnik) oraz7k
krawędzie. Tutajk=8
dane wejściowe dają 42 wierzchołki i 56 krawędzi.źródło
50 wierzchołków, 89 krawędzi
Oparty na bramce logicznej z odpowiedzi H.PWiz.
Każde z nich
*
jest włączone, gdy dwa odpowiednie wejścia są włączone. Aby obsłużyć przypadek pojedynczego wejścia, używamy wartości pośrednicha=A&!B
itp. Łączenie wszystkich trzech wartościa
,b
aA&B
wejście drugiego poziomu bramek daje nam skuteczne wejścieA|B
(to oszczędza wierzchołki!(!A&!B)
):Te
*
są włączone, jeśli dwa z nich (odpowiadające czterem wyjściowym wejściom) są włączone, z wyjątkiem par omówionych powyżej. Tymczasem możemy połączyć#*#
węzły z ostateczną bramą. Mamy zatem następujące wyniki:Obejmują one wszystkie 28 przypadków dwóch danych wejściowych. Następnie pozostaje podłączyć ostateczny wskaźnik do tych siedmiu wartości. Jeśli mniej niż dwa wejścia są włączone, żadne z nich nie będzie włączone, więc wskaźnik zgaśnie. Jeśli więcej niż dwa wejścia są włączone, więcej niż jedno z nich będzie włączone, a wskaźnik zgaśnie.
źródło
ACE
,BDF
,ADG
...(a&b)+((a|b)&(c|d))+(c&d)+((a|b|c|d)&(e|f|g|h))+(e&f)+((e|f)&(g|h))+(g&h)==1
, czy to ci odpowiada?197 wierzchołków, 308 krawędzi
Wymyśliłem tę odpowiedź zeszłej nocy, ale powstrzymałem się od opublikowania jej, ponieważ była to tak wysoka ocena. Ponieważ jednak bije inną odpowiedź tak bardzo , pomyślałem, że powinienem to opublikować.
Korzystam z następującej konfiguracji na wszystkich 28 parach komórek wartości w
ABCDEFGH
?
reprezentuje komórkę wartości, której nie maABCDEFGH
. Tu, gdy?*
jest ON ,A
iB
to zarówno na. W przeciwnym razie,A
iB
może być w każdej innej konfiguracji.Łączę wszystkie 28
?*
s do jednej komórki wskaźnikowej. Oznacza to, że tylko jedna paraABCDEFGH
będzie miała dwie WŁĄCZONE . Która jest wystarczająca do wyegzekwowania, że dokładnie dwa z moich komórek wyjściowych będzie ONźródło
?
s odpowiada jednemu z 4 stanówA B
.354 węzły, 428 krawędzi
Aby udowodnić, że to możliwe. Poprawię to później z pewnym buforowaniem.
(mam nadzieję, że nie ma błędu kodu)
Próbowałem napisać tutaj program Mathematica aby sprawdzić poprawność programu, ale prawdopodobnie nie działa, ponieważ istnieje zbyt wiele zmiennych.
Wynik został wygenerowany przez program komputerowy: Wypróbuj online!
Używam bramy, która wygląda następująco:
gdzie
(#)
są 1-wskaźniki,(a)
..(f)
są wartościami.Następnie,
Także ta brama
daje
. Skorzystaj z tych dwóch rodzajów bram, na których możesz zbudować dowolne wyrażenia.
Oczywiście, ten służy do stwierdzenia, że to
(a)
musi być prawda:źródło
81 węzłów, 108 krawędzi
Używając 13 węzłów i 14 krawędzi, tworzymy następującą bramkę Addera (C (arry) = X AND Y, S (um) = X XOR Y):
Użyj czterech sumatorów M1, M2, M3, M4, aby dodać odpowiednio A + B, C + D, E + F, G + H, otrzymując odpowiednio przeniesienie C1, C2, C3, C4 i sumę S1, S2, S3, S4
Użyj dwóch sumatorów M5, M6, aby dodać S1 + S2, S3 + S4, otrzymując w ten sposób przeniesienie C5, C6 i sumę S5, S6.
Użyj jednego sumatora M7, aby dodać S5 + S6, aby uzyskać C7 i S7.
Teraz podłącz wszystkie przeniesienia do pojedynczego węzła wskaźnikowego w następujący sposób:
i zmusza S7 (moduł 2 sumy 8 wartości) do 0 przez ten obwód:
Argumentuję, że ten obwód wymusza
ABCDEFGH
na WŁ dokładnie dokładnie dwie wartości , ponieważ może to być tylko liczba parzysta (ponieważ S7 wynosi 0), i nie może być więcej niż 3 wartości ZAŁ (ponieważ tylko jedna z C1-C7 jest WŁĄCZONA).źródło