Dựa vào ký hiệu của Dowker về một nút thắt và các dấu chéo của nó, hãy tính đa thức khung của nó.
Mặc dù có nhiều định nghĩa kỹ thuật hơn, nhưng đối với thử thách này, đủ để nghĩ về một nút thắt như một thứ gì đó được tạo ra bằng cách gắn hai đầu của một chuỗi với nhau. Vì các nút thắt tồn tại trong ba chiều, khi chúng ta vẽ chúng trên giấy, chúng ta sử dụng sơ đồ nút thắt - các hình chiếu hai chiều trong đó các giao điểm có chính xác hai dòng, một trên và một dưới.
Ở đây (b) và (c) là các sơ đồ khác nhau của cùng một nút.
Làm thế nào để chúng ta đại diện cho một sơ đồ nút trên giấy? Hầu hết chúng ta không Rembrandt, vì vậy chúng tôi dựa vào ký hiệu của Dowker , hoạt động như sau:
Chọn một điểm bắt đầu tùy ý trên nút thắt. Di chuyển theo hướng tùy ý dọc theo nút thắt và đánh số các giao cắt bạn gặp phải, bắt đầu từ 1, với sửa đổi sau: nếu đó là số chẵn và bạn hiện đang đi qua giao lộ, hãy phủ định số chẵn đó. Cuối cùng, chọn các số chẵn tương ứng với 1, 3, 5, v.v.
Hãy thử một ví dụ:
Trên nút thắt này, chúng tôi đã chọn "1" làm điểm bắt đầu và tiến lên phía bên phải. Mỗi khi chúng ta đi qua hoặc dưới một đoạn dây khác, chúng ta gán điểm giao nhau cho số tự nhiên tiếp theo. Chúng tôi phủ định các số chẵn tương ứng với các chuỗi đi qua một giao thoa, ví dụ như [3,-12]
trong sơ đồ. Vì vậy, sơ đồ này sẽ được đại diện bởi [[1,6],[2,5],[3,-12],[-4,9],[7,8],[-10,11]]
. Liệt kê những người bạn của 1, 3, 5, 7, vv cho chúng ta [6,-12,2,8,-4,-10]
.
Có một vài điều cần lưu ý ở đây. Đầu tiên, ký hiệu Dowker không phải là duy nhất cho một nút cho trước, vì chúng ta có thể chọn điểm bắt đầu và hướng tùy ý. Nhưng, với ký hiệu, người ta hoàn toàn có thể xác định cấu trúc của nút (về mặt kỹ thuật, cho đến sự phản ánh của các thành phần nút chính của nó). Mặc dù không phải tất cả các ký hiệu của Dowker đều có thể hình thành các nút thắt có thể, nhưng trong vấn đề này, bạn có thể giả sử rằng đầu vào đại diện cho một nút thắt thực tế.
Để tránh sự mơ hồ giữa các phản xạ của nút thắt và để giải quyết thách thức dễ dàng hơn, bạn cũng sẽ được cung cấp một danh sách các dấu hiệu giao nhau làm đầu vào.
Trong một đường chéo tích cực, đường dưới đi về bên trái từ quan điểm của đường trên. Trong một giao thoa tiêu cực, nó đi bên phải. Lưu ý rằng đảo ngược hướng đi xung quanh nút thắt (nghĩa là đảo ngược cả đường trên và đường dưới ) không làm thay đổi các dấu hiệu giao nhau. Trong ví dụ của chúng tôi các dấu hiệu chéo là [-1,-1,-1,1,-1,1]
. Chúng được đưa ra theo thứ tự giống như ký hiệu của Dowker, tức là đối với các giao cắt được đánh số 1, 3, 5, 7, v.v.
Trong thử thách này, chúng tôi sẽ tính toán đa thức khung của một nút. Đó là một đối tượng bất biến trên hầu hết sự biến đổi của sơ đồ nút thắt - một khái niệm làm cho nó cực kỳ hữu ích trong phân tích lý thuyết nút. (Một lần nữa, hầu hết các nhà lý thuyết nút thắt tính toán đa thức khung là một sản phẩm trung gian trên con đường của họ để tính toán đa thức Jones, bất biến trên tất cả các phép biến đổi, nhưng chúng ta sẽ không làm điều đó.) Vậy nó hoạt động như thế nào? Đa thức khung là một đa thức Laurent - một trong đó biến (có tên truyền thống là ) có thể được nâng lên thành lũy thừa âm, cũng như dương.
Đối với sơ đồ nút cho trước , ba quy tắc cho đa thức, được biểu diễn dưới dạng , là:
Một vòng lặp duy nhất không có bất kỳ giao cắt nào có đa thức 1.
Nếu chúng ta có một sơ đồ bao gồm và một vòng lặp bị ngắt kết nối với , thì đa thức cho cả hai là đa thức cho lần .
Quy tắc này là khó khăn nhất. Nó nói rằng nếu bạn có một giao thoa trong trông giống như vậy , thì bạn có thể sử dụng quy tắc này để đơn giản hóa các nút thắt theo hai cách khác nhau:
Trong hình trên, đường chéo được phác thảo trong sơ đồ đầu tiên, có dạng , có thể được chuyển thành như trong hình thứ hai (còn gọi là làm mịn dương ) hoặc như trong hình thứ ba ( làm mịn âm ).
Vì vậy, đa thức khung của sơ đồ thứ nhất là đa thức khung của lần thứ hai cộng với lần thứ ba , nghĩa là,
Bối rối chưa? Hãy làm một ví dụ, cố gắng tìm đa thức khung của (Lưu ý: đây là hai nút được liên kết với nhau. Loại sơ đồ này sẽ không phải là đầu vào tiềm năng trong thử thách này vì các đầu vào sẽ chỉ là các nút đơn, nhưng nó có thể xuất hiện dưới dạng một nút kết quả trung gian trong thuật toán.)
Đầu tiên chúng ta sử dụng quy tắc 3
Chúng tôi sử dụng quy tắc 3 một lần nữa trên cả hai nút thắt mới
Chúng tôi thay thế 4 nút thắt mới vào phương trình đầu tiên.
Áp dụng quy tắc 1 và 2 cho 4 điều này cho chúng tôi biết
Vì vậy, điều này cho chúng tôi biết
Chúc mừng bạn đã hoàn thành phần giới thiệu ngắn gọn về lý thuyết nút thắt!
Đầu vào
Hai danh sách:
Ký hiệu Dowker, vd
[6,-12,2,8,-4,-10]
. Việc đánh số các giao cắt phải bắt đầu từ 1. Các số lẻ tương ứng[1,3,5,7,...]
được ẩn và không được cung cấp làm đầu vào.Dấu hiệu (
1
/-1
hoặc nếu bạn thích0
/1
hoặcfalse
/true
hoặc'+'
/'-'
) cho các giao cắt tương ứng với ký hiệu Dowker, ví dụ[-1,-1,-1,1,-1,1]
.
Thay vì một cặp danh sách, bạn có thể có một danh sách các cặp, ví dụ: [[6,-1],[-12,-1],...
Đầu ra
In hoặc trả về đa thức, ví dụ , dưới dạng danh sách các cặp số mũ (hoặc cặp hệ số mũ) theo thứ tự tăng dần của số mũ và không có bất kỳ hệ số 0 nào, vd .[[1,-2],[5,0],[1,1],[-1,3]]
Ngoài ra, hãy đưa ra một danh sách các hệ số tương ứng có độ dài lẻ cho số mũ cho một số , vd . Phần tử trung tâm là số hạng không đổi (hệ số trước ). Các phần tử ngoài cùng bên phải và không phải là cả 0.k ∈ N A 0[0,1,0,5,1,0,-1]
Quy tắc
Đây là một thách thức mã golf . Không có lỗ hổng tiêu chuẩn nào có thể được sử dụng và các thư viện có các công cụ để tính toán các ký hiệu Dowker hoặc đa thức ngoặc, không thể được sử dụng. (Một ngôn ngữ có chứa các thư viện này vẫn có thể được sử dụng, không phải là các thư viện / gói).
Xét nghiệm
// 4-tuples of [dowker_notation, crossing_signs, expected_result, description]
[
[[],[],[[1,0]],"unknot"],
[[2],[1],[[-1,3]],"unknot with a half-twist (positive crossing)"],
[[2],[-1],[[-1,-3]],"unknot with a half-twist (negative crossing)"],
[[2,4],[1,1],[[1,6]],"unknot with two half-twists (positive crossings)"],
[[4,6,2],[1,1,1],[[1,-7],[-1,-3],[-1,5]],"right-handed trefoil knot, 3_1"],
[[4,6,2,8],[-1,1,-1,1],[[1,-8],[-1,-4],[1,0],[-1,4],[1,8]],"figure-eight knot, 4_1"],
[[6,8,10,2,4],[-1,-1,-1,-1,-1],[[-1,-7],[-1,1],[1,5],[-1,9],[1,13]],"pentafoil knot, 5_1"],
[[6,8,10,4,2],[-1,-1,-1,-1,-1],[[-1,-11],[1,-7],[-2,-3],[1,1],[-1,5],[1,9]],"three-twist knot, 5_2"],
[[4,8,10,2,12,6],[1,1,-1,1,-1,-1],[[-1,-12],[2,-8],[-2,-4],[3,0],[-2,4],[2,8],[-1,12]],"6_3"],
[[4,6,2,10,12,8],[-1,-1,-1,-1,-1,-1],[[1,-10],[2,-2],[-2,2],[1,6],[-2,10],[1,14]],"granny knot (sum of two identical trefoils)"],
[[4,6,2,-10,-12,-8],[1,1,1,1,1,1],[[1,-14],[-2,-10],[1,-6],[-2,-2],[2,2],[1,10]],"square knot (sum of two mirrored trefoils)"],
[[6,-12,2,8,-4,-10],[-1,-1,-1,1,-1,1],[[1,-2],[1,6],[-1,10]],"example knot"]
]
Tài nguyên bên ngoài
Không cần thiết cho thử thách, nhưng nếu bạn quan tâm:
cảm ơn @ChasBrown và @ H.Pwiz vì đã bắt lỗi trong định nghĩa của tôi về ký hiệu Dowker