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