Nie wiem, co wprowadzić do Oracle w algorytmie Grovera.
Czy oprócz superpozycjonowanych stanów kwantowych nie musimy wprowadzać tego, czego szukamy i gdzie znaleźć to, czego szukamy?
Załóżmy na przykład, że mamy listę nazwisk osób {„Alice”, „Bob”, „Corey”, „Dio”} i chcemy sprawdzić, czy na liście znajduje się „Dio”. Następnie Oracle powinien przyjąć jako dane wejściowe i wyjściowe . W pewnym sensie to rozumiem.
Ale czy nie musimy także wpisywać słowa „Dio” i listy {„Alice”, „Bob”, „Corey”, „Dio”} do Oracle? W przeciwnym razie, w jaki sposób Oracle może zwrócić dane wyjściowe? Czy nie jest to wyraźnie wspomniane, ponieważ Oracle to czarna skrzynka i nie musimy myśleć o tym, jak ją wdrożyć?
Rozumiem co do Oracle,
- Oracle ma możliwość rozpoznania, czy słowo „Dio” znajduje się na liście.
- Aby to zrobić, Oracle przyjmuje jako dane wejściowe superpozycjonowane stany kwantowe, przy czym każdy stan kwantowy reprezentuje indeks listy.
- Tak więc wpisanie do Oracle oznacza, sprawdź, czy słowo „Dio” znajduje się w indeksie 0 listy i zwróć jeśli tak, i zwróć przeciwnym razie.
- W naszym przypadku Oracle zwraca .
- Ale co z listą i słowem?