У меня есть несколько длинных строк (~ 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