Μέθοδοι κατασκευής Ορθογώνιων Λατινικών Τετραγώνων και αλγόριθµος αναζήτησης τους

Σχετικά έγγραφα
ΧΟΛΗ ΕΦΑΡΜΟΜΕΝΩΝ ΜΑΘΗΜΑΣΙΚΩΝ ΚΑΙ ΦΤΙΚΩΝ ΕΠΙΣΗΜΩΝ ΣΟΜΕΑ ΜΑΘΗΜΑΣΙΚΩΝ. Διπλωματική Εργασία. Λατινικά Τετράγωνα. Καρπή Χρηστίνα

Ασκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές»

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ Ι (ΠΕΡΙΤΤΟΙ) Λυσεις Ασκησεων - Φυλλαδιο 3

Διδάσκων: Καθηγητής Νικόλαος Μαρμαρίδης, Καθηγητής Ιωάννης Μπεληγιάννης

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ Ι (ΠΕΡΙΤΤΟΙ) Λυσεις Ασκησεων - Φυλλαδιο 2

Θεώρηµα: Z ( Απόδειξη: Περ. #1: Περ. #2: *1, *2: αποδεικνύονται εύκολα, διερευνώντας τις περιπτώσεις ο k να είναι άρτιος ή περιττός

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 9

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ ΙΙ (ΠΕΡΙΤΤΟΙ) Ασκησεις - Φυλλαδιο 5

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Λυσεις Ασκησεων - Φυλλαδιο 9

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ Ι (ΑΡΤΙΟΙ) Λυσεις Ασκησεων - Φυλλαδιο 2

Γραµµικη Αλγεβρα Ι Επιλυση Επιλεγµενων Ασκησεων Φυλλαδιου 4

Κρυπτογραφία και Πολυπλοκότητα

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Προτεινοµενες Ασκησεις - Φυλλαδιο 9

HY118- ιακριτά Μαθηµατικά

Γενικές Παρατηρήσεις. Μη Κανονικές Γλώσσες - Χωρίς Συµφραζόµενα (1) Το Λήµµα της Αντλησης. Χρήση του Λήµµατος Αντλησης.

HY118- ιακριτά Μαθηµατικά. Παράδειγµα. Από τα συµπεράσµατα στις υποθέσεις Αποδείξεις - Θεωρία συνόλων. Από τις υποθέσεις στα συµπεράσµατα...

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Λυσεις Ασκησεων - Φυλλαδιο 2

Υπολογισµός διπλών ολοκληρωµάτων µε διαδοχική ολοκλήρωση

ΜΑΘΗΜΑΤΙΚΑ Θετικής & Τεχνολογικής Κατεύθυνσης Β ΜΕΡΟΣ (ΑΝΑΛΥΣΗ) ΚΕΦ 1 ο : Όριο Συνέχεια Συνάρτησης

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 2

Άλγεβρα Α Λυκείου Κεφάλαιο 2ο. οι πράξεις και οι ιδιότητές τους

Μεταθέσεις και πίνακες μεταθέσεων

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Λυσεις Ασκησεων - Φυλλαδιο 1

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

ΕΠΙΤΡΟΠΗ ΔΙΑΓΩΝΙΣΜΩΝ 36 η Εθνική Μαθηματική Ολυμπιάδα «Ο ΑΡΧΙΜΗΔΗΣ» 23 Φεβρουαρίου 2019 Θέματα και ενδεικτικές λύσεις μεγάλων τάξεων


ΑΛΓΕΒΡΙΚΕΣ ΟΜΕΣ Ι. Ασκησεις - Φυλλαδιο 2

Αλγεβρικες οµες Ι Ασκησεις - Φυλλαδιο 4 1 2

d k 10 k + d k 1 10 k d d = k i=0 d i 10 i.

Επίλυση Προβλημάτων με Χρωματισμό. Αλέξανδρος Γ. Συγκελάκης

Μάθηµα Θεωρίας Αριθµών Ε.Μ.Ε

HY118- ιακριτά Μαθηµατικά. Παράδειγµα άµεσης απόδειξης. Μέθοδοι αποδείξεως για προτάσεις της µορφής εάν-τότε Αποδείξεις

Ασκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές» (ε) Κάθε συγκλίνουσα ακολουθία άρρητων αριθµών συγκλίνει σε άρρητο αριθµό.

Ορισµός. Εστω συναρτήσεις: f : N R και g : N R. η f(n) είναι fi( g(n) ) αν υπάρχουν σταθερές C 1, C 2 και n 0, τέτοιες ώστε:

f(t) = (1 t)a + tb. f(n) =

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 3

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 8

τη µέθοδο της µαθηµατικής επαγωγής για να αποδείξουµε τη Ϲητούµενη ισότητα.

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Λυσεις Ασκησεων - Φυλλαδιο 3

OΡΙΟ - ΣΥΝΕΧΕΙΑ ΣΥΝΑΡΤΗΣΗΣ

1 Οι πραγµατικοί αριθµοί

Συνδυαστική Απαρίθµηση Υπολογισµός (µε συνδυαστικά επιχειρήµατα) του πλήθους των διαφορετικών αποτελεσµάτων ενός «πειράµατος». «Πείραµα»: διαδικασία µ

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 3

ΚΕΦΑΛΑΙΟ 3 ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. nn n n

( ) = inf { (, Ρ) : Ρ διαµέριση του [, ]}

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ Ι (ΑΡΤΙΟΙ) Ασκησεις - Φυλλαδιο 4

Εισαγωγή στην Τοπολογία

ΕΠΙΤΡΟΠΗ ΔΙΑΓΩΝΙΣΜΩΝ 33 η Ελληνική Μαθηματική Ολυμπιάδα "Ο Αρχιμήδης" 27 Φεβρουαρίου 2016

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ ΙΙ (ΠΕΡΙΤΤΟΙ) Ασκησεις - Φυλλαδιο 9 Επαναληπτικες Ασκησεις

Σχόλιο. Παρατηρήσεις. Παρατηρήσεις. p q p. , p1 p2

ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ

x 2 = x x 2 2. x 2 = u 2 + x 2 3 Χρησιµοποιώντας το συµβολισµό του ανάστροφου, αυτό γράφεται x 2 = x T x. = x T x.

ΜΕΛΕΤΗ ΣΥΝΑΡΤΗΣΗΣ. Άρτια και περιττή συνάρτηση. Παράδειγµα: Η f ( x) Παράδειγµα: Η. x R και. Αλγεβρα Β Λυκείου Πετσιάς Φ.- Κάτσιος.

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 7

7. Ταλαντώσεις σε συστήµατα µε πολλούς βαθµούς ελευθερίας

KΕΦΑΛΑΙΟ 1 ΧΡΗΣΙΜΕΣ ΜΑΘΗΜΑΤΙΚΕΣ ΕΝΝΟΙΕΣ. { 1,2,3,..., n,...

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ C ΣΕΙΡΑ 1 η

i=1 i=1 i=1 (x i 1, x i +1) (x 1 1, x k +1),

2 o Καλοκαιρινό σχολείο Μαθηµατικών Νάουσα 2008

Κεφάλαιο 2. Παραγοντοποίηση σε Ακέραιες Περιοχές

Η Ευκλείδεια διαίρεση

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Ασκησεις - Φυλλαδιο 4. ιδασκων: Α. Μπεληγιάννης Ιστοσελιδα Μαθηµατος :

ΜΑΘΗΜΑΤΙΚΑ ΘΕΤΙΚΗΣ & ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ ΛΥΜΕΝΕΣ & ΑΛΥΤΕΣ ΑΣΚΗΣΕΙΣ. Επιμέλεια: Γ. Π. Βαξεβάνης (Γ. Π. Β.

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 4

1. στο σύνολο Σ έχει ορισθεί η πράξη της πρόσθεσης ως προς την οποία το Σ είναι αβελιανή οµάδα, δηλαδή

q={(1+2)/2}=1 A(1,2)= MERGE( 4, 6 ) = 4 6 q=[(3+4)/2]=3 A(1,4)= MERGE( 4 6, 5 8 ) = q=[(5+6)/2]=5 A(5,6)= MERGE( 2, 9 ) = 2 9

Αλγεβρικες οµες Ι Ασκησεις - Φυλλαδιο 2

Αριθµητική Γραµµική ΑλγεβραΚεφάλαιο 4. Αριθµητικός Υπολογισµός Ιδιοτιµών 2 Απριλίου και2015 Ιδιοδιανυσµάτων 1 / 50

Εισαγωγή στην Τοπολογία

ΕΠΙΤΡΟΠΗ ΔΙΑΓΩΝΙΣΜΩΝ 33 η Ελληνική Μαθηματική Ολυμπιάδα "Ο Αρχιμήδης" 27 Φεβρουαρίου 2016

ΚΕΦΑΛΑΙΟ 6. Κώδικες και συνδυαστικές κατασκευές. 6.1 Σχεδιασμοί και Κώδικες

F 5 = (F n, F n+1 ) = 1.

P(n, r) = n r. (n r)! n r. n+r 1

ΕΝΑΣ ΔΙΚΡΙΤΗΡΙΟΣ ΑΛΓΟΡΙΘΜΟΣ SIMPLEX

cov(x, Y ) = E[(X E[X]) (Y E[Y ])] cov(x, Y ) = E[X Y ] E[X] E[Y ]

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 4

Αρµονική Ανάλυση. Ενότητα: Το ϑεώρηµα παρεµβολής του Riesz και η ανισότητα Hausdorff-Young. Απόστολος Γιαννόπουλος.

Αριθμητική Ανάλυση και Εφαρμογές

Μια TM µπορεί ένα από τα δύο: να αποφασίζει µια γλώσσα L. να αναγνωρίζει (ηµιαποφασίζει) µια γλώσσα L. 1. Η TM «εκτελεί» τον απαριθµητή, E.

α) f(x(t), y(t)) = 0,

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Λυσεις Ασκησεων - Φυλλαδιο 4

ΑΛΓΕΒΡΙΚΕΣ ΟΜΕΣ Ι. Ασκησεις - Φυλλαδιο 8

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ

Υπολογισµός διπλών ολοκληρωµάτων µε διαδοχική ολοκλήρωση

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

1 Η εναλλάσσουσα ομάδα

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Μορφές αποδείξεων Υπάρχουν πολλά είδη αποδείξεων. Εδώ θα δούμε τα πιο κοινά: Εξαντλητική μέθοδος ή μέθοδος επισκόπησης. Οταν το πρόβλημα έχει πεπερασμ

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ Ι (ΑΡΤΙΟΙ) Λυσεις Ασκησεων - Φυλλαδιο 4

Τελική Εξέταση 10 Φεβρουαρίου 2017 ιάρκεια εξέτασης 2 ώρες και 30 λεπτά

Γραµµικη Αλγεβρα Ι Επιλυση Επιλεγµενων Ασκησεων Φυλλαδιου 3

Ι. ΠΡΑΞΕΙΣ. Ορισµός 2 A. ΕΣΩΤΕΡΙΚΗ ΠΡΑΞΗ. Έστω E ένα µη κενό σύνολο. Κάθε απεικόνιση f: E x E E λέγεται εσωτερική πράξη επί του E.

Αριθμητική Ανάλυση και Εφαρμογές

Μαθηµατική Επαγωγή. Ορέστης Τελέλης. Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς

Γ. Κορίλη Αλγόριθµοι ροµολόγησης

ΘΕΑΝΩ ΕΡΙΦΥΛΗ ΜΟΣΧΟΝΑ ΣΥΜΠΛΗΡΩΜΑΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΕΡΕΥΝΑ

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Ασκησεις - Επανάληψης. ιδασκων: Α. Μπεληγιάννης Ιστοσελιδα Μαθηµατος :

Αλγεβρικες οµες Ι Ασκησεις - Φυλλαδιο 2

Πληροφορική 2. Αλγόριθμοι

Θεωρία Γραφημάτων 6η Διάλεξη

Transcript:

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ & ΥΠΟΛΟΓΙΣΤΩΝ ιπλωµατική εργασία Μέθοδοι κατασκευής Ορθογώνιων Λατινικών Τετραγώνων και αλγόριθµος αναζήτησης τους Βούλγαρης Παύλος 50 Θεσσαλονίκη 009

Περιεχόµενα ΕΙΣΑΓΩΓΗ...4 ΚΕΦΑΛΑΙΟ Ο : ΛΑΤΙΝΙΚΑ ΤΕΤΡΑΓΩΝΑ...5. ΟΡΙΣΜΟΣ... 5. ΠΛΗΘΟΣ ΛΑΤΙΝΙΚΩΝ ΤΕΤΡΑΓΩΝΩΝ... 6.3 ΕΙ Η ΛΑΤΙΝΙΚΩΝ ΤΕΤΡΑΓΩΝΩΝ... 6.4 ΚΑΤΑΣΚΕΥΗ ΤΕΛΕΙΩΝ ΛΑΤΙΝΙΚΩΝ ΤΕΤΡΑΓΩΝΩΝ... 7 ΚΕΦΑΛΑΙΟ Ο : ΟΡΘΟΓΩΝΙΑ ΛΑΤΙΝΙΚΑ ΤΕΤΡΑΓΩΝΑ...9. ΟΡΙΣΜΟΣ ΟΡΘΟΓΩΝΙΩΝ ΛΑΤΙΝΙΚΩΝ ΤΕΤΡΑΓΩΝΩΝ... 9. ΎΠΑΡΞΗ ΟΡΘΟΓΩΝΙΩΝ ΛΑΤΙΝΙΚΩΝ ΤΕΤΡΑΓΩΝΩΝ... 9.3 ΚΑΤΑΣΚΕΥΗ ΟΡΘΟΓΩΝΙΩΝ ΛΑΤΙΝΙΚΩΝ ΤΕΤΡΑΓΩΝΩΝ... 0.3. Κατασκευή δύο Ορθογώνιων Λατινικών Τετραγώνων περιττής τάξης n (n>), n ακέραιος... 0.3. Κατασκευή Ορθογώνιων Λατινικών Τετραγώνων τάξης n (n>), όπου n πρώτος αριθµός....3.3 Κατασκευή Ορθογώνιων Λατινικών Τετραγώνων τάξης n 3 µε τη µέθοδο της αθροιστικής σύνθεσης (sum composition)... 4.3.3. Αθροιστική σύνθεση Λατινικών Τετραγώνων... 4.3.3. Εφαρµογή της αθροιστικής σύνθεσης για την κατασκευή δύο Ορθογώνιων Λατινικών Τετραγώνων... 5 ΚΕΦΑΛΑΙΟ 3 Ο : ΑΛΓΟΡΙΘΜΟΣ ΑΝΑΖΗΤΗΣΗΣ ΟΡΘΟΓΩΝΙΩΝ ΛΑΤΙΝΙΚΩΝ ΤΕΤΡΑΓΩΝΩΝ... 9 3. STATE OF THE ART... 9 3. Ο ΑΛΓΟΡΙΘΜΟΣ... 3 3.3 ΑΡΧΙΚΟ ΜΕΙΩΜΕΝΟ ΛΑΤΙΝΙΚΟ ΤΕΤΡΑΓΩΝΟ... 4 3.3. Τυχαίο µειωµένο Λατινικό Τετράγωνο (RRLS)... 4 3.3. «Ελάχιστο» µειωµένο Λατινικό Τετράγωνο (LRLS/ARLS)... 6 3.4 ΑΛΓΟΡΙΘΜΟΣ ΓΙΑ ΤΗΝ ΕΥΡΕΣΗ ΟΡΘΟΓΩΝΙΩΝ ΖΕΥΓΩΝ ΛΑΤΙΝΙΚΩΝ ΤΕΤΡΑΓΩΝΩΝ (THE OLS PROBLEM)... 34 3.5 ΑΛΓΟΡΙΘΜΟΣ ΓΙΑ ΤΗΝ ΕΥΡΕΣΗ ΤΡΙΩΝ ΑΜΟΙΒΑΙΩΝ ΟΡΘΟΓΩΝΙΩΝ ΛΑΤΙΝΙΚΩΝ ΤΕΤΡΑΓΩΝΩΝ (THE 3 MOLS PROBLEM)... 39 3.6 ΑΠΟΤΕΛΕΣΜΑΤΑ ΣΥΜΠΕΡΑΣΜΑΤΑ... 4 3.7 Ο ΠΗΓΑΙΟΣ ΚΩ ΙΚΑΣ... 46 ΒΙΒΛΙΟΓΡΑΦΙΑ... 69 3

Εισαγωγή Το αντικείµενο της εν λόγω διπλωµατικής εργασίας είναι η αναφορά διαφόρων µεθόδων κατασκευής Ορθογώνιων Λατινικών Τετραγώνων και η εκπόνηση ενός αλγορίθµου αναζήτησης Ορθογώνιων Λατινικών Τετραγώνων. Ακολουθεί µια σύντοµη ιστορική αναδροµή. Το 779, ο L.Euler άρχισε µια µελέτη ενός απλού µαθηµατικού γρίφου, το Πρόβληµα των 36 Αξιωµατικών. Τριάντα έξι αξιωµατικοί επιλεγµένοι από έξι διαφορετικούς ιεραρχικούς βαθµούς και έξι διαφορετικών ταγµάτων στρατού (έναν από κάθε ιεραρχικό βαθµό από κάθε τάγµα) πρέπει να τοποθετηθούν σε ένα τετράγωνο έτσι ώστε σε κάθε οριζόντια και κάθετη γραµµή να υπάρχουν έξι αξιωµατικοί από κάθε βαθµό και κάθε τάγµα. Καταγράφωντας µονάχα τους βαθµούς των αξιωµατικών, το τετράγωνο που αποκτάται είναι ένα Λατινικό Τετράγωνο. Καταγράφωντας µόνο τα τάγµατα, είναι και πάλι ένα Λατινικό Τετράγωνο. Αλλά τα δύο Λατινικά Τετράγωνα όταν υπερτεθούν, τα ζευγάρια δεν είναι όλα διαφορετικά µεταξύ τους, άρα δεν είναι ορθογώνια. Ο Euler κατάφερε να κατασκευάσει ζεύγη ορθογώνιων Λατινικών Τετραγώνων για κάθε τάξη περιττού αριθµού και για κάθε τάξη διαιρέσιµη µε το τέσσερα, αλλά δεν κατάφερε να κατασκευάσει κανένα ζεύγος ορθογώνιων Λατινικών Τετραγώνων τάξης 4k +, k 0 όπου k ακέραιος. Προέβλεψε λοιπόν πως δεν υπάρχουν Ορθογώνια Λατινικά Τετράγωνα τέτοιας τάξης. Η εικασία του για Λατινικά Τετράγωνα έκτης τάξης επαληθεύτηκε τον εικοστό αιώνα. Το 900 ο G.Tarry απέδειξε πως η εικασία αυτή είναι σωστή, µέσω εξαντλητικής απαρίθµησης των περιπτώσεων. Μεταγενέστερα, λιγότερο µακροσκελείς αποδείξεις παρουσιάστηκαν. Πολύ αργότερα, οι R.C.Bose S.S.Shrikhande και E.T.Parker (960) απέδειξαν ότι η εικασία του Euler ήταν λανθασµένη για όλες τις τάξεις n της µορφής n = 4 k+ εκτός n = ή n = 6 παρέχοντας µια κατασκευαστική µέθοδο ζεύγους Ορθογώνιων Λατινικών Τετραγώνων για όλες αυτές τις τάξεις. Η απόδειξή τους ήταν µακροσκελής και εµπεριείχε έννοιες από την θεωρία του πειραµατικού σχεδιασµού (experimental design). Εντούτοις, υποκίνησε αδιαµφησβήτα την περαιτέρω έρευνα στη δοµή και τις ιδιότητες των Λατινικών Τετραγώνων. Άλλο ένα κίνητρο ήταν το αυξανόµενο ενδιαφέρον στη θεωρία του πεπερασµένου προβολικού επιπέδου (finite projective plane). Το πολύ γνωστό στον κόσµο, τελευταία, Sudoku, είναι ένα ειδικό Λατινικό Τετράγωνο. 4

Κεφάλαιο ο : Λατινικά Τετράγωνα. Ορισµός Ένα Λατινικό Τετράγωνο τάξης n είναι ένας πίνακας n x n µε ακριβώς n διαφορετικά σύµβολα όπου κάθε σύµβολο εµφανίζεται µία φορά σε κάθε γραµµή και µία φορά σε κάθε στήλη []. Ένα παράδειγµα Λατινικού Τετραγώνου τάξης 4 φαίνεται στο σχήµα. 3 4 4 3 3 4 3 4 σχήµα Ένας απλός τρόπος κατασκευής ενός Λατινικού Τετραγώνου είναι η δηµιουργία της πρώτης γραµµής τοποθετώντας τα σύµβολα σε τυχαία σειρά, και έπειτα hη µετακίνηση της πρώτης γραµµής προς τα δεξιά (ή τα αριστερά) κατά,,...,n- θέσεις ώστε να δηµιουργηθούν και οι υπόλοιπες n- γραµµές []. Ένα Λατινικό Τετράγωνο λέγεται µειωµένο ή κανονικοποιηµένο αν η πρώτη του γραµµή και στήλη είναι σε φυσική σειρά. Μπορούµε εύκολα να κανονικοποιήσουµε ένα Λατινικό Τετράγωνο µε αντιµεταθέσεις των γραµµών και των στηλών του. Για παράδειγµα το Λατινικό Τετράγωνο του σχήµατος φαίνεται κανονικοποιηµένο στο σχήµα, αφού αντιµεταθέσαµε τη η γραµµή µε την 4 η. 3 4 3 4 3 4 4 3 σχήµα 5

. Πλήθος Λατινικών Τετραγώνων Το πλήθος των Λατινικών Τετραγώνων τάξης n, είναι n!( n )! φορές το πλήθος των µειωµένων Λατινικών Τετραγώνων [3]. Ο παρακάτων πίνακας µας πληροφορεί για των ακριβή αριθµό των (µειωµένων) Λατινικών Τετραγώνων εώς και τάξης. Πίνακας n µειωµένα Λατινικά Τετράγωνα τάξης n Λατινικά Τετράγωνα τάξης n 3 4 4 576 5 56 680 6 9408 88500 7 694080 647949904000 8 535840856 087760345908956800 9 3775975709645886 55475496568984535600 0 75807483603848980 998437658303987750647569030000 5363937773773798967354077840 7769668367770440744434673430683065600000 Όπως βλέπουµε το πλήθος των (µειωµένων) Λατινικών Τετραγώνων αυξάνεται δραµατικά όσο αυξάνεται η τάξη n..3 Είδη Λατινικών Τετραγώνων ιαγώνιο Λατινικό Τετράγωνο (diagonal Latin square) τάξης n είναι ένα Λατινικό Τετράγωνο στο οποίο κανένα σύµβολο δεν εµφανίζεται πάνω από µια φορά σε οποιαδήποτε από τις δύο κύριες διαγωνίους του [4]. ύο Λατινικά Τετράγωνα τάξης n ονοµάζονται ορθογώνια (orthogonal Latin squares), εάν η υπέρθεσή τους αποτελείται από n διαφορετικά ζεύγη συµβόλων ή παρόµοια εάν η υπέρθεσή τους περιλαµβάνει όλους τους δυνατούς συνδυασµούς των συµβόλων των δύο Λατινικών Τετραγώνων []. k> Λατινικά Τετράγωνα τάξης n ονοµάζονται αµοιβαίως ορθογώνια (mutually orthogonal Latin squares), εάν είναι ανά δύο ορθογώνια []. Υπάρχουν το πολύ n- αµοιβαίως ορθογώνια Λατινικά Τετράγωνα τάξης n [7]. 6

Ορθογώνιο Λατινικό Τετράγωνο µε τον εαυτό του (self-orthogonal Latin square) είναι ένα Λατινικό Τετράγωνο ορθογώνιο µε το ανάστροφό του [4]. Ένα διπλό Ορθογώνιο Λατινικό Τετράγωνο µε τον εαυτό του (doubly selforthogonal Latin square), είναι ένα Λατινικό Τετράγωνο ορθογώνιο µε το ανάστροφό του και µε τον ανάστροφο του αναστρόφου του. Ένα διπλό Ορθογώνιο Λατινικό Τετράγωνο µε τον εαυτό του είναι ταυτόχρονα και ιαγώνιο Λατινικό Τετράγωνο [4]. Τέλειο Λατινικό Τετράγωνο (perfect Latin square) τάξης n, είναι ένα διαγώνιο Λατινικό Τετράγωνο τάξης εµφανίζεται µία φορά σε κάθε κύριο υποτετράγωνο [4]. Το υποτετράγωνο ένα i j n στο οποίο κάθε σύµβολο S, ενός Λατινικού Τετραγώνου τάξης n ορίζεται ως n n τετράγωνο του οποίου το πάνω αριστερά κελί έχει συντεταγµένες ( i, j). Το κύριο υποτετράγωνο S, ορίζεται ως το υποτετράγωνο για το οποίο i j ισχύει i 0 modn και j 0 modn. Τα τέλεια Λατινικά Τετράγωνα έχουν αρκετές ιδιότητες χρήσιµες για παράλληλη διάταξη προσπέλασης (parallel array access). Το πολύ γνωστό Sudoku είναι ένα τέλειο Λατινικό Τετράγωνο τάξης 9 ή σπανιότερα 6, στο οποίο όµως δεν είναι προϋπόθεση η µη εµφάνιση κανενός συµβόλου πάνω από µια φορά σε οποιαδήποτε από τις δύο κύριες διαγωνίους του..4 Κατασκευή Τέλειων Λατινικών Τετραγώνων Η µέθοδος αυτή κατασκευάζει Τέλεια Λατινικά Τετράγωνα µε τη βοήθεια δύο Λατινκών Τετραγώνων A, B τάξης n (n θετικός ακέραιος), όπου το A είναι ορθογώνιο µε το ανάστροφο του B και µε το ανάστροφο του αναστρόφου του B [4]. Από τα Λατινικά Τετράγωνα A και B κατασκευάζουµε ένα Λατινικό Τετράγωνο C τάξης n µε τον εξής κανόνα: c = n a + 0 i, j n [ i / n][, j / n] bi modn, j mod, i, j n 7

όπου το [ i / n] αντιστοιχεί στον µεγαλύτερο ακέραιο που δεν υπερβαίνει το i / n και το i mod n αντιστοιχεί στο µη-αρνητικό υπόλοιπο του i / n. Η κατασκευή του C µπορεί να ακολουθηθεί ως εξής:. Κατασκευάζουµε ένα τετράγωνο τάξης τετράγωνα B. i j n χρησιµοποιώντας B, είναι το τετράγωνο του οποίου η θέση είναι i + από την κορυφή και j + από τα αριστερά.. Προσθέτουµε a i j σε όλα τα στοιχεία των B i, j. n, n Από το C, κατασκευάζουµε ένα άλλο Λατινικό Τετράγωνο τάξης χρησιµοποιώντας τον παρακάτω κανόνα αντιµετάθεσης γραµµών: p i, j = cn i modn+, [ i / n] j Ακολουθεί ένα παράδειγµα για n = 3. n 0 A = 0 B = 0 0 0 0 C = 0 3 4 5 6 7 8 0 5 3 4 8 6 7 0 4 5 3 7 8 6 3 4 5 6 7 8 0 5 3 4 8 6 7 0 4 5 3 7 8 6 0 6 7 8 0 3 4 5 8 6 7 0 5 3 4 7 8 6 0 4 6 3 P = 0 3 4 5 6 7 8 3 4 5 6 7 8 0 6 7 8 0 3 4 5 0 5 3 4 8 6 7 5 3 4 8 6 7 0 8 6 7 0 5 3 4 0 4 5 3 7 8 6 4 5 3 7 8 6 0 7 8 6 0 4 6 3 σχήµα 3 Κάθε Τέλειο Λατινικό Τετράγωνο κατασκευασµένο µε την παραπάνω µέθοδο, είναι διπλό Ορθογώνιο Λατινικό Τετράγωνο µε τον εαυτό του. 8

Κεφάλαιο ο : Ορθογώνια Λατινικά Τετράγωνα. Ορισµός Ορθογώνιων Λατινικών Τετραγώνων ύο Λατινικά Τετράγωνα τάξης n ονοµάζονται ορθογώνια, εάν η υπέρθεσή τους αποτελείται από n διαφορετικά ζεύγη συµβόλων ή παρόµοια εάν η υπέρθεσή τους περιλαµβάνει όλους τους δυνατούς συνδυασµούς των συµβόλων των δύο Λατινικών Τετραγώνων. Ένα ζευγάρι ορθογώνιων Λατινικών Τετραγώνων ονοµάζεται Ελληνο-Λατινικό Τετράγωνο. Ένα παράδειγµα Ορθογώνιων Λατινικών Τετραγώνων τάξης 3 φαίνεται στο σχήµα 4. L L 3 3 3 3 3 3 Υπέρθεση L,L (,) (,) (3,3) (,3) (3,) (,) (3,) (,3) (,) σχήµα 4. Ύπαρξη Ορθογώνιων Λατινικών Τετραγώνων τάξη : Το µοναδικό Λατινικό Τετράγωνο τάξης είναι ορθογώνιο µε τον εαυτό του (self-orthogonal) αλλά δεν παρουσιάζει καµία πρακτική σηµασία. τάξη : Ορθογώνια Λατινικά Τετράγωνα τάξης δεν υπάρχουν. Υπάρχουν δύο Λατινικά Τετράγωνα τάξης και δεν είναι ορθογώνια µεταξύ τους. τάξη n όπου n περιττός. Υπάρχουν Λατινικά Τετράγωνα περιττής τάξης και είναι γενικά εύκολο να κατασκευαστούν. 9

τάξη 6: Όπως γίνεται αναφορά και στην εισαγωγή, ο L.Euler απ το 779 προέβλεψε ότι δεν υπάρχουν Λατινικά Τετράγωνα τάξης 6, και η εικασία του τεκµηριώθηκε το 900 από τον G.Tarry. τάξη n όπου n άρτιος και διάφορος του και του 6: Έχει αποδειχθεί η ύπαρξη Λατινικών Τετραγώνων τέτοιας τάξης αλλά είναι γενικά δύσκολη η κατασκευή τους..3 Κατασκευή Ορθογώνιων Λατινικών Τετραγώνων.3. Κατασκευή δύο Ορθογώνιων Λατινικών Τετραγώνων περιττής τάξης n (n>), n ακέραιος η Μέθοδος Ορίζουµε δύο Λατινικά Τετράγωνα τάξης n, L και L που περιέχουν στοιχεία από το σύνολο: S = 0,,,..., n. ύο Λατινικά Τετράγωνα της µορφής L ( i, j) = ( i+ L ( i, j) = ( i i, j S j) modn j) modn όπου η έκφραση L ( i, j) αναφέρεται στο κελί του L που βρίσκεται στη i-οστή γραµµή και j-οστή στήλη, είναι ορθογώνια []. Το modulo n, a b(n) ή a b modn ορίζεται ως: το a b πρέπει να είναι διαιρέσιµο από το n δηλαδή a b= kn. Ορθογώνια Λατινικά Τετράγωνα τάξης 5, κατασκευασµένα µε την παραπάνω µέθοδο φαίνονται στο σχήµα 5. L L 0 3 4 3 4 0 3 4 0 3 4 0 4 0 3 0 4 3 0 4 3 0 4 3 3 0 4 4 3 0 0

υπέρθεση L,L (0,0) (,4) (,3) (3,) (4,) (,) (,0) (3,4) (4,3) (0,) (,) (3,) (4,0) (0,4) (,3) (3,3) (4,) (0,) (,0) (,4) (4,4) (0,3) (,) (,) (3,0) σχήµα 5 η Μέθοδος Ορίζουµε δύο Λατινικά Τετράγωνα τάξης n, L και L που περιέχουν στοιχεία από το σύνολο: S = 0,,,..., n. Τα Λατινικά Τετράγωνα, L = 0... n- +... n-+ * +*... n-+*.................. (n-) +(n-)... n-+(n-) L = 0... n- +... n-+ +... n-+.................. n- +n-... n-+n- είναι ορθογώνια. Όλες οι παραπάνω εκφράσεις θέτονται υπό mod n [5].

.3. Κατασκευή Ορθογώνιων Λατινικών Τετραγώνων τάξης n (n>), όπου n πρώτος αριθµός Ορίζουµε τα Λατινικά Τετράγωνα L j τάξης n, όπου n πρώτος αριθµός, της µορφής: L j = 0< j n όπου όλες οι παραπάνω εκφράσεις θέτονται υπό mod n [5]. Τα Λατινικά Τετράγωνα που κατασκευάζονται µε τον παραπάνω τύπο, L,...,, L L n, είναι ένα σύνολο από n- Ορθογώνια Λατινικά Τετράγωνα. Ένα οποιοδήποτε ζευγάρι των κατασκευασµένων Λατινικών Τετραγώνων αποτελεί ένα Ελληνο-Λατινικό Τετράγωνο. Ως παράδειγµα δίνεται ένα σύνολο από 4 Ορθογώνια Λατινικά Τετράγωνα τάξης 5 στο σχήµα 6. 0... n- j +j... n-+j j +j... n-+j.................. (n-)j +(n-)j... n-+(n-)j L L L 3 L 4 0 3 4 3 4 0 3 4 0 3 4 0 4 0 3 0 3 4 3 4 0 4 0 3 3 4 0 3 4 0 0 3 4 3 4 0 3 4 0 4 0 3 3 4 0 0 3 4 4 0 3 3 4 0 3 4 0 3 4 0 σχήµα 6 Μια παραλλαγή αυτής της µεθόδου η οποία απλοποιεί αρκετά την κατασκευή των Ορθογώνιων Λατινικών Τετραγώνων, µιας και απαιτεί την κατασκευή µόνο του πρώτου Λατινικού Τετραγώνου είναι η εξής:

Ορίζουµε τα Λατινικά Τετράγωνα M j τάξης n, όπου n πρώτος αριθµός, της µορφής: 0... n- a 0+j + a0+j... n-+ a 0+j M j = ( j = 0,,..., n ) a +j + a +j... n-+ a +j.................. a n-+j + a n-+j... n-+ a n-+j Η µεταβλητή a πρέπει να ικανοποιεί τη σχέση a n- modn. Για < k < n η k-οστή γραµµή του M j ισούται µε την γραµµή k του M j+ και εφόσον a n- modn, η τελευταία γραµµή του M j+ ισούται µε την δεύτερη γραµµή του M j. Έτσι, κατασκευάζοντας το πρώτο Λατινικό Τετράγωνο, τα υπόλοιπα µπορούν να κατασκευαστούν µε κυκλική µετάθεση των (n-) τελευταίων γραµµών. Ένα παράδειγµα της µεθόδου αυτής είναι η κατασκευή των παρακάτω 6 Ορθογωνίων Λατινικών Τετραγώνων τάξης 7, όπου a=3. M M M 3 0 3 4 5 6 3 4 5 6 0 3 4 5 6 0 3 4 5 6 0 6 0 3 4 5 4 5 6 0 3 5 6 0 3 4 0 3 4 5 6 3 4 5 6 0 3 4 5 6 0 6 0 3 4 5 4 5 6 0 3 5 6 0 3 4 3 4 5 6 0 0 3 4 5 6 3 4 5 6 0 6 0 3 4 5 4 5 6 0 3 5 6 0 3 4 3 4 5 6 0 3 4 5 6 0 M 4 M 5 M 6 0 3 4 5 6 6 0 3 4 5 4 5 6 0 3 5 6 0 3 4 3 4 5 6 0 3 4 5 6 0 3 4 5 6 0 0 3 4 5 6 4 5 6 0 3 5 6 0 3 4 3 4 5 6 0 3 4 5 6 0 3 4 5 6 0 6 0 3 4 5 0 3 4 5 6 5 6 0 3 4 3 4 5 6 0 3 4 5 6 0 3 4 5 6 0 6 0 3 4 5 4 5 6 0 3 σχήµα 7 3

.3.3 Κατασκευή Ορθογώνιων Λατινικών Τετραγώνων τάξης n 3 µε τη µέθοδο της αθροιστικής σύνθεσης (sum composition) Προτού επιδείχθεί η µέθοδος, είναι απαραίτητο να ορίσουµε την κατασκευή Λατινικών Τετραγώνων µε την αθροιστική µέθοδο και να δώσουµε κάποιους ορισµούς [6]..3.3. Αθροιστική σύνθεση Λατινικών Τετραγώνων Η αθροιστική σύνθεση δύο Λατινικών Τετραγώνων, L τάξεως n και L τάξεως n, παράγει ένα Λατινικό Τετράγωνο τάξεως n + n. Παρόλο που αυτή η µέθοδος δεν επαρκεί για όλα τα ζεύγη των Λατινικών Τετραγώνων, έχει µια άµεση εφαρµογή στην κατασκευή Ορθογώνιων Λατινικών Τετραγώνων µε ορισµένες ενδιαφέρουσες και χρήσιµες συνδυαστικές δοµές, συµπεριλαµβανοµένων και αυτών της τάξης 4t +, t. Η αθροιστική σύνθεση µπορεί να χρησιµοποιηθεί για την κατασκευή Λατινικών Τετραγώνων τάξης n + n από Λατινικά Τετράγωνα τάξεων n και n, για όλα τα n και n όπου n n εκτός από τα ζεύγη: ( n ) (, )(,,)(, 6,5)(, 6,6) n., = Παρατείθενται ορισµένοι ορισµοί που είναι χρήσιµοι στη πραγµάτωση της µεθόδου. Σ, ένα σύνολο πληθικότητας n. L είναι ένα Λατινικό Τετράγωνο τάξεως n στο Σ. Ορισµός.. Το L έχει διατέµνουσα αν υπάρχει µια συλλογή από n κελιά στο L µε τις εξής ιδιότητες: (α) καµιά γραµµή και στήλη του L δεν περιέχει περισσότερα από ένα κελιά αυτής της συλλογής, (β) τα στοιχεία των κελιών εξαντλούν το σύνολο Σ. Ορισµός.. Το L έχει t παράλληλες διατέµνουσες αν το L περιέχει t διατέµνουσες, οι οποίες ανά δύο δεν έχουν κανένα κοινό κελί. Ορισµός.3. Τα L,...,, L Lr είναι Λατινικά Τετράγωνα τάξης n στο Σ. Τότε µια συλλογή από n κελιά λέγεται ότι δηµιουργεί µια κοινή διατέµνουσα για αυτά τα r Λατινικά Τετράγωνα αν η συλλογή έιναι µια διατέµνουσα για κάθε ένα από τα r Λατινικά Τετράγωνα. 4

Ορισµός.4. Ένα σύνολο από r Λατινικά Τετράγωνα έχει t παράλληλες κοινές διατέµνουσες αν έχουν t κοινές διατέµνουσες, οι οποίες είναι ανά δύο παράλληλες. Σ και Σ δύο µη-τέµνοντα σύνολα από πληθικότητες n και n αντίστοιχα, n n. L είναι ένα Λατινικό Τετράγωνο τάξης n µε n παράλληλες διατέµνουσες στο Σ. L είναι ένα Λατινικό Τετράγωνο τάξεως n στο Σ. Το L δεν χρειάζεται να έχει κάποια συγκεκριµένη συνδυαστική δοµή. Ορίζουµε το C ως ένα τετράγωνο mxm, m n + n τρόπο: =, που περιέχει τα L και L µε τον εξής C = L σχήµα 8 L Έπειτα προβάλλουµε οριζόντια και κάθετα τις n διατέµνουσες του L στις n αριθµό τελευταίες γραµµές και στήλες του C µε αυθαίρετο τρόπο. Για τις προβολές στις γραµµές και στήλες υπάρχουν n! επιλογές έκαστος. Στη συνέχεια αντικαθιστούµε τα n στοιχεία της κάθε διατέµνουσας από ένα στοιχείο του Σ ούτως ώστε καµία διατέµνουσα να µην συµπληρωθεί µε το ίδιο στοιχείο του Σ. Το τετράγωνο C που δηµιουργήθηκε είναι Λατινικό τάξης n + n µε στοιχεία από το σύνολο Σ U Σ..3.3. Εφαρµογή της αθροιστικής σύνθεσης για την κατασκευή δύο Ορθογώνιων Λατινικών Τετραγώνων Για την κατασκευή δύο ορθογωνίων Λατινικών Τετραγώνων τάξης n = n + n, προϋποθέτουµε n n και την ύπαρξη ενός ζεύγους Λατινικών Τετραγώνων τάξης n και ενός ζεύγους τάξης n µε n κοινές παράλληλες διατέµνουσες. Οι παραπάνω προϋποθέσεις εξαλείφουν την αυθαίρετη αποσύνθεση του n σε n και n, για παράδειγµα αποκλείουν n = ή 6. Λόγω κάποιων συνδυαστικών δυσκολιών αποκλείεται το n = αν και υπάρχει ένα ζεύγος ορθογωνίων Λατινικών Τετραγώνων τάξης. Οπότε το εύρος του n είναι n [ / ] 3 n. 5

Μέθοδος Καταρχάς, πρέπει να ορίσουµε τα µεγέθη n,n. Έπειτα ας είναι Σ =GF(n ) και Σ =GF(n ), όπου GF(Galois Field) είναι ένα σώµα Galois. Ένα σώµα Galois ή αλλιώς πεπερασµένο σώµα ορίζεται ως ένα πεδίο το οποίο έχει πεπερασµένη πληθικότητα στοιχείων. Η πληθικότητα του πεδίου είναι πάντοτε ένας πρώτος αριθµός ή µια δύναµη ενός πρώτου αριθµού. Για κάθε πρώτο αριθµό υπάρχει ακριβώς ένα σώµα Galois. Κατασκευάζουµε έπειτα ένα Λατινικό Τετράγωνο B(x) τάξης n, που συµπληρώνεται µε στοιχεία που ικανοποιούν τη σχέση xa i + aj, στις θέσεις (i,j), x GF( n ), x 0, ai, aj GF( n ). Ανάλογα, κατασκευάζουµε και ένα Λατινικό Τετράγωνο B(y). Βρίσκουµε τις κοινές παράλληλες διατέµνουσες µε τη βοήθεια του Λατινικού Τετραγώνου B(). Θεωρούµε τα n n, n= n + n, n n τετράγωνα C(x) και C(y), C (x) = B(x) C (y) = B(y) Προβάλλουµε την διατέµνουσα s του B(x) οριζόντια και κάθετα σε µια αυθαίρετη γραµµή και στήλη του C (x). Προβάλλουµε περαιτέρω και την διατέµνουσα t του B(y) οριζόντια και κάθετα στην ίδια γραµµή και στήλη του C (y). Σύµφωνα µε τα Λήµµατα 4. και 4. [6] ισχύει k v και k h ( x, y, s, t) = [ sx( y) ty( x) ]/( x y), x y ( x, y, s, t) = [ t( x ) s( y ) ]/( x y), x y όπου η διατέµνουσα k v του B(x) και του B(y) δηµιουργεί το ίδιο σύνολο από n ζεύγη, τα οποία προκύπτουν από την υπέρθεση των καθέτων προβολών των διατεµνουσών s του B(x) και t του B(y). Αντίστοιχα ορίζεται και η διατέµνουσα k h. 6

Ορίζουµε ως Ω ένα σύνολο από n παράλληλες διατέµνουσες για B(x),B(y). Αξίζει να σηµειωθεί πως το Ω µπορεί να κατασκευαστεί µε n n διαφορετικούς τρόπους. Εδώ έγκειται η δυσκολία της µεθόδου που επιβάλλει το σύνολο Ω να µπορεί να αποσυντεθεί σε δύο µη-τεµνόµενα σύνολα S και T, το καθένα από τα οποία είναι πληθικότητας n, s S, t T, και επιπρόσθετα πρέπει να ισχύει K v U K = Ω, k K, k K. h v v h h Τέλος κατασκευάζουµε τα Ορθογώνια Λατινικά Τετράγωνα A,A τάξης n που συµπληρώνονται µε στοιχεία που ανήκουν στο Σ =GF(n ). Τα Λατινικά Τετράγωνα αυτά τοποθετούνται στις τελευταίες n γραµµές και στήλες των τελικών Λατινικών Τετραγώνων. Παράδειγµα: n µε Σ = GF ( 7) 0,,,3,4,5,6 και = ( 3) 7,8,9 Έστω = 0 = 7+ 3 Θέτουµε x =, y= 5. Τότε, = Σ GF. = 0 3 4 5 6 3 4 5 6 0 4 5 6 0 3 B ( )= B ( 5)= 6 0 3 4 5 3 4 5 6 0 3 4 5 6 0 5 6 0 3 4 0 3 4 5 6 5 6 0 3 4 3 4 5 6 0 3 4 5 6 0 6 0 3 4 5 4 5 6 0 3 3 4 5 6 0 Για να βρούµε τις κοινές παράλληλες διατέµνουσες στα B(x) και B(y), κατασκευάζουµε το βοηθητικό Λατινικό Τετράγωνο B(). B ( )= 0 3 4 5 6 3 4 5 6 0 3 4 5 6 0 3 4 5 6 0 4 5 6 0 3 5 6 0 3 4 6 0 3 4 5 7

Έστω επίσης 7 8 9 A = 8 9 7 A = 9 7 8 7 8 9 9 7 8 8 9 7 Επιλέγουµε Ω = 0,,,3,4,5 και Ω= U T = 0,,3 U,4,5 s= t k x y st k st για 0, = 4 : (,,, ) = (,5,, ) = 5 v s= t k x y st k st για, = : (,,, ) = (,5,, ) = 4 v s= t k x y st k st για 3, = 5 : (,,, ) = (,5,, ) = και v s= t k x y st k st για 0, = 4 : (,,, ) = (,5,, ) = s h h = t k x y st k st για, = : (,,, ) = (,5,, ) = 3 s= t k x y st k st για 3, = 5 : (,,, ) = (,5,, ) = 0 v v v h h h. S. Οπότε για τα παραπάνω ζεύγη ισχύει K = 5,4, και =,3,0 v K µε h αποτέλεσµα K U = Ω. v K h Συναρµολογώντας τώρα όλα τα κοµµάτια: L = 7 8 9 4 5 6 0 3 8 3 9 5 6 0 7 4 4 9 6 0 7 8 3 5 9 0 7 8 5 3 4 6 3 7 8 6 9 4 5 0 3 4 7 8 0 9 5 6 5 7 8 9 3 4 6 0 0 6 5 4 3 7 8 9 0 6 5 4 3 8 9 7 6 5 4 3 0 9 7 8 8

L = 0 9 3 7 8 6 4 5 5 9 0 7 8 3 4 6 9 4 7 8 0 5 3 6 7 8 4 5 6 9 0 3 7 8 3 9 5 6 4 0 8 5 6 0 9 7 3 4 3 4 9 6 7 8 0 5 6 5 4 0 3 7 8 9 3 6 5 4 0 9 7 8 4 0 3 6 5 8 9 7 και η υπέρθεσή τους (7,0) (8,) (,9) (9,3) (4,7) (5,8) (6,6) (0,4) (,) (3,5) (8,5) (3,9) (9,0) (5,7) (6,8) (0,3) (7,4) (,) (,6) (4,) (4,9) (9,4) (6,7) (0,8) (,0) (7,) (8,) (,5) (3,3) (5,6) (9,) (0,7) (,8) (,4) (7,5) (8,6) (5,9) (3,) (4,0) (6,3) (,7) (,8) (3,) (7,) (8,3) (6,9) (9,5) (4,6) (5,4) (0,0) (3,8) (4,5) (7,6) (8,0) (0,9) (9,) (,7) (5,3) (6,) (,4) (5,) (7,3) (8,4) (,9) (9,6) (3,7) (4,8) (6,0) (0,5) (,) (0,6) (6,) (5,5) (4,) (3,4) (,0) (,3) (7,7) (8,8) (9,9) (,3) (,6) (0,) (6,5) (5,) (4,4) (3,0) (8,9) (9,7) (7,8) (6,4) (5,0) (4,3) (3,6) (,) (,5) (0,) (9,8) (7,9) (8,7) σχήµα 9 Κεφάλαιο 3 ο : Αλγόριθµος αναζήτησης ορθογωνίων Λατινικών Τετραγώνων Για το πρόβληµα εύρεσης ορθογωνιών Λατινικών Τετραγώνων, παρατίθεται καταρχάς µια πολύ αποτελεσµατική υλοποίηση των G. Appa, D. Magos, I. Mourtos, και εν συνεχεία µια δική µου υλοποίηση που προσέγγισε το πρόβληµα µε ένα διαφορετικό σκεπτικό. 3. State of the art Το πρόβληµα εύρεσης δύο ορθογώνιων Λατινικών Τετραγώνων (OLS) προσεγγίστηκε από τους G. Appa, D. Magos, I. Mourtos µε Integer Programming (IP) και Constraint Programming (CP) [8]. Μοντέλο IP. Ορίζονται 4 σύνολα I,J,K,L πληθικότητας n. Έστω I το σύνολο γραµµών, J το σύνολο στηλών και K,L τα σύνολα των τιµών για τα 9

δύο Λατινικά Τετράγωνα. Έστω η δυαδική µεταβλητή x ijkl να είναι αν το ζευγάρι των τιµών (k,l) εµφανίζεται στο κελί (i,j) και 0 σε διαφορετική περίπτωση. Αφού κάθε ζευγάρι πρέπει να παρατηρηθεί ακριβώς µια φορά, συνεπάγεται ότι x ijkl : i I, j J = για κάθε (k,l). Πέντε επιπλέον περιορισµοί αυτού του τύπου δηµιουργούνται λαµβάνοντας υπόψιν ότι οι ρόλοι των τεσσάρων συνόλων είναι εναλλάξιµοι. Το αποτέλεσµα θα είναι το IP µοντέλο: x ijkl : i I, j J =, k K, l L x ijkl : i I, k K =, j J, l L x ijkl : i I, l L =, k K, j J x ijkl : j J, k K =, i I, l L x ijkl : j J, l L =, i I, k K x ijkl : k K, l L =, i I, j J x ijkl 0,, i I, j J, k K, l L. Μοντέλο CP. Έστω τα δύο τετράγωνα δηλώνονται ως X,Y και οι µεταβλητές X, 0,,..., n ij Yij δηλώνουν την τιµή που προσδίδεται στο κελί (i,j) σε κάθε τετράγωνο. Για κάθε τετράγωνο, ένα κατηγόρηµα all_different για τα n κελιά κάθε γραµµής και στήλης, διασφαλίζει ότι παραµένει Λατινικό. Για να εκφραστεί η συνθήκη της ορθογωνικότητας, ορίζονται οι µεταβλητές Z ij = X + n Y για i, j = 0,,..., n. Υπάρχουν ij ij n δυνατές τιµές για Z ij, δηλαδή Z 0,,..., n ij, οι οποίες έχουν ένα προς ένα αντιστοιχία µε τα n κατά σειρά κελιά α (i,j) για i, j = 0,,..., n. Τα δύο Τετράγωνα είναι ορθογώνια αν και µόνον αν όλες οι Z ij είναι ανά δύο διαφορετικές. all _ different Xij : i I, j J all _ different Xij : j J, i I all _ different Yij : i I, j J all _ different Yij : j J, i I all _ different Zij : i I, j J 0

Z ij = X + n Y, i I, j J ij ij X ij, 0,,..., n ij Y, Z 0,,..., n ij, i I, j J. Για την αποφυγή συµµετρικών περιπτώσεων, χρησιµοποιήθηκε προκαταρκτικός προσδιορισµός µεταβλητών. Αρχικά κατασκευάζεται η πρώτη γραµµή και πρώτη στήλη του Τετραγώνου X σε φυσική σειρά όπως επίσης και η πρώτη γραµµή του Τετραγώνου Y. Επιπλέον τα κελιά του Τετραγώνου Y της πρώτης στήλης λαµβάνουν τιµές όπως φαίνεται στο σχήµα. 0 n- n- i n- n- X 0 n- n-,3,3,4,,i-,i+ n-,3,,n- Y Σε γενικές γραµµές, και οι δύο αλγόριθµοι λειτουργούν ως εξής: Ο αλγόριθµος επιλέγει ένα κελί (i,j) και ένα ζευγάρι τιµών για να τοποθετηθούν στο κελί αυτό

στα τετράγωνα X και Y. Η αναζήτηση γίνεται σε δύο στάδια. Πρώτα, λαµβάνονται υπόψιν τα εναποµείναντα (n-3) κελιά στην πρώτη στήλη σύµφωνα µε τον περιορισµό που φαίνεται στο σχήµα. Σε δεύτερο στάδιο, η αναζήτηση προχωρά βρίσκοντας διατέµνουσες. Ο αλγόριθµος αφού έχει αναθέσει ένα ζεύγος τιµών στο κελί (i,j), προχωρά επιλέγοντας ένα κελί ( i, j ) τέτοιο ώστε i i και j j. Με αυτόν τον τρόπο, όλα τα επιλεγµένα κελιά βρίσκονται ανά δύο σε διαφορετικές και στήλές. Οπότε, τα επιλεγµένα κελιά του τετραγώνου X µπορούν να τεθούν µε µια ίδια τιµή ενώ όλα τα κελιά του τετραγώνου Υ πρέπει να έχουν ανά δύο διαφορετικές τιµές (σχηµατίζουν δηλαδή µια διατέµνουσα). οκιµάστηκαν και οι υβριδικοί αλγόριθµοι IPC, CPI. Ο αλγόριθµος IPC ουσιαστικά είναι ο αλγόριθµος IP, ο οποίος επιπρόσθετα διενεργεί αναπαραγωγή περιορισµών ως προεπεξεργαστικό βήµα. Ο αλγόριθµος CPI είναι βασισµένος στον αλγόριθµο CP, µε επιπλέον του χαρακτηριστικό την κλήση του IP αλγορίθµου όταν ένα µεγάλο υποσύνολο από CP µεταβλητές έχει αρχικοποιηθεί. Οι αλγόριθµοι συνοπτικά, κατασκευάζουν παράλληλα τα δύο Λατινικά Τετράγωνα ώστε να είναι ορθογώνια. Τα µοντέλα CP, IP για το πρόβληµα εύρεσης τριών αµοιβαίως ορθογώνιων Λατινικών Τετραγώνων (3MOLS) είναι άµεση γενικοποίηση των µοντέλων CP, IP για το πρόβληµα εύρεσης δύο ορθογώνιων Λατινικών Τετραγώνων (OLS). Έστω ότι οι µεταβλητές X,Y,U ορίζουν τρία Λατινικά Τετράγωνα τάξης n. Μοντέλο IP. Ορίζονται 5 σύνολα πληθικότητας n, I,J,K,L,M. Έστω Ι το σύνολο των γραµµών, J το σύνολο στηλών και K,L,M τα σύνολα των τιµών για τα τρία Λατινικά Τετράγωνα. Έστω η δυαδική µεταβλητή x ijklm να είναι αν το κελί (i,j) του τετραγώνου X,Y,U περιέχει τιµή k,l,m αντίστοιχα, και 0 σε διαφορετική περίπτωση. Ακριβώς όπως στην περίπτωση των δύο ορθογώνιων Λατινικών Τετραγώνων, το µοντέλο περιλαµβάνει περιορισµούς ισότητας, ο καθένας από τους οποίους προσθέτει όλες τις µεταβλητές που έχουν την ίδια τιµή για δύο από τους δείκτες, σε άθροισµα που ισούται µε ένα. Το µοντέλο CP περιλαµβάνει τις µεταβλητές και τους περιορισµούς του αντίστιχου µοντέλου για την εύρεση δύο ορθογωνίων Λατινικών Τετραγώνων. Επιπροσθέτως, περιλαµβάνει µεταβλητές 0,..., n U ij που ορίζουν τις τιµές των κελιών του τετραγώνου U, και µεταβλητές XU XU Z, Z 0,..., n ij ij που επιβάλλουν την συνθήκη ορθογωνικότητας

στα τετράγωνα X,U και X,Y αντίστοιχα. Οι περιορισµοί που επιβάλλονται στην U ij και σε κάθε µία από τις Z, είναι ανάλογοι µε αυτούς που XU YU ij Zij επιβάλλονται στις X ij και Z ij αντίστοιχα. Όπως και στην προηγούµενη περίπτωση, κατασκευάζεται η πρώτη γραµµή και πρώτη στήλη του Τετραγώνου X σε φυσική σειρά όπως επίσης η πρώτη γραµµή του Τετραγώνου Y και του Τετραγώνου U. Βάσει των αποτελεσµάτων για τα δύο ορθογώνια Λατινικά Τετράγωνα, χρησιµοποιήθηκε µόνο το µοντέλο CP. Ο αλγόριθµος επιλέγει ένα κελί (i,j), τέτοιο ώστε η X ij να µην έχει αρχικοποιηθεί. Τότε αρχικοποιεί την µεταβλητή X ij πρώτα, ακολουθούµενη από τις µεταβλητές Yij και U ij. Ο αλγόριθµος επιλέγει πάντα ένα κελί σε διαφορετική γραµµή και στήλη, έτσι ώστε να δηµιουργεί διατέµνουσες για τα τετράγωνα Y και U. 3. Ο αλγόριθµος Ο δικός µου αλγόριθµος αναζήτησης ορθογώνιων Λατινικών Τετραγώνων προσεγγίζει διαφορετικά το πρόβληµα, και η διαδικασία που ακολουθεί είναι η εξής: Λαµβάνεται κάθε φορά ένα Λατινικό Τετράγωνο και γίνονται οι απαραίτητοι έλεγχοι για την εύρεση ορθογωνίων Λατινικών Τετραγώνων µε το αρχικό. Ο αλγόριθµος που χρησιµοποιήθηκε, βασίστηκε καταρχάς, σε κάποια προπαρασκευαστικά βήµατα για τον αποκλεισµό αρκετών συµµετρικών υποθέσεων. Αυτό επετεύχθη µε την βοήθεια των µειωµένων (reduced) Λατινικών Τετραγώνων. Ισχύει ότι εάν αντιµεταθέσουµε οποιεσδήποτε σειρές ή στήλες ή ακόµα και σύµβολα ενός Λατινικού Τετραγώνου, η ορθογωνικότητά του (η ύπαρξη ενός Λατινικού Τετραγώνου ορθογώνιο προς αυτό) δεν επηρεάζεται. ηλαδή εάν το Λατινικό Τετράγωνο είχε ορθογώνιο ταίρι, θα εξακολουθεί να έχει και µετά τις όποιες αντιµεταθέσεις, και το αντίθετο. Συµπερασµατικά, οποιοδήποτε Λατινικό Τετράγωνο µπορεί να εκφυλιστεί στην περίπτωση ενός µειωµένου Λατινικού Τετραγώνου µε τις κατάλληλες αντιµεταθέσεις γραµµών, στηλών και συµβόλων. Έτσι µε την προπαρασκευαστική τοποθέτηση των συµβόλων σε φυσική σειρά στην πρώτη 3

γραµµή και πρώτη στήλη, αποκλείονται πολλές συµµετρικές περιπτώσεις, χωρίς παράλληλα να εξαιρούνται περιπτώσεις ορθογώνιων Λατινικών Τετραγώνων. Στην κατασκευή του αρχικού µειωµένου Λατινικού Τετραγώνου χρησιµοποιήθηκαν δύο δυνατοί αλγόριθµοι. 3.3 Αρχικό µειωµένο Λατινικό Τετράγωνο 3.3. Τυχαίο µειωµένο Λατινικό Τετράγωνο (RRLS) Αρχικά, ο αλγόριθµος γεµίζει τα κελιά της πρώτης γραµµής και στήλης µε ακέραιους αριθµούς σε φυσική σειρά όπως φαίνεται στο σχήµα 0. 0 n- n- n- n- σχήµα 0 Έπειτα, γεµίζει το Λατινικό Τετράγωνο ανά γραµµή. Ο αλγόριθµος επιλέγει τυχαία έναν αριθµό για κάθε κελί από έναν προσωρινό µονοδιάστατο πίνακα, έτσι ώστε ο αριθµός αυτός να µην είναι πλέον διαθέσιµος για επιλογή, αφού πρώτα τα κελιά της ίδιας στήλης των προηγουµένων παραγόµενων γραµµών ελεγχθούν για πλεονασµό. 4

0 n- n- n- n- σχήµα. Έλεγχος για πλεονασµό στα κελιά της ίδιας στήλης. Εάν συµβεί αυτό, ο αριθµός κρατείται στον προσωρινό πίνακα και ένας άλλος τυχαίος αριθµός δοκιµάζεται, εώς ότου να µην βρεθούν πλεονασµοί, οπότε και ο αλγόριθµος προχωρά στο επόµενο κελί της ίδιας γραµµής ή σε κελί επόµενης γραµµής. Είναι πιθανό κανένας από τους εναποµείναντες αριθµούς να µην ικανοποιεί τις προϋποθέσεις, οπότε µετά από 500 τυχαίες δοκιµές, όλη η γραµµή διαγράφεται και µια άλλη τυχαία σειρά αριθµών δοκιµάζεται εώς ότου να ικανοποιεί τους περιορισµούς ενός Λατινικού Τετραγώνου. Τα βήµατα του αλγορίθµου RRLS συνοψίζονται παρακάτω:. Γέµισε την πρώτη γραµµή µε αριθµούς σε φυσική σειρά.. Γέµισε την πρώτη στήλη µε αριθµούς σε φυσική σειρά. 3. Πήγαινε στο κελί (,). 4. Γέµισε κάθε επόµενο κελί µε τυχαία επιτρεπόµενη τιµή a [, n]. 5. Αν σε κάποιο κελί δεν βρέθηκε καµία κατάλληλη τιµή για 500 επαναλήψεις, διέγραψε την τρέχουσα γραµµή και προσπάθησε να δηµιουργήσεις µια νέα. 6. Αν έχεις φτάσει επιτυχώς στο τελευταίο κελί της τελευταίας γραµµής, τελείωσε. 5

Αλγόριθµος RRLS (LatinSquare, RowCounter, ColumnCounter, n, Repeator) for i =,..., n LatinSquare[0][i] := i+; 3 rof; 4 for i =,..., n 5 LatinSquare[i][0] := i+; 6 rof; 7 RowCounter := ; 8 ColumnCounter := ; 9 for j = 0,.., n //γραµµές 0 for i = 0,..., n //στήλες LatinSquare[j][i] := random a [, n] ; //τυχαία επιτρεπόµενη τιµή if no a allowed then 3 for Repeator =,,500 4 LatinSquare[j][i] := random a [, n] ; 5 until LatinSquare[j][i] is allowed 6 rof; 7 i := ; //διαγραφή της τρέχουσας γραµµής µετά από 500 //ανεπιτυχείς προσπάθειες 8 fi; 9 rof; 0 rof; return LatinSquare; end RRLS; σχήµα. Ψευδοκώδικας για τον αλγόριθµο RRLS Μόλις ολοκληρωθεί το µειωµένο Λατινικό Τετράγωνο, αρχίζουν οι έλεγχοι για την ορθογωνικότητα όπως περιγράφεται παρακάτω, και µόλις ολοκληρωθούν κι αυτοί, λαµβάνεται ένα νέο τυχαίο Λατινικό Τετράγωνο µε τον ίδιο αλγόριθµο. 3.3. «Ελάχιστο» µειωµένο Λατινικό Τετράγωνο (LRLS/ARLS) Αρχικά, όπως και στην περίπτωση του τυχαίου Λατινικού Τετραγώνου, σχήµα 0, ο αλγόριθµος γεµίζει τα κελιά της πρώτης γραµµής και στήλης µε ακέραιους αριθµούς σε φυσική σειρά, και γεµίζει το Λατινικό Τετράγωνο ανά γραµµή. 6

0 n- n- n- n- σχήµα 3. Έλεγχος για πλεονασµό σε γραµµή και στήλη. Τα βήµατα του αλγορίθµου LRLS/ARLS συνοψίζονται παρακάτω:. Γέµισε την πρώτη γραµµή µε αριθµούς σε φυσική σειρά.. Γέµισε την πρώτη στήλη µε αριθµούς σε φυσική σειρά. 3. Πήγαινε στο κελί (,). 4. Γέµισε κάθε επόµενο κελί µε την ελάχιστη επιτρεπόµενη τιµή a [, n]. 5. Αν σε κάποιο κελί δεν επιτρέπεται καµία τιµή, βρες το πρώτο από τα προηγούµενα κελιά όπου επιτρέπεται κάποια αλλαγή και θέσε την αµέσως επόµενη επιτρεπόµενη τιµή. 6. Αν έχεις φτάσει επιτυχώς στο τελευταίο κελί, κάνε τους ελέγχους για ορθογωνικότητα και µόλις ολοκληρωθούν, ψάξε το πρώτο από τα προηγούµενα κελιά που επιτρέπεται αλλαγή και θέσε την αµέσως επόµενη τιµή. 7. Αν ψάχνοντας το πρώτο από τα προηγούµενα κελιά που επιτρέπεται αλλαγή, φτάσεις στο κελί (,) και αυτό έχει τιµή n, δηλαδή δεν υπάρχει επόµενη τιµή να δοκιµαστεί, τελείωσε. 7

Αλγόριθµος LRLS/ARLS (LatinSquare, RowCounter, ColumnCounter, n) for i =,..., n LatinSquare[0][i] := i+; 3 rof; 4 for i =,..., n 5 LatinSquare[i][0] := i+; 6 rof; 7 RowCounter := ; 8 ColumnCounter := ; 9 for i =,...,( n ) 0 LatinSquare[i] := mina [, n] ; //ελάχιστη επιτρεπόµενη τιµή if no a allowed then i := i-; 3 until LatinSquare[i]+ is allowed 4 fi; 5 rof; 6 return LatinSquare; 7 execute αλγόριθµος OLS 8 i := ( n ) ; 9 i := i-; 0 until LatinSquare[i]+ is allowed if i = AND no LatinSquare[i]+ allowed then return All Reduced Latin Squares have been scanned 3 fi; 4 end LRLS/ARLS; σχήµα 4. Ψευδοκώδικας για τον αλγόριθµο LRLS/ARLS Μόλις ολοκληρωθεί το «ελάχιστο» µειωµένο Λατινικό Τετράγωνο, αρχίζουν οι έλεγχοι για την ορθογωνικότητα όπως περιγράφεται παρακάτω και µόλις ολοκληρωθούν, λαµβάνεται το επόµενο «ελάχιστο» µειωµένο Λατινικό Τετράγωνο από το προηγούµενο «ελάχιστο» µειωµένο Λατινικό Τετράγωνο ξεκινώντας από το βήµα 3 του αλγορίθµου. Με αυτόν τον τρόπο, εν τέλει, θα αποδείξουµε παρακάτω ότι λαµβάνονται όλα τα µειωµένα Λατινικά Τετράγωνα. Στο σηµείο αυτό είναι απαραίτητο να οριστεί η έννοια του µικρότερου Λατινικού Τετραγώνου. Ορισµός 3. Έστω X, Y S όπου X και Y δύο Λατινικά Τετράγωνα τάξης n και S το σύνολο των Λατινικών Τετραγώνων τάξης n. Ορίζουµε τον τελεστή T ( X, Y ) τέτοιον ώστε: T ( X, Y ) : = max k : x y, i,..., k, i i = όπου k (0, n ) και x, y τα κελιά των Λατινικών Τετραγώνων X, Y αντίστοιχα. 8

Λήµµα 3. Ένα Λατινικό Τετράγωνο θα είναι «µικρότερο» από ένα άλλο, αν και µόνον αν ισχύει T ( X, Y ) > T ( Y, X ). X < Y, Απόδειξη: Έστω T ( X, Y ) = T ( Y, X ) = k. Τότε από τον ορισµό 3., θα είναι είτε y > k+ xk+ ή y x. < k+ k+ Όµως: T ( X, Y ) = k xi yi, i=,..., k και x > k+ yk+ και T ( Y, X ) = k xi yi, i=,..., k και x < k+ yk+ που είναι άτοπο, άρα T ( X, Y ) T ( Y, X ) και όπως έχει οριστεί, T ( X, Y ) > T ( Y, X ). Λήµµα 3. Έστω X, Y S Λατινικά Τετράγωνα τάξης n έτσι ώστε X < Y. Τότε σύµφωνα µε το λήµµα 3. συνεπάγεται: T ( X, Y ) > T ( Y, X ). Θα δειχτεί ότι εάν X < Y τότε xi = yi, i=,..., T ( Y, X ) και y > T ( Y, X ) + xt ( Y, X ) +. Απόδειξη: T ( X, Y ) x y, i,..., T ( X, Y ) i i = T ( Y, X ) x y, i,..., T ( Y, X ) i i = Όµως για i=,..., min T ( X, Y ), T ( Y, X ) θα είναι: xi y i και Συνεπώς, xi yi i yi x =. i yi x = για i=,..., min T ( X, Y ), T ( Y, X ). Αλλά ισχύει ότι T ( X, Y ) > T ( Y, X ) το οποίο συνεπάγεται ότι min T ( X, Y ), T ( Y, X ) = T ( Y, X ). Έτσι, εάν X < Y, συνεπάγεται ότι = y, i,..., T ( Y, X ). xi i = Από τον ορισµό 3. είναι προφανές ότι: y > T ( Y, X ) + xt ( Y, X ) + επειδή T ( X, Y ) : = max k : x y, i,..., k. Το µέγιστο (max) σηµαίνει πως για k+ η i i = ανισότητα αντιστρέφεται. 9

Λήµµα 3.3 Εάν X < Z. X, Y, Z S τρία Λατινικά Τετράγωνα και X < Y, Y < Z τότε Απόδειξη: Σύµφωνα µε το λήµµα 3.: X < Y : xi = yi, i=,,..., T ( Y, X ) () και y > T ( Y, X ) + xt ( Y, X ) + () και σύµφωνα µε το λήµµα 3. ισχύει: T ( X, Y ) > T ( Y, X ) (3). Σύµφωνα µε το λήµµα 3.: Y < Z : yi = zi, i=,,..., T ( Z, Y ) (4) και z > T ( Z, Y ) + yt ( Z, Y ) + (5) και σύµφωνα µε το λήµµα 3. ισχύει : T ( Y, Z ) > T ( Z, Y ) (6). Θα δειχθεί ότι T ( Z, X ) = min T ( Y, X ), T ( Z, Y ) και T ( X, Z) = min T ( X, Y ), T ( Y, Z) και ότι πάντα ισχύει T ( X, Z) > T ( Z, X ) έτσι ώστε X < Z. Υπάρχουν τρεις περιπτώσεις για τα T ( Y, X ), T ( Z, Y ). Περίπτωση : Έστω T ( Y, X ) < T ( Z, Y ). Λόγω της () = y, i,,..., T ( Y, X ) και xi i = yi zi i= λόγω της (4) =,,,..., T ( Z, Y ), επειδή έχω κάνει την υπόθεση ότι T ( Y, X ) < T ( Z, Y ) και επειδή, συνεπάγεται ότι: x = y = z, i,,..., T ( Y, X ), άµεσα βγαίνει το συµπέρασµα ότι xi i = i i i = = z, i,,..., T ( Y, X ) (7). Λόγω της () y > T ( Y, X ) + xt ( Y, X ) + και λόγω της (4) y = T ( Y, X ) + zt ( Y, X ) + (αφού υποθέσαµε T ( Y, X ) < T ( Z, Y )), θα είναι: z T ( Y, X ) + = yt ( Y, X ) + > xt ( Y, X ) + zt ( Y, X ) + > xt ( Y, X ) + (8). Από τις (7),(8) και το λήµµα 3. ισχύει ότι T ( Z, X ) = T ( Y, X ). Περίπτωση : Έστω T ( Z, Y ) < T ( Y, X ). Παρόµοια µε την περίπτωση αποδεικνύεται ότι: T ( Z, X ) = T ( Z, Y ). Περίπτωση 3: 30

Έστω T ( Y, X ) = T ( Z, Y ) = k Λόγω των () και (4) και επειδή έχουµε κάνει την υπόθεση T ( Y, X ) = T ( Z, Y ), ισχύει ότι xi = yi = zi, i=,..., k (9) Λόγω της () y > T ( Y, X ) + xt ( Y, X ) + και της (5) z > T ( Z, Y ) + yt ( Z, Y ) + ισχύει ότι: x y z x z (0). k+ < k+ < k+ k+ < k+ Από τις (9),(0) και το λήµµα 3. ισχύει ότι T ( Z, X ) = T ( Y, X ) = T ( Z, Y ). Σε κάθε περίπτωση, έχει δειχτεί ότι T ( Z, X ) = min T ( Y, X ), T ( Z, Y ). Με τον ίδιο τρόπο αποδεικνύεται ότι T ( X, Z) = min T ( X, Y ), T ( Y, Z). Ως τώρα έχουµε δείξει ότι: T ( Z, X ) = min T ( Y, X ), T ( Z, Y ) = max k : x z, i,..., k και i i = T ( X, Z) = min T ( X, Y ), T ( Y, Z) = max k : x z, i,..., k i i = Αρκεί να δείξουµε ότι T ( X, Z) > T ( Z, X ) και τότε θα είναι προφανές λόγω του λήµµατος 3. ότι συνδυασµούς. X < Z. Θα πάρουµε και τους τέσσερις δυνατούς Περίπτωση : Έστω T ( Y, X ) T ( Z, Y ) και T ( X, Y ) T ( Y, Z ). Άρα T ( Z, X ) = T ( Y, X ) και T ( X, Z) = T ( X, Y ). Λόγω της (3) και των παραπάνω σχέσεων: T ( X, Y ) > T ( Y, X ) T ( X, Z) > T ( Z, X ) X < Z. Περίπτωση : Έστω T ( Y, X ) T ( Z, Y ) και T ( Y, Z) T ( X, Y ). Άρα T ( Z, X ) = T ( Y, X ) και T ( X, Z) = T ( Y, Z). Λόγω της (6) και των παραπάνω σχέσεων: T ( Z, X ) = T ( Y, X ) T ( Z, Y ) < T ( Y, Z). Όµως T ( X, Z) = T ( Y, Z). Άρα T ( Z, X ) < T ( X, Z ) X < Z. Περίπτωση 3: Έστω T ( Z, Y ) T ( Y, X ) και T ( X, Y ) T ( Y, Z ). 3

Άρα T ( Z, X ) = T ( Z, Y ) και T ( X, Z) = T ( X, Y ). Λόγω της (3) και των παραπάνω σχέσεων: T ( X, Z) = T ( X, Y ) > T ( Y, X ) T ( Z, Y ). Όµως T ( Z, Y ) = T ( Z, X ). Άρα T ( Z, X ) < T ( X, Z ) X < Z. Περίπτωση 4: Έστω T ( Z, Y ) T ( Y, X ) και T ( Y, Z) T ( X, Y ). Άρα T ( Z, X ) = T ( Z, Y ) και T ( X, Z) = T ( Y, Z). Λόγω της (6) και των παραπάνω σχέσεων: T ( Y, Z) > T ( Z, Y ) T ( X, Z ) > T ( Z, X ) X < Z. Όπως αποδείχθηκε, σε κάθε περίπτωση ισχύει T ( X, Z) > T ( Z, X ) το οποίο σύµφωνα µε το λήµµα 3. συνεπάγεται ότι X < Z. Λήµµα 3.4 ύο Λατινικά Τετράγωνα θα είναι ίσα µεταξύ τους, µόνον αν T ( X, Y ) = T ( Y, X ) = n. X = Y, αν και Απόδειξη: Έστω X = Y x i = yi, i=,,..., n xi yi, i=,,..., n T ( X, Y ) = n Y = X y i = xi, i=,,..., n yi xi, i=,,..., n T ( Y, X ) = n Έστω T ( X, Y ) = T ( Y, X ) = k x i i y, i=,,..., k xi = yi, i=,,..., k y i i x, i=,,..., k Αν k n + ώστε > k+ k+ x y ή y > k+ xk+ τότε x y και xi = yi, i=,,..., k.σ ύµφωνα µε το λήµµα 3., > k+ k+ T ( X, Y ) > k. Όµως T ( Y, X ) = k, οπότε T ( X, Y ) T ( Y, X ) το οποίο είναι άτοπο. 3

Οµοίως για x < k+ yk+ και xi = yi, i=,,..., k. Σ ύµφωνα µε το λήµµα 3., T ( Y, X ) > k. Όµως T ( X, Y ) = k, οπότε T ( X, Y ) T ( Y, X ) το οποίο είναι και πάλι άτοπο. Άρα X = Y αν και µόνον αν T ( X, Y ) T Y X = n = (, ). Τώρα πρέπει να αποδειχθεί ότι ο αλγόριθµος: α) εν παράγει ποτέ κάποιο Λατινικό Τετράγωνο δύο φορές και β) Παράγει όλα τα δυνατά µειωµένα Λατινικά Τετράγωνα. Με βάση τους ορισµούς και τα λήµµατα, θα δείξουµε ότι ισχύουν οι παραπάνω ισχυρισµοί. Ο πρώτος ισχυρισµός µπορεί να αποδειχθεί εφόσον κάθε επόµενο Λατινικό Τετράγωνο στο οποίο βρίσκεται ο αλγόριθµος είναι µεγαλύτερο του προηγούµενου. Με βάση αυτό και µε δεδοµένο το λήµµα 3.3, ποτέ δεν θα προκύψει ίδιο τετράγωνο εφόσον X < <. X X max Εάν Y είναι το τελευταίο Λατινικό Τετράγωνο που προέκυψε και Xτο αµέσως προηγούµενο, σύµφωνα µε τον αλγόριθµο θα υπάρχει θέση x i k n, τέτοια ώστε i = y, i=,..., k και y k > xk. Από το λήµµα 3. όµως, προκύπτει ότι σε αυτή τη περίπτωση θα ισχύει X < Y εφόσον αρχίζοντας από το κελί (,) έχει επιλεγεί η ελάχιστη δυνατή τιµή κάθε φορά, για όλα τα κελιά. Αρκεί να αποδειχθεί ότι µε τη µέθοδο του αλγορίθµου για εύρεση του επόµενου Λατινικού Τετραγώνου, δηλαδή επιλογής κάθε φορά της µέγιστης δυνατής θέσης που επιτρέπεται αλλαγή και επιλογής της επόµενης τιµής (από αυτήν που είχε) για την θέση αυτή, δεν θα υπάρχει ποτέ Λατινικό Τετράγωνο ενδιάµεσο αυτών. ηλαδή, αρκεί να δειχθεί ότι αν X, Y διαδοχικά τετράγωνα του αλγορίθµου ( X < Y ), τότε, δεν υπάρχει λατινικό τετράγωνο Z τέτοιο ώστεx < Z < Y. Απόδειξη: ιαδοχικά τετράγωνα σύµφωνα µε τον αλγόριθµο, σηµαίνει ότι το Y προέκυψε από το X, αφού βρέθηκε η µέγιστη επιτρεπτή θέση που µπορούσε να γίνει αλλαγή, και η τιµή στη θέση αυτή αυξήθηκε κατά την ελάχιστη δυνατή τιµή 33

(έτσι ώστε συνεχίζοντας να τοποθετούµε τις ελάχιστες δυνατές τιµές στα υπόλοιπα τετράγωνα, προέκυψε το επιτρεπτό τετράγωνοy ). Έστω ότι υπάρχει Z, τέτοιο ώστεx < Z < Y. Τότε, σύµφωνα µε το Λήµµα 3.: X < Y, άρα υπάρχει k ώστε xi = yi, i=,..., k και x k < yk. X < Z, άρα υπάρχει m ώστε xi = zi, i=,..., m και x m < zm. ΕπειδήZ < Y, θα είναι οπότε, διακρίνουµε δύο περιπτώσεις: k m (αλλιώς θα ήταν Ζ>Υ σύµφωνα µε το Λήµµα 3.), Αν k = m, τότε, xi = yi = zi, i=,..., k και x k < zk < yk (), οπότε καταλήγουµε σε άτοπο, διότι σύµφωνα µε τον αλγόριθµο για την µέγιστη επιτρεπτή θέση k, επιλέγεται να τοποθετηθεί η αµέσως επόµενη από την x k επιτρεπτή τιµή, δηλαδή η ικανοποιήσει την ανισότητα (). y k, άρα δεν υπάρχει z k να Ανk < m, τότε υπάρχει η θέση επιτρεπτής αλλαγής m µεm> k, άρα για την κατασκευή του Yεπιλέχθηκε η δυνατή θέση αλλαγής k που δεν είναι η µέγιστη, πράγµα που µε βάση τον αλγόριθµο είναι άτοπο. Τελικά, σε κάθε περίπτωση αποδεικνύεται ότι ο αλγόριθµος παράγει το αµέσως «µεγαλύτερο» κάθε φορά Λατινικό Τετράγωνο. Ο αλγόριθµος λοιπόν, αρχίζει από το µικρότερο δυνατό Λατινικό Τετράγωνο και καταλήγει στο µεγαλύτερο δυνατό χωρίς να παραλείπει δυνατά Λατινικά Τετράγωνα στην εξέλιξή του. Έχοντας αποδείξει τους δύο ισχυρισµούς, είναι φανερό ότι ο αλγόριθµος παράγει όλα τα δυνατά µειωµένα Λατινικά Τετράγωνα της δοθείσας τάξης. 3.4 Αλγόριθµος για την εύρεση ορθογωνιών ζευγών Λατινικών Τετραγώνων (the OLS problem) Για το µειωµένο Λατινικό Τετράγωνο που έχει κατασκευαστεί προηγουµένως, γίνονται οι απαραίτητοι έλεγχοι για την εύρεση των ορθογωνίων Λατινικών 34

Τετραγώνων µε αυτό. Αυτό γίνεται µε την εύρεση των κατάλληλων διατεµνουσών του αρχικού Λατινικού Τετραγώνου. Θεώρηµα 3. Ένα Λατινικό Τετράγωνο L τάξης n έχει ορθογώνιο ταίρι, αν και µόνον αν, έχει n διατέµνουσες οι οποίες ανά δύο να µην έχουν κανένα κοινό κελί, δηλαδή να καταλαµβάνουν µαζί, όλα τα Τετραγώνου []. n κελιά του Λατινικού Για τις πιθανές διατέµνουσες, επέλεξα να ισχύει το εξής: η πρώτη σε αναζήτηση διατέµνουσα θα έχει πάντα ένα σταθερό κελί, και αυτό θα είναι το κελί της πρώτης στήλης και πρώτης γραµµής. Οι υπόλοιπες διατέµνουσες, θα έχουν επίσης από ένα σταθερό κελί, και αυτό θα είναι το κελί της πρώτης στήλης και της n-οστής γραµµής. Ο αλγόριθµος ξεκινά προσπαθώντας να βρει µια πρώτη «ελάχιστη» διατέµνουσα. Προχωρά ανά στήλη, από πάνω προς τα κάτω. Όταν βρει κάποιο κελί που να ικανοποιεί τις προϋποθέσεις ένταξης στην εκάστοτε διατέµνουσα, προχωρά στην επόµενη στήλη ή, εάν ολοκληρωθεί η διατέµνουσα, προχωρά στην επόµενη διατέµνουσα. 0 n- n- n- n- σχήµα 5. Έλεγχος πλεονασµού για εύρεση διατέµνουσας. Έλεγχος πλεονασµού τιµής κελιού, πλεονασµού δείκτη γραµµής, και πλεονασµού κελιού λόγω επιλογής του από προηγούµενη διατέµνουσα. Εάν βρεθεί σε αδιέξοδο, ο αλγόριθµος πηγαίνει στην προηγούµενη στήλη και δοκιµάζει το αµέσως επόµενο κελί της στήλης από αυτό που είχε αποθηκεύσει για την συγκεκριµένη διατέµνουσα ή εάν είναι στο δεύτερο κελί της 35

διατέµνουσας, πηγαίνει στο προτελευταίο κελί (προτελευταία στήλη) της προηγούµενης διατέµνουσας και ενεργεί παροµοίως. Με αυτόν τον τρόπο, ο αλγόριθµος επιλέγει κάθε φορά µια «µεγαλύτερη» διατέµνουσα από την προηγούµενη έτσι ώστε στο τέλος της διαδικασίας να έχει ελέγξει όλες τις πιθανές διατέµνουσες. Στο σηµείο αυτό, είναι απαραίτητο να οριστεί η έννοια της µικρότερης διατέµνουσας. Ορισµός 3. Έστω V, W D όπου V και W δύο διατέµνουσες ενός Λατινικού Τετραγώνου και D το σύνολο των διατεµνουσών του Λατινικού Τετραγώνου. v w Ορίζουµε τον τελεστή T ( V, W ) τέτοιον ώστε: T ( V, W ) : = max l : r r, i,..., l, όπου l n και v w i ri i i = r, οι δείκτες των κελιών των διατεµνουσών V, W αντίστοιχα. Οι αποδείξεις των παρακάτων ληµµάτων είναι απολύτως ανάλογες µε αυτές των ληµµάτων 3., 3., 3.3, 3.4 και θα ήταν περιττό να συµπεριληφθούν. Λήµµα 3.5 Μία διατέµνουσα θα είναι «µικρότερη» από µία άλλη, µόνον αν ισχύει T ( V, W ) > T ( W, V ). V, W, αν και Λήµµα 3.6 Έστω V, W D δύο διατέµνουσες έτσι ώστε V < W. Τότε σύµφωνα µε το λήµµα 5 συνεπάγεται: T ( V, W ) > T ( W, V ). Ισχύει ότι, εάν V < W τότε r w = r, i,..., T ( W, V ) και v i i = v w rt ( WV, ) rt ( W, V ) + + >. Λήµµα 3.7 Εάν V, W, U D τρεις διατέµνουσες και V < W, W < U τότε V < U. Λήµµα 3.8 ύο διατέµνουσες θα είναι ίσες µεταξύ τους, T ( V, W ) = T ( V, W ) = n. V = W, αν και µόνον αν Η απόδειξη των δύο ισχυρισµών: α) Ο αλγόριθµος δεν παράγει ποτέ κάποια διατέµνουσα δύο φορές και β) Παράγει όλες τις δυνατές διατέµνουσες ότι δηλαδή ο αλγόριθµος λαµβάνει όλες τις διατέµνουσες και ότι ξεκινά από την «µικρότερη» και φτάνει στην «µεγαλύτερη» δίχως την εξαίρεση ενδίαµεσων διατεµνουσών, είναι απολύτως ανάλογη µε την απόδειξη των δύο ισχυρισµών: 36

α) Ο αλγόριθµος δεν παράγει ποτέ κάποιο Λατινικό Τετράγωνο δύο φορές και β) Παράγει όλα τα δυνατά µειωµένα Λατινικά Τετράγωνα και δεν συµπεριλήφθησαν. Στην περίπτωση που ο αλγόριθµος δεν καταφέρει εξ αρχής να βρει µια πρώτη διατέµνουσα ή δεν καταφέρει να βρει τις n διατέµνουσες, απορρίπτει το Λατινικό Τετράγωνο και παίρνει το επόµενο. Τα βήµατα του αλγορίθµου OLS συνοψίζονται παρακάτω:. Όρισε το κελί της πρώτης στήλης και n-οστής γραµµής ως κελί της n- οστής διατέµνουσας.. Πήγαινε στο κελί (0,). 3. Καθόρισε κάθε επόµενο κελί της διατέµνουσας, αυτό µε την ελάχιστη επιτρεπόµενη τιµή του δείκτη γραµµής r [ 0, n ]. 4. Αν σε κάποια στήλη, κανένα κελί δεν βρέθηκε κατάλληλο για ένταξή του στην τρέχουσα διατέµνουσα, βρες το πρώτο από τα προηγούµενα κελιά όπου επιτρέπεται κάποια αλλαγή στον δείκτη γραµµής του, και καθόρισε το νέο κελί αντικαθιστώντας το παλιό, ως κελί της τρέχουσας διατέµνουσας. 5. Εάν έχεις καθορίσει και το τελευταίο κελί της διατέµνουσας, προχώρησε στην επόµενη. 6. Αν έχεις καθορίσει επιτυχώς και το τελευταίο κελί της τελευταίας διατέµνουσας, τελείωσε. 37

Αλγόριθµος OLS (StoreRow, StoreValue, RowCounter, ColumnCounter, n) for i = 0,..., n StoreRow[ i n] := i; 3 StoreValue[ i n] := LatinSquare[0][i] ; 3 rof; 4 RowCounter := 0; 5 ColumnCounter := ; 6 for j =,.., n //διατέµνουσες 7 for i =,..., n //στήλες 8 for k = 0,..., n //γραµµές 9 StoreRow[ n j+ i ] := k ; //ελάχιστη επιτρεπόµενη γραµµή 0 StoreValue[ n j+ i ] := LatinSquare[k][i] ; rof; i := i-; //κανένα κελί δεν ήταν κατάλληλο, δοκιµάζουµε άλλο κελί //σε προηγούµενη στήλη 3 StoreRow[ n j+ i ] := StoreRow[ n j+ i ]+; 4 StoreValue[ n j+ i ] := LatinSquare[k][i] ; 5 until current cell is allowed 6 rof; 7 j := j- 8 k := n-; //κανένα άλλο προηγούµενο κελί της τρέχουσας //διατέµνουσας δεν ήταν κατάλληλο, δοκιµάζουµε άλλα κελιά //σε προηγούµενη διατέµνουσα 9 k := k-; 0 StoreRow[ n j+ i ] := StoreRow[ n j+ i ]+; StoreValue[ n j+ i ] := LatinSquare[k][i] ; if j= AND i= AND no cell is allowed then 3 return No n transversals exists/no orthogonal mate exists 4 execute RRLS/LRLS/ARLS 5 fi; 6 until current cell is allowed 7 rof; 8 return StoreRow,StoreValue; 30 end OLS; σχήµα 6. Ψευδοκώδικας για τον αλγόριθµο OLS Αφού βρεθούν n διατέµνουσες, υπάρχει ορθογώνιο ταίρι του Λατινικού Τετραγώνου. Η δηµιουργία του επιβάλλει σε όλα τα κελιά µιας διατέµνουσας να τοποθετείται µία µόνον τιµή, και στις διατέµνουσες ανά δύο να έχουν τοποθετηθεί διαφορετικές τιµές []. 38

3.5 Αλγόριθµος για την εύρεση τριών αµοιβαίων ορθογωνιών Λατινικών Τετραγώνων (the 3 MOLS problem) Για την εύρεση ενός τρίτου Λατινικού Τετραγώνου, ορθογώνιο και µε τα δύο που έχουν ήδη βρεθεί, χρησιµοποιήθηκε ο παραπάνω αλγόριθµος εύρεσης διατεµνουσών µε έναν επιπλέον περιορισµό στους ελέγχους του. Πρέπει η n- οστή διατέµνουσα για το τρίτο Λατινικό Τετράγωνο, να έχει µόνο ένα κοινό κελί µε την αντίστοιχη n-οστή διατέµνουσα για το δεύτερο Λατινικό Τετράγωνο. Ο περιορισµός αυτός αποδεικνύεται δια της ατόπου απαγωγής. Έστω οι n-οστές αντίστοιχες διατέµνουσες για κάθε Λατινικό Τετράγωνο έχουν δύο ή παραπάνω κοινά κελιά. Τότε τα δύο Λατινικά Τετράγωνα που είναι ορθογώνια µε το αρχικό, δεν θα είναι ορθογώνια µεταξύ τους, αφού θα έχουν δύο ή και παραπάνω ολόιδια ζεύγη κελιών στην υπέρθεσή τους. Άρα πρέπει οι οι αντίστοιχες διατέµνουσες των δύο Λατινικών Τετραγώνων, να έχουν µόνο ένα κοινό κελί. 0 n- n- n- n- σχήµα 7. Έλεγχος πλεονασµού για εύρεση διατέµνουσας. Έλεγχος πλεονασµού τιµής κελιού, πλεονασµού δείκτη γραµµής, πλεονασµού κελιού λόγω επιλογής του από προηγούµενη διατέµνουσα ή λόγω επιλογής του από την αντίστοιχη διατέµνουσα του του πρώτου ορθογωνίου µε το αρχικό Λατινικού Τετραγώνου. Ο περιορισµός αυτός είναι αναγκαία αλλά όχι ικανή συνθήκη για την εύρεση τριών αµοιβαίως ορθογωνιών Λατινικών Τετραγώνων, οπότε αν βρεθούν οι διατέµνουσες που να ικανοποιούν τα παραπάνω για τα δύο Λατινικά Τετράγωνα, γίνεται ένας επιπλέον έλεγχος στα Λατινικά Τετράγωνα για ορθογωνικότητα. Παρόλο που ο περιορισµός δεν είναι και ικανή και αναγκαία 39

συνθήκη, περιορίζει κατά πολύ την υπολογιστική πολυπλοκότητα αφού δεν απαιτείται η εύρεση όλων των ορθογωνίων Λατινικών Τετραγώνων µε το αρχικό, όπως επίσης και ο µετέπειτα έλεγχος όλων των Λατινικών Τετραγώνων ανά δύο για ορθογωνικότητα. Τα βήµατα του αλγορίθµου 3MOLS είναι εν πολλοίς παράµια µε αυτά του αλγορίθµου OLS και συνοψίζονται παρακάτω:. Όρισε το κελί της πρώτης στήλης και n-οστής γραµµής ως κελί της n- οστής διατέµνουσας.. Πήγαινε στο κελί (0,). 3. Καθόρισε κάθε επόµενο κελί της διατέµνουσας, αυτό µε την ελάχιστη επιτρεπόµενη τιµή του δείκτη γραµµής r [ 0, n ] (εδώ γίνεται ένας επιπλεόν έλεγχος ώστε τα κελιά της n-οστής διατέµνουσας να µην είναι ίδια µε τα κελιά της n-οστής διατέµνουσας που βρέθηκαν µε βάση τον αλγόριθµο OLS). 4. Αν σε κάποια στήλη, κανένα κελί δεν βρέθηκε κατάλληλο για ένταξή του στην τρέχουσα διατέµνουσα, βρες το πρώτο από τα προηγούµενα κελιά όπου επιτρέπεται κάποια αλλαγή στον δείκτη γραµµής του, και καθόρισε το νέο κελί αντικαθιστώντας το παλιό, ως κελί της τρέχουσας διατέµνουσας. 5. Εάν έχεις καθορίσει και το τελευταίο κελί της διατέµνουσας, προχώρησε στην επόµενη. 6. Αν έχεις καθορίσει επιτυχώς και το τελευταίο κελί της τελευταίας διατέµνουσας, κάνε έλεγχο για ορθογωνικότητα µεταξύ των παραγοµένων Λατινικών Τετραγώνων. 7. Αν η ορθογωνικότητα είναι αληθής, τελείωσε. 40

Αλγόριθµος 3ΜOLS (StoreRow, StoreValue, StoreRow, StoreValue, RowCounter, ColumnCounter, n) for i = 0,..., n StoreRow[ i n] := i; 3 StoreValue[ i n] := LatinSquare[0][i] ; 3 rof; 4 RowCounter := 0; 5 ColumnCounter := ; 6 for j =,.., n //διατέµνουσες 7 for i =,..., n //στήλες 8 for k = 0,..., n //γραµµές 9 StoreRow[ n j+ i ] := k ; //ελάχιστη επιτρεπόµενη γραµµή 0 StoreValue[ n j+ i ] := LatinSquare[k][i] ; rof; i := i-; //κανένα κελί δεν ήταν κατάλληλο, δοκιµάζουµε άλλο κελί //σε προηγούµενη στήλη 3 StoreRow[ n j+ i ] := StoreRow[ n j+ i ]+; 4 StoreValue[ n j+ i ] := LatinSquare[k][i] ; 5 until current cell is allowed 6 rof; 7 j := j- 8 k := n-; //κανένα άλλο προηγούµενο κελί της τρέχουσας //διατέµνουσας δεν ήταν κατάλληλο, δοκιµάζουµε άλλα κελιά //σε προηγούµενη διατέµνουσα 9 k := k-; 0 StoreRow[ n j+ i ] := StoreRow[ n j+ i ]+; StoreValue[ n j+ i ] := LatinSquare[k][i] ; if j= AND i= AND no cell is allowed then 3 return No n transversals exists/no orthogonal mate exists 4 execute αλγόριθµο OLS //αναζήτηση νέου ορθογωνίου Λατινικού //Τετραγώνου µε τον αλγόριθµο OLS 4 fi; 5 until current cell is allowed 6 rof; 7 if orthogonal mate and orthogonal mate are not orthogonal then 8 execute αλγόριθµο OLS 9 fi; 30 return StoreRow,StoreValue; 3 end 3ΜOLS; σχήµα 8. Ψευδοκώδικας για τον αλγόριθµο 3MOLS 4