Выше вот немного уточнил, зачем мне это - для формальной постановки задачи с целевой функцией.
Ну, с моей низкой колокольни не видно, чем тут может помешать то, что функцию удобнее описать реализующим её алгоритмом.
Потом, формально-то функция описывается вообще-то проще некуда. Вот у вас алфавит
, строка
, «тестовая подстрока»
. Максимальное
, для которого существуют строки
такие что
, и есть значение интересующей функции. Это значение определно однозначно (разве что можно дописать, что для
равенство выше имеет вид
и всегда выполнимо). Можно придумать и другие, более изощрённые, определения — например, как число применений определённого правила определённой грамматики при порождении
.