\input style \chapno=6\subchno=2\chapnotrue \subchap{cIFROVOJ POISK} % 6.3 vMESTO TOGO CHTOBY OSNOVYVATX METOD POISKA NA SRAVNENII KLYUCHEJ, MOZHNO VOSPOLXZOVATXSYA IH PREDSTAVLENIEM V VIDE POSLEDOVATELXNOSTI CIFR ILI BUKV. rASSMOTRIM, NAPRIMER, IMEYUSHCHIESYA VO MNOGIH SLOVARYAH "POBUKVENNYE VYSECHKI"; PO PERVOJ BUKVE DANNOGO SLOVA MY MOZHEM NEMEDLENNO NASHCHUPATX STRANICY, SODERZHASHCHIE VSE SLOVA, NACHINAYUSHCHIESYA S |TOJ BUKVY. eSLI RAZVITX IDEYU "POBUKVENNYH VYSECHEK", MY PRIDEM K SHEME POISKA, OSNOVANNOJ NA "INDEKSIROVANII", KAK POKAZANO V TABL.~1. pREDPOLOZHIM, TREBUETSYA PROVERITX, PRINADLEZHIT LI DANNYJ ARGUMENT POISKA K 31~NAIBOLEE UPOTREBITELXNOMU ANGLIJSKOMU SLOVU (SR.~S~RIS.~12 I~13, P.~6.2.2). v TABL.~1 DANNYE PREDSTAVLENY V VIDE TAK NAZYVAEMOJ STRUKTURY "BORA"; TERMIN VVEDEN e.~fR|DKINOM [{\sl CACM,\/} {\bf 3} (1960), 490--500] KAK CHASTX SLOVA VY{\it BOR}KA\note{1}% {v ORIGINALE SOOTVETSTVENNO trie (ISKAZHENNOE "tree") I re{\it trie}val---{\sl pRIM. PEREV.\/}} (INFORMACII). bOR V SUSHCHNOSTI YAVLYAETSYA $M\hbox{-ARNYM}$ DEREVOM, UZLY KOTOROGO SUTX $M\hbox{-MESTNYE}$ VEKTORY S KOMPONENTAMI, SOOTVETSTVUYUSHCHIMI CIFRAM ILI BUKVAM. kAZHDYJ UZEL UROVNYA~$l$ PREDSTAVLYAET MNOZHESTVO VSEH KLYUCHEJ, NACHINAYUSHCHIHSYA S OPREDELENNOJ POSLEDOVATELXNOSTI IZ $l$~LITER; UZEL OPREDELYAET $M\hbox{-PUTEVOE}$ RAZVETVLENIE V ZAVISIMOSTI OT $(l+1)\hbox{-J}$ LITERY. nAPRIMER, BOR TABL.~1 IMEET 12~UZLOV; UZEL~1---KORENX, I PERVUYU BUKVU SLEDUET ISKATX ZDESX. eSLI PERVOJ OKAZALASX, SKAZHEM, BUKVA~|N|, IZ TABLICY VIDNO, CHTO NASHIM SLOVOM BUDET |NOT| (ILI ZHE, CHTO EGO NET V TABLICE). s DRUGOJ STORONY, ESLI PERVAYA BUKVA---|W|, UZEL~(1) NAPRAVIT NAS K UZLU~(9), GDE MY DOLZHNY ANALOGICHNYM OBRAZOM OTYSKATX VTORUYU BUKVU; UZEL~(9) UKAZHET, CHTO |TOJ BUKVOJ DOLZHNA BYTX~|A|, |H| ILI~|I|. uZLY-VEKTORY V TABL.~1 ORGANIZOVANY V SOOTVETSTVII S KODOM LITER, PRINYATYM DLYA \MIX. eTO OZNACHAET, CHTO POISK PO BORU BUDET DOVOLXNO BYSTRYM, TAK KAK MY DOLZHNY PROSTO VYBIRATX SLOVA IZ MASSIVA, ISPOLXZUYA V KACHESTVE INDEKSOV LITERY NASHEGO KLYUCHA. mETODY BYSTROGO MNOGOPUTEVOGO RAZVETVLENIYA S POMOSHCHXYU INDEKSIROVANIYA NAZYVAYUTSYA "PROSMOTROM TABLIC" ("Table Look-At") V PROTIVOPOLOZHNOSTX "POISKU PO TABLICAM" ("Table Look-Up") [SM.~P.~M.~Sherman, {\sl CACM,\/} {\bf 4} (1961), 172--173, 175]. \alg t.(pOISK PO BORU.) aLGORITM POZVOLYAET NAJTI DANNYJ ARGUMENT~$K$ V TABLICE ZAPISEJ, OBRAZUYUSHCHIH $M\hbox{-ARNYJ}$ BOR. %%573 { \catcode`\!=\active\def!#1.{\boxit{\hbox{\strut\bskip\tt\hbox to 2.5em{#1\hfill}\bskip}}} \def\putpar#1{(#1)} \def\@#1{\strut\hfill$(#1)$} \catcode`\(=\active\def(#1){\boxit{\hbox{\bskip\tt\hbox to 2.5em{\strut$\putpar{#1}$\hfill}\bskip}}} \offinterlineskip\tabskip=0pt\htable{tABLICA 1}% {"bOR" DLYA 31 NAIBOLEE UPOTREBITELXNOGO ANGLIJSKOGO SLOVA}% {\vbox{\hbox{\strut\tt #}\hbox{}}&&#\hfill\cr &\@{1} & \@{2}& \@{3}& \@{4}& \@{5}& \@{6}& \@{7}& \@{8}& \@{9}& \@{10}&\@{11}&\@{12}\cr \] & !---.& !A.& !---.& !---.& !---.& !I.& !---.& !---.& !---.& !---.& !HE.& !---.\cr A & (2)& !---.& !---.& !---.& (10)& !---.& !---.& !---.& !WAS.& !---.& !---.&!THAT.\cr B & (3)& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.\cr C & !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.\cr D & !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !HAD.& !---.& !---.\cr E & !---.& !---.& !BE.& !---.& (11)& !---.& !---.& !---.& !---.& !---.& !---.& !THE.\cr F & (4)& !---.& !---.& !---.& !---.& !---.& !OF.& !---.& !---.& !---.& !---.& !---.\cr G & !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.\cr H & (5)& !---.& !---.& !---.& !---.& !---.& !---.& (12)&!WHICH.& !---.& !---.& !---.\cr I & (6)& !---.& !---.& !---.& !HIS.& !---.& !---.& !---.& !WITH.& !---.& !---.&!THIS.\cr $\Theta$ & !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.\cr J & !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.\cr K & !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.\cr L & !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.\cr M & !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.\cr N & !NOT.& !AND.& !---.& !---.& !---.& !IN.& !ON.& !---.& !---.& !---.& !---.& !---.\cr O & (7)& !---.& !---.& !FOR.& !---.& !---.& !---.& !TO.& !---.& !---.& !---.& !---.\cr P & !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.\cr Q & !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.\cr R & !---.& !ARE.& !---.&!FROM.& !---.& !---.& !OR.& !---.& !---.& !---.& !HER.& !---.\cr $\Phi$ & !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.\cr $\Pi$ & !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.\cr S & !---.& !AS.& !---.& !---.& !---.& !IS.& !---.& !---.& !---.& !---.& !---.& !---.\cr T & (8)& !AT.& !---.& !---.& !---.& !IT.& !---.& !---.& !---.& !---.& !---.& !---.\cr U & !---.& !---.& !BUT.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.\cr V & !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !HAVE.& !---.& !---.\cr W & (9)& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.\cr X & !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.\cr Y & !YOU.& !---.& !BY.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.\cr Z & !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.& !---.\cr } } uZLY BORA PREDSTAVLYAYUT SOBOJ VEKTORY, INDEKSY KOTORYH IZMENYAYUTSYA OT~$0$ DO~$M-1$; KAZHDAYA KOMPONENTA |TIH VEKTOROV ESTX LIBO KLYUCH, LIBO SSYLKA (VOZMOZHNO, PUSTAYA). \st[nACHALXNAYA USTANOVKA.) uSTANOVITX UKAZATELX~|P| TAK, CHTOBY ON UKAZYVAL NA KORENX BORA. \st[rAZVETVLENIE.] zANESTI V~$k$ SLEDUYUSHCHUYU (STOYASHCHUYU PRAVEE) LITERU ARGUMENTA~$K$. (eSLI ARGUMENT POLNOSTXYU OBRABOTAN, MY ZASYLAEM V~$k$ "PROBEL" ILI SIMVOL KONCA SLOVA. lITERA DOLZHNA BYTX PREDSTAVLENA CELYM CHISLOM V DIAPAZONE~$0\le kn$, PEREJTI NA~\stp{6}. %%586 \st[pROVERKA BITA.] v |TOT MOMENT MY ZNAEM, CHTO, ESLI PERVYE $(j-1)$~BITOV SOOTVETSTVUYUT NEKOTOROMU KLYUCHU, ONI SOOTVETSTVUYUT KLYUCHU, NACHINAYUSHCHEMUSYA V~$|KEY|(|P|)$. eSLI $j\hbox{-J}$~BIT~$K$ RAVEN~0, PEREJTI NA~\stp{2}; V PROTIVNOM SLUCHAE PEREJTI NA~\stp{5}. \st[shAG VPRAVO.] uSTANOVITX $|Q|\asg|P|$ I~$|P|\asg|RLINK|(|Q|)$. eSLI~$|RTAG|(|Q|)=0$, PEREJTI NA~\stp{3}. \st[sRAVNENIE.] (v |TOT MOMENT MY ZNAEM, CHTO, ESLI~$K$ SOOTVETSTVUET NEKOTOROMU KLYUCHU, ON SOOTVETSTVUET KLYUCHU, NACHINAYUSHCHEMUSYA V~$|KEY|(|P|)$.) sRAVNITX~$K$ S KLYUCHOM, NACHINAYUSHCHIMSYA V POZICII~$|KEY|(|P|)$ MASSIVA~|TEXT|. eSLI PROIZOSHLO SOVPADENIE $n$~PERVYH BITOV, ALGORITM ZAKANCHIVAETSYA UDACHNO; V SLUCHAE NESOVPADENIYA ON ZAKANCHIVAETSYA NEUDACHNO. \algend v UPR.~15 PREZHDE VSEGO POKAZANO, KAK MOZHNO OSUSHCHESTVITX POSTROENIE DEREVA pATRICII. iMEETSYA TAKZHE VOZMOZHNOSTX DOBAVLYATX K TEKSTU I VSTAVLYATX NOVYE KLYUCHI PRI USLOVII, CHTO NOVYJ TEKSTOVOJ MATERIAL OKANCHIVAETSYA OPREDELENNYM RAZDELITELEM (NAPRIMER, SIMVOLOM KONCA TEKSTA, ZA KOTORYM SLEDUET PORYADKOVYJ NOMER). hARAKTER pATRICII SLEGKA PRICHUDLIV, I VSE EE DOSTOINSTVA ZAMETNY LISHX VNIMATELXNOMU NABLYUDATELYU. \section aNALIZ ALGORITMOV. zAVERSHIM |TOT RAZDEL MATEMATICHESKIM IZUCHENIEM BOROV, DEREVXEV CIFROVOGO POISKA I pATRICII. vAZHNEJSHIE VYVODY IZ |TOGO ANALIZA PRIVEDENY V SAMOM KONCE. \picture{rIS. 34. pRIMER SLUCHAJNOGO BINARNOGO BORA.} rASSMOTRIM SNACHALA BINARNYE BORY, T.~E.~BORY S~$M=2$. nA RIS.~34 IZOBRAZHEN BINARNYJ BOR, OBRAZUYUSHCHIJSYA, ESLI 16~KLYUCHEJ IZ PRIMEROV SORTIROVKI GL.~5 RASSMATRIVATX KAK DESYATIBITOVYE DVOICHNYE CHISLA. (kLYUCHI PRIVEDENY V VOSXMERICHNOJ %%587 ZAPISI, TAK CHTO, NAPRIMER, $1144$ PREDSTAVLYAET DESYATIBITOVOE CHISLO $(1001100100)_2$.) kAK I V ALGORITME~T, MY ISPOLXZUEM BOR DLYA HRANENIYA INFORMACII O LEVYH BITAH KLYUCHEJ DO TEH POR, POKA VPERVYE DOSTIGAETSYA TOCHKA, GDE KLYUCH OPREDELYAETSYA ODNOZNACHNO; TAM ON ZAPISYVAETSYA POLNOSTXYU. eSLI SRAVNITX RIS.~34 S TABL.~5.2.2-3, OBNARUZHITSYA UDIVITELXNAYA VZAIMOSVYAZX MEZHDU BOROVOJ PAMYATXYU I OBMENNOJ PORAZRYADNOJ SORTIROVKOJ. (vOZMOZHNO, |TA VZAIMOSVYAZX YAVLYAETSYA OCHEVIDNOJ.) 22~UZLA RIS.~34 V TOCHNOSTI SOOTVETSTVUYUT 22~STADIYAM RASCHLENENIYA V TABL.~5.2.2-3 (UZLY SLEDUET NUMEROVATX V PRYAMOM PORYADKE). chISLO PROVERYAEMYH BITOV V STADII RASCHLENENIYA RAVNO CHISLU KLYUCHEJ V SOOTVETSTVUYUSHCHEM UZLE-I EGO PODBORAH; TAKIM OBRAZOM, MOZHNO SFORMULIROVATX SLEDUYUSHCHIJ REZULXTAT. \proclaim tEOREMA T. eSLI $N$ RAZLICHNYH DVOICHNYH CHISEL POMESHCHENY V BINARNYJ BOR, KAK OPISANO VYSHE, TO (i)~CHISLO UZLOV BORA RAVNO CHISLU STADIJ RASCHLENENIYA, NUZHNYH PRI OBMENNOJ PORAZRYADNOJ SORTIROVKE |TIH CHISEL; (ii)~SREDNEE CHISLO PROVEROK BITOV, TREBUEMYH DLYA VYBORKI KLYUCHA S POMOSHCHXYU ALGORITMA~T, RAVNO~$1/N$, UMNOZHENNOMU NA CHISLO PROVEROK BITOV PRI. OBMENNOJ PORAZRYADNOJ SORTIROVKE.\endmark bLAGODARYA TEOREME MY MOZHEM ISPOLXZOVATX VESX MATEMATICHESKIJ APPARAT, RAZVITYJ V P.~5.2.2 DLYA OBMENNOJ PORAZRYADNOJ SORTIROVKI. pREDPOLOZHIM, NAPRIMER, CHTO KLYUCHAMI YAVLYAYUTSYA SLUCHAJNYE, RAVNOMERNO RASPREDELENNYE MEZHDU~0 I~1 VESHCHESTVENNYE CHISLA, PREDSTAVLENNYE S BESKONECHNOJ TOCHNOSTXYU. tOGDA KOLICHESTVO PROVEROK BITOV, NEOBHODIMYH DLYA VYBORKI INFORMACII, BUDET RAVNO~$\log_2 N+\gamma/(\ln2)+1/2+f(N)+O(N^{-1})$, A CHISLO UZLOV BORA SOSTAVIT~$N/(\ln2)+Ng(N)+O(1)$. zDESX~$f(N)$ I~$g(N)$---SLOZHNYE FUNKCII, KOTORYMI MOZHNO PRENEBRECHX, TAK KAK IH ZNACHENIYA VSEGDA MENXSHE~$10^{-6}$ (SM.~UPR.~5.2.2-38,48). rAZUMEETSYA, PERED NAMI STOIT BOLEE TRUDNAYA ZADACHA: OBOBSHCHITX POLUCHENNYE REZULXTATY NA SLUCHAJ $M\hbox{-ARNYH}$ BOROV. mY OPISHEM LISHX OTPRAVNUYU TOCHKU ISSLEDOVANIJ, OSTAVLYAYA POUCHITELXNYE DETALI V KACHESTVE UPRAZHNENIJ. pUSTX $A_N$---SREDNEE CHISLO UZLOV V SLUCHAJNOM $M\hbox{-ARNOM}$ BORU POISKA, SODERZHASHCHEM $N$~KLYUCHEJ. tOGDA $A_0=A_1=0$, A DLYA $N\ge2$ MY IMEEM $$ A_N=1+\sum_{k_1+\cdots+k_M=N}\left({N!\over k_1!\ldots k_M!} M^{-N}\right)(A_{k_1}+\cdots+A_{k_M}), \eqno(3) $$ TAK KAK $N!M^{-N}/k_1!\ldots k_M!$~ESTX VEROYATNOSTX TOGO, CHTO $k_1$~KLYUCHEJ SODERZHITSYA V PERVOM PODBORU,~\dots, $k_M$---V~$M\hbox{-M}$. vOSPOLXZOVAVSHISX SOOBRAZHENIYAMI SIMMETRII I PROVEDYA SUMMIROVANIE PO %%588 $k_2$,~\dots, $k_M$, PEREPISHEM |TO SOOTNOSHENIE TAK: $$ \eqalignno{ A_N&=1+M^{1-N}\sum_{k_1+\cdots+k_M=N} \left({N!\over k_1!\ldots k_M!}\right) A_{k_1}=\cr &=1+M^{1-N}\sum_k\perm{N}{k}(M-1)^{N-k}A_k, \qquad N\ge2.&(4)\cr } $$ aNALOGICHNO, ESLI CHEREZ $C_N$~OBOZNACHITX SREDNEE SUMMARNOE KOLICHESTVO PROVEROK BITOV, NUZHNYH DLYA POISKA V BORU VSEH $N$~KLYUCHEJ, TO $C_0=C_1=0$, A $$ C_N=N+M^{1-N}\sum_k\perm{N}{k}(M-1)^{N-k} C_k,\qquad N\ge 2. \eqno (5) $$ v UPR.~17 POKAZANO, KAK RABOTATX S REKURRENTNYMI SOOTNOSHENIYAMI TAKOGO VIDA, A V UPR.~18--25 RAZRABATYVAETSYA SOOTVETSTVUYUSHCHAYA TEORIYA SLUCHAJNYH BOROV. [s DRUGOJ TOCHKI ZRENIYA K ANALIZU~$A_N$ VPERVYE PODOSHLI l.~r.~dZHONSON I m.~mAK-eNDRYU [{\sl IBM J.~Res.~and~Devel.,\/} {\bf 8} (1964), 189--193] V SVYAZI S |KVIVALENTNYM APPARATNO-ORIENTIROVANNYM ALGORITMOM SORTIROVKI.] pEREHODYA TEPERX K IZUCHENIYU DEREVXEV CIFROVOGO POISKA, MY OBNARUZHIVAEM, CHTO, S ODNOJ STORONY, FORMULY POHOZHI, A S DRUGOJ---DOSTATOCHNO RAZLICHNY, I SRAZU NE YASNO, KAK ISSLEDOVATX ASIMPTOTICHESKOE POVEDENIE. nAPRIMER, ESLI $\bar C_N$~OBOZNACHAET SREDNEE SUMMARNOE KOLICHESTVO PROVEROK BITOV, PROIZVODIMYH PRI POISKE VSEH $N$~KLYUCHEJ V BINARNOM DEREVE CIFROVOGO POISKA, NETRUDNO VYVESTI, KAK I RANXSHE, CHTO $\bar C_0=\bar C_1=0$ I $$ \bar C_{N+1}=N+M^{1-N}\sum_k\perm{N}{k}(M-1)^{N-k}\bar C_k, \qquad N\ge0. \eqno(6) $$ eTO POCHTI IDENTICHNO VYRAZHENIYU~(5), NO POYAVLENIYA $N+1$ VMESTO~$N$ V LEVOJ, CHASTI URAVNENIYA DOSTATOCHNO DLYA TOGO, CHTOBY IZMENITX OBSHCHIJ HARAKTER REKURRENTNOSTI, TAK CHTO METODY, ISPOLXZUEMYE DLYA IZUCHENIYA~(5), V DANNOM SLUCHAE NEPRIGODNY. rASSMOTRIM SNACHALA BINARNYJ SLUCHAJ. nA RIS.~35 IZOBRAZHENO DEREVO CIFROVOGO POISKA, SOOTVETSTVUYUSHCHEE 16~KLYUCHAM RIS.~34, VSTAVLENNYM V PORYADKE, ISPOLXZOVANNOM V PRIMERAH IZ GL.~5. sREDNEE CHISLO PROVEROK BITOV PRI SLUCHAJNOM UDACHNOM POISKE NAJTI LEGKO---ONO RAVNO DLINE VNUTRENNEGO PUTI DEREVA, DELENNOJ NA~$N$, TAK KAK NUZHNO $l$~PROVEROK, CHTOBY NAJTI UZEL, RASPOLOZHENNYJ NA UROVNE~$l$. zAMETIM, ODNAKO, CHTO SREDNEE CHISLO PROVEROK BITOV PRI SLUCHAJNOM \emph{NEUDACHNOM} POISKE \emph{NE TAK} PROSTO SVYAZANO S DLINOJ VNESHNEGO PUTI DEREVA, IBO NEUDACHNYJ POISK S BOLXSHEJ VEROYATNOSTXYU OKANCHIVAETSYA VBLIZI KORNYA; NAPRIMER, VEROYATNOSTX DOSTIZHENIYA LEVOJ VETVI UZLA~$0075$ (RIS.~35) RAVNA~$1/8$ (RASSMATRIVAYUTSYA BESKONECHNO TOCHNYE KLYUCHI), A V LEVUYU VETVX %%589 UZLA~$0232$ MY POPADAEM S VEROYATNOSTXYU, RAVNOJ LISHX~$1/32$. (pO |TOJ PRICHINE PRI RAVNOMERNOM RASPREDELENII KLYUCHEJ DEREVXYA CIFROVOGO POISKA, KAK PRAVILO, LUCHSHE SBALANSIROVANY, CHEM BINARNYE DEREVXYA POISKA, ISPOLXZOVAVSHIESYA V ALGORITME~6.2.2T.) dLYA OPISANIYA SOOTVETSTVUYUSHCHIH HARAKTERISTIK DEREVXEV CIFROVOGO POISKA MOZHNO ISPOLXZOVATX PROIZVODYASHCHUYU FUNKCIYU. pUSTX NA UROVNE~$l$ RASPOLOZHENO $a_l$~UZLOV; RASSMOTRIM PROIZVODYASHCHUYU FUNKCIYU~$a(z)=\sum a_l z^l$. nAPRIMER, RIS.~35 SOOTVETSTVUET \picture{rIS. 35 sLUCHAJNOE DEREVO CIFROVOGO POISKA, POSTROENNOE S POMOSHCHXYU ALGORITMA D.} FUNKCIYA~$a(z)=1+2z+4z^2+5z^3+4z^4$. eSLI $b_l$~UZLOV UROVNYA~$l$ YAVLYAYUTSYA VNESHNIMI I~$b(z)=\sum b_l z^l$, TO V SILU UPR.~6.2.1-25 IMEEM $$ b(z)=1+(2z-1)a(z). \eqno(7) $$ nAPRIMER, $1+(2z-1)(1+2z+4z^2+5z^3+4z^4)=3z^3+6z^4+8z^5$. sREDNEE CHISLO PROVEROK BITOV PRI SLUCHAJNOM UDACHNOM POISKE RAVNO~$a'(1)/a(l)$, TAK KAK $a'(1)$~ESTX DLINA VNUTRENNEGO PUTI DEREVA, A $a(1)$---KOLICHESTVO VNUTRENNIH UZLOV. sREDNEE CHISLO PROVEROK BITOV DLYA SLUCHAJNOGO \emph{NEUDACHNOGO} POISKA RAVNO~$\sum l b_l 2^{-l}={1\over2}b'\left({1\over2}\right)= a\left({1\over2}\right)$, TAK KAK MY DOSTIGAEM DANNOGO VNESHNEGO UZLA UROVNYA~$l$ S VEROYATNOSTXYU~$2^{-l}$. pRI NEUDACHNOM POISKE CHISLO SRAVNENIJ SOVPADAET S CHISLOM PROVEROK BITOV, A PRI "UDACHNOM"---NA EDINICU BOLXSHE |TOGO CHISLA. dLYA DEREVA RIS.~35 UDACHNYJ POISK V SREDNEM TREBUET $2{9\over16}$~PROVEROK BITOV I~$3{9\over16}$~SRAVNENIJ; V PROCESSE NEUDACHNOGO POISKA PROIZVODITSYA $3{7\over8}$~SRAVNENIJ I PROVEROK (V SREDNEM). %%590 vVEDEM TEPERX "USREDNENNUYU" PO VSEM DEREVXYAM S $N$~UZLAMI FUNKCIYU~$a(z)$ I OBOZNACHIM EE CHEREZ~$g_N(z)$. iNYMI SLOVAMI, $g_N(z)=\sum p_T a_T(z)$, GDE SUMMA BERETSYA PO VSEM BINARNYM DEREVXYAM CIFROVOGO POISKA~$T$ S $N$~VNUTRENNIMI UZLAMI; $a_T(z)$ ESTX PROIZVODYASHCHAYA FUNKCIYA DLYA VNUTRENNIH UZLOV~$T$, A $p_T$~ESTX VEROYATNOSTX TOGO, CHTO PRI VSTAVKE $N$~SLUCHAJNYH CHISEL S POMOSHCHXYU ALGORITMA~D POLUCHAETSYA DEREVO~$T$. tAKIM OBRAZOM, DLYA UDACHNOGO POISKA SREDNEE CHISLO PROVEROK BITOV RAVNO~$g'_N(1)/N$, A DLYA NEUDACHNOGO---$g_N\left({1\over2}\right)$. iMITIRUYA PROCESS POSTROENIYA DEREVA, $g_N(z)$ MOZHNO VYCHISLITX SLEDUYUSHCHIM OBRAZOM. eSLI $a(z)$ ESTX PROIZVODYASHCHAYA FUNKCIYA DLYA DEREVA S $N$~UZLAMI, MOZHNO OBRAZOVATX $N+1$~DEREVXEV, DELAYA VSTAVKU V POZICIYU LYUBOGO VNESHNEGO UZLA. eTA VSTAVKA PROIZVODITSYA V DANNYJ VNESHNIJ UZEL UROVNYA~$l$ S VEROYATNOSTXYU~$2^{-l}$; SLEDOVATELXNO, SUMMA PROIZVODYASHCHIH FUNKCIJ DLYA $N+1$~NOVYH DEREVXEV, UMNOZHENNYH NA VEROYATNOSTX IH POYAVLENIYA, RAVNA $a(z)+b\left({1\over2}z\right)=a(z)+1 +(z-1)a\left({1\over2}z\right)$. uSREDNYAYA PO VSEM DEREVXYAM S $N$~UZLAMI, POLUCHAEM $$ g_{N+1}(z)=g_N(z)+1+(z-1)g_N\left({1\over2}z\right);\qquad g_0(z)=0. \eqno(8) $$ s SOOTVETSTVUYUSHCHEJ PROIZVODYASHCHEJ FUNKCIEJ DLYA VNESHNIH UZLOV $h_N(z)=1+(2z-1)g_N(z)$ RABOTATX NESKOLXKO LEGCHE, TAK KAK (8)~|KVIVALENTNO FORMULE $$ h_{N+1}(z)=h_N(z)+(2z-1)h_N\left({1\over2}z\right); h_0(z)=1. \eqno(9) $$ mNOGOKRATNO PRIMENYAYA |TO PRAVILO, NAHODIM, CHTO $$ \eqalign{ & h_{N+1}(z)=\cr &=h_{N-1}(z)+2(2z-1)h_{N-1}\left({1\over2}\right)+(2z-1(z-1)h_{N-1} \left({1\over4}z\right)=\cr &=h_{N-2}(z)+3(2z-1)h_{N-2}\left({1\over2}\right)+3(2z-l)(z-l)h_{N-2} \left({1\over4}z\right)+\cr &\phantom{=}+(2z-1)(z-1) \left({1\over2}-1\right)h_{N-2} \left({1\over8}z\right)\cr } $$ I T.~D.; OKONCHATELXNO IMEEM $$ \eqalignno{ h_N(z)&=\sum_k\perm{N}{k}\prod_{0\le j1$. [sLUCHAJ~$s=0$ RASSMOTREN V UPR.~5.2.2-50, A SLUCHAJ~$s=l$, $m=2$---V UPR.~5.2.2-48.] \rex[M30] rASSMOTRIM $M\hbox{-ARNUYU}$ BOROVUYU PAMYATX, V KOTOROJ, DOSTIGNUV PODFAJLA, SODERZHASHCHEGO NE BOLEE $s$~KLYUCHEJ, MY ISPOLXZUEM POSLEDOVATELXNYJ POISK. (sLUCHAYU~$s=1$ SOOTVETSTVUET ALGORITM~T.) pRIMENITE REZULXTATY PREDYDUSHCHIH UPRAZHNENIJ, CHTOBY PROANALIZIROVATX: (a)~SREDNEE CHISLO UZLOV BORA; (b)~SREDNEE CHISLO PROVERYAEMYH CIFR ILI LITER PRI UDACHNOM POISKE; (c)~SREDNEE CHISLO SRAVNENIJ, PROIZVODIMYH PRI UDACHNOM POISKE. sFORMULIRUJTE OTVETY V VIDE ASIMPTOTICHESKIH FORMUL~($N\to\infty$) DLYA FIKSIROVANNYH~$M$ I~$s$, OTVET DLYA~(a) DOLZHEN BYTX DAN S TOCHNOSTXYU DO~$O(1)$, OTVETY DLYA~(b) I~(c)---S TOCHNOSTXYU DO~$O(N^{-1})$. [eSLI~$M=2$, |TOT ANALIZ PRIMENIM TAKZHE K MODIFICIROVANNOJ OBMENNOJ PORAZRYADNOJ SORTIROVKE, KOGDA PODFAJLY RAZMERA~$0$ $$ {1\over e^x-1}-{1\over x}+{1\over2}= {1\over 2\pi i}\int_{-{1\over2}-i\infty}^{-{1\over2}+i\infty}\zeta(z)\Gamma(z)x^{-z}\,dx. $$ \item{(d)}~sLEDOVATELXNO, RASSMATRIVAEMAYA SUMMA RAVNA $$ {1\over 2\pi i}\int_{-{1\over2}-i\infty}^{-{1\over2}+i\infty} {\zeta(z)\Gamma(z)n^{-z}\over 2^{-z}-1}\,dx+O(n^{-1}); $$ OCENITE |TOT INTEGRAL. \rex[m20] kAKOVA VEROYATNOSTX TOGO, CHTO DEREVO pATRICII, SODERZHASHCHEE PYATX KLYUCHEJ, IMEET VID \picture{rIS. STR. 597} %%598 PRICHEM POLYA |SKIP| SODERZHAT $a$, $b$, $c$, $d$, KAK POKAZANO NA RISUNKE? (pREDPOLAGAETSYA, CHTO KLYUCHI IMEYUT NEZAVISIMYE SLUCHAJNYE BITY; OTVET NUZHNO PREDSTAVITX V VIDE FUNKCII OT $a$, $b$, $c$ I~$d$.) \ex[M25] iMEETSYA PYATX BINARNYH DEREVXEV S TREMYA VNUTRENNIMI UZLAMI. eSLI MY RASSMOTRIM, KAK CHASTO KAZHDOE IZ NIH SLUZHIT DEREVOM, POISKA V RAZLICHNYH ALGORITMAH (DANNYE PREDPOLAGAYUTSYA SLUCHAJNYMI), TO POLUCHIM SLEDUYUSHCHIE RAZLICHNYE VEROYATNOSTI: \picture{rIS. STR. 598 --- V TABLICU PO CHASTYAM:} \ctable{ # &$#$&$#$&$#$&$#$&$#$\cr &&&&&\cr pOISK PO DEREVU (ALGORITM 6.2.2.T) & 1\over 6 & 1\over6 & 1\over3 & 1\over6 & 1\over6\cr cIFROVOJ POISK PO DEREVU (ALGORITM D)&1\over8 & 1\over8 & 1\over2 & 1\over8 & 1\over8\cr pATRICIYA (ALGORITM r) & 1\over7 & 1\over7 & 3\over7 & 1\over7 & 1\over7\cr } (zAMETIM, CHTO DEREVO CIFROVOGO POISKA IMEET NAIBOLXSHUYU TENDENCIYU K SBALANSIROVANNOSTI.) v UPR.~6.2.2-5 MY NASHLI FORMULU DLYA VEROYATNOSTI V SLUCHAE POISKA PO DEREVU: $\prod(1/s(x))$, GDE PROIZVEDENIE BERETSYA PO VSEM VNUTRENNIM UZLAM~$x$, a~$s(x)$---CHISLO VNUTRENNIH UZLOV V PODDEREVE, KORNEM KOTOROGO SLUZHIT~$x$. nAJDITE ANALOGICHNYE FORMULY DLYA VEROYATNOSTI V SLUCHAE: (a)~ALGORITMA~D; (b)~ALGORITMA~r. \rex[m22] rASSMOTRIM BINARNOE DEREVO, NA $l\hbox{-M}$ UROVNE KOTOROGO RASPOLOZHENO $b_l$~VNESHNIH UZLOV. v TEKSTE UKAZYVALOSX, CHTO VREMYA NEUDACHNOGO POISKA V DEREVXYAH CIFROVOGO POISKA NE SVYAZANO NEPOSREDSTVENNO S DLINOJ VNESHNEGO PUTI~$\sum lb_l$, A, PO SUSHCHESTVU, PROPORCIONALXNO \emph{MODIFICIROVANNOJ DLINE VNESHNEGO PUTI}~$\sum l b_l 2^{-l}$. dOKAZHITE ILI OPROVERGNITE SLEDUYUSHCHEE UTVERZHDENIE: SREDI VSEH DEREVXEV S $N$~VNESHNIMI UZLAMI NAIMENXSHUYU MODIFICIROVANNUYU DLINU VNESHNEGO PUTI IMEET TO DEREVO, VSE VNESHNIE UZLY KOTOROGO RASPOLOZHENY NE BOLEE CHEM NA DVUH SMEZHNYH UROVNYAH (SR.~S UPR.~5.3.1-20). \ex[m40] rAZRABOTAJTE ALGORITM DLYA NAHOZHDENIYA $n\hbox{-UZLOVOGO}$ DEREVA, IMEYUSHCHEGO MINIMALXNOE ZNACHENIE VELICHINY $\alpha\times\hbox{(DLINA VNUTRENNEGO PUTI)}+ \beta\times\hbox{(MODIFICIROVANNAYA DLINA VNESHNEGO PUTI)}$, $\alpha$ I~$\beta$---DANNYE CHISLA (SR.~S~UPR.~37). \ex[m43] pRIDUMAJTE ALGORITM NAHOZHDENIYA OPTIMALXNYH DEREVXEV CIFROVOGO POISKA, ANALOGICHNYH OPTIMALXNYM BINARNYM DEREVXYAM POISKA, RASSMOTRENNYM V P.~6.2.2. \ex[25] pUSTX $a_0a_1a_2\ldots$---PERIODICHESKAYA BINARNAYA POSLEDOVATELXNOSTX; $a_{N+k}=a_k$ PRI VSEH~$k\ge0$. pOKAZHITE, CHTO LYUBUYU FIKSIROVANNUYU CEPOCHKU |TOGO TIPA MOZHNO PREDSTAVITX V $O(N)$~YACHEJKAH PAMYATI TAKIM OBRAZOM, CHTO SLEDUYUSHCHAYA OPERACIYA TREBUET LISHX $O(n)$~SHAGOV: IMEYA BINARNUYU CEPOCHKU $b_0b_1\ldots b_{n-1}$, NUZHNO OPREDELITX, SKOLXKO RAZ ONA VSTRECHAETSYA V PERIODE (T.~E.~NAJTI KOLICHESTVO ZNACHENIJ~$p$, $0\le pk$), $\alpha$~NE PRINADLEZHIT~$H$; V PROTIVNOM SLUCHAE POVTORYAEM PROCESS S NOVYM ZNACHENIEM~$\alpha$. sVOJSTVO nILXSENA GARANTIRUET KONECHNOSTX |TOGO ALGORITMA. eSLI UDALOSX SVESTI~$\alpha$ K PUSTOJ CEPOCHKE, MY MOZHEM VOSSTANOVITX ISHODNOE PREDSTAVLENIE~$\alpha$ V VIDE PROIZVEDENIJ~$\theta_i$. nAPRIMER, PUSTX $\set{\theta_1, \theta_2, \theta_3}=\set{bbb, b^{-1}a^{-1}b^{-1}, ba^{-1}b}$ I~$\alpha=bbabaab$. lES \picture{rIS. STR. 599} VMESTE S OPISANNYM ALGORITMOM POZVOLYAET POLUCHITX~$\alpha=\theta_1\theta_3^{-1}\theta_1\theta_3^{-1}\theta_2^{-1}$. rEALIZUJTE |TOT ALGORITM, ISPOLXZUYA V KACHESTVE VHODNYH DANNYH DLYA VASHEJ PROGRAMMY~$\theta_i$. \ex[23] \exhead(sZHATIE SPEREDI I SZADI.) eSLI NABOR BINARNYH KLYUCHEJ ISPOLXZUETSYA V KACHESTVE UKAZATELYA DLYA RASCHLENENIYA BOLEE KRUPNOGO FAJLA, TO NET NUZHDY HRANITX POLNYE KLYUCHI. nAPRIMER, SHESTNADCATX KLYUCHEJ RIS.~34 MOZHNO UREZATX SPRAVA TAK, CHTOBY OSTAVALOSX DOSTATOCHNO CIFR DLYA IH ODNOZNACHNOGO OPREDELENIYA: $0000$, $0001$, $00100$, $00101$, $010$,~\dots, $1110001$. tAKIE UREZANNYE KLYUCHI MOZHNO ISPOLXZOVATX DLYA RASCHLENENIYA FAJLA NA SEMNADCATX CHASTEJ; NAPRIMER, PYATAYA CHASTX SOSTOIT IZ VSEH KLYUCHEJ, NACHINAYUSHCHIHSYA S~$0011$ ILI~$010$, A POSLEDNYAYA CHASTX SODERZHIT VSE KLYUCHI, NACHINAYUSHCHIESYA S~$111001$, $11101$ ILI~$1111$. uREZANNYE KLYUCHI MOZHNO PREDSTAVITX BOLEE KOMPAKTNO, ESLI OPUSTITX LEVYE CIFRY, OBSHCHIE S PREDYDUSHCHIM KLYUCHOM: $0000$, $***1$, $**100$, $****1$, $*10$,~\dots, $******1$. zA ZVEZDOCHKAMI VSEGDA SLEDUET EDINICA, PO|TOMU EE MOZHNO OPUSTITX v BOLXSHOM FAJLE BUDET MNOGO ZVEZDOCHEK, I MY DOLZHNY HRANITX LISHX IH CHISLO I ZNACHENIYA SLEDUYUSHCHIH BITOV. (nA |TOT SPOSOB SZHATIYA AVTORU UKAZALI r.~e.~gELLER I~r.~l.~jONSEN.) %%600 pOKAZHITE, CHTO SUMMARNOE CHISLO BITOV V SZHATOM FAJLE, ISKLYUCHAYA ZVEZDOCHKI I SLEDUYUSHCHUYU ZA NIMI EDINICU, RAVNO CHISLU UZLOV V BINARNOM BORU, SODERZHASHCHEM |TI KLYUCHI. (sLEDOVATELXNO, SREDNEE SUMMARNOE CHISLO TAKIH BITOV VO VSEM UKAZATELE PRIMERNO RAVNO~$N/(\ln 2)$, CHTO SOSTAVLYAET LISHX OKOLO $1.44$~BITA NA KLYUCH. vOZMOZHNO I ESHCHE BOLXSHEE SZHATIE, TAK KAK NAM NUZHNO PREDSTAVITX LISHX STRUKTURU BORA, SR.~S~TEOREMOJ 2.3.1A). \bye