Điều gì còn thiếu sót về phương pháp tính toán tiết kiệm đầu vào của trò chơi điện tử đảo ngược?


9

Tôi là một sinh viên mới bắt đầu đọc về điện toán đảo ngược. Tôi biết rằng, vì nguyên tắc của Landauer, các tính toán không thể đảo ngược làm tiêu tan nhiệt (và các tính toán có thể đảo ngược thì không). Tôi đã đưa nó lên với giáo sư của tôi, người chưa bao giờ nghe nói về điện toán đảo ngược trước đây và anh ta gặp khó khăn trong việc hiểu tại sao lý thuyết về điện toán đảo ngược không tầm thường.

Quan điểm của ông chỉ là bạn luôn có thể lưu đầu vào, tức là đối với bất kỳ chức năng nào mà bạn muốn thực hiện đảo ngược, hãy xác định hàm mới (hoặc và bạn chỉ cần đặt s cho bit cuối cùng của đầu vào) sẽ trả về đầu ra ở bit đầu tiên và đầu vào ở bit khác. Sau đó, để đảo ngược bạn chỉ cần loại bỏ đầu ra và trả lại đầu vào mà bạn đã lưu.f r e v e r s i b l e : { 0 , 1 } n{ 0 , 1 } 2 n { 0 , 1 } 2 n{ 0 , 1 } 2 n 0 n n n ff:{0,1}n{0,1}nfreversible:{0,1}n{0,1}2n{0,1}2n{0,1}2n0nnnfreversible

Phản đối ngay lập tức của tôi là điều này chiếm nhiều bộ nhớ hơn chức năng ban đầu đã làm - mặc dù chỉ bởi một yếu tố không đổi. Mặc dù vậy, việc hạn chế đầu ra thành bit dường như sẽ khôi phục tính chất thú vị của vấn đề. Đây có phải là những gì thường có nghĩa là tính toán đảo ngược?n

Một sự phản đối khác dường như là khi chúng ta loại bỏ đầu ra, chúng ta đang làm một cái gì đó không thể đảo ngược sẽ làm tiêu tan nhiệt. Nhưng chúng tôi đã phục hồi chính xác trạng thái ban đầu, vậy làm thế nào nó có thể không thể đảo ngược? Tôi không biết đủ về vật lý để hiểu liệu điều quan trọng mà nhiệt lượng chỉ là cho toàn bộ tính toán có thể đảo ngược hay không, hay mọi bước cũng cần phải đảo ngược, hoặc nếu ý tưởng này chỉ là sai cây .

Câu trả lời:


12

Có hai tính năng quan trọng của điện toán đảo ngược bị thiếu trong cuộc thảo luận của bạn về điện toán đảo ngược:

  1. Một chức năng đảo ngược phải là một mệnh đề, và
  2. Độ đảo ngược được xác định trên cấp độ của các cổng địa phương, không chỉ ở cấp độ toàn cầu.

Cụ thể, đối với tiện ích mở rộng của bạn thành bằng cách sao chép, bạn không đảm bảo sự bảo vệ vì bạn không giải thích điều gì xảy ra khi bit đầu vào cuối cùng cho chức năng của bạn không . { 0 , 1 } 2 n{ 0 , 1 } 2 n n 0 n{0,1}n{0,1}n{0,1}2n{0,1}2nn0n

Về điểm thứ hai, đó thực sự là phần thiết yếu của điện toán đảo ngược từ góc độ vật lý. Quá trình vật lý không thể đơn giản là "hoàn tác" sưởi ấm ở cấp độ toàn cầu, do đó mọi cổng phải có thể đảo ngược để mạch có thể đảo ngược theo nghĩa liên quan đến vật lý.

Cuối cùng, lý thuyết về điện toán đảo ngược không phức tạp một cách vô lý, nhưng nó chắc chắn không tầm thường. Đặc biệt, có một số mạch có thể được thực hiện với số lượng thanh ghi / dây hoàn toàn không đảo ngược hơn so với chúng có thể đảo ngược. Tuy nhiên, việc thổi bùng lên từ không thể đảo ngược sang đảo ngược không quá tệ.

Nói chung, tôi hiếm khi nghe điện toán đảo ngược xuất hiện trong các khóa học CS cổ điển, bởi vì nó hiếm khi liên quan đến tính toán cổ điển. Tuy nhiên, đây là một chủ đề quan trọng trong điện toán lượng tử vì tất cả các mạch lượng tử đều có thể đảo ngược và vì người ta phải xử lý cẩn thận những gì trên dây 'rác' của bạn để tránh vướng víu không cần thiết.


Aha. Vì vậy, tuyên bố chính thức của "mọi cổng phải có thể đảo ngược" - nó có yêu cầu chức năng chuyển đổi của máy Turing phải được tiêm không?
Eli Rose - TÁI TẠO MONICA

2
@EliRose tính toán đảo ngược được xác định trong mô hình cổng, không phải mô hình TM. Tôi không chắc chắn nếu có một định nghĩa hợp lý trong mô hình TM, nhưng ít nhất nó có thể sẽ yêu cầu điều khiển hữu hạn để có thể đảo ngược. Vì vậy, cổng đảo ngược có nghĩa là một cái gì đó giống như cổng Toffoli .
Artem Kaznatcheev

1
@ArtemKaznatcheev: những gì về Reversible Turing Machines (liên kết PDF) được giới thiệu bởi Bennett?
Niel de Beaudrap

Mạch kết hợp có thể dễ dàng được xử lý với logic đảo ngược, nhưng tất cả các thiết bị tính toán hữu ích đều yêu cầu phản hồi. Người ta có thể sử dụng cổng Toffoli để tính toán "A chứ không phải B", và hai cổng như vậy có thể được sử dụng để xây dựng một chốt, nhưng một khi phản hồi được đưa ra, sự đảo ngược sẽ xuất hiện ngoài cửa sổ.
supercat

những gì về TM lượng tử có biên độ cho phép chỉ có thể là 0 hoặc 1. Đó có vẻ là một cách hợp lý để xác định TM đảo ngược.
Marcos Villagra
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.