Поздравляем с Новым Годом!
   
Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: LII Международной научно-практической конференции «Технические науки - от теории к практике» (Россия, г. Новосибирск, 18 ноября 2015 г.)

Наука: Технические науки

Секция: Информатика, вычислительная техника и управление

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Мелихова О.А., Григораш А.С., Джамбинов С.В. [и др.] МЕТОДЫ ОБУЧЕНИЯ В СИСТЕМАХ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА // Технические науки - от теории к практике: сб. ст. по матер. LII междунар. науч.-практ. конф. № 11(47). – Новосибирск: СибАК, 2015.
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов


 


МЕТОДЫ  ОБУЧЕНИЯ  В  СИСТЕМАХ  ИСКУССТВЕННОГО  ИНТЕЛЛЕКТА


Мелихова  Оксана  Аскольдовна


канд.  техн.  наук,  доцент,


доцент  Южного  федерального  университета,


РФгТаганрог


E-mail: 


Григораш  Андрей  Сергеевич


аспирант 
Южного  федерального  университета,


РФгТаганрог


E-mail: 


Джамбинов  Сергей  Владимирович


студент 
Южного  федерального  университета,


РФгТаганрог


E-mail: 


Чумичев  Владимир  Сергеевич


студент 
Южного  федерального  университета,


РФгТаганрог


E-mail: 


Гайдуков  Анатолий  Борисович


студент 
Южного  федерального  университета,


РФгТаганрог


E-mail: 


 

TRAINING  METHODS  IN  SYSTEMS  OF  ARTIFICIAL  INTELLIGENCE


Oksana  Melikhova


candidate  of  Science,  assistant  professor,


assistant  professor  of  the  Southern  Federal  University, 
Russia,  Taganrog


Andrey  Grigorash


postgraduate 
of  the  Southern  Federal  University, 
Russia,  Taganrog


Sergey  Dzhambinov


student 
of  the  Southern  Federal  University, 
Russia,  Taganrog


Vladimir  Chumichev


student 
of  the  Southern  Federal  University, 
Russia,  Taganrog


Anatoly  Gaidukov


student 
of  the  Southern  Federal  University, 
Russia,  Taganrog

 


АННОТАЦИЯ


Исследование  сложных  моделей  объектов  на  основе  имитации  механизмов,  реализуемых  в  живой  природе,  привели  к  появлению  и  развитию  такого  раздела  искусственного  интеллекта,  как  нейронные  сети.  К  важнейшим  особенностям  сети  относятся  параллельная  обработка  информации,  способность  к  обучению  и  обобщению  накопленных  знания,  а  также  возможность  их  реализации  с  применением  технологии  VLST.  В  статье  рассмотрены  и  проанализированы  алгоритмы  обучения  нейронных  сетей,  такие  как  алгоритм  обучения,  основанный  на  корреляции  ошибок,  алгоритм  обучения,  основанный  на  постулатах  Хебба,  а  также  алгоритм  обучения  Больцмана. 


ABSTRACT

The  study  of  complex  objects  based  on  models  simulating  the  mechanisms  implemented  in  nature,  led  to  the  emergence  and  development  of  such  a  section  of  artificial  intelligence,  neural  networks.  The  most  important  features  of  the  network  include  the  parallel  processing  of  information,  the  ability  to  learn  and  generalize  accumulated  knowledge,  and  the  ability  to  implement  them  using  the  technology  VLST.  The  article  describes  and  analyzes  the  algorithms  of  training  neural  networks,  such  as  the  learning  algorithm  based  on  the  correlation  of  error  learning  algorithm  based  on  the  postulates  of  Hebb  and  learning  algorithm  Boltzmann.

 

Ключевые  слова:  Искусственные  нейронные  сети;  алгоритмы  обучения  искусственных  нейронных  сетей;  алгоритм  обучения  Хебба;  алгоритм  обучения;  основанный  на  корреляции  ошибок;  алгоритм  обучения  Больцмана.


Keywords:  Artificial  neural  network  learning  algorithms  of  artificial  neural  networks;  Hebbian  learning  algorithm;  the  learning  algorithm  based  on  the  correlation  of  errors;  the  algorithm  training  Boltzmann.


 


Построение  и  исследование  моделей  сложных  объектов  на  основе  имитации  механизмов,  реализуемых  в  живой  природе,  привели  к  появлению  и  развитию  такого  раздела  искусственного  интеллекта,  как  нейтронные  сети.  Важнейшие  особенности  сети  –  параллельная  обработка  информации,  способность  к  обучению  и  обобщению  накопленных  знаний,  послужили  росту  интереса  к  нейронным  сетям  и  прогрессу  в  их  исследовании.  Кроме  названных  особенностей  нейронных  искусственных  сетей  следует  отметить  возможность  их  реализации  с  применением  технологии  сверхбольшой  степени  интеграции  (VLST).  Поэтому  одна  из  областей  современной  теории  интеллектуальных  вычислений  (computational  intelligence)  тесно  связана  с  построением  и  применением  искусственных  нейронных  сетей.  Интеллектуальность  в  данном  случае  понимается  как  способность  применять  знания,  накопленные  в  процессе  обучения  и  как  умение  обобщать  информацию  [1;  2;  3].


Нейронные  сети  –  это  распределенный  параллельный  процессор,  состоящий  из  элементарных  устройств  обработки  информации,  накапливающих  экспериментальные  знания  и  предоставляющих  их  для  последующей  обработки  [4;  7;  9].  Искусственную  нейронную  сеть  представляют  как  сложный  граф.  Есть  два  вида  нейронных  сетей:  однослойные  (рисунок  1)  и  многослойные  (рисунок  2).


 



Рисунок  1.  Однослойная  нейронная  сеть


 



Рисунок  2.  Многослойная  нейронная  сеть


 


У  нейронной  сети  можно  выделить  несколько  свойств,  определяющих  схожесть  искусственной  нейронной  сети  с  её  естественным  аналогом  [1;  4;  6]:


1.  Знания  поступают  в  нейронную  сеть  из  окружающей  среды,  после  чего  используются  для  обучения. 


2.  Для  накопления  знаний  применяются  связи  между  нейронами,  описываемые  синоптическими  весами. 


Главным  преимуществом  нейронных  сетей  в  обработке  данных  является:  первое  –  это  распараллеливание  обработки  информации  и,  во-вторых,  способность  к  самообучению  [5;  8;  9].  Также  в  нейронных  сетях  есть  свойство  обобщения,  то  есть  способность  получать  результат  на  основе  данных,  которых  не  было  в  процессе  обучения.  С  помощью  нейронных  сетей  можно  решать  как  сложные  задачи,  так  и  более  простые.  На  практике  решение  сложных  (масштабных)  задач  бывает  затруднительно,  поэтому  более  сложную  задачу  разбивают  на  несколько  простых,  которые  решают  последовательно. 


Как  было  сказано  ранее,  искусственные  нейронные  сети,  также,  как  и  биологические,  имеют  способность  к  обучению.  Обучение  –  это  процесс,  в  котором  свободные  параметры  нейронной  сети  настраиваются  посредством  моделирования  среды,  в  которую  эта  сеть  встроена  [2;  6;  7].  Такое  определение  процесса  обучения  предполагает  следующий  алгоритм  обучения:


1.  В  нейронную  сеть  поступают  сигналы  из  внешней  среды.


2.  В  результате  этого,  свободные  параметры  искусственных  нейронов  изменяются. 


3.  После  изменения  внутренней  структуры  нейронная  сеть  отвечает  на  поступившие  сигналы  согласно  изменениям. 


Данный  алгоритм  строится  исключительно  на  определении  обучения.  Существует  огромное  количество  алгоритмов,  но  не  существует  универсального  алгоритма,  который  подходил  бы  для  каждой  нейронной  сети. 


Рассмотрим  некоторые  алгоритмы  обучения  нейронной  сети. 


Один  из  алгоритмов  обучения  основывается  на  коррекции  ошибок  [7;  10].  Суть  этого  алгоритма  в  следующем.  Есть  нейронная  сеть,  состоящая  из  N  нейронов,  каждый  отдельный  нейрон  обозначим  k.  Есть  входной  сигнал  yk(N),  выходной  сигнал  dk(N),  и  желаемый  результат  mk(N).  Каждый  раз,  когда  будет  формироваться  выходной  сигнал,  он  будет  сравниваться  с  желаемым.  Если  выходной  сигнал  больше,  то  в  результате  получим  сигнал  ошибки  ek(N):


 


ek(N)=mk(N)-dk(N).


 


Сигнал  ошибки  инициализирует  механизм  управления,  цель  которого  заключается  в  применении  последовательности  корректировок  к  весам  нейронов.  Эти  изменения  предназначены  для  приближения  выходного  сигнала  к  желаемому.  Эта  цель  достигается  с  помощью  минимизации  функции  стоимости  или  индекса  производительности  E(N),  определяемой  в  сигнале  ошибки  по  формуле:


 


E(N)=  где  E(N)  –  текущее  значение  энергии  ошибки.


 


Пошаговая  корректировка  синоптических  весов  нейрона  продолжается  до  тех  пор,  пока  система  не  достигнет  устойчивого  состояния.  Только  после  этого  процесс  обучения  останавливается. 


Рассмотрим  следующий  метод  обучения  сети  -  обучение  на  основе  памяти. 


Такой  вид  обучения  предполагает  использование  хранилища  данных  типа  вход-выход  [8;  11].  То  есть,  данный  вид  обучения  основывается  на  всем  прошлом  опыте,  который  формулируется  в  данном  хранилище.  Не  ограничивая  общности,  можно  предположить,  что  выходной  сигнал  является  скаляром.  То  есть,  если  есть  два  выхода  и  необходимо  их  как-то  классифицировать,  то  берется  ближайший  вектор  к  тестовому  вектору  xtest.  Все  алгоритмы  обучения  на  основе  памяти  включают  в  себя  две  первостепенные  составляющие:


1.  Критерий,  используемый  для  определения  окрестности  вектора  xtest.


2.  Правило  обучения,  применяемое  к  примеру  из  окрестности  тестового  вектора.


Все  алгоритмы  обучения  нейронных  сетей  отличаются  друг  от  друга  по  способу  реализации  этих  двух  составляющих.  В  простейшем  алгоритме  обучения  на  основе  памяти,  который  получил  название  правила  ближайшего  соседа  в  окрестность  включается  пример,  который  самый  близкий  к  тестовому.  Если  есть  вектор  x,  который  считается  ближайшим  соседом  вектора  xtest,  и  выполняется  условие  d  (xi,  xtest),  то  d  –  евклидово  расстояние  между  векторами  xi  и  xtest.  Вариацией  классификатора  на  основе  ближайшего  соседа  является  классификатор  k-ближайших  соседей.  Он  описывается  следующим  образом:


1.  Находим  k  классифицированных  соседей,  которые  являются  ближайшими  к  вектору  xtest,  где  k  –  это  некоторое  число. 


2.  Вектор  xtest  относим  к  тому  классу,  который  чаще  других  встречается  среди  k-ближайших  соседей  тестируемого  вектора.


Таким  образом,  классификатор  на  основе  k-ближайших  соседей  работает  подобно  устройству  усреднения. 


Следующий  метод  обучения,  так  называемый,  постулат  Хебба  [10;  11;  12].


Постулат  обучения  Хебба  является  самым  старым  и  самым  известным  среди  все  правил  обучения.  Данный  постулат  носит  имя  нейрофизиолога  Хебба.  Хебб  был  одним  из  ученных,  предложивших  метод  обучения  на  основе  ассоциативной  памяти,  то  есть  обучения  на  клеточном  уровне.  По  его  гипотезе,  данный  метод  обучения  должен  был  привести  к  постоянной  модификации  шаблона  активности.  На  основе  постулата  обучения  Хебба  можно  сформулировать  следующее  правило,  которое  состоит  из  двух  частей:


1.    Если  два  нейрона  по  обе  стороны  синапса  (соединения)  активизируются  одновременно,  то  есть  синхронно,  то  прочность  такого  соединения  возрастает. 


2.  Если  два  нейрона  по  обе  стороны  синапса  активизируются  асинхронно,  то  такой  синапс  ослабляется  или  вообще  отмирает. 


Изначально  Хебб  выделил  свои  постулаты  в  нейробиологическом  контексте.  Функционирующий  таким  образом  синапс  называется  синапсом  Хебба.  Если  быть  более  точным,  то  синапс  Хебба  зависит  от  времени.  Можно  выделить  четыре  основных  свойства,  характеризующие  синапс  Хебба:


1.  Зависимость  от  времени.  То  есть  синапс  Хебба  зависит  от  точного  времени  возникновения  входного  сигнала  и  выходного  сигнала. 


2.  Локальность.  По  своей  природе  синапс  является  узлом  передачи  данных,  это  свойство  используется  для  выполнения  синапсом  Хебба  локальных  модификаций  входного  сигнала. 


3.  Интерактивность.  Изменения  синапса  Хебба  определяются  сигналами  на  обоих  его  концах. 


4.  Корреляция.  Обучение  Хебба  состоит  в  том,  что  условием  изменения  эффективности  синоптической  связи  является  зависимость  между  входным  и  выходным  сигналом. 


Для  описания  обучения  Хебба  с  точки  зрения  математики,  рассмотрим  простой  пример,  в  котором  синоптический  вес  wkj,  нейрона  k  с  входным  xj  и  выходным  yk  сигналами  [7;  9;  11].  Изменение  синоптического  веса  wkj  в  момент  времени  n  можно  представить  следующим  соотношением:


Δ  wkj(n)=F(xj(n),  yk(n)),  где  F  –  это  некоторая  функция,  зависящая  от  входных  и  выходных  сигналов.  Сигналы  xj(n)  и  yk(n)  рассматриваются  без  учета  размерности. 


Есть  несколько  версий  записи  формулы  Хебба,  все  они  считаются  формулами  Хебба,  или  хеббовскими. 


Так  же  Хебб  выделил  простейшую  формулу  обучения,  которая  имеет  следующий  вид:


Δ  wkj(n)=η(xj(n),  yk(n)),  где  η  –  положительная  константа,  которая  определяет  скорость  обучения.  Данное  выражение  ясно  показывает  природу  синапса  Хебба,  так  же  её  называют  правилом  умножения  активности. 


Рассмотрим  следующий  метод  обучения  нейронных  сетей,  так  называемое,  конкурентное  обучение. 


Данный  вид  обучения,  как  понятно  из  названия,  представляет  собой  конкурентную  модель  нейронов,  то  есть  нейроны  сети  будут  конкурировать  между  собой  за  право  быть  активизированными.  Благодаря  этому  свойству,  такой  вид  обучения  очень  удобно  использовать  для  задач  изучения  статистических  свойств,  которые  используются  в  задачах  классификации  образов. 


Правило  конкурентного  обучения  строится  на  основе  трех  элементов:


1.  Множество  одинаковых  нейронов  формирует  случайные  веса  на  реакции  нейронов  по  одному  и  тому  же  входному  сигналу. 


2.  Определяется  предельное  значение  веса  каждого  нейрона. 


3.  Формируется  механизм,  позволяющий  нейронам  конкурировать  за  право  отклика  на  данное  подмножество  входных  сигналов  и  определяющий  единственный  активный  нейрон.


В  такой  системе  каждый  нейрон  сети  соответствует  группе  близких  образов,  то  есть  нейроны  становятся  детекторами  признаков  различных  классов  входных  образов.  Простейшая  нейронная  сеть  с  конкуренцией  представляется  как  единственный  слой  выходных  нейронов,  в  котором  каждый  нейрон  соединён  с  входными  нейронами.  В  связи  с  тем,  что  данный  тип  обучения  может  формировать  группы,  то  такая  нейронная  сеть  способна  к  кластеризации  в  процессе  обучения.


Следующий  метод  обучения  нейронных  сетей  –  обучение  Больцмана  [7;  10;  11]. 


Этот  метод  назван  в  честь  Людвига  Больцмана.  Данный  алгоритм  является  стохастическим  алгоритмом  обучения,  который  основан  на  стохастической  механике.  Нейронная  сеть  на  основе  обучения  Больцмана  называется  машиной  Больцмана.  В  машине  Больцмана  все  нейроны  работают  с  бинарными  сигналами.  То  есть  у  нейронов  два  состояния:  (+1)  –  это  активный  режим  нейронов  и  (-1)  –  выключенный  режим  нейронов.  Такая  машина  описывается  функцией  E,  значение  которой  определяется  состоянием  нейронов  машины  Больцмана.  Эту  функцию  можно  описать  следующим  выражением: 


 


  ,


 


где:  xj  –  состояние  нейрона  j, 


wkj  –  синоптический  вес  связи  нейронов  j  и  k.


Нейроны  машины  Больцмана  можно  разбить  на  две  группы  по  функциональности:  видимые  и  скрытые.  Видимые  нейроны  реализуют  интерфейс  между  сетью  и  средой  её  функционирования,  а  скрытые  работают  независимо  от  внешней  среды.  Рассмотрим  два  режима  функционирования  такой  сети:


1.  Скованное  состояние  сети.  Все  видимые  нейроны  находятся  в  состояниях,  предопределенных  внешней  средой. 


2.  Свободное  состояние  сети.  Все  нейроны  могут  свободно  функционировать. 


В  основном  все  алгоритмы  обучения  делятся  на  два  вида:  на  алгоритмы  обучения  с  учителем  и  на  алгоритмы  обучения  без  учителя.  Алгоритмы  обучения  с  учителем  можно  рассматривать  как  наличие  знаний  об  окружающей  среде,  представленной  в  виде  пары  вход-выход.  Для  такого  алгоритма  характерно  то,  что  окружающая  среда  неизвестна  для  нейронной  сети.  То  есть,  из  окружающей  среды  поступает  информация,  учитель  на  основе  заложенных  знаний  вырабатывает  желаемый  отклик  (оптимальный  набор  действий),  после  параметры  сети  изменяются  с  учетом  обучающего  вектора  и  сигнала  ошибки  (разность  между  желаемым  результатом  и  полученным).  Изменение  параметров  происходит  пошагово  с  целью  имитации  нейронной  сети  на  поведение  учителя  [7;  10;  12].  Любой  алгоритм  обучения  с  учителем  –  это  алгоритм  обучения  на  основе  коррекции  ошибок.  Алгоритмы  обучения  без  учителя  означают,  что  нет  контролирующего  процесса  настройки  весовых  коэффициентов. 


Для  многослойной  нейронной  сети  обучение  с  учителем  может  рассматриваться  как  способность  сети  к  обучению,  то  есть  выработки  нужного  отклика  от  сети,  так  и  как  задача  численной  оптимизации.  Функции,  которые  строятся  на  выявлении  ошибок  в  нейронных  сетях,  в  большинстве  случаев  являются  функциями  блуждающих  точек,  но  в  многослойной  нейронной  сети  функция  является  в  высшей  степени  нелинейной  функцией,  которая  зависит  только  от  вектора  синоптических  весов  w.


Возможность  и  эффективность  использования  искусственных  нейронных  сетей  могут  существенно  увеличиться  за  счет  применения  технологии  обработки  информации,  основанной  на  нечетких  множествах  и  нечетком  логическом  выводе.  Этот  подход  ослабляет  требования  к  точности  представления  исходных  данных  при  моделировании,  а  также  позволяет  при  описании  сложных  систем  использовать  переменные,  значения  которых  определяются  на  интуитивном  уровне  [5;  7].  Используемая  при  этом  парадигма  выработки  решений  приводит  к  формированию  лингвистических  аргументов  логических  функций.  Функции,  описывающие  реальные  объекты,  уточняются  в  процессе  обучения.  Правила  вывода  формируются  также  в  процессе  обучения.  Это  определяет  взаимопроникновения  и  комплементарность  нейронных  моделей  и  систем,  построенных  на  основе  нечеткой  логики.  Использование  лингвистических  операторов  и  итерационного  процесса  обучения  приводит  к  получению  интеллектуальных  логико-алгебраических  моделей,  определяемых  термином  Computational  Intelligence.


Для  повышения  эффективности  исследования  пространства  возможных  решений  часто  используется  такой  класс  алгоритмов  обучения  как  эволюционные  алгоритмы.  Они  основываются  на  эволюционной  и  генетической  обусловленности  изменения  последовательности  битов  или  чисел.


Нейронные  сети  и  генетические  алгоритмы  возникли  в  результате  наблюдения  и  попыток  копирования  естественных  процессов,  происходящих  в  живой  природе  [5;  8].  При  сравнении  особенностей  нейронных  сетей  и  генетических  алгоритмов  следует  обратить  внимание  на  существенно  различную  длительность  протекания  соответствующих  естественных  процессов,  то  есть  на  быструю  обработку  информации  в  нервной  системе  и  очень  медленный  процесс  естественной  эволюции.  Но  при  компьютерном  моделировании  эти  различия  не  имеют  существенного  значения.  Генетические  алгоритмы  применяются  в  системах  искусственного  интеллекта  как  совместно  с  нейронными  сетями,  так  и  в  виде  независимого  альтернативного  метода  моделирования.  Генетические  алгоритмы  –  это  процедуры  поиска,  основанные  на  механизмах  естественного  отбора  и  наследования  [12].


Нейронные  сети,  нечеткие  системы  и  генетические  алгоритмы  обладают  важным  общим  свойством  –  способностью  к  обучению,  что  считается  главным  атрибутом  интеллектуальности  любой  системы,  в  том  числе  живой.


 


Список  литературы:

  1. Барский  А.Б.  Нейронные  сети:  распознавание,  управление,  принятие  решений.  –  М.:  Финансы  и  статистика,  2004.  –  176  с.
  2. Каллан  Роберт.  Основные  концепции  нейронных  сетей:  Пер.  с  англ.  –  М.:  Издательский  дом  «Вильямс»,  2001.
  3. Комарцова  Л.Г.,  Максимов  А.В.  Нейрокомпьютеры:  Учеб.  пособие  для  вузов.  –  2-е  изд.,перераб.  и  доп.  –  М.:  Изд-во  МГТУ  им.  Н.Э.  Баумана,  2004.  –  400  с.
  4. Мелихова  О.А.,  Чумичев  В.С.,  Джамбинов  С.В.,  Гайдуков  А.Б.  Некоторые  аспекты  криптографического  взлома  и  повышения  надежности  алгоритмов  шифрования//  Молодой  ученный.  –  Казань,  №  11(91),  2015.  –  С.  392–394.
  5. Мелихова  О.А.  Приложение  матлогики  к  проблемам  моделирования//  Известия  ЮФУ.  Технические  науки.  –  Таганрог:  Изд-во  ТТИ  ЮФУ,  2014.  №  7(156).  –  С.  204–214.
  6. Мелихова  О.А.,  Гайдуков  А.Б.,  Джамбинов  С.В.,  Чумичев  В.С.  Методы  поддержки  принятия  решений  на  основе  нейронных  сетей//  Актуальные  проблемы  гуманитарных  и  естественных  наук.  –  М.,  №  09  (80).  Ч.  1.  2015.  –  С.  52–59.
  7. Мелихова  О.А.,  Григораш  А.С.,  Джамбинов  С.В.,  Чумичев  В.С.,  Гайдуков  А.Б.  Некоторые  аспекты  теории  нейронных  систем//  Молодой  ученый.  –  Казань.  –  №  16  (96),  –  2015.  –  С.  196–199.
  8. Мелихова  О.А.  Методы  построения  интеллектуальных  систем  на  основе  нечеткой  логики.  Научное  издание  –  Таганрог:  издаельство  ТРТУ  2007.  –  92  с.
  9. Осовский  С.  Нейронные  сети  для  обработки  информации  /  Пер.  с  польского  И.Д.  Рудинского.  –  М.:  Финансы  и  статистика,  2002.  –  344  с. 
  10. Рутковская  Д.,  Пилиньский  М.,  Рутковский  Л.  Нейронные  сети,  генетические  алгоритмы  и  нечеткие  системы:  Пер.  с  польск.  И.Д.  Рудинского-  М.:  Горячая  линия-Телеком,  2006.  –  452  с. 
  11. Уоссермен  Ф.  Нейрокомпьютерная  техника:  Теория  и  практика.  М.:  Мир,  1992.  –  184  с. 
  12. Kureychik  V.V.  Melikhova  O.A.  Gaydukov  A.B.  Chumichev  V.S.  Dzhambinov  S.V.  Bukach  S.A.  Proceedings  of  the  International  Scientific  and  Practical  Conference  "Innovative  technologies  in  science,  Vol.  I  (February  21–22,  2015,  Dubai,  UAE)".  –  Dubai.:  Rost  Publishing,  2015.  –  P.  57–67. 
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий