Gotowy do gry?

Zagraj w sudoku!

Forcing Nets w sudoku: sieci wymuszające

EkstremalneKlasyczne + KillerKrok 37 z 384 minuty czytania

Forcing Nets (sieci wymuszające) to ostatnia technika, która jest jeszcze czystą logiką. Bierzesz po kolei każdego kandydata jednego pola, śledzisz jego skutki tak daleko, jak sięgają, i szukasz tego, w czym zgadzają się wszystkie gałęzie. To, w czym się zgadzają, jest prawdą, bo jeden z tych kandydatów jest prawdziwą wartością. Nie ma tu zgadywania: po prostu badasz wszystkie przypadki zamiast jednego.

Na czym polega wzór

Łańcuch podąża jedną linią implikacji. Sieć podąża jedną taką linią dla każdej opcji pola lub jednostki startowej, a w ogólnym przypadku linia może się znów rozgałęzić: wniosek może potrzebować 2 wcześniejszych wniosków naraz, na przykład „to pole to 4, a tamto to 9, więc w bloku zostaje tylko jedno miejsce na 7”. Sprawdzanie wszystkich opcji sprawia, że sieci są silniejsze od łańcuchów i wolniejsze do weryfikacji.

Są 2 sposoby startu i 2 sposoby zakończenia:

Start odPodążaszDowodzi
Pola z k kandydatamijedna gałąź na kandydatawszystkiego, co gałęzie dzielą
Cyfry z k miejscami w jednej jednostcejedna gałąź na miejscewszystkiego, co gałęzie dzielą

Jeśli każda gałąź daje to samo wstawienie, to wstawienie jest prawdziwe. Jeśli każda gałąź usuwa tego samego kandydata, ten kandydat jest martwy. A jeśli pojedyncza gałąź wpada na sprzeczność (cyfrę 2 razy w jednostce albo pole bez niczego), to ten jeden kandydat jest fałszywy sam z siebie, bez potrzeby sprawdzania pozostałych.

Kiedy ich szukać

Tylko gdy wszystko tańsze zawiodło: pojedynki, zbiory zablokowane, ryby (fish), skrzydła (wings), łańcuchy i Almost Locked Sets. Sieci są kosztowne w śledzeniu i łatwo w nich o błąd, więc to świadomy ostatni krok logiczny, a nie nawyk. Wybierz pole startowe z 2 kandydatami i wieloma sąsiadami dwukandydatowymi; gałęzie pozostają krótkie, a całość da się sprawdzić.

Jak ich użyć, krok po kroku

  1. Odśwież wszystkie notatki. Sieć zbudowana na nieaktualnym kandydacie niczego nie dowodzi.
  2. Wybierz pole z 2 kandydatami albo cyfrę z 2 miejscami w jednostce.
  3. Załóż pierwszą opcję i zapisz tylko wstawienia, które rzeczywiście są wymuszone.
  4. Cofnij ją całkowicie, potem zrób to samo dla drugiej opcji.
  5. Porównaj gałęzie. Zachowaj każde wstawienie lub eliminację, które dzielą.
  6. Jeśli gałąź zaprzecza sama sobie, od razu odrzuć tego kandydata.

Przykład krok po kroku

Start od pola

  1. Łatwiejsze techniki się wyczerpały. Spójrz na H1, które może być tylko 1, 5 lub 7.

  2. H1 musi być 1, 5 lub 7. Sprawdź kolejno każdą wartość i obserwuj 7 w C1.

  3. Gałąź 1: H1 = 7. C1 dzieli kolumnę 1 z H1, więc nie może być 7.

  4. Gałąź 2: H1 = 1. Wtedy A1 nie może być 1, więc A1 to 7, a C1 nie może być 7 (znowu kolumna 1).

  5. Gałąź 3: H1 = 5. E1 traci 5 (kolumna 1), więc F3 to jedyne miejsce dla 5 w bloku 4.

    Przy F3 = 5 pole F8 to jedyne miejsce dla 8 w wierszu F. Wtedy C8 nie może być 8, więc C1 to jedyna 8 w wierszu C.

    C1 = 8, więc C1 nie jest 7.

  6. Wartości próbne zostają wyczyszczone. Wszystkie trzy gałęzie kończą się tym, że C1 nie jest 7.

    Usuwamy 7 z C1, bo wyklucza ją każda wartość H1.

Łatwiejsze techniki się wyczerpały. Spójrz na H1, które może być tylko 1, 5 lub 7.

H1 zawiera , a celem jest 7 w C1. Każda wartość H1 jest śledzona po kolei:

  • H1 = 7: C1 dzieli kolumnę 1 z H1, więc nie jest 7.
  • H1 = 1: A1 nie może być 1, więc A1 to 7, a C1 nie jest 7 z tego samego powodu kolumnowego.
  • H1 = 5: E1 traci swoją 5, więc F3 jest jedyną 5 w bloku 4. Wtedy F8 jest jedyną 8 w wierszu F, C8 nie może być 8, a C1 jest jedynym miejscem na 8 w wierszu C. C1 = 8, więc C1 nie jest 7.

Wszystkie 3 gałęzie kończą się tym, że C1 nie jest 7, więc C1 traci swoją 7. Nigdy nie dowiadujesz się, czym jest H1: gałęzie wykonały swoją pracę i zostały wyrzucone.

Start od cyfry w jednostce

  1. Łatwiejsze techniki się wyczerpały. Spójrz na 7 w bloku 7.

  2. Blok 7 potrzebuje 7, a może ona stać tylko w G2, H2 lub J3. Sprawdź każde miejsce i obserwuj 7 w A2.

  3. Gałęzie 1 i 2: jeśli 7 stoi w G2 lub H2, A2 nie może być 7, bo wszystkie trzy pola leżą w kolumnie 2.

  4. Gałąź 3: J3 = 7. Wtedy J3 nie jest 5, a A3 zostaje jedynym miejscem dla 5 w kolumnie 3.

    Przy A3 = 5 pole A2 to jedyne miejsce dla 1 w wierszu A. A2 = 1, więc nie jest 7.

  5. Wartości próbne zostają wyczyszczone. Gdziekolwiek blok 7 postawi swoją 7, A2 zostaje bez 7.

    Usuwamy 7 z A2.

Łatwiejsze techniki się wyczerpały. Spójrz na 7 w bloku 7.

Blok 7 potrzebuje 7 i może ją postawić tylko w G2, H2 lub J3. Celem jest 7 w A2:

  • 7 w G2 lub H2: A2 dzieli kolumnę 2 z oboma polami, więc nie jest 7.
  • 7 w J3: J3 nie jest wtedy 5, więc A3 jest jedyną 5 w kolumnie 3. Przy A3 = 5 pole A2 jest jedynym miejscem na 1 w wierszu A, więc A2 = 1 i nie jest 7.

Gdziekolwiek blok 7 postawi swoją 7, A2 nie ma 7, więc A2 ją traci.

Na obu planszach każda gałąź dochodzi do tego samego wyniku, i na tym polega cały argument. Prawdziwe sieci mogą też rozgałęziać się dalej wewnątrz gałęzi, a tam wniosek może potrzebować 2 wcześniejszych wniosków naraz.

Częste błędy

  • Zostawienie znaków z jednej gałęzi na siatce przy starcie następnej. Każda gałąź musi zaczynać od tej samej nietkniętej pozycji.
  • Podążanie za „prawdopodobnie” zamiast za wymuszonym wstawieniem. Zapisywać wolno tylko pojedynki i eliminacje z zablokowania.
  • Pominięcie kandydata pola startowego. Pomiń jedną gałąź, a zgodność jest bezwartościowa.
  • Odczytanie sprzeczności w jednej gałęzi jako dowodu wniosków pozostałych gałęzi.

Gdzie je spotkasz

Forcing Nets to to, czego wymagają nasze najtrudniejsze siatki. Spodziewaj się ich w legendarnych łamigłówkach, i to dopiero po wypróbowaniu technik łańcuchowych, takich jak 3D Medusa. Wszystko, co rozwiązuje sieć, mogłaby w zasadzie rozwiązać krótsza technika. Sieć to to, czego używasz, gdy nie możesz znaleźć tej krótszej techniki.