Квантовые конечные автоматы — различия между версиями
Alex Z (обсуждение | вклад) (→Многомерный квантовый конечный автомат) |
Alex Z (обсуждение | вклад) |
||
Строка 21: | Строка 21: | ||
* На выходе мы получаем число <tex> Pr(s)</tex>, являющееся вероятностью данного конечного автомата быть в допускающем состоянии. | * На выходе мы получаем число <tex> Pr(s)</tex>, являющееся вероятностью данного конечного автомата быть в допускающем состоянии. | ||
− | == Описание== | + | ==Типы ККА== |
+ | * Первый тип {{---}} '''односторонние''' ККА. Они двигают только в одном направлении. Главная особенность {{---}} допущение большинство регулярных языков. Также односторонний делятся на Одномерные и Многомерные ККА. | ||
+ | * Второй тип {{---}} '''двухсторонние''' ККА. По аналогии с односторонним, они могу двигаться в обоих направлениях и их свойство {{---}} допущение нерегулярных языков. | ||
+ | |||
+ | == Описание == | ||
Для первоначального описание ККА воспользуемся следующим примером. Пусть есть графовым представлением [[Детерминированные конечные автоматы|ДКА]] и пусть в нем <tex>N</tex> вершин, и все вершины пронумерованы. Тогда для представления такого графа можно воспользоваться набором [[Матрица смежности графа|матриц смежности]] таких, что каждая матрица размера <tex>[N \times N]</tex> и что каждому символу <tex>c \in \Sigma</tex> сопоставляется единственная матрица из этого набора. Каждая матрица состоит из <tex>0</tex> и <tex>1</tex>, причём <tex>1</tex> означает переход из состояния <tex>i</tex> в <tex>j</tex> по символу <tex>c</tex>, а <tex>0</tex> {{---}} его отсутствие. В этом случае, текущее состояние автомата записывается как вектор, размерности <tex>N</tex>, в котором будет лишь одна единица, обозначающая текущее положение состояния. При помощи такого описания можно легко делать переходы из нынешнего состояние в новое состояние по символу <tex> c \in \Sigma</tex> обыкновенным ''умножением матриц''. | Для первоначального описание ККА воспользуемся следующим примером. Пусть есть графовым представлением [[Детерминированные конечные автоматы|ДКА]] и пусть в нем <tex>N</tex> вершин, и все вершины пронумерованы. Тогда для представления такого графа можно воспользоваться набором [[Матрица смежности графа|матриц смежности]] таких, что каждая матрица размера <tex>[N \times N]</tex> и что каждому символу <tex>c \in \Sigma</tex> сопоставляется единственная матрица из этого набора. Каждая матрица состоит из <tex>0</tex> и <tex>1</tex>, причём <tex>1</tex> означает переход из состояния <tex>i</tex> в <tex>j</tex> по символу <tex>c</tex>, а <tex>0</tex> {{---}} его отсутствие. В этом случае, текущее состояние автомата записывается как вектор, размерности <tex>N</tex>, в котором будет лишь одна единица, обозначающая текущее положение состояния. При помощи такого описания можно легко делать переходы из нынешнего состояние в новое состояние по символу <tex> c \in \Sigma</tex> обыкновенным ''умножением матриц''. | ||
Строка 58: | Строка 62: | ||
* <tex>Q</tex> — базисные ортогональные вектора пр-ва <tex>\mathcal{H}_Q</tex> | * <tex>Q</tex> — базисные ортогональные вектора пр-ва <tex>\mathcal{H}_Q</tex> | ||
* <tex>\Sigma</tex> — алфавит, из букв которого могут состоять входные слова | * <tex>\Sigma</tex> — алфавит, из букв которого могут состоять входные слова | ||
− | * <tex>\delta : Q\times \Sigma \times Q \to \mathbb{C} </tex> | + | * <tex>\delta : Q\times \Sigma \times Q \to \mathbb{C} </tex> — всюду определённая функция перехода автомата |
* <tex>q_0</tex> — начальное состояние автомата | * <tex>q_0</tex> — начальное состояние автомата | ||
* <tex>Q_a \subset Q</tex> — базисные ортогональные вектора пр-ва <tex>\mathcal{H}_a</tex> | * <tex>Q_a \subset Q</tex> — базисные ортогональные вектора пр-ва <tex>\mathcal{H}_a</tex> | ||
Строка 79: | Строка 83: | ||
:<math>\operatorname{Pr}_a (s) = \Vert P_a |\psi\rangle \Vert^2</math>, где <tex>s</tex> {{---}} входная строчка | :<math>\operatorname{Pr}_a (s) = \Vert P_a |\psi\rangle \Vert^2</math>, где <tex>s</tex> {{---}} входная строчка | ||
+ | |||
+ | ==Двухсторонние квантовые конечные автоматы== | ||
+ | {{Определение | ||
+ | |definition= | ||
+ | '''Двухсторонний квантовый конечный автомат''' (англ. ''2-way QFA'') {{---}} это кортеж : <math>(Q,\Sigma, \delta, q_0, Q_a, Q_r)</math>, где | ||
+ | * <tex>Q</tex> — базисные ортогональные вектора пр-ва <tex>\mathcal{H}_Q</tex> | ||
+ | * <tex>\Sigma</tex> — алфавит, из букв которого могут состоять входные слова | ||
+ | * <tex>\delta : Q\times \Sigma \times Q \to \mathbb{C} \times \{-1,0,1\}</tex> — всюду определённая функция перехода автомата | ||
+ | * <tex>q_0</tex> — начальное состояние автомата | ||
+ | * <tex>Q_a \subset Q</tex> — базисные ортогональные вектора пр-ва <tex>\mathcal{H}_a</tex> | ||
+ | * <tex>Q_r \subset Q</tex> — базисные ортогональные вектора пр-ва <tex>\mathcal{H}_r</tex> | ||
+ | }} | ||
+ | |||
+ | Отличия от одностороннего : | ||
+ | * Головка может двигаться в обоих направлениях. | ||
+ | * Может гарантированно разрешать регулярный язык. | ||
+ | * Может за линейное время разрешать нерегулярный язык. | ||
==См. также== | ==См. также== |
Версия 03:29, 12 января 2015
Неформально говоря квантовый конечный автомат — это квантовый аналог конечного автомата, который использует квантовые гейты. Такие автоматы позволяют допускать некотые языки, имея при этом экспоненциально меньший размер, чем обычные автоматы.
Содержание
Определение
Определение: |
Квантовый конечный автомат (ККА) (англ. Quantum finite automata, QFA) — это кортеж :
| , где
Кроме того, ККА является частным случаем Геометрического конечного автомата и Топологического конечного автомата[1].
Принцип работы
- На вход подается строчка .
- На выходе мы получаем число , являющееся вероятностью данного конечного автомата быть в допускающем состоянии.
Типы ККА
- Первый тип — односторонние ККА. Они двигают только в одном направлении. Главная особенность — допущение большинство регулярных языков. Также односторонний делятся на Одномерные и Многомерные ККА.
- Второй тип — двухсторонние ККА. По аналогии с односторонним, они могу двигаться в обоих направлениях и их свойство — допущение нерегулярных языков.
Описание
Для первоначального описание ККА воспользуемся следующим примером. Пусть есть графовым представлением ДКА и пусть в нем вершин, и все вершины пронумерованы. Тогда для представления такого графа можно воспользоваться набором матриц смежности таких, что каждая матрица размера и что каждому символу сопоставляется единственная матрица из этого набора. Каждая матрица состоит из и , причём означает переход из состояния в по символу , а — его отсутствие. В этом случае, текущее состояние автомата записывается как вектор, размерности , в котором будет лишь одна единица, обозначающая текущее положение состояния. При помощи такого описания можно легко делать переходы из нынешнего состояние в новое состояние по символу обыкновенным умножением матриц.
Пусть у нас есть ДКА с
вершинами и его . Тогда по описанному определению можно составить матрицы смежности размерности . Также введем -размерный вектор , описывающий состояние ДКА, a — начальное состояние автомата. Тогда для перехода из состояния в по строчке нужно воспользоваться правилом умножения матриц из линейной алгебры :Описанное выше по сути и является ККА, но в [2] такие, что , a матрицы — унитарные матрицы, причем такие матрицы могут не только состоять из и , но и состоять из комплексных чисел. Для ККА характерна геометрическая интерпретация в пространстве . С этой стороны вектор является точкой, a — операторы эволюции в представлении Шредингера [3].
записываются амплитуды вероятностейКроме того, можно упомянуть несколько особенностей ККА:
- НКА. Из-за свойства НКА в векторе алгоритм Томпсона, то построенные на их основе Квантовые конечные автоматы не будут эквивалентны. Эта проблема является одной из научно-исследовательских задач в теории ККА. и в столбцах матриц может находиться несколько . Если в этом случаи рассмотреть
- Вероятностный конечный автомат. Для его построения нужно всего лишь в ККА использовать стохастические матрицы[4] для и вектор вероятностей состояний для . Одно из свойств — сумма всех элементов равна , и для того, чтобы во всех переходах сохранялось это свойство, и нужны стохастические матрицы.
- Марковская цепь. При вводе строчек марковской цепи[5]. при больших одномерный ККА может быть эквивалентен
Одномерный квантовый конечный автомат
Авторы одномерного (англ. Measure-one) ККА — Cris Moore и James P. Crutchfield (2000). Главное свойство одномерного ККА — допускать регулярный язык. Автомат такого типа с состояниями представляется в виде кубита c состояниями.
- .
Такой кубит приносит в пространство метрику Фубини-Штуди[6] . Матрицы смежности остаются унитарными, а переход в новое сосояние по символу :
- .
Переход в допускающее состояние производится матрицей-проектором[7] .
Вероятность
, где равна :Многомерный квантовый конечный автомат
Определение: |
Многомерный квантовый конечный автомат (англ. Measure-many QFA) — это кортеж :
| , где
Многомерный ККА был введен Attila Kondacs и John Watrous в 1997. Его главное свойство, а и одномерный — допускать регулярный язык.
Принципы многомерного ККА очень схожи с одномерным, за исключением измерения вероятности после каждой итерации символа строки вместо измерения после полного ввода строчки как у одномерного ККА. Для формального определения понадобится гильбертово пространство. Пусть у нас есть гильбертово пространство :
, где — допускающее пр-во , — отвергающее пр-во , — промежуточное пр-во. Для каждого пр-ва существует набор базисных ординальных векторов соответственно :
- [8] , где — линейная оболочка
Так же в многомерном ККА присутствуют 3 матрицы-проектора :
, и для каждого гильбертово пр-ва :Переход в новое состояние кубита остается таким же, но после каждого перехода кубит коллпасирует в одно из трёх гильбертовых пр-в
. Для того чтобы определить вероятность автомата находиться в допускающем состоянии нужно :- , где — входная строчка
Двухсторонние квантовые конечные автоматы
Определение: |
Двухсторонний квантовый конечный автомат (англ. 2-way QFA) — это кортеж :
| , где
Отличия от одностороннего :
- Головка может двигаться в обоих направлениях.
- Может гарантированно разрешать регулярный язык.
- Может за линейное время разрешать нерегулярный язык.
См. также
- Детерминированные конечные автоматы
- Недетерминированные конечные автоматы
- Построение по НКА эквивалентного ДКА, алгоритм Томпсона
Примечания
Источники информации
- Andris Ambainis, QUANTUM FINITE AUTOMATA
- Wikipedia — Quantum finite automata