Нейронечеткая система обнаружения продукционных зависимостей в базах данных

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

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

Литература

1. Ross J. Quinlan. C4.5: Programs for Machine learning. Morgan Kaufmann Publishers, 1993.

2. Breiman L., Friedman J.H., Olshen R.A. and Stone C.T. Classification and Regression Trees. Wadsworth, Belmont, California, 1984.

3. Норенков И.П. Генетические методы структурного синтеза проектных решений // Информационные технологии. 1998. № 1. С. 9-13.

4. Goldberg D. Genetic Algorithms in Search, Optimization, and Machine Learning // Adison-Wesley Publ., 1989.

УДК 681.3

НЕЙРОНЕЧЕТКАЯ СИСТЕМА ОБНАРУЖЕНИЯ ПРОДУКЦИОННЫХ ЗАВИСИМОСТЕЙ В БАЗАХ ДАННЫХ

А.С. Катасёв, к.т.н..; Ч.Ф. Ахатова

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

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

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

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

Основными проблемами при разработке экспертных систем являются получение и форма-

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

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

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

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

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

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

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

Нечетко-продукционная модель представления знаний

В [1] на примере задачи планирования геолого-технических мероприятий на нефтяных месторождениях показано, что зависимость между значениями входных параметров (условиями) и назначаемым результатом может быть эффективно описана экспертом в виде следующей нечетко-продукционной модели представления знаний: «ЕСЛИ р; есть А| (wJ1) и

Р2' есть А\ ) И ... И

pJ есть A* (w]n) ТО Возможно применение технологии Tj» [CFJ], где PJ = ¡Р'} - множество входных параметров

правила; AJ = ¡А|} - множество нечетких ограничений на параметры PJ; wJ = {wJ} - веса нечетких ограничений, определяющие их важность; CFJe[0, 1] - степень достоверности сформированного правила, то есть степень уверенности эксперта в его универсальности (CERTAINTY FACTOR); TjeT - технология, рекомендуемая к применению.

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

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

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

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

В нулевом слое нейронной сети содержатся два Р-нейрона, выполняющих функцию распределения входных сигналов по нейронам первого слоя. В первом слое сети содержится 2*3=6 А-нейронов, которые моделируют нечеткие условия вида «Р есть А,». Выход А-нейронов равен

значениям функций принадлежности А, (степень срабатывания условий) при соответствующих значениях входных нейронов. Второй слой содержит 32=9 И-нейронов, задающих нечеткие продукции в

виде «ЕСЛИ Р, есть А1 И Р2 есть А2 ТО Т,». Выход И-нейронов определяет оценку срабатывания соответствующего правила 8Ь. Третий слой сети состоит из девяти Сотр-нейронов, на выходе которых рассчитываются комплексные оценки срабатывания правил, равные произведению значений соответствующих оценок доверия к принятому решению 8В на оценки 8^ Веса связи Сотр-нейронов с выходом нейронной сети определяют степень достоверности сформированных правил СР. Произведения выходов Сотр-нейронов на их веса образуют общий коэффициент достоверности решений. В четвертом слое содержится Т-нейрон, на выходе которого вычисляются взвешенные нормированные оценки достоверности принимаемого решения.

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

принадлежности А,.

Проблемы обучения нечеткой нейронной сети

В [2] для решения данной задачи обучения был использован алгоритм обратного распространения ошибки, основанный на методе градиентного спуска. Эффективность алгоритма определяется, в частности, гарантией его сходимости за конечное число шагов. Недостатками такого подхода явились большая длительность процесса обучения, а также сложность выхода из локальных минимумов и нахождения глобального минимума в области решений - значений функции ошибки выхода нейронной сети.

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

бальной оптимизации - минимизации ошибки выхода нейронной сети. Попытки решения данной проблемы привели к необходимости введения вспомогательных операций композиции и декомпозиции хромосом [3], что повлияло на увеличение времени обучения.

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

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

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

1. Задаются начальное значение адаптивного шага обучения а (0<а<1), желаемая ошибка выхода нейронной сети Em, а также минимальный порог изменения ошибки при обучении AEmin.

2. На вход сети подаются i-е образы из обучающей выборки, для каждого из которых

• осуществляется фаза прямого распространения сигнала по нейронной сети, определяется взвешенная активность выходного нейрона (значение выхода y^);

• вычисляется среднеквадратичная ошибка выхода нейронной сети для i-го входного образа

i 1 i 2

ET =— (AyT) , где Ayi = y'— tT - абсолютная

ошибка выхода; tT - требуемое значение выхода;

• для минимизации ошибки Ei последовательно настраиваются выходы Сотр-нейронов x!

на основе генетического алгоритма GAMT (Genetic Algorithm for Minimized T-error);

• вычисляются требуемые значения выходов

x!

И-нейронов (SR )треб = —^-, где t - время;

S'

рассчитываются

ошибки выходов И-нейронов E' =— (AS' )2

среднеквадратичные

i(ASL 42 2

где ASR = SR — (SR )треб - абсолютная ошибка выхода; (SR )тр(в - требуемое значение выхода; • для минимизации ошибки E' последова-

'и

тельно модифицируются параметры функций принадлежности соответствующих А-нейронов на основе генетического алгоритма GAMИ (Genetic Algorithm for Minimized И-error).

3. Вычисляется среднее значение ошибки выхода для всех входных

1 "

образов: ЕСр = - У Е' .

п1=-

4. Рассчитывается изменение ошибки выхода:

АЕ^ = Е^ (1 -1) - Е^ (1).

5. Если 0<АЕстр

<АЕт1п, процесс обучения заканчивается.

6. Если Е^ >Ет, происходит переход к шагу 7 алгоритма, иначе процесс обучения нечеткой нейронной сети заканчивается.

7. Проверяется условие невозрастания ошибки выхода нейронной сети: если АЕТР <0, уменьшается адаптивный шаг обучения и происходит переход к шагу 2 алгоритма.

Настоящий алгоритм функционирует до тех пор, пока средняя ошибка выхода нейронной сети не станет меньше заданной (ЕТР < Еш) либо изменение ошибки выхода АЕТР не будет превышать минимально допустимый уровень АЕт1п.

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

Этапы работы генетических алгоритмов

Общим в работе каждого генетического алгоритма настройки параметров нечеткой нейронной сети является их соответствие принципам работы классического генетического алгоритма [4]. Таким образом, для практического применения алгоритмов необходимо задать способ кодирования и декодирования параметров задачи, определить правило создания начальной популяции хромосом, ввести оценку приспособленности хромосом в популяции (фитнес-функцию), разработать правила

Рис. 2. Блок-схема алгоритма обучения нечеткой нейронной сети

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

Кодирование и декодирование параметров задачи. Как уже было сказано, кодирование параметров задачи для генетического алгоритма ОЛМИ заключается в настройке соответствующих параметров функций принадлежности нечеткой нейронной сети, которые задаются некоторой параметризованной функцией формы (треугольной, трапецеидальной, гауссовой и др.) с вектором параметров ик . Так, для треугольной функции принадлежности ик =(и1к,и2к,и3к) , где ыхк - левое

основание; и2к - центр (мода); и3к - правое основание (рис. 3).

К x)i 1 i

Ulk u2k иък x Рис. 3. Треугольная функция принадлежности и ее параметры

Настройка параметров uik функций принадлежности осуществляется в окрестности Д=[u,^ ], ширина которой определяется

индивидуально для каждого параметра и может составлять до 30 % ширины ее основания.

Разобьем данную окрестность на 2n интервалов, где n - целое число, например 10. Тогда параметр uik сможет принимать одно из 210 значений, которые будут кодироваться хромосомой {uik} длиной 10 бит. При этом хромосома, состоящая из нулей, соответствует значению параметра u , а состоящая из единиц - значению u . Та-

iKmin max

ким образом, мощность хромосомного набора для каждого параметра uik функции принадлежности равна числу 2n.

Во время работы алгоритма GAMT происходит настройка выходов Comp-нейронов xi , область

значений которых постоянна и равна [0, 1]. Способ разбиения данного отрезка и кодирование значений выходов Сотр-нейронов аналогичны алгоритму GAMИ. При этом мощность хромосомного набора для каждого параметра xi также равна

числу 2n.

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

Создание начальной популяции хромосом. Функционирование генетических алгоритмов начинается с создания начальных популяций хромосом для всех параметров нечеткой нейронной сети, участвующих в обучении. При задании значения числа n мощность хромосомного набора для любого параметра постоянна и равна 2n, где n -длина хромосомы. Объем начальной популяции хромосом N рекомендуется выбирать на порядок меньше числа 2n. Однако при малых значениях n (n<10) данный объем должен быть сравним с чис-2"

лом —. Так, например, при n=10 для создания "

начальной популяции случайным образом выбираются N=100 хромосом (1=1, ..., N из общего хромосомного набора мощностью 1024.

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

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

В генетическом алгоритме ОЛМТ в роли функции приспособленности выступает среднеквадратичная ошибка выхода нейронной сети Е^ . Соответственно, в алгоритме ОЛМИ функцией приспособленности является ошибка выхода И-нейрона Е! .

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

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

Оператор селекции реализуется на основе метода рулетки [4]. Для каждой хромосомы текущей популяции формируется сектор на колесе рулетки (рис. 4), площадь которого пропорциональна значению инверсной вероятности селекции данной

1-Е

хромосомы: pi=

I

С помощью колеса рулетки случайно выбирается число из интервала [0, N1, указывающее на сектор колеса, которому соответствует конкретная хромосома. Таким способом из текущей популяции выбираются два кандидата-родителя, к ним в дальнейшем применяются генетические операторы для порождения потомков.

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

сети. Рассмотрим пример работы оператора скрещивания (табл. 1).

Таблица 1

Примечание. Здесь X и Y - исходные решения (родители); Z, Q - новые решения (потомки).

Как видно из таблицы, в исходных хромосомах случайным образом выбирается точка скрещивания (в данном случае в Ьй позиции хромосом), после чего происходит обмен противоположными частями родителей. Так рождаются новые потомки. Отметим, что процесс скрещивания носит случайный характер и производится с вероятностью рсе[0,5, 1].

Оператор мутации, применяемый к потомкам после скрещивания, также случаен с вероятностью рме[0, 0,05]. Сам процесс мутации заключается в инверсии одного из битов строки дочерних хромосом, выбираемого по равномерному закону.

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

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

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

Апробация нейронечеткой системы

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

В качестве входов нейронной сети примем параметры «возраст пациента», «стаж заболевания» и «стаж физических нагрузок», а в качестве выхода - «протрузия межпозвонкового диска». В результате обучения нечеткой нейронной сети получим правила следующего вида: ЕСЛИ «Возраст пациента»=«средний» ^=0,47) И «Стаж заболевания»=«большой» ^=0,59) И «Стаж физических нагрузок»=«большой» ^=0,61) ТО «Возможно наличие протрузии межпозвонкового диска» [СР=0,63].

На рисунке 5 показан пример функций принадлежности для параметра «возраст пациента».

Рис. 5. Сформированные функции принадлежности

По оси абсцисс указан возраст пациента в годах, по оси ординат - степень принадлежности значений возраста к градациям «молодой» (МР!), «средний» (МР2), «пожилой» (МР3).

Особенности формирования базы знаний с использованием нечеткой нейронной сети изучались при разработке экспертной системы диагностики клинических проявлений остеохондроза поясничного отдела позвоночника [5]. Для этого были взяты данные обследования 230 женщин в возрасте от 15 до 92 лет и 180 мужчин в возрасте от 16 до 81 года с различными синдромами поясничного остеохондроза на стационарном этапе обострения и в стадии начинающейся ремиссии. Контрольную группу составили 20 женщин в возрасте от 20 до

Хромосома Позиция генов

1 1 i+1 п

X а! ам а„

Y в! в вi+l вп

Z а! вi+l в„

Q в! в аi+l а„

70 лет и 20 мужчин в возрасте от 17 до 73 лет, никогда не страдавших поясничными болями.

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

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

Анализ эффективности алгоритмов обучения нечеткой нейронной сети

При апробации нечеткой нейронной сети ставилась задача не только оценки ее пригодности для обнаружения продукционных зависимостей в БД, но и анализа эффективности алгоритмов ее обучения. Сравнивались результаты применения гибридного алгоритма обучения нейронной сети с результатами, полученными в предыдущих исследованиях на базе алгоритма обратного распространения ошибки [2] и генетического алгоритма [3].

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

Таблица 2

Как видно из таблицы, результаты работы гибридного алгоритма обучения нечеткой нейронной сети по всем критериям лучше соответствую-

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

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

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

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

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

Литература

1. Глова В.И., Аникин И.В., Шагиахметов М.Р. Методы многокритериального принятия решений в условиях неопределенности в задачах нефтедобычи: препр. 04П2. Казань: Изд-во КГТУ, 2004. 31 с.

2. Катасев А.С. Нейронечеткая модель и программный комплекс формирования баз знаний экспертных систем: дисс. канд. технич. наук. Казань, 2006.

3. Катасев А.С., Ахатова Ч.Ф. Нейронечеткая модель формирования баз знаний экспертных систем с генетическим алгоритмом обучения // Проблемы управления и моделирования в сложных системах: тр. XII Междунар. конф. Самара: Са-мар. науч. центр РАН, 2010. С. 615-621.

4. Рутковская Д., Пилиньский М., Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие системы; [пер. с польск. И.Д. Рудинского]. М.: Горячая линия - Телеком, 2006.

5. Глова В.И. [и др.]. Формирование базы знаний медицинской диагностической экспертной системы на основе нечеткой нейронной сети // Исследования по информатике. Казань: Отечество, 2007. Вып. 12. С. 31-46.

Алгоритм Значение па- рамет-ра Оцениваемые параметры

Значение выхода Ошибка выхода Время обучения Число эпох

Обратного распространения ошибки Лучшее 0,7 0,05 00:01:48 96247

Среднее 0,63 0,07 00:02:11 114247

Худшее 0,3 0,25 00:10:27 547195

Генетиче-скии Лучшее 0,62 0,07 00:00:58 517

Среднее 0,57 0,09 00:01:25 736

Худшее 0,43 0,16 00:02:46 1461

Гибридный Лучшее 0,83 0,01 00:00:16 93

Среднее 0,75 0,03 00:00:42 248

Худшее 0,59 0,08 00:01:07 371