给定两个排列$\pi=(a_1,\ldots,a_n)$和$\tau=(b_1,\ldots,b_k)$,我们说$\pi$包含模式$\tau$,如果存在$\pi$的子序列$(a{i_1},a{i_2},\ldots,a{ik})$,其中$i_1\lti_2\lt\cdots\lti_k$的条目与$(b_1,\ltots,b_k)$的相对顺序相同。这种子序列的出现被称为比赛$\pi$中的$\tau$。否则,我们会这样说$\pi$避免了$\tau模式$.例如,排列$\pi=451362$包含模式$\tau=2314$,如子序列$4516$所示,它与$\pi$中的$\tau$匹配,而$\pi$s避免$\tau'=1234$。通过对模式匹配时施加额外的条件,可以用多种方式修改模式避免的这一经典概念。
- 在一个血管纹[BS00]例如$\tau=2\underline{41}3$中,$\tau$的两个相邻条目带有下划线,$\pi$中的$\tau$匹配要求两个带下划线的条目与$\pi$s中的相邻位置匹配。
- 在一个条状图案[Wes90]例如$\tau=3\bar{1}42$中,$\tau$的一个条目被覆盖,如果每个未加条目的匹配都可以扩展到包括加条的条目在内的匹配,则$\pi$避免使用$\tau模式。
- 一场比赛盒装图案[AKV13]例如$\tau=\$$2143$在置换$\pi$中,如果在该匹配中,在匹配项之间的位置上没有$\pi$s条目的值介于匹配的最小值和最大值之间,则会发生$\pi$。
- 一个更一般的概念是,将前面提到的所有类型的模式都作为特殊情况来包含网格图案[BC11]。网格模式是一对$(\tau,M)$,其中$\tau=(b_1,ldots,b_k)$是一个置换,$M$是一种$(k+1)times(k+1。通过考虑网格表示法$\tau$的集合,即平面中$i=1,\ldots,k$的点集$(i,b_i)$。所有穿过这些点的水平线和垂直线都定义了一个带有$(k+1)\次(k+1”)$单元格的网格,我们精确地为那些对应于$M$的1个条目的网格单元格着色。例如,网格图案$(231,M)$与$M=\begin{pmatrix}0100\\0100\\1111\\0100\end{pmatrix}$绘制为
.
如果$\pi$的网格表示包含$\tau$的网格表达,并且与来自$M$的1项的着色单元格相对应的矩形在其内部不包含$\pi$点,则置换$\pi$s包含网格模式$(\tau,M)$。
根据这些定义,经典图案是没有阴影单元格的网格图案,即$M$的所有条目都是0。长春花图案是一种网格图案,有一列阴影细胞。条形图案是带有单个着色单元格的网格图案。方框图案是一种网格图案,其中$\tau$点的边界框中的所有单元格都会着色。有关这些不同类型图案的更多示例和插图,请参阅[HHMW22]或上述介绍这些图案的论文之一。
论文[HHMW22]提出了一种非常通用的算法,称为算法J,用于生成许多不同类型的模式避免排列,该算法在对模式的一些非常温和的约束下工作。满足这些约束的模式称为驯服.具体来说,如果最大入口不在边界处,则经典置换模式是温和的。例如,$\tau=231$是tame,但$\tau'=321$不是tame。有关管状、条状、盒式或网状图案平缓的条件,请参见[HHMW22]。[HHMW22]中开发的算法可以为任何布尔公式$F$生成所有避免模式的排列,该公式由前面讨论的类型之一的驯服模式、连接词$\wedge$和析取词$\vee$组成。连词表示置换必须避免这两种模式,析取表示置换必须至少避免其中一种模式。我们为满足$F$表示的约束的长度为$n$的置换集编写$S_n(F)$。例如,$S_n(231)$是避免$231$的排列集,$S_n(231\wedge 132)$是同时避免$231$和$132$的排列集合,而$S_n。该算法可以生成的一个更复杂的集合是$S_n(231\楔形(2\下划线{41}3\V形3\bar{1}42))$.
在这个网站上运行的算法J的实现是由于Chigozie Agomo。输入字段采用公式$F$,语法规则如下:
连词$\楔形$ | &(与号) |
分离$\vee$ | |(竖条) |
经典图案231美元$ | 231(连续数字) |
血管图案$2\下划线{41}3$ | 24_13(下划线条目之间的下划线) |
条形图案$3\bar{1}42$ | 3b142(上覆入口前b) |
网格图案$(231,M)$与$M$如上 | 231:0100 0100 1111 0100(模式,然后是冒号,后面是矩阵$M$,从上到下逐行) |
优先约束 | 231&(24_13|3b142)与(231&24_13)|3b143(使用括号) |