Lankide:GorkaIoritz/Zortzi erreginen problema

Wikipedia, Entziklopedia askea
abcdefgh
8
f8 erregin zuria
d7 erregin zuria
g6 erregin zuria
a5 erregin zuria
h4 erregin zuria
b3 erregin zuria
e2 erregin zuria
c1 erregin zuria
8
77
66
55
44
33
22
11
abcdefgh
Zortzi erreginen problemarako soluzio posible bat 8x8 taula batean.

Zortzi erreginen problema 8×8 xake-taula batean zortzi erregina jartzean eta erreginak bata bestearen artean ez mehatxatzean datzan problema da. Hori gerta dadin, bi erreginak ezin dute lerro, zutabe edo diagonal bera partekatu. Soluzio posible guztiak 92 dira, baina oinarrizko soluzioak soilik 12 dira gainerakoak soluzio baliokideak baitira. Arazoa XIX. mendearen erdialdean planteatu zen lehen aldiz eta aro modernoan problema hau sarritan adibidetzat erabiltzen da programazio informatikoko teknika batzuetarako.

Zortzi erreginen problema n erreginen problema orokorrenaren kasu berezi bat da non n erregin ipintzen diren euren artean erasotzen ez direnak n×n taula batean. n zenbaki arrunt guztietarako soluzioak daude, n=2 eta n=3 kasuetan izan ezik. Soluzio kopuru zehatza n ≤ 27 denean soilik ezagutzen den arren, soluzio-kopuruaren hazkunde asintotikoaren tasa (0.143 n)n da gutxi gorabehera.

Historia[aldatu | aldatu iturburu kodea]

Max Bezzel xake-konpositorea izan zen zortzi erreginen problema argitaratzen lehena 1848an. Franz Nauck-ek 1850ean argitaratu zituen lehen soluzioak eta n erreginen arazora zabaldu zuen problema n×n karratuko xake-taula batentzako.

Harrezkero, matematikari askok, Carl Friedrich Gauss-ek barne, zortzi erreginen probleman eta n erreginen bertsio orokorrean lan egin dute. 1874an, S. Guntherrek metodo bat proposatu zuen, determinatzaileak erabiliz soluzioak aurkitzeko. J.W.L. Glaisherrek Guntherren ikuspegia findu zuen.

1972an, Edsger Dijkstrak problema hau erabili zuen programazio egituratua deitu zuenaren indarra ilustratzeko. Backtraking algoritmoaren garapenaren deskribapen oso zehatza argitaratu zuen Sakonera-bilaketa izenekoa.

Soluzioak eraikitzen eta zenbatzen, n = 8 denean[aldatu | aldatu iturburu kodea]

Zortzi erreginen problemarako irtenbide guztiak aurkitzea arazo nahiko garestia izan daiteke konputazionalki, izan ere, 8x8 taula batentzako zortzi erreginekin 4.426.165.368 konbinaketa egin daitezke 92 soluzio baino ez dauden arren. Baldintza konputazionalak murrizten dituzten lasterbideak edo indar gordin konputazionaleko teknikak saihesten dituzten arau praktikoak erabil daitezke. Adibidez, zutabe bakoitzeko erregina bat aukeratzen duen erregela sinple bat aplikatuz, aukera-kopurua 16.777.216 (hau da, 88) konbinaziotara murriztu daiteke. Permutazioak sortzeak are gehiago murrizten ditu aukerak 40,320 (hau da, 8! ) aukera posibletara eta aurrerago eraso diagonalik badagoen egiazta daiteke.

Zortzi erreginen problemak 92 irtenbide ditu. Taula errotatzeko eta islatzeko simetria-eragiketengatik bakarrik bereizten diren soluzioak bat balira bezala kontatzen badira, problemak 12 irtenbide ditu. Soluzio hauei oinarrizko soluzio deitzen zaie eta beherago aurkezten dira.

Oinarrizko soluzio batek zortzi aldaera ditu (jatorrizko forma barne), 90°, 180° edo 270° biratuz lortuak, eta ondoren, lau aldaera hauetako bakoitza ispilu bat erabiliko bagenu bezala islatuz. Hala ere, funtsezko 12 irtenbideetako bat (12 soluzioa beheran) 180º-ko bere errotazioaren berdina da, eta ondorioz lau aldaera besterik ez ditu (bere burua, bere islapena, 90º-ko errotatuta eta honen islapena). Soluzio horiek bi aldaera baino ez dituzte (haien burua eta haien isla). Horrela, soluzio desberdinen guztizko kopurua 11 x 8 + 1 x 4 = 92 da.

Hona hemen oinarrizko soluzio guztiak:


10. Soluzioaren propietate gehigarria da ez daudela lerro zuzenean hiru erreginik. Bestalde, 1. eta 8. soluzioek 4 erreginez osatutako lerroa dute.

Soluzioen existentzia[aldatu | aldatu iturburu kodea]

Ebazpen kopurua zenbatzeko indar gordia erabiltzen duten algoritmoak, konputazionalki erabil daitezke n = 8 denean, baina ezin dira tratatu n ≥ 20 den problemetan, hala nola 20! = 2,433 × 1018 baita. Helburua irtenbide bakarra aurkitzea bada, n ≥ 4 guztientzako soluzioak erakuts daitezke, inolako bilaketarik egin gabe.[1][2] Soluzio horiek eredu mailakatuak erakusten dituzte, n = 8, 9 eta 10erako adibide hauetan bezala:

abcdefgh
8
d8 erregin zuria
g7 erregin zuria
c6 erregin zuria
h5 erregin zuria
b4 erregin zuria
e3 erregin zuria
a2 erregin zuria
f1 erregin zuria
8
77
66
55
44
33
22
11
abcdefgh
Solution 1

abcdefgh
8
e8 erregin zuria
b7 erregin zuria
d6 erregin zuria
g5 erregin zuria
c4 erregin zuria
h3 erregin zuria
f2 erregin zuria
a1 erregin zuria
8
77
66
55
44
33
22
11
abcdefgh
Solution 2

abcdefgh
8
d8 erregin zuria
b7 erregin zuria
g6 erregin zuria
c5 erregin zuria
f4 erregin zuria
h3 erregin zuria
e2 erregin zuria
a1 erregin zuria
8
77
66
55
44
33
22
11
abcdefgh
Solution 3

abcdefgh
8
d8 erregin zuria
f7 erregin zuria
h6 erregin zuria
c5 erregin zuria
a4 erregin zuria
g3 erregin zuria
e2 erregin zuria
b1 erregin zuria
8
77
66
55
44
33
22
11
abcdefgh
Solution 4

abcdefgh
8
c8 erregin zuria
f7 erregin zuria
h6 erregin zuria
a5 erregin zuria
d4 erregin zuria
g3 erregin zuria
e2 erregin zuria
b1 erregin zuria
8
77
66
55
44
33
22
11
abcdefgh
Solution 5

abcdefgh
8
e8 erregin zuria
c7 erregin zuria
h6 erregin zuria
d5 erregin zuria
g4 erregin zuria
a3 erregin zuria
f2 erregin zuria
b1 erregin zuria
8
77
66
55
44
33
22
11
abcdefgh
Solution 6

abcdefgh
8
e8 erregin zuria
g7 erregin zuria
d6 erregin zuria
a5 erregin zuria
c4 erregin zuria
h3 erregin zuria
f2 erregin zuria
b1 erregin zuria
8
77
66
55
44
33
22
11
abcdefgh
Solution 7

abcdefgh
8
d8 erregin zuria
a7 erregin zuria
e6 erregin zuria
h5 erregin zuria
f4 erregin zuria
c3 erregin zuria
g2 erregin zuria
b1 erregin zuria
8
77
66
55
44
33
22
11
abcdefgh
Solution 8

abcdefgh
8
c8 erregin zuria
f7 erregin zuria
d6 erregin zuria
a5 erregin zuria
h4 erregin zuria
e3 erregin zuria
g2 erregin zuria
b1 erregin zuria
8
77
66
55
44
33
22
11
abcdefgh
Solution 9

abcdefgh
8
f8 erregin zuria
b7 erregin zuria
g6 erregin zuria
a5 erregin zuria
d4 erregin zuria
h3 erregin zuria
e2 erregin zuria
c1 erregin zuria
8
77
66
55
44
33
22
11
abcdefgh
Solution 10

abcdefgh
8
d8 erregin zuria
g7 erregin zuria
a6 erregin zuria
h5 erregin zuria
e4 erregin zuria
b3 erregin zuria
f2 erregin zuria
c1 erregin zuria
8
77
66
55
44
33
22
11
abcdefgh
Solution 11

abcdefgh
8
f8 erregin zuria
d7 erregin zuria
g6 erregin zuria
a5 erregin zuria
h4 erregin zuria
b3 erregin zuria
e2 erregin zuria
c1 erregin zuria
8
77
66
55
44
33
22
11
abcdefgh
Solution 12

Erreferentziak[aldatu | aldatu iturburu kodea]

  1. Bo Bernhardsson. (1991). «Explicit Solutions to the N-Queens Problem for All N» SIGART Bull. 2 (2): 7.  doi:10.1145/122319.122322..
  2. E. J. Hoffman et al., "Construction for the Solutions of the m Queens Problem". Mathematics Magazine, Vol. XX (1969), pp. 66–72.

Kanpo estekak[aldatu | aldatu iturburu kodea]