• Nem Talált Eredményt

Antichains

In document Extremal Theorems for Matrices (Pldal 59-68)

3.3 Order shattering

3.3.2 Antichains

[m]

k−2

∪ · · · ∪ [m]0

. By Lemma 3.3.4, |osh(F)| ≤ k−1m

. We now apply our

equality (3.12) to obtain (3.54).

3.3.2 Antichains

Conjecture 3.1.2 of Frankl [Fra89] attacks the case where F is not uniform but merely required to be an antichain. Frankl conjectured the bound on the size of an antichain (in 2[m]) which does not shatter ak-set to be the same as in Theorem 3.3.2. We are able to find the following simple characterization of those sets which can be order shattered by an antichain.

Theorem 3.3.5 Let S = {s1, s2, . . . , sk} with s1 < s2 < · · · < sk. Then there in an antichain A with S∈osh(A) if and only if

f(S) =

k

X

i=1

1

2si−i <1. (3.60) In particular, the set {3,4,5} is an example of a set which can be order shattered by an antichain but not by a uniform family. As a result, the bounds we could obtain by this analysis will fall short of Conjecture 3.1.2 but the characterization is remarkably simple and perhaps the result will find application in an attack on Frankl’s conjecture. Some notation will be needed for our constructions. Let U, V be two sets withU ∩V =∅. Now for two families of subsets A ⊆2U,B ⊆ 2V we define

A × B ={A∪B :A∈ A, B ∈ B} (3.61) We will also use the notation for a family consisting of a single set A⊆U as

A× B={A∪B :B ∈ B} (3.62)

and we will use this sometimes in cases where A =∅. A stricter rule would be to write {∅} as a family of sets whose only element is ∅ but this seems unnecessary. We will provide the proof from the following series of Lemmas.

Lemma 3.3.6 Let 1 ≤ s1 < s2 < · · · < sk be integers and l ≥ 2. If there is an antichain A withS ={s1, s2, . . . , sk−1, sk+ 1, sk+ 2, . . . , sk+l} ∈ osh(A)then there is an antichainA0 withS0 ={s1, s2, . . . , sk−1, sk, sk+2, sk+ 3, . . . , sk+ 2d(l+ 1)/2e −2} ∈osh(A0).

Proof of Lemma 3.3.6 Assume |A| = 2k−1+l and A ⊆ 2[sk+l]. Since S ∈ osh(A), we can partition A into 2l families A(Ci), one for each Ci ⊆ {sk+ 1, sk+ 2, . . . , sk+l}, each of the form

A(Ci) =Ai×Bi×Ci (3.63) whereAi ⊆2[sk−1] and {s1, s2, . . . , sk−1} ∈osh(Ai), Bi ⊆ {sk}.

We take any tower of length l + 1 of the Ci’s e.g. ∅ ⊂ {sk + 1} ⊂ {sk+ 1, sk+ 2} ⊂ · · · ⊂ {sk+ 1, sk+ 2, . . . , sk+l}. We deduce that at least

p=

l+ 1 2

(3.64) have the same set Bi (i.e. p indices in which Bi = ∅ or p indices in which Bi ={sk}). Let the indexing of the sets be reordered so we obtain

C1 ⊂C2 ⊂C3· · · ⊂Cp and B1 =B2 =· · ·=Bp (3.65) We now use the fact A is an antichain to deduce that for any pair i, j with 1 ≤ i < j ≤ p, and for any set D ∈ Ai and any set E ∈ Aj we must have D\E 6=∅.

Let T = {sk + 2, sk + 3, . . . , sk + 2p −2}. We now form the desired antichain A0 consisting of all the following subsets of [sk+ 2p−2].

A1× ∅ × {sk+ 1} × T0 S A2× {sk} × {sk+ 1} × T0 S A2× ∅ × {sk+ 1} × T1 S A3× {sk} × {sk+ 1} × T1 ...

S

Ap−1× ∅ × {sk+ 1} × p−2T S

Ap× {sk} × {sk+ 1} × p−2T and also

A1× ∅ × ∅ × p−1T S

A2× {sk} × ∅ × p−1T S

A2× ∅ × ∅ × Tp S

A3× {sk} × ∅ × Tp ...

S

Ap−1× ∅ × ∅ × 2p−3T S

Ap× {sk} × ∅ × 2p−3T

(3.66)

Thus for 0 ≤ i ≤ p−2, we have the sets Ai+1 × ∅ × {sk + 1} × Ti and Ai+2× {sk} × {sk+ 1} × Ti

and for p−1≤ i ≤ 2p−3, we have the sets Ai−p+2× ∅ × ∅ × Ti

and Ai−p+3× {sk} × ∅ × Ti

. Thus S0 ∈osh(A0). Some careful analysis verifies that A0 is an antichain.

Corollary 3.3.7 Let 1 ≤ s1 < s2 < · · · < sk be integers and l ≥ 2. If there is an antichain A withS ={s1, s2, . . . , sk−1, sk+ 1, sk+ 2, . . . , sk+l} ∈ osh(A)then there is an antichainA0 withS0 ={s1, s2, . . . , sk−1, sk, sk+1, sk+ 2, . . . , sk+d(l+ 1)/2e −2} ∈osh(A0).

Proof of Corollary 3.3.7 Apply Lemma 3.3.6 repeatedly noting that the final segment of l consecutive numbers is reduced to l−2 if l is odd (where l−2 is odd) and to l−1 if l is even (where l−1 is odd). The last step is to note that for l = 1, i.e., the final segment of consecutive elements is of length 1, we can conclude that if S ={s1, s2, . . . , sj−1, sj+ 1} ∈osh(A) then {s1, s2, . . . , sj−1} ∈osh(A), where sj−1 =sk+d(l+ 1)/2e −2.

Corollary 3.3.8 Let 1≤s1 < s2 <· · ·< sk be integers and l ≥2g. If there is an antichainA withS ={s1, s2, . . . , sk−1, sk+g, sk+g+ 1, . . . , sk+g+l− 1} ∈osh(A) then there is an antichain A0 withS0 ={s1, s2, . . . , sk−1, sk, sk+ 1, sk+ 2, . . . , sk+d(l+ 1)/2ge −2} ∈osh(A0).

Proof of Corollary 3.3.8 Apply Corollary 3.3.7 g times. Use the fact that bbp/qc/2c = bp/(2q)c and that d(d(l+ 1)/2ke −1 + 1)/2e −1 = d(l+

1)/2k+1e −1.

Lemma 3.3.9 Let 1≤ s1 < s2 <· · · < sk be integers and l ≥ 1. If there is an antichainAwithS ={s1, s2, . . . , sk−1, sk, sk+g+1, . . . , sk+g+l} ∈osh(A) then there is an antichain A0 with S0 = {s1, s2, . . . , sk−1, sk +g, sk + g + 1, . . . , sk+g+ 2g+d(l+ 1)/2ge2g−2} ∈osh(A0).

Proof of Lemma 3.3.9 Assume |A| = 2k+l and A ⊆ 2[sk+g+l]. Since S ∈ osh(A), we can partition A into 2l families A(Ci), one for each Ci ⊆ {sk+g + 1, sk+ 2, . . . , sk+g+l}, each of the form

A(Ci) = (Ai,∅× ∅ ×Bi×Ci)∪ Ai,{sk}× {sk} ×Bi×Ci

. (3.67) where Ai,D ⊆ 2[sk−1] and {s1, s2, . . . , sk−1} ∈ osh(Ai,D) for D = ∅ or {sk} andBi ⊆ {sk+ 1, sk+ 2, . . . , sk+g}. As before, there is a tower of theCi’s of

lengthl+ 1, say C1 ⊂C2 ⊂ · · ·Cl+1, of whichd(l+ 1)/2gewill have identical Bj’s since there are only 2g choices for Bi. Reorder the indices so that

C1 ⊂C2 ⊂ · · · ⊂Cd(l+1)/2ge B1 =B2 =· · ·=Bd(l+1)/2ge. (3.68) Now using p = d(l+ 1)/2ge+ 1 we define Fi = Ai,∅ for i = 1,2, . . . , p−1 and then define Fp = Ap−1,{sk}. Thus {s1, s2, . . . , sk−1} ∈ osh(Fi) for i = 1,2, . . . , p and moreover for 1 ≤ i < j ≤ p, we have, because A is an antichain, that for E ∈ Fi and F ∈ Fj we must haveE\F 6=∅.

Choose an ordering of the 2g subsets of {sk, sk + 1, . . . sk +g − 1} as G0, G1, . . . , G2g−1 so that for 0 ≤ k < j ≤ 2g −1 we have Gk \Gj 6= ∅ (i.e.

order so |G0| ≥ |G1| ≥ . . .≥ |G2g−1|). Let T ={sk+g, sk+g+ 1, . . . , sk+ g+p2g−2} Our new antichain is

2g−1

[

j=0 p

[

i=1

Fi×Gj×

T pj+i−1

(3.69) Some case checking is required to see that it is an antichain and order shatters

S0.

Lemma 3.3.10 Let 1 ≤ s1 < s2 < · · · < sk be integers. If there is an an-tichain A with S ={s1, s2, . . . , sk−1, sk} ∈osh(A) then there is an antichain A0 with S0 ={s1, s2, . . . , sk−1, sk, sk+g+ 1, sk+g+ 2, . . . , sk+g+ 2g−1} ∈ osh(A0).

Proof of Lemma 3.3.10 Order the 2g subsets of{sk+ 1, sk+ 2, . . . sk+g}

asG0, G1, . . . , G2g−1 so that for 0≤k < j≤2g−1 we haveGk\Gj 6=∅. Let T ={sk+g+ 1, sk+g+ 2, . . . , sk+g+ 2g−1}. Then we form the antichain A0 as

2g−1

[

i=0

A ×Gi× T

i

(3.70) Corollary 3.3.11 Let1≤s1 < s2 <· · ·< sk be integers and t≥1. If there is an antichain A with S ={s1, s2, . . . , sk−1, sk, sk+ 1, sk+ 2, . . . , sk+t} ∈ osh(A) then there is an antichain A0 with S0 ={s1, s2, . . . , sk−1, sk, sk+g+ 1, . . . , sk+g+ (t+ 1)2g−1} ∈osh(A0).

Proof of Corollary 3.3.11 Apply Lemma 3.3.10, then apply Lemma 3.3.9

t times.

Lemma 3.3.12 There exists an antichainA with S ={g+ 1, g+ 2, . . . , g+ 2g −1} ∈osh(A).

Proof of Lemma 3.3.12 Use the setsG0, G1, . . .defined in Lemma 3.3.10.

Then

A=∪2i=0g−1(Gi× S

i

). (3.71)

Lemma 3.3.13 There does not exist an antichain A with S = {g + 1, g+ 2, . . . , g+ 2g} ∈osh(A).

Proof of Lemma 3.3.13 Assume such anAexists with|A|= 22g. ThenA may be decomposed into 22g setsBi∪CiwhereBi ⊆[g] andCiis one of the 22g subsets ofS. We see that there is a tower of 2g+1 setsC0 ⊂C1 ⊂C2 ⊂ · · ·C2g (withC0 =∅andC2g =S) and yet there are only 2g choices for anyBi. Thus there are indices k < l for which Ck ⊂ Cl and yet Bk = Bl. Thus A is not

an antichain.

Proof of Theorem 3.3.5 We may encode any set S ={s1, s2, . . . , sk} as a sequenceg1, b1, g2, b2, . . . , gj, bj where we think ofgi as the length of theith gap and bi as the length of the ith block of consecutive entries. Thus S = {g1+1, g1+2, . . . g1+b1, g1+b1+g2+1, g1+b1+g2+2, . . . , g1+b1+g2+b2, . . .}.

We prove the result by induction onj. The cases with j = 1 are handled by Lemmas 3.3.12,3.3.13. We assume j >1. Two cases are distinguished.

Case 1. bj ≤ 2gj −1. If there exists antichain A so that the set S en-coded by g1, b1, g2, b2, . . . , gj, bj is in osh(A), then the set S0 encoded by g1, b1, g2, b2, . . . , gj−1, bj−1 is in osh(A), as well. Using Lemma 3.3.10 we ob-tain that if S0 is in osh(A), then there exists an antichain A0, such that the set encoded by g1, b1, g2, b2, . . . , gj,2gj −1 is in osh(A0). Using bj ≤ 2gj −1, we obtain that the set S ∈ osh(A) if and only if there is an antichain A0 with the set S0 ∈ osh(A0). It is not hard to see that f(S0)<1 if and only if f(S)<1.

Case 2. bj > 2gj −1. Using Corollary 3.3.8, we see that if there exists an antichain A so that the set S encoded by g1, b1, g2, b2, . . . , gj, bj is inosh(A) then there is an antichainA0 with the setS0encoded byg1, b1, . . . , gj−1, bj−1+ d(bj + 1)/2gje − 1 in osh(A0). But then, by Corollary 3.3.11, there is an antichainA00 with set encoded byg1, b1, . . . , gj−1, bj−1, gj,d(bj+ 1)/2gje2gj−1 inosh(A00). Noting thatd(bj+1)/2gje2gj−1≥bj, we deduce that there exists an antichainA so that the setS∈osh(A) if and only if there is an antichain A0 with the setS0 ∈osh(A0). Now we apply induction on the setS0 encoded byg1, b1, . . . , gj−1, bj−1+d(bj+ 1)/2gje −1 to obtain that there is an antichain A0 with the set S0 ∈ osh(A0) if and only if f(S0) < 1. One can also verify

that f(S0) < 1 if and only if f(S) < 1. Note that f(S0) < 1 if and only if f(S0)≤1−2−(g1+g2+···+gj−1) and so we obtain the result.

Chapter 4

Database Matrices

4.1 The mathematical model used

Therelational model of a database was introduced by Codd [Cod70] in 1970.

The main idea is that data is stored inrelations, where coordinates or columns correspond to attributes, and tuples or rows correspond to data of an indi-vidual. To make it precise, let us assume that a countably infinite set A of attribute names is given, furthermore, for every A ∈ A its domain – also a countably infinite set that is a set of elementary values that the attribute can take values from – dom(A) is assigned. A relational schema R is a finite subset R = {A1, A2, . . . , An} of A. A relation of the schema R is a finite collection R of mappings r: R→ ∪ni=1dom(Ai) with the property that r(Ai)∈dom(Ai). Such anris called atuple orrow of the the relationR. Let us note that the present definition of relation differs from the usual in the sense that the order of attribute values (entries of a tuple) is not important.

As an example, consider the following schema.

Employee(Name,Mother’s name,Social Security Number,Post,Salary) The domain of attributesName and Mother’s name is the set of finite char-acter strings (more precisely its subset containing all possible names). The domain of Social Security Number is the set of integers satisfying certain formal and parity check requirements. The attribute Post can take values from the set {Director, Section chief, System integrator, Programmer, Re-ceptionist, Janitor, Handyman}. Aninstance of a schema R is a relationR.

A typical row of a relation of the Employee schema could be

(John Brown,Camille Parker,184-83-2010,Programmer,$172,000) There can be dependencies between different data of a relation. For example, in an instance of the Employee schema the value of Social Security Number

65

determines all other values of a row. Similarly, the pair (Name,Mother’s name) is a unique identifier. Naturally, it may occur that some set of at-tributes do not determine all atat-tributes of a record uniquely, just some of its subsets.

A relational schema has severalintegrity constraints attached. Two main types of these are tuple generating and equality generating dependencies. A tuple generating dependency deduces the existence of a certain tuple from the existence of some others. On the other hand, an equality generating dependency’s conclusion is the equality of certain values in tuples on the condition of the existence of other specific records. The most important kind of the latter isfunctional dependency. LetU andV be two sets of attributes.

V functionally depends onU,U →V in notation, means that whenever two records are identical in the attributes belonging toU, then they must agree in the attribute belonging toV, as well. The equality generating dependency form of the above definition is as follows

∀r1, r2 ∈R: r1[U] =r2[U]⇒r1[V] =r2[V]. (4.1) Herer[X] denotes the restriction of mapping R to the set X.

It is interesting from the point of view of schema design that given a collection Σ of functional dependencies, what other dependencies hold in a database instance that satisfies Σ. The functional dependency U → V is logically implied by Σ, in notation Σ |= U → V, if each instance of R that satisfies all dependencies of Σ also satisfies U → V. The closure of a set Σ of functional dependencies is the set Σ+ given by

Σ+={U →V : Σ|=U →V}. (4.2) It is easy to see that the operation defined in (4.2) is really a closure operation, that is

1. Σ⊆Σ+,

2. If Σ⊆Γ, then Σ+ ⊆Γ+, 3. (Σ+)+= Σ+.

A way of solving the problem of implication is the construction of an Arm-strong instancefor Σ, that is a database that satisfies a functional dependency X → Y if and only if Σ |= X → Y. Silva and Melkanoff [SM81] developed a design aid that for a collection of functional and multivalued dependencies as input presents an Armstrong instance for that set. The existence of Arm-strong instance for a set of functional dependencies was proved by ArmArm-strong

[Arm74] and Demetrovics [Dem79]. Later Fagin [Fag82] gave a necessary and sufficient condition for general dependencies.

Since the size of Σ+ can be an exponential function of the size of Σ, an-other way of representing functional dependencies is needed. LetX+ denote the closure of the set of attributes X ⊆ R with respect to the family of functional dependencies Σ, that is

X+={A∈R: Σ|=X →A}. (4.3) Again, as it is proven in e.g. [DK81], the operation defined in (4.3) is a closure operation. The following is a fundamental observation.

Lemma 4.1.1 Let Σ be a collection of functional dependencies over the schema R, furthermore let X, Y ⊆R. Then

Σ|=X →Y ⇐⇒ Y ⊆X+. (4.4)

Lemma 4.1.1 means that there is a one-to-one correspondence between sys-tems of functional dependencies of schema R and closure operations on the set of attributes ofR. This can be used to characterize Armstrong instances of Σ [DK81].

Proposition 4.1.2 LetΣbe a collection of functional dependencies over the schema R. The relation R is an Armstrong instance for Σ iff the following two conditions hold:

1. ∀X ⊂R ∀r1, r2 ∈R:r1[X] =r2[X] =⇒r1[X+] =r2[X+], and 2. ∀X ⊂R ∀A6∈X+ ∃r1, r2 ∈R:r1[X] =r2[X] and r1[A]6=r2[A].

(4.5) A database relation R can be represented by a matrix M. The columns correspond to the attributes (in an arbitrarily fixed order) and the rows are the tuples of R. The closure defined by a matrix M is given by 1.

and 2. of (4.5). That is, an attribute A is in the closure X+ iff whenever two rows of M agree on X then they agree on A, as well. For a given matrixM with columns labeled by Rlet the closure operation on the subsets of R defined by M denoted by CM. That is CM: 2R → 2R is given by CM(X) = {A∈R: X →A}.

It is an interesting measure of complexity of systems of functional depen-dencies the minimum size of an Armstrong instance. The following function was introduced in [DK81].

Definition 4.1.3 Let C be a closure on R. Then let s(C) = min

M:CM=C{number of rows in M}. (4.6)

Since all along this chapter the only thing interesting about attribute values is their equality or non-equality, we may assume without loss of generality that the domain of each attribute isN, the set of natural numbers. Thus database instances for us are integer matrices with non-negative entries. In the next section a survey of known combinatorial results about s(C) is given and its influence on design theory is shown. In the third section a generalization of functional dependencies, branching dependencies are discussed. It is shown that many interesting and hard combinatorial problems arise in connection of the existence of Armstrong instances of branching dependencies. In the solutions we apply a wide variety of methods including Lov´asz’ theorem on k-trees, finite projective planes, Hamiltonian type theorems. These latter resulted in a new type of coding problem. In the last section another coding type question is discussed that arose from the study of of Armstrong instances of bounded domains.

In document Extremal Theorems for Matrices (Pldal 59-68)