Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
искусственный интеллект.pdf
Скачиваний:
26
Добавлен:
10.07.2020
Размер:
27.02 Mб
Скачать

suai.ru/our-contacts

quantum machine learning

Quantum-Based Modelling of Database States

Table 4 Ket vectors as columns

Fig. 3 Ket vectors as one-qubit-vectors

121

|V1

|V2

|V3

1

1/

 

 

0

2

0

1/

 

 

1

2

0

0

 

 

0

 

 

 

 

 

|Vi ˙ R2

. 1

|V1 =

0

. 1 1

|V2 = √

2 1

.

0

|V3 =

1 .

Take a ket vector |Vi expressing a non-orthogonal property value. We use a projector for a similarity measurement ÔÕ of |Vi against |Vx . The projector is deÞned as P = |Vi Vi |. The measurement result corresponds to the squared cosine of the enclosed angle:

Vx |P |Vx = Vx |Vi Vi |Vx .

In our example in Tables 1 and 2, the properties fuel tank and kilometre are non-orthogonal. Condition FT1 can be evaluated by applying the projector P = |V35 V35| against a ket vector encoding the fuel tank of a certain car.

4 Data Type Construction

Elementary data types are often not powerful enough to model complex data structures for many practical applications. Instead, there is a need to construct complex data structures on top of elementary data types.

suai.ru/our-contacts

quantum machine learning

122

I. Schmitt et al.

In our example in Table 1 we have a complex data structure: the car dealership involves a set of cars, a service booklet contains a list of service entries, and properties of the engine are grouped together.

The type theory of object-oriented databases [6] and also most imperative programming languages exploit data type constructors for construction of complex data types based on existing data types given as constructor arguments. The two most important data type constructors are:

Ðtuple: The tuple data type constructor groups a Þxed number of properties which we will call components. Every component is composed of a data type and an identifying label:

tuple-dt := tuple (name1 : Dt1 , . . . , nameN : DtN ) .

The domain of the constructed data type is the result from multiplying (Cartesian) the domains of the given data types:

Dom ( tuple-dt ) := Dom ( Dt1 ) × . . . × Dom ( DtN ) .

A tuple value needs to be constructed analogously to the data type construction. If value1 to valueN are values of the properties, then the tuple value is deÞned by:

tuple-value := tuple (value1, . . . , valueN ) .

For a given tuple value we can access a certain property namei using the dotoperator: tuple-value.namei .

Ðset: The set data type constructor creates a data type for a set of values from the given data type:

set-dt := set ( dt ) .

The domain of the constructed data type is given by the power set:

Dom ( set-dt ) := P(Dom ( dt )).

The initial set value is constructed by:

set-value := set () .

This operation creates an empty set. Further operation for inserting and removing of elements and general set operations are available but not detailed here.