疑难杂症
给定结的陶氏符号及其交叉符号,请计算其括号多项式。 尽管存在更多的技术定义,但对于这一挑战,将结视为通过将绳的两端连接在一起而实际制成的东西就足够了。由于结存在于三维中,因此当我们将其绘制在纸上时,我们使用结图 -二维投影,其中的交叉点恰好是两条线,一上一下。 这里(b)和(c)是同一结的不同图。 我们如何在纸上表示一个结图?我们大多数人不是伦勃朗,因此我们依赖于Dowker表示法,其工作方式如下: 在结上选择任意起点。沿着结向任意方向移动,并从1开始对您遇到的交叉点进行编号,并进行以下修改:如果是偶数,并且您当前正在越过交叉点,则取消该偶数。最后,选择与1、3、5等对应的偶数。 让我们尝试一个例子: 在这个结上,我们选择“ 1”作为起点,然后继续向上和向右移动。每次我们去超过或下另一块绳,我们分配交叉点的下一个自然数。例如[3,-12],在图中,我们将与通过交叉的链对应的偶数取反。因此,此图将由表示[[1,6],[2,5],[3,-12],[-4,9],[7,8],[-10,11]]。列出1、3、5、7等的伙伴给我们[6,-12,2,8,-4,-10]。 这里有几件事要注意。首先,陶氏符号对于给定的结不是唯一的,因为我们可以选择任意的起点和方向。但是,有了这种表示法,就可以完全确定结的结构(从技术上讲,直到反映出其主要结的组成部分)。尽管并非所有的Dowker记号都可能形成结,但在此问题中,您可以假定输入代表实际的结。 为了避免打结之间产生歧义,并使挑战更容易解决,您还将获得一个交叉标志列表作为输入。 在正交叉处,下线从上线的角度转到左侧。在负数交叉处,它向右移动。请注意,倒车绕来绕去的结方向(即扭转双方在行和下行)不会改变交叉的迹象。在我们的示例中,交叉标志为[-1,-1,-1,1,-1,1]。它们以与道克符号相同的顺序给出,即编号为1、3、5、7等的交叉点。 AAA DDD⟨D⟩⟨D⟩\langle D\rangle 没有任何交叉的唯一循环的多项式为1。 DDDDDDDDD(−A2−A−2)(−A2−A−2)(-A^2-A^{-2}) DDD 在上图中,可以将第一张图中具有轮廓的交叉形式转换为第二张图(也称为正平滑)或第三张图(负平滑)。 AAAA−1A−1A^{-1} 感到困惑了吗?让我们做一个例子,尝试找到()的方括号多项式(注:这是两个连接在一起的结。这种图在此挑战中将不是潜在的输入,因为输入将只是单个结,但可能显示为算法的中间结果。) 我们首先使用规则3 我们在两个新结上再次使用规则3 我们用这四个新的结代替第一个方程。 将规则1和2应用于这4条告诉我们 所以,这告诉我们 恭喜您完成了结理论的简介! 输入值 两张清单: 道克符号,例如[6,-12,2,8,-4,-10]。交叉点的编号必须从1开始。相应的奇数[1,3,5,7,...]是隐式的,不能作为输入提供。 与道克符号对应的交叉口的符号(1/ -1或(如果您更喜欢0/ 1或false/ true或'+'/ '-')),例如[-1,-1,-1,1,-1,1]。 除了一对列表,还可以有一对列表,例如 [[6,-1],[-12,-1],... 输出量 A−2+5+A−A3A−2+5+A−A3A^{-2}+5+A-A^3[[1,-2],[5,0],[1,1],[-1,3]] −k…k−k…k-k\ldots kk∈Nk∈Nk\in \mathbb{N}[0,1,0,5,1,0,-1]A0A0A^0 规则 这是一个代码高尔夫挑战。无法使用任何标准漏洞,并且不能使用具有用于计算Dowker表示法或Bracket多项式的工具的库。(仍然可以使用包含这些库的语言,但不能使用库/软件包)。 测验 // 4-tuples of [dowker_notation, crossing_signs, …