16.9. Метод индекса совпадений

Приведём теоретическое обоснование метода индекса совпадений. Пусть алфавит имеет размер A. Пронумеруем его буквы числами от 1 до A. Пусть заданы вероятности появления каждой буквы:

P={p1,p2,,pA}.

В простейшей модели языка предполагается, что тексты состоят из последовательности букв, порождаемых источником независимо друг от друга с известным распределением P.

Найдём индекс совпадений для различных предположений относительно распределений букв последовательности. Сначала рассмотрим случай, когда вероятности всех букв одинаковы. Пусть

X=[X1,X2,,XL]

– случайный текст с распределением

P1={p11,p12,,p1A}.

Найдём индекс совпадений

Ic(P1),

то есть вероятность того, что в случайно выбранной паре позиций находятся одинаковые буквы.

Для пары позиций (k,j) найдём условную вероятность того, что на этих позициях находятся одинаковый символ:

P(Xk=Xj(k,j)) = i=1Ap1i2  kp1.

Эта вероятность не зависит от выбора пары позиций (k,j).

Так как число различных пар равно L(L1)2, то вероятность случайного выбора пары (k,j) равна

P(K,J)(k,j)=2L(L1).

Следовательно,

I(P1) =1k<jLP(K,J)(k,j)  P(Xk=Xj(k,j))==1k<jL2L(L1)kp1=kp1.

Найдём теперь аналогичную вероятность I(P1,P2) для случая, когда последовательность независимых случайных букв может быть представлена в виде

X=[X1,Y1,X2,Y2,,,XL/2YL/2],

где одинаково распределённые случайные буквы в первой строке имеют распределение:

P1={p11,p12,,p1A},

а одинаково распределённые случайные буквы во второй строке имеют другое распределение:

P2={p21,p22,,p2A}.

В этом случае сумму по всем парам мы разделяем на три суммы: по парам внутри позиций первой строки, по парам внутри позиций второй строки и по парам, в которых первая позиция берётся из первой строки, а вторая – из второй:

I(P1,P2)=2L(L1)(1k<jL/2P(Xk=Xj(k,j))++1k<jL/2P(Yk=Yj(k,j))+k=1L/2j=1L/2P(Xk=Yj(k,j)))==2L(L1)(12L2(L21)kp1+12L2(L21)kp2+(L2)2kp1,p2),

где обозначено

kp1,p2=i=1Ap1,ip2,i.

В общем случае рассмотрим последовательность, представленную в виде матрицы, состоящей из m строк и Lm столбцов, где

X=[X1X2XL/mY1Y2YL/mZ1Z2ZL/m].

Считаем, что одинаково распределённые случайные буквы в первой строке имеют распределение

P1={p11,p12,,p1A},

одинаково распределённые случайные буквы во второй строке имеют распределение

P2={p21,p22,,p2A}

и т. д., одинаково распределённые случайные буквы m-й строки имеют распределение

Pm={pm1,pm2,,pmA}.

Для вычисления вероятности того, что в случайно выбранной паре позиций будут одинаковые буквы, выполним суммирование по различным парам внутри строк и по парам между различными строками. Аналогично предыдущему случаю получим:

I(P1,P2,,Pm)==2L(L1)(L2m(Lm1)kp1+L2m(Lm1)kp2+++L2m(Lm1)kpm)++2L(L1)((Lm)2kp1,p2+(Lm)2kp1,p3++(Lm)2kpm1,pm).

Первая сумма содержит m слагаемых, вторая – m(m1)2 слагаемых. Полагая

kp1=kp2==kpm=kp,
kpipj=kr=1A, ij,

получим после несложных выкладок

m=kpkrIkr+kpIL.