NetNado
  Найти на сайте:

Учащимся

Учителям



Ассоциативная память


  1. Ассоциативная память

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

В отличие от обычной машинной памяти, в которой пользователь задает адрес памяти и ОЗУ возвращает слово данных, хранящееся по этому адресу, АП разработана таким образом, чтобы пользователь задавал слово данных, и АП ищет его во всей памяти, чтобы выяснить, хранится ли оно где-нибудь в нем. Если слово данных найдено, АП возвращает список одного или более адресов хранения, где слово было найдено (и в некоторых архитектурах, также возвращает само слово данных, или другие связанные части данных). Таким образом, АП — аппаратная реализация того, что в терминах программирования назвали бы ассоциативным массивом.


  1. Автоассоциативная память

Автоассоциативная память – память, которая может завершить или исправить образ, но не может ассоциировать полученный образ с другим образом. При решении задачи автоассоциативной памяти в нейронной сети запоминаются передаваемые ей образы (векторы). Затем в эту сеть последовательно подаются неполные описания или зашумленные представления хранимых в памяти исходных образов, и ставится задача распознавания конкpeтнoгo образа. Для настройки нейронных сетей, предназначенных для решения задач автоассоциативной памяти, используется обучение без учителя.


  1. Гетероассоциативная память

Гетероассоциативная память – память, в которой произвольному набору входных образов (стимулов) ставится в соответствие другой набор выходных производных сигналов (откликов). При этом размерность пространства выходных сигналов может, как отличаться от размерности пространства входных, так и совпадать. Для настройки нейронных сетей, предназначенных для решения задач гетероассоциативной памяти, используется модель обучения с учителем.



  1. Охарактеризуйте две фазы в работе ассоциативной памяти

Фаза запоминания. Соответствует процессу обучения сети в соответствии с формулой , где -ключевой образ, -запомненный вектор образов, -количество образов(ёмкость). Ключевой образ выступает не просто в роли стимула, определяющим местоположение запомненного образа , но и содержит ключ для его извлечения.

Фаза восстановления. Соответствует процессу извлечения запомненного образа в ответ на представление в сеть зашумлённой или искажённой версии ключа.


  1. Приведите определение процесса распознавания образов

Распознавание образов – процесс, в котором получаемый образ (сигнал) должен быть отнесён к одному из предопределённых классов (категорий). Чтобы нейронная сет могла решать задачи распознавании образов, её сначала необходимо обучить.

  1. Охарактеризуйте два типа машин распознавания образов.

1ый тип машины.

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



2ой тип машины.

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

  1. Опишите способ решения задачи идентификации систем.

Пусть формула

Описывает соотношение между входом и выходом в неизвестной системе с несколькими входами и выходами без памяти (инвариантность системы по времени). Тогда множество маркированных примеров можно использовать для обучения нейронной сети, представляющей модель этой системы. Пусть - выход нейронной сети, соответствующей входному вектору . Сигнал ошибки ( =(желаемый отклик) - (выход сети)) используется для корректировки свободных параметров сети с целью минимизации среднеквадратичной ошибки

  1. Опишите способ построения инверсной системы

Предположительно существует система MIMO (с несколькими входами и выходами) без памяти, для которой преобразование входного пространства в выходное описывается соотношением . Требуется построить такую систему, которая в ответ на вектор генерирует отклик в виде вектора . Инверсную систему можно описать следующим образом: вектор-функция -инверсная. На основе множества маркированных примеров () можно построить нейронную сеть, аппроксимирующую обратную функцию с помощью схемы:



()-желаемый отклик, () – входной сигнал (векторы , - поменялись местами). Вектор сигнал ошибки равен разности желаемого вектора и реального выхода нейронной сети , полученный в ответ на возмущение . Здесь вектор сигнала ошибки используется для минимизации суммы квадратов разностей между выходами неизвестной инверсной системы и нейронной сети в статическом смысле (т.е. вычисляемой на всём множестве примеров обучения).


  1. Приведите блок-схему системы управления с обратной связью



В этой системе используется единственная обратная связь, охватывающая весь объект управления. Таким образом, выход объекта управления вычитается из эталонного сигнала (), принимаемого из внешнего источника. Полученный таким образом сигнал ошибки (e) подаётся на нейроконтроллер для настройки свободных параметров. Основной задачей контроллера является поддержание такого входного вектора объекта, для которого выходной сигнал (у) соответствовал бы эталонному значению (d). Другими словами, в задачу контроллера входит инвертирование отображения вход-выход объекта управления.


  1. Опишите операции логической суммы и логического произведения над нечёткими множествами

Нечёткое множество – обобщение обычных (чётких) множеств. Традиционный способ представления элемента множества A состоит в применении характеристической функции , которая равна 1, если элемент принадлежит множеству A, или равна 0 в противном случае. В нечётких системах элемент может частично принадлежать любому множеству. Степень принадлежности множеству A, представляющая собой обобщение характеристической функции, называется функцией принадлежности , причём , и означает отсутствие принадлежности x множеству A, а - полную принадлежность. Конкретное значение функции принадлежности называется степенью или коэффициентом принадлежности.

Операция логической суммы:

Пусть - наименьшее нечёткое подмножество, которое включает как так и с функцией принадлежности:



Операция логического произведения над нечёткими множествами:

Пусть - наибольшее нечёткое подмножество, которое содержится одновременно в и в , тогда функция принадлежности имеет вид:




  1. Опишите операции отрицания множества и нормализации множества для нечётких множеств

Операция отрицания множества:

Пусть - всё то множество, что не , тогда элемент, принадлежащий множеству , определяется согласно функции:



Нормализация нечётких множеств:



СУПРЕМУМ: Sup - точная верхняя грань (максимальное значение принадлежности, присутствующее в множестве).

НОРМАЛИЗАЦИЯ: нечеткое множество нормально если супремум множества равен единице. Для нормализации перечитывают принадлежности элементов:

M'a(x) = Ma(x)/(Sup Ma(x))


  1. Опишите операцию концентрации и растяжения для нечётких множеств

Операция концентрации:

Операция размывания:




  1. Дайте определение лингвистической переменной

Переменная, значениями которой могут быть как числа, так и слова и их сочетания. Например, лингвистическая переменная «скорость» может иметь значения «высокая», «средняя», «очень низкая» и т. д. Фразы, значение которых принимает переменная, в свою очередь, являются именами нечетких переменных и описываются нечетким множеством.

Математическое определение лингвистической переменной: , где -имя переменной; -множество имён лингвистических значений переменной , каждое из которых является нечёткой переменой на множестве ; - синтаксическое правило для образования имён значений ; семантическое правило для ассоциирования каждой величины значения с её понятием.


  1. Опишите операцию алгебраического произведения для нечётких множеств

Операция алгебраического произведения для множества и описывается следующей функцией принадлежности в форме алгебраического произведения: (агрегирование на уровне импликации). Где в свою очередь каждая из функций принадлежности для и принимает вид алгебраического произведения: (агрегирование предпосылки).


  1. Опишите меру Егера, характеризующую степень нечёткости множеств

Для определения степени нечёткости множества введено понятие меры нечёткости, сводящейся к измерению уровня различия между нечётким множеством и его отрицанием . Наиболее популярна мера Егера:

,

количество элементов в , расстояние между множествами и в метрике (которое равно 1 или 2). Метрике Хэмминга соответствует значение

  1. Опишите метрику Евклида, характеризующую меру нечёткости множества

Мера Егера при значении метрики называется евклидовой метрикой: .


  1. Опишите энтропийную меру нечёткости множества Коско

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


  1. Опишите систему нечёткого вывода Мамдани-Заде

Элементы теории нечетких множеств, правила импликации и нечетких рассуждений образуют систему нечеткого вывода. В ней можно выделить:

  • множество используемых нечетких правил;

  • базу данных, содержащую описания функций принадлежности;

  • механизм вывода и агрегирования, который формируется применяемыми правилами импликации.

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

Для обеспечения взаимодействия этих двух видов вводится нечеткая система с так называемым фазификатором (преобразователем множеств входных данных в нечеткое множество) на входе и дефазификатором (преобразователем нечетких множеств в конкретное значение выходной переменной) на выходе.



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

В модели вывода Мамдани-Заде присутствуют следующие операторы:

  • оператор логического или арифметического произведения для определения результирующего уровня активации, в котором учитываются все компоненты вектора условия;

  • оператор логического или арифметического произведения для определения значения функции принадлежности для всей импликации  ;

  • оператор логической суммы как агрегатор равнозначных результатов импликации многих правил;

  • оператор дефазификации, трансформирующий нечеткий результат  в четкое значение .



Рис 1. Пример системы вывода Мамдани-Заде

На рис. 1 представлен способ агрегирования при двух входных переменных .


  1. Охарактеризуйте фаззификатор

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


  1. Охарактеризуйте понятие функции принадлежности

 Функция нечеткой принадлежности является непрерывным приближением пороговой функции точной принадлежности.

Коэффициент принадлежности - величина из диапазона [0,1], характеризующая степень принадлежности элемента нечеткому множеству.

 — действительное число, принимающее значение в диапазоне (0,1), при этом 1 означает 100%-ю (безусловную) принадлежность a к множеству , а 0 — безусловное отсутствие в . Значения между 0 и 1 характеризуют нечётко включенные элементы.

Отображение множества элементов  во множество значений  образует функцию принадлежности .

Функция  может быть определена явно в виде, например, алгебраического выражения или таблично (дискретно) в виде массива пар 



  1. Опишите обобщённую гауссовскую функцию принадлежности

Гауссовская функция принадлежности для переменной с центром и параметром ширины имеет вид:

Также существует обобщённая гауссова функция: параметр формы.

Рис 3. График обобщённой функции Гаусса для с=1,

. Обобщённая функция Гаусса также может быть и в рациональной форме: .


  1. Опишите понятие дефаззификации нечёткого множества

Процесс дефаззификации – преобразование нечеткого множества, заданного функцией принадлежности , в скаляр.


  1. Опишите дефаззификацию относительно среднего центра

Дефаззификация относительно среднего центра: где центр -ой одиночной функции принадлежности, участвующей в итоговой агрегированной функции.

  1. Опишите дефаззификацию относительно центра области

Дефаззификацию относительно центра области: или же в дискретной форме .

  1. Приведите блок-схему работы генетического алгоритма.

Генетический алгоритм (англ. genetic algorithm) — это эвристический метод, используемый для решения задач оптимизации и моделирования через последовательный подбор и комбинирование искомых параметров с использованием механизмов, напоминающих биологическую эволюцию. Блок-схема работы генетического алгоритма:



  1. Охарактеризуйте понятия целочисленного и вещественного кодирования.

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

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

Целочисленное кодирование.

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


Вещественное кодирование.

Часто бывает удобнее кодировать в гене не целое число, а вещественное. Это позволяет избавиться от операций кодирования и декодирования, используемых в целочисленном кодировании и увеличить точность решения.




  1. Опишите способы селекции.

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

Рулеточная селекция. В данном варианте селекции вероятность i-й особи принять участие в скрещивании pi пропорциональна значению ее приспособленности fi и равна .

Процесс отбора особей для скрещивания напоминает игру в «рулетку».

Рулеточный круг делится на сектора, причем площадь i-го сектора пропорциональна значению pi. После этого n раз «вращается» рулетка, где n – размер популяции, и по сектору, на котором останавливается рулетка, определяется особь, выбранная для скрещивания.

Селекция усечением. При отборе усечением после вычисления значений приспособленности для скрещивания выбираются Ln лучших особей, где L – «порог отсечения», 0 < L < 1, n – размер популяции. Чем меньше значение L, тем сильнее давление селекции, т.е. меньше шансы на выживание у плохо приспособленных особей.

Как правило, выбирают L в интервале от 0,3 до 0,7.

Турнирный отбор. В случае использования турнирного отбора для скрещивания, как и при рулеточной селекции, отбираются n особей.

Для этого из популяции случайно выбираются t особей, и самая приспособленная из них допускается к скрещиванию. Говорят, что формируется турнир из t особей, t – размер турнира. Эта операция повторяется n раз.

Чем больше значение t, тем больше давление селекции. Вариант турнирного отбора, когда t = 2, называют бинарным турниром. Типичные значения размера турнира t = 2, 3, 4, 5.
28. Охарактеризуйте принцип работы одноточечного, двухточечного и однородного операторов кроссовера для целочисленного кодирования.

Для целочисленного кодирования часто используются 1-точечный, 2-точечный и однородный операторы кроссинговера.

1-точечный кроссинговер работает аналогично операции перекреста для хромосом при скрещивании биологических организмов. Для этого выбирается произвольная точка разрыва и для создания потомков производится обмен частями родительских хромосом.

Для оператора 2-точечного кроссинговера выбираются 2 случайные точки разрыва, после чего для создания потомков родительские хромосомы обмениваются участками, лежащими между точками разрыва. Отметим, что для 2-точечного оператора кроссинговера, начало и конец хромосомы считаются «склеенными» в результате чего одна из точек разрыва может попасть в начало/конец хромосом и в таком случае результат работы 2-точечного кроссинговера будет совпадать с результатом работы 1-точечного кроссинговера.

При использовании однородного оператора кроссинговера разряды родительских хромосом наследуются независимо друг от друга. Для этого определяют вероятность p0, что i-й разряд хромосомы 1-го родителя попадет к первому потомку, а 2-го родителя – ко второму потомку. Вероятность противоположного события равна (1 – p0). Каждый разряд родительских хромосом «разыгрывается» в соответствии со значением p0 между хромосомами потомков. В большинстве случаев вероятность обоих событий одинакова, т.е. p0 = 0,5.
29. Опишите принцип работы двухточечного кроссовера для вещественного кодирования.

2-точечный кроссинговер для вещественного кодирования в целом аналогичен 2-точечному кроссинговеру для целочисленного кодирования. Различие заключается в том, что точка разрыва не может быть выбрана «внутри» гена, а должна попасть между генами
30. Охарактеризуйте понятие разрушающей способности кроссовера.

Операторы кроссинговера характеризуются способностью к разрушению родительских хромосом.

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

Другими словами, способность целочисленного кроссинговера к разрушению зависит от того, насколько сильно он «перемешивает» (рекомбинирует) содержимое родительских хромосом. Так, 1-точечный кроссинговер считается слаборазрушающим, а однородный кроссинговер в большинстве случаев является сильно разрушающим оператором. Соответственно, 2-точечный кроссинговер по разрушающей способности занимает промежуточную позицию по отношению к 1-точечному и однородному операторам кроссинговера.

В случае кроссинговера для вещественного кодирования способность к разрушению определяется тем, насколько велико расстояние в пространстве поиска между точками, соответствующими хромосомам родителей и потомков. Таким образом, разрушающий эффект 2 точечного кроссинговера зависит от содержимого родительских хромосом. Разрушающая способность арифметического кроссинговера зависит от значения параметра l, например, при l >> 1 и l >> 0, способность к разрушению будет низкой. Для BLX-a кроссинговера разрушающая способность зависит как от значения a, так и от разности значений соответствующих генов родительских особей.

Отметим, что одновременно со способностью к разрушению говорят также о способности к созданию (creation, construction) кроссинговером новых особей. Тем самым подчеркивается, что, разрушая хромосомы родительских особей, кроссинговер может создать совершенно новые хромосомы, не встречавшиеся ранее в процессе эволюционного поиска.
31. Охарактеризуйте канонический генетический алгоритм.

Канонический генетический алгоритм разработан Джоном Холландом и описан в его книге «Адаптация в естественных и искусственных системах», 1975 г. [26]. Представляет одну из базовых моделей эволюционного поиска, подробно исследованную в 70-80-х годах 20 века.

Канонический ГА имеет следующие характеристики:

- целочисленное кодирование;

- все хромосомы в популяции имеют одинаковую длину;

- постоянный размер популяции;

- рулеточная селекция;

- одноточечный оператор кроссинговера;

- битовая мутация;

- новое поколение формируется только из особей-потомков (разрыв поколений Т = 1).
32. Какие вы знаете модели представления знаний?

Наиболее распространенными моделями представления знаний в экспертных системах являются:

  • модель представления знаний средствами логики предикатов первого порядка;

  • продукционная модель;

  • фреймовая модель;

  • модель представления знаний в виде семантической сети;

  • модель представления знаний в виде доски объявлений;

  • модель представления знаний в виде сценария;

  • модель представления знаний на основе нечеткой логики;

  • нейросетевая модель представления знаний.



33. Что представляет собой логическая модель знаний?

Логическая модель представления знаний основана на логике предикатов. Предикатом, или логической функцией, называется функция от любого числа аргументов, принимающей истинное или ложное значение. Аргументы функции – значения из произвольного, конечного или бесконечного множества , называемого предметной областью. Предикат от -аргументов называют -местным предикатом. Для модели представления знаний используется логика предикатов первого порядка, на которой основан Пролог.
34. Из чего состоит продукционная система?

Продукционная система – система обработки знаний, использующая представления знаний продукционными правилами. Продукционные правила – это выражения типа «Если (условие) то (действие)». “Условие” – предложение образец, по которому осуществляется поиск в базе знаний; “действие” – действие, выполняемое при успешном исходе поиска. Вывод на такой базе знаний может быть прямым (от данных к поиску цели) и обратным (от цели для её подтверждения – к данным). Данные – исходные факты, хранящиеся в базе фактов, на основании которых запускается машина вывода или интерпретатор правил, перебирающий правила из продукционной базы знаний.



В состав продукционной системы входят база правил, база данных и интерпретатор правил. База правил – это область памяти, которая содержит базу знаний – совокупность знаний, представленных в форме правил вида ЕСЛИ … ТО; база данных – это область памяти, содержащая фактические данные (факты). Интерпретатор – механизм вывода, это тот компонент системы, который формирует заключение, используя базу правил и базу данных.
35. Охарактеризуйте модель представления знаний в виде фреймов

Во фреймовой системе единицей представления знаний является объект, называемый фреймом. Фрейм – форма представления некоторой ситуации, которую можно описывать некоторой совокупностью понятий и сущностей. В качестве идентификатора фрейму присваивается имя. Это имя должно быть единственным во всей фреймовой системе. Фрейм имеет определенную внутреннюю структуру, состоящую из множества элементов, называемых слотами, которым также присваиваются имена. Каждый слот, в свою очередь, представляется определенной структурой данных. Иногда слот включает компонент, называемый фасетом, который задает диапазон или перечень его возможных значений. Фасет указывает также граничные значения заполнителя слота (например, максимально допустимое число братьев


36. Каким образом осуществляется представление знаний в семантической сети?

Семантическая сеть представляет знания в виде графа, узлы которого соответствуют фактам или понятиям, а дуги – отношения между понятиями. Граф представляет собой множество вершин и множество дуг, соединяющих некоторые пары вершин. Размеченный граф для каждой вершины содержит дескрипторы (метки), благодаря которым вершины графа отличаются между собой. Для графа пространства состояний дескрипторы идентифицируют состояния в процессе решения задачи. Метки дуг в семантических сетях применяются для задания именованных отношений.
37. Опишите архитектуру экспертных систем



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

Информация, содержащаяся в базе знаний, обрабатывается с помощью машины вывода, которая использует эмпирические ассоциации или правила «ЕСЛИ … ТО» для формирования и проверки возможных решений. Интерфейс пользователя в доступной форме передает полученные результаты оператору.

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

38. Опишите функции машины (механизма) вывода

Главным в ЭС является механизм, осуществляющий поиск в БЗ по правилам рациональной логики, для получения решений. Этот механизм, называемый машиной вывода, приводится в действие при получении запроса пользователя и выполняет следующие задачи:

    • сравнивает информацию, содержащуюся в запросе пользователя, с информацией базы знаний;

    • ищет определенные цели или причинные связи;

    • оценивает относительную определенность фактов, основываясь на соответствующих коэффициентах доверия, связанных с каждым фактом.

Как следует из ее названия, машина вывода предназначена для построения заключений. Ее действие аналогично рассуждениям эксперта-человека, который оценивает проблему и предлагает гипотетические решения. В поиске целей на основе предложенных правил машина вывода обращается к БЗ до тех пор, пока не найдет вероятный путь к получению приемлемого результата.
39. Приведите структурную схему, описывающую этапы технологии создания экспертных систем



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

На этапе получения знаний выделяют три стратегии: приобретение знаний, извлечение знаний и обнаружение знаний. Под приобретением знаний понимается способ автоматизированного наполнения базы знаний посредством диалога эксперта и специальной программы. Извлечением знаний называют процедуру взаимодействия инженера по знаниям с источником знаний (экспертом, специальной литературой и т.д.) без использования вычислительной техники. Термин обнаружение знаний связывают с созданием компьютерных систем, реализующих методы автоматического получения знаний. Сейчас это направление является наиболее перспективным. При этом предполагается, что система сама сможет раскрыть закономерности предметной области и сформулировать необходимые знания на основе имеющегося эмпирического материала.

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

Этап формализации определяет способы представления всех видов знаний, формализует основные понятия, определяет способы интерпретации знаний, моделирует работу системы. На этом этапе оценивается адекватность целям системы зафиксированных понятий, методов решения, средств представления и манипулирования знаниями.

На этапе выполнения осуществляется наполнение БЗ системы. На этапе тестирования эксперт (и инженер по знаниям) в интерактивном режиме, используя диалоговые и объяснительные средства, проверяет компетентность ЭС. Процесс тестирования продолжается до тех пор, пока эксперт не решит, что система достигла требуемого уровня компетентности.

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

Процесс создания ЭС не сводится к соблюдению строгой последовательности перечисленных выше этапов. В ходе разработки приходится неоднократно возвращаться на более ранние этапы и пересматривать принятые там решения.

страница 1


скачать

Другие похожие работы: