aa r X i v : . [ c s . CR ] J un Kolmogorov complexity and cryptography
Andrej A. Muchnik ∗ Abstract
We consider (in the framework of algorithmic information theory) questions of thefollowing type: construct a message that contains different amounts of information forrecipients that have (or do not have) certain a priori information.Assume, for example, that the recipient knows some string a , and we want to sendher some information that allows her to reconstruct some string b (using a ). On the otherhand, this information alone should not allow the eavesdropper (who does not know a ) toreconstruct b . It is indeed possible (if the strings a and b are not too simple).Then we consider more complicated versions of this question. What if the eavesdropperknows some string c ? How long should be our message? We provide some conditions thatguarantee the existence of a polynomial-size message; we show then that without theseconditions this is not always possible. In this section we construct (for given strings a and b that satisfy some conditions) a string f that contains enough information to obtain b from a , but does not contain any informationabout b in itself (without a ), and discuss some generalizations of this problem. Uniform and non-uniform complexity
Let us start with some general remarks about conditional descriptions and their complexity.Let X be a set of binary strings, and let y be a string. Then C ( X → y ) can be defined as theminimal length of a program that maps every element of X to y . (As usually, we fix someoptimal programming language. We can also replace minimal length by minimal complexity.)Evidently, C ( X → y ) ≥ max x ∈ X C ( y | x ) (if a program p works for all x ∈ X , it works for every x ), but the reverse inequality is notalways true. It may happen that the “uniform” complexity of the problem X → y (left handside) is significantly greater than the “nonuniform” complexity of the same problem (righthand side). ∗ This paper contains some results of An.A. Muchnik (1958–2007) reported in his talks at the Kolmogorovseminar (Moscow State Lomonosov University, Math. Department, Logic and Algorithms theory division, March11, 2003 and April 8, 2003) but not published at that time. These results were stated (without proofs) in the jointtalk of Andrej Muchnik and Alexei Semenov at Dagstuhl Seminar 03181, 27.04.2003–03.05.2003. This text wasprepared by Alexey Chernov and Alexander Shen in 2008–2009.
1o prove this, let us consider an incompressible string y of length n and let X be the setof all strings x such that C ( y | x ) < n /
2. Then the right hand side is bounded by n / n − O ( log n ) . Indeed, let p be aprogram that outputs y for every input x such that C ( y | x ) < n /
2. Among those x there arestrings of complexity n / + O ( log n ) and together with p they are enough to obtain y , there-fore C ( y | p ) ≤ n / + O ( log n ) . Therefore, there exists a string e of length O ( log n ) such that C ( y |h p , e i ) < n /
2. Then, by our assumption, p ( h p , e i ) = y and therefore the complexity of p isat least n − O ( log n ) . Remark . In this example the set X can be made finite if we restrict ourselves to strings ofbounded length, say, of length at most 2 n . Complexity of the problem ( a → b ) → b The example above shows that uniform and nonuniform complexities could differ significantly.In the next example they coincide, but some work is needed to show that they coincide.Let a and b be binary strings. By ( a → b ) we denote the set of all programs that transforminput a into output b . It is known [2] that C (( a → b ) → b ) = min ( C ( a ) , C ( b )) + O ( log N ) for any two strings a , b of length at most N . It turns out that a stronger version of this statement(when the uniform complexity is replaced by a non-uniform one) is also true: Theorem 1
For every two strings a and b of length at most N there exists a program f thatmaps a to b such that C ( b | f ) = min { C ( a ) , C ( b ) } + O ( log N ) Proof . Note that ≤ -inequality is obviously true for any program f that maps a to b . Indeed,having such a function and any of the strings a and b , we can reconstruct b .Let us prove that the reverse inequality is true for some function f that maps a to b . Werestrict ourselves to total functions defined on the set of all strings of length at most n and whosevalues also belong to this set, so such a function is a finite object and conditional complexitywith respect to f is defined in a natural way. Note also that (up to O ( log N ) precision) it doesnot matter whether we consider f as an explicitly given finite object or as a program, since (forknown N ) both representations can be transformed to each other.Let m be the maximum value of C ( b | f ) for all functions (of the type described) that map a to b . We need to show that one of the strings a and b has complexity at most m + O ( log N ) .This can be done as follows.Consider the set S of all pairs h a ′ , b ′ i where a ′ and b ′ are strings of length at most N that havethe following property: C ( b ′ | f ) ≤ m for every total function f whose arguments and values arestring of length at most N and f ( a ′ ) = b ′ . By the definition of m , the pair h a , b i belongs to S .The set S can be effectively enumerated given m and N . Let us perform this enumerationand delete pairs whose first or second coordinate was already encountered (as the first/secondcoordinate of some other undeleted pair during the enumeration); only “original” pairs withtwo “fresh” components are placed in ˜ S . This guarantees that ˜ S is a graph of a bijection. Thepair h a , b i is not necessarily in ˜ S ; however, some other pair with the first component a or withthe second component b is in ˜ S (otherwise nothing prevents h a , b i from appearing in ˜ S ).2ince ˜ S can also be effectively enumerated (given m and N ), it is enough to show thatit contains O ( m ) elements (then the ordinal number of the above-mentioned pair describeseither a or b ).To show this, let us extend ˜ S to the graph of some bijection g . If some h a ′ , b ′ i ∈ ˜ S , then g ( a ′ ) = b ′ and therefore C ( b ′ | g ) ≤ m by construction (recall that ˜ S is a subset of S ). Therefore,˜ S contains at most O ( m ) different values of b ′ , but ˜ S is a bijection graph. (End of proof.) Cryptographic interpretation
Theorem 1 has the following “cryptographic” interpretation. We want to transmit some infor-mation (string b ) to an agent that already knows some “background” string a by sending somemessage f . Together with a this message should allow the agent to reconstruct b . At the sametime we want f to carry minimal information about b for a “non-initiated” listener, i.e., thecomplexity C ( b | f ) should be maximal. This complexity cannot exceed C ( b ) for evident rea-sons and cannot exceed C ( a ) since a and f together determine b . Theorem 1 shows that thisupper bound can be reached for an appropriate f .Let us consider a relativized version of this result that also has a natural cryptographic inter-pretation. Assume that non-initiated listener knows some string c . Our construction (properlyrelativized) proves the existence of a function f that maps a to b such that C ( b | f , c ) ≈ min ( C ( a | c ) , C ( b | c )) . This function has minimal possible amount of information about b for people who know c .More formally, the following statement is true (and its proof is a straightforward relativizationof the previous argument): Theorem 2
Let a , b , c be strings of length at most N. Then there exists a string f such that: (1) C ( b | a , f ) = O ( log N ) ;(2) C ( b | c , f ) = min { C ( a | c ) , C ( b | c ) } + O ( log N ) . The claim (1) says that for recipients who know a the message f is enough to reconstruct b ; the claim (2) says that for the recipients who know only c the message f contains minimalpossible information about b . Remark . One may try to prove Theorem 1 as follows: let f be the shortest description of b when a is known; we may hope that it does not contain “redundant” information. However, thisapproach does not work: if a and b are independent random strings of length n , then b is sucha shortest description, but cannot be used as f in Theorem 1. In this case one can let f = a ⊕ b (bit-wise sum modulo 2) instead: knowing f and a , we reconstruct b = a ⊕ f , but C ( b | f ) ≈ n .This trick can be generalized to provide an alternative proof for Theorem 1. For this we usethe conditional description theorem from [1]. It says thatfor any two strings a , b of length at most N there exist a string b ′ such that • C ( b | a , b ′ ) = O ( log N ) [ b ′ is a description of b when a is known], • C ( b ′ | b ) = O ( log N ) [ b ′ is simple relative to b ] and • the length of b ′ is C ( b | a ) [ b ′ has the minimal possible length for descriptionsof b when a is known]. 3o prove Theorem 1, take this b ′ and also a ′ defined in the symmetric way (the short de-scription of a when b is known simple relative to a ). Add trailing zeros or truncate a ′ to get thestring a ′′ that has the same length as b ′ . (Adding zeros is needed when C ( a ) < C ( b ) , truncationis needed when C ( a ) > C ( b ) .) Then let f = a ′′ ⊕ b ′ .A person who knows a and gets f , can compute (with logarithmic additional advice) first a ′ , then a ′′ , then b ′ and then b . It is not difficult to check also that C ( b | f ) = min { C ( a ) , C ( b ) } with logarithmic precision.Indeed, C ( b | f ) = C ( b , f | f ) = C ( b , b ′ , f | f ) = C ( b , a ′′ | f ) ≥≥ C ( b , a ′′ ) − C ( f ) ≥ C ( b , a ′′ ) − | f | = C ( b , a ′′ ) − C ( b | a ) with logarithmic precision. The strings a ′ and b are independent (have logarithmic mutualinformation), so b and a ′′ (that is a simple function of a ′ ) are independent too. Then we getlower bound C ( b ) − C ( b | a ) + C ( a ′′ ) which is equal to min { C ( a ) , C ( b ) } . (End of the alternativeproof.)The advantage of this proof: it provides a message f of polynomial in N length (unlikeour original proof, where the message is some function that has domain of exponential size),and, moreover, f has the minimal possible length C ( b | a ) . The result it gives can be stated asfollows: Theorem 3
For every two strings a and b of length at most N there exists a string f of lengthC ( b | a ) such that C ( b | f , a ) = O ( log N ) and C ( b | f ) = min { C ( a ) , C ( b ) } + O ( log N ) . The disadvantage is that this proof does not work for relativized case (Theorem 2), at leastliterally. For example, let a and b be independent strings of length 2 n and let a = a a and b = b b be their divisions in two halves. Then let c = ( a ⊕ a ⊕ b )( a ⊕ b ⊕ b ) . Then C ( a | c ) = C ( a , c | c ) = C ( a , b | c ) = n , C ( b | c ) = n , but C ( b | c , a ⊕ b ) = f that has therequired properties (contains information about b only for those who know a but not for thosewho know c ). We will prove that if a contains enough information (more precisely, if C ( a | c ) ≥ C ( b | c ) + C ( b | a ) + O ( log N ) ), then there exists a message f that satisfies the claim of Theorem 2 and hascomplexity C ( b | a ) + O ( log N ) . We need the following combinatorial statement. (By B k wedenote the set of k -bit binary strings.) 4 ombinatorial statement Lemma 1
Let n ≥ m be two positive integers. There exists a family F consisting of m poly ( n ) functions of type B n → B m with the following property: for every string b ∈ B m and for everysubfamily F ′ that contains at least half of the elements of F , there are at most O ( m ) pointswith the second coordinate b and not covered by the graphs of the functions in F ′ . Formally the property of F claimed by Lemma (Fig. 1) can be written as follows: ∀ b ∀ F ′ ⊂ F (cid:2) F ′ ≥
12 F ⇒ { a ∈ B n | f ( a ) = b for all f ∈ F ′ } = O ( m ) (cid:3) . (Note that the condition n ≥ m is in fact redundant: if n < m , the claim is trivial since thenumber of all a is O ( m ) .)Before proving the Lemma, let us try to explain informally why it could be relevant. Thefamily F is a reservoir for messages ( f will be a number of some function from F ). Mostfunctions from F (as in any other simple family) have almost no information about b ; theyform F ′ . If the pair h a , b i is covered by the graph of some function f ∈ F ′ , then f (i.e.,its number) is the required message. If not, a belongs to a small set of exceptions, and itscomplexity is small, so the condition of the theorem is not satisfied. (See the detailed argumentbelow.) B n B m b Figure 1: Some functions (up to 50%) are deleted from F ; nevertheless the graphs of theremaining ones cover every horizontal line almost everywhere (except for O ( m ) points). Proof of the combinatorial lemma. We use probabilistic method and show that for a randomfamily of 2 t independent random function the required property holds with positive probability.(The exact value of parameter t will be chosen later.)Let us upperbound the probability of the event “random family j , . . . , j t does not satisfythe required property”. This happens if there exist • an element b ∈ B m ; • a set S ⊂ B n that contains s m elements (the exact value of the constant s will be chosenlater); • a set I ⊂ { , , . . . , t } that contains half of all indicessuch that j i ( a ) = b for every a ∈ S and every i ∈ I . ( ∗ )
5o get an upper bound for the probability of this event, note that there are 2 m different valuesof b , at most 2 t different values of I and at most ( n ) s m different values of S . For fixed b , I ,and S the probability of ( ∗ ) is (cid:18) − m (cid:19) t − · s m (each of 2 t − functions with indices belonging to I has a value different from b at each point a ∈ S ). In total we get an upper bound2 m · t · ns m · (cid:18) − m (cid:19) t − · s m , and we have to show that this product is less than 1 if the values of the parameters are chosenproperly. We can replace ( − / m ) m by 1 / e (the difference is negligible with our precision)and rewrite the expression as 2 m + t · ns m · ( / e ) s t − . The most important terms are those containing 2 t and 2 m in the exponents (since 2 t , m ≫ m , n , s ). We want the last small term to overweight the first two. Let us split it into two parts ( / ) s t / and use these parts to compensate the first and the second term. It is enough that2 m + t · ( / e ) s t / < ns m · ( / e ) s t / < s is large enough (notethat m ≪ t ). The second inequality (where both exponents can be divided by s ) is achievablewith 2 t = m poly ( n ) . (cid:3) Main result
Now we are ready to give the formal statement and proof:
Theorem 4
There exists a constant d such that for any strings a , b , c of length at most N satis-fying the inequality C ( a | c ) ≥ C ( b | c ) + C ( b | a ) + d log Nthere exists a string f of length at most C ( b | a ) + d log N such that C ( b | a , f ) ≤ d log N andC ( b | c , f ) ≥ C ( b | c ) − d log N. Recall the intuition behind this result. The condition of the theorem guarantees that theagent’s “background” a has enough information not available to the adversary (who knows c );theorem guarantees that there exists a string f that allows the agent to reconstruct b from a ,has the minimal possible length among all strings with this property and does not provide anyinformation about b if the adversary knows only c . (Note that we use the same constant d inall O ( log N ) expressions, but this does not matter since increasing d makes the statement onlyweaker.) 6 roof . Using conditional description theorem [1], we find string b ′ of length C ( b | a ) suchthat both complexities C ( b | b ′ , a ) and C ( b ′ | b ) are O ( log N ) . Then we apply the combinatoriallemma with n equal to the length of a and m equal to the length of b ′ , i.e., to C ( b | a ) . The lemmaprovides a family F , and we may assume without loss of generality that the complexity of F is O ( log N ) (for given m and n , take the first family with the required properties in some fixedordering).Most functions in F (as well as most objects in any simple set) do not have much informa-tion about b when c is known, i.e., the difference C ( b | c ) − C ( b | f , c ) is small for most f ∈ F .Indeed, with logarithmic precision this difference can be rewritten as C ( f | c ) − C ( f | b , c ) (re-call the formula for pair and conditional complexities), and the average value of both termsin the last expression is m + O ( log N ) , the difference is of order O ( log N ) and we can use theChebyshev inequality.Let F ′ be functions from this majority. The lemma guarantees that the graphs of thosefunctions cover all pairs h a ′ , b ′ i for all strings a ′ of length n except for O ( m ) “bad” values of a ′ , and it remains to show that the given string a is not “bad”. It is because C ( a ′ | c ) < C ( b | c ) + C ( b | a ) + O ( log N ) for all “bad” a ′ . Indeed, knowing b , c and C ( b | c ) (the latter contains O ( log N ) bits and canbe ignored with logarithmic precision), we can enumerate all functions f that do not belongto F ′ (=functions that make complexity of b with condition c smaller), and therefore we canenumerate all O ( m ) “bad” values. (Note also that b ′ can also be obtained from b with alogarithmic advice.) So the complexity of the “bad” values (for known b and c ) is at most m + O ( log N ) : C ( a ′ | b , c ) ≤ C ( b | a ) + O ( log N ) for all “bad” a ′ , therefore C ( a ′ | c ) ≤ C ( a ′ | b , c ) + C ( b | c ) + O ( log N ) ≤ C ( b | a ) + C ( b | c ) + O ( log N ) as we claimed. (cid:3) Theorem 4 makes an assumption that looks artificial at first: for example, if a , b , c are pairwiseindependent, we require C ( a ) to be twice as big as C ( b ) , and it is intuitively unclear whythe amount of the background information should be twice as big as the message we wantto transmit (inequality C ( a ) > C ( b ) looks more natural). In this section we show that thiscondition, even if looking artificial, is important: without it, all the strings f that satisfy theclaim of Theorem 2 may have exponentially large length. The exact statement (see Theorem 5below) and its proof are rather technical, so let us start with a simplified example, where,unfortunately, we get a string c of large complexity. Then we explain the more advancedexample that does not have this problem.Let us construct three strings a , b , c with the following properties: every reasonably longprogram f (of polynomial or subexponential length) that maps a to b can be used to simplifythe transformation of c into b . In our example the string a has complexity 1 . n , the string b hascomplexity n , and they are mutually independent (have logarithmic mutual information). (The7oefficient 1 . . b when c is known will be about n , so using c as a condition does not make b simpler. But if we add to c any program f that maps a to b , it becomes possible to obtain a using only 0 . n bits of advice: the conditional complexity decreases from C ( b | c ) ≈ n to C ( b | f , c ) ≈ . n .The main idea of this example can be explained as follows: the string c itself encodes afunction that maps a to b (but still c without a has no information about b ). Assume that someprogram f that maps a to b is given. Why does it help to describe b if c is known in addition to f ? We know that both f and c map a to b , so a is one of the solution of the equation f ( x ) = c ( x ) .If this equation has not too many solutions, we can describe a (and therefore b ) by specifyingthe ordinal number of a in the enumeration of all solutions. (Note that f may be not everywheredefined, but this does not matter.) In this way we get a conditional description of b (for known c and f ) that may have small length compared to C ( b ) (and C ( b ) will be close to C ( b | c ) ; wepromised that c itself has no information about b ).How do we get a , b , and c with these properties? We get such a triple with high probabilityif a and b are independently taken at random among strings of length 1 . n and n respectively,and c is a random function whose graph contains pair h a , b i . The same distribution on a , b , c can be described in a different way: we take a random function c and then a random element h a , b i of its graph.With high probability we get strings a and b with the required complexities 1 . n and n andsmall mutual information. We can also show that C ( b | c ) is close to n with high probability.Indeed, for a typical function c of type B . n → B n most of its values have preimage of size2 . n , and therefore the second component of a random element of its graph has almost uniformdistribution, so most of the values of c have high complexity even with condition c .Now let f be some program that maps a and b and has not very high complexity (muchless than what Theorem 2 gives). How many solution has the equation f ( x ) = c ( x ) ? Typically(for a given f and a random c ) we have about 2 . n solutions (for each x the probability of f ( x ) = c ( x ) equals 2 − n , and there are 2 . n points x ); here we assume that f is total, but if itis not, we get even less solutions. For a fixed f and a random c , it is very unlikely that thenumber of solutions is significantly greater than 2 . n . In other words, Hamming ball of thecorresponding radius around f has a negligible probability. If the number of these balls (i.e.,the number of programs f we consider) is not too large, the union of these events also hassmall probability, so a randomly chosen c will be outside these balls. This means that for allprograms f with bounded complexity the equation f ( x ) = c ( x ) has at most 2 . n solutions (orslightly more) and the complexities C ( a | f , c ) and C ( b | f , c ) are (almost) bounded by 0 . n as wepromised.We do not provide details of this argument since we want to prove a stronger (and morecomplicated) results. Namely, we want to find a function c that has not very high complexity(and the argument explained gives c that can have exponential complexity): the complexity of c should exceed the complexity of programs f (that it opposes) by C ( b ) . (If we allow moreprograms, we need more freedom for c .)The idea of the construction remains the same: we select a random point on the graphof a random function. However, now the function is a random element of some family C offunctions. We formulate some combinatorial properties of C . Then we prove (by a probabilisticargument) that there exists a family with these properties and conclude that there exists a simplefamily with these properties (the first family found by exhaustive search). Finally, we prove that8or most pairs h a , b i there exists a function c in the family that satisfies our requirements. (Sowe prove even a bit stronger statement: instead of existence of a triple a , b , c we prove that formost a and b there exists c .) The size of the family C provides a bound for the complexity of c (since every element of C is determined by its index).Let us formulate the required combinatorial statement starting with some definitions. Fixsome sets A and B . We say that some family F of functions A → B rejects a function c : A → B if there exists f ∈ F such that the cardinality of the set { a : c ( a ) = f ( a ) } exceeds 4 A / B (note that the “expected” cardinality is A / B ). Let H be a mapping defined on B ; for every b ∈ B the value H ( b ) is a family of functions of type A → B (i.e., H ( b ) ⊂ B A for every b ∈ B ).We say that a function c covers the pair h a , b i ∈ A × B (for given H and F ) if (1) c ( a ) = b ;(2) the function c is not rejected by F and (3) c / ∈ H ( b ) . Lemma 2
Assume that B ≥ and A ≥ B. Assume that two numbers e ≥ B / A and f ≤ A / ( B ) are fixed. There exists a family C of functions A → B of cardinality max (cid:26) B e , F log ( B ) e , F · B · log ( B ) (cid:27) with the following property: for every family F of size at most F and for every mapping H suchthat ( H ( b )) ≤ ( / ) C for every b ∈ B, at most e -fraction of all pairs h a , b i are not coveredby any c ∈ C ( for these F and H ) . The statement of this lemma can be written as follows (we omit conditions for cardinalitiesof C , F and H ( b ) ): ∃ C ∀ F , H (cid:12)(cid:12)(cid:12)(cid:12)(cid:26) h a , b i : ∀ c (cid:20) ( c ( a ) = b ) ⇒ (cid:2) ( c ∈ H ( b )) ∨ ( ∃ f ∈ F { x : f ( x ) = c ( x ) } ≥ A B ) (cid:3)(cid:21)(cid:27)(cid:12)(cid:12)(cid:12)(cid:12) ≤≤ e · A · B . Let us explain informally the meaning of this lemma (how it is used in the sequel). Wemay assume without loss of generality that the family C is simple (looking for the first familywith the required properties in some ordering). Let F be the family of all functions that havesimple programs (or their extensions, if the functions are partial). Let H ( b ) be the set of allfunctions that are simple when b is known (having small conditional complexity with condition b ). For a pair h a , b i that does not belong to the “bad” e -fraction, there exists a function c ∈ C that covers h a , b i . This function (or, better to say, its index in C ) is a counterexample we arelooking for. Indeed, if the eavesdropper knows c and gets a simple program f mapping a to b , the complexity of b for her decreases. Indeed, it is enough to specify the ordinal numberof a in the enumeration of all solutions of the equation f ( x ) = c ( x ) , and the eavesdropper canreconstruct a (and therefore b , since f ( a ) = b ). On the other hand, the choice of H guaranteesthat c and b are independent (i.e., c has maximal possible complexity even if b is known). Thedetails of these argument will be explained later, after we prove the lemma. Proof of the lemma . Using a probabilistic argument, let us consider a random family C ofthe size mentioned. We assume that C is indexed by integers in range 1. . . C , and for everyindex i and every point a ∈ A the value of i th function on a is an independent random variable9niformly distributed over B . Then we prove that the probability of the event “ C is bad” (i.e.,does not have the required property) is strictly less than 1.For this we get an upper bound for the probability of the event “ C does not have the requiredproperty” with respect to a fixed family F (and then multiply it by the number of differentfamilies F ). So let us assume F is fixed. Things are “good” if for every mapping b H ( b ) (with our restrictions: all H ( b ) have cardinality at most ( / ) C ) for e -almost all pairs h a , b i there is a function c ∈ C that is not rejected by F and is not in H ( b ) such that c ( a ) = b .Note that the definition of rejection does not refer to C : the set of rejected function isdetermined by F alone. For a given F there are two possibilities: (1) many functions arerejected (we choose ( / ) C as a threshold) or (2) not many functions are rejected. In thelatter case we may add rejected functions to all H ( b ) (for all b ), and the size of all H ( b ) remainsbounded by ( / ) C .In other term, for a fixed F the “bad” event is covered by the union of the following twoevents:1. F rejects at least 1 / C ;2. there exists a mapping b H ( b ) where all sets H ( b ) have cardinality at most ( / ) C such that the fraction of pairs h a , b i ∈ A × B that do not belong to any function c ∈ C \ H ( b ) exceeds e .What we need is the following: the sum of the probabilities of these two events multipliedby the number of possibilities for F is less than 1. To show this, we prove that each of thesetwo probabilities is less than 1 / ( B A ) F (this expression is an upper bound for thenumber of different families F ⊂ B A of size F ).The first event can be rewritten as follows: there exists a subfamily C ′ ⊂ C of size C / such that for all c ∈ C ′ there exists A ′ ⊂ A of size A / B and a function f ∈ F such thatf ( a ) = c ( a ) for all a ∈ A ′ . The number of possibilities for C ′ does not exceed 2 C , the number of all subsets. For afixed C ′ (or, better to say, for a fixed set of indices) the functions with these indices are chosenindependently. So we can estimate the probability of the bad event for one index and then useindependence. To get an upper bound for the number of possibilities for A ′ let us note that thenumber of r -element subsets of a q -element set, (cid:0) qr (cid:1) , does not exceed q r / r ! ≤ q r / (( r / ) r ) =( q / r ) r . For q = A and r = A / B we get the bound ( B / ) A / B .Therefore, the probability of the first event does not exceed2 C F (cid:18) B (cid:19) A / B (cid:18) B (cid:19) A / B ! C / = F / (cid:18) (cid:19) A / B ! C . Multiplied by ( B ) A · F (the number of possibilities for F ), this probability is less than 1 / B ≥
2, A ≥ B , F ≤ A / B , and C ≥ F · B · log ( B ) (according to lemma’sassumptions). Indeed, the last inequality implies that C ≥
12 if F ≥ F thestatement is trivial). Since B ≥
2, we conclude that 1 + C ≤ C /
12. Then 1 ≤ A / ( B ) implies that 1 + C ≤ ( / )( A · C / B ) . The condition log F ≤ A / B implies that ( C / ) log F ≤ ( / )( A · C / B ) . Finally, the inequality C ≥ F · B · log B impliesthat A · F log B ≤ ( / )( A · C / B ) . Adding these inequalities (note that 19 / < / < ( / ) and taking the exponent (with base 2) of both sides, we get the required inequality(after appropriate grouping of the factors).Now let us consider the second event (recall that it depends on F which is fixed): there exista mapping b H ( b ) such that every H ( b ) has cardinality at most C / and a subset U ⊂ A × Bof size e · A · B such that for every pair h a , b i ∈ U and for every function c ∈ C \ H ( b ) wehave c ( a ) = b. In the sequel we assume that H ( b ) is not a set of functions, but a set of their indices (numbersin 1. . . C range); this does not change the event in question.To estimate the probability of the second event, let us fix not only F but also H and U . Thecorresponding event can be described as the intersection (taken over all pairs h a , b i and overall i / ∈ H ( b ) ) of the events c [ i ]( a ) = b (“the i th function does not map a to b ”). The probabilitybound would be simple if all these events were independent; in this case the probability wouldbe ( − / B ) d , where d is the number of all triples h i , a , b i , i.e., e · A · B · C / d is theproduct of the number of pairs h a , b i ∈ U and the number of possible values of i for given b ).Unfortunately, these events are independent only for different a (or different i ); the events c [ i ]( a ) = b and c [ i ]( a ) = b are dependent. However, the dependence works in the “helpful”direction: the condition c [ i ]( a ) = b only increases the probability of the event c [ i ]( a ) = b (thedenominator in 1 / B decreases by 1). The same is true for several conditions.Formally speaking, we may group the events with common a and i and then use the in-equality ( − k / B ) ≤ ( − / B ) k , where k is the number of events in a group.In this way we get an upper bound for the probability of failure: for fixed F , H and U , itdoes not exceed (cid:18) − B (cid:19) e · A · B · C / ≤ − e · A · C / . This expression is then multiplied by the number of possibilities for U (that does not exceed2 A · B ), for H (that does not exceed ( C ) B ) and for F . In total, we get2 − e · A · C / · A · B · C · B · ( B ) A |· F . It is easy to check that this expression is less than 1 / B ≥ e ≥ B / A , C ≥ B / e ,and C ≥ ( F log B ) / e . Indeed, we have 1 + A · B ≤ · A · B / A is not empty and B ≥
2. Therefore, C ≥ · B / e implies 1 + A · B ≤ ( / ) e · A · C . Also e ≥ B / A implies C · B ≤ ( / ) e · A · C . Finally, C ≥ ( F log B ) / e implies A · F · log ( B ) ≤ ( / ) e · A · C . Adding these inequalities, noting that 59 / < / a > m , n , l be positive integers such that n ≥ m ≥ n + m − a log m ≥ n +
2, and l + + log ( l + ) ≤ m − n − . Let N = max { m , l } . Theorem 5
Let a be a string of length m and let b be a string of length n such thatm + n − C ′ ( a , b ) < a log m . Then there exists a string c of complexity n + l + O ( log N ) such that • C ( c | b ) = C ( c ) + O ( log N ) ; C ( b | a , c ) = O ( log N ) ; • for every f such that C ( f ) ≤ l − C ( b | a , f ) we have C ( b | c , f ) ≤ m − n + C ( b | a , f ) + O ( log N ) . ( The constant hidden in O ( · ) depends on a but not on m, n, l. )Before proving this theorem, let us explain why it shows the importance of the conditionin theorem 4. The equation C ( c | b ) = C ( c ) + O ( log N ) shows that the strings b and c are inde-pendent and C ( b | c ) = C ( b ) = n with O ( log N ) -precision. Since C ( b | a , c ) = O ( log N ) , we have C ( a | c ) ≥ C ( b | c ) − C ( b | a , c ) = n (with the same O ( log N ) -precision). Note also that C ( b | a ) = n (with O ( log m ) -precision). Therefore, if C ( b | a , f ) = O ( log N ) for some string f of length notexceeding l , then C ( b | c , f ) < min { C ( a | c ) , C ( b | c ) } + O ( log N ) when m − n < n + O ( log N ) , i.e., when C ( a ) < C ( b | c ) + C ( b | a ) . Proof . Let A be the set of all m -bit strings, and let B be the set of all n -bit strings. Let e = / m a and F = l ( l + ) . Our assumptions about n , m , l guarantee that A , B , e and F satisfythe conditions of the lemma. Therefore there is a family C with the properties described in thestatement of the lemma. As we have said, we may assume without loss of generality that C is simple, and in this case the complexity of every element of C does not exceed log C plus O ( log N ) , i.e., does not exceed n + l + O ( log N ) .Now let H ( b ) be the set { c ∈ C : C ( c | b ) < log ( C ) − } ; then H ( b ) ≤ C / b .Now the family F is constructed as follows. It contains F functions numbered by integersin 1. . . F range. We enumerate all triples h a , b , f i , where a ∈ A , b ∈ B and f is a l -bit stringsuch that C ( f ) + C ( b | a , f ) ≤ l . Some indices (numbers) have labels that are l -bit strings. Whena new triple h a , b , f i appears, we first try to add h a , b i to one of the functions whose indexalready has label f . If this is not possible (all functions that have label f are already defined at a and have values not equal to b ), we take a fresh index (that has no label), assign label f to itand let the corresponding function map a to b . A free index does exist since each f occupiesat most 2 l − C ( f )+ indices (if some f needs more, then for some a all 2 l − C ( f )+ functions aredefined and have different values, so we have enumerated already more than 2 l − C ( f )+ differentelements b such that C ( b | a , f ) ≤ l − C ( f ) ; a contradiction), and all f in total require at most (cid:229) C ( f ) ≤ l l − C ( f )+ = (cid:229) lk = (cid:229) C ( f )= k l − k + = F indices. After all the triples with these propertiesare enumerated, we extend our functions to total ones (arbitrarily).Consider the set of pairs h a , b i that are not covered by C (for given F and H ). Thecardinality of this set does not exceed e m + n . On the other hand, F and H can be com-puted using ′ -oracle, and after that the set of non-covered pairs can be enumerated, therefore C ′ ( a , b ) ≤ m + n − a log m for every non-covered pair h a , b i .Therefore for every a and b such that m + n − C ′ ( a , b ) < a log m there exists c ∈ C suchthat c ( a ) = b , c / ∈ H ( b ) , and for every f ∈ F the equation c ( x ) = f ( x ) has at most 2 m − n + solutions.Since c ( a ) = b , we have C ( b | a , c ) = O ( log N ) .Since c / ∈ H ( b ) , we have C ( c | b ) ≥ log ( C ) −
2, i.e., C ( c ) = C ( c | b ) + O ( log N ) .Finally we have to estimate C ( b | c , f ) for strings f such that C ( f ) ≤ l − C ( b | a , f ) . Knowing f , we enumerate functions in F that have label f . One of them, say, ˜ f , goes through h a , b i (i.e., ˜ f ( a ) = b ). To specify this functions, we need at most C ( b | a , f ) + O ( log N ) additional bits.12nowing ˜ f and c we may enumerate all x such that c ( x ) = ˜ f ( x ) . (More precisely, we specifythe index of ˜ f in F , not the ˜ f itself. However, to enumerate the solutions of the equation c ( x ) = ˜ f ( x ) it is enough to enumerate pairs h x , y i such that y = ˜ f ( x ) by replaying the construction of F .) This set contains a and has cardinality at most 2 m − n + , so we can specify a using m − n + C ( b | c , f ) ≤ C ( a | c , f ) + O ( log N ) ≤ C ( b | a , f ) + m − n + O ( log N ) ,as we claimed.Theorem 5 is proven. Open questions
1. Is it possible to strengthen theorem 5 and have c of complexity at most n + O ( log N ) instead of n + l + O ( log N ) ? (An.A. Muchnik in his talk claimed that this can be done bya more complicated combinatorial argument, which was not explained in the talk.)2. Theorem 5 shows that if a is only slightly more complex than b , then for some c shortmessages do not work. On the other hand, the alternative proof of theorem 1 worksfor empty c . What can be said about other c ? What are the conditions that make shortmessages possible?3. What can be said about the possible complexities C ( f | b ) , C ( f | a , b ) , and C ( f | a , b , c ) if f is a message with the required properties? References [1] Muchnik An.A., Conditional complexity and codes.
Theoretical Computer Science , v. 271(2002), issues 1–2, p. 97–109. [Preliminary version: Andrej Muchnik, Alexej Semenov,Multi-conditional Descriptions and Codes in Kolmogorov Complexity, ECCC TechnicalReport, no. 15, January 27, 2000.][2] Shen A., Vereshchagin N.K., Logical operations and Kolmogorov Complexity.
TheoreticalComputer Science , v. 271 (2002), p. 125–129.13 r X i v : . [ c s . CR ] J un Колмогоровская сложность и криптография
Ан. А. Мучник ∗ Аннотация
С точки зрения колмогоровской сложности рассматриваются задачи о по-строении сообщений, которые содержат разное количество информации о за-данном объекте в зависимости от того, какой дополнительной информациейрасполагает получатель.Предположим, что получатель знает слово a , и мы хотим сообщить получа-телю информацию о некотором слове b , при этом таким образом, чтобы нашесообщение само по себе (без a ) не позволяло восстановить b . Оказывается, чтоэто возможно (если слова a и b не слишком просты).Далее рассматриваются более сложные родственные вопросы: что будет, ес-ли “противник” знает некоторую информацию c ? насколько длинным должнобыть сообщение? Мы уточняем эти вопросы, указываем условия, при которыхсообщение может иметь полиномиальную длину, и показываем, что они суще-ственны. В этом разделе мы для данных слов a и b (при некоторых ограничениях) построимслово f , которое позволяет получить b из a , но само по себе (без a ) не содержитинформации относительно b , а также рассмотрим некоторые обобщения этой задачи. Равномерная и неравномерная сложность
Начнём с некоторых общих замечаний, мотивирующих постановку задачи с точкизрения колмогоровской сложности условного описания. Пусть X — некоторое мно-жество (двоичных) слов, а y — слово. Тогда можно определить KS ( X → y ) какминимальную длину программы, которая даёт y на любом входе x из X . (Как обыч-но, мы фиксируем некоторый оптимальный способ записи программ; можно такжевместо минимальной длины говорить о минимальной сложности.) Очевидно, что KS ( X → y ) > max x ∈ X KS ( y | x ) ∗ Результаты этой статьи были доложены Ан. А. Мучником (1958–2007) на колмогоровском се-минаре кафедры математической логики и теории алгоритмов МГУ (заседания 11 марта и 8 апре-ля 2003 года), но не были тогда опубликованы; их формулировки составили содержание докладаАн. А. Мучника и А. Л. Семёнова на семинаре в Dagstuhl (Seminar 03181, 27.04.2003–03.05.2003).Текст подготовили А. Чернов и А. Шень в 2008–2009 годах. p годится для всех x ∈ X , то она годится для любого из них), нообратное верно не всегда и левая часть может быть существенно больше правой.Можно сказать, что “равномерная” сложность задачи X → y (левая часть) можетбыть существенно больше “неравномерной”.Чтобы убедиться в этом, возьмём в качестве y несжимаемое слово длины n , ав качестве X возьмём множество всех слов x , для которых KS ( y | x ) < n/ . Тогдаправая часть по построению не превосходит n/ . Покажем, что левая не меньше n − O (log n ) . В самом деле, пусть p — некоторая программа, которая даёт y на любомвходе x , для которого KS ( y | x ) < n/ . Среди таких входов есть слова сложности n/ O (log n ) , и вместе с p их достаточно для получения y , поэтому KS ( y | p ) n/ O (log n ) . Значит, существует слово e длины O (log n ) , для которого KS ( y |h p, e i ) < n/ .По предположению p ( h p, e i ) = y и потому сложность p не меньше n − O (log n ) . Замечание . Множество X можно сделать конечным, ограничившись, скажем,словами длины не более n . Сложность задачи ( a → b ) → b Построенный пример показывает, что равномерная и неравномерная сложности мо-гут сильно отличаться. В следующем примере это не так, но доказательство их сов-падения требует дополнительных усилий.Пусть a, b — двоичные слова. Определим ( a → b ) как множество всех программ,которые на входе a дают b . Известно [2], что KS (( a → b ) → b ) = min { KS ( a ) , KS ( b ) } + O (log N ) для любых слов a, b длины не более N . Оказывается, что это утверждение можноусилить, заменив равномерную сложность на неравномерную. Теорема 1.
Для любых слов a и b длины не больше N найдётся программа f ,переводящая a в b , для которойKS ( b | f ) = min { KS ( a ) , KS ( b ) } + O (log N ) . Доказательство.
В одну сторону ( ) неравенство очевидно для любой программы f , переводящей a в b . В самом деле, имея такую программу и любое из слов a и b ,можно восстановить b .Докажем, что для некоторой функции f верно и обратное неравенство. Пусть m — максимальная из сложностей KS ( b | f ) для всех функций, переводящих a в b .(При этом мы ограничиваемся конечными функциями, определёнными на множе-стве всех слов длины не более N со значениями в том же множестве, так что ониявляются конечными объектами и условная сложность естественно определяется.Заметим также, что с логарифмической точностью нет разницы между функциямии их программами.) Нам надо показать, что сложность хотя бы одного из слов a и b не превосходит m + O (log N ) .Рассмотрим множество S пар h a ′ , b ′ i слов длины не больше N , для которых вы-полнено такое свойство: KS ( b ′ | f ) m для всякой функции f , определённой на всехсловах длины не более N и принимающей значения в том же множестве, для ко-торой f ( a ′ ) = b ′ . По построению пара h a, b i входит в S .2ножество S можно перечислять, зная N и m . В ходе этого перечисления будембраковать пары, у которых абсцисса или ордината встречается не в первый раз (сре-ди незабракованных); от S останется некоторое подмножество ˜ S , которое являетсяграфиком некоторого взаимно однозначного соответствия. Пара h a, b i уже не обяза-на принадлежать ˜ S , но в ˜ S есть либо пара с абсциссой a , либо пара с ординатой b (иначе мы бы не выбросили h a, b i ).Поэтому достаточно показать, что ˜ S содержит не более O (2 m ) элементов (тогдапорядковый номер указанной пары в перечислении множества ˜ S содержит m битови позволяет восстановить либо a , либо b ).В самом деле, множество ˜ S можно расширить до графика некоторой функции g .Если h a ′ , b ′ i ∈ ˜ S , то g ( a ′ ) = b ′ и потому KS ( b ′ | g ) m по построению ( ˜ S является под-множеством S ). Значит, в ˜ S имеется не более O (2 m ) различных b ′ , а по построениюих столько же, сколько пар в ˜ S . Криптографическая интерпретация
Утверждение предыдущего пункта имеет следующую интерпретацию. Мы хотим пе-редать информацию о слове b некоторому человеку, уже знающему слово a , пославему некоторое сообщение f . (Вместе с a это сообщение позволит легко восстановитьслово b .) При этом мы хотим, чтобы для непосвящённых, то есть людей, не знаю-щих слова a , сообщение f несло минимально возможную информацию о b , то естьчтобы сложность KS ( b | f ) была максимально возможной. Как мы уже видели, этасложность не может быть больше KS ( b ) и не может быть больше KS ( a ) (посколькувместе с a сообщение f позволяет легко восстановить b ). Теорема 1 показывает, чтоэта граница ( min { KS ( a ) , KS ( b ) } ) действительно достигается.Можно рассмотреть релятивизованный вариант этой задачи, когда непосвящён-ный знает некоторое третье слово c . Наше рассуждение (соответственно релятиви-зованное) позволяет найти функцию f , переводящую a в b , для которой KS ( b | f, c ) = min { KS ( a | c ) , KS ( b | c ) } ; эта функция содержит минимально возможную информацию о b (с точки зрениязнающих c ). Формально говоря, верно следующее утверждение (и его доказательствоповторяет доказательство теоремы 1): Теорема 2.
Пусть a, b, c — слова длины не более N . Тогда найдётся слово f , длякоторого: (1) KS ( b | a, f ) = O (log N ) ; (2) KS ( b | c, f ) = min { KS ( a | c ) , KS ( b | c ) } + O (log N ) . Условие (1) говорит, что сообщение f для посвящённых (знающих слово a ) со-держит всю необходимую информацию о b , а условие (2) говорит, что для непо-свящённых (знающих только c ) оно содержит минимально возможную информациюо b . Замечание . С первого взгляда может показаться, что для доказательства тео-ремы 1 достаточно в качестве f взять кратчайшее описание b при известном a —дескать, тогда в нём не будет “лишней информации”. Но это не так: если a и b —3езависимые случайные слова длины n , то b является таким кратчайшим описанием,но не годится в качестве f (поскольку KS ( b ) и KS ( a ) близки к n , а KS ( b | b ) близко кнулю). В этом примере можно взять в качестве f побитовую сумму a ⊕ b слов a и b по модулю — она позволяет знающему a восстановить b , но KS ( b | f ) ≈ n .Воспользовавшись теоремой о простом условном описании [1], можно аналогич-ным способом доказать утверждение теоремы 1. Согласно теореме о простом услов-ном описании, существует слово b ′ , которое является минимальным описанием b при известном a , простым относительно b . Это означает, что KS ( b ′ | b ) = O (log N ) , KS ( b | a, b ′ ) = O (log N ) и длина b ′ равна KS ( b | a ) + O (log N ) . Рассмотрим также слово a ′ , которое является минимальным описанием a при известном b , простым относи-тельно a , и уравняем его по длине с b ′ (отрезав лишние биты или добавив нули, взависимости от того, у какого из слов a и b больше сложность), получится a ′′ . Теперьможно взять в качестве f слово a ′′ ⊕ b ′ .Зная f и a , мы можем получить a ′ и затем a ′′ без дополнительной информации(точнее, с логарифмической дополнительной информацией), после чего можно по-лучить b ′ и затем b . Несложно проверить также, что KS ( b | f ) = min { KS ( a ) , KS ( b ) } с логарифмической точностью.В самом деле, с логарифмической точностью KS ( b | f ) = KS ( b, f | f ) = KS ( b, b ′ , f | f ) = KS ( b, a ′′ | f ) >> KS ( b, a ′′ ) − KS ( f ) > KS ( b, a ′′ ) − | f | = KS ( b, a ′′ ) − KS ( b | a ) Слова a ′ и b независимы (имеют логарифмическую взаимную информацию), поэтомуслово a ′′ (которое получается из a ′ с логарифмической сложностью) также независи-мо с b . Поэтому нижнюю оценку можно продолжить как KS ( b ) − KS ( b | a ) + KS ( a ′′ ) ,что равно min { KS ( a ) , KS ( b ) } . (Конец альтернативного доказательства теоремы 1).Преимущество этого рассуждения в том, что слово f получается полиномиальной(от N ) длины и даже минимально возможной длины KS ( b | a ) . (В другом доказатель-стве слово f было функцией с экспоненциально большой областью определения.)Другими словами, мы доказали такое утверждение: Теорема 3.
Для любых двух слов a и b длины не более N найдётся слово f длиныKS ( b | a ) , для которого KS ( b | f, a ) = O (log N ) и KS ( b | f ) = min { KS ( a ) , KS ( b ) } + O (log N ) . С другой стороны, недостаток этого рассуждения в том, что оно не обобщается(по крайней мере непосредственно) на случай дополнительной информации c (тоесть не позволяет доказать теорему 2). Пусть опять a и b — случайные независимыеслова одинаковой длины n , а a , a [ b , b ] — первая и вторая половины слова a [соответственно b ]. Пусть слово c состоит из двух половин a ⊕ a ⊕ b и a ⊕ b ⊕ b .Тогда KS ( a | c ) = KS ( a, c | c ) = KS ( a, b | c ) = 2 n , KS ( b | c ) = 2 n , но KS ( b | c, a ⊕ b ) = 0 .В следующем разделе мы дадим комбинаторное доказательство существованиякороткого сообщения f , которое содержит всю информацию о b для знающих a , ноне для знающих только c . 4 Комбинаторное построение описанияминимальной сложности
Сейчас мы докажем, что если слово a содержит достаточно много информации (точ-нее говоря, если KS ( a | c ) > KS ( b | c ) + KS ( b | a ) + O (log N ) ), то существует сообще-ние f , которое обладает указанными в теореме 2 свойствами и имеет сложность KS ( b | a ) + O (log N ) . Для этого мы используем следующую комбинаторную лемму.(Через B k мы обозначаем множество всех k -битовых слов.) Комбинаторная лемма
Лемма . Для любых натуральных m и n > m существует семейство F функцийвида B n → B m , состоящее из m poly( n ) функций и обладающее таким свойством:для любого слова b ∈ B m и для любого подмножества F ′ , содержащего не менееполовины всех функций из F , множество точек со второй координатой b , не по-крытых графиками функций из F ′ , содержит не более O (2 m ) точек. Формально свойство семейства F , о котором идёт речь в лемме (рис. 1), можнозаписать так: ∀ b ∀F ′ ⊂ F (cid:2) |F ′ | > |F | ⇒ |{ a ∈ B n | f ( a ) = b для всех f ∈ F ′ }| = O (2 m ) (cid:3) (Заметим также, что условие n > m излишне: при n < m утверждение леммы вы-полнено очевидным образом, поскольку количество всех a есть O (2 m ) .)Идея применения леммы: функции, не несущие информации о b , составляют влюбом простом семействе большинство, и потому среди них найдётся функция, пе-реводящая a в b , если только a не принадлежит малому множеству исключений (чтобудет противоречить предположению об a , так как эти исключения имеют малуюсложность). B n B m b Рис. 1: Часть функций (до ) из F выброшены; тем не менее графики оставшихсяпокрывают любую горизонталь, не считая O (2 m ) точек. Доказательство.
Используя вероятностный метод, возьмём случайное семейство из t случайных функций ϕ , . . . , ϕ t . (Все эти функции независимы и равномерно рас-пределены в множестве всех функций B n → B m ; точное значение параметра t мывыберем позже.) Оценим вероятность того, что этот набор не обладает требуемымсвойством. Это означает, что найдутся 5 b ∈ B m ; • множество S ⊂ B n из s · m элементов (константу s мы выберем позже); • множество I ⊂ { , , . . . , t } , содержащее половину всех индексов,для которых ϕ i ( a ) = b для любого a ∈ S и для любого i ∈ I ( ∗ ) Оценим вероятность этого события. Количество различных b есть m , количестворазличных I не превосходит t , а количество различных S не превосходит (2 n ) s m .При фиксированных b , S и I вероятность выполнения условия ( ∗ ) есть (cid:18) − m (cid:19) t − · s m (каждая из t − функций с номером в I в каждой точке a ∈ S не попадает в b свероятностью (1 − / m ) ). Всего для вероятности получаем верхнюю оценку m · t · ns m · (cid:18) − m (cid:19) t − · s m , и надо показать, что при правильно выбранных значениях параметров это выраже-ние меньше единицы. Учитывая, что (1 − / m ) m ≈ /e (с гораздо большей точно-стью, чем нужно нам), можно переписать это как m +2 t · ns m · (1 /e ) s t − . Основную роль играют члены, которое содержат t и m в показателе степени (по-скольку t , m ≫ m, n, s ). Нам нужно, чтобы малый последний сомножитель пере-весил два остальных. Разобьём последний сомножитель на две части (1 /e ) s t / , исравним эти части с первым и вторым сомножителем. Нам нужно, чтобы m +2 t · (1 /e ) s t / < и ns m · (1 /e ) s t / < . Первое неравенство будет выполнено, если взять константу s достаточно большой.Выполнения второго неравенства (в котором степени можно сократить на s ) легкодобиться, положив t = 2 m poly( n ) . Основной результат
Теперь мы можем дать точную формулировку и доказательство основного резуль-тата:
Теорема 4.
Найдётся такая константа C , что для любых слов a, b, c длины неболее N , для которых KS ( a | c ) > KS ( b | c ) + KS ( b | a ) + C log N, существует слово f длины не более KS ( b | a ) + C log N , для которого KS ( b | a, f ) C log N и KS ( b | c, f ) > KS ( b | c ) − C log N . a содержит достаточно информации, отсутствующей у “противника” (знающего слово c ); заключение говорит, что слово f позволяет восстановить b по a и имеет (средитаких слов) минимально возможную длину, а также не упрощает восстановление b по c . (Во всех выражениях O (log N ) использована одна и та же константа C , нопоскольку с ростом C утверждение становится слабее, это не принципиально.) Доказательство.
Применим теорему об условном кодировании [1] и найдём слово b ′ длины KS ( b | a ) , для которого сложности KS ( b | b ′ , a ) и KS ( b ′ | b ) равны O (log N ) .Применим комбинаторную лемму и построим семейство отображений B n → B m суказанными в ней свойствами, взяв m равным длине b ′ , то есть KS ( b | a ) , а n равнымдлине a . Без ограничения общности можно считать, что семейство F является про-стым, то есть имеющим сложность O (log N ) , поскольку при данных m и n семействофункций с нужными свойствами можно искать перебором.Большинство функций в этом семействе (как и в любом другом простом семей-стве) не сильно упрощают задание b при известном c (имеют малое значение разности KS ( b | c ) − KS ( b | c, f ) ). В самом деле, с точностью O (log N ) это можно переписать как KS ( f | c ) − KS ( f | b, c ) (по теореме о сложности пары и условной сложности), среднеезначение обоих членов есть логарифм числа элементов семейства (в данном случае m + O (log N ) ), поэтому среднее значение разности есть O (log N ) и остаётся восполь-зоваться неравенством Чебышёва.Оставив в семействе F ′ только функции из этого большинства, мы (по лемме)покроем их графиками пары вида h a ′ , b ′ i при всех a ′ длины n , кроме O (2 m ) “плохих” a ′ , и нам надо убедиться, что a не попало в число плохих. Для этого достаточнопоказать, что KS ( a ′ | c ) < KS ( b | c ) + KS ( b | a ) + O (log N ) для всех плохих a ′ . В самом деле, зная b и c , а также KS ( b | c ) (последнее число содер-жит O (log N ) битов, и с логарифмической точностью им можно пренебречь), можноперечислять все функции f , не попавшие в семейство F ′ (упрощающие задание b приизвестном c ), а потому и точки, не покрытые графиками функций из семейства F ′ .(Напомним, что b ′ можно также восстановить по b с логарифмической сложностью.)Этих точек по лемме не более O (2 m ) , поэтому их сложность при известных b, c неболее m + O (log N ) . Получаем KS ( a ′ | b, c ) KS ( b | a ) + O (log N ) для всех плохих a ′ , и потому KS ( a ′ | c ) KS ( a ′ | b, c ) + KS ( b | c ) + O (log N ) KS ( b | a ) + KS ( b | c ) + O (log N ) , что и требовалось. Условие на сложности в теореме 4 может показаться искусственным. Скажем, еслислова a, b, c попарно независимы, мы требуем, чтобы сложность слова a была вдвое7ольше сложности слова b , и это выглядит странно (почему агент должен изначальноиметь вдвое больше информации, чем мы хотим передать? может быть, условия KS ( a ) > KS ( b ) было бы достаточно?).В этом разделе мы покажем, что неравенство в условии теоремы 4 на самомделе существенно: если этого не требовать, то может оказаться, что все слова f , длякоторых выполнено утверждение теоремы 2, имеют очень большую длину. Точноеутверждение (см. ниже теорему 5) и его доказательство довольно длинные, и мыначнём с более простого рассуждения, которое, правда, даёт пример с очень большойсложностью слова c . Затем мы покажем, как можно уменьшить сложность слова c .Будем строить три слова a, b, c , обладающие такими свойствами: любая не оченьдлинная (скажем, полиномиальная от сложностей слов или даже субэкспоненциаль-ная) программа f , получающая b из a , значительно упрощает получение b из c . Вэтом примере слова a и b будут иметь сложность примерно , n и n соответственно,а их взаимная информация будет близка к нулю. (Коэффициент , выбран доста-точно произвольно; важно, что он больше и меньше .) Cложность b при известном c будет равна примерно n , так что добавление c в качестве условия не уменьшаетсложность b . А вот добавление (к условию c ) любой программы f , получающей b из a , существенно уменьшает условную сложность b : вместо KS ( b | c ) ≈ n получается KS ( b | f, c ) ≈ , n .Основная идея конструкции такова: слово c само будет функцией, переводящей a в b (но при этом без a слово c не содержит никакой информации о b ). Пусть намдана некоторая программа f , которая также переводит a в b . Как она помогает за-дать b при известном c ? Мы знаем, что и c , и f переводят a в b , поэтому a являетсяодним из решений уравнения c ( x ) = f ( x ) . Эти решения можно перечислять, зная c и f (программа f может быть определена не всюду, но это не мешает). Если решениймало, то можно задать a (а тем самым и b ), указав его порядковый номер в пере-числении таких решений. Этого достаточно при известных c и f , и может требоватьменьше битов, чем KS ( b ) (которое равно KS ( b | c ) ; как мы говорили, само по себе c не содержит информации о b ).Покажем, что с большой вероятностью такой пример получится, если случайновыбрать пару слов h a, b i соответствующих длин ( , n и n ), а в качестве c выбратьслучайную функцию (с аргументами и значениями соответствующих длин), графиккоторой проходит через h a, b i . (То же самое распределение вероятностей, получится,если сначала выбрать случайную функцию, а потом на её графике выбрать случай-ную точку.)Слова a и b будут иметь нужные сложности и малую взаимную информациюс большой вероятностью. Чуть сложнее понять, что сложность b при известном c будет близка к n . В самом деле, типичная функция c с аргументами длины , n изначениями длины n принимает большинство своих значений примерно одинаковоечисло раз (около , n ), и потому распределение вероятностей для второй координатыслучайной точки её графика близко к равномерному, и большая часть значений будетслучайна даже при известной функции c .Пусть теперь дана некоторая программа f , переводящая a в b , причём она имеетне очень большую длину (существенно меньшую, чем то, что даёт теорема 2). Сколь-ко решений будет иметь уравнение f ( x ) = c ( x ) ? В типичной ситуации (для данной f и случайной c ) таких решений будет около , n (в каждой точке совпадение с8ероятностью − n , а точек , n ); здесь мы предполагаем, что f всюду определена,но если нет, решений будет только меньше. Существенно большее число совпаде-ний для данной функции f и случайно выбранной c очень маловероятно, другимисловами, шар соответствующего радиуса в метрике Хемминга имеет очень малую ве-роятность. Поскольку таких шаров не очень много, то и их объединение будет иметьмалую вероятность, и с большой вероятностью случайная функция c не попадёт нив один из этих шаров. Это значит, что для такой функции уравнение c ( x ) = f ( x ) для любой не очень длинной программы f будет иметь лишь немного более , n решений, и потому сложности KS ( a | f, c ) и KS ( b | f, c ) будут лишь чуть больше , n ,как мы и обещали.Мы не проводим аккуратно соответствующие оценки, так как хотим доказатьболее сильное (и сложное) утверждение. А именно, мы хотим найти слово c сравни-тельно небольшой сложности (а не экспоненциальной сложности, как в изложеннойконструкции); сложность слова c будет примерно на KS ( b ) больше, чем сложностьпрограмм f , для которых оно будет контрпримером. (Это не удивительно: чем боль-ше программ f мы должны “опровергнуть”, тем большая свобода в выборе c требу-ется.)Идея конструкции — выбор точки на графике случайной функции c — сохраня-ется, только теперь c будет выбираться не среди всех функций (с аргументами изначениями нужной длины), а среди функций некоторого семейства C . Мы сфор-мулируем комбинаторные свойства, которым должно удовлетворять это семейство,докажем (вероятностно), что такое семейство существует, заключим отсюда, что су-ществует простое семейство с этими свойствами (перебор), а затем докажем, чтодля большинства точек a, b найдётся функция c из семейства, которая удовлетво-ряет нужным требованиям. (Таким образом, мы докажем не просто существованиетройки h a, b, c i , а более сильный факт: для большинства пар h a, b i существует c .)Ограничивая размер семейства, мы тем самым ограничиваем сложность слова c .Нужное нам комбинаторное утверждение мы сформулируем в виде леммы. Пустьданы множества A и B . Будем говорить, что некоторое семейство F функций вида A → B бракует функцию c : A → B , если при каком-нибудь f ∈ F размер множества { a : c ( a ) = f ( a ) } больше | A | / | B | (число корней более чем в раза превосходит“ожидаемое”). Пусть H — набор семейств функций из A в B , параметризованныйэлементами b (то есть H ( b ) при любом b ∈ B является семейством функций вида A → B ). Скажем, что функция c покрывает пару h a, b i ∈ A × B при данных F и H ,если c ( a ) = b , при этом c не забраковано семейством F и c / ∈ H ( b ) . Лемма.
Пусть A и B — непустые множества двоичных слов, причём B содержитне менее двух элементов и | A | > | B | . Пусть также даны числа ε > | B | / | A | и Φ | A | / | B | . Тогда найдётся такое семейство C функций вида A → B размера ( мощности ) max (cid:26) | B | ε ,
6Φ log | B | ε , | B | log | B | (cid:27) , что для любого семейства F размера не более Φ и для любого набора H семейств,каждое из которых имеет размер не более четверти |C| ( то есть | H ( b ) | |C| / при всех b ∈ B ) не более ε -доли всех пар из A × B не покрыто ни одним c ∈ C приданных F и H . C , F и H ( b ) ): ∃C ∀F , H (cid:12)(cid:12)(cid:12)(cid:12)(cid:26) h a, b i : ∀ c (cid:20) ( c ( a ) = b ) ⇒ (cid:2) ( c ∈ H ( b )) ∨ ( ∃ f ∈ F |{ x : f ( x ) = c ( x ) }| > | A || B | ) (cid:3)(cid:21)(cid:27)(cid:12)(cid:12)(cid:12)(cid:12) ε | A || B | . Смысл этой леммы (как она применяется) такой. Без ограничения общности мож-но предполагать, что семейство C простое (как обычно, можно взять первое в неко-тором естественном порядке семейство с нужными свойствами). Возьмём в качестве F семейство всех функций, имеющих простые программы (точнее, их продолжений,если функции частичны), а в качестве H ( b ) — семейство всех функций, простыхотносительно b . Для пар h a, b i , не входящих в ε -долю “плохих”, найдётся покрыва-ющая их функция из семейства C . Эта функция (точнее, её индекс в C ) и будетнужным контрпримером (информацией у противника). Если в дополнение к c про-тивник получает простую программу f , переводящую a в b , то задание a и тем самым b упрощается: достаточно указать порядковый номер a в перечислении всех реше-ний уравнения f ( x ) = c ( x ) . Выбранное нами H , с другой стороны, гарантирует, что c сама по себе независима с b (имеет близкую к максимальной сложность даже приизвестном b ). Подробнее мы скажем про это дальше, а пока докажем лемму. Доказательство.
В качестве C возьмём случайное семейство функций нужного раз-мера. (Будем считать, что функции из C нумеруются числами от до |C| , и длякаждого номера i и каждой точки a ∈ A мы независимо определяем значение i -йфункции на a , выбирая равновероятно один из элементов B .) Докажем, что вероят-ность того, что C “неудачное”, то есть не обладает требуемым свойством, меньше .Оценим вероятность при фиксированном семействе F . Нам нужно, чтобы длялюбого набора семейств H (с указанными в лемме ограничениями — все семействане более четверти C ) для почти всех пар h a, b i нашлась функция из C , проходящаячерез точку h a, b i , не забракованная семейством F и не входящая в H ( b ) . Заметим,что в определении забракованной функции не участвует C : зная F , мы уже знаем,какие функции будут забракованы. Возможны два случая: забракованных функциймного (скажем, больше четверти всех функций из C ) и забракованных функциймало (меньше четверти). Во втором случае мы можем присоединить забракованныефункции ко всем семействам H ( b ) , и размер этих семейств останется небольшим (небольше половины |C| ).Другими словами, для данного семейства F неудачность C покрывается объеди-нением следующих двух событий:1. F бракует не меньше четверти функций из C ;2. для некоторого набора H , в котором все семейства H ( b ) имеют размер не более половины |C| , доля пар из A × B , через которые не проходит ни одна функция c ∈ C , не входящая в H ( b ) , превышает ε .Нам нужно, чтобы сумма вероятностей этих двух событий, умноженная на коли-чество возможностей для F , была меньше . Докажем, что вероятность каждого из10их меньше / , делённой на ( | B | | A | ) Φ (последнее выражение — верхняя оценка наколичество возможных семейств F размера не более Φ ).Первое событие запишем в таком виде: существует такое подсемейство C ′ ⊂ C размера |C| / , что для всех c ∈ C ′ найдётся такое подмножество A ′ ⊂ A размера | A | / | B | и такая функция f ∈ F , что f ( a ) = c ( a ) для всех a ∈ A ′ . Количество возможных C ′ оценим сверху общим числом подсемейств в C , то есть |C| . При фиксированном подсемействе (точнее, для данного множества индексов)функции с этими индексами выбираются независимо, поэтому можно оценить веро-ятность нежелательного события для одной из них и возвести в степень. Для оценкиколичества возможных подмножеств A ′ заметим, что число подмножеств размера r в множестве размера q , то есть C rq , не превосходит q r /r ! q r / (( r/ r ) = (3 q/r ) r .Для q = | A | и r = 4 | A | / | B | получаем, что количество возможных A ′ не превосходит (3 | B | / | A | / | B | .Таким образом, вероятность первого события не больше |C| Φ (cid:18) | B | (cid:19) | A | / | B | (cid:18) | B | (cid:19) | A | / | B | ! |C| / = / (cid:18) (cid:19) | A | / | B | ! |C| . После умножения на | B | | A | Φ (число возможных семейств F ) она остаётся мень-ше / , поскольку по условию леммы | B | > , | A | > | B | , Φ | A | / | B | и |C| > | B | log | B | . Действительно, из последнего условия следует, что |C| > при Φ > (случай пустого F тривиален) и | B | > , поэтому |C| |C| / и из | A | / | B | следует, что |C| (13 / | A ||C| / | B | ) . Из log Φ | A | / | B | следу-ет, что ( |C| /
4) log Φ (1 / | A ||C| / | B | ) . Наконец, из |C| > | B | log | B | следу-ет, что | A | Φ log | B | (1 / | A ||C| / | B | ) . Складывая эти неравенства, замечая, что / < / < log (4 / , и потенцируя обе части по основанию , после группировкисомножителей получаем требуемое неравенство.Перейдём ко второму событию (напомним, оно зависит от F , которое мы пред-полагаем фиксированным): существует такой набор семейств H = { H ( b ) } b ∈ B , вкотором каждое семейство H ( b ) имеет размер не более половины |C| , и такое мно-жество U ⊂ A × B размера ε | A || B | , что для любой пары h a, b i ∈ U и для любойфункции c ∈ C , не принадлежащей H ( b ) , значение c ( a ) не равно b . Здесь нам будет удобно считать, что семейства H ( b ) состоят не из функций, а изих индексов (чисел от до |C| ). (Событие при этом останется тем же.)Чтобы оценить вероятность интересующего нас (“второго”) события, зафиксиру-ем F , H и U . Тогда соответствующее событие можно описать как пересечение повсем парам h a, b i и по всем i / ∈ H ( b ) событий c [ i ]( a ) = b (“функция номер i в точке a не равна b ”). Оценка была бы простой, если бы эти события были независимы: тогданадо было бы возвести (1 − / | B | ) в степень, равную количеству всех троек h i, a, b i ,то есть ε | A | · | B | · |C| / . (Мы умножили число пар h a, b i ∈ U на количество возможных i для данного b .) При разных a (а также при разных i ) эти события независимы попостроению, но события c [ i ]( a ) = b и c [ i ]( a ) = b зависимы. Нас выручает то, чтозависимость тут “в нашу пользу” — тот факт, что мы знаем, что c [ i ]( a ) = b , толькоувеличивает вероятность события c [ i ]( a ) = b (знаменатель в / | B | уменьшается наединицу, аналогично и для большего количества условий). Формально говоря, мож-но сгруппировать события с одними и теми же a и i и воспользоваться неравенством (1 − k/ | B | ) (1 − / | B | ) k , где k — число событий в группе.11аким образом, мы получили верхнюю оценку для вероятности неудачи (прификсированных F , H и U ): она не превосходит (cid:18) − | B | (cid:19) ε | A || B ||C| / − ε | A ||C| / . Остаётся умножить эту вероятность на количество множеств U (их не больше | A || B | ),на количество наборов H (их не больше (2 |C| ) | B | ) и на количество семейств F . Врезультате получим − ε | A ||C| / | A || B | |C|| B | | B | | A | Φ . Нетрудно проверить, что это меньше / при | B | > , ε > | B | / | A | , |C| > | B | /ε , и |C| > (6Φ log | B | ) /ε . Действительно, | A || B | | A || B | / при непустом A и | B | > ,поэтому из |C| > | B | /ε следует, что | A || B | (3 / ε | A ||C| . Из ε > | B | / | A | следует, что |C|| B | (1 / ε | A ||C| . Наконец, из |C| > (6Φ log | B | ) /ε следует, что | A | Φ log | B | (1 / ε | A ||C| . Складывая эти неравенства, замечая, что / < / ,и потенцируя обе части по основанию , после группировки сомножителей получаемтребуемое неравенство.Теперь мы можем применить это комбинаторное утверждение и доказать обе-щанный отрицательный результат.Пусть α > — некоторая константа. Пусть m , n , l — натуральные числа, причём n > , m > n + 4 , m − α log m > n + 2 и l + 1 + log ( l + 1) m − n − . Положим N = max { m, l } . Теорема 5.
Пусть даны слово a длины m и слово b длины n , причём m + n − KS ′ ( a, b ) < α log m. Тогда найдётся слово c сложности n + l + O (log N ) , для которого • KS ( c | b ) = KS ( c ) + O (log N ) ; • KS ( b | a, c ) = O (log N ) ; • для любого f , при котором KS ( f ) l − KS ( b | a, f ) , выполнено и KS ( b | c, f ) m − n + KS ( b | a, f ) + O (log N ) . ( Константа в O ( · ) зависит от α , но не от m , n и l . )Объясним, каким образом эта теорема доказывает существенность условия в тео-реме 4. Из равенства KS ( c | b ) = KS ( c ) + O (log N ) вытекает, что b и c независимы и KS ( b | c ) = KS ( b ) = n (с точностью O (log N ) ). Поскольку KS ( b | a, c ) = O (log N ) , тои KS ( a | c ) > KS ( b | c ) − KS ( b | a, c ) = n (с точностью O (log N ) ). Отметим ещё, что KS ( b | a ) = n (с точностью O (log m ) ). Таким образом, если KS ( b | a, f ) = O (log N ) длянекоторого слова f длины не более l , то KS ( b | c, f ) < min { KS ( a | c ) , KS ( b | c ) } + O (log N ) при m − n < n + O (log N ) , то есть при KS ( a ) < KS ( b | c ) + KS ( b | a ) .12 оказательство. Пусть A — множество всех слов длины m , B — множество всехслов длины n . Возьмём ε = 1 /m α и Φ = 2 l +1 ( l + 1) . Легко убедиться, что из условийна n, m, l следует, что A , B , ε и Φ удовлетворяют условиям леммы. Поэтому семей-ство C с указанными в лемме свойствами существует. Его можно эффективно найтиперебором, зная A , B , ε и Φ , и поэтому сложность любого элемента C не превосходитлогарифма числа элементов в C плюс O (log N ) , то есть n + l + O (log N ) .Возьмём в качестве H ( b ) множество { c ∈ C : KS ( c | b ) < log |C| − } . Ясно, что | H ( b ) | |C| / .Семейство функций F строится так. Оно будет состоять из Φ функций, прону-мерованных от до Φ . Мы перечисляем все тройки h a, b, f i , где a ∈ A , b ∈ B и f —слово длины l , для которого KS ( f ) + KS ( b | a, f ) l . При этом некоторые номерафункций имеют метки, являющиеся словами длины l . Когда появляется новая трой-ка h a, b, f i , мы пытаемся доопределить в точке a значением b одну из функций, ужепомеченных меткой f . Если все они уже определены в точке a (и не равны b ), мывыбираем номер, который ещё не помечен, помечаем его словом f и полагаем функ-цию с соответствующим номером равной b в точке a . Каждый раз свободный (ничемне помеченный) номер найдётся, поскольку для каждого f нужно не более l − KS ( f )+1 номеров (если для некоторого f потребовалось больше, значит, для некоторого a все l − KS ( f )+1 функций определены и принимают разные значения, то есть мы перечис-лили уже l − KS ( f )+1 разных b , для которых KS ( b | a, f ) l − KS ( f ) — противоречие),а для всех f нужно не более P KS ( f ) l l − KS ( f )+1 = P lk =0 P KS ( f )= k l − k +1 = Φ номе-ров. После того, как все тройки с указанным свойством перечислены, оставшиесянеопределёнными значения функций доопределяются произвольно.Рассмотрим множество пар h a, b i , не покрытых C при выбранных F и H . Ихколичество не превосходит ε m + n . С другой стороны, F и H могут быть эффективнопостроены с оракулом ′ , и по ним эффективно строится множество непокрытыхпар, поэтому для любой непокрытой пары KS ′ ( a, b ) m + n − α log m .Таким образом, для любых слов a и b , у которых m + n − KS ′ ( a, b ) < α log m ,найдётся такое c ∈ C , что c ( a ) = b , c / ∈ H ( b ) и для любой f ∈ F количество таких x ∈ A , что c ( x ) = f ( x ) , не больше m − n +2 .Из c ( a ) = b следует, что KS ( b | a, c ) = O (log N ) .Из c / ∈ H ( b ) следует, что KS ( c | b ) > log |C| − , то есть KS ( c ) = KS ( c | b ) + O (log N ) .Осталось оценить KS ( b | c, f ) для f , у которых KS ( f ) l − KS ( b | a, f ) . Зная сло-во f , будем перечислять те функции из F , которые помечены f . Одна из них,скажем, ˜ f содержит пару h a, b i (иными словами, ˜ f ( a ) = b ), для её задания нуж-но не более KS ( b | a, f ) + O (log N ) дополнительных битов. Теперь по ˜ f и c можноперечислять множество таких x , что c ( x ) = ˜ f ( x ) . (Строго говоря, при помощи KS ( b | a, f ) + O (log N ) битов мы можем задать только номер ˜ f в семействе F , а несаму конечную функцию. Однако для перечисления решений уравнения c ( x ) = ˜ f ( x ) нам достаточно того, что мы можем перечислять пары h x, y i , для которых y = ˜ f ( x ) ,повторяя процесс построения F .) Это множество содержит a и состоит максимумиз m − n +2 элементов, и мы можем задать a , затратив ещё m − n + 2 битов. Итого, KS ( b | c, f ) KS ( a | c, f ) + O (log N ) KS ( b | a, f ) + m − n + O (log N ) , что и требова-лось. Открытые вопросы . 13. Можно ли в последней теореме улучшить оценку, выбрав c сложности n + O (log N ) вместо n + l + O (log N ) ? (В своём докладе Ан. А. Мучник говорил, чтоэто верно, но требует более сложного комбинаторного рассуждения, которое небыло рассказано).2. Последняя теорема показывает, что если a не намного сложнее b , то при неко-тором c короткие секретные сообщения невозможны. В то же время альтерна-тивное доказательство теоремы 1 показывает, что при пустом c короткие сек-ретные сообщения всегда возможны. Можно ли указать какие-то классы слов c , для которых возможны и для которых невозможны короткие сообщения?3. Что можно сказать о возможных сложностях KS ( f | b ) , KS ( f | a, b ) , KS ( f | a, b, c ) для секретных f ? Список литературы [1] Muchnik An. A. Conditional complexity and codes,
Theoretical Computer Science ,v. 271 (2002), issues 1–2, p. 97–109. [Preliminary version: Andrej Muchnik, AlexejSemenov, Multi-conditional Descriptions and Codes in Kolmogorov Complexity,ECCC Technical Report, 2000, no. 15, January 27, 2000.][2] A. Shen, N. Vereshchagin. Logical operations and Kolmogorov complexity.