Tính toán chẵn lẻ của một hoán vị theo cách truyền phát trực tuyến


16

Tôi đang tìm kiếm một thuật toán một lượt tính toán tính chẵn lẻ của một hoán vị. Tôi giả sử rằng một hoán vị đầu vào được đưa ra bởi luồng . Đầu ra phải là chẵn lẻ của hoán vị. Câu hỏi tôi quan tâm đến việc sử dụng bao nhiêu bộ nhớ xác định thuật toán xác định. Có bất kỳ thuật toán ngẫu nhiên cho vấn đề?π[1],π[2],,π[n]

Tôi biết rằng số lượng nghịch đảo tính toán trong một lần sử dụng bộ nhớ . Giới hạn trên có thể dễ dàng thu được với bất kỳ BST nào. Giới hạn dưới được trình bày ở đây: http://citeseerx.ist.psu.edu/viewdoc/versions?doi=10.1.1.112.5622Θ(n)

Than ôi, bằng chứng về giới hạn dưới trong bài báo không thể được mở rộng cho trường hợp tương đương (hoặc nó không quá rõ ràng đối với tôi).

Ngoài ra, tôi biết rằng tính toán tương đương trong một không gian nhỏ với quyền truy cập ngẫu nhiên vào một hoán vị có thể được thực hiện trong thời gian và bộ nhớ O ( log 2 n ) bằng thuật toán xác định hoặc trong thời gian O ( n log n )O ( n log n )O ( n log n ) log n ) bộ nhớ bằng cách ngẫu nhiên một. Xem http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.29.2256O(nlogn)O(log2n)O(nlogn)O(logn)

Ý tưởng chính là tính chẵn lẻ của một hoán vị có thể được tính theo công thức , trong đó c là số chu kỳ và n là kích thước. Các tác giả thực hiện phân rã chu kỳ của một hoán vị. Vì vậy, người ta có thể dễ dàng tính toán số lượng chu kỳ.sgn(π)=(1)nccn

Có ai biết một thuật toán hiệu quả hoặc bị ràng buộc thấp hơn trên bộ nhớ để tính toán tương đương trong mô hình phát trực tuyến không? Các thuật toán ngẫu nhiên tốt hơn so với tiền ngẫu nhiên cũng thú vị đối với tôi.


Thật thú vị. Bạn có thể phác thảo một bằng chứng hoặc đặt tên cho một vấn đề, mà bạn giảm xuống ngang bằng?
Vsevolod Oparin

4
@ András: Không phải thuật toán không gian O (n) hoạt động đơn giản bằng cách theo dõi các phần tử nào đã được nhìn thấy (nói trong một bitvector), và sau đó cho mỗi phần tử mới x thêm tính chẵn lẻ của # of-to- yếu tố được nhìn thấy nhỏ hơn x?
László Kozma

1
@laszlo Giới hạn trên của bạn bây giờ có vẻ thuyết phục tôi hơn so với lập luận của tôi về giới hạn dưới lớn hơn. O(n)
András Salamon

Một kết quả âm tính cho ràng buộc thấp hơn. Các tác giả của bài báo đầu tiên cung cấp hoán vị dựa trên hai bộ AB . Họ sử dụng nó để tính toán liệu AB có giao nhau hay không. Tính toán chẵn lẻ của hoán vị chỉ mất 3 bit của giao tiếp một chiều. Nó có thể dễ dàng thu được bằng cách tính thứ hạng của ma trận tương ứng. π=A0¯B1A0B1¯ABAB
Vsevolod Oparin

Câu trả lời:


2

Tôi muốn yêu cầu mọi người không nêu lên điều này, vì đây không phải là một câu trả lời, mà là một nhận xét mở rộng, trong đó tôi muốn tranh luận tại sao câu hỏi này không nhận được bất kỳ câu trả lời nào. Quan điểm chính của tôi là, sự phức tạp trong giao tiếp bị ràng buộc thấp hơn sẽ không hoạt động. Bằng cách này, ý tôi là cho dù chúng ta cắt đầu vào thành hai phần như thế nào và đưa nó cho hai người chơi, A và B, A có thể chuyển một bit cho B mà từ đó anh ta có thể tính được tính chẵn lẻ của hoán vị. (Điều này diễn ra đơn giản bằng cách xem xét các nghịch đảo.)

Bằng chứng sử dụng một ràng buộc khác là khó khăn. Xem nhận xét này tại đây bởi Noam Nisan (đối với phiên bản không xác định): Giới hạn về kích thước của NFA nhỏ nhất cho L_k-differ ,

Câu hỏi liên quan này do chính tôi trả lời bởi Hermann Gruber cho thấy mức độ phức tạp trong giao tiếp bị ràng buộc thấp hơn rất nhiều so với sự thật (một lần nữa trong phiên bản không xác định) Giới hạn dưới cho NFA chấp nhận ngôn ngữ 3 chữ cái .

Cũng liên quan đến việc quyết định xem hoán vị có phải là một chu kỳ hay không, có vẻ khó, xem bài báo FOCS này của Ran Raz và Boris Spieker: http://www.computer.org/csdl/proceedings/focs/1993/4370/00 /0366870-abs.html .

Vì vậy, tôi cũng rất quan tâm để tìm hiểu câu trả lời cho câu hỏi này.


Khi bạn nói rằng "cho dù chúng tôi cắt đầu vào thành hai phần như thế nào" thì đối số của bạn cũng loại trừ việc giảm khi hoán vị được chia thành nhiều hơn hai phần? Ví dụ trong bài báo liên quan về đếm số lượng các đảo, có một giảm từ bộ disjointness, nơi Alice và Bob có đầu vào , và chúng tạo hoán vị ¯ Một 0 B 1 A 0 ¯ B 1¯ A 1 B 0 A 1 ¯ B 0 . Chỉ số 0 hoặc 1 đề cập đến các phép biến đổi 2 xA,B[n]A0¯B1A0B1¯A1¯B0A1B0¯2x , và thanh đề cập đến bổ sung. Nói cách khác, nếu giao tiếp có thể đa vòng thì sao? 2x+1
László Kozma

@laszlo: Trong vấn đề này thực sự không quan trọng bằng cách bạn cắt đầu vào miễn là bạn chỉ cung cấp cho hai người chơi vì tính chẵn lẻ của hoán vị được xác định bởi số chu kỳ của nó (vì vậy đây là lý do tại sao nó khác với số nghịch đảo).
domotorp

Có dễ dàng để xem làm thế nào A có thể tính toán một chút từ đầu vào của cô ấy bằng cách sử dụng B mà tính toán tương đương không? Tôi thấy cả A và B đều biết số chu kỳ "trong các phần của chúng". Nhưng làm thế nào để họ tìm thấy sự tương đương của # chu kỳ "vượt qua"?
László Kozma

2
@laszlo: Giả sử đầu vào của A giống như 1-> 7, 2-> 5, 3-> 8, 4-> 6. Điều này có cùng số lượng đảo ngược như 1-> 5, 2-> 6, 3-> 8, 4-> 7. Tổng quát hơn, B biết những con số nào của số A được ánh xạ. Sử dụng số lượng đảo ngược chẵn, A có thể hoán vị các số này thành một thứ tự tăng dần, ngoại trừ có thể cho hai số cuối. Mối quan hệ của hai số cuối này là một bit cô gửi.
domotorp

a1,,anan+1,,a2na2n+1,,a3na[3n]o(n)
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.