Квантовые конечные автоматы — различия между версиями
Alex Z (обсуждение | вклад) |
Alex Z (обсуждение | вклад) (→Описание) |
||
| Строка 23: | Строка 23: | ||
== Описание== | == Описание== | ||
| − | Для начало воспользуемся графовым представлением [[Детерминированные конечные автоматы|ДКА]]. Пусть в нем <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> обыкновенным ''умножением матриц''. |
* Пусть у нас есть ДКА с <tex>N</tex> вершинами и его <math>\Sigma=\{c_1, c_2, c_3, \dots\}</math>. Тогда по описанному определению можно составить матрицы смежности <math>\{U_\alpha \mid \alpha \in \Sigma \}</math> размерности <tex>[N \times N]</tex>. Так же введем <tex>N</tex> {{---}} размерный вектор <tex>q \in Q</tex>, описывающее состояние ДКА, a <tex>q_0</tex> {{---}} начальное состояние автомата. Тогда для перехода из состояния <tex>q_0</tex> в <tex>q</tex> по строчке <tex> s = \langle \alpha_0, \alpha_1,\dots \rangle</tex> нужно воспользоваться правилом умножения матриц из линейной алгебры : <math>q = \cdots U_{\alpha_1} U_{\alpha_0} q_0.</math> | * Пусть у нас есть ДКА с <tex>N</tex> вершинами и его <math>\Sigma=\{c_1, c_2, c_3, \dots\}</math>. Тогда по описанному определению можно составить матрицы смежности <math>\{U_\alpha \mid \alpha \in \Sigma \}</math> размерности <tex>[N \times N]</tex>. Так же введем <tex>N</tex> {{---}} размерный вектор <tex>q \in Q</tex>, описывающее состояние ДКА, a <tex>q_0</tex> {{---}} начальное состояние автомата. Тогда для перехода из состояния <tex>q_0</tex> в <tex>q</tex> по строчке <tex> s = \langle \alpha_0, \alpha_1,\dots \rangle</tex> нужно воспользоваться правилом умножения матриц из линейной алгебры : <math>q = \cdots U_{\alpha_1} U_{\alpha_0} q_0.</math> | ||
Версия 02:42, 11 января 2015
Неформально говоря квантовый конечный автомат — это квантовый аналог конечного автомата, который использует квантовые гейты. Главной особенностью является допущение некоторого языка за экспоненциально меньший размер, чем обычные конечные автоматы.
Содержание
Определение
| Определение: |
Квантовый конечный автомат (ККА) (англ. Quantum finite automata, QFA) — это кортеж : , где
|
Кроме того, ККА является частным случаем Геометрического конечного автомата и Топологического конечного автомата[1].
Принцип работы
- На вход подается строчка .
- На выходе мы получаем число , являющееся вероятностью данного конечного автомата быть в допускающем состоянии.
Описание
Для начало воспользуемся графовым представлением ДКА. Пусть в нем вершин и все вершины пронумерованы. Тогда для представления такого графа можно воспользоваться набором матриц смежности таких, что каждая матрица размера и что для каждого символа сопоставляется единственная матрица из этого набора. Каждая матрица записана и таким образом, что означает переход из состояние в по символу , а — его отсутствие. В этом случаи, текущее состояние автомата записывается как вектор, размерности , в котором будет лишь одна единица, обозначающая текущее положение состояния. При помощи такого описания можно легко делать переходы из нынешнего состояние в новое состояние по символу обыкновенным умножением матриц.
- Пусть у нас есть ДКА с вершинами и его . Тогда по описанному определению можно составить матрицы смежности размерности . Так же введем — размерный вектор , описывающее состояние ДКА, a — начальное состояние автомата. Тогда для перехода из состояния в по строчке нужно воспользоваться правилом умножения матриц из линейной алгебры :
Описанное выше по сути и является ККА, но в записываются амплитуды вероятностей, a матрицы — унитарные матрицы. Для ККА характерено геометрическая интерпретация в пространстве . С этой стороны вектор является точкой, a — операторы эволюции в представлении Шредингера [2].
В дополнении для ККА можно упомянуть пару особенностей :
- НКА. Из-за свойство НКА в векторе и в столбцах матриц может находиться несколько . Если в этом случаи рассмотреть алгоритм Томпсона, то построенные на их основе Квантовые конечные автоматы не будут эквивалентны. Эта проблема является одно научно-исследовательских задач в теории ККА.
- Вероятностный конечный автомат. Для его построения нужно всего лишь в ККА использовать стохастические матрицы[3] для и вектор вероятностей состояний для . Одно из свойств — сумма всех элементов равна и для того чтобы во всех переходах сохранялось это свойство и нужны стохастические матрицы.
Одномерный квантовый конечный автомат
Авторы одномерного (англ. Measure-one, 1-way) ККА — Cris Moore и James P. Crutchfield (2000). Главное свойство — допускать регулярный язык. В таком виде конечный автомат с состояниями представляется в виде кубита c состояниями. Такой кубит и приносит в это пространство метрику . Матрицы смежности остаются унитарными, а переход в новое сосояние по символу :
- .
Переход в допускающее состояние производиться матрицей-проектором[4] .
Вероятность , где равна :
Многомерный квантовый конечный автомат
| Определение: |
Многомерный (или Двухмерный) квантовый конечный автомат (англ. Measure-many, 2-way QFA) — это кортеж : , где
|
Многомерный ККА был введен Attila Kondacs и John Watrous в 1997. Главное свойство — допускать нерегулярный язык за линейное время.
Принципы многомерного ККА очень схож с Одномерным, за исключением применение матрицы после каждого итерации символа строки. Для формального определения понадобиться гильбертово пространство. Пусть у нас есть гильбертово пространство :
, где — допускающее пр-во , — отвергающее пр-во , — промежуточное пр-во. Для каждого пр-ва существует наборы базисных ординальных векторов соответственно :
- , где — линейная оболочка
Так же в многомерном ККА присутствуют 3 матрицы-проектора : , и для каждого гильбертово пр-ва :
Переход в новое состояние кубита остается таким же, но после каждого перехода кубит коллпасирует в одно из 3 гильбертовых пр-в . Для того чтобы определить вероятность автомата находиться в допускающем состоянии нужно :
- , где — входящая строчка
См. также
- Детерминированные конечные автоматы
- Недетерминированные конечные автоматы
- Построение по НКА эквивалентного ДКА, алгоритм Томпсона
Примечания
Источники информации
- Andris Ambainis, QUANTUM FINITE AUTOMATA
- Wikipedia — Quantum finite automata