Квантовые конечные автоматы — различия между версиями
Shersh (обсуждение | вклад) м (→Описание) |
Shersh (обсуждение | вклад) м (→Описание) |
||
Строка 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>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> {{---}} [[Унитарный и ортогональный операторы| ''унитарные матрицы'']]. |
Версия 14:01, 11 января 2015
Неформально говоря квантовый конечный автомат — это квантовый аналог конечного автомата, который использует квантовые гейты. Такие автоматы позволяют допускать некотые языки, имея при этом экспоненциально меньший размер, чем обычные автоматы.
Содержание
Определение
Определение: |
Квантовый конечный автомат (ККА) (англ. Quantum finite automata, QFA) — это кортеж :
| , где
Кроме того, ККА является частным случаем Геометрического конечного автомата и Топологического конечного автомата[1].
Принцип работы
- На вход подается строчка .
- На выходе мы получаем число , являющееся вероятностью данного конечного автомата быть в допускающем состоянии.
Описание
Для начала воспользуемся графовым представлением ДКА. Пусть в нем вершин, и все вершины пронумерованы. Тогда для представления такого графа можно воспользоваться набором матриц смежности таких, что каждая матрица размера и что каждому символу сопоставляется единственная матрица из этого набора. Каждая матрица состоит из и , причём означает переход из состояния в по символу , а — его отсутствие. В этом случае, текущее состояние автомата записывается как вектор, размерности , в котором будет лишь одна единица, обозначающая текущее положение состояния. При помощи такого описания можно легко делать переходы из нынешнего состояние в новое состояние по символу обыкновенным умножением матриц.
Пусть у нас есть ДКА с
вершинами и его . Тогда по описанному определению можно составить матрицы смежности размерности . Также введем -размерный вектор , описывающее состояние ДКА, a — начальное состояние автомата. Тогда для перехода из состояния в по строчке нужно воспользоваться правилом умножения матриц из линейной алгебры :Описанное выше по сути и является ККА, но в амплитуды вероятностей, a матрицы — унитарные матрицы. Для ККА характерено геометрическая интерпретация в пространстве . С этой стороны вектор является точкой, a — операторы эволюции в представлении Шредингера [2].
записываютсяВ дополнении для ККА можно упомянуть пару особенностей :
- НКА. Из-за свойство НКА в векторе алгоритм Томпсона, то построенные на их основе Квантовые конечные автоматы не будут эквивалентны. Эта проблема является одно научно-исследовательских задач в теории ККА. и в столбцах матриц может находиться несколько . Если в этом случаи рассмотреть
- Вероятностный конечный автомат. Для его построения нужно всего лишь в ККА использовать стохастические матрицы[3] для и вектор вероятностей состояний для . Одно из свойств — сумма всех элементов равна и для того чтобы во всех переходах сохранялось это свойство и нужны стохастические матрицы.
- Марковская цепь. При вводе строчек марковской цепи[4]. при больших одномерный ККА может быть эквивалентен
Одномерный квантовый конечный автомат
Авторы одномерного (англ. Measure-one, 1-way) ККА — Cris Moore и James P. Crutchfield (2000). Главное свойство — допускать регулярный язык. В таком виде конечный автомат с состояниями представляется в виде кубита c состояниями.
- .
Такой кубит приносит в пространство метрику Фубини-Штуди[5] . Матрицы смежности остаются унитарными, а переход в новое сосояние по символу :
- .
Переход в допускающее состояние производиться матрицей-проектором[6] .
Вероятность
, где равна :Многомерный квантовый конечный автомат
Определение: |
Многомерный (или Двухмерный) квантовый конечный автомат (англ. Measure-many, 2-way QFA) — это кортеж :
| , где
Многомерный ККА был введен Attila Kondacs и John Watrous в 1997. Главное свойство — допускать нерегулярный язык
за линейное время.Принципы многомерного ККА очень схож с Одномерным, за исключением применение матрицы гильбертово пространство. Пусть у нас есть гильбертово пространство :
после каждого итерации символа строки. Для формального определения понадобиться, где — допускающее пр-во , — отвергающее пр-во , — промежуточное пр-во. Для каждого пр-ва существует наборы базисных ординальных векторов соответственно :
- [7] , где — линейная оболочка
Так же в многомерном ККА присутствуют 3 матрицы-проектора :
, и для каждого гильбертово пр-ва :Переход в новое состояние кубита остается таким же, но после каждого перехода кубит коллпасирует в одно из 3 гильбертовых пр-в
. Для того чтобы определить вероятность автомата находиться в допускающем состоянии нужно :- , где — входящая строчка
См. также
- Детерминированные конечные автоматы
- Недетерминированные конечные автоматы
- Построение по НКА эквивалентного ДКА, алгоритм Томпсона
Примечания
Источники информации
- Andris Ambainis, QUANTUM FINITE AUTOMATA
- Wikipedia — Quantum finite automata