Gagasan untuk memperkirakan rata-rata kira-kira sebagai berikut:
Untuk setiap yang memberikan output dalam real, tentukan F yang diperbesar ulang ( x ) yang memberikan output dalam kisaran 0 hingga 1. Kami bertujuan untuk memperkirakan rata-rata F ( x ) .f( x )F( x )F( x )
Tentukan kesatuan yang operasi adalah U a : | 0 ⟩ | 0 ⟩ ↦ 1USebuahPenting untuk dicatat bahwa kesatuan ini mudah diimplementasikan. Anda mulai dengan transformasi Hadamard pada register pertama, lakukan perhitunganf(x)pada register ancilla, gunakan ini untuk menerapkan rotasi terkontrol register kedua, dan kemudian hitung komputasi register ancilla.
USebuah: | 0 ⟩ | 0 ⟩ ↦ 12n / 2∑x| x⟩( 1 - F( x )-------√| 0⟩+ F( x )----√| 1⟩).
f( x )
Mendefinisikan kesatuan .G=Ua(I−2|0⟩⟨0|⊗|0⟩⟨0|)U†aI⊗Z
Mulai dari keadaan , menggunakan G banyak seperti Anda akan menggunakan Grover iterator untuk memperkirakan jumlah solusi untuk masalah pencarian.Ua|0⟩|0⟩G
|ψ⟩=1∑xF(x)−−−−−−−√∑xF(x)−−−−√|x⟩|1⟩|ψ⊥⟩=1∑x1−F(x)−−−−−−−−−−√∑x1−F(x)−−−−−−−√|x⟩|0⟩,
Ua|0⟩|0⟩=(∑xF(x)−−−−−−−√|ψ⟩+∑x1−F(x)−−−−−−−−−−√|ψ⊥⟩)2−n/2|ψ⟩F(x)|1⟩|ψ⟩I⊗Zm2n−−√m
UaI2n⊗|0⟩⟨0|
z
∑x|f(x)−f(z)|.
Txf(x)≤TT
Tentu saja, saya melewatkan beberapa detail waktu berjalan yang tepat, perkiraan kesalahan dll.