22  Konstruktiot

Tekijä

Olli Järviniemi

22.1 Johdanto

Monet kilpailu­matematiikan tehtävät vaativat jonkin tietynlaisen objektin olemassa­olon todistamista. Monissa näistä tarkoitus on, että tällainen objekti tulee itse luoda eli konstruoida. Tässä tekstissä käsitellään konstruktio­tehtäviä.

Konstruktio­tehtävät ovat yleisiä erityisesti kombinatoriikassa. Idea konstruoinnista on kuitenkin hyvin yleinen, ja se tulee vastaan kaikissa muissakin kilpailu­matematiikan aihe­alueissa (kuten alla löytyvistä esimerkeistä ja tehtävistä nähdään).

22.2 Esimerkki­tehtäviä

Tehtävä 22.1 Osoita, että 9×99 \times 9 -ruudukon ruudut voidaan värittää kolmella värillä niin, että jos otetaan minkä tahansa kahden pysty- ja vaaka­rivin leikkausten neljä ruutua, ne eivät kaikki ole saman­värisiä.

Tyhjä yhdeksän kertaa yhdeksän ruudun ruudukko, johon on merkitty mustilla ympyröillä neljä ruutua. Ne sijaitsevat kahden pystyrivin ja kahden vaakarivin leikkauskohdissa eli suorakulmion neljänä kärkenä.

Esimerkiksi ympyröillä merkityt neljä ruutua eivät saa olla kaikki saman­värisiä.

On houkuttelevaa ryhtyä suoraan hommiin ja yrittää saada tehtyä toimiva väritys. Tehtävä ei ole kuitenkaan aivan helppo, ja ihan vain satunnaisia kokeiluja tekemällä ratkaisu ei löydy. (Lukija voi toki yrittää!) Voi myös yrittää värittää niin pitkälle kuin pystyy ja umpi­kujaan joutuessa vaihtaa joidenkin ruutujen väriä ja yrittää uudestaan. Tämäkään ei toimi kovin helposti.

Pitää siis miettiä vähän. Miten väritys kannattaa tehdä? Varmaankin jokaista väriä kannattaa käyttää (suunnilleen) saman verran. Vaikuttaa hyvältä, jos jokaisella pysty- ja vaaka­rivillä on kutakin väriä kolme kappaletta. (Ongelmia tulee helposti, jos yhdellä rivillä on hyvin paljon samaa väriä.)

Lisäksi on järkevää yrittää pitää tilanne mahdollisimman symmetrisenä värien suhteen. Tällöin riittää miettiä vain yhtä väriä ja varmistaa, ettei se luo kiellettyä suora­kulmiota.

Näillä ideoilla on luonteva värittää ruudukon kolme alinta riviä seuraavasti:

Ruudukon kolme alinta vaakariviä väritettynä. Kussakin rivissä on kolme punaista, kolme vihreää ja kolme sinistä ruutua kolmen ruudun ryhminä, ja värilohkot siirtyvät rivi riviltä sivusuunnassa. Ylemmät kuusi riviä ovat vielä värittämättä.

Pohja väritykselle

Huomataan, että tästä lähtien kunkin vaaka­rivin kolme punaista ruutua tulee laittaa niin, että yksi niistä on ruudukon vasemmassa, toinen keskimmäisessä ja kolmas oikeassa kolmanneksessa (ja vastaavasti myös siniselle ja vihreälle). Luonteva jatko on laittaa seuraavan vaaka­rivin punaiset ruudut jokaisen kolmanneksen ensimmäiseen ruutuun, seuraavalla vaaka­rivillä toiseen ruutuun ja sitä seuraavalla kolmansiin ruutuihin. Selkeyden vuoksi väritämme tästä eteenpäin vain punaiset ruudut: muut värit hoidetaan vastaavasti.

Sama väritys jatkettuna ylöspäin niin, että seuraaville kolmelle riville on sijoitettu vain punaiset ruudut. Ne asettuvat kunkin kolmen ruudun ryhmän sisällä porrastetusti eri kohtiin, muut värit vielä puuttuen.

Jatkoa väritykselle

Ylimmille kolmelle vaaka­riville ei käytännössä ole vaihto­ehtoja. Jos seuraavalla vaaka­rivillä yksi punainen ruutu on pysty­rivillä 11, tulee kahden muun olla pysty­riveillä 55 ja 99 tai 66 ja 88. Nämä vaihto­ehdot ovat melko samanlaisia toisiinsa nähden, joten valitaan vaikkapa ensimmäinen.

Enää ei ole vaikea keksiä, miten kaksi muuta vaaka­riviä tulee värittää (vaihto­ehtoja ei tosiaankaan ole montaa). Tässä ratkaisu.

Ruudukko, jossa kaikkien yhdeksän rivin punaiset ruudut on sijoitettu paikoilleen. Jokaisella pysty- ja vaakarivillä on täsmälleen kolme punaista ruutua, eivätkä ne muodosta kiellettyä suorakulmiota.

Punaisten ruutujen väritys on valmis.

Ja kuten todettiin, muut värit hoidetaan samalla tavalla.

Valmis väritys, jossa myös vihreät ja siniset ruudut on lisätty punaisten tapaan. Jokaisella pysty- ja vaakarivillä on kolme kutakin väriä, eikä minkään kahden rivin ja kahden sarakkeen leikkaus ole yksivärinen.

Kokonainen väritys

Kommentti. Tarinan opetus on, että konstruktioita ei yleensä haeta ihan tyhjästä. Kohtuullisen helpotkin ideat, kuten ”värejä kannattaa käyttää yhtä paljon” ja ”tehdään symmetrinen väritys”, ovat toisaalta hyviä arvauksia ja toisaalta vähentävät eri mahdollisuuksia valtavasti.

Tehtävä 22.2 Onko olemassa polynomia P(x)P(x), jonka kertoimet ovat reaali­lukuja ja jolla on seuraavat ominaisuudet?

  1. Vähintään yksi polynomin P(x)P(x) kertoimista on negatiivinen.
  2. Kun nn on ykköstä suurempi kokonais­luku, polynomin Q(x)=P(x)nQ(x) = P(x)^n jokainen kerroin on positiivinen (tai nolla).

Huomataan, että jos (ii) pätee arvoilla n=2n = 2 ja n=3n = 3, niin se pätee kaikilla nn. Esimerkiksi arvolla n=5n = 5 väitteen saa tällöin siitä, että P(x)5=P(x)2P(x)3P(x)^5 = P(x)^2P(x)^3 on tulo kahdesta polynomista, joiden kertoimet ovat positiivisia, joten myös tulon kertoimet ovat positiivisia.

Lähdetään sitten etsimään tällaista polynomia. Tutkitaan pieniä tapauksia. P(x)P(x) ei selvästikään voi olla vakio­polynomi.

Jos PP on ensimmäisen asteen polynomi ax+bax+b, niin P(x)2=a2x2+2abx+b2.P(x)^2 = a^2x^2 + 2abx + b^2. Koska polynomin P(x)2P(x)^2 kertoimien pitää olla positiivisia ja termin xx kerroin on 2ab2ab, täytyy lukujen aa ja bb olla samanmerkkisiä. Jotta P(x)P(x):llä on negatiivinen kerroin, tulee molempien olla negatiivisia. Mutta nyt polynomin P(x)3P(x)^3 kertoimet ovat negatiivisia.

Ennen kuin edetään pidemmälle on hyvä huomata, että jos polynomin P(x)P(x) korkeimman asteen termin kerroin on ss ja vakio­termi on tt, niin polynomin P(x)3P(x)^3 korkeimman asteen termin kerroin on s3s^3 ja vakio­termi on t3t^3. Täten näiden kertoimien tulee olla positiivisia.

Jos P(x)P(x) on toisen asteen polynomi P(x)=ax2+bx+cP(x) = ax^2 + bx + c, tulee edellisen nojalla lukujen aa ja cc olla positiivisia ja luvun bb negatiivinen. Nyt kuitenkin nähdään, että polynomin P(x)2P(x)^2 termin x3x^3 kerroin on 2ab2ab ja siten negatiivinen.

Jos P(x)P(x) on kolmannen asteen polynomi P(x)=ax3+bx2+cx+dP(x) = ax^3 + bx^2 + cx + d, niin taas lukujen aa ja dd tulee olla positiivisia. Jos bb on negatiivinen, on polynomin P(x)2P(x)^2 termin x5x^5 kerroin 2ab2ab ja siten negatiivinen. Jos cc on negatiivinen, on polynomin P(x)2P(x)^2 termin xx kerroin 2cd2cd, mikä ei myöskään käy.

Vastaavalla idealla huomataan, että yleisesti polynomin P(x)P(x) toiseksi korkeimman asteen termin ja termin xx kertoimien tulee olla positiivisia.

Entä jos P(x)P(x) on neljännen asteen polynomi ax4+bx3+cx2+dx+eax^4 + bx^3 + cx^2 + dx + e? Näistä kertoimien a,b,da, b, d ja ee kertoimien tulee olla positiivisia ja cc:n negatiivinen. Laskeminen alkaa mennä työlääksi. Huomataan kuitenkin, että tämä toimii, kunhan kertoimet valitsee sopivasti: esimerkiksi P(x)=x4+x311000x2+x+1P(x) = x^4 + x^3 - \frac{1}{1000}x^2 + x + 1 kelpaa. Miksi? Kun polynomia P(x)P(x)P(x) \cdot P(x) kerrotaan auki, aina, kun jonkin termin xkx^k kertoimeen tulee negatiivisuutta polynomin P(x)P(x) termin x2/1000-x^2/1000 takia, tulee sinne myös positiivisuutta joistain muista termeistä. Summasta tulee positiivinen, koska kerroin 1/1000-1/1000 on niin pieni. (Jos ei näe tätä muuten, voi tämän tarkistaa laskemalla.) Vastaavasti polynomin P(x)3P(x)^3 kertoimet ovat positiivisia.

Kommentti. Ratkaisussa on pari tärkeää pointtia. Ensinnäkin ratkaisussa mietitään aktiivisesti kysymystä ”Mitä ominaisuuksia toimivalla konstruktiolla on?” Ihan aluksi tehtiin reduktio tapauksiin n=2n = 2 ja n=3n = 3, ja pikkuhiljaa todettiin, että tiettyjen polynomin P(x)P(x) kertoimien tulee olla positiivisia. Aivan kuten ensimmäisessä tehtävässä ja sen ratkaisussa, tällaiset kohtalaisen helpot ideat rajaavat huomattavasti sitä, millaisia polynomeja lähdetään etsimään, ja konstruktion keksiminen onnistuu.

Toinen pointti: Joku voisi kokea epätoivoa sen jälkeen, kun on todettu, ettei mikään enintään kolmannen asteen polynomi toimi ja alkaa miettiä, ettei mikään polynomi kelpaa. On vaikea antaa yleis­pätevää ohjetta sille, missä kohtaa kannattaa kääntää suuntaa.

Tässä ongelmassa keksittiin aina melko helppo syy sille, mikseivät edelliset konstruktiot toimineet (”tuon ja tuon kertoimen tulee olla positiivisia”). Uskoi konstruktion olemassa­oloon tai ei, on hyvä idea yrittää keksiä konstruktioita ja miettiä, mikä tarkalleen on syynä sille, että ne eivät toimi. Jos konstruktiota ei todella ole olemassa, tätä kautta voi selvittää miksi. Joskus kuitenkin voi käydä niin, että esteet konstruktion luomiselle loppuvat ja konstruktio löytyy, kuten kävi tässä tehtävässä.

Tehtävä 22.3 Osoita, että on olemassa positiivisten kokonais­lukujen jono x1,x2,x_1, x_2, \ldots, jolla on seuraava ominaisuus: jokaisella positiivisella kokonais­luvulla kk on olemassa täsmälleen yksi pari positiivisia kokonais­lukuja ii ja jj, joilla xixj=kx_i - x_j = k.

Ratkaisun idea lyhyesti: Meillä on tolkuttomasti valinnan­varaa siinä, millaisen jonon luomme. Annettu ehto puolestaan ei ole kovin rajoittava. Rohkeasti ”tekemällä vaan” saadaan luotua halutunlainen jono.

Itse ratkaisuun. Muodostetaan jonolle alku vaikka seuraavasti: x1=1,x2=10,x3=100,x4=1000.x_1 = 1, x_2 = 10, x_3 = 100, x_4 = 1000. Lisätään sitten jonoon yksitellen lisää alkioita. Haluamme taata seuraavat kaksi asiaa:

  1. Mitään lukua ei voida esittää yli yhdellä tavalla jonon alkioiden erotuksena.
  2. Jokainen luku voidaan esittää jonon alkioiden erotuksena.

Nämä ehdot saadaan toteutettua lisäämällä jonoon seuraavalla logiikalla lisää lukuja:

Olkoon mm pienin positiivinen kokonais­luku, joka ei toistaiseksi ole minkään kahden jonon alkion erotus ja olkoon MM suurin luku, joka toistaiseksi esiintyy jonossa. Lisätään jonon perään hyvin iso luku, esimerkiksi 1000M1000M, ja sitten 1000M+m1000M + m.

Ajatus on, että nyt luku mm voidaan esittää kahden jonon alkion erotuksena: (1000M+m)1000M=m(1000M + m) - 1000M = m. Uudet luvut valittiin suuriksi sillä ajatuksella, ettei mitään muuta lukua voida esittää yli yhdellä tavalla jonon lukujen erotuksena. Tarkistetaan tämä.

Jos jonossa oli aiemmin luvut x1,x2,,xnx_1, x_2, \ldots , x_n, niin uudet erotukset ovat 1000Mx1,1000Mx2,,1000Mxn1000M - x_1, 1000M - x_2, \ldots , 1000M - x_n ja 1000M+mx1,1000M+mx2,,1000M+mxn1000M + m - x_1, 1000M + m - x_2, \ldots , 1000M + m - x_n sekä aiemmin mainittu (1000M+m)1000M=m(1000M + m) - 1000M = m.

Ensin huomataan, että mikä tahansa uusista erotuksista on suurempi kuin vanhat erotukset xixjx_i - x_j sekä mm (poislukien erotus mm), koska MM on niin suuri. Riittää siis tarkistaa, ettei uusien erotusten joukossa ole kahta samaa. Selvästikään mitkään kaksi ensimmäisen rivin lukua eivät ole samoja, kuten eivät myöskään mitkään kaksi toisen rivin lukua. Myöskään 1000Mxi=1000M+mxj1000M - x_i = 1000M + m - x_j ei ole mahdollista, koska tästä seuraisi xjxi=m,x_j - x_i = m, mutta oletimme, että lukua mm ei voi esittää erotuksena tällä tavalla.

Toistamalla yllä esitettyä prosessia saadaan yksitellen varmistettua, että jokainen positiivinen kokonais­luku mm on kahden jonon luvun erotus varmistaen samalla, ettei mikään luku ole useammalla tavalla jonon lukujen erotus.

Kommentti. Luotu luku­jono kasvaa hyvin nopeasti, eikä sille ole mitään nättiä kaavaa. Tätä ei kuitenkaan vaadittu. Toimiva konstruktio on toimiva konstruktio.

Ratkaisun idea on tärkeä: jos annetaan valinnan­vapautta, niin sitä todella saa ja kannattaa käyttää. Ei ole mitään tarvetta yrittää tutkia ”kivoja” luku­jonoja x1,x2,x_1, x_2, \ldots, vaan voimme luoda hyvinkin ”rumia” jonoja. (Tehtävään ei edes ole mitään kovin kivoja ratkaisuja.) Kuten ratkaisun alussa todettiin, jono saadaan ”tekemällä vaan”. Konstruktion toimivuuden tarkistaminen vaati hieman työtä, mutta isommilta ongelmilta vältyttiin valitsemalla uudet luvut hyvin suuriksi.

Harvoin tehtävissä on ihan niin paljon valinnan­varaa kuin tässä esimerkissä, mutta ajatus on hyvä pitää mielessä. Voinko ”tehdä vaan”? Jos en, miksi en? Jos kyllä, niin tekee vaan.

22.3 Tehtäviä

Tehtävä 1. Onko olemassa kolme eri positiivista kokonais­lukua, joista minkä tahansa kahden summa on neliö­luku?

Tehtävä 2. Väritä 10×1010 \times 10 -ruudukko valkoisella ja mustalla niin, että millä tahansa ruudulla on tasan kaksi mustaa naapuria. (Naapuruus tarkoittaa yhteistä sivua.)

Tehtävä 3. Millä kokonais­luvuilla nn on olemassa nn-kulmio, jonka mitä tahansa sivua kohden on olemassa toinen sivu, joka on yhden­suuntainen tämän sivun kanssa?

Tehtävä 4. Anna esimerkki kolmiosta, jonka kärki­pisteiden koordinaatit ovat kokonais­lukuja, pinta-ala on alle 11 ja kunkin sivun pituus on yli 11.

Tehtävä 5. Osoita, että on olemassa funktio f:++f : \mathbb{Z}_+ \to \mathbb{Z}_+, jolla f(f(n))=f(n)f(f(n)) = f(n) ja f(n)nf(n) \neq n kaikilla positiivisilla kokonais­luvuilla nn. (Tässä +\mathbb{Z}_+ on positiivisten kokonais­lukujen joukko.)

Tehtävä 6. Osoita, että yhtälöllä a3+b4+c5=d7a^3 + b^4 + c^5 = d^7 on äärettömän monta ratkaisua positiivisissa kokonais­luvuissa.

Tehtävä 7. Olkoon nn positiivinen kokonais­luku. Olkoon p(n)p(n) tapojen määrä osittaa joukon {1,2,,n}\{1, 2, \ldots, n\} luvut osiin, kun osien järjestyksellä ei ole väliä.

Esimerkiksi p(3)=5p(3) = 5, koska joukko {1,2,3}\{1, 2, 3\} voidaan jakaa osiin viidellä tavalla:

  • {1},{2,3}\{1\}, \{2, 3\}
  • {2},{1,3}\{2\}, \{1, 3\}
  • {3},{1,2}\{3\}, \{1, 2\}
  • {1,2,3}\{1, 2, 3\}
  • {1},{2},{3}\{1\}, \{2\}, \{3\}

Osoita, että kaikilla tarpeeksi suurilla nn pätee p(n)>100np(n) > 100^n.