Мне нужно преобразовать список в пустой, если у него есть две непересекающиеся последовательности с определенным свойством.Например, в этом случае, равно и с длиной> = 2)
mm[{___, b1__, ___, b1__, ___}] := {} /; Length[{b1}] >= 2
или, например, 2 подсписка, с функцией подобия, равной 0 и Legth = 4
mm[{___, b1__, ___, b2__, ___}] := {} /;
NeedlemanWunschSimilarity[{b1}, {b2}] == 0 && Length[{b1}] == 4 &&
Length[{b2}] == 4
и такна .....
Для mathematica, гуру, который знает внутренний алгоритм, есть ли более быстрый способ, возможно, с помощью PatternTest (?)?