Khả năng tính toán bằng 0 cho một ngôn ngữ đơn giản


7

Giả sử chúng ta có một cây trong đó lá được dán nhãn với một tập hợp các số , và các nút nội bộ với một tập hợp các hoạt động .LO

Cụ thể có thể là hoặc và có thể tùy ý chứa và / hoặc . có thể là bất kỳ tập hợp con nào của .LN,ZQπeO{+,,,/, ^}

Là bình đẳng với không có quyết định? Là dấu hiệu so sánh có thể quyết định? Nếu vậy, họ có khả thi?

Các hoạt động "không hợp lệ" ( , , ...) tạo ra , và truyền qua các tính toán như bình thường.0/000NaNNaN0NaN

Một số kết hợp không quan trọng: nếu chúng tôi giới hạn bản thân trong các hoạt động tại hiện trường và không bao gồm hoặc trong thì chúng tôi chỉ có thể tính toán phân số kết quả và được thực hiện với nó. Hoặc nếu chúng tôi giới hạn ở và chúng tôi có thể tính đa thức và kiểm tra các hệ số. Mặt khác, sức mạnh (và do đó là rễ thứ ) và và làm cho mọi thứ khó khăn hơn đáng kể.πeLZ{π}{+,,}nπe

Bài toán "đẳng thức bằng 0" là một ví dụ của bài toán hằng .

Câu trả lời:


4

Nếu bạn sử dụng các toán tử (nghĩa là bạn không bao gồm toán tử nguồn), thì tất cả các vấn đề của bạn đều có thể quyết định được.{+,,×,/}

Kiểm tra đẳng thức bằng không

Chẳng hạn, hãy xem xét . Sau đó, bạn có thể coi là ký hiệu chính thức, sao cho mỗi lá là một đa thức trong (ví dụ: số nguyên là đa thức ; là đa thức của độ 1). Bây giờ bạn có thể biểu thị cây dưới dạng đa thức hợp lý trên , với là ẩn số chính thức.L=Z{π}πZ[π]55ππ+0Zπ

Giả sử đa thức này là . Kiểm tra xem có phải là đa thức không (độ ). Nếu nó không phải là đa thức 0, thì biểu thức không bằng không. Nếu là đa thức 0 và không phải là đa thức 0, thì biểu thức bằng 0. Tính đúng đắn của quy trình này xuất phát từ thực tế là là siêu việt .p(π)/q(π)p(π)p(π)q(π)π

Sự phức tạp của thủ tục này là gì? Câu trả lời phụ thuộc vào mô hình tính toán. Giả sử rằng mỗi toán tử mất thời gian liên tục để đánh giá (bất kể kích thước của toán hạng). Sau đó, độ phức tạp phụ thuộc vào kích thước của đa thức kết quả. Mức độ của đa thức có thể tăng theo cấp số nhân với độ sâu của cây, vì vậy nếu bạn xây dựng đa thức đệ quy và biểu thị rõ ràng (ở dạng hệ số), thời gian chạy sẽ theo cấp số nhân theo độ sâu của cây. May mắn thay, mức độ tăng trưởng tuyến tính nhiều nhất theo số lượng lá trong cây, vì vậy thời gian chạy của thuật toán xác định là tuyến tính theo kích thước của cây.

Do đó, giả sử một biểu diễn đơn giản của cây và mô hình tính toán đơn giản, điều này mang đến cho bạn thuật toán thời gian tuyến tính để kiểm tra bằng 0 khi các toán tử là .{+,,×,/}

Quy trình này hoạt động không chỉ với , mà còn cho và .L=Z{π}N{π}Q{π}

Quy trình tương tự cũng hoạt động đối với , nếu chúng ta có thể giả sử một phỏng đoán hợp lý: rằng và là độc lập đại số. Người ta không biết liệu phỏng đoán này là chính xác, nhưng có vẻ như có khả năng. Dù sao, đây là cách tiếp cận. Chúng tôi coi đa thức là một đa thức đa biến trên hai ẩn sốL=Q{π,e}πeπ,ethay vì một ẩn số, nhưng mọi thứ tiếp tục như trước đây, với sự độc lập đại số củaπe. Nó cũng hoạt động choL=Z{π,e}L=N{π,e}cũng vậy, một lần nữa, giả sử phỏng đoán.

Nếu bạn muốn có được sự ưa thích, bạn có thể sử dụng các thuật toán ngẫu nhiên để kiểm tra nhận dạng đa thức. NếuL=Z{π}, họ sẽ tính như sau: chọn một số nguyên tố ngẫu nhiên r và một số nguyên ngẫu nhiên sπ{0,,r1}; thay thế từng trường hợpπ với sπ; và sau đó kiểm tra xem biểu thức kết quả có đánh giá thành0modr. (Nếu bạn có cả và , bạn sẽ chọn hai số nguyên ngẫu nhiên và .) Bạn có thể lặp lại thử nghiệm này nhiều lần. Nếu quy trình này từng cung cấp cho bạn một cái gì đó khác không (modulo ), thì biểu thức ban đầu chắc chắn là khác không. Nếu nó luôn cho bạn số không (modulo ), thì với xác suất cao, biểu thức ban đầu bằng 0. Điều này có thể hiệu quả hơn trong một số mô hình tính toán (ví dụ: thời gian để đánh giá một toán tử đơn lẻ phụ thuộc vào kích thước của toán hạng).πesπserr

Dấu hiệu so sánh

Bạn cũng có thể tìm thấy dấu của biểu thức bằng các thủ tục tương tự (một lần nữa, giả sử bạn đã loại trừ toán tử ^ và một lần nữa, giả sử rằng và độc lập với đại số). Đánh giá biểu thức dưới dạng đa thức trên . Giả sử bạn đã xác định rằng và . Bạn muốn biết liệu hay không.πep(π,e)/q(π,e)Q[π,e]p(π,e)/q(π,e)0q(π,e)0p(π,e)/q(π,e)>0

Đây là một cách tiếp cận. Lưu ý rằng iff . Do đó, chúng ta có thể tạo thành một đa thức mới và giảm vấn đề này để đánh giá dấu của . Về cơ bản, chúng ta cần đánh giá dấu của một đa thức hợp lý trong và . Chúng tôi biết điều này đánh giá một cái gì đó khác không.p(π,e)/q(π,e)>0p(π,e)q(π,e)>0r(π,e)=p(π,e)q(π,e)r(π,e)πe

Một cách tiếp cận là tính toán và với bit chính xác, sau đó đánh giá tương ứng, đạt được giới hạn dưới và trên trên . Nếu 0 được bao gồm trong khoảng này, gấp đôi , cho đến khi giới hạn dưới hoàn toàn dương hoặc giới hạn dưới là âm hoàn toàn.πekr(π,e)r(π,e)k

Sự phức tạp của phương pháp này là gì? Nếuước tính giá trị , sau đó tôi nghĩ thời gian chạy sẽ là đa thức theo kích thước của đầu vào và trong .|r(π,e)|ϵlg1/ϵ

Có thể có một thuật toán tốt hơn, nhưng đây là thuật toán tốt nhất tôi có thể đưa ra ngay bây giờ.

Phần kết luận

Điều đáng nói là nhà điều hành điện (^) là nguồn khó khăn thực sự. Không có toán tử công suất, tất cả các vấn đề của bạn có thể được giải quyết mà không gặp quá nhiều khó khăn (giả sử một phỏng đoán hợp lý).


1
Nó không được biết rằng πelà đại số độc lập.
Yuval Filmus

Thuật toán ký hiệu trông thú vị, cảm ơn bạn! Dù sao, như Yuval đã nói, chúng ta không biết về sự độc lập
miniBill

4

Đây là một câu hỏi khá khó! Như bạn có vẻ hiểu, vấn đề thực sự là sự hiện diện của^. Nó liên quan mật thiết đến một phỏng đoán nổi tiếng: phỏng đoán của Schanuel , trong đó nói rằng, về cơ bản, không có mối quan hệ đại số không tầm thường giữaπe.

Câu trả lời tích cực (dự kiến) cho phỏng đoán này sẽ cung cấp cho bạn một quy trình quyết định để so sánh với 0:

  • Giảm biểu thức sử dụng các đẳng thức đại số (ví dụ (xy)z=xyz Vân vân.)
  • Phân tách các điều khoản với số mũ và các điều khoản không có.
  • Kiểm tra xem cơ sở (x trong xy) của các điều khoản với số mũ đều độc lập tuyến tính.
  • Thuật ngữ là 0 nếu nó là tầm thường tức là nó giảm xuống 0 bởi các phép toán đại số.

Một câu hỏi liên quan là vấn đề hàm số mũ của Tarski liên quan đến các biến. Tuy nhiên, tương đối đơn giản để giảm các biểu thức cụ thể với số mũ cho các hàm với các biến được đưa ra theo định lý Lindemann - Wierstrass .

Chỉnh sửa: Mặc dù vậy, tôi không biết gì về sự phức tạp thực sự của vấn đề. Lưu ý rằng nó phụ thuộc rất nhiều vào mô hình tính toán của bạn, ví dụ: liệu thời gian hoạt động số học không đổi.

Chỉnh sửa 2: Tôi đã mắc một lỗi nghiêm trọng: đó không phải là cơ sở x trong xy cần phải được thực hiện nhưng đúng hơn yln(x), đó là khó khăn hơn nhiều để kiểm tra độc lập tuyến tính.


Mô hình tính toán của tôi là một máy tính thực sự (dĩ nhiên có bộ nhớ vô hạn)
miniBill

Còn những thứ như (((pie)pi)+pie(1/2)? Làm thế nào bạn sẽ giảm nó?
miniBill

1
Tôi giả sử bạn đang hỏi về biểu thức (πe)π+πe1/2. Trong trường hợp đó, nó đã được "giảm". Tất cả bạn cần kiểm tra là(πe)ln(π), ln(π)1/2là độc lập tuyến tính và suy ra rằng biểu thức là khác không vì số mũ của chúng phải độc lập với đại số.
cody

Làm thế nào để bạn kiểm tra thuật toán cho sự độc lập tuyến tính?
miniBill

Hừm. Tôi thực sự không chắc chắn. Thật dễ dàng để chứng tỏ rằngeπ là siêu việt khi giả định phỏng đoán, nhưng tôi đã bối rối về πln(πe). Tôi sẽ chỉnh sửa câu trả lời của tôi.
cody
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.