bannerbannerbanner
Талантливое мышление. ТРИЗ

Владимир Петров
Талантливое мышление. ТРИЗ

2.4. Системный оператор

Системный оператор разработал автор ТРИЗ Г. С. Альтшуллер.

Его структура представлена на рис. 2.12.

Рис. 2.12. Системный оператор


Человек с рутинным мышлением рассматривает только саму систему. Более углубленный подход – выявить и исследовать части, из которых состоит система – подсистемы. Опытные люди выявляют, куда входит система, – определяют надсистему и окружающую среду. Это иерархическая структура (п. 2.2.3, рис. 2.3).

Это первая составляющая системного оператора.

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

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

Антисистема – это система, которая осуществляет противоположную функцию, по сравнению с исследуемой. Такое рассмотрение позволяет расширить представление о системе.

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

– Структура системы и ее иерархические уровни (система, подсистемы, надсистема и окружающая среда);

– Динамика развития систем на всех уровнях – эволюционное развитие (настоящее, прошедшее и будущее);

– Учет и использование антисистем, антифункций и анти-действий.

Приведем примеры использования системного оператора.


Пример 2.12. Дерево (продолжение)

Система – дерево (рис. 2.13). Подсистемы дерева мы рассматривали выше в примере 2.12. В этом примере выберем плод, например фрукт. Надсистема – лес. Это мы рассмотрели иерархическую линию.

Прошлое дерева – это семя. Прошлое плода – цветок и его ДНК. Прошлое леса – земля. Рассмотрим будущее. Одно из будущих дерева – это древесина. Одно из будущих фрукта (плода) – пирог. Одно из будущих леса – уголь. Это эволюционная составляющая.


Рис. 2.13. Системный оператор – дерево


Пример 2.17. Машина (автомобиль)

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

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


Рис. 2.14. Системный оператор – машина


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


Рассмотрим АНТИсоставляющую


Функция машины – перемещать (двигать) пассажира. Антифункция – сдерживать (оставлять на месте). В качестве такой системы может быть тюрьма, домашний арест для пассажира или «арест» машины (ее эвакуация) полицией, например за неправильную парковку.

У подсистемы двигателя функция – перемещение поршня. Антифункция – стопорение (фиксирование). Этой системой может служит любой зажим, например тиски; рыболовные снасти, например невод; сачок и т. д. Для автомобиля это может быть блокировка колеса из-за неправильной парковки (рис. 2.15).


Рис. 2.15. Блокировка колеса


Если в качестве подсистемы взять «газ», у которого функция увеличить обороты двигателя (ускорение движения), то антифункцию – уменьшить обороты (замедление движения) – выполняет тормоз.

У подсистемы колеса две функции: перемещение автомобиля и его поддержание на определенном расстоянии от дороги. Антифункция перемещения – фиксация. Эту функцию осуществляет то же колесо в режиме тормоза. Антифункция поддержания – это притягивание или отталкивание. Притягивание к дороге осуществляет антикрыло. В качестве отталкивания может быть воздушная подушка или воздушный шар (дирижабль и т. п.).

Надсистема автострада имеет функции опоры и указания направления движения. Антифункция опоры – отталкивание (см. выше). Антифункция указания направления движения – отсутствие указания направления. У самолетов, ракет, судов, подводных лодок и торпед нет указания направления движения в виде дороги. Указание осуществляется виртуально с помощью системы управления.

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

Остальные антиэлементы рассмотрите самостоятельно.

2.5. Учет влияний

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


Пример 2.18. Изменения во времени

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


Пример 2.19. Изменения по условию

Типовым изменением по условию в природе являются фазовые переходы, например при температуре 0 оС при атмосферном давлении лед превращается в воду. На большой глубине высокое давление. В космосе – невесомость и т. д.


Каждый из нас сталкивается с изменениями по условию в дорожном движении. При красном свете светофора – нет движения, а при зеленом – имеется.

Каждое изменение должно быть учтено при создании новых систем.

Учет всех изменений – одна из важных составляющих системного подхода.

Системное мышление должно применяться к любому объекту, к любому явлению и к любому процессу.

2.6. Динамическое программирование

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

Решение сложных задач зачастую невозможно «в лоб», поэтому задачу разбивают на подзадачи. Это используется в динамическом программировании.


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


Рис. 2.16. Графическое изображение динамического программирования


Рассмотрим пример на динамическое программирование.


Пример 2.20. Утро Бэтмена

Как Бэтмену одеться?


Рис. 2.17. Утро Бэтмена


Можно предложить два пути (рис. 2.18).


Рис. 2.18. Два разных способа одевания утром5

 

2.7. Примеры

Пример 2.21. Лечение душевнобольных

В последнее время применяют новую систему лечения душевнобольных.

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

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

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

Здесь практически используются почти все составляющие системного подхода.

– Иерархия систем – работа не только с системой (больным), но и с:

– надсистемой (его семья, с сотрудниками и всеми другими, с кем связан больной);

– подсистемой (особенности больного);

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

– Учтены все взаимосвязи системы с надсистемой и окружающей средой.

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

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

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


Пример 2.22. Ядерное оружие

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

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


Пример 2.23. Гласность

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

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


Пример 2.24. Сообщающиеся сосуды

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

«Основные причины, при наличии которых в сообщающихся сосудах будет существенно нарушаться равенство уровней:

1) Жидкость в одном из сосудов существенно холоднее (или теплее), чем в другом7;

2) В одном сосуде стенки смачиваются жидкостью, а в другом – нет, размеры же поперечных сечений сосудов невелики;

3) Каждый из сосудов в районе мениска жидкости представляет собой капилляр, причем диаметры их различны;

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

Пример на изменение стереотипов (психологической инерции) с помощью учета влияний на систему и получения новых знаний.


Пример 2.25. Колея железной дороги

Создание железнодорожного транспорта – типичный пример системного подхода.

Необходимо создавать не только локомотив (паровоз), но и колею. Одно без другого невозможно.

Далее будем говорить только о колее, а вернее, о ее ширине.

Создатель паровоза Джордж Стефенсон принял для первых английских железных дорог ширину колеи в 1435 мм (4 фут. 81/2 дюйм.), которая получила название стефенсоновской, или европейской колеи.

Первоначально он исходил из размера колеи конки 1372 мм (4 фут. 6 дюйм.), которая была выбрана из расчета средней ширины конского крупа. Однако на этой платформе ему никак не удавалось разместить котел и цилиндры с поршнями. Стефенсон увеличил ширину колеи только на два с половиной дюйма. Так появился и надолго, если не навсегда, закрепился «странный размер» – 4» 8½«». В метрической системе это 1435 мм.

В дальнейшем в разные годы в разных странах и для разных целей создавались колеи различной ширины – от 3000 мм в Германии в конце 1930-х годов до 1269 мм в Великобритании (Rudyard Lake Steam Railway).

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

В США появилась колея в 5» или же 1524 мм. Эту ширину колеи перенес в Россию американский железнодорожный инженер Джордж Уистлер. Он полностью спроектировал двухколейную железную дорогу длиной 685 км. Им были спроектированы все необходимые сооружения и мосты. Таким образом появилась русская колея.

В процессе унификации ширины колеи не всегда принимают самую выгодную, с технической стороны, широкую колею. В Англии в 40-е годы XIX века отказались от колеи в 2140 мм, так как для прокладки новой колеи нужно было бы расширять насыпи и выемки, менять мосты, туннели и т. д. Поэтому в Англии, США и в Европе и победила колея шириной 1435 мм9.

Самостоятельно укажите, какие элементы системного мышления использованы в данном примере.


Пример 2.26. В такси (анекдот)

Приехал Чукча в Москву. Едет в такси по городу. Вдруг наперерез – старушка. Водитель – вправо, и старушка – вправо, водитель – влево, и старушка – влево. Еле-еле разминулись. Оглядывается и видит, старушка лежит на мостовой. Чукча говорит:

– Русский охотник – плохой охотник. Если бы Чукча дверцу не открыл – ушла бы добыча!

Укажите самостоятельно, какие элементы системного мышления использованы в данном примере.


Пример 2.27 Авиаконструктор

«Самолет представляет собой такое сооружение, в котором непременно борются два начала: прочность и вес. Машину необходимо сделать прочной и легкой, а прочность и легкость все время воюют между собой», – пишет в своей книге «Рассказы авиаконструктора» А. Яковлев, создатель прославленных ЯКов.

У авиаконструктора много помощников (рис. 2.19) и каждый из них по-своему представляет себе идеальный самолет: для специалиста по аэродинамике главное – предельная обтекаемость; специалист, рассчитывающий самолет на прочность, видит идеальный самолет неудоболомаемым; для технолога важнее всего простота изготовления; специалист по моторам считает, что идеальный самолет – это большой мотор и маленькие крылышки; представитель Аэрофлота мечтает о вестимом летающем салоне для пассажиров…».10

Укажите самостоятельно, какие элементы системного мышления использованы в данном примере.


Рис. 2.19. Разные представления о самолете


Пример 2.28. Удаление заусенцев

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

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

При операции шлифования автоматически удаляются и заусенцы. Проблема исчезла.

Укажите самостоятельно, какие элементы системного мышления использованы в данном примере.


Пример 2.29. На сердитых воду возят

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

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

Укажите самостоятельно, какие элементы системного мышления использованы в данном примере.


Пример 2.30. Легенда о происхождении Тибета

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

Укажите самостоятельно, какие элементы системного мышления использованы в данном примере.


Пример 2.31. Притча о царе Соломоне

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

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

Так же спорили они и перед царем. Выслушав их, Соломон приказал принести меч.

Меч немедленно был принесен. Ни минуты не раздумывая, царь Соломон молвил:

– Пусть будут довольны обе. Рассеките живого ребенка пополам и отдайте каждой половину младенца.

Одна из женщин, услышав его слова, изменилась в лице и взмолилась:

– Отдайте ребенка моей соседке, она его мать, только не убивайте его!

Другая же, напротив, согласилась с решением царя.

– Рубите его, пусть не достанется ни ей, ни мне, – решительно сказала она.

Тут же царь Соломон изрек:

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

Укажите самостоятельно, какие элементы системного мышления использованы в данном примере.

2.8. Выводы

Подведем итоги и перечислим основные элементы системного подхода:

 

1. Система;

2. Иерархия;

3. Взаимосвязи и взаимовлияния;

4. Причинно-следственные связи;

5. Системность и системные требования;

6. Эволюционное развитие;

7. Учет изменений и их влияний;

8. Целеполагание;

9. Подход «Анти».


Подробнее с системным подходом можно ознакомиться в [5], [9] и [15].

2.9. Самостоятельная работа

2.9.1. Контрольные вопросы

1. Дайте определение системного мышления и системного подхода.

2. Перечислите основные понятия системного подхода.

3. Дайте определение системы.

4. Опишите иерархию систем. Назовите иерархические уровни системы.

5. Приведите понятия, сопутствующее понятию система.

6. Опишите виды изменений.

7. Что такое системный оператор?

8. Кто автор системного оператора?

9. Назовите основные оси системного оператора.


2.9.2. Темы докладов и рефератов

1. История появления термина система. Обзор и анализ имеющихся определений системы.

2. Анализ понятия системное мышление и системный подход у различных авторов.

3. Анализ не системного подхода к природе, искусственным системам и, в частности, к технике в истории развития человечества.

4. Значение взаимовлияний в различных областях знаний.

5. Значение системного подхода в науке, технике, бизнесе и жизни.


2.9.3. Выполните задания

1. Приведите примеры

1.1. Системного подхода.

– В разработке техники.

– В природе.

– В различных науках.

– В бизнесе.

– В жизни, и т. д.

1.2. Несистемного подхода

1.3. Используйте системный оператор для:

– Лампы;

– Компьютера;

– Любой системы и/или процесса.

1.4. Покажите учет влияний в:

– Природе.

– Технике.

– В семье, обществе и т. д.


2. Решите задачи, используя системный подход


2.1. Задача 2.1. Капитан Блад

Условие задачи

Капитан Питер Блад, герой романа Рафаэля Сабатини «Одиссея капитана Блада», отправляется на вражеский корабль для переговоров.

Как ему обеспечить безопасность жизни его и его товарищей?


2.2. Задача 2.2. Сигареты

Условие задачи

Как получить крупную сумму денег за выкуренные сигареты?


2.3. Задача 2.3. Инквизиция

Условие задачи

Много веков тому назад в Испании очередного подозреваемого вызывают к инквизитору. Как правило, это был смертный приговор.

Инквизитор, улыбаясь, говорит подозреваемому: «У меня сегодня хороший день, и я хочу оставить тебе шанс на жизнь. Вот две свернутые бумажки. На одной написано „Жизнь“, на другой – „Смерть“. Тяни свой жребий».

Подозреваемый побледнел, сразу понял, что на обеих написано: «Смерть».

Как ему спасти свою жизнь?


2.4. Задача 2.4. Охота на медведя

Условие задачи

Молодой и опытный охотник собрались на охоту на медведя.

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

Тогда молодой обернулся и застрелил медведя.

Опытный охотник начал ругать молодого. Почему?


2.5. Задача 2.5. Жестокий закон

Условие задачи

Жил некогда жестокий правитель, который не желал никого впускать в свои владения. У моста через пограничную реку был поставлен часовой, вооруженный с головы до ног, и ему было приказано спрашивать каждого путника:

– Зачем идешь?

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

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

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

– Зачем идешь? – сурово остановил его часовой, готовясь казнить смельчака, безрассудно идущего на верную гибель.

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

Каков же был ответ?


2.6. Задача 2.6. Учитель и ученик

Условие задачи

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

Квантл прошел уже полный курс обучения. Протагор ожидает платы, но ученик не торопится выступать на суде защитником. Как же быть? Протагор, наконец, решил взыскать с ученика долг по суду и подал на ученика в суд. Он рассуждал так: если дело будет им выиграно, то деньги должны быть взысканы на основании судебного приговора; если же тяжба будет им проиграна и, следовательно, выиграна его учеником, то деньги опять-таки должны быть уплачены Квантлом по уговору – платить после первой же выигранной учеником тяжбы.

Однако ученик, напротив, считал тяжбу Протагора совершенно безнадежной. Он, как видно, действительно кое-что перенял у своего учителя и рассуждал так: если его присудят к уплате, то он не должен платить по уговору – ведь он проиграл первую тяжбу; если же дело будет решено в его пользу, то он опять-таки не обязан платить – на основании судебного приговора.

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

Каков был приговор судьи?

2.7. Задача 2.7. Проповедник

Проповедник рассказал пастве свой сон. Ему приснилось, что он попал в старый замок. Его ввели в комнату, где стоял огромный стол, уставленный прекрасными кушаньями. За столом сидели люди. Но они ничего не ели и ругались. В чем дело?

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

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


2.8. Задача 2.8. Четыре треугольника

Условие задачи

Как построить четыре треугольника с помощью шести спичек?


2.9. Задача 2.9. Как это сделано?

Условие задачи

Вы видите здесь деревянный куб, составленный из двух кусков дерева (рис. 2.20). Верхняя половина куба имеет выступы, входящие в выемки нижней части. Обратите внимание на форму и расположение выступов и объясните: как ухитрился столяр соединить оба куска?12


Рис. 2.20. Хитроумное соединение в собранном виде


2.10. Задача 2.10. Демидов

Условие задачи

Акинфий Демидов обладал деловой хваткой, смелостью, предприимчивостью, размахом, способностью организовать и возглавить большое дело. Историки полагают, что в секретных подвалах люди Демидова чеканили серебряные рубли. Когда императрица Елизавета Петровна узнала про его незаконную деятельность, она позвала Демидова на карточную партию. А выиграв, спросила у него: «Чьи деньги ты сегодня проиграл мне?».

Как быть Демидову?

4Динамическое программирование – материал из Википедии.
  URL: http://bix.ucsd.edu/bioalgorithms/book/excerpt-ch6.pdf.
6Техника молодежи, №5, 1976
7Нарушение условия однородности жидкости. Расширенный закон гласит, что «отношение уровней жидкостей в сообщающихся сосудах обратно пропорционально отношению их плотностей».
8Латыпов Н. Н. Инженерная эвристика.
9В примере использованы материалы из работы: Романенко, В. Н. Практика работы в области инноваций: общие сведения о законах и технике творческой работы / Владимир Романенко, Галина Никитина. – Saarbrücken: Lambert acad. publ. (LAP), cop. 2015. – 90 с.: ил.; 22 см.; ISBN 978-3-659-80864-7.
10Альтшуллер Г. С. Как научиться изобретать. Тамбовское кн. изд-во, 1961. С. 39‒39.
11Кычанов Е. И., Мельниченко Б. Н. История Тибета с древнейших времен до наших дней / Е. И. Кычанов, Б. Н. Мельниченко – М: Вост. лит., 2005. – 351 с. – ISBN 5-02-018365-2. – С. 9.
  Перельман Я. И. Веселые задачи. Две сотни головоломок URL: http://jsulib.ru/Lib/Articles/004/464.
Рейтинг@Mail.ru