• No results found

Balanserade latinska kvadrater

N/A
N/A
Protected

Academic year: 2021

Share "Balanserade latinska kvadrater"

Copied!
88
0
0

Loading.... (view fulltext now)

Full text

(1)

Institutionen för naturvetenskap och teknik

Balanserade latinska kvadrater

William Dolk & Johanna Stattin

(2)

Örebro universitet

Institutionen för naturvetenskap och teknik

Självständigt arbete för kandidatexamen i matematik, 15 hp

Balanserade latinska kvadrater

William Dolk & Johanna Stattin Gustavsson 8 juni 2021

Handledare: Niklas Eriksen Examinator: Mikael Hansson

(3)

Abstract

A Latin square is an n × n matrix with n different elements, each occurring exactly once in each row and each column. A balanced Latin square has the additional condition that two elements can only be horizontally positioned next to each other once. In this paper, we will be studying the existence of balanced Latin squares of different orders and how they are constructed.

This paper will show different methods for creating and representing balanced Latin squares of order n, when n is an even integer. New results will be presented, including the existence when n is an odd compound integer. Lastly, some applications will be discussed and how well a balanced Latin square works in comparison with a Latin square for those cases when the condition of a balanced Latin square is necessary.

The purpose of this paper is to gain a deeper knowledge of how the structure works and to introduce new ideas for how we can represent and generate balanced Latin squares.

(4)

Sammanfattning

En latinsk kvadrat är en n × n-matris vars n element förekommer exakt en gång i varje rad och varje kolumn. En balanserad latinsk kvadrat har det yt-terligare villkoret att två element endast får ha positionerna bredvid varand-ra exakt en gång varand-radvis. I detta arbete kommer vi att studevarand-ra existensen av balanserade latinska kvadrater av olika ordningar och hur de konstrueras.

Arbetet kommer visa olika metoder som kan användas för att skapa och representera balanserade latinska kvadrater då n är ett jämnt heltal. Nya resultat kommer presenteras, bland annat förekomsten då n är ett udda, sammansatt tal. Slutligen diskuteras även tillämpningar och hur väl en ba-lanserad latinsk kvadrat fungerar i jämförelse med en latinsk kvadrat för de fall där villkoret en balanserad latinsk kvadrat uppfyller är nödvändigt.

Syftet med arbetet är att få en djupare förståelse för hur uppbyggna-den fungerar samt introducera nya sätt att både representera och generera balanserade latinska kvadrater.

(5)
(6)

Innehåll

1 Introduktion 7

1.1 Latinsk kvadrat . . . 7 1.2 Balanserad latinsk kvadrat . . . 8 1.3 Semi-balanserad latinsk kvadrat . . . 10

2 Speglingsmetoden och färgkartor 12

2.1 Speglingsmetoden . . . 12 2.2 Representera en matris med färger . . . 17

3 Grafrepresentation 19

3.1 Grafteori . . . 19 3.2 Kopplingen mellan BLK:er och grafer . . . 20

4 Representation via permutationer 22

4.1 Permutationer och gruppteori . . . 22 4.2 Kopplingen mellan BLK:er och permutationer . . . 24 4.2.1 Permutationer med distinkta differenser . . . 28

5 Permutationer och färgkartor 31

5.1 Färgkartor för BLK:er av sammansatta tal . . . 31 5.2 En färgkartas villkor . . . 33 6 Varians 38 6.1 Varianstester . . . 38 6.1.1 Algoritm för varianstest . . . 39 6.1.2 Resultat av varianstest . . . 40 7 Diskussion 41

7.1 Förmodanden och frågeställningar . . . 41 7.2 Resultat . . . 41

A Matlabkoder 44

A.1 latinsq . . . 44 A.2 var_test . . . 45

(7)

A.3 BLS . . . 47 A.4 BLS_equal . . . 50 A.5 ABLS . . . 52 A.6 gen_ABLS_spec . . . 56 A.7 ABLS_spec . . . 62 A.8 permutation_finder . . . 68 A.9 SBLS . . . 70 A.10 seq_distinct_difference . . . 74 A.11 pattern . . . 76 A.12 BLS_from_pattern . . . 80 A.13 BLS_spec . . . 83

(8)
(9)

Kapitel 1

Introduktion

Innan vi vet ordet av det står julen runt hörnet och med ordentlig framför-hållning har vi redan nu bestämt oss för att avgöra vilken som är den bästa julmusten på marknaden. Vi väljer ut en grupp om tio försökspersoner som ska poängsätta smaken av tio stycken julmuster. När vi utför det här testet förstår vi att det förmodligen finns en risk att den första julmusten som testas kommer resultera i höga poäng enbart för att det är den första som testas. Likt är vi medvetna om risken att den sista julmust vi testar kommer resultera i låga poäng då försökspersonerna kanske tröttnat på smaken. Vad vi behöver är en modell som ordnar julmusterna sådana att varje julmust får en ny plats i turordningen för varje försöksperson. En latinsk kvadrat är precis vad vi behöver.

1.1

Latinsk kvadrat

Definition 1.1.1. En latinsk kvadrat av ordning n är en n × n-matris med n distinkta element som är ordnade sådana att varje varje rad och varje kolumn innehåller varje element exakt en gång.

    1 2 3 4 2 3 4 1 3 4 1 2 4 1 2 3    

Figur 1.1: Exempel på en latinsk kvadrat av ordning 4.

Elementen i en latinsk kvadrat kan bestå av valfria symboler, exempelvis bokstäver från det latinska alfabetet. I detta arbete kommer vi använda element från mängden Nn= {1, 2, 3, . . . , n} ⊂ N, om inte annat anges.

Sats 1.1.1. För n ≥ 2 existerar det minst en latinsk kvadrat av ordning n, ∀n ∈ N.

(10)

Bevis. ([1], sida 126). Låt L(i, j) ≡ i+j, definiera en n×n-matris, i, j ∈ Zn. Av algebraiska skäl använder vi i det här beviset element ur gruppen Zn, mer

om denna grupp finns att läsa i anmärkning 4.1.1. Antag nu att elementen i positionerna (i, j) och (i, j0) är samma. Då fås att i+j ≡ L(i, j) ≡ L(i, j0) ≡

i + j0. Då Zn innehåller ett element −i kan vi addera det på båda sidor

och få j ≡ j0. Vi har då att rad i innehåller varje element högst en gång

och eftersom vi har n element och n positioner förekommer varje element exakt en gång. På samma sätt kan det visas i kolumnerna. Då följer det att matrisen L är en latinsk kvadrat av ordning n.

Det har länge funnits ett intresse av latinska kvadrater. 1935 publicerades boken “The Design of Experiments” av Ronald A. Fisher [2]. Boken diskute-rar en rad olika metoder för experimentella försök och en modell som tas upp är just den latinska kvadraten. Fisher visar på hur en latinsk kvadrat med fördel kan användas som modell för försök där man antar att placeringarna av försöken påverkar resultatet.

Vi ser tillbaka på vårt test av julmust. Vi använder en latinsk kvadrat som modell där varje rad bestämmer för varje försöksperson den turordningen julmusterna ska testas i. Vi vet då med säkerhet att ingen julmust får högre eller lägre poäng endast för den turordning julmusterna testas i. I just det här fallet visar det sig dock att den tredje musten vi testar har en riktigt dålig eftersmak. Eftersmaken håller i sig och påverkar därför smaken av julmusten vi testar härnäst. Hur kan vi genomföra testet utan att låta den tredje musten dra ner poängen för samma julmust i varje test? Vi vill kunna bestämma en ordning på våra julmuster sådan att ingen försöksperson får smaka på julmusterna i samma följdordning som någon annan. Julmusten med den dåliga eftersmaken ska alltså inte få följas av samma julmust mer än en gång under hela experimentets gång. Vi skulle behöva en modell för vårt experiment som tar hänsyn till detta, ett specialfall av vår latinska kvadrat.

1.2

Balanserad latinsk kvadrat

Definition 1.2.1. Ett riktat digram är två tal i en matris med positioner bredvid varandra. För ett riktat digram (a, b) kallar vi digrammet (b, a) för det omvända digrammet. Ett oriktat digram är ett digram där ordningen inte har någon betydelse, det vill säga (a, b) = (b, a).

Definition 1.2.2. En balanserad latinsk kvadrat (BLK) av ordning n är en n × n-matris som uppfyller samma villkor som en latinsk kvadrat, med det ytterligare villkoret att varje distinkt riktat digram radvis endast förekommer en gång. Vi definierar även

Bn:= {B : B är en BLK av ordning n} som mängden av alla BLK:er av ordning n.

(11)

Anmärkning 1.2.1. Av elementen i mängden Nn kan vi skapa n!

(n − 2)! = n(n − 1)

distinkta, riktade digram. Då en n × n-matris innehåller lika många digram är det alltså en möjlighet att matrisen skulle kunna vara en BLK.

    1 2 3 4 2 4 1 3 3 1 4 2 4 3 2 1    

Figur 1.2: Exempel på en balanserad latinsk kvadrat på standardform av ordning 4.

För vår jakt på den bästa julmusten kan vi nu äntligen genomföra ett rättvist test om vi använder en balanserad latinsk kvadrat som modell. Ingen försöksperson kommer då smaka på julmusterna i samma ordning som någon annan och ingen julmust följer samma julmust i turodningen mer än en gång. Självklart är julmust-experimentet bara en av många tillämpningar en balanserad latinsk kvadrat har. Vi kan bygga upp BLK:er av olika ordningar på ett flertal olika sätt, beroende på ändamålet. I det här arbetet kommer vi uteslutande kolla på BLK:er som är av ordning n ≥ 2. Fallet då n = 1 är ointressant då det inte uppkommer några digram och därmed inte påverkas av villkoren en BLK uppfyller.

En BLK tar precis som en latinsk kvadrat hänsyn till placeringen av element på så vis att varje element aldrig kan placeras i samma rad eller kolumn mer än en gång. Modellen kan därför också med fördel användas vid experimentella försök. Det som skiljer de två modellerna åt är att en BLK även tar hänsyn till effekten ett element kan ha på nästkommande element. Detta görs genom att eliminiera möjligheten att två element följer varandra i samma ordning mer än en gång.

I detta arbete väljer vi att enbart studera fallet där ett riktat digram får förekomma exakt en gång radvis, men det finns även fall där ett riktat digram får förekomma exakt en gång både radvis och kolumnvis. I artikeln “Latin Squares Which Contain No Repeated Digrams” [3] studerar Edgar N. Gilbert just det sistnämnda fallet. Några av resultaten diskuteras i delavsnitt 4.2.1.

En BLK kan se ut på många sätt och vi kan ändra en BLK så att den till synes verkar vara en helt annan. Vi kollar på BLK:n i figur 1.2 som exempel. Låter vi rad 1 och rad 2 byta plats med varandra fås en ny BLK, trots att det enda vi gjorde vara att byta plats på två rader. För att urskilja vilka BLK:er som verkligen är distinkt olika väljer vi därför att ordna dem på

(12)

standard-form. Det vill säga, om två BLK:er av samma ordning på standardform inte är identiska är de distinkt olika.

Definition 1.2.3. En BLK på standardform är en BLK där elementen i första raden och första kolumnen är växande, se figur 1.2. Vi definierar

Bsn:= {B : B är en BLK av ordning n på standardform} som mängden av alla BLK:er av ordning n på standardform. Sats 1.2.1. Antalet BLK:er av ordning n ges av

|Bn| = n!(n − 1)!|Bsn|.

Bevis. Vi börjar med att visa hur elementen i första raden kan ordnas. Efter-som varje rad innehåller n element finns det n! olika sätt permutera dem, varav ett av dem är i stigande ordning. Nu vill vi visa att en permutation av elementen inte förstör BLK-egenskaperna. Enligt lemma 4.1.1 räcker det med att vi visar detta för en transposition. Låt B vara en BLK. Då innehåller B de riktade digrammen (a, b) och (b, a) sådana att a 6= b. Vidare låter vi τ = (a b)vara en transposition och B0vara den matris som fås då τ verkar på elementen i B. Då innehåller även B0 de riktade digrammen (τ(a), τ(b)) =

(b, a) och (τ(b), τ(a)) = (a, b), vilket betyder att B0 är en BLK. Slutligen visar vi hur vi kan ordna elementen i första kolumnen. Då första elementet redan är på plats räcker det med att permutera resterande rader, vilket kan göras på (n − 1)! sätt, varav ett av dem är i stigande ordning. Att detta bibehåller BLK-egenskaperna är trivialt. Varje BLK kan alltså ordnas om på n!(n − 1)! olika sätt.

1.3

Semi-balanserad latinsk kvadrat

Definition 1.3.1. En semi-balanserad latinsk kvadrat (SBLK) av ordning n är en latinsk kvadrat av samma ordning med villkoret att varje distinkt oriktat digram i matrisen förekommer exakt två gånger.

  1 2 3 2 3 1 3 1 2  

Figur 1.3: Exempel på en semi-balanserad latinsk kvadrat av ordning 3. Vi definierar

(13)

som mängden av alla SBLK:er av ordning n, och

Ssn:= {S : Sär en SBLK av ordning n på standardform} som mängden av alla SBLK:er av ordning n på standardform.

Anmärkning 1.3.1. Det gäller att Bn⊆ Sn och, mer specifikt, Bsn⊆ Ssn.

En SBLK har samma villkor som en latinsk kvadrat och kan därför också användas som modell för experimentella försök. Likt en BLK tar den även viss hänsyn till digrammen som uppstår i matrisen. Det som skiljer model-lerna åt är att en SBLK tillåter ett oriktat digram att förekomma två gånger istället för att ett riktat digram förekommer en gång.

I det här arbetet kommer vi studera olika sätt att generera en BLK. Vi kommer först introducera en metod där en SBLK speglas för att skapa en BLK av jämn ordning. Längre fram kommer vi även kolla på hur en BLK kan genereras med hjälp av att låta färger representera dess element för att sedan ordna färgerna på ett utvalt sätt. Vidare kommer vi utforska representation och uppbyggnad av BLK:er. Vi lär oss om hur en BLK kan representeras med hjälp av grafer, men även genom de permutationer som uppstår mellan kolumnerna. Slutligen använder vi oss av varianstester för att undersöka hur väl en BLK presterar i jämförelse med andra vanliga modeller inom experimentella försök.

(14)

Kapitel 2

Speglingsmetoden och

färgkartor

Till en början kommer vi studera en metod med syfte att skapa en BLK av jämn ordning. Det kan låta som en enkel uppgift, men sanningen är att det kan vara otroligt svårt och tidskrävande att från grunden skapa en BLK utan att ha en strategi att utgå ifrån. Metoden som detta kapitel kommer beskriva går ut på att bryta ner problemet till ett mindre problem som vi sedan kan bygga vidare på. På så vis kommer vi kunna skapa oss en mall att gå efter när vi placerar ut element. Vi kommer längre fram i arbetet även kunna bevisa att det existerar SBLK:er av ordning n för alla n ∈ N, detta resultat kan vara intressant att känna till för metoden vi snart kommer fördjupa oss i.

2.1

Speglingsmetoden

Med en SBLK på standardform av ordning n kan vi generera en BLK av ord-ning 2n genom en metod vi kallar speglingsmetoden. Innan vi kan introducera speglingsmetoden krävs att vi först definierar en ny funktion som kommer vara till vår hjälp.

Definition 2.1.1. Låt S ∈ Sn och låt d vara en delare till n med k = nd.

En k-färgning av Nn är en surjektiv funktion

γk: Nn→ Nd,

sådan att |γ−1

k (m)| = k, för alla m ∈ Nd. Vidare är en k-färgning av S en

surjektiv funktion

γS : N2n→ Nn,

(15)

Figur 2.1: Uppbyggnad av matrisen A.

Notera i definition 2.1.1 att k är lika för samtliga färger. Nedan beskrivs speglingsmetoden stegvis. Se även exempel 2.1.1 där vi visar hur en SBLK av ordning 3 genererar en BLK av ordning 6.

1. Låt S vara en SBLK på standardform av ordning n. Låt även γn(s) = s

vara en 1-färgning av Nn som vi utökar till en 1-färgning av S genom

γS(i, j) = γ1(S(i, j)). Låt nu γA1(i, j) = γS(i, j), för i, j ∈ Nn. Vi

skapar på så vis en matris A1 vars färger representerar elementen i S. 2. Låt nu γA(i, j) = (A1) γA(i, 2n + 1 − j) = (A2) γA(2n + 1 − i, j) = (A3) γA(2n + 1 − i, 2n + 1 − j) = γA1(i, j), (A4) för 1 ≤ i, j ≤ n.

Då fås matrisen A i figur 2.1, där A1 är 1-färgningen av S skapad i steg 1. A1 speglas sedan vertikalt för att få A2, horisontellt för att få A3 och slutligen både horisontellt och vertikalt för att få A4.

3. Genom att placera ut elementen 1, 2, 3, ..., 2n i första raden fås impli-cit en 2-färgning av N2n. Placera även ut elementen i första kolumnen

i växande ordning och elementen i sista raden och sista kolumnen i fallande ordning. Resterande element i A placeras ut enligt begräns-ningarna givna av γ−1

2 (m) = {a, b} för varje m ∈ Nn och a, b ∈ N2n.

Notera att varje färg tillhör två element och att vi därför måste ta hän-syn till villkoret att varje riktat digram får förekomma endast en gång när vi väljer vilket värde av {a, b} som placeras på vilken position.

(16)

När vi på detta sätt placerat ett element på varje position i A fås att ele-menten i A skapar en BLK av ordning 2n. En BLK genererad av en SBLK ge-nom speglingsmetoden kallar vi en axelsymmetrisk balanserad latinsk kvadrat (ABLK). Det följer även att alla ABLK:er skapade genom speglingsmetoden är på standardform. Vi definierar även

Asn:= {A : Aär en ABLK av ordning n på standardform.} som mängden av alla ABLK:er av ordning n på standardform.

  1 2 3 2 3 1 3 1 2   (a) SBLK S ∈ Ss 3. (b) A1 av ordning 3. (c) A av ordning 6. Figur 2.2: S används för att skapa en matris A med speglingsmetoden.

Exempel 2.1.1. Låt S vara den SBLK av ordning 3 definierad i figur 2.2a, med speglingsmetoden kan vi då generera en ABLK av ordning 6 genom att följa stegen:

1. Låt γ1(1) = blå, γ1(2) =lila samt γ1(3) =grön vara en 1-färgning av

S. Låt även γA1(i, j) = γS(i, j), för i, j ∈ N3. Då fås A1 av figur 2.2b.

2. Vi speglar A1 vertikalt för att skapa A2, horisontellt för att skapa A3 och slutligen både vertikalt och horisontellt för att skapa A4. Om vi placerar matriserna enligt figur 2.1 fås matrisen A av ordning 6 i figur 2.2c.

3. Vi placerar ut elementen 1, 2, 3, 4, 5, 6 i första raden i A och låter de då tilldelas färgerna i samma position. Vi kan även placera ut elementen i sista raden, samt första och sista kolumnen i A. Då får vi den matris definierad i figur 2.3a. Genom att placera ut element enligt γ−1

1 (blå) =

{1, 6}, γ1−1(lila) = {2, 5} samt γ1−1(grön) = {3, 4} och med hänsyn till att varje riktat digram endast får förekomma en gång är ett av resultaten vi kan uppnå matrisen i figur 2.3b. Elementen i A skapar då en ABLK av ordning 6.

Speglingsmetoden har givit oss ett alternativt sätt att bygga upp en BLK. Metoden kan vara tidskrävande för stora n då steg 3 kräver att vi måste testa oss fram för att se vilka element som uppfyller digramvillkoret. Färgerna i matrisen A fungerar endast som en mall och ett hjälpmedel för att snabbare kunna eliminiera några av de omöjliga placeringarna för att garantera att resultatet blir en ABLK.

(17)

(a) Ordnad första och sista rad och kolumn i A.

(b) Utplacerade element i A ska-par en ABLK av ordning 6.

Figur 2.3: Med färgerna i A kan vi placera ut element för att skapa en ABLK.

Sats 2.1.1. Antalet ABLK:er på standardform av ordning 2n som kan gene-reras av en SBLK på standardform av ordning n ges av 2(n−12 ), för n ≥ 2.

Figur 2.4: Det rödmarkerade, bestämda digrammet (a0, b0)i andra

kvadran-ten av B speglas över hela B och bestämmer elemenkvadran-ten i de speglade färg-digrammen.

Bevis. Låt S vara en SBLK av ordning n och B vara den matris av ordning 2nskapad av S genom att följa steg 1 − 2 i speglingsmetoden. Placera sedan ut elementen 1, 2, . . . , 2n i första raden och kolumnen i B i stigande ordning. Låt varje element tilldelas en färg i samma position, vi får alltså implicit en 2-färgning av N2n. Då första raden i B består av n färger vilka blir tilldelade

2nelement fås att varje färg m har tilldelats två element ur N2n.

För m ∈ Nn, låt m0 definiera det ena värdet i γ2−1(m) och m1 definiera

(18)

För färgerna a och b och ett digram (a0, b0)som är bestämt i kvadranten

A1 i B fås tack vare symmetrin att digrammet (a0, b0) avgör vilka element

som bestäms i de speglade färgdigrammen i resterande kvadranter, se figur 2.4. Vi kan därför begränsa oss i vårt bevis till A1.

Från de n distinkta färgerna kan vi skapa ett färgdigram genom att välja ut två stycken färger och para ihop dessa. Totalt fås alltså n

2



oriktade färgdigram i kvadranten.

I första raden av kvadranten har vi n utplacerade element. Mellan dessa förekommer det n − 1 kopplingar. Vi har då totalt n−1

1  färgdigram med bestämda element. Av våra totalt n 2 

färgdigram i kvadranten har vi n 2 − n−1 1  = n−1 2  oriktade färgdigram utan bestämda element.

Då A1 är genererad av en SBLK vet vi att varje oriktat färgdigram förekommer exakt två gånger. Låt säga att vi redan har ett bestämt digram (a0, b0), som i figur 2.4. Andra gången färgdigrammet (a, b) förekommer i

kvadranten kan vi då se att om det första elementet i digrammet bestäms till a0följer att det andra elementet måste vara b1för att villkoren för en BLK

ska kunna uppfyllas. Lika gäller om första elementet bestäms till a1måste det

andra elementet vara b0. Detta följer av speglingen som kan ses i figur 2.4, där

kan vi se att digram (a1, b1)bestäms av speglingen i A3. För varje färgdigram

med ett bestämt första element finns då två alternativ. Vi kan antingen välja det andra elementet fritt från det talpar som tillhör färgen. Detta gäller om det är första gången vi placerar ut element i just det färgdigrammet. Om det är andra gången just det färgdigrammet ska bestämmas så har det andra elementet redan avgjorts på grund av symmetrin.

Eftersom vi har bestämt elementen i första kolumnen i B följer att det första färgdigrammet (a, b) i varje rad redan har ett bestämt första element. Detta bestämmer då vilka alternativ vi har för det andra elementet, och när det elementet väl är bestämt till b0 eller b1 leder det till att det näst följande

färgdigrammet (b, c) då har ett bestämt första element. Detta mönster leder slutligen till att alla färgdigram alltid kommer ha ett bestämt första element som avgör vilka möjligheter vi har för vårt andra element.

Vi kan därför konstatera att för de n−1 2



färgdigram med obestämda element har vi två möjliga alternativ. Totalt fås då 2(n−12 ) distinkta sätt vi själva kan välja elementen i B så att de uppfyller villkoren för en BLK av ordning 2n om vi använder oss av speglingsmetoden.

Korollarium 2.1.1. Det totala antalet ABLK:er av ordning 2n ges av |As2n| = |Ssn| · 2(n−12 )

Bevis. Då varje SBLK S ∈ Ssn är unik genererar de med spegelmetoden även en unik matris A. Det uppstår därför inte någon överlappning där en ABLK genererad av en SBLK är identisk med en ABLK genererad av en

(19)

annan SBLK. Med sats 2.1.1 är det då trivialt att det totala antalet ABLK av ordning 2n fås genom att multiplicera |Ss

n|med 2(

n−1 2 )

Med Matlabkoden ABLS [A.5] kan vi generera ABLK:er av ordning n = 2k med hjälp av speglingsmetoden, för k ∈ N.

En justerad kod gen_ABLS_spec [A.6] finns även tillgänglig, där vi be-gränsar oss till specialfallet då en ABLK är symmetrisk längs diagonalen i dess fyra kvadranter. För höga värden på n kan ABLS_spec enkelt generera en ABLK, men att generera fler än en är betydligt mer tidskrävande.

2.2

Representera en matris med färger

I speglingsmetoden valde vi att skapa en matris A som endast bestod av färger för att sedan kunna använda denna till att skapa en BLK. Att repre-sentera en matris med färger har hjälpt oss att lättare se mönster och förstå uppbyggnaden av en BLK. Dessa matriser där elementen endast består av färger kallar vi färgkartor.

Definition 2.2.1. Låt M vara en n × n-matris och k vara en delare till n. För en färgning γM(i, j) = γk(M(i, j))för någon k-färgning γkfås en matris

vars element är färger som representerar elementen i M. Matrisen kallas en färgkarta över M.

Exempel 2.2.1. Låt B vara den BLK definierad i figur 2.5a. Låt sedan elementen i B färgas enligt en 2-färgning sådan att γ−1

2 (blå) = {1, 6},

γ2−1(lila) = {2, 5}, samt γ2−1(grön) = {3, 4}. Genom γB(i, j) = γ2(B(i, j))

fås då färgkartan i figur 2.5c över B.

(a) BLK B ∈ Bs6. (b) Tillvalda färger. (c) Färgkartan för B. Figur 2.5: Exempel på färgkarta tillhörande en BLK av ordning 6. I speglingsmetoden är matrisen A en färgkarta som kommer representera den ABLK vi bildar. I metoden skapas alltså färgkartan innan vi ens vet hur ABLK:n kommer att se ut. Metoden kan däremot endast bygga upp en BLK av jämn ordning. Frågan vi ställer oss då är om vi kan använda en färgkarta för att skapa en BLK av udda ordning?

(20)

Det finns ingen naturlig uppdelning för elementen på så vis som det finns för ett jämnt antal element, där vi alltid kan välja att parvis tilldela elementen en färg. Udda heltal har dessvärre ingen sådan gemensam delare. Att gå in djupare på hur färgkartor för en BLK av udda ordning ser ut blir enklare om vi först kan hitta andra sätt att representera en BLK på. Genom att få en bättre förståelse för uppbyggnaden av en BLK kan vi lättare se mönster för hur vi kan dela upp elementen. I kapitel 4 undersöker vi hur vi kan representera en BLK genom att se på dess permutationer som uppstår mellan kolumnerna. Detta kommer sedan leda oss vidare in på hur en färgkarta av udda ordning kan ge upphov till en BLK, något vi kollar närmare på i kapitel 5.

(21)

Kapitel 3

Grafrepresentation

I detta kapitel gör vi en kort avstickare för att studera en annorlunda re-presentation av BLK:er och SBLK:er. Vi ska kolla på hur en riktad graf kan representera en matris och hur Hamiltonstigar kan hjälpa oss att förstå upp-byggnaden av en BLK eller SBLK. Innan det kommer vi först repetera några av grunderna inom grafteori.

3.1

Grafteori

Definition 3.1.1. ([1], sida 158). En graf G består av en mängd V , vars element kallas noder, och en mängd E av talpar (x, y) : x, y ∈ V , där dessa talpar kallas kanter. Vi skriver G = (V, E) och kallar V för nodmängden och Eför kantmängden. Om G är oriktad visualiseras kanten (x, y) med ett streck från nod x till nod y. Om G är riktad visualiseras samma kant med en pil från nod x till nod y. Två noder sägs vara närliggande om de sammanbinds av en kant.

Exempel 3.1.1. Den riktade grafen G = (V, E) sådan att V = {a, b, c, d} och E = {(a, b), (a, c), (a, d), (b, c)} visas i figur 3.1.

Definition 3.1.2. ([1], sida 164). En vandring i en graf G = (V, E) är en sekvens av kanter, (ei)k−1i=1, och en sekvens noder, (vi)ki=1, sådana att noderna

(22)

vj och vj+1, 1 ≤ j ≤ k − 1 är närliggande. Om alla noder i sekvensen är

distinkta kallas vandringen för en stig. Om stigen täcker alla noder i G kallas den för en Hamiltonstig. Två stigar kallas kantdisjunkta om de inte innehåller några gemensamma kanter.

Definition 3.1.3. Låt G = (V, E) vara en graf. En k-färgläggning av E är processen där varje kant tilldelas en av k ∈ N färger, sådant att alla k färger används.

3.2

Kopplingen mellan BLK:er och grafer

Att använda grafer för att representera matriser är inget nytt, men i det här avsnittet studerar vi hur Hamiltonstigar i en graf kan representera just en BLK eller SBLK. För att grafen ska kunna användas på detta sätt krävs först att den uppfyller några villkor.

Definition 3.2.1. Låt G = (V, E) vara en riktad graf med nodmängd V = Nn och kantmängd E = {(x, y) : x, y ∈ V, x 6= y}. Låt även följande villkor

vara uppfyllda:

1. Det existerar en (n − 1)-färgläggning av E, sådan att varje nod har exakt en in- och en utkant av varje färg.

2. Det existerar n kantdisjunkta Hamiltonstigar h1, . . . , hn, där

kantfärg-erna följer samma färgsekvens.

Vi kallar då sekvensen av Hamiltonstigar, (hi)ni=1, för en BLK:s

grafrepre-sentation. Om vi istället låter kanterna i G vara oriktade fås på samma sätt grafrepresentationen för en SBLK, om samma villkor uppfylls, med bivillko-ret att alla Hamiltonstigar börjar i olika hörn.

För en graf G som uppfyller dessa villkor representerar alltså varje Ha-miltonstig en rad i en BLK. När grafen är riktad representerar dess kanter riktade digram. På samma sätt representerar kanterna oriktade digram, då grafen är oriktad.

Exempel 3.2.1. Om vi följer färgsekvensen (röd, grön, blå) i grafen i figur 3.2a, erhålls de fyra Hamiltonstigar som krävs för att representera 4! olika BLK:er av ordning 4. Om den i:te Hamiltonstigen börjar i den i:te noden fås den BLK på standardform som visas i figur 3.2b.

Exempel 3.2.2. Följer vi färgsekvensen (röd, grön) i grafen i figur 3.3a, får vi de tre Hamiltonstigar som krävs för att representera 3! olika SBLK:er av ordning 3. Om den i:te Hamiltonstigen börjar i den i:te noden fås den BLK på standardform som visas i figur 3.3b.

(23)

(a) Om vi följer färgsekvensen röd, grön, blå i grafen erhålls BLK:er av ordning 4.

(b) Om Hamiltonstigarna i gra-fen börjar från noderna i stigande ordning erhålls BLK:n på stan-dardform.

Figur 3.2: Exempel på en graf med färglagda Hamiltonstigar som krävs för att representera ett antal BLK:er av ordning 4.

(a) Om vi följer färgsekvensen röd, grön i grafen erhålls SBLK:er av ordning 3.

(b) Hamiltonstigarna i grafen börjar från noderna i stigande ordning, då erhålls SBLK:n på standardform.

Figur 3.3: Exempel på en graf med färglagda Hamiltonstigar som krävs för att representera ett antal SBLK:er av ordning 3.

Problemet att hitta Hamiltonstigar i en godtycklig graf är generellt en tidskrävande uppgift. Man får i de allra flesta fallen utföra en uttömmande sökning av grafen. Grafrepresentationen har därför inte lett till några kon-kreta resultat i detta arbete, utan är mer en språngbräda till ämnet som tas upp härnäst.

(24)

Kapitel 4

Representation via

permutationer

Att se på en BLK:s grafrepresentation väckte idén till att undersöka vad som händer mellan två kolumner och de digram som uppstår. Vi kommer i det här kapitlet därför studera sambanden mellan kolumnerna via permutationer, och hur dessa kan representera en BLK.

4.1

Permutationer och gruppteori

Definition 4.1.1. ([4], sida 27). Låt X vara en mängd. En permutation på X är en bijektiv funktion π : X → X. Vi definierar även

S(X) := {π : π är en permutation på X},

vilket är mängden av alla permutationer på X. I vårt fall gäller alltid att X = Nn. Mängden av alla permutationer på Nn kallar vi Sn.

En permutation kan representeras på lite olika sätt, varav en populär representation är så kallad tvåradsnotation. Då vi vill studera permutationer av kolumner i BLK:er kommer vi ange dessa permutationer på kolumnform istället för radform.

Exempel 4.1.1. Låt π ∈ S4,sådant att

π =     1 2 2 4 3 3 4 1     =     2 4 1 2 4 1 3 3     . Alltså, π(1) = 2, π(2) = 4, π(3) = 3, π(4) = 1.

Som vi ser spelar inte radernas ordning någon roll. Vanligtvis vill vi ha raderna ordnade sådant att talen i första kolumnen är växande.

(25)

Definition 4.1.2. ([4], sida 28). Låt α, β ∈ Sn. Vi definierar då multiplika-tion av permutamultiplika-tioner via

α · β := β ◦ α,

det vill säga, vi utför permutation α före permutation β.

Ett mer sparsamt sätt att representera permutationer på är via cykel-notation. En permutation kan skrivas som en produkt utav en eller flera cykler.

Exempel 4.1.2. Vi fortsätter på exempel 4.1.1.

π =     1 2 2 4 3 3 4 1     = (1 2 4)(3) = (1 2 4).

Som vi ser kan π skrivas som en multiplikation av en 3-cykel och en 1-cykel. Cykler av längd ett brukar utelämnas.

Exempel 4.1.3. En 2-cykel kallas för en transposition. Ett exempel på en sådan är (2 4) ∈ S5.

Lemma 4.1.1. Varje permutation π ∈ Sn, n > 1, kan skrivas som en produkt

av transpositioner. Bevis. Se ([4], sida 39).

Exempel 4.1.4. Låt π = (1 4 2 3) ∈ S4. Då kan π exempelvis skrivas om

som π = (1 4)(1 2)(1 3). Det blir då uppenbart att, om man vill ordna om fyra föremål på ett visst sätt, så kan man byta plats på två av dem åt gången. Definition 4.1.3. ([4], sida 30). En grupp G = ( ˆG, ) är en mängd ˆG tillsammans med en kompositionsregel : ˆG × ˆG → ˆG, (a, b) 7→ a b som uppfyller följande axiom:

1. Existens av identitet: ∃e ∈ ˆG ∀a ∈ ˆG : a e = a = e a. 2. Existens av invers: ∀a ∈ ˆG ∃ba∈ ˆG : a ba= e = ba a.

3. Associativitet: ∀a, b, c ∈ ˆG : a (b c) = (a b) c.

Ordningen av G ges av antalet element i gruppen, vilket betecknas |G|. Det är vanligt att en grupp benämns med samma beteckning som mängden som ingår i gruppen, till exempel X = (X, ).

Exempel 4.1.5. En grupp som vi redan har stött på är Sn= (Sn, ·).

(26)

Definition 4.1.4. ([4], 40). Låt G = (G, ) vara en grupp och H ⊆ G. Då är H en delgrupp till G om H = (H, ) är en grupp. Detta skrivs H ≤ G. Definition 4.1.5. ([4], sida 48). Låt (G, ·) vara en grupp och a ∈ G. Då kallas hai := {am : m ∈ Z} ≤ G för den cykliska delgruppen genererad av a.

Den cykliska gruppen av ordning n betecknar vi Cn.

Anmärkning 4.1.1. Grupperna Cn = (Cn, ·) och Zn = (Zn, +) är isomorfa

med varandra. Den binära operationen är då addition modulo n, det vill säga

+ : Zn× Zn→ Zn, (a, b) 7→ a + b (mod n).

Det är ofta lättare att jobba med Zn än Cn, så hädanefter kommer vi göra

det när det känns lämpligt. När vi jobbar med Zn ska det vara underförstått

att, när vi exempelvis skriver a ≡ b så syftar vi på a ≡ b (mod n).

4.2

Kopplingen mellan BLK:er och permutationer

En BLK av ordning n kan representeras via de n − 1 permutationer en kolumnvektor genomgår för att skapa resterande kolumner i BLK:n.

Definition 4.2.1. Låt αk∈ Sn, k = 1, . . . , n − 1, sådant att

βk= k

Y

i=1

αi.

Vi kallar då sekvensen (αk)n−1k=1 för en BLK:s permutationsrepresentation, om

varje element x ∈ Nn avbildas på varje annat element y ∈ Nn, y 6= x, exakt

en gång av både permutationerna αk och βk.

I och med definition 4.2.1 kan vi se att det är permutationerna αk som

står för att digramvillkoret uppfylls, medan permutationerna βk står för att

radvillkoret uppfylls. Att kolumnvillkoret är uppfyllt är trivialt. En SBLK kan representeras på ett liknande sätt. Skillnaden nu när digrammen är orik-tade är att permutationerna αk får avbilda x ∈ Nn på y ∈ Nn, y 6= x två

gånger, men bara om y inte avbildas på x.

Exempel 4.2.1. Låt πi ∈ S6, i = 1, . . . , 5, sådant att

π1 = (1 2 4 6 5 3),

π2 = (1 4 5)(2 6 3),

π3 = (1 6)(2 5)(3 4),

π4 = (1 5 4)(2 3 6),

(27)

Då fås att (αi)5i=1= (π1, π4, π3, π2, π5) representerar BLK:n         1 2 3 4 5 6 2 4 1 6 3 5 3 1 5 2 6 4 4 6 2 5 1 3 5 3 6 1 4 2 6 5 4 3 2 1         ,

då det i detta fall visar sig att (βi)5i=1= (π1, π5, π2, π4, π3).

Anmärkning 4.2.1. Som vi kanske ser är exempel 4.2.1 ett ganska speciellt sådant. Både (αi)5i=1och (βi)5i=1innehåller samma permutationer. Det råkar

vara så att πi = π1i, vilket leder till att hπ1i = C6 ≤ S6.

Vi är snart redo att bevisa att BLK:er av ordning n existerar för alla jämna n ∈ N och att SBLK:er av ordning n existerar för alla n ∈ N. Till vår hjälp behöver vi först ta fram ett lemma. Vi kommer då enligt anmärkning 4.1.1 jobba med gruppen Zn istället för gruppen Cn, då dessa är isomorfa

med varandra och Zn är lättare att jobba med.

Lemma 4.2.1. Låt αi ∈ Zn, i = 1, . . . , n − 1, sådant att

αi ≡

(

i, om i är udda n − i, om i är jämnt utgör sekvensen (αi)n−1i=1. Låt vidare

βi ≡ i

X

j=1

αj, i = 1, . . . , n − 1

utgöra sekvensen (βi)n−1i=1. Då är

βi ≡

(

i+1

2 , om i är udda

n − 2i, om i är jämnt.

Bevis. Vi har att β1 ≡ α1 ≡ 1 och β2≡ α2+ β1 ≡ n − 1, och det är lätt att

inse att αi+2+ αi+1≡ ( 1, om i är udda n − 1, om i är jämnt. Då fås att

βi+2≡ αi+2+ αi+1+ βi ≡

(

βi+ 1, om i är udda

βi− 1, om i är jämnt

, det vill säga, β2k−1≡ k och β2k ≡ n − k, k ∈ N.

(28)

Sats 4.2.1. Det existerar BLK:er av ordning n, för alla jämna n ∈ N. Bevis. Låt (αi)n−1i=1 och (βi)n−1i=1 vara definierade enligt lemma 4.2.1. Vi vill

visa att (αi)n−1i=1 utgör permutationsrepresentationen för en BLK genom att

först visa att (αi)n−1i=1 uppfyller digramvillkoret, och sedan visa att (βi)n−1i=1

uppfyller radvillkoret.

1. Digramvillkoret är uppfyllt om permutationerna αi avbildar varje x ∈

Nn på varje annat y ∈ Nn exakt en gång. Då alla αi är element i Zn

räcker det att visa att dessa är distinkta. Eftersom n är jämnt, det vill säga n = 2k, k ∈ N, innehåller (αi)2k−1i=1 ett udda antal element. Då fås

att αi för udda i utgör den växande delsekvensen

(1, 3, 5, . . . , 2k − 5, 2k − 3, 2k − 1)

av udda tal, samtidigt som αi för jämna i utgör den avtagande

del-sekvensen

(2k − 2, 2k − 4, 2k − 6, . . . , 6, 4, 2)

av jämna tal. Som vi ser är alla dessa tal distinkta, vilket betyder att digramvillkoret är uppfyllt.

2. Radvillkoret är uppfyllt om permutationerna βi avbildar varje x ∈ Nn

på varje annat y ∈ Nnexakt en gång. Då alla βi är element i Znräcker

det att visa att dessa är distinkta. Eftersom n är jämnt, det vill säga n = 2k, k ∈ N, innehåller (βi)2k−1i=1 ett udda antal element. Då fås att

βi för udda i utgör den växande delsekvensen

(1, 2, 3, . . . , k − 2, k − 1, k),

samtidigt som βi för jämna i utgör den avtagande delsekvensen

(2k − 1, 2k − 2, 2k − 3, . . . , k + 3, k + 2, k + 1).

Som vi ser är alla dessa tal distinkta, vilket betyder att radvillkoret är uppfyllt.

Sats 4.2.2. Det existerar SBLK:er av ordning n, för alla n ∈ N.

Bevis. Eftersom Bn ⊆ Sn räcker det med att komplettera sats 4.2.1 med

att visa att SBLK:er av ordning n existerar för alla udda n ∈ N.

1. Digramvillkoret är detsamma som i sats 4.2.1, med skillnaden att om permutationerna αi inte avbildar vissa y ∈ Nnpå några andra x ∈ Nn,

så ska x avbildas på y exakt två gånger. Då alla αi är element i Zn

(29)

när udda, det vill säga n = 2k−1, k ∈ N, innehåller (αi)2k−2i=1 ett jämnt

antal element. Då fås att αi för udda i utgör den växande delsekvensen

(1, 3, 5, . . . , 2k − 5, 2k − 3)

av udda tal, samtidigt som αi för jämna i utgör den avtagande

del-sekvensen

(2k − 3, 2k − 5, . . . , 5, 3, 1),

som också den består av udda tal. Som vi ser förekommer alla tal två gånger, vilket betyder att digramvillkoret för en SBLK är uppfyllt. 2. Radvillkoret är uppfyllt om permutationerna βi avbildar varje x ∈ Nn

på varje annat y ∈ Nnexakt en gång. Då alla βi är element i Znräcker

det att visa att dessa är distinkta. Eftersom n är udda, det vill säga n = 2k − 1, k ∈ N, innehåller (βi)2k−2i=1 ett jämnt antal element. Då fås

att βi för udda i utgör den växande delsekvensen

(1, 2, 3, . . . , k − 3, k − 2, k − 1),

samtidigt som βi för jämna i utgör den avtagande delsekvensen

(2k − 2, 2k − 3, 2k − 4, . . . , k + 2, k + 1, k).

Som vi ser är alla dessa tal distinkta, vilket betyder att radvillkoret är uppfyllt.

I figur 4.1 visualiseras processen av skapandet av en BLK av ordning n = 2k, k ∈ N. Processen kan ses som att vi vill besöka alla 2k punkter (blå) på en cirkel, där vi bara får besöka varje punkt en gång. Detta görs genom att börja på en punkt, för att sedan ta 2k − 1 steg, där steglängden (rosa) ökar successivt från 1 till 2k −1 och man alternerar mellan att ta steg framåt och steg bakåt. Detta hade som sagt även fungerat för uppbyggnaden av en SBLK, då ordningen istället är n = 2k − 1, k ∈ N.

Anmärkning 4.2.2. Om man istället börjar med att ta ett steg bakåt, det vill säga, vi alternerar mellan att ta steg bakåt och steg framåt, så kommer αi ∈ Zn, i = 1, . . . , n − 1, sådant att

αi ≡

(

n − i, om i är udda i, om i är jämnt,

utgöra en sekvens (αi)n−1i=1 som representerar en BLK om n är jämnt,

eller en SBLK om n är udda. Denna representation ger upphov till mönstret i figur 4.2, vilket är ett väldigt snällt sådant.

Frågan vi ställer oss nu är, hur många olika sekvenser (αi)n−1i=1, αi ∈ Zn

(30)

Figur 4.1: Konstruktion av en BLK av ordning n = 2k, k ∈ N.      1 n 2 n − 1 3 n − 2 · · · 2 1 3 n 4 n − 1 · · · 3 2 4 1 5 n · · · ... ... ... ... ... ...     

Figur 4.2: Mall för uppbyggnad av BLK eller SBLK av ordning n.

4.2.1 Permutationer med distinkta differenser

I detta delavsnitt tar vi upp resultat från [3]. Där behandlas specialfallet där digramvillkoret även ska vara uppfyllt i kolumnerna. För att vara mer specifik så behandlas enbart så kallade additionskvadrater. I beviset till sats 1.1.1 används just en additionskvadrat för att visa på latinska kvadraters existens för alla n ≥ 2, det vill säga, L(i, j) ≡ i+j, då i, j ∈ Zn. I definitionen

som följer ges en mer generell definition av en additionskvadrat.

Definition 4.2.2. Låt α, β ∈ Sn. Vi kallar då L(i, j) ≡ α(j) + β(i) för en

additionskvadrat.

Sats 4.2.3. Antalet distinkta additionskvadrater av ordning n ges av n!((n − 1)!)2

Φ(n) ,

där Φ(n) ger antalet heltal d ∈ Nn−1 som är relativt prima med n och kallas

(31)

Bevis. Se [3].

Definition 4.2.3. Låt α ∈ Sn. Då kallas talen δj ≡ α(j + 1) − α(j), j = 1, . . . , n − 1 för differenserna av permutationen α. Vi kallar även (δj)n−1j=1

för en sekvens av differenser. Om alla n − 1 differenser är distinkta säger vi att α är en permutation med distinkta differenser, och att (δj)n−1j=1 är en

sekvens av distinkta differenser. Se koden seq_distinct_difference [A.10] för beräkning av sådana sekvenser.

Sats 4.2.4. I en additionskvadrat är alla horisontella digram distinkta, om och endast om kolumnpermutationen α ∈ Sn har distinkta differenser.

Sam-ma gäller för radpermutatationen β ∈ Sn och de vertikala digrammen. Bevis. Se [3].

Sats 4.2.5. En permutation α ∈ Sn med distinkta differenser existerar om

och endast om n är jämnt. Alla sådana permutationer uppfyller α(n) ≡ α(1) + 1

2n. Bevis. Se [3].

Definition 4.2.4. Vi låter Q(n) ange antalet permutationer i Sn med

di-stinkta differenser. Vidare låter vi

D(n) := Q(n) n

ange antalet sekvenser av distinkta differenser för dessa permutationer. Definition 4.2.5. Vi kallar en additionskvadrat med distinkta digram både horisontellt och vertikalt för en dubbelbalanserad latinsk kvadrat (DBLK). Vidare definierar vi

Bdn:= {B : B är en DBLK av ordning n} (4.1) som mängden av alla DBLK:er av ordning n.

Sats 4.2.6. Det finns exakt

|Bdn| = n!D(n)

2

Φ(n) DBLK:er av ordning n.

(32)

Rent intuitivt är det lätt att förstå att Bd

n ⊆ Bn. Frågan vi ställde oss

innan detta delavsnitt får sitt svar här. Antalet sekvenser (αi)n−1i=1, αi ∈ Zn

som representerar BLK:er ges nämligen av antalet sekvenser av distinkta differenser, D(n), då det enligt sats 4.2.4 visar sig att dessa (αi)n−1i=1 är just

sådana sekvenser. Eftersom vi i vårt speciallfall inte tar hänsyn till vertikala digram fås antalet BLK:er som härstammar från Zn via en modifikation av

resultatet i sats 4.2.6, nämligen

n!(n − 1)!D(n)

Φ(n) ,

där vi har dividerat med en faktor D(n) som står för antalet sekvenser av distinkta differenser i radpermutationen, och där vi har multiplicerat med en faktor (n − 1)! för att vi nu får permutera rad 2, . . . , n. Enligt sats 1.2.1 fås alltså

D(n) Φ(n)

sådana BLK:er av ordning n på standardform. Till följd av resultatet i sats 4.2.5 ser vi att det inte existerar några BLK:er av udda ordning som kan representeras av någon sekvens (αi)n−1i=1 sådan att αi ∈ Zn. För att

under-söka existens av BLK:er av udda ordning måste vi alltså hitta ett annat tillvägagångssätt.

(33)

Kapitel 5

Permutationer och färgkartor

Tidigare har vi begränsat oss till färgkartor tillhörande BLK:er av ordning n, när n är ett jämnt heltal. I det här kapitlet kommer vi även undersöka BLK:er av ordning n, då n är ett udda, sammansatt tal. Vi kollar även närmare på hur vi kan generera färgkartor för BLK:er genom att använda oss av dess permutationer. Matlabkoden permutation_finder [A.8] har använts för att ta fram BLK:ernas permutationsrepresentationer.

5.1

Färgkartor för BLK:er av sammansatta tal

Exempel 5.1.1. Låt B vara en BLK av ordning 9 definierad enligt figur 5.1a, med tillhörande permutationsrepresentation (αi)8i=1, αi∈ S9, där

α1 = (1 2 4 7 9 5)(3 6 8), α2 = (1 9 4)(2 3 7 6 5 8), α3 = (1 6 9 3 4 8)(2 5 7), α4 = (1 7 4 5 9 2)(3 8 6), α5 = (1 5 6)(2 8 4)(3 9 7), α6 = (1 3 2 9 8 5 4 6 7), α7 = (1 4 9)(2 6)(3 5)(7 8), α8 = (1 8 9 6 4 3)(2 7 5).

I figur 5.1b har vi valt att tilldela elementen i B färger enligt γ3−1(lila) = {1, 4, 9},

γ3−1(grön) = {2, 5, 7}, γ3−1(blå) = {3, 6, 8},

då 3-cyklerna (1 4 9), (1 9 4), (2 5 7), (2 7 5), (3 6 8) och (3 8 6) finns med i permutationsrepresentationen. I figur 5.1c ordnar vi raderna i B i grupper

(34)

om tre rader, på så vis att tre rader med samma färgmönster grupperas med varandra. Rader med samma färgmönster slås ihop till en rad i figur 5.1d. Lägg märke till följande vad det gäller de färgdigram som uppstår:

• Färgdigrammen (lila, lila), (grön, grön) och (blå, blå) förekommer två gånger vardera, sådant att två digram av samma färg inte förekommer direkt efter varandra.

• Färgdigrammen (lila, grön), (grön, lila), (lila, blå), (blå, lila), (grön, blå) och (blå, grön) förekommer tre gånger vardera.

(a) B ∈ Bs 9.

(b) Färgläggning av elementen i B, där ele-menten 1, 4, 9 färgats lila, 2, 5, 7 färgats grönt och 3, 6, 8 färgats blått av funktionen γ3.

Figur 5.1: Här ser vi BLK:n B som definieras i exempel 5.1.1, och hur den färgläggs.

(35)

(c) Raderna omordnas på så vis att rader med samma färgmönster följer varandra.

(d) Den färgkarta som fås då rader med sam-ma färgmönster i slås ihop.

Figur 5.1: Detta är fortsättningen på figuren till exempel 5.1.1. Här ser vi hur raderna omordnas för att skapa en färgkarta.

5.2

En färgkartas villkor

Exempel 5.1.1 ger oss en bra inblick i vilka villkor som måste gälla för en färgkarta tillhörande en godtycklig BLK.

Definition 5.2.1. Vi definierar

M := {m : mär en distinkt färg} som mängden av distinkta färger.

Låt n = kd, sådant att n ∈ N, där k = |γ−1

k (m)| är en delare till n,

och d = |M|. Låt vidare F ∈ Md×n vara en färgkarta. Villkoren som F ska

uppfylla för att tillhöra en BLK ges av följande:

• För alla m ∈ M finns det k − 1 färgdigram i F på formen (m, m). Detta beror på att alla element inom en färg måste förekomma både före och efter resterande element inom samma färg.

• Om vi vet att det inte existerar någon BLK av ordning k leder detta till att maximalt k−2 färgdigram på formen (m, m) får förekomma i direkt

(36)

följd i F . Om vi däremot vet att det existerar en BLK av ordning k, eller om vi inte med säkerhet kan motbevisa dess existens, leder detta till att alla k − 1 färgdigram på formen (m, m) får förekomma i direkt följd.

• För alla m1, m2 ∈ M, m1 6= m2 finns det k färgdigram på formen

(m1, m2) i F . Detta beror på att alla element inom en färg måste

förekomma både före och efter alla element inom de andra färgerna. Anmärkning 5.2.1. Några värden på delaren k och ordningen n är anmärk-ningsvärda:

• Om k = 1 är problemet att hitta färgkartan F detsamma som att hitta en BLK.

• Om k = n är det trivialt att hitta färgkartan F , men problemet att hitta BLK:er är lika svårt som innan.

• Om n är ett primtal finns det uppenbarligen inga andra delare än 1 och n.

I koden pattern [A.11] tas sådana färgkartor fram. Dock är det inte givet att alla färgkartor kan generera BLK:er. Den kod som genererar, eller snarare försöker generera BLK:er utifrån färgkartorna är BLS_from_pattern [A.12]. Koden BLS_spec [A.13] använder föregående kod för att söka efter BLK:er i alla färgkartor för den angivna delaren, och sparar alla dessa BLK:er i en lista.

Det har visat sig att vissa BLK:er kan fås från färgkartor som tillhör olika delare, det vill säga, då n = k1d1 = k2d2 kan vissa BLK:er skapas både från

färgkartan F1∈ Md1×n och från färgkartan F2 ∈ Md2×n. Samtidigt kan det

finnas BLK:er som bara tillhör en färgkarta F3 ∈ Md1×noch som inte tillhör

någon färgkarta F4∈ Md2×n.

Exempel 5.2.1. Låt B vara en BLK av ordning 10 sådan att

B =                 1 2 3 4 5 6 7 8 9 10 2 5 7 10 3 8 1 4 6 9 3 7 2 6 1 10 5 9 4 8 4 10 6 3 9 2 8 5 1 7 5 3 1 9 7 4 2 10 8 6 6 8 10 2 4 7 9 1 3 5 7 1 5 8 2 9 3 6 10 4 8 4 9 5 10 1 6 2 7 3 9 6 4 1 8 3 10 7 5 2 10 9 8 7 6 5 4 3 2 1                 ,

(37)

med tillhörande permutationsrepresentation (αi)9i=1, αi ∈ S10, där α1= (1 2 5 3 7)(4 10 9 6 8), α2= (1 5 7 2 3)(4 9 8 10 6), α3= (1 9 5 8 7 10 2 6 3 4), α4= (1 8 2 4 5 10 3 9 7 6), α5= (1 10)(2 9)(3 8)(4 7)(5 6), α6= (1 6 7 9 3 10 5 4 2 8), α7= (1 4 3 6 2 10 7 8 5 9), α8= (1 3 2 7 5)(4 6 10 8 9), α9= (1 7 3 5 2)(4 8 6 9 10).

Då vi väljer att färga elementen i B enligt

γ5−1(lila) = {1, 2, 3, 5, 7}, γ5−1(grön) = {4, 6, 8, 9, 10},

fås färgkartan F1 ∈ M2×10 som vi ser i figur 5.2a. På liknande sätt fås

färgkartan F2 ∈ M5×10som vi ser i figur 5.2b, då vi väljer att färga elementen

i B enligt γ−12 (lila) = {1, 10}, γ−12 (grön) = {2, 9}, γ−12 (blå) = {3, 8}, γ2−1(rosa) = {4, 7}, γ2−1(röd) = {5, 6}.

För BLK:er av ordning 10 har vi med Matlab tagit fram 232 BLK:er från de färgkartor som finns i M2×10, då delaren k = 5, och 392 BLK:er

från de färgkartor som finns i M5×10, då delaren k = 2. Via Matlabkoden

BLS_equal [A.4] beräknar vi att det finns 88 BLK:er som tillhör båda dessa mängder av BLK:er, vilket betyder att det finns 232 + 392 − 88 = 536 som tillhör någon av dessa mängder.

Exempel 5.2.2. Låt B vara en BLK av ordning 15 och F ∈ M3×15 dess färgkarta, båda definierade enligt figur 5.3, med tillhörande

(38)

permutations-(a) Färgkartan F1 ∈ M2×10, där elementen

1, 2, 3, 5, 7 färgats lila och 4, 6, 8, 9, 10 färgats grönt av funktionen γ5.

(b) Färgkartan F2 ∈ M5×10, där elementen

1, 10 färgats lila, 2, 9 färgats grönt, 3, 8 färgats blått, 4, 7 färgats rosa och 5, 6 färgats rött av funktionen γ2.

Figur 5.2: Här ser vi två olika färgkartor som tillhör samma BLK B, defini-erad i exempel 5.2.1. representation (αi)14i=1, αi ∈ S15, där α1 = (1 2 6 5 3)(4 10 12 9 8)(7 11 13 15 14), α2 = (1 5 2 3 6)(4 11 10 7 12 14 9 15 8 13), α3 = (1 8 11 6 12 15 3 4 7 2 9 13 5 10 14), α4 = (1 9)(2 12)(3 8)(4 5)(6 10)(7 15 11 14 13), α5 = (1 3 5 6 2)(4 15 12 11 8 14 10 13 9 7), α6 = (1 15 6 7 3 13 2 14 5 11)(4 12 8 10 9), α7 = (1 13 12 6 14 4 3 11 9 2 15 10 5 7 8), α8 = (1 14 2 7 6 11 5 13 3 15)(4 8 9 12 10), α9 = (1 7)(2 11)(3 14)(4 9 10 8 12)(5 15)(6 13), α10= (1 4 13)(2 8 15)(3 10 11)(5 12 7)(6 9 14), α11= (1 11 12)(2 13 10)(3 7 9)(4 6 15)(5 14 8), α12= (1 6 3 2 5)(4 14 12 13 8 7 10 15 9 11), α13= (1 10)(2 4)(3 12)(5 9)(6 8)(7 13 14 11 15), α14= (1 12 5 8 2 10 3 9 6 4)(7 14 15 13 11),

(39)

och där färgläggningen sker enligt

γ5−1(lila) = {1, 2, 3, 5, 6}, γ5−1(grön) = {4, 8, 9, 10, 12},

γ5−1(blå) = {7, 11, 13, 14, 15}.

Figur 5.3: BLK:n B ∈ B15 och dess färgkarta F ∈ M3×15, där elementen

1, 2, 3, 5, 6färgats lila, 4, 8, 9, 10, 12 färgats grönt och 7, 11, 13, 14, 15 färgats blått av funktionen γ5

Någonting som alla BLK:er vi har sett hittills verkar uppfylla är att, om det för en BLK av ordning n = pd där delaren p är ett primtal, existerar en färgkarta F ∈ Md×n, så tillhör permutationerna som uppstår inom en färg

gruppen Cp. Om vi kollar på exempel 5.2.2 och låter α = (1 2 6 5 3), β =

(4 10 12 9 8)och γ = (7 11 13 15 14) ser vi att cyklerna

α = (1 2 6 5 3), β = (4 10 12 9 8), γ = (7 11 13 15 14), α2 = (1 6 3 2 5), β2 = (4 12 8 10 9), γ2 = (7 13 14 11 15), α3 = (1 5 2 3 6), β3 = (4 9 10 8 12), γ3 = (7 15 11 14 13), α4 = (1 3 5 6 2), β4 = (4 8 9 12 10), γ4 = (7 14 15 13 11), finns med i permutationsrepresentationen av BLK:n, precis där färgdigram-men som håller sig inom en och samma färg förekommer. Det går inte att hitta någon färgkarta tillhörande samma BLK för delaren 3 på samma vis, då permutationsrepresentationen inte innehåller de 3-cykler som krävs.

(40)

Kapitel 6

Varians

6.1

Varianstester

Även om en BLK låter som en bra modell i teorin, vill vi såklart även kunna se att den ger oss ett bättre resultat än andra vanliga modeller inom försöks-testning. Ett tillvägagångssätt är att beräkna variansen för resultaten vi får av att använda en BLK.

Definition 6.1.1. För en observation x med n observationsvärden fås medel-värdet ¯xav ¯ x = 1 n n X i=1 xi. Då fås även stickprovsvariansen av x av V (x) = 1 n − 1 n X i=1 (xi− ¯x)2.

V (x) är då ett mått på hur mycket uppsättningen är utspridd kring medel-värdet.

En låg varians tyder på att observationsvärdena befinner sig relativt nä-ra medelvärdet. En hög varians tyder på att varje observationsvärde inte nödvändigtvis befinner sig i närheten av medelvärdet.

För att testa om egenskaperna hos en BLK är optimala jämför vi varian-sen mellan tre olika modeller som kan användas inom experimentella försök:

1. En BLK B av ordning n.

2. En latinsk kvadrat L av ordning n.

3. En n × n-matris M vars element radvis är ordnade i storleksordning 1, 2, 3, . . . , n.

Varje matris är då en modell för den turordning vi utför våra försök. Varje element representerar ett försök och varje rad är en försöksomgång där varje enskilt försök uförs exakt en gång.

(41)

6.1.1 Algoritm för varianstest

För att jämföra varianserna i resultaten mellan B, L och M använder vi Matlabfunktionen var_test [A.2].

En iteration startar med att tre n × n-matriser skapas vars element re-presenterar resultaten av varje enskilt försök från tillhörande modell. Varje kolumn i resultatmatriserna kommer då representera varje enskilt testobjekt och varje rad kommer representera varje enskild testomgång. Vi utför alltså ntester på n objekt.

Därefter skapas två typer av påfrestningar som kan uppstå i testförsöken. Först skapas col_effect, en vektor vars element slumpvis tilldelas ett tal mellan [0, 2]. Vektorn används för att bestämma hur resultatet påverkas av placeringen ett försök har kolumnvis. Element col_effect(i) avgör då hur resultatet från försöken som enligt modellerna B, L och M är placerade i kolumn i påverkas. Om exempelvis col_effect(3) = 0,7 skulle det inne-bära att varje test som har positionen i den tredje kolumnen i modellerna får sitt resultat nerdraget till 70 % av sitt sanna värde. Resultatet skulle alltså påverkas negativt av att försöket är det tredje försöket som utförs.

Den andra påfrestningen kallar vi seq_effect. Likt col_effect tilldelas elementen slumpvis ett tal mellan [0, 2]. Elementen representerar den effekt varje försök i har på det näst följande försöket i + 1, för 1 ≤ i ≤ n − 1. Det vill säga, om seq_effect(5) = 1,2 betyder det att alla element som enligt modellerna följs av element 5 får sitt resultat uppdraget till 120 % av sitt sanna värde. Resultatet skulle alltså påverkas positivt av att försöket utförs direkt efter att försök 5 utförts.

Vektorerna col_effect och seq_effect implementeras i resultatmatri-serna vilket ger oss ett procentuellt värde på hur varje påfrestning har på-verkat resultatet.

Notera den position vi placerar varje påfrestning i resultatmatriserna. Vi sorterar kolumnerna i resultatmatriserna sådana att varje kolumn är en ko-lumnvektor innehållande varje resultat för ett och samma testobjekt. Alltså fås exempelvis att res_L(3,5) skulle motsvara den påfrestningen testobjekt 5 utsätts för i testomgång 3.

Ett medelvärde för varje kolumn av resultatmatriserna beräknas med funktionen mean, vilket då är medelvärdet för resultaten av varje försök. Vi-dare kan vi även beräkna stickprovsvariansen med funktionen var för medel-värdena. Om variansen är hög innebär det att resultaten är väl utspridda kring medelvärdet av resultaten. Vi har då ett fall där de olika resultaten har påverkats olika mycket och vi kan därför inte utgå från att testet ger ett rättvist resultat. En låg varians visar att resultaten ligger relativt nära medelvärdet av resultaten, vilket visar att varje resultat har påverkats i stort sett likadant och testet ger ett rättvist resultat.

I matrisen var_mat summeras för varje modell den varians som genererats i varje iteration. Vi har då i slutet av sista iterationen en matris med tre

(42)

kolumner och it rader. Varje kolumn innehåller då it stycken varianser som vardera modell genererat.

I vektorn lowest_var summeras antalet gånger en modell genererat den lägsta variansen för resultaten. För varje iteration ökar ett av värdena i vektorn.

Funktionen avslutar med att beräkna ett medelvärde för varje modells varians som sparas i vektorn mean_var. Vektorn lowest_var visar även pro-centuellt hur många gånger vardera modell resulterade i den lägsta variansen.

n B L M 4 0,0416 0,2077 0,6630 6 0,0247 0,2468 0,7016 8 0,0173 0,2678 0,7219 10 0,0133 0,2803 0,7341 30 0,0040 0,3151 0,7632

(a) Medelvärdet av varje modells varians. n B L M 4 98,22 % 0 % 1,78 % 6 99,88 % 0 % 0,12 % 8 99,99 % 0 % 0,01 % 10 100 % 0 % 0 % 30 100 % 0 % 0 %

(b) Procentuell andel då vardera modell gav lägst varians.

Tabell 6.1: Resultat av att Matlabkoden [A.2] kördes för it = 100 000 med olika värden på n.

6.1.2 Resultat av varianstest

Vi kör Matlabkoden var_test [A.2] för it = 100 000 då n = 4, n = 6, n = 8, n = 10 och n = 30. Resultaten sammanfattas i tabell 6.1, där tabell 6.1a visar resultaten från mean_var och tabell 6.1b visar resultaten från lowest_var. Vi ser att B både ger lägst medelvarians och även i de flesta fall har en lägre varians än både L och M.

Värt att nämna är att en BLK enligt definition även är en latinsk kvadrat, då den uppfyller villkoret att varje distinkt element förekommer exakt en gång i varje rad och kolumn. Metoden som används i funktionen latinsq för att bygga upp den latinska kvadraten följer samma mönster vi såg i bevis 1.1.1, så rad i är i, i + 1, . . . , n, 1, 2, . . . , i − 1. Matrisen L uppfyller då inte villkoren för en BLK. Detta är anledningen till att vi väljer att skilja på en latinsk kvadrat och en BLK i algoritmen, men givetvis är även matrisen B en latinsk kvadrat. Det är därför inte helt korrekt att säga att en BLK skulle fungera bättre än en godtycklig latinsk kvadrat som modell.

Med detta i åtanke kan vi ändå sammanfattningsvis konstatera att med de modeller vi använt oss av är en BLK tydligt överlägsen i varianstesterna. Resultaten erhållna från en BLK är därför troligtvis de mest pålitliga och en BLK är därför en gynnsam modell att använda.

(43)

Kapitel 7

Diskussion

Avslutningsvis vill vi sammanfatta de resultat som tagits fram under arbetets gång. Vi vill även tydliggöra vilka frågor vi ännu inte har besvarat i hopp om att väcka ett intresse att fortsätta bygga vidare på våra idéer.

7.1

Förmodanden och frågeställningar

• Det existerar BLK:er av ordning n, för alla sammansatta tal n. För alla dessa BLK:er existerar det en färgkarta, F ∈ Md×n, som uppfyller

villkoren som diskuteras i avsnitt 5.2, då n = pd, för något primtal p som delar n.

• Det existerar inga BLK:er av ordning p > 2, då p är ett primtal. • Beräkningen av BLK:er av sammansatt ordning, n = pd, går snabbast

då delaren p är den största primtalsdelaren till n.

• I kapitel 3 visade vi hur en BLK kan representeras med en graf och dess Hamiltonstigar. Trots att avsnittet inte ledde till några konkreta resultat vill vi inte helt förkasta idén. I detta arbete var det just graf-representationen som ledde upp till att undersöka permutationerna för en BLK. Att grafrepresentationen skulle kunna leda till något mer är inte något vi vill helt avfärda, istället uppmuntra till att utforska området ytterligare.

7.2

Resultat

I tabell 7.1 sammanställs det totala antalet BLK, SBLK och ABLK av ord-ning n på standardform vi kunnat ta fram hittills. De flesta resultaten är framtagna med hjälp av de Matlabkoder du finner i appendix A. Några punkter är värda att nämna angånde tabellen.

(44)

n |Bs n| |Ssn| |Asn| 1 1 1 1 2 1 1 1 3 0 1 0 4 1 1 1 5 0 3 0 6 2 39 2 7 0 68 0 8 12 2 262 8 9 12 ≥1 0 10 ≥536 ≥1 192 11 ? ≥1 0 12 ≥39 936 ≥1 39 936 13 ? ≥1 0 14 ≥2 228 224 ≥1 2 228 224 15 ≥10 ≥1 0 16 ≥ 4 743 757 824 ≥1 4 743 757 824

Tabell 7.1: Tabell över det totala antalet BLK:er, SBLK:er och ABLK:er av ordning n på standardform.

• Det triviala fallet n = 1 är med i tabellen. Då matrisen inte bryter mot några av villkoren för någon av modellerna räknas den med.

• Med modellen beskriven i figur 4.2 kan vi skapa en SBLK av godtycklig ordning och vi vet därför att det existerar minst en, men det totala antalet är fortfarande okänt för n > 8.

• Då vi vet att As

n⊂ Bsnkan vi därför räkna in antalet ABLK i den totala

mängden BLK:er av ordning n. Dock är det totala antalet BLK:er okänt för n > 9.

• Med vetskapen att det existerar minst en SBLK S av ordning n för alla n ∈ N och att S kan generera ABLK:er av ordning 2n vet vi även att det existerar minst 2(n−12 ) BLK:er och ABLK:er av ordning 2n. Det vill säga, tabellen skulle kunna göras oändligt lång.

• För n = 11 och n = 13 vet vi ännu inget om |Bn|. Då vi inte kunnat

bevisa vårt förmodande att en BLK inte kan existera för en ordning n då n är ett primtal lämnas det totala antalet okänt.

• För n = 10 vet vi inte säkert om siffran är det totala antalet. 536 är antalet vi kunnat ta fram genom Matlabkoderna BLS_spec [A.13] och BLS_equal [A.4].

(45)

Litteraturförteckning

[1] Norman L. Biggs, Discrete Mathematics, Oxford University Press, 1989 (första upplagan 1985).

[2] Ronald A. Fisher, The Design of Experiments, Hafner Press, 1971 (första upplagan 1935).

[3] Edgar N. Gilbert, Latin Squares Which Contain No Repeated Digrams, SIAM Review, 7(2): P189:198, 1965.

[4] Holger Schellwat, Introduction to Abstract Algebra, Part I - Group Theory, 2013.

(46)

Bilaga A

Matlabkoder

A.1

latinsq

function [L] = latinsq(n)

% Input: integer n

% Output: latin square of size n

L = [1:n ; ones(n-1,n)] ; for i = 2 : n for j = 1 : n L(i, j) = L(i-1, j) + 1; if L(i-1, j) == n L(i, j) = 1; end end end end

(47)

A.2

var_test

function [mean_var, lowest_var] = var_test(n, it)

% Calculates the variance from the results produced by using a matrix M % with sorted rows, a latin square L and a balanced latin square B as % models for experiments, under the assumption that the placement of each % test has an effect on the result and the result in the following test.

% Input:

% n = size of the matrices M,L and B. % it = number of iterations.

% Output:

% lowest_var = 3-by-1 vector, each element represents in percentage % the number of times matrix M, matrix L and matrix B respectively % resulted in the lowest variance.

% mean_var = the mean of the vairances for each matrix

M = repmat(1 : n, n, 1); % Basic matrix with sorted rows

L = latinsq(n); % Latin square

B = gen_ABLS_spec(n, 1); % Balanced latin square

lowest_var = zeros(1, 3); var_mat = zeros(it, 3);

for i = 1 : it

res_M = zeros(n); % Result matrices

res_L = res_M; res_B = res_M;

col_effect = 2 * rand(n, 1); % Randomly assign effects for columns

seq_effect = 2 * rand(n, 1); % Randomly assign effects each element ... % has on the following element

for row = 1 : n

for col = 1 : n

if col > 1

res_M(row, col) = col_effect(col) * ...

seq_effect(M(row, col-1));

res_L(row, L(row, col)) = seq_effect(L(row, col-1)) * ...

col_effect(col);

res_B(row, B(row, col)) = seq_effect(B(row, col-1)) * ...

(48)

elseif col == 1

res_M(row, col) = col_effect(col);

res_L(row, L(row, col)) = col_effect(col); res_B(row, B(row, col)) = col_effect(col);

end end end var_mat(i,1) = var(mean(res_M)); var_mat(i,2) = var(mean(res_L)); var_mat(i,3) = var(mean(res_B));

if var_mat(i,1) < var_mat(i,2) && var_mat(i,1) < var_mat(i,3) lowest_var(1) = lowest_var(1) + 1;

elseif var_mat(i,2) < var_mat(i,1) && var_mat(i,2) < var_mat(i,3) lowest_var(2) = lowest_var(2) + 1;

elseif var_mat(i,3) < var_mat(i,1) && var_mat(i,3) < var_mat(i,2) lowest_var(3) = lowest_var(3) + 1;

end end

mean_var = (mean(var_mat)); lowest_var = lowest_var/it;

(49)

A.3

BLS

function nof = BLS(n)

% This function finds and displays the balanced Latin squares of order n in % standard form. Also, the column permutations are displayed. Finally, the % number of balanced Latin squares is returned.

% Input:

% n: Order of the balanced Latin squares.

% Output:

% nof: Number of balanced Latin squares.

nof = 0; B = zeros(n); B(1, :) = 1 : n; B(:, 1) = 1 : n; rownumbers = ones(n, n + 1); followers = rownumbers; for j = 2 : n rownumbers(j, j) = 0; followers(j - 1, j) = 0; end rownumbers(:, n + 1) = 0; followers(:, n + 1) = 0; colnumbers = rownumbers; row = 2; col = 2; val = 1; while row > 1

% Check the conditions that define a balanced Latin square.

if rownumbers(row, val) && colnumbers(col, val) ...

&& followers(B(row, col - 1), val)

(50)

nof = nof + 1; B(row, col) = val;

disp(B); disp(' '); permutation_finder(B); disp(' '); B(row, col) = 0; col = col - 1;

oldval = B(row, col);

rownumbers(row, oldval) = 1; colnumbers(col, oldval) = 1;

followers(B(row, col - 1), oldval) = 1; B(row, col) = 0;

val = oldval + 1;

else

B(row, col) = val;

rownumbers(row, val) = 0; colnumbers(col, val) = 0;

followers(B(row, col - 1), val) = 0;

if col < n col = col + 1; else row = row + 1; col = 2; end val = 1; end elseif val < n val = val + 1; elseif col > 2

(51)

col = col - 1;

oldval = B(row, col);

rownumbers(row, oldval) = 1; colnumbers(col, oldval) = 1;

followers(B(row, col - 1), oldval) = 1; B(row, col) = 0;

val = oldval + 1;

else

row = row - 1; col = n;

oldval = B(row, col);

rownumbers(row, oldval) = 1; colnumbers(col, oldval) = 1;

followers(B(row, col - 1), oldval) = 1; B(row, col) = 0;

val = oldval + 1;

end end

(52)

A.4

BLS_equal

function [nof, B] = BLS_equal(B1, B2)

% This funcion finds and returns the common members of two lists of % balanced Latin squares. The number of common members is also returned.

% Inputs:

% B1, B2: Lists of balanced Latin squares.

% Outputs:

% nof: Number of common balanced Latin squares. % B: List of common balanced Latin squares.

nof = 0; n = size(B1, 1); m1 = size(B1, 3); m2 = size(B2, 3); if m1 > m2 temp_m = m1; m1 = m2; m2 = temp_m; temp_M = B1; B1 = B2; B2 = temp_M; end B = zeros(n, n, m1); for i = 1 : m1 j = 1; while j <= m2 if B1(:, :, i) == B2(:, :, j) nof = nof + 1; B2(:, :, j) = []; m2 = m2 - 1;

(53)

B(:, :, nof) = B1(:, :, i); break else j = j + 1; end end end B(:, :, nof + 1 : m1) = []; end

(54)

A.5

ABLS

function nof = ABLS(n)

% This function finds and displays the axis symmetrical balanced Latin % squares of order n in standard form. Also, the column permutations are % displayed. Finally, the number of balanced Latin squares is returned.

% Input:

% n: Order of the balanced Latin squares.

% Output:

% nof: Number of balanced Latin squares.

nof = 0; B = zeros(n); B(1, :) = 1 : n; B(:, 1) = 1 : n; B(n, :) = n : -1 : 1; B(:, n) = n : -1 : 1; rownumbers = ones(n, n + 1); followers = rownumbers; for j = 2 : n rownumbers(j, j) = 0; rownumbers(j, n - j + 1) = 0; followers(j - 1, j) = 0; followers(n - j + 2, n - j + 1) = 0; end rownumbers(:, n + 1) = 0; followers(:, n + 1) = 0; colnumbers = rownumbers; row = 2; col = 2; val = 1; val_friend = n + 1 - val; while row > 1

References

Related documents

Föreningen registreras härmed för lotteriverksamhet under nedanstående period med ett insatsbelopp motsvarande högst 33 och 1/3 basbelopp under en femårsperiod.. Kommunen

F¨or att ˚atg¨arda dessa potentiella riskerna s˚a har man implementerad s¨arskilda protokoll som heter Automatic Repeat-Reqest (ARQ) protocols[1].Dessa protokoll ¨ar gjorda f¨or

– Två av mina bröder mördares och ytter- ligare en av mina bröder står inför rätta för att ha ockuperat mark i Marina Kue, berät- tar den lokala småbrukarledaren Martina

För flick- orna tillkommer ännu fler hinder, som att de tidigt blir gifta och får barn och att det är en allmänt utbredd uppfattning att flickor inte behöver någon utbildning

L¨ osningen till uppgift 2(b)(ii) fr˚ an provduggan Vi m˚ aste visa tv˚ a

[Tips: Faktorisera polyno-

Endast definitioner och trigonometriska r¨ aknelagar f˚ ar anv¨ andas utan att de f¨ orst bevisas. Sida 2

[r]