四个人站在 A、B、C 和 D 位置,并以所示的初始配置握住两条绳索。
这些人可以通过以他们喜欢的任何顺序多次执行两个动作来“跳舞”这些绳索:
作为一组逆时针旋转 90 度。(因此位置 A 的人移动到位置 B,位置 B 的人移动到位置 C,依此类推。)将此移动称为“旋转”,表示为 R。
示例:给定初始状态,一次旋转,以下是状态:
位置 D 和 C 的人(东北部和东南部的人)交换位置,而 D 将绳子举起并越过 C。将此动作称为“交换”。记为 T。
示例:给定初始状态,在一次交换中,以下是状态:
旋转 - R
交换 - T
操作的属性:
操作不可交换 - RRRTT 不等于 RTRTR
操作是关联的 - (TR)T 等于 T(RT)
逆 - R^-1 = R^3 或 3R 和 T^-1 = RTRTR
R^-1(逆时针旋转一次)为:
3R(三个顺时针旋转)是:
如何用抽象数据类型表示这个缠结的状态?
操作(ROTATE & SWAP)如何修改这个抽象数据类型表示的这个缠结的状态?