Poliomina

Iz Wikipedije, proste enciklopedije
Skoči na: navigacija, iskanje
Edina prosta domina
2 prosti tromini
5 prostih tetromin
12 prostih pentomin, pobarvanih glede na njihovo simetrijo
35 prostih heksomin
108 prostih heptomin
369 prostih oktomin

Poliomína (tudi polinomína[1]) je ravninski lik, ki ga sestavlja eden ali več skladnih neprekrivajočih se enotskih kvadratov ortogonalno povezanih po stranicah. Je vrsta poliforme, katere celica je kvadrat. Lahko se jo šteje za končno podmožico pravilnega kvadratnega pokritja s povezano notranjostjo. Naslednji liki:

Nontromino 001.svg Nontromino 002.svg Nontetromino 001.svg Nontetromino 007.svg Nontetromino 014.svg Nontetromino 015.svg Nonpolyomino 005.svg Nonpolyomino 022.svg Nonpolyomino 065.svg Nonpolyomino 073.svg Nonpolyomino 071.svg

na primer niso poliomine, saj so vsaj enkrat povezani le z ogliščema. Takšni liki, imenovani nepoliomine, skupaj s prostimi poliominami tvorijo množico likov, imenovanih (prosti) polipleti ali polikralji, kjer je zadnje poimenovanje povezano s šahovskimi figurami, kralji. Polipleti se pojavljajo v igri življenja Johna Hortona Conwayja.

Poliomine se razvrstijo po tem koliko enotskih celic imajo, kar se imenuje red poliomine:

število
celic
ime število prostih
poliomin do n
(OEIS A130866)
1 monomina 1
2 domina 2
3 tromina, triomina ali trinomina 4
4 tetromina 9
5 pentomina ali pentamina 21
6 heksomina 56
7 heptomina 164
8 oktomina 533
9 nonomina ali eneomina 1.818
10 dekomina 6.473
11 undekomina ali hendekomina 23.546
12 dodekomina 87.146

Poliomine se pojavljajo v priljubljenih ugankah vsaj že od leta 1907, štetje pentomin pa izvira še iz antike.[a] Mnogo rezultatov z liki iz enega do šest kvadratov je bilo prvič objavljeno v reviji Fairy Chess Review med letoma 1937 in 1957, pod imenom »razčlenitveni problemi« (angleško dissection problems), niso pa bili opaženi, ker so bili večinoma objavljeni v nepregledni kodirani obliki.[2] Ime poliomina je skoval ameriški matematik in inženir Solomon Wolf Golomb leta 1953, o njih pa je nato veliko pisal Martin Gardner v svoji rubriki Matematične igre v reviji Scientific American.[3] Beseda poliomina izhaja iz starogrške besede πολυ: poly - veliko, iz polýs - mnog, in domina.[4] Beseda domina verjetno izhaja iz pegaste široke maškaradne obleke domino, iz latinskega dominus - gospodar.

S poliominami so povezani poliamanti, ki jih sestavljajo enakostranični trikotniki; poliheksi, ki jih tvorijo pravilni šestkotniki, in druge ravninske poliforme. Poliomine so posplošili na višje razsežnosti s spajanjem kock v polikocke, tesaraktov v politeserakte ali hiperkock v polihiperkocke.

Kot pri mnogih ugankah v razvedrilni matematiki je s poliominami povezanih veliko kombinatoričnih problemov, še posebej s področja geometrične kombinatorike. Najosnovnejši je štetje poliomin za dano velikost. Za štetje ne obstaja noben splošni obrazec, razen za posebne razrede poliomin. Znanih je več ocen, obstajajo pa tudi algoritmi za njihovo računanje.

Poliomine z luknjami za nekatere primere niso primerne, na primer za probleme pokrivanja ravnine. Včasih se takšne poliomine izključijo in so dovoljene le enostavno povezane.[5]

Štetje poliomin[uredi | uredi kodo]

Proste, enostranske in negibne poliomine[uredi | uredi kodo]

Pri štetju obstajajo trije običajni načini razlikovanja poliomin:[6][7]

  • proste poliomine so različni liki, če noben ni transformacija (vzporedni premik, vrtenje, zrcaljenje ali drsno zrcaljenje) drugega (figure, ki se jih lahko vzame v roke in se jih obrne).
  • enostranske poliomine se razlikujejo, kadar nobena ni vzporedno premaknjena ali zavrtena (figure, ki se jih ne da obrniti).
  • negibne poliomine se razlikujejo, kadar nobena ni vzporedno premaknjena (figure, ki se jih ne da obrniti ali zasukati).

Naslednja razpredelnica prikazuje število poliomin različnih vrst z n celicami, ter poliplete. Naj a_{n} označuje število negibnih poliomin z n celicami (od katerih imajo lahko nekatere luknje).

n ime poliomine nepoliomine polipleti
proste enostranske negibne proste prosti enostranski negibni
vse z luknjami brez lukenj
A000105 A001419 A000104 A000988 a_nA001168 A194596 A030222 A030233 A006770
1 monomina 1 0 1 1 1 0 1 1 1
2 domina 1 0 1 1 2 1 2 2 4
3 tromina 2 0 2 2 6 3 5 6 20
4 tetromina 5 0 5 7 19 17 22 34 110
5 pentomina 12 0 12 18 63 82 94 166 638
6 heksomina 35 0 35 60 216 489 524 991 3.832
7 heptomina 108 1 107 196 760 2.923 3.031 5.931 23.592
8 oktomina 369 6 363 704 2.725 18.401 18.770 37.196 147.941
9 nonomina 1.285 37 1.248 2.500 9.910 116.848 118.133 235.456 940.982
10 dekomina 4.655 195 4.460 9.189 36.446 753.726 758.381 1.514.618 6.053.180
11 undekomina 17.073 979 16.094 33.896 135.268 4.898.579 4.915.652 9.826.177 39.299.408
12 dodekomina 63.600 4.663 58.937 126.759 505.861 32.085.696 32.149.296 64.284.947 257.105.146
13   238.591 21.474 217.117 476.270 1.903.890 211.398.614 211.637.205 423.241.426 1.692.931.066
14   901.971 96.496 805.475 1.802.312 7.204.874 1.400.292.492 1.401.194.463 2.802.300.793 11.208.974.860
15   3.426.576 425.449 3.001.127 6.849.777 27.394.666 9.318.028.028 9.321.454.604 18.642.694.440 74.570.549.714
16   13.079.255 1.849.252 11.230.003 26.152.418 104.592.937 62.259.251.309 62.272.330.564 124.544.085.550 498.174.818.986
17   50.107.909 7.946.380 42.161.529 100.203.194 400.795.844 417.496.576.187 417.546.684.096 835.091.956.750 3.340.366.308.393
18   192.622.052 33.840.946 158.781.106 385.221.143 1.540.820.542        
19   742.624.232 143.060.339 599.563.893 1.485.200.848 5.940.738.676        

Iwan Jensen je preštel negibne poliomine do n = 56: a_{56} je približno 6,915 · 1031.[8] Proste poliomine do n = 28 je preštel Tomás Oliveira e Silva.[9]

Simetrije poliomin[uredi | uredi kodo]

Diedrska grupa D_{4} je grupa simetrij (simetrijska grupa) kvadrata. Ta grupa vsebuje štiri zasuke in štiri zrcaljenja. Tvori se jo z izmeničnim zrcaljenjem prek osi x in prek diagonale. Ena prosta poliomina odgovarja največ 8. negibnim poliominam, ki so njene podobe pod simetrijo D_{4}\, . Te podobe pa niso nujno različne: več ima prosta poliomina simetrije, manj ima različnih negibnih dvojnic. Zaradi tega lahko prosta poliomina, ki je invarianta pri nekaterih ali vseh netrivialnih simetrijah D_{4}\, , odgovarja le 4., 2. ali 1. negibni poliomini. Matematično gledano so proste poliomine ekvivalenčni razredi negibnih poliomin pod grupo D_{4}\, .

Za poliomine lahko obstajajo naslednje simetrije.[10] Za vsako simetrijo je dano najmanjše število celic v poliomini:

  • 8 negibnih poliomin za vsako prosto peoliomino:
    • brez simetrije (4)
  • 4 negibne poliomine za vsako prosto poliomino:
  • 2 negibni poliomini za vsako prosto poliomino:
    • simetrija glede na smeri obeh mrežnih črt, dve osi osne simetrije: D_{2}\,  (90°) (2)
    • simetrija glede na smeri obeh diagonal, dve osi osne simetrije: D_{2}\,  (45°) (7)
    • rotacijska simetrija reda 4: C_{4}\, (8)
  • 1 negibna poliomina za vsako prosto poliomino:
    • vse simetrije kvadrata: D_{4}\, (1).

Naslednja razpredelnica prikazuje število poliomin z n celicami, glede na simetrijske grupe, in z enojnimi luknjami.

n brez simetrije
(A006749)
zrcaljenje (90°)
(A006746)
zrcaljenje (45°)
(A006748)
C_{2}\,
(A006747)
D_{2}\,  (90°)
(A056877)
D_{2}\,  (45°)
(A056878)
C_{4}\,
(A144553)
D_{4}\,
(A142886)
 
(A001419)
Polyomino simmetry 001.svg Polyomino simmetry 002.svg Polyomino simmetry 003.svg Polyomino simmetry 004.svg Polyomino simmetry 005.svg Polyomino simmetry 006.svg Polyomino simmetry 007.svg Polyomino simmetry 008.svg Heptomino with hole.svg
1 0 0 0 0 0 0 0 1 0
2 0 0 0 0 1 0 0 0 0
3 0 0 1 0 1 0 0 0 0
4 1 1 0 1 1 0 0 1 0
5 5 2 2 1 1 0 0 1 0
6 20 6 2 5 2 0 0 0 0
7 84 9 7 4 3 1 0 0 1
8 316 23 5 18 4 1 1 1 6
9 1.196 38 26 19 4 0 0 2 37
10 4.461 90 22 73 8 1 0 0 195
11 16.750 147 91 73 10 2 0 0 979
12 62.878 341 79 278 15 3 3 3 4.663
13 237.394 564 326 1.076 17 3 2 2 21.474
14 899.265 1.294 301 1.090 30 5 0 0 96.496
15 3.422.111 2.148 1.186 4.125 35 6 0 0 425.449
16 13.069.026 4.896 1.117 4.183 60 14 12 5 1.849.252

Algoritmi za štetje negibnih poliomin[uredi | uredi kodo]

Induktivni algoritmi[uredi | uredi kodo]

Vsako poliomino reda n + 1 se lahko dobi z dodajanjem celice k poliomini reda n. Od tod izhajajo induktivni algoritmi za tvorjenje poliomin.

Najbolj preprosto se lahko v seznam poliomin reda n dodajajo kvadrati k vsaki poliomini na vsako možno mesto. Poliomina reda n + 1, ki pri tem nastane, ni dvojnica tiste, ki se jo je že našlo. Izboljšave pri urejevanju štetja in označevanje sosednjih kvadratov, ki se jih ne bi smelo upoštevati, zmanjšajo število potrebnih primerov za preverjanje dvojnikov.[11] Ta metoda se lahko uporablja za preštevanje tako prostih kot tudi negibnih poliomin.

Boljšo metodo, ki jo je opisal Redelmeier, je več avtorjev uporabilo kot način ne samo štetja poliomin (brez zahteve, da se vse poliomine reda n ohranjajo pri štetju tistih reda n + 1), ter tudi dokazalo zgornje meje za njihovo število. Osnovna zamisel je, da se začne z enim samim kvadratom, in se od tod rekurzivno dodaja kvadrate. Odvisno od podrobnosti se lahko šteje vsako n-omino n-krat, enkrat od začetka vsakega njenega n-tega kvadrata, ali pa se jih šteje vsako enkrat.

Pri najenostavnejšemu izvajanju se dodaja samo en kvadrat na enkrat. Začne se z enim kvadratom, oštevilči se sosednje kvadrate v smeri urinega kazalca od zgoraj, 1, 2, 3 in 4. Sedaj se izbere število med 1 in 4, in se na tem mestu doda kvadrat. Potem se oštevilči neoštevilčene sosednje kvadrate in se začne s 5. Potem se izbere številko večjo od prej izbrane številke in se doda ta kvadrat. Nadaljuje se z izbiranjem številke večje od števila trenutnega kvadrata, se doda ta kvadrat, ter se nato številči nove sosednje kvadrate. Ko se tvori n kvadratov, se tvori n-omino. Ta metoda zagotavlja, da se vsako negibno poliomino šteje točno n-krat, enkrat od vsakega začetnega kvadrata. Lahko se jo optimira, da se šteje vsako poliomino samo enkrat, in ne n-krat. Začne se z začetnim kvadratom, se ga označi kot levo najnižje ležečega v poliomini. Ne številči se drugih kvadratov, ki so v spodnji vrstici, ali levo od kvadrata v isti vrstici. To različico je opisal Redelmeier.

Pri štetju prostih poliomin je treba po tvorjenju vsake n-omine preveriti simetrije. Vendar je hitreje tvoriti simetrične poliomine ločeno (z različico te metode) in določiti število prostih poliomin z Burnsideovo lemo.[12]

Metoda s prenosno matriko[uredi | uredi kodo]

Najsodobnejši algoritem za štetje negibnih poliomin je odkril Iwan Jensen.[13] Izboljšava metode Andrewa Conwayja je eksponentno hitrejša od predhodnih metod, čeprav je čas njenega izvajanja še vedno eksponeneten v n.[14]

Conwayjeva in Jensenova različica metode s prenosno matriko obsega štetje števila poliomin z določeno širino. Računanje števila za vse širine da skupno število poliomin. Osnovna zamisel za metodo je, da se obravnavajo možne začetne vrstice, nato pa se določi najmanjše število kvadratov potrebnih za tvorjenje poliomine z dano širino. Skupaj z rabo rodovnih funkcij je s tem postopkom možno prešteti več poliomin na enkrat, zaradi česar je tudi veliko hitrejši od drugih metod, kjer so mora tvoriti vsaka poliomina.

Čeprav ima izvrsten čas izvajanja, algoritem uporablja eksponentno količino pomnilnika (za n nad 50 je potrebnih več GB pomnilnika), je težji za programiranje od drugih metod, trenutno pa ni primeren tudi za štetje prostih polionim.

Asimptotična rast števila poliomin[uredi | uredi kodo]

Negibne poliomine[uredi | uredi kodo]

Teoretični argumenti in numerični računi podpirajo oceno:

 a_{n} \sim \frac{c\lambda_{2}^{n}}{n} \!\, ,

kjer sta \lambda_{2} = 4,0626\, in c = 0,3169\, .[15] Vendar ta rezultat ni dokazan, tako da sta vrednosti \lambda_{2}\, in c le oceni. Znani teoretični rezultati niso niti približno tako določeni kot ta ocena. Dokazano je, da obstaja limita:

 \lim_{n\rightarrow \infty} (a_{n})^{1/n} = \lambda_{2} \!\, .

Vrednost a_{n}\, raste eksponentno in je približno enaka:[16]

 a_{n} \sim n^{\lambda_{2}} \!\, .

Najboljša znana spodnja meja za \lambda_{2} je 3,980137.[17] Najboljša znana zgornja meja, neizboljšana še od 1970-ih, je \lambda_{2} < 4,65.[18] \lambda_{2}\, se imenuje Klarnerjeva konstanta.

Za določevanje spodnje meje je preprosta, vendar zelo učinkovita metoda povezovanja poliomin. Naj je zgornji-desni kvadrat najbolj desni kvadrat v najvišji vrstici poliomine. Podobno je definiran spodnji-levi kvadrat. Potem se lahko zgornji-desni kvadrat poljubne poliomine velikosti n zveže s spodnjim-levim kvadratom poljubne poliomine velkikosti m, s čimer se dobi edina (n+m)-omina. To dokazuje a_{n}a_{m} \le a_{n+m}\, . S pomočje te enačbe se lahko pokaže, da velja \lambda \ge (a_{n})^{1/n}\, za vse n. Ta prečiščen postopek skupaj s podatki za a_{n}\, da zgornjo spodnjo mejo.

Zgornja meja se dobi s posplošitvijo induktivne metode za štetje poliomin. Namesto, da se dodaja po en kvadrat na enkrat, se dodaja skupino kvadratov. To pogosto opišejo kot »dodajanje rogovil«. Z dokazom, da je vsaka n-omina zaporedje rogovil, in limitami kombinacij možnih rogovil, se dobi zgornja meja števila n-omin. V zgornjih nakazanih algoritmih je treba na primer v vsakem koraku izbrati večje število, doda pa se največ tri nova števila, ker so največ trije neoštevilčeni kvadrati sosednji poljubnemu oštevilčenemu kvadratu. Na ta način se dobi zgornja meja 6,75. Z 2,8 milijonoma rogovilami sta Klarner in Rivest dobila vrednost za zgornjo mejo 4,65.

Proste poliomine[uredi | uredi kodo]

Približka za število negibnih in prostih poliomin sta povezana na preprost način. Prosta poliomina brez simetrij (zasuka ali zrcaljenja) odgovarja osmim negibnim poliominam, in za velike n je večina n-omin brez simetrij. Zaradi tega je število negibnih n-omin približno enako 8-kratnemu številu prostih n-omin. Ko se n veča, je ta približek eksponentno točnejši.[10]

Posebni razredi poliomin[uredi | uredi kodo]

Za štetje posebnih razredov poliomin obstajajo točni obrazci, na primer za konveksne ali usmerjene poliomine.

Definicija konveksne poliomine se razlikuje od običajne definicije konveksnosti. Poliomina je stolpčno konveksna, če je presečišče z vsako navpično črto konveksno, oziroma, če noben stolpec ne vsebuje luknje. Podobno je poliomina vrstno konveksna, če je presečišče z vsako vodoravno črto konveksno. Poliomina je konveksna, če je stolpčno in vrstno konveksna.

Poliomina je usmerjena, če vsebuje kvadrat, imenovan koren, tako da se vsak drug kvadrat lahko doseže z gibanjem navzgor ali desno za en kvadrat, brez da bi se zapustilo poliomino.

Usmerjene, stolpčne (ali vrstično) konveksne in konveksne poliomine so učinkovito prešteli glede na površino n, ter glede na druge parametre, kot sta npr. obseg ali minimalni omejitveni pravokotnik, s pomočjo rodovnih funkcij.[19][20][21][22]

Poliomina je enakolična, če je njena površina enaka njenemu obsegu. Enakolično poliomino mora sestavljati sodo število kvadratov. Možno je vsako sodo število večje od 15. 16-omina v obliki kvadrata 4 × 4 in 18-omina v obliki pravokotnika 3 × 6 sta na primer obe enakolični. Za poliomine z manj kot 15 kvadrati je obseg vedno večji od površine.[23]

Rabe poliomin[uredi | uredi kodo]

Poliomine so pospešile raziskave v računalništvu in razvedrilni matematiki. Problemi se velikokrat nanašajo na pokritje (tlakovanje) določenega območja ali celotne ravnine s poliominami ali pregibanje poliomin za tvorjenje drugih oblik.[24] Gardner je predlagal več preprostih iger z množico prostih pentomin in šahovnico. Nekatere različice sestavljanke Sudoku imajo območja v obliki poliomin na mreži. Računalniška igra Tetris temelji na sedmih enostranskih tetrominah. V igri so imenovane »tetrimine«. Igra na deski Blokus uporablja vseh 21 prostih poliomin vse do pentomin.

Pokritje območij z množico poliomin[uredi | uredi kodo]

V sestavljankah je običajno treba pokriti dano območje z dano množico poliomin, kot na primer 12 prostih pentomin. Golombova in Gardnerjeva knjiga imata veliko zgledov. Tipična sestavljanka je pokritje pravokotnika 6 × 10 z 12-imi prostimi pentominami. Vseh 2339 rešitev sta leta 1960 prva našla. Colin in Jenifer Haselgrove.[25]

Če so dovoljene mnogokratne kopije poliomin v množici, je Golomb definiral hierarhijo različnih območij, ki jih lahko množica pokrije, kot na primer pravokotniki, trakovi in celotna ravnina. Pokazal je, da je problem pokritja ravnine s poliominami iz dane množice neodločljiv s preslikavnimi množicami Wangovih tlakovcev v množice poliomin.[26]

Pokritje območij s kopijami ene poliomine[uredi | uredi kodo]

V drugem razredu problemov je vprašanje ali kopije dane poliomine pokrijejo pravokotnik, in če, katere pravokotnike lahko.[27] Takšne probleme so še posebej obsežno raziskovali za določene poliomine.[28] Na voljo so razpredelnice rezultatov za posamezne poliomine.[29] Klarner in Göbel sta pokazala, da za vsako poliomino obstaja končna množica takšnih prvotnih pravokotnikov, ki jih pokrije, da se lahko vsi drugi pravokotniki, ki jih pokrije, pokrijejo s temi prvotnimi pravokotniki.[30][31]

Poleg pravokotnikov je Golomb podal svojo hierarhijo za posamezne poliomine: poliomina lahko pokrije pravokotnik, poltrak, ukrivljeni trak, povečano lastno kopijo, kvadrant, trak, polravnino, celotno ravnino, določene kombinacije ali nič od tega. Med njimi sta določeni posledici, obe očitni. Če na primer poliomina pokrije polravnino, pokrije tudi celotno ravnino. In, če poliomina pokrije povečano lastno kopijo, potem pokrije kvadrant. Poliomine do reda vse do 6 so karakterizirane v tej hierarhiji s statusom ene heksamine, za katero se je kasneje izkazalo, da pokrije pravokotnik, kar je bilo do tedaj nerešeno.[32]

Leta 2001 sta Cristopher Moore in John Michael Robson pokazala, da je problem pokritja ene poliomine s kopijami druge NP-poln.[33][34]

Pokritje ravnine s kopijami ene poliomine[uredi | uredi kodo]

Dve pokrivajoči nonomini za kateri Conwayjev kriterij ne velja.

Veliko so obravnavali tudi pokritje ravnine s kopijami ene poliomine. Leta 1965 so oznanili, da vse poliomine do heksomin in vse razen štirih heptomin pokrijejo ravnino.[35][36] Nato je David Bird ugotovil, da vse razen 26 oktomin pokrijejo ravnino.[37] Rawsthorne je odkril, da vse nonomine razen 235-ih pokrijejo ravnino.[38] Takšne rezultate so razširili na višje rede Rhoads (do reda 14) in drugi.[39] Poliomine, ki pokrivajo ravnino, so klasificirali po simetrijah njihovih pokritij in po številu aspektov (orientacij) v katerih se tlakovci pojavljajo v njih.[40][41]

Raziskovanje katere poliomine lahko pokrijejo ravnino je olajšala raba Conwayjevega kriterija. Razen dveh nonomin vse pokrivajoče poliomine do reda 9 tvorijo zaplato, za katero velja vsaj en tlakovec, pri čemer so izjeme pri višjih redovih pogostejše.[42]

Pokritje skupnega lika z različnimi poliominami[uredi | uredi kodo]

Minimalni združljivostni lik za pentomini T in W.

Problem združljivosti išče lik, ki ga lahko pokrijeta dve ali več poliomin. Poliominsko združljivost so veliko raziskovali od 1990-ih. Jorge Luis Mireles in Giovanni Resta sta objavila spletni strani s sistematičnimi rezultati.[43][44] Livio Zucca prikazuje rezultate za nekatere zapletene primere, kot so na primer tri različne pentomine.[45] Splošni problem je lahko težek. Prvi združljivostni lik za pentomini L in X je bil objavljen leta 2005 in ima 80 poliomin obeh vrst.[46] Za veliko parov poliomin so pkazali nezdružljivost s sistematičnim izčrpavanjem. Ni znan noben algoritem za odločanje ali so poljubne poliomine združljive.

Mreže teles[uredi | uredi kodo]

11 različnih prostih heksomin predstavlja mrežo kocke

Od poliomin lahko edino heksomine predstavljajo mrežo telesa in sicer kocke. Od 35 prostih heksomin jih lahko 11 predstavlja mrežo kocke.


Glej tudi[uredi | uredi kodo]

Opombe[uredi | uredi kodo]

  1. ^ Golomb (Polyominoes, predgovor k prvi izdaji) je zapisal: »opažanje, da obstaja dvanajst različnih vzorcev (pentomin), ki se jih lahko tvori iz petih povezanih kamenčkov na igralni deski za go, ... se pripisuje starodavnemu mojstru te igre.«

Sklici[uredi | uredi kodo]

Viri[uredi | uredi kodo]

Zunanje povezave[uredi | uredi kodo]