Aynı anda birçok işlevi hesaplamak için kuantum paralellik kullanabilir miyiz?


9

Kuantum paralellik kullanarak bir fonksiyonu hesaplayabileceğimiz iyi bilinmektedir. f(x) birçok farklı değer için xeşzamanlı. Bununla birlikte, her değerin bilgisini çıkarmak için bazı akıllı manipülasyonlara ihtiyaç vardır, yani Deutsch algoritması ile.

Tersi durumu düşünün: birçok işlevi hesaplamak için kuantum paralellik kullanabilir miyiz (f(x),g(x),) aynı anda tek bir değer için x0?


Değerlendirmek f(x0) ve g(x0) kopyasını almalısın x0klonlama teoremi tarafından genel olarak mümkün olmayan her işlem için. Öte yandan, sadece iki kez bir durum hazırlarsanızx0, klasik paralellikleri yeniden kuruyorsunuz.

@HenriMenke Kusurlu klonlamaya ne dersiniz?
donnydm

@HenriMenke: 'klonlama' neye dair fikriniz, sorunlara verimli bir şekilde yaklaşabilmeniz için bazı engeller ortaya koyan noktaya kadar çok geniş görünüyor.
Niel de Beaudrap

Yanıtlar:


5

Kesin cevap tam olarak istediğiniz süperpozisyon türüne bağlıdır. Piramitlerin ve Niel'ın cevapları size şöyle bir şey veriyor:

At=1n|ft(x)|Ft

İşte Niel'ı farklı fonksiyonları etiketlemede takip ettim f1, f2, vb. ile nÜst üste almak istediğiniz toplam işlev sayısı olarak. Ayrıca kullandımFt fonksiyonun bazı tanımlarını belirtmek için ftdepolanmış bir program olarak. A devletin normalleşmesi için orada olması gereken her şey var.

Bunun basit bir şekilde, ft(x). Saklanan program ile dolanır. Saklanan programı izleyecek olsaydınız,ft(x). Bu, saklanan programın güvenebileceğiniz parazit etkilerini önleyen 'çöp' oluşturabileceği anlamına gelir. Ya da olmayabilir. Bu süperpozisyonun hesaplamanızda nasıl kullanılacağına bağlıdır.

Çöplerden kurtulmak istiyorsanız, işler daha zorlaşır. Örneğin, istediğiniz şeyin üniter olduğunu varsayalımU etkisi olan

U:|x|0NAt=1n|ft(x)

tüm olası girişler için x(hangi hesaplamalı olarak yazılmış bit dizeleri olduğunu varsayalım). İşlevlerin girişlerden daha uzun çıkışlara sahip olması durumunda, giriş tarafına da boş qubits eklediğimi unutmayın.

Buradan, işlevlerin yerine getirmesi gereken bir koşulu çok hızlı bir şekilde bulabiliriz: giriş durumları dikey bir küme oluşturduğundan, çıkışlar da öyle olmalıdır. Bu, bu şekilde birleştirilebilecek işlev türleri üzerinde önemli bir kısıtlama getirecektir.


Teşekkür ederim, bence bu şekilde Taylor genişleme hesaplaması gibi bir şey hızlanabilir. Her neyse, saklanan program bazı bilgiler edinmek için erişilebilir / ölçülebilir mi, yoksa sadece bir araç mıdır?
donnydm

Saklanan program sadece kubitlerin bir kaydına yazılacaktır, bu yüzden kesinlikle manipüle edilebilir.
James Wootton

5

Fonksiyonlar f,g,farklı hesaplama dallarında değerlendirmek istediğiniz, hesaplanabilir olabilmek için bir şekilde tanımlanabilir olmalıdır (örneğin, bir dizi klasik mantık kapısı). Ve set {f1,f2,} hesaplamak istediğiniz fonksiyonların kendisinin hesaplanabilir olması gerekir: belirli bir t, nasıl yapılacağını belirten bir ftargümanında hesaplanacak. Gerçekte: fonksiyonları tanımlamak için bir aracınız olmalıdırftsaklanan programlar olarak. (Bunların hepsi, kuantum hesaplamayı düşünmeden önce bile, "işlevlerden birini / tümünü hesaplama" sorusu için gereklidir.f1,f2, girişte x0"anlamlı olmak.)

Depolanan programlar olarak işlevleri belirtmenin bir yolu olduğunda, temel olarak işiniz tamamlanmıştır: bir program esasen süperpozisyonda hazırlayabileceğiniz ve örneğin sabit bir giriş veya girdilerin süperpozisyonunu hesaplayarak değerlendirebileceğiniz başka bir giriş türüdür. her dalda kendi özelliklerine göre fonksiyonlar.

Bunu yaparak komptasyonel bir avantaj elde etmek farklı bir konudur ve fonksiyonlara bazı spesifik yapıları dahil etmek zorunda kalacaktır. ft yararlanabilirsiniz, ancak sorunun mantıklı olması için yeterli bilgiye sahipseniz, basitçe "süperpozisyonda değerlendirmek" kolayca yapılabilir.


3

Evet ("aynı anda birçok işlevi hesapla" nın ne olduğuna bağlı olarak)

Fonksiyonu veren devrenin tanımlanması f gibi Uf ve devre g gibi Ug, bunu yapmanın birkaç yolu vardır:

  1. Qubit kayıtları ile başlayarak |00x, Bir devlet hazırlayın α|01+β|10ilk iki kayıtta. Bu, bu kaydı devlete koymak için ilk kayıt üzerine üniter 1 uygulanarak yapılabilir.α|0+β|1 CNOT uygulamadan önce, IX. Sonra uygulayınCUf ilk kayıttan üçüncü sicile ve CUg ikinciden üçüncüye kadar.

    1.1. Bu üçüncü kaydın şimdi devlette olduğunu verir(αUf+βUg)|x, ilk işlemler (en fazla IX) ilk iki kayıt tersine çevrilir. Bununla birlikte, keyfi kontrollü üniter operasyonların uygulanmasının genel zorlukları nedeniyle (ayrıca gereksiz kübitlerin gereksiz yere kullanılması), üniterliği çevirerek bunu doğrudan uygulamak daha kolay olacaktırαUf+βUg. Bunun hiçbirininf ne de g, ancak yeni, farklı bir işlev f+g

    1.2. İlk iki kayıttaki ilk işlemlerin tersine çevrilmemesi, üçüncüyü bazı karışık durumlara sokar.f ve gdiğer cevaplarda tartışılmıştır.

  2. Devletten başlayarak |xx ve başvurmak Uf ilk sicile ve Ugikinci. Bu, her iki işlevin aynı durumun kopyalarına bağımsız olarak uygulandığı klasik paralelliğe en yakın olanıdır. Kübit sayısının iki katına ihtiyaç duymanın yanı sıra, buradaki sorun, kopyalanmaması nedeniyle kopyalamak için|x, ya bilinmesi ya da klasik bir devlet olması gerekir (yani hesaplama temelindeki üst üste binmeleri içermez). Yaklaşık klonlama da kullanılabilir.

  3. Eyalet ile başlayın |0xyanı sıra klasik bir kayıt. İlk kaydı süperpozisyona koymak için üniter 1 uygulayınα|0+β|1. Şimdi, bu kaydı ölçün (sonucu klasik sicile koyarak) ve klasik işlemi uygulayın IF RESULT = 0 U_f ELSE U_g. Bu yukarıdaki işlemlerden herhangi birinden daha az güçlü görünse de, bu bir anlamda kuantum kanalına eşdeğerdirE(ρ)=|α|2UfρUf+|β|2UgρUg. Bu tür yöntemler, örneğin bozon örneklemesi ve randomize kıyaslamada uygulamaları olan rasgele üniteler yapmak için kullanılabilir


1 tarafından verildi

(αββα)


Bu ilginçtir, kısmen depolanmış bir programa gerek yoktur. 1 numaralı CNOT gerekli mi?
donnydm

2

Evet, olabilir. İşin püf noktası yeni bir işlev tanımlamak (ve uygulamak)fall(y,x) olarak değerlendiren f(x) Eğer y=0, g(x) Eğer y=1Sonra temsil eden kübitler hazırlanır. y istenen süperpozisyonda ve sette x için x0.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.