email: darw32@poczta.onet.pl

Sudoku - Techniki Rozwiązywania

Prawie Ryba (Finned Fish)

Prawie Skrzydlica

Prawie Skrzydlica (ang. Finned X-Wing) w rzędach/kolumnach dla wartości "x" występuje wtedy, gdy:

  • z jednego i drugiego rzędu/kolumny można wybrać po dwie takie kandydujące pozycje dla wartości "x", które leżą w dwóch tych samych kolumnach/wierszach
  • pozostałe pola, które nie należą do skrzydlicy, tzw. Dodatkowe Pozycje, leżą tylko w jednym wierszu/kolumnie oraz w tym samym bloku 3x3
  • jeśli powyższe warunki są spełnione to mamy układ Prawie Skrzydlicy w wierszach/kolumnach dla wartości "x" i wówczas możemy usunąć kandydata "x" z wszystkich takich pozycji, które należą jednocześnie do tego samego bloku 3x3 co elementy dodatkowe oraz do tych samych kolumn/wierszy co pozycje tworzące Skrzydlicę (oczywiście nie usuwamy wartości "x" z Pozycji należących do Miecznika oraz z Pozycji Dodatkowych).

Prawie Skrzydlica jest bardzo subtelnym rozszerzeniem techniki Skrzydlicy, którą to technikę starałem w miarę precyzyjnie zdefiniować. Zapis powyższy, być może niezrozumiały, postaram się wytłumaczyć na przykładzie.

Spójrz na następujący diagram:
Kandydujące pozycje dla wartości "7" w wierszach "3" i "7" tworzą układ Prawie Skrzydlicy bo:
- pozycje wyróżnione na żółto tworzą układ Skrzydlicy
- Dodatkowe Pozycje (wyróżnione szarym kolorem) leży w jednym wierszu numer "7" oraz w bloku 3x3 o początku w punkcie [7,7] i końcu w punkcie [9,9]
- Pozycje, z których można usunąć wartość "7" muszą należeć do tego samego bloku 3x3 co Pozycje Dodatkowe oraz do tych kolumn na których leżą pozycje Skrzydlicy (kolumny "6" i "9") - w naszym przypadku będą to pozycje [8,9] i [9,9], pozycja [9,9] jest już wypełniona, więc usuwamy wartość "7" z pozycji [8,9].

Przeanalizujmy wszystkie pozycje z wiersza "7", które mogą przyjąć wartość "7":
- jeżeli pozycja [7,6] przyjmie wartość "7", wówczas z pozycji [3,6] usuwamy kandydata "7", tak więc pozycja [3,9] musiałaby przyjąć wartość "7", więc pozycja [8,9] nie może mięć wartość "7"
- jeżeli dowolna z pozycji [7,7], [7,8], [7,9] przyjmie wartość "7" to w tym przypadku także pozycja [8,9] z tego samego bloku 3x3 nie będzie mogła przyjąć wartości "7"
tak więc niezależnie, od tego, która pozycja w wierszu "7"-mym przyjmie wartość "7", pozycja [8,9] nie może przyjąć wartości "7".

Na diagramie obok mamy także Prawie Skrzydlicę (wariant Sashimi czyli skrócony) w wierszach "2" i "5" dla wartości "7". W tym wariancie jedno z pól należących do Skrzydlicy jest wypełnione, albo nie ma kandydata o wartości "7" (w naszym przypadku jest to pole [2,1], które zostało już wypełnione wartością "9").

Analizując tak jak w poprzednim przypadku wszystkie pozycje z wiersza "2", które mogą przyjąć wartość "7" mamy:
- jeżeli pozycja [2,4] przyjmie wartość "7", wówczas z pozycji [5,4] usuwamy kandydata "7", tak więc pozycja [5,1] musiałaby przyjąć wartość "7", więc pozycje [1,1] i [3,1] nie mogłyby mięć wartości "7"
- jeżeli dowolna z pozycji [2,2], [2,3] przyjmie wartość "7" to w tym przypadku także w punktach [1,1] i [3,1] z tego samego bloku 3x3 nie będzie mogła wystąpić wartość "7"
- tak więc niezależnie od tego, która pozycja w wierszu "2"-gim przyjmie wartość "7", pozycje [1,1] i [3,1] nie mogą przyjąć wartości "7" (w naszym przypadku usuwamy wartość "7" z punktu [3,1]).

Prawie Miecznik

Prawie Miecznik (ang. Finned Swordfish) w rzędach/kolumnach dla wartości "x" występuje wtedy, gdy:

  • z tych trzech rzędów/kolumn można wybrać takie pozycje dla danej kandydującej wartości "x", które tworzą Miecznik
  • pozostałe pola, które nie należą do Miecznika, tzw. Dodatkowe Pozycje, leżą tylko w jednym wierszu/kolumnie oraz w tym samym bloku 3x3
  • jeśli powyższe warunki są spełnione to mamy układ Prawie Miecznika w wierszach/kolumnach dla wartości "x" i wówczas możemy usunąć kandydata "x" z wszystkich takich pozycji, które należą jednocześnie do tego samego bloku 3x3 co elementy dodatkowe oraz do tych samych kolumn/wierszy co pozycje tworzące Miecznik (oczywiście nie usuwamy wartości "x" z Pozycji należących do Miecznika oraz z Pozycji Dodatkowych).

Prawie Miecznik podobnie jak Prawie Skrzydlica jest subtelnym rozszerzeniem techniki Miecznika, którą postaram się wytłumaczyć na przykładzie.

Spójrz na następujący diagram:
Kandydujące pozycje dla wartości "2" w wierszach "1", "7" i "9" tworzą układ Prawie Miecznika bo:
- pozycje wyróżnione na żółto tworzą układ Miecznika
- Dodatkowa Pozycja (wyróżnione szarym kolorem) leży w wierszu numer 1 oraz w bloku 3x3 o o początku w punkcie [1,4] i końcu w punkcie [3,6]
- Pozycje, z których można usunąć wartość "2" muszą należeć do tego samego bloku 3x3 co Pozycja Dodatkowa oraz do tych kolumn na których leżą pozycje Miecznika (kolumny "2", "4" i "9") - w naszym przypadku będą to pozycje [2,4] i [3,4], pozycja [2,4] jest już wypełniona, więc usuwamy wartość "2" z pozycji [3,4].

Przeanalizujmy wszystkie pozycje z wiersza "1", które mogą przyjąć wartość "2":
- jeżeli dowolna z pozycji [1,4], [1,6] przyjmie wartość "2" to w tym przypadku pozycja [3,4] z tego samego bloku 3x3 nie będzie mogła przyjąć wartości "2"
- jeżeli pozycja [1,9] przyjmie wartość "2", wówczas z pozycji [9,9] usuwamy kandydata "2", tak więc pozycja [2,9] musiałaby przyjąć wartość "2" co powoduje usunięcie kandydata z pozycji [7,2] a to powoduje, że pozycja [7,4] przyjełaby wartość "2", tak więc i w tym wypadku w punkcie [3,4] nie mogłaby wystąpić wartość "2"
- także niezależnie od tego, która z pozycji [1,4], [1,6], [1,9] przyjmie wartość "2", to wówczas pozycja [3,4] z tego samego bloku 3x3 nie będzie mogła przyjąć wartości "2" (czyli w każdym przypadku).

Na diagramie obok mamy także Prawie Miecznik (wariant Sashimi czyli skrócony) w wierszach "1", "4" i "5" dla wartości "7". W tym wariancie jedno z pól należących do Miecznika jest wypełnione, albo nie ma kandydata o wartości "7" (w naszym przypadku jest to pole [1,6] - kandydaci "1" i "8").

Analizując tak jak w poprzednim przypadku wszystkie pozycje z wiersza "1", które mogą przyjąć wartość "7" mamy:
- jeżeli dowolna z pozycji [1,4] oraz [1,5] przyjmie wartość "7" to w tym przypadku w punktach [2,6] i [3,6] z tego samego bloku 3x3 nie będzie mogła wystąpić wartość "7"
- jeżeli pozycja [1,7] przyjmie wartość "7", wówczas z pozycji [4,7] usuwamy kandydata "7", tak więc pozycja [4,1] musiałaby przyjąć wartość "7" co powoduje usunięcie kandydata z pozycji [5,1] a to powoduje, że pozycja [5,6] przyjełaby wartość "7", tak więc i w tym wypadku w punktach [2,6] i [3,6] nie mogłaby wystąpić wartość "7"
- tak więc niezależnie od tego, która pozycja w "1"-szym wierszu przyjmie wartość "7" w pozycjach [2,6] i [3,6] nie będzie mogła wystąpić wartość "7" (w naszym przypadku usuwamy kandydata "7" z punktu [2,6]).

Praiwe Meduza

Prawie Meduza (ang. Finned Jellyfish) w rzędach/kolumnach dla wartości "x" występuje wtedy, gdy:

  • z tych czterech rzędów/kolumn można wybrać takie pozycje dla danej kandydującej wartości "x", które tworzą Meduzę
  • pozostałe pola, które nie należą do Meduzy, tzw. Dodatkowe Pozycje, leżą tylko w jednym wierszu/kolumnie oraz w tym samym bloku 3x3
  • jeśli powyższe warunki są spełnione to mamy układ Prawie Meduzy w wierszach/kolumnach dla wartości "x" i wówczas możemy usunąć kandydata "x" z wszystkich takich pozycji, które należą jednocześnie do tego samego bloku 3x3 co elementy dodatkowe oraz do tych samych kolumn/wierszy co pozycje tworzące Meduzę (oczywiście nie usuwamy wartości "x" z Pozycji należących do Meduzy oraz z Pozycji Dodatkowych).

Prawie Meduza podobnie jak Prawie Skrzydlica oraz Prawie Miecznik jest subtelnym rozszerzeniem techniki Meduzy, którą postaram się wytłumaczyć na przykładzie.

Spójrz na następujący diagram:
Kandydujące pozycje dla wartości "8" w wierszach "1", "4", "6" i "9" tworzą układ Prawie Miecznika bo:
- pozycje wyróżnione na żółto tworzą układ Miecznika
- Dodatkowa Pozycja (wyróżnione szarym kolorem) leży w wierszu numer 9 oraz w bloku 3x3 o o początku w punkcie [7,1] i końcu w punkcie [9,3]
- Pozycje, z których można usunąć wartość "8" muszą należeć do tego samego bloku 3x3 co Pozycja Dodatkowa oraz do tych kolumn na których leżą pozycje Meduzy (kolumny "1", "2", "8" i "9") - w naszym przypadku będą to pozycje [7,1], [7,2], [8,1] i [8,2].

Przeanalizujmy wszystkie pozycje z wiersza "9", które mogą przyjąć wartość "9":
- jeżeli pozycja [9,9] należąca do Meduzy przyjmie wartość "8", wówczas w kolumnach należących do Meduzy (kolumny "1", "2", "8" i "9") można usunąć kandydującą wartość "8" (oczywiście oprócz pozycji należących do Meduzy) zatem można usunąć kandydata "8" z pozycji: [7,1], [7,2], [8,1] i [8,2] bo należą one do kolumn "1" i "2" i nie należą do pozycji Meduzy
- jeżeli pozycja [9,3] przyjmie wartość "8" to i w tym przypadku z pozycji [7,1], [7,2], [8,1] i [8,2] można usunąć kandydata "8" bo są one z tego samego bloku 3x3 co pozycja [9,3]
- także niezależnie od tego, która z pozycji [9,3], [9,9] w wierszu "9" przyjmie wartość "8", to usuwamy kandydata "8" z pozycji: [7,1], [7,2], [8,1] i [8,2] (czyli w każdym przypadku).

Na diagramie obok mamy także Prawie Meduzę (wariant Sashimi czyli skrócony) w kolumnach "2", "4", "6 i "9" dla wartości "7". W tym wariancie jedno z pól należących do Meduzy jest wypełnione, albo nie ma kandydata o wartości "7" (w naszym przypadku jest to pole [5,4] wypełnione wartością "8").

Analizując tak jak w poprzednim przykładzie wszystkie pozycje z kolumny "2", które mogą przyjąć wartość "7" mamy:
- jeżeli pozycja [5,2] należąca do Meduzy przyjmie wartość "7", wówczas w wierszach należących do Meduzy (wiersze "2", "5", "6" i "8") można usunąć kandydującą wartość "7" (oczywiście oprócz pozycji należących do Meduzy) zatem można usunąć kandydata "8" z pozycji: [8,3] bo należy ona do wiersza "8" i nie należą do pozycji Meduzy
- jeżeli dowolna z pozycji [7,2], [8,2] oraz [9,2] przyjmie wartość "7" to w tym przypadku w punkcie [8,3] z tego samego bloku 3x3 nie będzie mogła wystąpić wartość "7"
- tak więc niezależnie od tego, która pozycja w "2"-giej kolumnie przyjmie wartość "7" w pozycji [8,3] nie będzie mogła wystąpić wartość "7" (czyli usuwamy kandydata "7" z tego punktu).