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

Программный комплекс адаптивных эволюционных алгоритмов моделирования и оптимизации сложных систем Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
204
50
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Программный комплекс адаптивных эволюционных алгоритмов моделирования и оптимизации сложных систем»

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

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

FIS, eNm'

Ni(%) = NFN10 ■ e FIS,° , определяющее процентное содержание никеля в отработанном шлаке. Относительная ошибка составила 2,21 % на обучающей выборке и 2,33 % на тестовой, что лучше, чем у каждой индивидуальной ИИТ в отдельности.

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

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

Литература

1. Engelbrecht A. Computational Intelligence: An Introduction, John Wiley and Sons. 2007. 597 p.

2. Galushin P., Semenkina O., Shabalov A. Comparative analysis of two distribution building optimization algorithms. Distributed computing and artificial intelligence. Advances in Intelligent and Soft Computing, 2012. Vol. 151, pp. 759-766.

3. Frank A., Asuncion A. UCI Machine Learning Repository. URL: http://archive.ics.uci.edu/ml (дата обращения: 9.07.2012).

References

1. Engelbrecht A., Computational Intelligence: an Introduction, John Wiley and Sons, 2007, 597 p.

2. Galushin P., Semenkina O., Shabalov A., Advances in Intelligent and Soft Computing, 2012, Vol. 151, pp. 759-766.

3. Frank A., Asuncion A., UCI Machine Learning Repository, Available at: http://archive.ics.uci.edu/ml (accessed 9 July 2012).

УДК 004.89:004.4

ПРОГРАММНЫЙ КОМПЛЕКС АДАПТИВНЫХ ЭВОЛЮЦИОННЫХ АЛГОРИТМОВ МОДЕЛИРОВАНИЯ И ОПТИМИЗАЦИИ СЛОЖНЫХ СИСТЕМ

(Работа выполнена при поддержке ФЦП «Исследования и разработки по приоритетным направлениям развития научно-технологического комплекса России на 2007-2013 годы», НИР 2011-1.9-519.-005-042 (ГК№ 11.519.11.4002), и ФЦП «Научные и научно-педагогические кадры России», НИР 2011-1.2.1-113-025 (ГК№ 16.740.11.0742))

Е.С. Семёнкин, д.т.н., профессор; М.Е. Семёнкина, аспирант (Сибирский государственный аэрокосмический университет им. академика М.Ф. Решетнева, просп. им. газ. "Красноярскийрабочий", 31, г. Красноярск, 660014, Россия, eugenesemenkin@yandex. ты, semenkina88t@mail. ты)

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

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

SOFTWARE PACKAGE OF ADAPTIVE EVOLUTIONARY ALGORITHMS FOR COMPLEX SYSTEMS MODELING AND OPTIMIZATION

Semenkin ES., Ph.D., Professor; SemenkinaM. E. , Postgraduate (Siberian State Aerospace University, 31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660014, Russia, [email protected], [email protected]) Аbstract. In this paper authors justify relevance and describe results of adaptive evolutionary algorithms development and their application in modeling and optimization of complex systems. Due to the essential evolutionary algorithms efficiency dependence from their settings choice the concept of self-configured evolutionary algorithm is introduced as one of possible adaptive evolutionary methods. Basic ideas of proposed approach to self-configuration of genetic operator different variants are described, results of the verification of the self-configured evolutionary algorithm performance on a set of test problems are discussed, the comparison results of the proposed self-configured evolutionary algorithms with the standard evolutionary algorithms are presented and the way for application of the self-configured genetic programming algorithm for automatic design of various intelligent information technologies are described. In addition, this article describes an approach using genetic programming algorithm with self-configuration for the automatic intelligent information technology ensembles generation, discusses the composition and mission of an adaptive evolutionary algorithms program complex for modeling and optimization of complex systems using self-configured genetic programming algorithms and self-configured genetic algorithm. The obtained results allow concluding that the discussed approach has a wide range application areas and high performance in solving practical problems.

Keywords: adaptive evolutionary algorithms, genetic programming algorithm, intelligent information technologies, self-configuration.

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

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

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

Описание подхода

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

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

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

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

Наиболее известными и часто используемыми ЭА являются ГА и алгоритмы ГП, которые, как и ГА, требуют тщательной настройки параметров для обеспечения их эффективной работы. Вариант самоконфигурации, описанный выше, может применяться и для ГА, и для алгоритма ГП, поскольку порядок и способ подключения операторов селекции, скрещивания и мутации одинаковы. Кроме того, предложенная методология самоконфигурации алгоритма может быть применена также для любых других ЭА. При самоконфигурации алгоритма ГП будем применять самоконфигурируемый ГА (SelfCGA) [5] для тонкой подстройки числовых параметров.

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

Формирование ИИТ

Самоконфигурируемый алгоритм ГП ^еН-CGP) является подходящим инструментом для автоматизированного проектирования ИИТ, таких как символьные выражения [7] и ИНС с произвольной архитектурой [8], не требует затрат времени и ресурсов на настройку самих инструментов. Перед реализацией данного алгоритма задаются терминальное и функциональное множества проектирования. Для алгоритма ГП, решающего задачу символьной регрессии, функциональное множество состоит из математических функций и процедур, а терминальное - из набора

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

- постановка нейронов (блоков нейронов) в один слой, являющаяся ассоциативной;

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

При выполнении первой операции новые связи между нейронами не появляются, при выполнении второй операции выходы нейронов из левой ветви подаются на вход нейронам из правой ветви.

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

Программные системы и результаты численных экспериментов

Описанные самоконфигурируемый ГА и самоконфигурируемый алгоритм ГП, ЭА для автоматического генерирования нейросетевых моделей, самоконфигурируемый алгоритм ГП для автоматического создания коллективов ИИТ были реализованы как программный комплекс адаптивных ЭА. Данный программный комплекс включает в себя программные системы «Самоконфигурируемый генетический алгоритм для решения сложных задач безусловной оптимизации (SeНCGA)», «Самоконфигурируемый алгоритм генетического программирования для решения задач символьной регрессии (SelfCGP+SRF)», «Самоконфигурируемый алгоритм генетического программирования для автоматического генерирования нейронных сетей (SelfCGP+ANN)» и «Самоконфигурируемый алгоритм генетического программирования для

автоматического создания коллективов интеллектуальных информационных технологий (SelfCGP+ +ЕшетЫе)». Они были протестированы на репрезентативном множестве общепринятых тестовых задач для эволюционных алгоритмов [9] и в дальнейшем применялись при исследовании и сравнении эффективности включенных в них вариантов алгоритмов.

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

Самоконфигурируемые алгоритмы ГП SelfCGP (+SRF, +ЕшетЫе) были апробированы на

ряде задач аппроксимации, а также при решении реальных практических задач моделирования, классификации и прогнозирования из области техники, медицины, банковского скоринга, компьютерной безопасности и распознавания речи. В общей сложности решено девять практических задач: классификация ирисов, диагностирование рака молочной железы, диагностирование диабета, банковский скоринг в Австралии, банковский ско-ринг в Германии, прогнозирование деградации солнечных батарей космического аппарата, выявление РЯОВЕ-атак, обнаружение спама, ISOLET (распознавание речи). Большинство задач взято из репозитория данных Калифорнийского университета для автоматического обучения [10]. Характеристики решенных задач приведены в таблице. В большинстве из них данные не только числовые, но и категориальные.

Числовые характеристики практических задач

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

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

Задача заключается в следующем: на основании полетных данных необходимо построить модель, в которой будут сформированы внутренние закономерности, позволяющие предсказывать значения выходных параметров для пробного набора внешних воздействий. Имеющаяся выборка из 197 примеров была разбита на три подвыборки: обучающая выборка из 119 примеров, проверочная -из 39 примеров и тестовая - из 39 примеров. Для оценки качества решения данной задачи использовалось относительное отклонение в процентах.

Результаты решения данной задачи при помощи различных подходов к формированию коллективов следующие: SelfCGP+ANNE - 4,18 %, Self-CGP+SRFE - 5,48 %, SelfCGP+ANN+SRFE -4,65 %, ANN s.a. - 5,42 %, ANN w.a. - 5,03 %, SRF s.a. - 6,28 %, SRF w.a. - 6,05 %, ANN+SRF s.a. -6,17 %, ANN+SRF w.a. - 5,56 %, SelfCGP+SRF -6,21 %, SelfCGP+ANN - 5,43 %.

Для их обозначения использовались сокращения: ANNE - ансамбль нейронных сетей, SRFE -ансамбль символьных выражений, ANN+SRFE -ансамбль из ИНС и символьных выражений, s.a. -простое усреднение, w.a. - взвешенное усреднение. SelfCGP+SRF и SelfCGP+ANN содержат оценку эффективности отдельных ИИТ, сгенерированных SelfCGP.

Данные результаты показывают, что ансамбли, сгенерированные SelfCGP из ИНС или из ИНС и символьных выражений, превосходят другие подходы к формированию коллективов. Кроме того, отдельные ИИТ, сгенерированные SelfCGP, показывают результативность не хуже, чем обычные методы формирования коллектива. Аналогичные выводы могут быть сделаны и для других задач.

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

Литература

1. Eiben A.E., Smith J.E. Introduction to Evolutionary Computing. Springer Verlag Berlin, 2003.

2. Haupt R.L., Haupt S.E. Practical genetic algorithms. John

Задача Число входов Число выходов Размер выборки

Классификация ирисов 3 3 150

Прогнозирование дегра- 7 4 197

дации солнечных бата-

реи космического аппа-

рата

Кредит в Австралии 14 2 690

Диагностика рака груди 10 2 699

Диагностика диабета 8 2 768

Кредит в Германии 20 2 1000

Обнаружение спама 57 2 4600

ISOLET (распознавание речи) 617 26 7797

Выявление PROBE-атак 9 2 4,9х106

Wiley & Sons, Inc., Hoboken, New Jersey, 2004.

3. Schaefer R., Cotta C., Kolodziej J., Rudolph G. (Eds.). Parallel Problem Solving from Nature PPSN XI 11th International Conf., Krakow, Poland, September 11-15, 2010.

4. Meyer-Nieberg S., Beyer H.-G. Self-Adaptation in Evolutionary Algorithms. Parameter Setting in Evolutionary Algorithm, 2007.

5. Semenkin E., Semenkina M. Self-configuring Genetic Algorithm with Modified Uniform Crossover Operator. In: Advances in Swarm Intelligence. Lecture Notes in Computer Science 7331. Springer-Verlag Berlin Heidelberg, 2012, pp. 414421.

6. Karafotias G., Smit S.K., Eiben A.E. Tuning Evolutionary Algorithms and Tuning Evolutionary Algorithm Controllers. Bioinspired Optimization Methods and their Applications: Proceedings of the Fifth International Conf. BI0MA-2012. Lyublyana: Jozef Stefan Institute, 2012, pp. 291-300.

7. Semenkin E., Semenkina M. Self-Configuring Genetic Programming Algorithm with Modified Uniform Crossover Operator. In: Proc. of the IEEE CEC, 2012, Brisbane, Australia.

8. Semenkin E., Semenkina M. Artificial neural networks design with self-configuring genetic programming algorithm: Bioinspired Optimization Methods and their Applications: Proceedings of the Fifth International Conf. BIOMA-2012. Lyublyana: Jozef Stefan Institute, 2012, pp. 291-300.

9. Finck S., Hansen N., Ros R. and Auger A. Real-parameter black-box optimization benchmarking 2009. In: Presentation of the noiseless functions. Technical Report, Researh Center PPE, 2009.

10. Frank A., Asuncion A. UCI Machine Learning Repository

Irvine, CA: University of California, School of Information and Computer Science. URL: http://archive.ics.uci. edu/ml (дата обращения: 10.07.2012).

References

1. Eiben A.E., Smith J.E., Introduction to Evolutionary Computing, Springer Verlag Berlin, 2003.

2. Haupt R.L., Haupt S.E., Practical genetic algorithms, John Wiley & Sons, 2004.

3. Schaefer R., Cotta C., Kolodziej J., Rudolph G., Intern. Conf. PPSNXI, Krakow, Poland, September 11-15, 2010.

4. Meyer-Nieberg S., Beyer H.-G., Parameter Setting in Evolutionary Algorithm, Springer Berlin, 2007.

5. Semenkin E., Semenkina M., Advances in Swarm Intelligence, Springer-Verlag Berlin Heidelberg, 2012, pp. 414-421.

6. Karafotias G., Smit S.K., Eiben A.E., Proc. of the Fifth Intern. Conf. BIOMA-2012, Lyublyana: Jozef Stefan Institute, 2012, pp. 291-300.

7. Semenkin E., Semenkina M., Proc. of the IEEE CEC, 2012, Brisbane, Australia.

8. Semenkin E., Semenkina M., Proc. of the Fifth Intern. Conf. BIOMA-2012, Lyublyana: Jozef Stefan Institute, 2012, pp. 291-300.

9. Finck S., Hansen N., Ros R. and Auger A., Presentation of the noiseless functions, Technical Report, Researh Center PPE, 2009.

10. Frank A., Asuncion A., UCIMachine Learning Repository, Available at: http://archive.ics.uci. edu/ml (accessed 9 July 2012).

УДК 004.738.1:9

РАЗРАБОТКА РАЗДЕЛА НАУЧНОГО ЕЖЕГОДНИКА ДЛЯ АКАДЕМИЧЕСКОГО САЙТА НА БАЗЕ CMS NETCAT

Н.М. Резина, вед. программист; Р.Н. Шакиров, к.т.н., зав. сектором (Институт машиноведения УрО РАН, ул. Комсомольская, 34, г. Екатеринбург, 620049, Россия,

[email protected], ru, [email protected]); А.Ю. Яжук, ст. лаборант-исследователь (Институт философии и права УрО РАН, ул. Софьи Ковалевской, 16, г. Екатеринбург, 620990, Россия)

Обсуждается вопрос создания сетевой версии периодического научного издания в соответствии с требованиями ВАК. Для оптимизации затрат времени на разработку и наполнение данными предлагается подход, основанный на модернизации существующего сайта. Для разработки академических сайтов авторы применяют CMS NetCat, которая является самой распространенной в России системой-конструктором. Сайт оформлен как внешний интерфейс к БД, содержащей сведения об организационной структуре, планах и результатах деятельности организации. Информация выбирается из базы по запросам, создаваемым в соответствии с текущими потребностями по отображению информации на сайте организации. Для отображения раздела научного ежегодника создаются специальные запросы к базе авторов и публикаций.

Ключевые слова: системы управления контентом, веб-программирование, разработка сайтов, модернизация сайтов, NetCat, база публикаций, периодическое научное издание, ВАК.

DEVELOPMENT OF JOURNAL PARTITION FOR ACADEMIC SITE BASED ON CMS NETCAT Rezina N.M., Leading Programmer; Shakirov R.N., Ph.D., Head of Sector (Institute of Engineering Science of RAS (UB), 34, Komsomolskaya St., Ekaterinburg, 620049, Russia,

[email protected], ru, raul@imach. uran. ru); YazhukAYu., Senior Laboratory Assistant-researcher (Institute of Philosophy and Law of RAS (UB), 16, Sofi Kovalevskoy St., Ekaterinburg, 620990, Russia) Abstract. The question is discussed how to create Internet version of periodic science edition in accordance with requirements of VAC. To optimize time required for development and filling of content we use approach based on modernization of existing site of organization. For development of academic sites we use CMS NetCat, which is the most applicable in Russia site constructor. Site is represented as an external interface to internal database that contains information about organization, its goals, plans and results of activity. Data is extracted from the database by requests that are created in

i Надоели баннеры? Вы всегда можете отключить рекламу.