Sudoku+-+Bumbulucz+Bernadett

 =//**Sudoku:**// = = = ===**Sudoku, pronunţat [sudoku], din japoneză, sû-cifră, şi, doku-unică, este un joc în formă de grilă inventat în 1979 şi inspirat de pătratul latin şi de problema celor 36 ofiţeri a lui Leonhard Euler. Scopul jocului este de a umple această grilă cu cifrele de la 1 la 9 respectând anumite condiţii, cu unele cifre fiind de la început dispuse în grilă.** === = = = = =   = = = =** Prezentare: **= = = Grila jocului este un pătrat de nouă pe nouă căsuţe, subdivizat în tot atâtea pătrate identice, numite regiuni (vedeţi figura). Regula jocului este simplă: fiecare rând, coloană sau regiune nu trebuie să conţină decât o dată cifrele de la unu la nouă. Formulat altfel, fiecare ansamblu trebuie să conţină cifrele de la unu la nouă o singură dată.
 * 

** = = = = = = = = =**Problema ofiţerilor: **= = =   **

In 1782, mathematicianul elveţian Leonhard Euler îşi imaginează următoarea problemă într-o grilă. Unii atribuie paternitatea Sudokului elveţianului, cu atât mai mult cu cât munca lui Euler consista în studiul pătratelor latine şi teoria graficelor.

Problema ofiţerilor se poate enunţa astfel: fie şase regimente diferite, fiecare regiment posedând şase ofiţeri de grade diferite. Se cere să se plaseze cei 36 ofiţeri într-o grilă de 6 x 6, fiecare ofiţer ocupând câte căsuţă, în aşa fel că fiecare rând şi fiecare coloană să conţină toate gradele şi toate regimentele

In 1901, francezul Gaston Tarry demonstrează imposibilitatea rezultatului datorită unei căutări extensive a tuturor cazurilor şi prin încrucişarea rezultatelor.

Legătura între Sudoku şi problema celor 36 de ofiţeri este condiţia care împiedică repetiţia unui acelaşi element în grilă, ajungându-se în final tot la un joc care se foloseşte de principiul pătratului latin (combinarea a două pătrate latine în cazul pătratului greco-latin, pătrat latin subdivizat în mai multe regiuni în cazul Sudoku).

** =**Variante: **= = =
 * <span style="font-family: 'Comic Sans MS',cursive; color: rgb(12, 9, 9)">Chiar dacă grilele clasice sunt cele mai obişnuite, există mai multe variante:

**
 * <span style="font-family: 'Comic Sans MS',cursive; color: rgb(32, 24, 24)">**grile de 4×4 care conţin regiuni de 2×2 (în general pentru copii)**
 * <span style="font-family: 'Comic Sans MS',cursive; color: rgb(32, 24, 24)">**grile de 5×5 care conţin regiuni în formă de pentamino şi care au fost publicate sub numele de Logi-5**
 * <span style="font-family: 'Comic Sans MS',cursive; color: rgb(32, 24, 24)">**grile de 6×6 care conţin regiuni de 2×3 (propusă la Campionatului Mondial de Puzzle)**
 * <span style="font-family: 'Comic Sans MS',cursive; color: rgb(32, 24, 24)">**grile de 7×7 cu şase regiuni în formă de hexamino şi o regiune despărţită (propusă la Campionatului Mondial de Puzzle)**
 * <span style="font-family: 'Comic Sans MS',cursive; color: rgb(32, 24, 24)">**grile de 9×9 cu regiuni în formă de polyomino**
 * <span style="font-family: 'Comic Sans MS',cursive; color: rgb(32, 24, 24)">**grile de 16×16 cu regiuni de 4×4 (numite Number Place Challenger şi publicate de Dell, sau numite uneori Super Sudoku)**
 * <span style="font-family: 'Comic Sans MS',cursive; color: rgb(32, 24, 24)">**grile de 25×25 cu regiuni de 5×5 (numite Sudoku the Giant şi publicate de Nikoli)**
 * <span style="font-family: 'Comic Sans MS',cursive; color: rgb(32, 24, 24)">**Există o variantă care în plus impune ca cifrele din diagonalele principale să fie unice. Number Place Challenger, menţionat anterior, şi Sudoku X din Daily Mail, o grilă de 6×6, aparţin acestei categorii**
 * <span style="font-family: 'Comic Sans MS',cursive; color: rgb(32, 24, 24)">**grile de 8×8 conţinând regiuni de 2×4 şi 4×2, şi unde rândurile, coloanele şi diagonalele principale conţin o cifră unică** <span style="font-family: 'Comic Sans MS',cursive; color: rgb(12, 9, 9)">[[image:Scanned_008.jpg align="right"]]
 * <span style="font-family: 'Comic Sans MS',cursive; color: rgb(12, 9, 9)"> * O meta-grilă compusă din cinci grile de 9×9 în quincunx care se încalecă la colţuri este publicată în Japonia sub numele de Gattai 5 (care înseamnă "cinci fuzionaţi") sau Samuraï. În ziarul The **<span style="font-family: 'Comic Sans MS',cursive; color: rgb(12, 9, 9)"> **<span style="font-family: 'Comic Sans MS',cursive; color: rgb(12, 9, 9)">Times, această formă est numită Samurai Su Doku **<span style="font-family: 'Comic Sans MS',cursive; color: rgb(12, 9, 9)">.

= = =<span style="font-family: 'Comic Sans MS',cursive; color: rgb(20, 16, 16)"> = = = = = =<span style="font-family: 'Comic Sans MS',cursive; color: rgb(20, 16, 16)">**Numărul de grile complete posibile:** = =<span style="font-family: 'Comic Sans MS',cursive; color: rgb(20, 16, 16)"> = <span style="font-family: 'Comic Sans MS',cursive; color: rgb(20, 16, 16)">
 * Este evident că numărul de grile este mai mic decât numărul de moduri de a plasa nouă cifre 1, nouă cifre 2, ... nouă cifre 9 într-o grilă de 81 de căsuţe. Numărul grilelor este deci mai mic decât

\frac{81!}{9!^9} \approx 5,31306887 \times 10^{70}

Într-adevăr, în această numărătoare, nu se ţine cont de nici o constrângere de unicitate.

Numărul grilelor complete posibile este inferior numerelor pătratelor latine de latură 9.

În sfârşit, numărul grilelor complete posibile este inferior lui 9!9 care ar corespunde numărului de feluri de a construi regiunile fără a ţine cont de constrângerile liniilor şi ale coloanelor.

În 2005, Bertram Felgenhauer şi Frazer Jarvis au en demonstrat că acest număr de grile este:

6 670 903 752 021 072 936 960 \approx 6,67 \times 10^{21}(pentru mai multe detalii, vedeţi în engleză [6]).

Acest număr este egal cu:

9! \times 72^{2} \times 2^{7} \times 27704267971

Ultimul factor este un număr prim. Acest rezultată a fost demonstrat cu ajutorul unei căutări exhaustive. Frazer Jarvis a simplificat apoi considerabil demonstraţia cu ajutorul unei analize detaliate. Demonstraţia a fost validată de manieră independentă de către Ed Russell. Jarvis şi Russell au arătat că în ţinând cont de simetrii, există 5.472.730.538 soluţii en.

Pe de altă parte, nu există nici un rezultat care să indice numărul grilelor complete într-un super sudoku (grilă de 16 × 16).

Dacă este să ne interesăm acum asupra numărului problemelor propuse, acesta este net mai important pentru că există mai multe modalităţi de a descoperi cifrele unei aceleiaşi grile.

Problema numărului de căsuţe precompletate în prealabil necesare pentru a da o rezolvare unică este actualmente nerezolvată. Cel mai bun rezultat, obţinut de japonezi, este de 17 căsuţe fără nici constrângere de simetrie. en [8] en [9]. Nimic nu indică faptul că nu ar fi posibilă găsirea unei soluţii unice cu mai puţine numere. Gordon Royle indică faptul că două rezolvări sunt considerate ca fiind diferite dacă nu pot fi transformate una în alta (sau invers) cu ajutorul unei combinaţii a operaţiilor următoare:

1. permutări de 9 numere 2. schimbarea rândurilor cu coloanele (transpoziţie) 3. permutarea liniilor într-un singur bloc 4. permutarea coloanelor într-un singur bloc 5. permutarea blocurilor pe un rând de blocuri 6. permutarea blocurilor pe o coloană de blocuri

Se remarcă analogia cu operaţiile matriciale în algebra lineară.**


 * Matematica:

Problema cu plasearea cifrelor pe o grilă de n2×n2 cuprinzând n×n regiuni este demonstrată ca fiind NP-completă (pentru mai multe detalii, vedeţi en [10]). Aceasta înseamnă că este absolut imposibil (s-a demonstrat de asemenea că nu depinde de nivelul nostru actual de cunoştinţe) de a găsi un algoritm eficace (polinomial în mărimea grilei şi determinist) pentru a rezolva toate grilele de sudoku de fără limite de mărime (vedeţi teoria complexităţii pentru mai multe detalii în ceea ce priveşte NP-completitudinea). În limbaj obişnuit, aceasta înseamnă că există grile de sudoku pentru care căutarea soluţiei cere la anumite momente folosirea metodei backtracking (*). Pe grilele de mărime finită dată, rezolvarea poate să se facă cu ajutorul unui automat finit care cunoaşte ansamblul arborelui de joc.

(*) Backtracking-ul (refăcând calea) consistă în a face o presupunere fără ca aceasta să fie justificată şi în a continua căutarea soluţiei, existând posibilitatea revenirii la pasul anterior şi schimbarea presupunerii făcute dacă aceasta a dus la imposibilitatea continuării.

Rezolvarea unui Sudoku poate fi formalizată asemenea problemei colorării grafurilor. Scopul, în versiunea clasică a jocului, este aceea de a aplica 9 culori pe un graf dat, plecând de la o colorare parţială (configuraţia iniţială a grilei). Acest graf posedă 81 vârfuri, unul pentru fiecare celulă. Fiecare poate fi etichetat cu un cuplu ordonat (x, y), unde x şi y sunt întregi cuprinşi între 1 şi 9. Două vârfuri distincte etichetate cu (x, y) şi (x’, y’) sunt legate printr-o margine dacă şi doar dacă:**

<span style="font-family: 'Comic Sans MS',cursive; color: rgb(9, 7, 7)">
 * <span style="font-family: 'Comic Sans MS',cursive; color: rgb(9, 7, 7)">**x = x’ sau,**
 * <span style="font-family: 'Comic Sans MS',cursive; color: rgb(9, 7, 7)">**y = y’ sau,**
 * <span style="font-family: 'Comic Sans MS',cursive; color: rgb(9, 7, 7)">**⌈x/3⌉ = ⌈x’/3⌉ şi ⌈y/3⌉ = ⌈y’/3⌉**
 * Grila se completează atribuind un întreg între 1 şi 9 pentru fiecare vârf, astfel încât toate vârfurilor legate printr-o margine să nu aibă comun acelaşi întreg.

O grilă soluţie este de asemenea şi un pătrat latin. Există substanţial mai puţine grile soluţii decăt pătrate latine, pentru că Sudoku impune constrângeri suplimentare. Numărul maxim de căsuţe precompletate astfel încât nici o soluţie unică să nu apară imediat, prin oricare metodă de rezolvare, este mărimea grilei minus 4: dacă două perechi de candidaţi nu sunt înscrişi şi dacă celulele goale ocupă colţurile unui dreptunghi, şi dacă exact două celule sunt într-o regiune, atunci există două feluri de a înscrie candidaţii. Problema opusă, adică numărul minim de căsuţe precompletate necesare pentru a garanta o soluţie unică, este nerezolvată, chiar dacă entuziaştii japonezi au descoperit o grilă 9×9 fără simetrie care conţine doar 17 căsuţe precompletate, aceasta în măsura în care 18 este numărul minim de căsuţe precompletate pentru grilele 9×9 simetrice.**

Metode de rezolvare:[[image:Cross-hatching.gif align="right"]]
<span style="font-family: 'Comic Sans MS',cursive; color: rgb(14, 12, 12)">**Metoda de rezolvare este compusă din trei procedeuri: căutarea, folosirea cifrelor candidate, respectiv analiza.**

<span style="font-family: 'Comic Sans MS',cursive; color: rgb(14, 12, 12)">** Căutarea **
<span style="font-family: 'Comic Sans MS',cursive; color: rgb(14, 12, 12)">**Căutarea este prima metodă aplicată la începutul jocului, precum şi periodic în timpul umplerii grilei. Mai multe căutări sunt adesea necesare între două momente de analiză. Această căutare face apel la două tehnici simple:** <span style="font-family: 'Comic Sans MS',cursive; color: rgb(14, 12, 12)">**Jucătorii experţi caută "contingenţele" în timpul căutării, adică încearcă să determine celulele candidat (două sau trei) pentru o cifră anume. Când cifrele sunt toate în acelaşi rând (sau coloană),** **şi o regiune, ele sunt folosite în timpul reducerii prin cruce şi a numărătorii. Grilele cele mai dificile cer recunoaşterea contingenţelor multiple, de multe ori în direcţii diferite sau la intersecţii. Aceasta obligă jucătorii la înscrierea cifrelor candidate (metodă descrisă în continuare).** <span style="font-family: 'Comic Sans MS',cursive; color: rgb(14, 12, 12)">**Grilele care se pot rezolva prin reducerea prin cruce sunt considerate ca fiind uşoare, cele mai dificile necesitând alte tehnici de rezolvare.** =<span style="font-family: 'Comic Sans MS',cursive; color: rgb(25, 21, 21)"> =
 * <span style="font-family: 'Comic Sans MS',cursive; color: rgb(14, 12, 12)">**Reducerea prin cruce: aceast înseamnă, pentru fiecare cifră, eliminarea celulelor unde aceasta nu poate fi plasată. Pentru a determina aceste celule, jucătorul trasează o linie imaginară pe fiecare linie şi pe fiecare coloană unde cifra apare deja. Căsuţele care nu sunt traversate de nici o astfel de linie imaginară sunt acelea unde cifra poate fi inserată. Această metodă poate fi folosită pentru completarea mai întâi a căsuţelor "celor mai uşoare". Pentru a câştiga timp, jucătorul poate înceape prin cifrele cele mai numeroase printre căsuţele precompletate, dar este important ca metoda să fie aplicată fiecărei cifre. Pentru a minimiza timpul de căutare în celelalte etape, această căutare trebuie făcută sistematic, verificând toate cifrele.**
 * <span style="font-family: 'Comic Sans MS',cursive; color: rgb(14, 12, 12)">**Numărătoarea de la 1 la 9 pentru fiecare regiune, fiecare rând şi fiecare coloană. Această etapă permite găsirea cifrelor lipsă. (Făcând-o în funcţie de ultima cifră găsită poate accelera căutarea.) În grilele dificile, cifra care trebuie înscrisă poate să fie determinată făcând o numărătoare inversă, adică încercând găsirea cifrelor care nu pot apărea în celulă, ceea ce permite determinarea cifrelor candidate.**

<span style="font-family: 'Comic Sans MS',cursive; color: rgb(14, 12, 12)"> = Cifrele candidate: =


 * <span style="font-family: 'Comic Sans MS',cursive; color: rgb(25, 21, 21)">Căutarea se opreşte atunci când nici o cifră nouă nu mai este înscrisă. Din acest moment se foloseşte o altă tehnică. Unora dintre jucători li se pare mai uşor să înscrie cifrele candidate în celulele goale. Există două notaţii folosite: indicele şi punctele. **

[[image:600px-Sudoku_dot_notation.png width="302" height="302" align="right"]]**Pentru notaţia cu indici, cifrele candidate sunt înscrise într-o**
===celulă, fiecare cifră putând ocupa sau nu un loc precis. Inconvenientul acestei metode este că ziarele publică grile în general de o mai mică mărime, ceea ce face relativ dificilă înscrierea mai multor cifre într-o aceeaşi celulă. Mai mulţi jucători reproduc la scară mai mare grilele sau recurg la un [|creion] fin.<span style="font-family: 'Comic Sans MS',cursive; color: rgb(25, 21, 21)"> === = =
 * <span style="font-family: 'Comic Sans MS',cursive; color: rgb(25, 21, 21)">Pentru notaţia cu puncte, jucătorii înscriu puncte în celulele goale. Poziţia relativă a unui punct indică cifra care lipseşte. De exemplu, ****<span style="font-family: 'Comic Sans MS',cursive; color: rgb(25, 21, 21)">pentru a **<span style="font-family: 'Comic Sans MS',cursive; color: rgb(25, 21, 21)"> **indica 1 într-o celulă, se pune un punct în stânga sus. Această notaţie permite rezolvarea directă a unei grile imprimată dintr-un ziar. Cu toate acestea, ea necesită o anumită dexteritate, existând posibilitatea relativ uşoară de a plasa greşit un punct într-un moment de neatenţie, iar acest mic marcaj făcut din greşeală poate duce ulterior la confuzie. Unii jucători preferă de aceea folosirea unui** **//[|pix]//** **<span style="font-family: 'Comic Sans MS',cursive; color: rgb(25, 21, 21)"> pentru a limita posibilitatea apariţiei greşelilor. **

= media type="youtube" key="VC9qGbmzXJ0&hl=en" height="355" width="425" = =** Analiza: **= = = <span style="font-family: 'Comic Sans MS',cursive">
 * Cele două teme ale acestui procedeu sunt eliminarea şi ipoteza.**
 * Eliminarea: căutarea soluţiei se poate face eliminând succesiv cifrele candidate pentru o casuţă astfel încât să nu se păstreze decât o singură cifră candidat. O dată ce această candidată a fost găsită, o altă [|căutare] trebuie efectuată pentru a determina consecinţele pe care această alegere o are asupra celorlalte căsuţe. Există mai multe tehnici de eliminare care se bazează pe regulile de mai jos, reguli ce au nişte [|corolaruri] utile:**
 * Un ansamblu dat de //n// căsuţe într-un rînd, o coloană sau o regiune, nu poate să primească decât //n// cifre diferite. Această regulă este la baza tehnicii de "eliminare a cifrei candidat orfane", discutată mai jos.**

<span style="font-family: 'Comic Sans MS',cursive"> <span style="color: rgb(244, 72, 72)"><span style="font-size: 200%; font-family: 'Comic Sans MS',cursive; color: rgb(249, 47, 47); background-color: rgb(201, 201, 201)"> <span style="font-family: 'Comic Sans MS',cursive"> =<span style="font-size: 130%; color: rgb(216, 19, 19)">Profesorii recomandă practicarea jocului Sudoku ca antrenament pentru gandire logica.! <span style="font-family: 'Comic Sans MS',cursive; color: rgb(12, 9, 9)"> =
 * Fiecare candidată trebuie să aparţină unui model auto-consistent şi independent. Această regulă stă la baza tehnicilor de analiză avansate, care cer inspecţia ansamblului tuturor posibilităţilor pentru o cifră candidat. Există un număr finit de "circuite închise" sau posibilităţi de grile "n×n". Această regulă a dat naştere metodelor X-Wing, respectiv Swordfish, printre altele. Dacă un astfel de model este identificat, atunci eliminarea cifrelor candidate este deseori posibilă.**
 * Una din tehnicile cele mai folosite este "eliminarea cifrei candidat orfane". Căsuţele cu un acelaşi ansamblu de cifre candidat se zic cuplate dacă numărul candidatelor din fiecare din ele este** **egal cu numărul de căsuţte care le pot conţine. De exemplu, două căsuţe sunt cuplate dacă conţin o pereche** **unică de candidaţi (p,q) într-un rând, o coloană sau o regiune; trei căsuţe se zic cuplate dacă conţin un triplet** **unic de cifre candidate (p,q,r). Aceste cifre nu pot apărea în alte părţi, pentru că ar exista un conflict într-o linie, o coloană sau o regiune. Pentru acest motiv, cifrele candidate (p,q,r) care se găsesc în celelalte celule trebuie eliminate. Acest principiu merge cu sub-ansambluri de cifre candidate: dacă trei celule au** **doar { (p,q,r), (p,q), (q,r) }, sau { (p,r), (q,r), (p,q) }, toate cifrele candidate ale aceste mulţimi care se găsesc în celelalte căsuţe trebuie eliminate.**
 * <span style="font-family: 'Comic Sans MS',cursive">**Un al doilea principiu decurge din principiu precedent. Dacă numărul celulelor într-un rând, o coloană sau o regiune este egal cu mărimea unei mulţimi de cifre candidate, celulele şi cifrele sunt cuplate şi** **doar aceste cifre vor apărea în căsuţe. Toate ceilalte cifre candidate trebuie eliminate. De exemplu, dacă (p,q) poate apărea** **doar în două căsuţe (dintr-un rând, coloană sau regiune), ceilalte cifre candidate trebuie eliminate.**
 * Primul principiu se bazează pe conceptul de "cifre cuplate unic", pe când al doilea se bazează pe conceptul de "căsuţe cuplate unic". Tehnicile avansate se bazează pe aceste concepte şi cuprind rânduri multiple, coloane multiple şi regiuni multiple.**
 * Folosind metoda ipotezei, o căsuţă cu doar două cifre candidat este aleasă şi una din cele două cifre este înscrisă în celulă. Etapele precedente sunt repetate şi fie duc la o contradicţie (cifră duplicată sau căsuţă fără candidat), fie la o propunere validă. Evident, în cazul unei contradicţii, a doua cifră face parte din soluţie. Algoritmul lui Nishio este o formă simplificată a acestei metode: pentru fiecare cifră candidat dintr-o căsuţă, inserarea unei cifre anume previne înscrierea acestei cifre candidat în altă parte în grilă? Dacă răspunsul este da, atunci cifra candidată este eliminată.**
 * Metoda prin ipoteză necesită folosirea unui creion şi a unei gume de şters. Puriştii o resping, pentru că este o metodă de încercări şi eşecuri, prin tatonări, pe când majoritatea grilelor publicate fac apel doar la logică pentru a fi rezolvate. Cu toate acestea, această metodă are meritul de a duce mai rapid la soluţie.**
 * Rămâne la latitudinea fiecărui jucător găsirea unei metode care să îi ofere cele mai bune rezultate. Unii vor dezvolta o metodă care să reducă inconvenientele propunelor precedente. De exemplu, unii vor găsi plictisitor înscrierea tuturor cifrelor candidat în toate căsuţele. Metoda ipotezei cere organizare. Ideal este găsirea unei modalităţi de rezolvare care să minimizeaze numărarea, numărul cifrelor candidat şi numărul de ipoteze.**

= = =**Jocuri Sudoku pentru aplicare si curiozitate!:[|Sudoku game.]**=

=  =  <span style="font-family: 'Comic Sans MS',cursive"><span style="font-family: 'Comic Sans MS',cursive; color: rgb(14, 12, 12)"><span style="font-family: 'Comic Sans MS',cursive; color: rgb(20, 16, 16)"> <span style="font-family: 'Comic Sans MS',cursive"> <span style="font-family: 'Comic Sans MS',cursive; color: rgb(14, 12, 12)"> <span style="font-size: 200%; font-family: 'Comic Sans MS',cursive; color: rgb(249, 47, 47); background-color: rgb(201, 201, 201)"><span style="color: rgb(244, 72, 72)">  <span style="font-family: 'Comic Sans MS',cursive"><span style="font-family: 'Comic Sans MS',cursive; color: rgb(14, 12, 12)"><span style="font-family: 'Comic Sans MS',cursive; color: rgb(20, 16, 16)">

<span style="font-family: 'Comic Sans MS',cursive; color: rgb(12, 9, 9)">

<span style="font-family: 'Comic Sans MS',cursive; color: rgb(12, 9, 9)"> <span style="font-family: 'Comic Sans MS',cursive; color: rgb(12, 9, 9)">

===<span style="font-family: 'Comic Sans MS',cursive"><span style="font-family: 'Comic Sans MS',cursive; color: rgb(14, 12, 12)"><span style="font-family: 'Comic Sans MS',cursive; color: rgb(26, 20, 20)"><span style="color: rgb(11, 9, 9)"><span style="font-family: 'Comic Sans MS',cursive">    ===

===<span style="font-family: 'Comic Sans MS',cursive"><span style="font-family: 'Comic Sans MS',cursive; color: rgb(14, 12, 12)"><span style="color: rgb(11, 9, 9)"><span style="font-family: 'Comic Sans MS',cursive">   ===