Квантовые конечные автоматы — различия между версиями
Alex Z (обсуждение | вклад) (→Описание) |
Alex Z (обсуждение | вклад) (→Описание) |
||
Строка 25: | Строка 25: | ||
Для начало воспользуемся графовым представлением [[Детерминированные конечные автоматы|ДКА]]. Пусть в нем <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>q</tex> записываются [[wikipedia:Probability amplitude|''амплитуды вероятностей'']], a матрицы <math>\{U_\alpha\}</math> {{---}} [[Унитарный и ортогональный операторы| ''унитарные матрицы'']]. | Описанное выше по сути и является ККА, но в <tex>q</tex> записываются [[wikipedia:Probability amplitude|''амплитуды вероятностей'']], a матрицы <math>\{U_\alpha\}</math> {{---}} [[Унитарный и ортогональный операторы| ''унитарные матрицы'']]. |
Версия 02:43, 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