Методы и алгоритмы трансляции естественно-языковых запросов к базе данных в SQL-запросы. Найханова Л.В - 28 стр.

UptoLike

28
Определение 2. Подстановка
θ
это конечное множество вида {t
1
/v
1
,…,t
n
/v
n
}, где
каждая v
i
переменная, а t
i
терм, отличный от v
i
, при этом все v
i
различны. Подстановка,
которая не содержит элементов, называется пустой и обозначается
ε
.
Определение
3. Пусть
θ
={t
1
/v
1
,…,t
n
/v
n
}подстановка и Евыражение. Тогда Е
θ
выражение, полученное из Е заменой одновременно всех вхождений переменной v
i
(1
i
n)
в Е на t
i
. Е
θ
называют примером Е.
Тогда запись d
θ
является примером d и означает результат одновременной замены
каждого вхождения переменной v
i
, в d на соответствующий терм t
i
.
Определим основные преобразования ситуации, к которым относятся исключение и
добавление фактов. Для фиксированного Dd
:
1. Операция исключения: elim[d'] : D D; elim[d'](d) = d\ d'
2. Операция добавления: аdd[d'] : D D; add[d'](d) =d d'
Определим множество программ
R преобразования ситуации следующим образом.
Во-первых, будем считать элементами
R программы add[d'], elim[d'] при любых Dd
, во-
вторых, если две программы r
1
, r
2
R
, то программа (r
1
, r
2
), определенная равенством
(r
1,
r
2
)(d) = r
2
(r
1
(d)), Dd
, также элемент R.
Определение 4. Программу r
+
, содержащую только операции типа add[d'] (
Dd
),
назовем позитивной. Заметим, что out(r
+
) = и, если d
2
= r
+
(d
1
), то
12
dd .
Через r
θ
, где
θ
= {t
1
/x
1
, ... , t
m
/x
m
} — произвольная подстановка, обозначим программу
r, во всех операциях которой аргументы-переменные x
i
заменены на сопоставленные им
в
θ
термы t
i
, i = 1...m.
Определение 5. Продукцией назовем пару <q, r>, в которой qситуация, называемая
условием применимости продукции, r - программа,
R
r
, называемая действием, причем q
и r связаны соотношением var(q) out(r).
Здесь var(q) - это множество имен переменных, входящих в условие
применимости
q, а Out(r) - множество имен переменных, входящих в программу r.
Системой продукций назовем конечное множество пар Рr = {<q, r>}. Будем говорить,
что d
2
непосредственно выводимо из d
1
при помощи продукции pr = <q, r>,
21
dd
pr
→ ,
если найдется такая подстановка
θ
, что d
1
q
θ
, а d
2
=r(q
θ
)(d
1
\q
θ
).
Если найдется последовательность продукций рr
1
, рr
2
, ..., pr
k
, pr
i
Pr, i = 1..k, k
0 и
состояний базы d
0
, d
1
, …, d
k
таких, что
k
pr
ki
pr
i
pr
dddddd
ki
→→→
1110
......
1
, то
говорим, что d
k
выводимо из d
0
, и пишем
k
prpr
dd
k
→
...
0
1
или
k
dd →
*
0
, a pr
1
, рr
2
, ..., pr
k
назовем последовательностью применимых к d
0
продукций.
При разработке системы продукций необходимо предусмотреть в них различные
ситуации, которые могут возникнуть при решении задачи. В продукциях возможные
ситуации описываются посредством условия применимости в виде предикатов
),...,():)...(:(
11
1
mitmt
ttPDtDt
m
ΘΘ , где
m
tt ,...,
1
- термы предикатного символа Р
i
, некоторые из
которых вычисляются посредством функциональных преобразований (частичных функций
Ff
), Θ - оператор, задающий квантификацию формулы и принимающий значение и
,
j
t
D
- задает область интерпретации терма t
j
, связанных логическими операциями
¬ ,,,, .
       Определение 2. Подстановка θ – это конечное множество вида {t1/v1,…,tn/vn}, где
каждая vi – переменная, а ti – терм, отличный от vi, при этом все vi различны. Подстановка,
которая не содержит элементов, называется пустой и обозначается ε.
       Определение 3. Пусть θ ={t1/v1,…,tn/vn} – подстановка и Е – выражение. Тогда Еθ –
выражение, полученное из Е заменой одновременно всех вхождений переменной vi (1≤i≤n)
в Е на ti. Еθ называют примером Е.
        Тогда запись dθ является примером d и означает результат одновременной замены
каждого вхождения переменной vi, в d на соответствующий терм ti.
        Определим основные преобразования ситуации, к которым относятся исключение и
добавление фактов. Для фиксированного d ′ ∈ D :
        1. Операция исключения: elim[d'] : D →D; elim[d'](d) = d\ d'
       2. Операция добавления: аdd[d'] : D →D;      add[d'](d) =d ∪ d'
        Определим множество программ R преобразования ситуации следующим образом.
Во-первых, будем считать элементами R программы add[d'], elim[d'] при любых d ′ ∈ D , во-
вторых, если две программы r1, r2 ∈ R , то программа (r1, r2), определенная равенством
(r1, r2)(d) = r2(r1(d)), ∀d ∈ D , также элемент R.
       Определение 4. Программу r+, содержащую только операции типа add[d'] ( ∀d ′ ∈ D ),
назовем позитивной. Заметим, что out(r+) = ∅ и, если d2 = r+(d1), то d 2 ⊇ d1 .
      Через rθ, где θ = {t1/x1, ... , tm /xm} — произвольная подстановка, обозначим программу
r, во всех операциях которой аргументы-переменные xi заменены на сопоставленные им
в θ термы ti, i = 1...m.
      Определение 5. Продукцией назовем пару , в которой q — ситуация, называемая
условием применимости продукции, r - программа, r ∈ R , называемая действием, причем q
и r связаны соотношением var(q) ⊇ out(r).
      Здесь var(q) - это множество имен переменных, входящих в условие
применимости q, а Out(r) - множество имен переменных, входящих в программу r.
      Системой продукций назовем конечное множество пар Рr = {}. Будем говорить,
что d2 непосредственно выводимо из d1 при помощи продукции pr = , d1 →
                                                                            pr
                                                                               d2 ,
если найдется такая подстановка θ, что d1 ⊇ qθ, а d2=r(qθ)∪(d1\qθ).
      Если найдется последовательность продукций рr1, рr2, ..., prk, pri ∈ Pr, i = 1..k, k≥0 и
                                                    pr1              pri               prk
состояний базы        d0, d1, …, dk таких, что d 0 
                                                    → d1 ...d i −1 
                                                                     → d i ...d k −1 → d k ,            то
                                             pr1... prk          *
говорим, что dk выводимо из d0, и пишем d 0                   → d k , a pr1, рr2, ..., prk
                                                → d k или d 0 
назовем последовательностью применимых к d0 продукций.
     При разработке системы продукций необходимо предусмотреть в них различные
ситуации, которые могут возникнуть при решении задачи. В продукциях возможные
ситуации описываются посредством условия применимости в виде предикатов
(Θt1 : Dt1 )...(Θtm : Dt m ) Pi (t1 ,..., tm ) , где t1 ,..., t m - термы предикатного символа Рi, некоторые из
которых вычисляются посредством функциональных преобразований (частичных функций
 f ∈ F ), Θ - оператор, задающий квантификацию формулы и принимающий значение ∀ и
∃,   Dt j - задает область интерпретации терма tj, связанных логическими операциями
∧,∨, ≡, ¬, ⊃ .

                                                     28