Абай атындағы



Pdf көрінісі
бет21/22
Дата12.03.2017
өлшемі4,82 Mb.
#8924
1   ...   14   15   16   17   18   19   20   21   22

 
1.
 
Сегерлинд Л. Применение метода конечных элементов. – М.: Мир, 1979. -392с. 
2.
 
Ноздрев В.Ф. Курс термодинамики. - М.: Мир, 1967. - 247с. 
3.
 
И.А.Биргер,  Я.Г.Пановко.  Прочность.  Устойчивость.  Колебания.  Том1.//  М.: 
Машиностроение, 1968. -356с. 
4.
 
Lishirong,  Yangjingning.Accurate  model  of  post  bucking  of  elastic  rod  with  Mirabel 
cross sections [J].Gansu University  of Science1999(01):98-102. 
5.
 
Biyong.  Development  of  grarity  heat  pipe  sucker  rod  and  analysis  on  lts  heat  transter 
characteristics [D].China Daqing Pettoleum Institute, 2008.
 
 
 
 
 
УДК 519.71 
К.А. Садыков* 
 
ДЕТЕРМИНИРОВАННЫЙ АНАЛИЗАТОР ДЛЯ СИНТАКСИЧЕСКОГО 
АНАЛИЗА ОДНОГО КЛАССА КС - ЯЗЫКОВ 
 
(г.Алматы, КазНУ имени аль-Фараби, *-магистрант) 
 
Бұл  жұмыста  детерминделген  талдау  құрылысының  алгоритмы  контекстік-еркін 
тілдің  бір  классты  синтаксистік  талдау  үшін  ұсынылады.  Бұл  алгоритм  алдын  ала 
болжау  түсінігіне  негізделген,  ал  тілдер  классы  алдын  алу  грамматикасынан 
туындайды.  Осы  алгоритм  жылжу-орамдалу  классына  жатады  жэне  финиттік 
сипаттауы  бар.  Оған  қоса  осы  анализ  алгоритмнің  компьютерлік  іске  асырылуы 
салыстырмалы түрде жоғарғы тиімділік кӛрсетеді.  
В работе предлагается алгоритм построения детерминированного анализатора для 
синтаксического анализа одного класса контекстно–свободных языков. Этот алгоритм 
основан на понятии предшествования, а сам класс языков порождается  грамматикой 
предшествования.  Данный  алгоритм  относится  к  классу:  сдвиг-свертка  и  имеет 
финитное описание. Кроме того компьютерная реализация данного алгоритма анализа 
показывает сравнительно высокую эффективность. 
In  my  work  creation  of  determined  analyzer  algorithm  for  the  parse  of  one  class  of 
context-free languages is offered. This algorithm is based on concepts of precedence and this 

 
136 
class of languages is generated by precedence grammar. This algorithm is classified as shift-
reduce  and  has  a  finite  description.    Besides  computer  implementation  of  this  algorithm 
analysis shows a relatively high efficiency. 
 
Формальные  грамматики,  являясь  порождающим  инструментом,  точнее,  порождая 
цепочки  языка,  не  вполне    удобны  для  целей  анализа  самих    цепочек.  В  связи,  с  чем 
представляет интерес  такой формальный инструмент как автоматы [1],[2]. Вспомним, 
что  как  и  грамматики  автоматы  разбиты  на  классы  в  зависимости  от  того  какой  тип 
языка  подвергается  анализу.  В  данной  публикации  рассматриваются  особенности 
эффективного детерминированного автомата, осуществляющего анализ снизу-вверх, на 
основе  схемы  предшествования.  В  процессе  анализа  входной  цепочки  анализатор 
использует  правила  вывода  и  отношения  предшествования  между  парами  символов 
грамматики. Причѐм для каждой пары символов (

1


2
) из V
T

V
A
  могут  выполняться 
отношения  предшествования  лишь  трѐх  типов  <
.
  –  читается  как  «раньше», 
.
>  – 
читается  как  «позже», 
.

  –  читается  как  «вместе».  При  этом,  если  между  парой 
символов,  образованной  из  крайне  левого  символа  входной  ленты  и  крайне  правым 
символом  (вершиной  стека)  выполняется  отношение  <
.
,  то  символ  входной  ленты 
записывается в стек, а знак отношения <
.
помещается в стек между этими символами. 
Если  же  между  парой  символов  выполняется  отношение,  то  крайне  левый  символ 
входной  ленты  записывается  в  стек  без  символа 
.

.  Такие  действия  автомата 
идентифицируются  как  «сдвиг».  В  противоположность,  если  для  пары  (

1


2

выполнено  отношение 
.
>,  то  дальнейшие  действия  автомата  идентифицируются  как 
«свѐртка»
Сформированная  в  стеке  правая  часть  правила  грамматики  вместе  с  ближайшим 
слева  символом  <
.
  заменяется  на  символ  левой  части  этого  правила.  При  этом,  если 
между  символом,  оказавшимся  в  вершине  стека  и  символом  из  левой  части  правила 
имеет  место  отношение  <
.
,  то  символ  <
.
записывается  в  стек  первым  и  лишь  затем 
символ  из  левой  части  правила.  Если  же  имеет  место  отношение 
.

,  то  символ  левой 
части правила записывается сразу в новую вершину стека. И далее процесс повторяется 
для  новой  пары  символов  –  крайне  левого  символа  входной  цепочки  и  символа  в 
вершине  стека.  Процесс  успешно  завершается,  если  входная  цепочка  содержит  лишь 
граничный маркер #, а в стеке находится цепочка #I. 
Пусть  G=<  V
T
,V
A
,  I,  P>
   
это  КС-грамматика.  Пусть  (

1


2
)  –  это  произвольная 
упорядоченная пара символов из {V
T

V
A
}. 
Определение1) Будем говорить, что для пары (

1


2
) в грамматике G
 
выполняется 
отношение 
.

, если среди множества правил грамматик Р содержится правило вывода 
вида А







2
1
 , что обозначается так  

1
 
.

 

2
. В противном случае – отношение 
.

 
для  данной  пары  (

1


2
)  не  выполняется.  2)  Будем  говорить,  что  для  пары  (

1


2
)  в 
грамматике G
 
выполняется отношение <
.
  («раньше») если в Р найдѐтся правило  вида 
А






B
1
  и  из  нетерминального  символа  В  выводима  цепочка,  начинающаяся  с 
символа 



*



2
, что обозначается 

1
<
.

2.  
В противном случае считается, что отношение <
.
 для данной пары не имеет места. 
3) Будем говорить, что для пары (

1


2
) в грамматике G
 
выполняется отношение 
.

(«позже»), если справедливо хотя бы одно из следующих утверждений: 
а) в множестве Р найдѐтся правило вывода вида А






2
B
и из нетерминального 

 
137 
символа  В  выводится  цепочка,  заканчивающаяся  символом 


т.е  .  В
*

1


*
T
}
V
{
A
V



 
б) в множестве Р найдѐтся правило вида А





BC
, такое что  В
*

1

 и С
*



2

где В,С
A
V


*
}
{
,
A
T
V
V





В противном случае, отношение 
.
> для пары (

1


2
) считается не выполненным. 
Обратим  внимание  на  то,  что  существуют  КС-грамматики,  для  некоторых  пар 
символов  которых  выполняются  два  или,  более  того,  все  три  отношения 
предшествования. 
Пример 1. Пусть G
 
грамматика с правилами вида: 
 
1)
 
I→ab 
2)
 
I→aB 
3)
 
I→AB 
4)
 
A→Ca 
5)
 
B→bD 
6)
 
C→c 
7)
 
D→d 
Очевидно, что для пары (а,b) выполнены: a
.

b, a <
.
b, a
.
>b. 
Для того чтобы отделить такие случаи, подобные рассмотренному выше, вводится 
Определение  2:  КС-грамматика  G  называется  грамматикой  предшествования,  если 
для каждой упорядоченной пары еѐ символов выполняется не более одного отношения 
предшествования. 
Для  языков,  порождѐнных  грамматиками  предшествования  без  правил  вывода  с 
одинаковыми  правыми  частями,  применим  детерминированный  анализатор  на  основе 
предшествования.  
Напомним, что, сдвигая на каждом такте входную цепочку на один символ влево и 
определяя  на  каждом  такте  отношение  предшествования  для  пары:  крайне  левый 
символ входной ленты и символ в вершине стека, анализатор последовательно находит 
подцепочки,  являющиеся  правыми  частями  правил  грамматики,  и  заменяет  их 
соответствующими левыми частями этих же правил. Если исходная цепочка входит в 
язык,  порождаемый  грамматикой  предшествования,  то  анализатор,  в  конце  концов, 
свернѐт исходную цепочку к начальному символу грамматики. 
Далее проиллюстрируем работу анализатора на одном простом примере. В качестве 
грамматики возьмѐм грамматику с правилами вывода: 
 
1)
 
I→a 
2)
 
I→aT 
3)
 
I→(I) 
4)
 
T→b 
5)
 
T→bT 
 
Очевидно,  что  данная  грамматика  является  грамматикой  предшествования,  а 
матрица предшествования выглядит следующим образом:   
 
 







 
 
 
 
 
.

 

 
 
 
 
 
.


 
.

 
 
<
.
 
 
.


 
.

 
 
<
.
 
 
.


.

 
 
<
.
 
 
<
.
 
 

 
 
 
 
 
.

 

 
138 
Совместим  визуально  входную  ленту  и  магазин  и  проиллюстрируем  работу 
анализатора на примере цепочки (abbb), при этом стрелка → будет означать «сдвиг», а 
стрелка  ←  означат  «свѐртку».  Итак,  имеем  следующую  последовательность 
преобразований: 
[#,(abbb)#]→[# <
.
 (,abbb)#]→[# <
.
 (<
.
a,bbb)#]→ 
[#<
.
 (<
.
a<
.
b,bb)#]→[# <
.
 (<
.
a<
.
b<
.
b,b)#]→ 
      [#<
.
 (<
.
a<
.
b<
.
b<
.
b,)#]←[# <
.
 (<
.
a<
.
b<
.
bT,)#] ← 
      ←[#<
.
 (<
.
a<
.
bT,)#] ←[#<
.
 (<
.
aT,)#] ←[#<
.
 (I,)#] →  
       → [#<
.
 (I),#] ←[#I,#]  , 
откуда следует, что входная цепочка (abbb) допущена и является правильной цепочкой 
языка, порождѐнного исходной грамматикой предшествования.  
Рассмотренный  выше  пример  имел  одну  особенность,  а  именно,  при  свертке, 
несмотря  на  различие  правил,    отношение  между  символом  в  вершине  стека  и 
символом из левой части сворачиваемого правила, во всех случаях, было 


. И в этом 
смысле более интересной оказывается грамматика   с правилами 
 I→ (А              2) I→a                  3)A→ Ia) 
осуществим вывод  цепочки ((((aa)a)a)a)    
I
1

(A
3

(Ia)
1

((Aa)
3

((Ia)a)
1

(((Aa)a)
3

(((Ia)a)a)
1

((((Aa)a)a)
3

((((Ia)a)a)a)
2

 ((((aa)a)a)a)    
Вычислим отношения между символами и заполним  таблицу  
 
 







 
 


 
 
 
.


 
 
.

 
 
 
.


 
 
.

 
 


 
.


<
.
 
 


 
<
.
 
 
<
.
 
 
 
.


 
 
.

 
 
 
.


<
.
 
<
.
 
<
.
 
<
.
 
<
.
 
 
 
детерминированный  процесс    анализа  приводит  к  следующей  последовательности 
изменений конструкции стек - входная лента:  
 [#,((((aa)a)a)a)#]→[# <
.
(, (((aa)a)a)a)#]→[# <
.
(<
.
(, ((aa)a)a)a)#] 
→[# <
.
(<
.
(<
.
(, (aa)a)a)a)#] →[# <
.
(<
.
(<
.
(<
.
( ,aa)a)a)a)#]→ 
 [#<
.
 (, A#]
3

 [#<
.
 (A,#] 
1

 [# ,I#] 
1

[# <
.
I,#] ,  цепочка допущена.    
Таким  образом,  синтаксический  анализ  на  основе  предшествования  является 
достаточно 
привлекательной 
процедурой 
имеющей 
свои 
специфические 
особенности[3].    Одной  из  важнейших  из  них  является  автоматическое  построение 
таблиц предшествования. Заметим, что такая таблица может быть построена на основе 
двух отношений. 
 
 
1.
 
А.  Ахо,  Дж.  Ульман.  Теория  синтаксического  анализа  компиляции  и  перевода
Т.1.,М: Мир,1983 
2.
 
Т.  Прат,  М.  Зелковиц.  Языки  программирования.  Разработка  и  реализация.4-е 
издание. Питер.,2002г.   
3.
 
Дюсембаев  А.Е..  Архитектура  компьютеров.Computer  Architecture.  Tempus-Tacis 
Project, Contract#CD_JEP-22077-2001, 2-nd Edition, 2010 

 
139 
УДК 517. 962.2, 519. 876.2 
А.Дж. Сатыбаев 
1
,  Г.А. Калдыбаева 
2
, Т.М. Асилбеков 

 
ЧИСЛЕННАЯ РЕАЛИЗАЦИЯ ОДНОМЕРНОЙ ПРЯМОЙ И ОБРАТНОЙ 
ЗАДАЧИ ТЕРМОУПРУГОСТИ С МГНОВЕННЫМ ИСТОЧНИКОМ 
 
(
г.Ош, Ошский технологический университет
1

Ошский государственный университет
2
, Кыргызстан

 
Мақалада 
термосерпінді 
жылдам 
қоректі 
бірӛлшемді 
тура 
есепті 
характеристикадағы  деректермен  берілген  есепке  келтірілген  және  ақырлы-
айырымдық әдістермен сандық есептеу жұмыстары жүргізілген.  
В  данной  статье  одномерная  прямая  задача  термоупругости  с  мгновенным 
источником  приведена  к  задаче    с  данными  на  характеристиках  и  проведены 
численные расчеты конечно-разностным методом. 
In  this  article, a  direct  one-dimensional problem  of    thermoelasticity  with  instantaneous 
source  is  given  the  problem  with  the  data  on  the  characteristics  and  the  numerical 
calculations of finite-difference method. 
 
Обратные  задачи  термоупругости  в  теоретическом  плане  исследованы  В.Я. 
Козловым  и др. [1]. 
Численное  решение  или  численная  реализация  одномерной  прямой и  обратной 
задачи  термоупругости  рассмотрены  в  [2]  с  различными  начальными  и  граничными 
условиями,  а  в  нашем  случае,  рассмотрено  граничное  условие,  представлено  в  виде  
мгновенного источника, т.е. на границе задается 
 
t

 - дельта функция Дирака.  
Постановка задачи. Рассмотрим задачу 
 
   


   


 
 


 




'
'
'
,
*
2
3
*
z
z
z
tt
tt
t
z
R
z
z
U
z
z
U
z
z
U
z

















R
z



R
t

 
 
 
 
 
(1) 
 
0
,
0


t
t
z
u
,  
 
 
t
U
z
z

2
1
0



,  
 
 
(2) 
 
 
t
f
t
z
U
z


0
,
,  
 
T
t
,
0


 
 
 
(3) 
где 
 


 
 



t
z
dy
y
t
z
R
t
x
F
,
0
,
)
,
(



,   
 
y

  -  тепловое  расширение, 
 
z


 
z

  - 
коэффициенты Ламэ, 
 
z

 - плотность среды.  
Прямая  задача  заключается  в  определении  функции 
 
t
z
,   -  возмущения 
среды из задачи (1) - (2) при известных коэффициентах 
 
z


 
z


 
z


 
z


Обратная  задача  заключается  в  определении  функции 
 
z

  -  тепловое 
расширение  из  задачи  при  известных  коэффициентах 
 
z


 
z


 
z

,  а  также  при 
известной дополнительной информации 
 
t
f
.  
     Пусть относительно коэффициентов уравнения (1) выполнены условия 
 
z


 
z


 
 


     

  
 
d
C
d
o
d
o
C
z
,
0
6
2
,
,
z
,
z
,
z
supp
,
,









  , 
а относительно  
 
 
d
o
C
z
,
5


 .         
 
 
 
          (*) 
Численное  решение.  Использую  все  выкладки  [3]  из  задачи  (1)  -  (3)  получим 
задачу с данными на характеристиках 

 
140 
 
             


 
t
T
x
t
t
t
x
Z
t
x
o
c
x
C
t
x
V
x
q
t
x
V
t
x
V
x
xx
tt







1
,
0
,
,
,
,
,
,
'

  (4) 
 
 
 
x
t
x
V
x
t



,



t
T
t
x


,
,   
 
 
(5) 
 
 
 
t
f
t
x
V

,
.  
 
t
t
,
0


 
 
 
(6) 
Здесь прямая задача заключается в определении функции 
 
t
x
V
,  из (4) - (5), а 
обратная  задача  в  определении  пары  функций 
 
t
x
V
,   и 
 
t
x
,   из  задачи  (4)  -  (6),  
)).
,
(
(
)
,
(
)),
(
2
)
(
3
(
)
,
([
t
x
R
t
x
Z
x
x
t
x







 .  
Связь задачи (4)-(6) с задачей (1) - (3) и их функций даны в [2]. 
 Отметим, что здесь 
 
 
   




x
c
o
c
o
c
x
P
0
2
1
2







d
F
,
'

 
 
(7) 
Прямую  и  обратную  задачу  будем  решать  конечно  –  разностным  методом,  для 
этого  введем  равномерную  сеточную  область,  при  этом  отбрасывая  малые  члены 
порядка 


2
2
h
O

 получим разностную задачу:  
k
i
xx
tt
LV
V
V


,  


k
i
k
ih



,

             
 
 
(8) 
i
i
i
P
V


,  
 
N
N
i
,


;   
 
 
 
 
(9) 
k
k
o
f
V


 
N
k
2
,...
0

;  
                   
 
 
(10) 
где    




'
,
*
x
k
i
o
i
k
i
i
k
i
t
x
F
c
c
V
q
LV


 . 
Определяя сеточные функции 
k
i
V
 и, 
o
i
P
 в обратной задаче (8) - (10) можем найти 
сеточную функцию 
k
i
F
 по формуле (7). 
 Численная  реализация.  В  начале  при  известных  значениях  функций 
 
z


 
z


 
z


 
z

, вернее при их сеточных значениях вычисляется сеточная функция 
k
i
V
 
- решения прямой задачи (8) - (9), затем при 
k
o
k
V
f

 - вычисляются значении 
k
i
V

i
 и 
одновременно 
k
i
F
, т.е. решение обратной задачи термоупругости (8)-(9).  
 В качестве модельной функции прямой задачи были взяты следующие функции 
     
1



z
z
z



, тогда  
 
2
1

x
c
;  
 
2
1

x
S
;  
 
0

x
g
;  
 
 




t
z
x
t
x
,
,





 
 


t
z
x
t
x
Z
x
,
5
,
'


;  
 


t
x
R
V
V
xx
tt
,
2
5
'



 *
 


t
x,



 
 


 







x
o
d
t
õ
R
x
P




8
5
8
1
,
8
5
8
1
 , 
получим прямую (11) - (12) и обратную (11) - (13) задачу  
 

  
 
 
 
t
T
x
t
T
o
t
dy
y
t
x
t
x
V
V
x
t
x
o
x
xx
tt
x











,
,
,
2
5
'
,
'
'





 
 
(11) 
 
 
x
P
t
x
V
t
x


,
,  
 
 
 
 
(12) 
 
 
t
f
t
x
V
x


0
,
,    
 
 
 
 
(13) 
где  

 
141 
 
 




x
o
dy
y
x
P

8
5
8
1
,  
 
 
 
(14) 
 
t
x,

 - известная функция. Здесь неизвестной функцией будет 
 
x

.  
 В качестве модельной функции 
 
x

 - заданы следующие:  
1. 
 
 
x
x


2
cos
1
.
2
2


 (рис. 3);    2. 
 
 
x
x


6
cos
*
2
.
0
3
2


 (рис. 4); 
3. 
 
x

 - ступенчатая функция начерченной на графике  (рис. 5); 
4. 
 
x

 - импульсная функция начерченной на графике (рис. 6).  
На  всех  четырех  рисунках  сплошная  зеленая  линия 
 
x


  -  точное  решение, 
 
x


  - приближенное решение  –  пунктирная синяя линия, красная сплошная линия  - 
 
t
f
  -  дополнительная  информация  для  обратной  задачи.  Последняя  получена 
решением  прямой  задачи,  затем  по  ней  решена  обратная  задача,  в  котором 
определялась функция 
 
x


.  
В  рисунке  3  функция 
 
z
C

  задавалась  в  виде  двух  горбов,  а  в  рис.  4  дана  6 
горбовая.  Как  видно  из  этих  рисунков  приближенно  –  вычисленное  решение 
 
x
C

  - 
последовательно  идет  за  точным  решением  и  у  приближенной  функции 
 
x
C

 
периодичность последовательно смещается в право.  
Таким  образом,  в  модельных  задачах  типа  волновой  (рис.  3,  4)  с  увеличением 
переменной    приближенное  решение  обратной  задачи  ухудшается,  т.е.  ошибки 
приближения накапливаются и 
 
x
C

 ухудшается.  
В  задачах  землетрясений  обычно  функции  бывают  ступенчатыми  или 
мгновенными,  поэтому  в  качестве 
 
x

  мы  задали  в  виде  ступенчатой  и  мгновенной 
(рис. 5, 6). 
Как  видно  из  этих  рисунков  приближенное  решение  обратной  задачи 
 
x
C

 
последовательно  идут  за  точными  решениями,  что  означает  построенный  алгоритм 
можно  использовать  и  для  слоистой  среды.  Отметим,  что  здесь  на  точках  разрыва 
«склеивание» не проводились. 
Для  анализа  в  первом  и  во  втором  случае  (рис.  3,  рис.  4)  обратную  задачу 
вычислим  в  разных  шагах  равномерной  сетки,  и  соответствующие  точки  проверялись 
численно и в этом абсолютная погрешность очень мала.  
В первом и во втором случае 
 
 
cx
b
a
x
2
cos




 свободные постоянные числа 


0
3
,
1
2




a
a
  последовательно  приблизили  к  функции 
 
cx
b
2
cos

,  тогда 
восстановления 
 
x

 ухудшаются.  
Если  в  двух  примерах  (рис.  3,  рис.  4)  приближенное  решение  хорошо  почти 
совпадает  с  точным  решением,  то  в  других  двух  примерах  (рис.  5,  рис.  6) 
приближенное решение последовательно уходит от точного решения.  
Отметим,  что  увеличивая  шаги  сетки,  мы  можем  увеличивать  глубины 
вычисления.  С  увеличением  горбов  погрешность  вычисления  обратной  задачи  также 
увеличивается.  
Для  проверки  устойчивости  алгоритма  был  увеличен  шаг  сетки 
1
0


z
h

2
0


z
h

3
0


z
h
 и в этом относительная погрешность почти одинакова, что означает, 
алгоритм  устойчив.  
Устойчивость алгоритма решения задачи проверялись:  

 
Во-первых,  измельчением  шагов  дискретизации  и  проверкой  в 
соответствующих точках; 

 
142 

 
Малым изменением в дополнительной информации. 
Проведена также полученная теоретическая оценка 
 
 


T
C
z
i
i
N
i
U
h




4
2
max
,
0


,  с  изменениями  шагов  дискретизации  и  нормы 
решения прямой задачи, т.е. последовательно изменяли шаги и решения прямой задачи.  
               Алгоритм решения одномерной прямой задачи термоупругости  
 Одномерная  прямая  задача  термоупругости  (11)  -  (12)  вычислена  в  области 
указанной  в  рис.  1,  т.е.  в  области  ограниченной  характеристики  уравнений  (11), 
 
 


ih
T
kh
ih
kh
t
ih
x
N
T
h
T
t
t
t
t
k
i
i
h









,
,
,
/
,
,
0
     
 

Достарыңызбен бөлісу:
1   ...   14   15   16   17   18   19   20   21   22




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет