Kolmogorov complexity and cryptography

This paper contains some results of An.A.Muchnik (1958-2007) reported in his talks at the Kolmogorov seminar (Moscow State Lomonosov University, Math. Department, Logic and Algorithms theory division, March 11, 2003 and April 8, 2003) but not publish…

Authors: Andrej A. Muchnik

K olmogoro v comple xity and cryptogra phy Andrej A. Muchnik ∗ Abstract W e consid er (in the framewo rk of algori thmic informat ion theor y) questi ons of the follo wing type: constr uct a messag e that contai ns diffe rent amounts of information for recipie nts that ha ve (or do not hav e) certain a priori information . Assume, for exa mple, that the rec ipient knows some string a , and we want to send her some in formation that allo ws her to recons truct s ome string b (usin g a ). On the ot her hand, this information alone sh ould not allo w the eav esdropper (who does not kno w a ) to recons truct b . It is indee d possib le (if the string s a and b are not too simple). Then we con sider more compl icated ver sions of this question . What if the ea vesd ropper kno ws some string c ? How lon g should be our messag e? W e p rovide some co nditions that guaran tee the exis tence of a poly nomial-size message; we sho w then that without these condit ions this is not alwa ys possible. 1 Non-inf orm ative conditional descriptions In this section we construct (for given strings a and b t hat s atisfy some conditi ons) a st ring f that contains enough informati on to obtain b from a , b ut does not contain any information about b in itself (without a ), and discuss some generalizations of this problem. Unif orm and non-unif orm com plexity Let us start wit h s ome general remarks about cond itional description s and their complexity . Let X be a set of binary st rings, and let y be a string. Then C ( X → y ) can b e defined as the minimal leng th of a program that m aps ev ery elem ent of X to y . (As usually , we fix so me optimal program ming language. W e can als o replace mi nimal length by minimal compl exity .) Evidently , C ( X → y ) ≥ max x ∈ X C ( y | x ) (if a program p works for all x ∈ X , it works for ev ery x ), but the rev erse inequality i s not alwa ys true. It may happen that the “uniform” com plexity o f th e problem X → y (l eft hand side) is significantly greater than the “no nuniform” complexity of th e same problem (right hand side). ∗ This paper contains some results of An.A. Muchnik (1958 –2007 ) repo rted in his talks at the K olmo gorov seminar (Moscow State Lomonosov Uni versity , Math. Dep artment, Logic and Algorithm s theory di vision, March 11, 20 03 and April 8, 20 03) b ut not p ublished at that tim e. These results wer e stated (with out proof s) in the joint talk o f Andrej Much nik and Alexei Semenov at Dag stuhl Seminar 03181 , 27.04.200 3–03. 05.2003. This text was prepare d by Alexey Chernov and Alexander Shen in 2008–20 09. 1 T o prove t his, let us consider an incom pressible string y of length n and let X be the set of all strings x such that C ( y | x ) < n / 2. Then the righ t hand side i s bounded by n / 2 by con- struction. Let us show t hat left hand side i s greater than n − O ( log n ) . Indeed, let p be a program that outputs y for every input x such that C ( y | x ) < n / 2. Am ong thos e x t here are strings of complexity n / 2 + O ( log n ) and together with p they are enough to obtain y , there- fore C ( y | p ) ≤ n / 2 + O ( l og n ) . There fore, t here exists a string e of length O ( log n ) such t hat C ( y |h p , e i ) < n / 2. Th en, by our ass umption, p ( h p , e i ) = y and therefore the c omp lexity of p is at least n − O ( log n ) . Remark . In t his example the set X can be made finite if w e restrict ourselves to string s of bounded length, say , of length at most 2 n . Complexity of the pr oblem ( a → b ) → b The example above shows t hat uni form and nonuniform complexities could dif fer signi ficantly . In the next e xampl e they c oin cide, but some work is needed to sho w that they coincide. Let a and b be binary st rings. By ( a → b ) we denot e the set of all programs t hat transform input a into output b . It is kno wn [2] that C (( a → b ) → b ) = min ( C ( a ) , C ( b )) + O ( log N ) for a ny two strings a , b of l ength at most N . It turns out that a st ronger v ersion of this statement (when the uniform complexity is replaced by a non-uniform one) is a ls o true: Theor em 1 F or eve ry two st rings a and b of length at most N t her e e xists a p r ogram f that maps a to b such that C ( b | f ) = min { C ( a ) , C ( b ) } + O ( log N ) Pr oof . 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 ca n reconstruct b . Let us prove th at t he reverse inequality is true for some function f that maps a t o b . W e restrict ourselves to total functions defined on the set of all s trings of length at most n and whose values also bel ong t o this set, so such a function is a finite object and conditional complexity with respect to f is d efined in a natural way . Note also that (u p to O ( log N ) precision) it does not matter whet her we cons ider f as an e xplicit ly given finite object or as a program, si nce (for known N ) both representations can be transformed to each other . Let m be the maximum value of C ( b | f ) for all fun ctions (of the type described) that map a t o b . W e need to show that one o f the strings a and b has complexity at most m + O ( log N ) . This can be done as follows. Consider t he set S of all pairs h a ′ , b ′ i where a ′ and b ′ are strings o f lengt h at most N that have the fol lowing prop erty: C ( b ′ | f ) ≤ m for every total fun ction f whose ar gu ments and values ar e string 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 effe ctively enu merated giv en m and N . Let us perform this enumeration and d elete pairs whose first or second coordinate was already encountered (as the first/second coordinate of some o ther un deleted pair during the enumeration); only “original” pairs wi th two “fresh” component s are placed in ˜ S . This guarantees that ˜ S is a graph of a bijection. The pair h a , b i i s n ot necessarily in ˜ S ; howe ver , so me o ther p air wit h the first comp onent a or wi th the second component b is in ˜ S (otherwise nothin g pre vents h a , b i from appearing in ˜ S ). 2 Since ˜ S can also be effecti vely enumerated (given m and N ), i t is enough to show that it contain s O ( 2 m ) elements (then the ordi nal number of t he above-mentioned p air describes either a or b ). T o show this, let us extend ˜ S to the graph o f some bijection g . I f some h a ′ , b ′ i ∈ ˜ S , then g ( a ′ ) = b ′ and therefore C ( b ′ | g ) ≤ m by const ruction (rec all t hat ˜ S is a subset of S ). Therefore, ˜ S contains at most O ( 2 m ) dif ferent va lues of b ′ , but ˜ S is a bijection graph. (End of proof.) Cryptographic interp retation Theorem 1 has the fol lowing “cryptographic” interpretation. W e want to transmi t some infor - mation (string b ) to an agent that already kn o ws s ome “background” st ring a by s ending some message f . T ogether wit h a thi s message sh ould allow the agent to reconstruct b . At the sam e time we want f to carry m inimal informati on about b for a “non-initiated” listener , i.e., the complexity C ( b | f ) should be maximal. Thi s complexity cannot exceed C ( b ) for e vident rea- sons and cannot exceed C ( a ) since a and f tog ether determine b . Theorem 1 shows that this upper bound can be reached for an appropriate f . Let us consider a relativized version of th is result that also has a natural cryptographi c inter- pretation. Assume that n on-initiated lis tener kn ows some s tring c . Our constructio n (properly relativized) proves the e xist ence of a function f that maps a to b such that C ( b | f , c ) ≈ m in ( C ( a | c ) , C ( b | c )) . This function has mi nimal possibl e amo unt of informati on about b for people who know c . More formally , the following statement is t rue (and it s proof is a straigh tforward relati vization of the previous argument): Theor em 2 Let a , b , c be strings of length at most N . Then there e xists a str ing f such that: (1) C ( b | a , f ) = O ( log N ) ; (2) C ( b | c , f ) = m in { C ( a | c ) , C ( b | c ) } + O ( log N ) . The claim (1) says that for recipients who kn o w a the message f is enough to reconstruct b ; the claim (2) says th at for the recipients who know only c the m essage f contains m inimal possible 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; w e may h ope that it does not contain “redundant” information. Howe ver , this approach d oes n ot work: if a and b are independent random s trings of length n , t hen b is s uch a shortest description, but ca nnot be used as f in Theorem 1. In this case one can let f = a ⊕ b (bit-wise sum modulo 2) instead: kn owing f and a , we reconstruct b = a ⊕ f , but C ( b | f ) ≈ n . This trick can be generalized t o provide an alternative p roof for Theorem 1. For this we u se the conditional description theorem from [1]. It says that for any tw o stri ngs 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 simpl e relative to b ] a nd • the length of b ′ is C ( b | a ) [ b ′ has the m inimal possible lengt h for descriptio ns of b when a is known]. 3 T o prove Theorem 1, take th is b ′ and also a ′ defined in the symmetri c way (the short de- scription of a when b is kno wn simple relative t o a ). Add trailing zeros or truncate a ′ to get the string a ′′ that has the same leng th as b ′ . (Adding zeros is needed when C ( a ) < C ( b ) , truncation is needed when C ( a ) > C ( b ) .) Then let f = a ′′ ⊕ b ′ . A person who kno ws a and gets f , can compute (with log arithmic addit ional advice) first a ′ , t hen a ′′ , then b ′ and t hen b . It is no t di f ficult to check also t hat 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 log arithmic precisio n. The strings a ′ and b are independ ent (hav e log arithmic mutual information), so b and a ′′ (that is a simple function of a ′ ) are independent too. Then we get lower b ound C ( b ) − C ( b | a ) + C ( a ′′ ) wh ich is equal to min { C ( a ) , C ( b ) } . (End of t he alternative proof.) The advantage of this proo f: it p rovides a message f of polynomi al in N length (unlike our origin al proof, where the message is some function that has d omain of exponential size), and, moreov er , f has the minim al po ssible length C ( b | a ) . The result it gives can be stated as follows: Theor em 3 F or every t wo st rings a and b of length at mos t N t her e exists a string f of l ength C ( b | a ) s uch that C ( b | f , a ) = O ( l og N ) and C ( b | f ) = min { C ( a ) , C ( b ) } + O ( log N ) . The disadvantage is th at this proof does not work for relativized case (Theorem 2), at least literally . F or example, let a and b be ind ependent strings of lengt h 2 n and let a = a 1 a 2 and b = b 1 b 2 be their divisions in two halves. Then let c = ( a 1 ⊕ a 2 ⊕ b 1 )( a 2 ⊕ b 1 ⊕ b 2 ) . Then C ( a | c ) = C ( a , c | c ) = C ( a , b | c ) = 2 n , C ( b | c ) = 2 n , but C ( b | c , a ⊕ b ) = 0. In t he next section we provide a different construction of a short m essage f that has the required properties (contains i nformation about b onl y for th ose who know a but not for t hose who know c ). 2 A combin atorial con struction of a low complexity descriptio n W e wi ll prove that if a contains enou gh informatio n (more precisely , if C ( a | c ) ≥ C ( b | c ) + C ( b | a ) + O ( log N ) ), then there exists a m essage f that satisfies the claim of Theorem 2 and has complexity C ( b | a ) + O ( l og N ) . W e n eed the foll owing com binatorial statement . (By B k we denote the set of k -bit binary strings.) 4 Combinatorial statement Lemma 1 Let n ≥ m be two positive in te ger s. Ther e e xists a f amily F consis ting of 2 m poly ( n ) functions of type B n → B m with the fo llowing property: for every st ring b ∈ B m and for every subfamily F ′ that cont ains at least half of the elements of F , ther e ar e at most O ( 2 m ) points with the second coor dinate b and not cover ed b y the graphs of the functions in F ′ . Formally the property of F claimed by Lemm a (Fig. 1) can be written as follo ws: ∀ b ∀ F ′ ⊂ F  # F ′ ≥ 1 2 # F ⇒ # { a ∈ B n | f ( a ) 6 = b for all f ∈ F ′ } = O ( 2 m )  . (Note that the cond ition n ≥ m is in fact redundant: i f n < m , the claim is t rivial si nce the number of all a is O ( 2 m ) .) Before proving the Lemma, let us try to explain informally why it could be relev ant. The family F is a reservoir for messages ( f will b e a number of some function from F ). M ost functions from F (as in any other simple family) h a ve almos t no inform ation about b ; they form F ′ . If the pair h a , b i is covered by the graph of some funct ion f ∈ F ′ , then f (i.e., its nu mber) is t he required message. If not, a bel ongs to a small set of exceptions, and its complexity is small, so the condition of the theorem is not s atisfied. (See the d etailed argument below .) B n B m b Figure 1: Some fun ctions (up to 50%) are del eted from F ; nev ertheless the graphs of the remaining ones cov er eve ry horizontal line almost ev erywhere (except for O ( 2 m ) points). Pr oof of the combinatorial lemma. W e u se probabi listic m ethod and s how that for a random family of 2 t independent ra ndom function the required property holds with po sitive probability . (The exact v alue of parameter t wi ll be chosen later .) Let us upperboun d the probabil ity of the event “random family ϕ 1 , . . . , ϕ 2 t does not s atisfy the required property”. Th is happens if there exist • an element b ∈ B m ; • a set S ⊂ B n that cont ains s 2 m elements (the exact value of the constant s will be chosen later); • a set I ⊂ { 1 , 2 , . . . , 2 t } that contains half of all indices such that ϕ i ( a ) 6 = b for e very a ∈ S and e very i ∈ I . ( ∗ ) 5 T o get an upper bound for t he probability of thi s ev ent, note that there are 2 m diffe rent values of b , at most 2 2 t diffe rent values of I and at most ( 2 n ) s 2 m diffe rent values of S . For fixed b , I , and S the probabili ty of ( ∗ ) is  1 − 1 2 m  2 t − 1 · s 2 m (each of 2 t − 1 functions with indices belonging to I has a va lue di f ferent from b at each point a ∈ S ). In total we get an upper bound 2 m · 2 2 t · 2 ns 2 m ·  1 − 1 2 m  2 t − 1 · s 2 m , and we ha ve to show that this prod uct i s less than 1 i f th e values of th e parameters are chos en properly . W e can replace ( 1 − 1 / 2 m ) 2 m by 1 / e (the difference is negligible with ou r precision) and re write the expression as 2 m + 2 t · 2 ns 2 m · ( 1 / e ) s 2 t − 1 . The m ost important terms are those containi ng 2 t and 2 m in the exponents (since 2 t , 2 m ≫ m , n , s ). W e want the last sm all t erm to overweight the first two. Let us split it into two parts ( 1 / 2 ) s 2 t / 4 and use these parts to compensate the first and the second term. It i s enough that 2 m + 2 t · ( 1 / e ) s 2 t / 4 < 1 and 2 ns 2 m · ( 1 / e ) s 2 t / 4 < 1 at the same time. The first inequality can be made true if the constant s is large enough (note that m ≪ 2 t ). Th e second in equality (where b oth exponents can be divided by s ) is achie vable with 2 t = 2 m poly ( n ) .  Main r esult Now we are ready to give the formal statement and proof: Theor em 4 Ther e exists a constant d s uch that for any strings a , b , c of length at most N sati s- fying the inequality C ( a | c ) ≥ C ( b | c ) + C ( b | a ) + d lo g N ther e exists a s tring f of l ength at most C ( b | a ) + d log N s uch that C ( b | a , f ) ≤ d log N an d C ( b | c , f ) ≥ C ( b | c ) − d log N . Recall the int uition behind this result . T he condition of t he th eorem guarantees that t he agent’ s “background ” a has enou gh information no t av ailable to t he adversary (who knows c ); theorem guarantees th at there exists a string f that allows the agent t o reconstruct b from a , has the mini mal pos sible length among al l s trings with th is property and does not provide any information about b if th e adversary knows only c . (Note that we use th e same con stant d in all O ( l og N ) expressions, but thi s does not m atter since increasing d makes th e st atement only weaker .) 6 Pr oof . Using condit ional description theorem [1], we find string b ′ of length C ( b | a ) such that bot h complexities C ( b | b ′ , a ) and C ( b ′ | b ) are O ( log N ) . Then we appl y the comb inatorial lemma with n e qual to the length of a and m equal to the length of b ′ , i.e., to C ( b | a ) . The lemma provides a family F , and we m ay assume wit hout loss of generality that the comp lexity of F is O ( lo g N ) (for g iv en m and n , take the first family with the required prop erties i n som e fixed ordering). Most functions i n F (as well as most objects in an y simple set) do no t ha ve much informa- tion abou t b when c is known, i.e., the differe nce C ( b | c ) − C ( b | f , c ) is small for mos t f ∈ F . Indeed, w ith logarithmi c precision this di f ference can be rewritten as C ( f | c ) − C ( f | b , c ) (re- call the formula for pair and condit ional comp lexities), and the av erage value of bot h terms in the last expression is m + O ( l og N ) , the difference i s of order O ( log N ) and we can use the Chebyshev i nequality . Let F ′ be functions from t his majority . The lemma guarantees that the graphs of those functions cover all pairs h a ′ , b ′ i for all strings a ′ of l ength n except for O ( 2 m ) “bad” values of a ′ , and it remains to show th at the gi ven 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 latt er contains O ( log N ) bits and can be ignored wit h logarithmic precision), we can enumerate al l functions f that do not belong to F ′ (=functions that make complexity of b with cond ition c smaller), and therefore we can enumerate all O ( 2 m ) “bad” values. (Not e also that b ′ can also b e obtained from b with a logarithmic advice.) So t he comp lexity of the “bad” values (for kn own 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 ( l og N ) ≤ C ( b | a ) + C ( b | c ) + O ( log N ) as we claimed.  3 Negative result and open questions Theorem 4 makes an assumption that looks artificial at first: for example, if a , b , c are pairwise independent, we require C ( a ) to b e twice as big as C ( b ) , and it is intui tiv ely unclear why the amount of the background information should be twi ce as big as the message we want to transmi t (i nequality C ( a ) > C ( b ) looks more natural). In th is section we show that this condition, ev en if looking artificial, is important: without i t, all the strings f that satisfy the claim of Theorem 2 may have e xponent ially lar ge length . T he exact statement (see Theorem 5 below) and it s proof are rather technical, so let us start with a si mplified example, wh ere, unfortunately , we get a s tring c of l ar ge complexity . Then w e explain the mo re advanced example that does not ha ve this problem. Let us cons truct three strings a , b , c wit h the following p roperties: every reasonably long program f (of pol ynomial or subexponential length) that maps a to b can be used to simplify the transformation of c into b . In our e xample the string a has comp lexity 1 . 3 n , the string b has complexity n , and they are mutu ally independent (ha ve logarith mic mutual information). (The 7 coef ficient 1 . 3 is chosen arbitrarily; it i s important that 1 . 3 is greater than 1 and l ess than 2. The complexity of b when c is known will be about n , so usi ng c as a conditi on does not make b simpler . But if we add to c any program f t hat maps a to b , i t becomes pos sible to obtain a using only 0 . 3 n bits of advice: the conditional compl exity decreases from C ( b | c ) ≈ n to C ( b | f , c ) ≈ 0 . 3 n . The main idea of th is example can be explained as follows: t he st ring c itself encodes a function that m aps a to b (but still c wi thout a has no i nformation about b ). Assume t hat some program f that maps a to b is giv en. Why does it help to descr ibe b if c is known in addition to f ? W e know that b oth f and c map a to b , s o a is one of t he sol ution of the equation f ( x ) = c ( x ) . If thi s equation has not too many sol utions, we can describe a (and therefore b ) by specifying the ordinal numb er of a in the enu meration of all sol utions. (Note that f may be not everywhere defined, but this does not matter .) In this way we get a condi tional description of b (for known c and f ) that may hav e small l ength compared to C ( b ) (and C ( b ) will be close to C ( b | c ) ; we promised that c itself has no information about b ). How do we get a , b , and c wi th these properties? W e get such a tripl e with h igh probability if a and b are independent ly taken at random am ong string s of length 1 . 3 n and n respectively , and c is a random function whose graph cont ains pair h a , b i . The same distribution on a , b , c can be described in a different way: we t ake a random funct ion c and then a random element h a , b i o f its graph. W ith high probability we get st rings a and b with the required com plexities 1 . 3 n and n and small mut ual i nformation. W e can also show that C ( b | c ) is close to n with hi gh probability . Indeed, for a typ ical function c of type B 1 . 3 n → B n most of its values ha ve preimage of si ze 2 0 . 3 n , and therefore the second component of a random e lement of its graph has almost uni form distribution, so most of the va lues of c have hig h complexity e ven with condition c . Now let f be s ome program th at maps a and b and h as not very hig h complexity (much less th an what Theorem 2 gives). How man y so lution has th e equation f ( x ) = c ( x ) ? T ypically (for a giv en f and a random c ) we have about 2 0 . 3 n solutions (for each x the probabil ity of f ( x ) = c ( x ) equals 2 − n , and there are 2 1 . 3 n points x ); here we assu me t hat f is total, but if i t is not , we get ev en less soluti ons. For a fixed f and a rando m c , it is very unlikely that the number of so lutions is s ignificantly greater than 2 0 . 3 n . In other words, Hamm ing ball of the corresponding radius around f has a negligible probabil ity . If the number of these balls (i.e., the numb er of p rograms f we cons ider) is not too large, the union of these ev ents also has small probabil ity , so a randoml y chosen c will be outside these bal ls. This m eans that for all programs f with bounded com plexity the equation f ( x ) = c ( x ) has at most 2 0 . 3 n solutions (or slightly mo re) and the complexities C ( a | f , c ) and C ( b | f , c ) are (alm ost) bounded by 0 . 3 n as we promised. W e do not provide details of this argument since we want t o prove a stronger (and mo re complicated) results. Namely , we want t o find a function c that has not very high complexity (and t he argument explained gives c that can have exponential complexity): th e complexity of c should exceed the complexity of programs f (that it opp oses) by C ( b ) . (If we allow m ore programs, we need more freedom for c .) The id ea of th e construction remains the s ame: we select a random poin t o n the graph of a random function. Ho wever , now the function is a random element o f som e family C of functions. W e formulate so me combinato rial properties of C . Then we p rove (by a probabil istic ar gum ent) that th ere exists a family wit h th ese properties and conclude t hat t here exists a simple family wit h these properties (the first family found by exhaustiv e search). Finally , we p rov e that 8 for m ost pairs h a , b i there exists a function c in the family that satisfies our requirements. (So we prove e ven a bi t stronger st atement: instead of existence of a t riple a , b , c we prove that for most a and b there e xist s c .) The size of the family C provides a boun d f or the complexity of c (since ev ery element of C is determined by its index). Let us formulate the required com binatorial statement starting with some definition s. Fix some sets A and B . W e say that some f amily F o f functions A → B r ejects a functi on 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 va lue H ( b ) is a family of function s of type A → B (i.e., H ( b ) ⊂ B A for every b ∈ B ). W e 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 ≥ 2 and # A ≥ 16# B. As sume that two numbers ε ≥ 4# B / # A and φ ≤ 2 # A / ( 4# B ) ar e fixed. Ther e exists a family C o f functions A → B of car dinality max  20# B ε , 6 Φ log 2 ( # B ) ε , 6 Φ · # B · log 2 ( # B )  with the following property: for every family F of size at mo st Φ and for every mapping H such that # ( H ( b )) ≤ ( 1 / 4 ) # C for every b ∈ B, a t m ost ε -fraction of all pa irs h a , b i are not cover ed by any c ∈ C ( for these F and H ) . The statement of t his lemma can be written as follows (we omit conditions for cardinali ties of C , F and H ( b ) ): ∃ C ∀ F , H      h a , b i : ∀ c  ( c ( a ) = b ) ⇒  ( c ∈ H ( b )) ∨ ( ∃ f ∈ F # { x : f ( x ) = c ( x ) } ≥ 4# A # B )       ≤ ≤ ε · # A · # B . Let us explain informall y the meaning of t his lem ma (how it is used in the sequel). W e may assum e without los s of generality th at the family C is si mple (looking for th e first family with th e required properties in some ordering). Let F be the family of all functio ns that ha ve simple programs (or t heir extensions, if the functi ons are partial). Let H ( b ) be the set of all functions th at are simple when b is kno wn (having small cond itional complexity with condition b ). For a pair h a , b i that do es no t belong to the “bad” ε -fraction, t here exists a functi on c ∈ C that covers h a , b i . Th is function (or , b etter to say , its index in C ) i s a counterexample we are looking for . Indeed, if t he eavesdropper knows c and gets a simple program f mapping a to b , the compl exity of b for her decreases. Indeed, it is enough to s pecify the ordinal nu mber of a in the enumeration of all so lutions of the equati on f ( x ) = c ( x ) , and the eavesdropper can reconstruct a (and therefore b , since f ( a ) = b ). On t he ot her hand, the choice o f H guarantees that c and b are independent (i .e., c has maxim al possible complexity e ven if b is k nown). The details of these argument will be e xplained later , after we prove th e lemma. Pr oof of the lemma . Usi ng a probabilistic argument, let us consider a random family C o f the size mentioned. W e assume that C i s indexed by integers i n range 1. . . # C , and for ev ery index i and every point a ∈ A the value of i th functio n on a is an independent random variable 9 uniformly dist ributed ov er B . T hen we prove that th e probabi lity o f th e event “ C is bad” (i.e., does not hav e the required property) is strictly less than 1. For this we get an upper b ound for the probability o f the eve nt “ C does no t have the required property” with respect to a fixed family F (and then m ultiply it b y the numb er of different families F ). So let us assum e F i s fixed. Things are “good” if for eve ry mapping b 7→ H ( b ) (with our restrictions: all H ( b ) have cardinality at m ost ( 1 / 4 ) # C ) for ε -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 t hat the definiti on of rejection does not refer t o C : the set of rejected function i s determined by F alone. For a given F there are two p ossibilit ies: (1) many functions are rejected (we choose ( 1 / 4 ) # C as a threshold) or (2) not many function s are rejected. In the latter case we may add r ejected functions to all H ( b ) (for all b ), and the size of all H ( b ) remains bounded by ( 1 / 2 ) # C . In other term, for a fixed F the “bad” event i s covered by the union of the following two e vents: 1. F rejects at least 1 / 4 of all functions in C ; 2. there exists a mappi ng b 7→ H ( b ) where all s ets H ( b ) ha ve cardinality at m ost ( 1 / 2 ) # C such that th e fraction of pairs h a , b i ∈ A × B that do not b elong to any function c ∈ C \ H ( b ) exceeds ε . What we n eed is t he following: the su m of the probabil ities of t hese two eve nts mult iplied by the num ber of pos sibilities for F is less than 1. T o show this, we prove that each of these two probabili ties i s less than 1 / 2 di vided by ( # B # A ) Φ (this e xpression is an upper bound for the number of diffe rent families F ⊂ B A of size Φ ). The first e vent can be rewritten as follows: ther e e xists a subfami ly C ′ ⊂ C of size # C / 4 such that for a ll c ∈ C ′ ther e exists A ′ ⊂ A of size 4# A / # B and a fu nction f ∈ F such that f ( a ) = c ( a ) for all a ∈ A ′ . The number of p ossibiliti es for C ′ does not exceed 2 # C , the num ber of all subs ets. For a fixed C ′ (or , better to say , for a fixed set of indices) the functions with these indices a re chosen independently . So we can estimate the probability of the bad event for one index and then use independence. T o g et an up per bou nd for the number of poss ibilities for A ′ let us no te that the number of r -element subsets of a q -element set,  q r  , does not exceed q r / r ! ≤ q r / (( r / 3 ) r ) = ( 3 q / r ) r . F or q = # A and r = 4# A / # B we get the bound ( 3# B / 4 ) 4# A / # B . Therefore, the probabilit y of the first e vent does not exceed 2 # C Φ  3# B 4  4# A / # B  1 # B  4# A / # B ! # C / 4 = 2 Φ 1 / 4  3 4  # A / # B ! # C . Multipli ed by ( # B ) # A · Φ (the number of possibili ties for F ), this probability is less than 1 / 2, since # B ≥ 2, # A ≥ 16# B , Φ ≤ 2 # A / 4# B , and # C ≥ 6 Φ · # B · log 2 ( # B ) (according t o lemm a’ s assumption s). Indeed, the last inequali ty imp lies that # C ≥ 12 if Φ ≥ 1 (for empty F the statement is tri vial). Since # B ≥ 2, we conclud e that 1 + # C ≤ 13# C / 12. Then 1 ≤ # A / ( 16 # B ) implies that 1 + # C ≤ ( 13 / 1 92 )( # A · # C / # B ) . The condition l og 2 Φ ≤ # A / 4# B implies that ( # C / 4 ) l og 2 Φ ≤ ( 1 / 16 )( # A · # C / # B ) . Finally , the inequali ty # C ≥ 6 Φ · # B · log 2 # B implies that # A · Φ log 2 # B ≤ ( 1 / 6 )( # A · # C / # B ) . Adding these i nequalities (not e th at 19 / 64 < 1 / 3 < 10 log 2 ( 4 / 3 ) and taking the exponent (with base 2) of both sides, we get the required inequality (after appropriate grouping of the factors). Now let us consid er the second e vent (recall that it depends on F whi ch is fixed): there exist a ma pping b 7→ H ( b ) such that every H ( b ) has car dinal ity at most # C / 2 and a subset U ⊂ A × B of size ε · # A · # B such that for every p air h a , b i ∈ U and for every function c ∈ C \ H ( b ) we have c ( a ) 6 = b. In the s equel we assum e that H ( b ) is not a set of functions, but a set of their indi ces (nu mbers in 1. . . # C range); this does not change the ev ent in question. T o estim ate the probability of the second ev ent, let us fix n ot on ly F but also H and U . The corresponding e vent can be described as t he intersection (taken over all pairs h a , b i and over all i / ∈ H ( b ) ) o f the ev ents c [ i ]( a ) 6 = b (“the i th fun ction does not m ap a to b ”). The probabilit y bound would be simple if all these events wer e independent; in t his case the probabilit y would be ( 1 − 1 / # B ) d , where d i s the number of all triples h i , a , b i , i.e., ε · # A · # B · # C / 2 (i.e., d is the product of the number of pairs h a , b i ∈ U and the number of possible values of i for given b ). Unfortunately , these e vents are independent only for differ ent a (or di f ferent i ); the ev ents c [ i ]( a ) 6 = b 1 and c [ i ]( a ) 6 = b 2 are dependent. Howe ver , the d ependence works i n th e “helpful” direction: the condition c [ i ]( a ) 6 = b 1 only incre ases the probabil ity of the e vent c [ i ]( a ) 6 = b 2 (the denominator in 1 / # B decreases by 1). Th e same is true for se veral conditions. Formally speaking, we m ay group the events with common a and i and then use the in - equality ( 1 − k / # B ) ≤ ( 1 − 1 / # B ) k , where k is the number of ev ents in a group. In this way we get an upper bound for the probability of failure: for fixed F , H and U , i t does not exceed  1 − 1 # B  ε · # A · # B · # C / 2 ≤ 2 − ε · # A · # C / 2 . This expression is then mult iplied by the num ber o f pos sibilities for U (that does not exce ed 2 # A · # B ), for H (that does not exceed ( 2 # C ) # B ) and for F . In to tal, we get 2 − ε · # A · # C / 2 · 2 # A · # B · 2 # C · # B · ( # B ) # A |· Φ . It is easy to check that thi s expression i s less than 1 / 2 if # B ≥ 2, ε ≥ 4# B / # A , # C ≥ 20# B / ε , and # C ≥ ( 6 Φ l og 2 # B ) / ε . Indeed, we have 1 + # A · # B ≤ 3 · # A · # B / 2 if A is not empty and # B ≥ 2. Therefore, # C ≥ 20 · # B / ε implies 1 + # A · # B ≤ ( 3 / 40 ) ε · # A · # C . Al so ε ≥ 4# B / # A implies # C · # B ≤ ( 1 / 4 ) ε · # A · # C . Finally , # C ≥ ( 6 Φ log 2 # B ) / ε implies # A · Φ · log 2 ( # B ) ≤ ( 1 / 6 ) ε · # A · # C . Adding these inequalities, noting that 59 / 120 < 1 / 2 and then t aking t he exponents (with base 2), we get the required bound after re grouping the factors. Lemma is proven. Now we use thi s lem ma to prove the promised negativ e result. Let α > 0 be some constant. Let m , n , l be positive integers s uch t hat n ≥ 1, m ≥ n + 4, m − α log 2 m ≥ n + 2, and l + 1 + log 2 ( l + 1 ) ≤ 2 m − n − 2 . Let N = max { m , l } . Theor em 5 Let a be a string of length m and let b be a string of length n such that m + n − C 0 ′ ( a , b ) < α log 2 m . Then ther e e xists a str ing c of comple xity n + l + O ( log N ) such that • C ( c | b ) = C ( c ) + O ( log N ) ; 11 • C ( b | a , c ) = O ( log N ) ; • for every f suc h th at 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 α but not on m, n, l . ) Before p roving this theorem, let us explain why it sho ws the imp ortance of the cond ition in theorem 4. The equation C ( c | b ) = C ( c ) + O ( l og N ) shows that t he s trings 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 ha ve C ( a | c ) ≥ C ( b | c ) − C ( b | a , c ) = n (with the same O ( log N ) -precision). Not e also that C ( b | a ) = n (with O ( log m ) -precision). Therefore, if C ( b | a , f ) = O ( log N ) for some s tring f of length not exceeding l , then C ( b | c , f ) < min { C ( a | c ) , C ( b | c ) } + O ( l og N ) when m − n < n + O ( log N ) , i.e., when C ( a ) < C ( b | c ) + C ( b | a ) . Pr oof . Let A be the s et of all m -bit strings, and l et B be the s et of all n -bit strings. Let ε = 1 / m α and Φ = 2 l ( l + 1 ) . Ou r assump tions about n , m , l guarantee that A , B , ε and Φ satisfy the conditions of the lemma. Therefore there is a family C with the properties described in the statement of the lem ma. As we have said, we may assume without loss of generality that C is si mple, and in t his case t he complexity of every element of C does not exceed log 2 # C plus O ( log N ) , i.e., does not e xceed n + l + O ( log N ) . Now let H ( b ) b e the set { c ∈ C : C ( c | b ) < log 2 ( # C ) − 2 } ; then # H ( b ) ≤ # C / 4 f or e very b . Now the family F i s constructed as follows. It contains Φ functions numbered by integers in 1. . . Φ range. W e enum erate all tri ples h a , b , f i , where a ∈ A , b ∈ B and f is a l -bit string such t hat C ( f ) + C ( b | a , f ) ≤ l . Som e indices ( num bers) have labels that are l -bit st rings. When a new triple h a , b , f i appears, we first try to add h a , b i to one of th e functio ns whose index already has label f . If this is not p ossible (all functions that hav e label f are already defined at a and ha ve values not equal to b ), we t ake a fresh i ndex (that has no l abel), ass ign label f to i t and let the corresponding function map a t o b . A free index d oes exist si nce each f occupies at most 2 l − C ( f )+ 1 indices (if some f needs more, then for some a all 2 l − C ( f )+ 1 functions are defined and have different values, so we have enumerated already m ore than 2 l − C ( f )+ 1 diffe rent elements b such that C ( b | a , f ) ≤ l − C ( f ) ; a contradiction), and all f in total require at most ∑ C ( f ) ≤ l 2 l − C ( f )+ 1 = ∑ l k = 0 ∑ C ( f )= k 2 l − k + 1 = Φ indices. After all t he trip les wi th these p roperties are enumerated, we extend our functions to total ones (arbitrarily). Consider the set of pairs h a , b i t hat are not covered by C (for given F and H ). The cardinality of th is s et does no t exceed ε 2 m + n . On the other hand , F and H can b e com- puted usi ng 0 ′ -oracle, and after t hat t he s et o f non -cov ered pairs can be enumerated, t herefore C 0 ′ ( a , b ) ≤ m + n − α log 2 m for e very non-cove red pair h a , b i . Therefore for e very a and b such that m + n − C 0 ′ ( a , b ) < α log 2 m there exists c ∈ C such that c ( a ) = b , c / ∈ H ( b ) , and for ev ery f ∈ F the equatio n c ( x ) = f ( x ) has at m ost 2 m − n + 2 solutions . Since c ( a ) = b , we hav e C ( b | a , c ) = O ( lo g N ) . Since c / ∈ H ( b ) , we ha ve C ( c | b ) ≥ log 2 ( # C ) − 2, i. e., C ( c ) = C ( c | b ) + O ( log N ) . Finally we h a ve 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 ). T o specify th is functions, we need at most C ( b | a , f ) + O ( log N ) additional bits. 12 Knowing ˜ f and c we may enumerate all x such that c ( x ) = ˜ f ( x ) . (More precisely , we specify the i ndex of ˜ f in F , not t he ˜ f itsel f. Howe ver , to enum erate t he sol utions o f 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 c ont ains a and has cardinality at most 2 m − n + 2 , so we can s pecify a using m − n + 2 additional bits. Altog ether , C ( b | c , f ) ≤ C ( a | c , f ) + O ( log N ) ≤ C ( b | a , f ) + m − n + O ( l og N ) , as we claimed. Theorem 5 is proven. Open questions 1. Is it p ossible 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 b e done by a more complicated combinatorial ar gum ent, which was not explained in the talk.) 2. Theorem 5 shows that if a is only slightly more compl ex th an b , then for som e c short messages do not work. On th e other h and, the alternative p roof of theorem 1 works for empty c . Wh at can be said about other c ? What are the conditions that make short messages possible? 3. What can be said about the possibl e 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., Condit ional complexity and codes. Theor etical Compu ter Science , v . 271 (2002), iss ues 1–2, p. 97–109. [Preliminary version: Andrej Muchnik, Al ex ej Semenov , Multi-condit ional Descriptions and Codes in K olm ogorov Complexity , ECCC T echnical Report, no. 15, January 27, 2000.] [2] Shen A., V ereshchagin N.K., Log ical opera tio ns and K olmogo rov Complexity . Theor eti cal Computer Science , v . 271 (2002), p. 125–129. 13 Колмогор овск ая сложность и кр иптогр афия Ан. А. Мучник ∗ Аннот ация С точки зрения колмо горовск ой сло жности рассматриваютс я з ада чи о по- строении сообщений, к оторые содер ж ат разное количе ство ин формации о за- данном объекте в зависимости от того, ка кой дополнительно й информацией располаг ает получатель. Предполо жим, что получатель знает слово a , и мы хо тим сообщить получа- телю информацию о неко тором слове b , при этом таким образом, чтобы наше сообщение само по себе (без a ) не позволяло восст ановить b . Оказы ваетс я, что это возмо жно (если слова a и b не слишк ом просты). Далее рассматриваютс я более слож ные ро дственные вопросы: что бу дет , ес- ли “противник” знает нек оторую информацию c ? наск ольк о длинным должно быть сообщение ? Мы уточняем эти вопросы, ук азываем у словия, при котор ых сообщение мо ж ет иметь полиномиальную длину , и пок азываем, что они суще- ственны. 1 Неинформатив ное услов ное описание В этом разделе мы для данных слов 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 –200 7) на колмогоровском се- минаре к аф едры математической логики и теории алгоритмов МГУ (заседа ния 1 1 марта и 8 апре- ля 2003 г ода), но не были тогда опуб лик ова ны; их форму лировки составили содер жание доклада Ан. А. Мучник а и А. Л. Се мёно ва на семинаре в Dagstuhl (Seminar 03181 , 27.04 .2003– 03.05.2003). Т ек ст подготовили А. Ч ернов и А. Шень в 2008–2 009 годах. 1 (если программа p годитс я для всех x ∈ X , то она го дитс я для любого из них), но обратное верно не всег да и левая часть мож ет быть существенно больше правой. Мо жно ск азать, что “равномерная” сло жность задачи X → y (левая часть) мож ет быть существенно больш е “неравномерной”. Чтобы убедитьс я в этом, возьмём в ка честве y нес жимаемое слово длины n , а в к а честве X в о зьмём множ ество всех слов x , для к оторых KS ( y | x ) < n/ 2 . Т ог да правая часть по построению не превос хо дит n/ 2 . Пок аже м, что левая не меньше n − O (log n ) . В самом деле, пу сть p — некоторая программа, к оторая даёт y на любом вх о де x , для к оторого K S ( y | x ) < n/ 2 . Среди таких вхо дов есть слова слож ности n/ 2 + O (log n ) , и вместе с p их дост аточно для получения y , поэтому KS ( y | p ) 6 n/ 2 + O (log n ) . Зна чит , существу ет слово e длины O (log n ) , для к оторого KS ( y |h p, e i ) < n/ 2 . По предполо ж ению p ( h p, e i ) = y и потому сло жность p не меньше n − O (log n ) . Замечание . Мно ж ество X мо жно с делать к онечным, ограничившись, скаж ем, словами длины не более 2 n . Сло жность зада чи ( a → b ) → b Построенный пример пок азывает , что ра в номерная и неравномерная сло жности мо- гут сильно от личаться. В следу ющем примере это не т ак, но док азательство их сов- падения требу ет дополнительных у силий. Пу сть a, b — двоичные слова. Определим ( a → b ) как множ ество всех программ, к оторые на вх о де a дают b . Известно [2], что KS (( a → b ) → b ) = min { KS ( a ) , KS ( b ) } + O ( lo g N ) для любых слов a, b длины не более N . Оказ ывается, что это утвер ждение можно у силить, заменив равномерную сло жность на неравномерную. Т еорема 1. Для любых слов a и b длины не бол ьше N найдётся п рогр амма f , переводящая a в b , для к оторой KS ( b | f ) = min { KS ( a ) , KS ( b ) } + O (log N ) . Доказательство. В одну сторону ( 6 ) неравенство о чевидно для любой программы 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 ) 6 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 ) 6 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 по мо ду лю 2 — о на позволяет знающему 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 ( lo g 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 — случайные независимые слова о динак овой длины 2 n , а a 1 , a 2 [ b 1 , b 2 ] — первая и вторая половины слова a [соответственно b ]. Пу сть слово c состоит из двух половин a 1 ⊕ a 2 ⊕ b 1 и a 2 ⊕ b 1 ⊕ b 2 . Т о г да 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 2 Комбинаторно е построение описания минимальной сло жности Сейчас мы док аж ем, что если слово a со дер жит достаточно много информации (точ- нее гово ря, если KS ( a | c ) > KS ( b | c ) + KS ( b | a ) + O (log N ) ), то существу ет сообщ е- ние f , которое обладает указанны ми в теореме 2 свойствами и имеет сло жность KS ( b | a ) + O ( lo g N ) . Для этого мы использу ем следующую к омбинаторную лемму . (Через B k мы обознач аем мно ж ество всех k -б ито вых слов.) Комбинаторная лемма Лемма . Для любых натур альных m и n > m существует се мейство F функций вида B n → B m , состоящее из 2 m p oly ( n ) функ ций и обл адающее т ак и м свойством: для любого слова b ∈ B m и для любого подмножества F ′ , содержащего не менее по ловины всех фун кций из F , множество точек со второй координатой b , не по- крытых гр афиками функций из F ′ , содержит не бо лее O (2 m ) точек. Формально свойство семейства F , о к отором идёт речь в лемме (рис. 1), можно записать так: ∀ b ∀F ′ ⊂ F  |F ′ | > 1 2 |F | ⇒ |{ a ∈ B n | f ( a ) 6 = b для всех f ∈ F ′ }| = O (2 m )  (Заметим такж е, что у словие n > m излишне: при n < m утвер ждение леммы вы- полнено очевидным образом, поскольку к оличество всех a есть O (2 m ) .) Идея применен ия леммы: функции, не несущие информации о b , сост авляют в любом простом семействе больш инство, и потому среди них найдётс я функция, пе- рево дящая a в b , если только a не принадлежит малому мно ж еству исключений (что бу дет противоречить предполож ению об a , т ак как эти исключени я имеют ма лую сло жность). B n B m b Рис. 1: Ча сть функций (до 50% ) из F выброшены; тем не менее графики оставших ся покрывают любую горизонт аль, не счит ая O (2 m ) точек. Доказательство. Использу я вероятностный метод, возьмём случайн ое семейство из 2 t случайных функций ϕ 1 , . . . , ϕ 2 t . (Все эти функции независимы и равномерно рас- пределены в мно же стве всех функций B n → B m ; точное зна чение параметра t мы выберем позж е.) Оценим веро ятность того, что этот набо р не о бладает требу емым свойством. Это означает , что найдутся 5 • b ∈ B m ; • мно же ство S ⊂ B n из s · 2 m элементов (к онст анту s мы в ыберем позж е); • мно же ство I ⊂ { 1 , 2 , . . . , 2 t } , со дер ж ащее полов ину всех индек сов, для к оторых ϕ i ( a ) 6 = b для любого a ∈ S и для любого i ∈ I ( ∗ ) Оценим веро ятность этого события. Количество различных b есть 2 m , к оличество различных I не превос х одит 2 2 t , а количес тво различных S не превос х одит (2 n ) s 2 m . При фик сированных b , S и I веро ятность выполнения ус ловия ( ∗ ) есть  1 − 1 2 m  2 t − 1 · s 2 m (к аждая из 2 t − 1 функций с номером в I в каждой точке a ∈ S не попадает в b с веро ятностью (1 − 1 / 2 m ) ). Всего для вероятности получаем вер хнюю оценку 2 m · 2 2 t · 2 ns 2 m ·  1 − 1 2 m  2 t − 1 · s 2 m , и надо по казать, что при правильно выбранных зна чениях параметров это выраже - ние меньше единицы. Учитывая, что ( 1 − 1 / 2 m ) 2 m ≈ 1 / e (с гораздо бо льшей точно- стью, чем нужно нам), мо жно переписать это к ак 2 m +2 t · 2 ns 2 m · ( 1 /e ) s 2 t − 1 . Основную роль играют члены, к оторое со дер ж ат 2 t и 2 m в показ ателе степени (по- ск ольку 2 t , 2 m ≫ m, n, s ). Нам нужно, чтобы малый последний сомно житель пере- весил два остальных . Разобьём последний сомно житель на две части (1 / e ) s 2 t / 4 , и сравним эти части с первым и вторым сомножителе м. Нам нужно, чтобы 2 m +2 t · (1 /e ) s 2 t / 4 < 1 и 2 ns 2 m · ( 1 /e ) s 2 t / 4 < 1 . Первое неравенство бу дет выполнено, если взять к онст анту s дост ато чно большой. Выполнения вто рого неравенства (в к отором степени мож но сократить на s ) легк о добитьс я, полож ив 2 t = 2 m p oly ( 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 ) 6 C log N и KS ( b | c, f ) > KS ( b | c ) − C log N . 6 У с ловие теоремы озна чает , что имеющеес я в распор яж ении получателя слово 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 (lo g 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 ) 6 KS ( b | a ) + O (log N ) для всех пло хих a ′ , и потому KS ( a ′ | c ) 6 KS ( a ′ | b, c ) + KS ( b | c ) + O (log N ) 6 K S ( b | a ) + KS ( b | c ) + O (lo g N ) , что и требовалось. 3 Отрицательный резу ль т ат и вопросы У с ловие на сло жности в т еореме 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 бу дут иметь сло жность примерно 1 , 3 n и n соответственно, а их взаимная информация бу дет близка к ну лю. (Коэффициент 1 , 3 выбран дост а- точно произвольно; в а жно, что он больш е 1 и меньше 2 .) Cлож ность b при известном c бу дет равна примерно n , т ак что добавление c в ка честве у словия не уменьшает сло жность b . А вот доба вление (к ус ловию c ) любой программы f , получающей b из a , существенно уменьшает у словную сло жность b : вместо KS ( b | c ) ≈ n получаетс я KS ( b | f , c ) ≈ 0 , 3 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 соответствующих длин ( 1 , 3 n и n ), а в к а честве c выбрать случайную функцию (с аргумент ами и зна чениями соответствующих длин), график к оторой про х од ит через h a, b i . (Т о ж е самое распределение веро ятностей, получитс я, если сначала выбрать случайну ю функцию, а потом на её график е выбрать случай- ную точку .) Слова a и b бу дут иметь нужные сложности и ма лую взаимную информацию с большой веро ятностью. Чуть слож нее понять, что сло жность b при известном c бу дет близк а к n . В самом деле, типичная функция c с аргумент ами длины 1 , 3 n и зна чениями длины n принимает большинство своих зна чений примерно о динак ово е число раз (ок оло 2 0 , 3 n ), и потому распределение вероятностей для вт о рой коор динаты случайной точки её графика близк о к равномерному , и большая часть зна чений бу дет случайна даж е при известной функции c . Пу сть теперь да на нек оторая программа f , перевод яща я a в b , причём она имеет не очень большую длину (существенно меньшую, чем то, что даёт теорема 2). Ск оль- к о решений бу дет иметь уравнение f ( x ) = c ( x ) ? В типичной ситу ации (для данной f и случайной c ) таки х решений бу дет ок оло 2 0 , 3 n (в к аждой точк е совпадение с 8 веро ятностью 2 − n , а точек 2 1 , 3 n ); здесь мы предполаг аем, что f всю ду определена, но если нет , решений бу дет тольк о меньше. Существенно больш ее число совпаде- ний для данной функции f и случайно выбранной c очень маловеро ятно, другими словами, ш ар соот в етствующего радиу са в метрик е Хемминг а имеет очень ма лую ве- ро ятность. П оск ольку таких шаров не о чень много, т о и их объединение бу дет иметь малую веро ятность, и с большой веро ятностью случайная функция c не попадёт ни в один из этих шаров. Это зна чит , что для так ой функции уравнение c ( x ) = f ( x ) для любой не очень длинной программы f бу дет иметь лиш ь немного бо лее 2 0 , 3 n решений, и пот о му сло жности KS ( a | f , c ) и KS ( b | f , c ) бу дут лишь чуть больш е 0 , 3 n , к ак мы и обещали. Мы не проводим аккуратно соответствующие оценки, т ак как хотим док азать более сильное (и сло жное) утвер ждение. А именно, мы х о тим найти слово c сравни- тельно небольш ой сло жности ( а не эк споненциальной сло жности, к ак в изло ж енной к онструкции); сло жность слова c бу дет примерно на K S ( 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 ) } больше 4 | A | / | B | (число к орней более чем в 4 раза превос х оди т “о жидаемое”). Пусть 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 | > 16 | B | . Пусть т акже даны чис ла ε > 4 | B | / | A | и Φ 6 2 | A | / 4 | B | . Т огда найдётся такое се мейство C функций вида A → B р азмер а ( мощности ) max  20 | B | ε , 6Φ log 2 | B | ε , 6Φ | B | log 2 | B |  , что для любого се мейства F р азмер а не бо лее Φ и для любого набор а H семейств, каждое из которых имеет р аз мер не бол ее четверти |C | ( то есть | H ( b ) | 6 |C | / 4 при всех b ∈ B ) не более ε -доли всех пар из A × B н е покрыто ни одним c ∈ C при данных F и H . 9 Формально утвер ждение леммы выг лядит т ак (мы опу ск аем у словия на размеры C , F и H ( b ) ): ∃C ∀F , H      h a, b i : ∀ c  ( c ( a ) = b ) ⇒  ( c ∈ H ( b )) ∨ ( ∃ f ∈ F |{ x : f ( x ) = c ( x ) }| > 4 | A | | B | )       6 6 ε | 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 нумеруютс я числами от 1 до |C | , и для к аждого номера i и к аждой точки a ∈ A мы независимо определяем зна чение i -й функции на a , выбирая равноверо ятно о дин из элементов B .) Док аж ем, что вероят- ность того, что C “неу да чное”, то есть не обладает требуе мым свойством, мень ше 1 . Оценим в ероятность при ф ик сированном семействе 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 , была меньше 1 . До к аж ем, что веро ятность к аждого из 10 них меньше 1 / 2 , делённой на ( | B | | A | ) Φ (последнее выраж ение — вер хняя о ценка на к оличество возможны х семейств F размера не бо лее Φ ). Первое событие запишем в так ом виде: существует т ак ое подсе мейство C ′ ⊂ C р азмер а |C | / 4 , что для всех c ∈ C ′ найдётся такое подмножество A ′ ⊂ A р азмер а 4 | A | / | B | и такая функция f ∈ F , что f ( a ) = c ( a ) для всех a ∈ A ′ . Количество возмо жных C ′ оценим свер ху общ им числом под семейств в C , то есть 2 |C | . При фик сированном подсе мействе (точнее, для данного множ ества индек сов) функции с этими индек сами выбираютс я независимо, поэто му мож но оценить веро- ятность неж елательного события для одной из них и возвести в степень. Для оценки к оличества возможны х подмно ж еств A ′ заметим, что число по дмно же ств размера r в мно же стве размера q , то есть C r q , не превос х о дит q r /r ! 6 q r / (( r / 3) r ) = (3 q /r ) r . Для q = | A | и r = 4 | A | / | B | получаем, что к оличество возможны х A ′ не превосх од ит (3 | B | / 4) 4 | A | / | B | . Т а ким образом, веро ятность первого события не б ольше 2 |C | Φ  3 | B | 4  4 | A | / | B |  1 | B |  4 | A | / | B | ! |C | / 4 = 2Φ 1 / 4  3 4  | A | / | B | ! |C | . После умно ж ения на | B | | A | Φ (число в озмо жных семейств F ) она остаётс я мень- ше 1 / 2 , поскольку по у словию леммы | B | > 2 , | A | > 16 | B | , Φ 6 2 | A | / 4 | B | и |C | > 6Φ | B | log 2 | B | . Действительно, из последнего ус ловия следу ет , что |C | > 1 2 при Φ > 1 (случай пу стого F тривиален) и | B | > 2 , поэто му 1 + |C | 6 13 | C | / 12 и из 1 6 | A | / 16 | B | следу ет , что 1 + |C | 6 (1 3 / 192)( | A | |C | / | B | ) . Из log 2 Φ 6 | A | / 4 | B | следу- ет , что ( |C | / 4) log 2 Φ 6 (1 / 16 )( | A ||C | / | B | ) . Н а к онец, из |C | > 6Φ | B | log 2 | B | следу- ет , что | A | Φ log 2 | B | 6 (1 / 6)( | A ||C | / | B | ) . Складывая эти неравенства, замечая, что 19 / 64 < 1 / 3 < log 2 (4 / 3) , и пот енциру я обе ча сти по основанию 2 , после группировки сомно жителей получаем требу емое неравенство. Перейдём к о вто рому событию (напомним, оно зависит о т 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 ) состоят не из функций, а из их индек сов (чисел от 1 до | C | ). (Событие при этом останетс я тем же .) Чтобы оценить веро ятность интересу ющего нас (“второго”) события, зафик сиру- ем F , H и U . Т ог да соотв етствующее событие можно описать как пересеч ение по всем парам h a, b i и по всем i / ∈ H ( b ) событий c [ i ]( a ) 6 = b (“функция номер i в то чке a не равна b ”). Оценка была бы простой, если бы эти события были независимы: тог да надо было б ы возвести (1 − 1 / | B | ) в степень, равную к оличеству в сех троек h i, a, b i , то есть ε | A | · | B | · | C | / 2 . (Мы умно жили число пар h a, b i ∈ U на к оличество возмо жных i для данного b .) П ри разных a (а такж е при разных i ) эти события независимы по построению, но события c [ i ]( a ) 6 = b 1 и c [ i ]( a ) 6 = b 2 зависимы. Нас выручает то, что зависимость тут “в наш у пользу” — тот факт , что мы знаем, что c [ i ]( a ) 6 = b 1 , только увеличивает веро ятность соб ытия c [ i ]( a ) 6 = b 2 (знаменатель в 1 / | B | уменьшаетс я на единицу , аналогично и для большего к оличества у словий). Формально говоря, мо ж- но сгруппировать события с о дними и теми же a и i и воспользоваться неравенством (1 − k / | B | ) 6 (1 − 1 / | B | ) k , г де k — число событий в группе. 11 Т а ким об разом, мы получили вер хнюю оценку для вероятности неу дачи (при фик сированных F , H и U ): она не превос х о дит  1 − 1 | B |  ε | A || B ||C | / 2 6 2 − ε | A ||C | / 2 . Ост аётс я умно жить эту веро ятность на к оличество мно ж еств U (их не больше 2 | A || B | ), на колич ество наборов H (их не больше (2 |C | ) | B | ) и на к оличество семейств F . В резу ль т ате получим 2 − ε | A ||C | / 2 2 | A || B | 2 |C || B | | B | | A | Φ . Нетру дно проверить, что это меньше 1 / 2 при | B | > 2 , ε > 4 | B | / | A | , | C | > 20 | B | /ε , и |C | > (6Φ log 2 | B | ) /ε . Д ействительно, 1 + | A || B | 6 3 | A || B | / 2 при непу стом A и | B | > 2 , поэтому из |C | > 20 | B | /ε следу ет , что 1 + | A || B | 6 (3 / 40 ) ε | A ||C | . Из ε > 4 | B | / | A | следу ет , что |C || B | 6 (1 / 4) ε | A || C | . Наконец , из |C | > (6Φ lo g 2 | B | ) /ε следу ет , что | A | Φ log 2 | B | 6 (1 / 6 ) ε | A ||C | . Складывая эти неравенства, замечая, что 59 / 120 < 1 / 2 , и потенциру я обе части по основанию 2 , после группировки сомножителе й получаем требу емое неравенство. Т еперь мы мо же м применить это к омбинато рное утвержде ние и доказать обе- щанный отрицательный резу льт ат . Пу сть α > 0 — нек оторая конст а нта. Пу сть m , n , l — нат уральные числа, причём n > 1 , m > n + 4 , m − α log 2 m > n + 2 и l + 1 + log 2 ( l + 1) 6 2 m − n − 2 . Поло жим N = max { m, l } . Т еорема 5. Пусть даны сло во a длины m и слово b длины n , причём m + n − KS 0 ′ ( a, b ) < α log 2 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 ) 6 l − KS ( b | a, f ) , выполнено и K S ( b | c, f ) 6 m − n + KS ( b | a, f ) + O ( lo g 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 ( lo g m ) ). Т аким образом, если KS ( b | a, f ) = O (lo g N ) для нек оторого слова f длины не более l , т о KS ( b | c, f ) < min { K S ( 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 2 |C | − 2 } . Ясно, что | H ( b ) | 6 |C | / 4 . Семейство функций F строится т ак. Оно бу дет состо ять из Φ функций, прону- мерованных о т 1 до Φ . Мы перечисляем все тройки h a, b, f i , где a ∈ A , b ∈ B и f — слово длины l , для которого KS ( f ) + KS ( b | a, f ) 6 l . При этом нек оторые номера функций имеют метки, являющиес я словами длины l . Ко г да появляетс я новая трой- к а h a, b, f i , мы пытае мся доопределить в точк е a зна чением b о дну из функций, уж е помеченных меткой f . Если все они уже определены в то чке a (и не рав ны b ), мы выбираем номер, который ещё не помечен, помечаем его словом f и полаг аем ф унк- цию с соответствующим номером равной b в т о чк е a . Каждый раз свобод ный (ничем не помеченный) номер найдётся, поск ольку для к аждого f нужно не более 2 l − KS ( f )+1 номеров (если для нек оторого f потребовалось больш е, знач ит , для нек ото ро го a все 2 l − KS ( f )+1 функций определены и принимают ра зные значе ния, то есть мы перечис- лили уж е 2 l − KS ( f )+1 разных b , для к оторых KS ( b | a, f ) 6 l − KS ( f ) — противоречие), а для всех f нужно не бо лее P KS ( f ) 6 l 2 l − KS ( f )+1 = P l k =0 P KS ( f )= k 2 l − k +1 = Φ номе- ров. После того, к ак все тройки с ук азанным свойство м перечислены, оставшиес я неопределён ными зна чения функций доопределяютс я произвольно. Р ассмотрим мно ж ество пар h a, b i , не покрытых C при выбранных F и H . Их к оличество не превос х о дит ε 2 m + n . С другой стороны, F и H могут быть эффективно построены с ораку лом 0 ′ , и по ним эффективно строится мно ж ество непокрытых пар, поэтому для любой непокрытой пары KS 0 ′ ( a, b ) 6 m + n − α log 2 m . Т а ким образом, для любых слов a и b , у к оторых m + n − KS 0 ′ ( a, b ) < α log 2 m , найдётс я т акое c ∈ C , что c ( a ) = b , c / ∈ H ( b ) и для любой f ∈ F количе ство т аких x ∈ A , что c ( x ) = f ( x ) , не больше 2 m − n +2 . Из c ( a ) = b следу ет , что KS ( b | a, c ) = O (log N ) . Из c / ∈ H ( b ) следу ет , что KS ( c | b ) > log 2 |C | − 2 , то есть KS ( c ) = KS ( c | b ) + O (log N ) . Ост алось оценить KS ( b | c, f ) для f , у к оторых KS ( f ) 6 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 и состоит ма ксиму м из 2 m − n +2 элементов, и мы мож ем задать a , зат ра т ив ещё m − n + 2 битов. Ит о го, KS ( b | c, f ) 6 KS ( a | c, f ) + O (log N ) 6 KS ( b | a, f ) + m − n + O (log N ) , что и требова- лось. Открытые вопросы . 13 1. Мо жно ли в последней теореме у лучшить оценку , выбрав c сло жности n + O (log N ) вместо n + l + O (lo g N ) ? (В своём докладе Ан. А. Мучник гов о рил, что это верно, но требу ет более сло жного комбинаторного рассуждения, которое не было расск азано). 2. Последняя теорема пок азывает , что если a не намного сло жнее b , то при нек о- тором c короткие секретные сообщения невозмо жны. В то ж е время альтерна- тивное док азательство теоремы 1 показы вает , что при пу стом c короткие сек- ретные сооб щ ения всег да возмо жны. Мо жно ли ук азать какие-то классы слов c , для к оторых возмож ны и для к оторых невозмо жны к ороткие сообщ ения? 3. Что мо жно ск азать о возмо жных сложн остях KS ( f | b ) , KS ( f | a, b ) , KS ( f | a, b, c ) для секретных f ? Список литературы [1] Muc hnik An. A. Conditional complexit y a nd co des, The or etic al Com puter Scienc e , v. 271 (2002), issues 1–2, p. 97–1 09. [Preliminary ve rsion: Andrej Much nik, Alexej Semeno v, Multi-conditional Descriptions and Co des in K olmogorov Complexit y , ECCC T e chn ical Rep ort, 2000, no. 15, January 27, 2000.] [2] A. Shen, N. V eres hch agin. Logical op erations and K olmogorov complexit y . The or e tic al Computer Scienc e , 2002, v. 271, pp. 12 5 –129. 14

Original Paper

Loading high-quality paper...

Comments & Academic Discussion

Loading comments...

Leave a Comment