Как измерить сложность строки?

У меня есть несколько длинных строк (~ 1.000.000 символов). Каждая строка содержит только символы из определенного алфавита, например

A = {1,2,3}

Образцы строк

string S1 = "1111111111 ..."; //[meta complexity] = 0
string S2 = "1111222333 ..."; //[meta complexity] = 10
string S3 = "1213323133 ..."; //[meta complexity] = 100

Q Какие меры я могу использовать для количественной оценки сложности этих строк? Я вижу, что S1 менее сложен, чем S3, но как я могу сделать это программно из .NET? Мы будем очень признательны за любой алгоритм или указание на инструмент / литературу.

Править

Я пробовал энтропию Шеннона, но оказалось, что она не очень полезна для меня. У меня будет такое же значение H для этих последовательностей AAABBBCCC и ABCABCABC и ACCCBABAB и BBACCABAC


Это то, что В итоге я выполнил

9
задан Community 23 May 2017 в 11:58
поделиться