Jestem trochę zdezorientowany co do konieczności kubitu wyroczni w algorytmie Grovera.
Moje pytanie brzmi: czy to zależy od tego, jak wdrażasz swoją wyrocznię, czy potrzebujesz kubitowej wyroczni, czy nie? A może jest jakiś powód, dla którego kubit wyroczni? (np. istnieją pewne problemy, których nie można rozwiązać bez kubitu wyroczni, lub łatwiej jest pomyśleć o problemie z kubitem wyroczni lub jest to konwencja itp.)
Wiele zasobów przedstawia algorytm Grovera z kubitem wyroczni, ale znalazłem kilka przypadków, w których nie potrzebujesz kubitu wyroczni.
Na przykład oto dwie implementacje algorytmu Grovera w symulatorze IBM Q. Jeden używa kubitu wyroczni, a drugi nie. W obu przypadkach chciałbym znaleźć | 11> z przestrzeni | 00>, | 01>, | 10> i | 11>. W obu przypadkach wyrocznia pomyślnie odwraca | 11> do - | 11>.
・ Z kubitem oracle ( Link do symulatora IBM Q )
・ Bez kubatury Oracle ( łącze do symulatora IBM Q )