Có tồn tại một mạch số học tương đương cho mỗi hàm tính toán không?


6

Có tồn tại một mạch số học tương đương cho mỗi hàm tính toán không?

Tôi đã cố gắng quấn đầu xung quanh tuyên bố trên, nhưng không tìm thấy một ví dụ phản tác dụng mặc dù tôi tin rằng tuyên bố đó là sai.

Điều khiến tôi tò mò là tôi đã đọc một số định lý nói rằng một giao thức (lý thuyết giao thức tiền điện tử) có thể tính toán bất kỳ hàm tính toán nào, nhưng sau đó yêu cầu hàm này phải được chỉ định là một mạch số học.


Các mạch số học chỉ có thể tính toán đa thức
Ariel

@Ariel - Bạn có thể mô tả cho một lập trình viên nghiên cứu một chút mật mã như một sở thích đa dạng là gì không? :-)
Shuzheng

Các mạch số học tính toán các hàm trên nhiều đầu vào. Họ có thể tính toán tất cả các đa thức.
Yuval Filmus

Câu trả lời:


10

Các mạch số học tính toán một đa thức trong đầu vào của chúng. Một mạch số học trên một số lĩnh vựcF với n biến và tổng độ d có thể tính toán các hàm f:FnF có dạng:

f(x1,...,xn)=i1+...+indαi1,...,inx1i1x2i2...xnin

Ở đâu αi1,...,inF là các hệ số của đa thức đa biến.

Có nhiều hàm tính toán không thể biểu diễn dưới dạng đa thức, ví dụ: lấy f:QQ đó là 1 tại x=0và không ở mọi nơi khác. Từf là không đổi với số lượng vô hạn, nó không thể được viết dưới dạng đa thức đơn biến.


Tổng độ d là gì?
Shuzheng

Tổng quyền hạn tối đa i1+...+in sao cho đơn điệu x1i1...xninxuất hiện với hệ số khác không trong hàm được tính toán bởi mạch. Lưu ý rằng điều này đã giả sử bất kỳ mạch số học nào tính toán một số đa thức, nhưng bạn có thể hiển thị điều này một cách dễ dàng bằng cảm ứng.
Ariel

14

Bất kỳ tính toán boolean chức năng với một chiều dài cố định đầu vào có thể được tính bằng một mạch số học. Hãy xem xét bất kỳ hàm boolean nàof:{0,1}n{0,1}. Sau đó, tồn tại một đa thức đa biếnp(x1,,xn) như vậy mà f(x1,,xn)=p(x1,,xn) cho tất cả x1,,xn, trong đó số học được thực hiện modulo hai (nghĩa là trên trường F2={0,1}). Bây giờ mọi đa thức đa biến đều có thể được tính bằng một mạch số học, vì vậyf có thể được tính bằng một mạch số học.

Trong một số trường hợp, các hạn chế đối với đầu vào có độ dài cố định là không thể tránh khỏi, vì bất kỳ mạch nào vốn có một số đầu vào cố định và một số đầu ra cố định. Vì vậy, một khi bạn quyết định tập trung vào các hàm boolean, thì câu lệnh bạn đã thấy trong tài liệu mật mã là hợp lý: bất kỳ hàm boolean nào có thể được tính toán bởi một mạch, có thể được tính bằng một mạch số học. Và, bất kỳ hàm boolean có thể tính toán nào cũng có thể được tính bằng các mạch số học, trong đó chúng ta hiểu "tính toán" có nghĩa là có một họ các mạch số học, mỗi chiều cho một đầu vào (mô hình không đồng nhất; điều này là không thể tránh khỏi nếu bạn muốn tính toán bằng cách sử dụng mạch, vì bất kỳ một mạch chỉ có thể có một chiều dài đầu vào cố định).

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.