1) Каков критерий случайности генерации фрагмента текста? (Навскидку могу предложить взять меру энтропии, но это не точно)
2) Некий алгоритм должен детектить самый маленький фрагмент текста (ленивый стиль поиска) или самый большой (жадный стиль поиска)?
3) Находить первый попавшийся фрагмент текста, удовлетворяющий условию 1 или все возможные варианты внутри исходного текста?
alexalexes, 1)случайный текст может быть словом, предложением, абзацем как в примере 2)интересуют два варианта 3) текст скорее всего рандомный с самого начала поэтому можно по первому попавшемуся фрагменту
По пункту 1 я имел ввиду, что вам нужно предложить функцию, которая:
а) взвесит некий фрагмент строки и даст ему нормированный вес, скажем, между 0 - не случайная последовательность символов, и 1 - полностью случайная последовательность символов.
К примеру, наша функция g = f(s) с аргументом s = 'Мама мыла раму' вернет значение g = 0.1;
при s = 'мвма мкла рамн' вернет, скажем, g = 0.5;
при s = 'мнпм выкц пршо' вернет, скажем, g = 0.9;
б) превратится в критерий случайности, если этой функции задать минимум один порог.
Скажем если g >= 0.8, то предложенный фрагмент строки считаем составленный из случайных символов, если g не превышает этот порог, то скорее всего символы в фрагменте не случайны.
Если будет задействован PL/pgSQL, то вообще не принципиально, как там будет выглядеть реализация.
Главное, сформулировать математику этого решения, потом сформулировать псевдокод решения, а потом впихнуть в выбранную среду разработки.