Opanowanie łańcuchów Sudoku do rozwiązywania trudnych łamigłówek

Łańcuch Sudoku to sekwencja kandydatów połączonych silnymi i słabymi relacjami, które pokazują, jak prawdziwość lub fałszywość jednego kandydata wpływa na innego. Śledzenie tych relacji może ujawnić eliminacje lub wstawienia, które nie są oczywiste, gdy patrzysz na pojedyncze komórki. Budowanie i interpretowanie łańcuchów w Sudoku nie jest jedną strategią — wynika z kilku różnych zaawansowanych technik, od cykli X po łańcuchy wymuszające.

Większość łańcuchów opiera się na silnych i słabych powiązaniach łączących kandydatów.

  • Silne powiązanie oznacza, że jeśli jeden kandydat jest fałszywy, drugi musi być prawdziwy. Typowym przykładem jest para sprzężona, w której kandydat ma tylko dwie możliwe pozycje w obrębie wiersza, kolumny lub bloku.
  • Słabe powiązanie oznacza, że jeśli jeden kandydat jest prawdziwy, drugi musi być fałszywy.

Łącząc te relacje, możesz zbudować łańcuch obejmujący jednostki lub całą siatkę, aby pomóc sobie eliminować kandydatów albo dokonywać wstawień. Gdy podstawowe strategie rozwiązywania nie wystarczają, by rozgryźć łamigłówkę Sudoku, ten wpis pomoże Ci zrozumieć, jak łańcuchy mogą ujawniać logiczne połączenia, gdy grasz w Sudoku online.

Jak znajdować łańcuchy w Sudoku

Znalezienie łańcucha oznacza śledzenie kandydatów, których silne i słabe relacje pozwalają przenieść logiczne wnioskowanie z jednej części siatki Sudoku do innej. Łańcuchy mogą obejmować tę samą cyfrę lub różne cyfry, a powiązania mogą występować w obrębie jednej komórki albo między komórkami. Każdy typ łańcucha buduje się na swój sposób, a najbardziej podstawowy łańcuch, czyli łańcuch X, powstaje według tych kroków:

  1. Zacznij od znalezienia silnego powiązania, takiego jak pary sprzężone lub dwóch kandydatów w tej samej komórce dwuwartościowej. Silne powiązanie łączy dwóch kandydatów, gdy co najmniej jeden z nich musi być prawdziwy. Na przykład I7 i I8 tworzą silne powiązanie dla kandydata 5, ponieważ są to jedyne dwie komórki w kolumnie I, które zawierają 5. Jeśli więc I7 nie jest 5, I8 musi być 5, a jeśli I8 nie jest 5, I7 musi być 5.
  2. Połącz silne powiązanie ze słabym powiązaniem. Słabe powiązanie łączy dwóch kandydatów, którzy nie mogą jednocześnie być prawdziwi. Na przykład I8 i F8 zawierają kandydata 5 w tym samym wierszu (8), więc nie mogą oba być 5. Ponieważ jednak w tym wierszu są inne 5, ta relacja jest słaba, a nie silna.
  3. Kontynuuj znajdowanie powiązań, naprzemiennie silnych i słabych. Od słabego powiązania szukaj kolejnego silnego powiązania, które pozwoli Ci kontynuować wnioskowanie. Na przykład F8 i F3 mają kandydata 5 i są jedynymi dwiema komórkami w kolumnie F z tym kandydatem, co tworzy silne powiązanie. Jeśli F8 nie jest 5, F3 musi być 5, a jeśli F3 nie jest 5, F8 musi być 5.
  4. Jeśli to możliwe, znajdź wstawienia i/lub dokonaj eliminacji. Nie każdy znaleziony łańcuch doprowadzi do wstawienia lub eliminacji kandydatów, a każdy typ łańcucha ma własną logikę. Na przykład ponieważ każdy węzeł łańcucha dotyczy tego samego kandydata, a powiązania występują naprzemiennie jako silne/słabe, jest to łańcuch X, czyli rodzaj naprzemiennego łańcucha wnioskowań (AIC). Ten łańcuch dowodzi, że co najmniej jeden z końców, I7 lub F3, musi być 5. Możesz następnie wyeliminować każdą 5, która widzi oba końce. W tym przypadku I3 widzi zarówno I7, jak i F3, więc możesz usunąć 5 z tej komórki.
Przykład znajdowania łańcuchów Sudoku

Pamiętaj: Korzystanie z łańcucha nie zawsze pozwoli Ci eliminować i wstawiać kandydatów. Czasami możesz tylko wyeliminować kandydata (albo więcej niż jednego). Innym razem możesz wstawić kandydata albo zarówno wyeliminować, jak i wstawić kandydata. Zdarzą się jednak sytuacje, w których łańcuch nie da żadnej eliminacji ani wstawienia. To nic złego. Łańcuchy dostarczają informacji. Nawet jeśli nie możesz ich od razu wykorzystać, mogą przydać się później w procesie rozwiązywania.

Przykłady łańcuchów Sudoku

Łańcuchy Sudoku można podzielić na dwa szerokie typy, z których każdy ma własną strukturę logiczną. Kluczowa różnica między tymi dwiema rodzinami łańcuchów polega na sposobie śledzenia logiki. Naprzemienne łańcuchy wnioskowań (AIC) prowadzą przez siatkę naprzemienne silne i słabe wnioskowania, natomiast łańcuchy wymuszające zaczynają od możliwego warunku i śledzą, co ten warunek wymusi. Różne metody łańcuchowe mogą czasem ujawnić tę samą ukrytą dedukcję.

Naprzemienne łańcuchy wnioskowań (AIC)

Naprzemienne łańcuchy wnioskowań śledzą naprzemienne silne i słabe wnioskowania.

Łańcuchy X

Łańcuch X to rodzaj naprzemiennego łańcucha wnioskowań (AIC), w którym każdy węzeł reprezentuje tego samego kandydata. Tym, co odróżnia go od wielu innych AIC, jest to, że cyfra nigdy się nie zmienia, gdy łańcuch przechodzi naprzemiennie przez silne i słabe powiązania.

Przykład z wcześniejszej sekcji był łańcuchem X. Aby taki znaleźć:

  1. Zacznij od znalezienia silnego powiązania. Na przykład E3 i F3 tworzą silne powiązanie dla kandydata 4, ponieważ są to jedyne dwie komórki w tym wierszu, które zawierają 4. Jeśli więc E3 nie jest 4, F3 musi być 4, a jeśli F3 nie jest 4, E3 musi być 4.
  2. Połącz silne powiązanie ze słabym powiązaniem. Na przykład F3 i F5 zawierają kandydata 4 w tej samej kolumnie, więc nie mogą oba być 4. Ponieważ jednak w tej kolumnie są inne 4, ta relacja jest słaba, a nie silna.
  3. Kontynuuj znajdowanie powiązań, naprzemiennie silnych i słabych. Na przykład F5 i I5 mają kandydata 4 i są jedynymi dwiema komórkami w wierszu 5 z tym kandydatem. Jeśli F5 nie jest 4, I5 musi być 4, a jeśli I5 nie jest 4, F5 musi być 4.
  4. Jeśli to możliwe, znajdź wstawienia i/lub dokonaj eliminacji. Na przykład ten łańcuch dowodzi, że co najmniej jeden z końców, E3 lub I5, musi być 4. Możesz następnie wyeliminować każdą 4, która dzieli wiersz, kolumnę lub blok 3x3 z oboma końcami. W tym przypadku nie można dokonać żadnych eliminacji. Jednak dzięki tej wiedzy, jeśli później okaże się, że E3 nie jest 4, łańcuch powie Ci, że I5 musi być 4. Zapamiętaj ten łańcuch w miarę rozwoju łamigłówki, na wypadek gdyby trzeba było później wykorzystać tę informację.
Przykład łańcucha X w Sudoku

Łańcuchy XY

Łańcuch XY to łańcuch komórek dwuwartościowych, czyli takich, w których każda komórka zawiera dokładnie dwóch kandydatów, a ci dwaj kandydaci tworzą silne powiązanie w obrębie komórki. W przeciwieństwie do łańcucha X, który przez cały czas śledzi tego samego kandydata, łańcuch XY zmienia kandydatów, przechodząc z komórki do komórki. Każda komórka dzieli jednego kandydata z następną, tworząc słabe powiązanie między komórkami, a łańcuch buduje się tak, aby kandydat w węźle początkowym i końcowym był ten sam.

Aby taki znaleźć:

  1. Zacznij od komórki dwuwartościowej i wybierz kandydata końcowego. Na przykład A2 zawiera tylko kandydatów 7 i 9. Możesz zacząć od dowolnego z nich i poszukać innej komórki dwuwartościowej, która widzi A2 i dzieli z nią jednego z jej kandydatów. Jeśli użyjesz 9 jako jednego końca, drugi kandydat, 7, daje Ci możliwy sposób przedłużenia łańcucha.
  2. Poszukaj innej komórki dwuwartościowej, która widzi pierwszą i zawiera jej drugiego kandydata. A4 widzi A2 i zawiera kandydata 7. Siódemki tworzą słabe powiązanie między komórkami, natomiast 2 i 7 tworzą silne powiązanie w obrębie A4. Możesz teraz kontynuować, szukając kolejnej komórki dwuwartościowej zawierającej 2.
  3. Kontynuuj naprzemiennie: słabe powiązania między komórkami i silne powiązania w obrębie komórek. A4 (2,7) łączy się z F4 (2,4); F4 łączy się z F3 (4,5); a F3 łączy się z H3 (5,9). Zatrzymaj się, gdy dotrzesz do komórki dwuwartościowej, której drugi kandydat odpowiada Twojemu pierwotnemu kandydatowi końcowemu. Tutaj H3 zawiera 5 i 9, sprowadzając łańcuch z powrotem do kandydata 9.
  4. Poszukaj kandydatów do wyeliminowania, którzy widzą oba końce. Łańcuch zaczyna się i kończy kandydatem 9, dowodząc, że co najmniej jedna z komórek A2 lub H3 musi być 9. Każdy inny kandydat 9, który widzi oba końce, może więc zostać wyeliminowany. W tej łamigłówce H2 widzi A2 przez wiersz 2 i H3 przez kolumnę H, więc 9 można usunąć z H2. I2 również widzi A2 przez wiersz 2 i H3 przez ich wspólny blok 3x3, więc 9 można usunąć z I2. Ponieważ łańcuch zaczyna się i kończy silnymi powiązaniami, co najmniej jeden koniec, A2 lub H3, musi być 9. Dlatego każdy inny kandydat 9, który widzi zarówno A2, jak i H3, może zostać wyeliminowany. W tej łamigłówce usuwa to 9 z H2 i I2.
Przykład łańcucha XY w Sudoku

Cykle X

Cykl X to rodzaj naprzemiennego łańcucha wnioskowań (AIC), który śledzi tego samego kandydata przez zamkniętą pętlę silnych i słabych powiązań. Podobnie jak w łańcuchu X, cyfra pozostaje taka sama przez cały czas, ale zamiast mieć dwa końce, cykl X ostatecznie wraca do miejsca, w którym się zaczął. Układ silnych i słabych powiązań w ukończonym cyklu decyduje o tym, czy możesz dokonać eliminacji lub wstawienia.

Te łańcuchy mają dwie reguły eliminacji. Użyj tego przykładu, aby znaleźć cykl X zgodny z regułą 1, a więcej szczegółów o regule 2 znajdziesz w naszym wpisie o cyklu X:

  1. Zacznij od kandydata, który ma silne powiązanie. Na przykład 5 ma silne powiązanie w I5 i I6, ponieważ są to jedyne dwie komórki w kolumnie I, które zawierają kandydata 5.
  2. Śledź naprzemienne silne i słabe powiązania dla tego samego kandydata. Kandydat 5 tworzy słabe powiązanie między I6 i B6, ponieważ komórki dzielą wiersz 6 i nie mogą obie zawierać 5. Następnie jednak 5 ma silne powiązanie z B5, ponieważ są to jedyne dwie możliwe pozycje dla 5 w kolumnie B.
  3. Kontynuuj, aż łańcuch zamknie się w pętlę. B5 widzi I5 w wierszu 5, sprowadzając łańcuch z powrotem do punktu wyjścia. Ci dwaj kandydaci są w rzeczywistości jedynymi możliwymi 5 w wierszu 5, przez co ich relacja jest zarówno silna, jak i słaba. Tutaj powiązanie można wykorzystać w jego słabym kierunku, aby domknąć cykl naprzemienny.
  4. Użyj ukończonego cyklu do wyciągania wniosków. W tym ciągłym cyklu X słabe powiązanie dla 5 między B6 i I6 jest otoczone silnymi powiązaniami, co oznacza, że jeden z tych dwóch kandydatów musi być prawdziwy. Każdy inny kandydat 5, który widzi oba, może więc zostać wyeliminowany. H6 widzi oba, ponieważ znajduje się w tym samym wierszu, więc możesz usunąć 5 z H6, a następnie wstawić 2 w H6.
Przykład cyklu X w Sudoku

Łańcuchy wymuszające

W przeciwieństwie do naprzemiennych łańcuchów wnioskowań, które podążają za określonym wzorcem silnych i słabych powiązań, łańcuchy wymuszające zaczynają od możliwej wartości lub warunku i śledzą wynikające z nich logiczne konsekwencje. Jeśli różne możliwości prowadzą do tego samego wniosku, wniosek ten musi być prawdziwy niezależnie od tego, która możliwość jest poprawna. Na przykład A2 zawiera tylko kandydatów 7 i 9, więc możesz przetestować obie możliwości i śledzić, co każda z nich wymusza.

Aby znaleźć i wykorzystać łańcuch wymuszający:

  1. Wybierz kandydata lub komórkę z ograniczoną liczbą możliwości. Na przykład H1 zawiera tylko 2 i 6, co daje dwa możliwe warunki początkowe: H1 jest albo 2, albo 6.
  2. Prześledź konsekwencje pierwszej możliwości. Jeśli H1 jest 2, żadna inna komórka w wierszu 1 nie może być 2. Oznacza to, że 2 w E1, F1 i G1 można wyeliminować, co wymusza wstawienia:
    1. H1: 2
    2. G1: 6
    3. F1: 8
    4. E1: 7
    5. E3: 4
  3. Wróć do punktu wyjścia i prześledź drugą możliwość. Jeśli H1 jest 6, żadna inna komórka w tym wierszu nie może być 6, co wymusza wstawienia:
    1. H1: 6
    2. G1: 2
    3. F1: 8
    4. E1: 7
    5. E3: 4
  4. Poszukaj wniosku wspólnego dla obu ścieżek. Niezależnie od tego, czy H1 zawiera 2, czy 6, wynik w komórkach F1, E1 i E3 jest taki sam. Możesz więc wstawić 8 w F1, 7 w E1 i 4 w E3.
Przykład łańcuchów wymuszających w Sudoku

Łańcuchy są zwykle używane w trudnych i eksperckich łamigłówkach, gdy wcześniejsze techniki zawęziły już listę kandydatów. Korzystanie z trybu kandydatów może pomóc wyróżnić niektóre z tych silnych i słabych powiązań, abyś mógł skutecznie używać łańcuchów następnym razem, gdy będziesz grać w Sudoku online.