пятница, 26 июня 2009 г.

Особенности информационных банковских систем

В статье рассматриваются и анализируются информационные банковские системы (ИБС) по следующему плану.
1. Сущность и особенности ИБС
2. Принципы построения ИБС
2.1.Модульный принцип построения
2.2.Принцип единства информационного пространства
2.3.Принцип безопасности
3. Тенденции развития ИБС

1. Сущность и особенности ИБС
Сегодня повсеместное использование информационных технологий стало объективной необходимостью. Спектр областей, в которых применяются информационные технологии, чрезвычайно широк. Одной из сфер, где их значение было традиционно велико с момента начала их бурного развития, является финансовая сфера.
Современный банковский сектор существует в условиях возрастающей конкуренции, снижения прибыльности операций, жесткой борьбы за клиентов. Все это приводит к требованиям по повышению качества и удешевлению обслуживания клиентов, а также к новым требованиям по скорости и объемам обработки данных. Одним из способов повышения эффективности бизнеса является внедрение информационных технологий (ИТ), комплексная автоматизация банковских процедур и процессов как единой целостной системы, покрывающей все функции банка и обеспечивающей сквозную обработку информации.
Информационная банковская система (ИБС) представляет собой программно технологический комплекс, охватывающий совокупность взаимосвязанных автоматизированных банковских операций и задач.
Принципиальные особенности ИБС определяются принципиальным своеобразием самой деятельности банков.
Банки по определению являются финансовыми институтами, имеющими универсальный характер. В то же время многие операции, относящиеся к банковским (расчетные, кассовые, кредитные, с ценными бумагами, доверительного управления, хранение ценностей и др.), выполняют и должны выполнять (при наличии соответствующего разрешения, если это необходимо) не только банки, но и другие кредитные организации (НКО – небанковские кредитные организации), а в определенной мере даже просто предприятия. Однако имеются операции, которые могут и должны выполнять банки и только они. Вышеуказанная их исключительная прерогатива в общем плане была названа как образование платежных средств, их выпуск в оборот и изъятие из оборота. При этом важно иметь в виду, что обеспечение хозяйственного оборота платежными средствами не является обособленным направлением деятельности банков, а предполагает внутреннюю неразрывную связь с вкладными (депозитными), расчетно платежными, кредитными, кассовыми и другими операциями. С учётом данного соображения можно утверждать, что указанная исключительная прерогатива банков конкретно реализуется в соответствующих группах операций, которые и являются решающими, определяющими саму природу банков [1].
К особенностям банковской деятельности относятся также:
1) чрезвычайная подвижность, изменчивость параметров функционирования финансовых рынков, вызываемые не только эконо¬мическими, но и политическими, социальными и иными причина¬ми, что требует от ответственных сотрудников банков постоян¬ной аналитической напряженности и высочайшей оперативности, причем не в ущерб качеству анализа и проведения операций. Банк должен постоянно держать в поле зрения, с одной сто¬роны действия, решения и даже намерения любых властных структур, которые могут хотя бы косвенно отразиться на условиях банковской деятельности, с другой – состояние и тенденции развития экономики региона и страны в целом, всех ее секторов, рынков (или по крайней мере тех из них, на которых действуют или собираются действовать его клиенты), и с учетом прочих в названных сферах изменений своевременно принимать необходимые и возможные меры (контрмеры) как в собственных интересах, так и в интересах своих клиентов;
2) нематериальный характер банковских продуктов (услуг) и необходимость участия практически всех подразделений банка в производстве каждого такого продукта;
3) целесообразность постоянного и целенаправленного расширения клиентской базы, привлечения с помощью самых разнообразных методов и приемов как можно большего числа и объёмов вкладов и депозитов; увеличения объема средств, проходящих по счетам клиентов; максимального содействия последним в эффективном, прибыльном ведении того дела, которым они занимаются;
4) необходимость соответствовать ожиданиям потребителей банковских услуг, почти всегда рассчитывающих на индивидуальные варианты предоставления им даже традиционных, стандартных банковских продуктов;
5) относительная ограниченность ниши банковского бизнеса необходимость для банка быть универсальным в рамках этой ниши финансовым институтом, т.е. знать состояние и тенденции развития всех сегментов рынка банковских услуг, определять свое фактическое и потенциальное место на них, постоянно быть готовым оказывать клиентам любые услуги, какие им понадобятся (с учетом экономической эффективности соответствующих операций). Кроме того, универсальный характер деятельности банка проявляется и в том, что в большинстве случаев оказание им клиенту даже отдельно взятой услуги на самом деле требует совершения целого комплекса взаимосвязанных операций;
6) необходимость постоянно и одновременно работать с разнообразными клиентами, представляющими практически все сферы и отрасли хозяйства, противоречивые интересы и цели которых надо согласовывать, на разнообразных рынках, испытывающих самые разные тенденции, со всем богатством существующих в каждый данный момент финансовых инструментов, с разнообразными валютами;
Таким образом, уникальность самой деятельности банков ведёт к уникальности и автоматизации банковских процессов, предъявляет к ней определённые требования.
ИБС наряду с операционной составляющей включают и управленческую.
Система управления банком выполняет в целом функции, типичные для любых управленческих систем (учет и контроль, анализ и регулирование, планирование), но она обладает особенностями распределения этих функций между элементами управленческой структуры.
Учет и контроль в банке представлены операционным и бухгалтерским учетом, которые тесно связаны между собой: аналитический учет отражается в банковских лицевых счетах, а каждый лицевой счет связан с определенным балансом. Статистический учет позволяет собрать сведения об изменении отдельных показателей за отдельный период.
Анализ является функцией управления, позволяющей распознать сложившуюся экономическую ситуацию как внутри, так и вне банка. В крупных банках существуют два подразделения, одно из которых обеспечивает анализ внутреннего состояния банка, а другое анализирует внешнюю среду.
Планирование подготавливает решения, обеспечивающие достижение поставленных целей.
Подготовленные на этапе планирования решения реализуются в рамках функции регулирования.
Объектом управления в банке является деятельность каждого подразделения или отдельного сотрудника, а также отдельная банковская операция, состоящая из ряда технологических этапов. Структура управления банком может быть различной и зависит от размеров банка, числа видов оказываемых услуг, количества клиентов и операций, выполняемых банком.
Особенности ИБС проявляются и в требованиях, предъявляемых к системам:
– постоянные изменения, происходящие в сфере банковской деятельности и затрагивающие юридическую форму (изменения законодательства), экономическую среду (появление новых продуктов и услуг) и банковские технологии (уровень предоставляемого сервиса), требуют от системы управления банком высокой степени адаптивности, т. е. ИБС должны иметь гибкую структуру и быть открытыми системами, допускающими внесение необходимых изменений в случае каких либо перестроек в банковской сфере;
– информация в операционной и бухгалтерской деятельности банка требует высокой степени достоверности. Нарушение достоверности информации может привести к серьезным отрицательным последствиям. Для этого в ИБС используются технологические приемы, как визуальный контроль, двойной набор информации при вводе, метод контрольных сумм, проверка по справочникам и др. Большое значение для повышения достоверности имеет предусматриваемая в системе персональная ответственность и последующий контроль;
– возможность «отката на дату» (контрольную точку) или «технологического отката» через систему обратных проводок «красное сторно» («красное сторно» – способ исправления ошибок в бухгалтерском учете, заключающийся в том, что ошибочно внесенную операцию записывают красными чернилами и исключают из итоговой суммы счета). В соответствии с этим принципом при достижении исходной ситуации и её фиксации сотрудники банка должны иметь возможность внесения изменений и возврата с автоматическим расчетом, закрытием и архивацией всех последующих дней;
– блокирования ввода платежных документов, приводящих к дебетовому сальдо (дебетовое сальдо – превышение итоговых сумм по дебету счета по сравнению с кредитом). Если же такая ситуация не возникает и платежный документ не содержит некорректные реквизиты, банковская технология предполагает однократный ввод информации в систему и автоматическое формирование проводок по всем операциям;
– выполнения проводок и изменения лицевых счетов в реальном масштабе времени. Система должна обеспечивать постоянное изменение состояния лицевых счетов и ежедневный пересчет остатков на них с учетом дневных изменений.
2. Принципы построения ИБС
Анализ автоматизированных банковских систем свидетельствует об отсутствии унификации и стандартизации банковских технологий. Технологии выполнения одноименных банковских операций отличаются в различных банках. Это привело к появлению на рынке информационных технологий программных средств, обеспечивающих различную степень автоматизации банковской деятельности. Но при проектировании ИБС следует соблюдать ряд основополагающих принципов:
2.1. Модульный принцип
Структура современной ИБС представляет собой набор функциональных модулей. Они отражают одну из особенностей банковских систем – модульный принцип построения, который присущ большинству современных ИБС. Модульный принцип построения предусматривает разделение информационной банковской системы на ряд элементов по функциональному или объектному принципу. На практике чаще всего используется функциональное разделение, что позволяет пользователю связать отдельные модули в единую информационную систему, максимально отражающую специфику и потребности каждого банка. Набор модулей может варьироваться в зависимости от специфики банка, его направленности, масштаба деятельности, от перечня и характера операций, реально выполняемых банком. Деление на функциональные модули может отличаться в системах разных производителей, однако в целом находится в тесной зависимости от основных видов банковской продукции. Основные модули ИБС приведены на рисунке [2].


Структура ИБС

Центральным модулем (ядром) ИБС является базовый модуль, который обеспечивает проведение аналитического и синтетического учёта, формирование обязательной отчётности и подготовку и взаимодействие для решения всех остальных задач банка.
Модуль расчетно кассового обслуживания (РКО). Решаемые задачи:
– учет данных о клиентах банка, заключенных договорах банковского счета, открытие и ведение расчетных и валютных счетов клиентов;
– обработка банковских документов различных видов, в том числе платежных поручений в рублях и иностранной валюте, кассовых, конверсионных, мемориальных, внебалансовых и срочных документов;
– проведение рублевых расчетов через расчетную сеть Банка России, валютных расчетов, а также расчетов с использованием корреспондентских счетов, открытых в других банках;
– автоматизированное ведение картотек документов;
– автоматический расчет и взимание комиссии с клиентов за проведение операций;
– формирование бухгалтерской отчетности в соответствии с требованиями Банка России.
Модуль учета коммерческих кредитов. Решаемые задачи:
– регистрация кредитных заявок клиентов, анализ кредитоспособности заемщиков, учет заключенных кредитных договоров различных видов;
– учет обеспечения no ссудам, расчет платежных календарей, начисление процентов и штрафов, расчет и урегулирование резервов под возможные потери no ссудам;
– бухгалтерское отражение кредитных операций с автоматическим формированием платежных, внутренних и внебалансовых документов и ордеров в модуле РКО;
– формирование внутренних документов различного вида и бухгалтерской отчетности в соответствии с требованиями Банка России.
Модуль учета депозитов. Решаемые задачи:
– ведение депозитных договоров клиентов no различным тарифным планам клиента, включая поддержку специфики банка no выплатам процентов, погашению, пролонгации вкладов и пр.;
– бухгалтерский учет операций no договорам привлечения средств (наличных и безналичных), расчета процентов и налогов, пролонгации, погашения в срок и досрочного расторжения договора и др. с автоматическим формированием необходимых документов в модуле РКО, ведение текущих состояний договоров;
– формирование отчетности в соответствии с требованиями Банка России.
Модули операций на денежных рынках. Решаемые задачи:
– автоматизированный учет и оформление сделок, соответствующих обязательств, календарей платежей, выплат процентов, пролонгаций и взаимозачетов по сделкам, заключенным на межбанковском денежном рынке;
– обеспечение возможности совместного расчета лимитов по сделкам межбанковского кредита (МБК) и FOREX в случае, если в банке ведутся единые кредитные лимиты контрагентов;
– формирование обязательной, внутренней и клиентской отчетности.
Модуль вексельного учета. Решаемые задачи:
– поддержка операций выпуска собственных векселей, торговых операций с чужими векселями, предоставления вексельных кредитов, инкассовых и гарантийных операций;
– ведение реестров собственных выпущенных в обращение векселей, векселей на ответственном хранении, чужих векселей в собственном портфеле и др.
– автоматизированное оформление операций с векселями, обеспечивающее ведение бухгалтерского учета, включая автоматическое открытие счетов и формирование проводок нa всех этапах жизненного цикла векселя;
– формирование основных видов отчетности: внутренней аналитической отчетности и обязательной отчетности в соответствии с требованиями Банка России.
Модуль обслуживания населения. Решаемые задачи:
обслуживание населения с проведением всего спектра необходимых операций «без открытия счета» (переводы средств без открытия счета, операции с ценностями, депозитарные услуги и валютно обменные операции) и «по счету» (оформление депозитных договоров, регистрация условий вкладов, изменение условий вклада, расчет процентов и автоматический бухгалтерский учет; платежи в рублях и валюте со счета; предоставление кредитов населению, работа с организациями пo обслуживанию сотрудников и населения).
Модуль хозяйственных договоров. Решаемые задачи:
– ведение реестра заключенных банком хозяйственных договоров;
– обработка и хранение документов no договорам (счета, накладные, акты, счета фактуры);
– формирование платёжных документов по оплате счетов, накладных, закрытию актов;
– автоматическое формирование счетов фактур по клиентским операциям, а также ведение книги покупок и продаж;
– формирование оперативной отчетности по контролю и планированию расчётов с поставщиками;
– планирование и контроль исполнения расходной части бюджета банка.
Модуль операций с ценными бумагами. Решаемые задачи:
– автоматизированный учет и оформление сделок с ценными бумагами
ведение собственных (торгового и инвестиционного) и клиентских портфелей;
– ведение собственной и клиентской позиции no денежным средствам и ценным бумагам;
– автоматическое бухгалтерское оформление результатов операций;
– автоматический расчет и удержание комиссионного вознаграждения с клиентов;
– переоценка торгового портфеля банка no рыночной стоимости ценных бумаг, формирование бухгалтерских проводок no результатам переоценки;
– расчет финансового результата no собственным и клиентским операциям;
– формирование основных видов отчетности.
2.2. Принцип единства информационного пространства
Создание автоматизированных банковских технологий требует учета особенностей структуры, специфики и объемов банковской деятельности. Это относится к организационному взаимодействию всех подразделений банка, которое вызывает необходимость создания многоуровневых и многозвенных, со сложными информационными связями прямого и обратного направления, систем. В таких системах весь спектр банковских технологий реализуется в едином информационном пространстве внутрибанковского и внебанковского взаимодействия. На уровне ИБС единое информационное пространство можно интерпретировать как возможность системы оперировать любыми данными, формирующимися в процессе функционирования системы, при этом важное значение имеет и принцип открытости технологий, способных взаимодействовать с различными внешними системами, финансовыми и информационными структурами.
К внешней среде, с которой взаимодействует коммерческий банк относятся: обменные пункты, участники электронного денежного обращения с использованием пластиковых карточек, клиенты, филиалы банка, банки на территории России, банки на территории СНГ, зарубежные банки, прочие.
Единое информационное пространство создаётся и реализацией функционально полного набора банковских телекоммуникаций, Возможностью осуществлять интеграцию отделений, филиалов во всех приложениях банковских услуг, обеспечивать доставку услуг в любое место востребования и в любое время, в онлайновом и офлайновом режимах (непосредственной и регламентируемой связи). Итак, телекоммуникационные системы позволяют банку решать важнейшие задачи автоматизации – от чисто технических, как, например, обеспечение оптимальной производительности и прозрачности взаимодействия бизнес процессов, до функциональных на наивысшем уровне банковского обслуживания.
Применение локальных, региональных и глобальных сетей в ИБС предъявляет повышенные требования к их надежности, а также защите и целостности данных, т. е. к безопасности системы.
2.3. Принцип безопасности
Современные ИБС построены по принципу распределенной обработки данных, поэтому они содержат мощные технические и программные средства, базы данных, а также средства телекомму¬никации, создающие корпоративное информационное простран¬ство банка. Отдельные компоненты системы по каналам связи об¬мениваются между собой данными, поэтому необходимо обеспечить надежность функционирования не только каждого из них, но и всей банковской информационной системы в целом. Любой сбой в движении информационных потоков или нарушение правил доступа к ним приводят к проблемам в работе всей организации и, как следствие, к дополнительным расходам или упущенной выгоде.
Практика последних месяцев показала, что наибольший общественный резонанс вызывают случаи утечки конфиденциальной информации именно из финансовых организаций. С одной стороны, это можно объяснить тем, что пресса и общество очень чувствительно относятся ко всему, что «бьет по карману». С другой стороны, частота инцидентов и масштабы утечек настолько велики, что действительно уже пора вознегодовать: «А вообще, способны ли банки и кредитные компании защитить сведения своих клиентов?». Прежде чем ответить на этот вопрос, необходимо рассмотреть те проблемы, с которыми сталкиваются компании кредитно финансового сектора.
Одна из нерешенных проблем на сегодняшний день общая небезопасность ИТ инфраструктуры. Именно так можно охарактеризовать последний скандал с потенциальной утечкой записей о более 40 млн. кредитных карт. Нарушив требования, предъявляемые компанией MasterCard, и элементарные правила ИТ безопасности, CardSystems Solutions допустила злоумышленников к базе данных, содержащей приватные сведения. В результате, 70 тыс. записей были точно скомпрометированы, а еще 40 млн. лишь потенциально [3].
Наконец самой серьезной проблемой банков являются недобросовестные действия сотрудников, которые за деньги готовы продавать на стороне любые сведения о счетах клиентов. Например, в мае 2005 г. была зарегистрирована самая крупная банковская утечка приватных данных в США. Жертвой целой банды продажных клерков стали 4 крупнейших банка США (Wachovia, Bank of America, Commerce Bancorp и PNC Bank) и почти 700 тыс. американских граждан.
Под безопасностью ИБС понимается защищенность системы от случайного или преднамеренного вмешательства в нормаль¬ный процесс ее функционирования, а также от попыток хищения, модификации или разрушения ее компонентов [4]. Рассматривая информационную безопасность, следует иметь в виду именно единую систему, включающую в себя не только комплекс мер по предотвращению и выявлению нарушений, но и механизмы восстановления работоспособности и снижения ущерба, полученного в результате исключительного события. Основные правила построения такой системы рассматриваются в [5]. Безопасность любого компонента данной системы достигается обеспечением трех его характеристик: целостности, доступности и конфиденциальности.
Целостность компонента системы предполагает, что при функционировании системы информация может быть изменена только теми пользователями, которые имеют на это право.
Доступность предусматривает действительную доступность компонента авторизованному (т. е. допущенному) пользователю в любое время.
Конфиденциальность состоит в том, что определенная часть информации предоставляется только авторизованным пользова¬телям.
Например, эксперты компании InfoWatch считают, что финансовые компании действительно могут обеспечить приемлемый уровень защиты. В качестве пути минимизации рисков предлагается целый ряд мер [6].
Во первых, необходимо убедиться в том, что внешний партнер, берущий на себя часть функций банка, реализовал соответствующие политики и процедуры, а также внедрил соответствующие технические средства внутренней ИТ безопасности.
Во вторых, необходимо обеспечить соответствие ИБС требованиям существующих стандартов. В России, например, с 1 декабря 2004 г. используется стандарт Центрального Банка «Обеспечение информационной безопасности организаций банковской системы», который позволяет оптимизировать не только управление ИТ безопасностью, но также описывает жизненный цикл программных средств и критерии оценки безопасности информационных ресурсов банка. Эксперты отзываются о новом стандарте положительно, указывая на выгоду реализации его положений, как для самого банка, так и для его клиентов.
В третьих, необходимы специальные средства контроля над всеми операциями, осуществляемыми над конфиденциальной информацией. К сожалению, без дополнительной защиты невозможно обезопасить приватные сведения. Какие требования следует предъявлять к таким средствам контроля? Прежде всего, покрытие всех каналов утечки данных: ресурсов Интернета (веб, почта, и т. д.) и средств вывода рабочих станций (принтеры, мобильные носители и т. д.). Во вторую очередь, активный мониторинг всех действий пользователя по изменению конфиденциальной информации. Зачастую существующие технические решения дополнительно решают целый комплекс сопутствующих проблем, в результате чего банку значительно проще пройти сертификацию. Это как расширенные средства аудита и ведения журналов, так и управление жизненным циклом, включая архивирование, хранение и ретроспективный анализ.
В условиях, когда компьютерные системы становятся основой бизнеса, а базы данных – главным капиталом многих компаний, антивирусная защита прочно встает рядом с мерами повышения общей экономической безопасности организации. Особенно эта проблема актуальна для банков, по сути дела являющихся хранителями весьма конфиденциальной информации о клиентах, и бизнес которых построен на непрерывной обработке электронных данных. Кража, уничтожение, искажение информации, сбой и отказ компьютерных систем – вот те проблемы, которые несут с собой вирусы и вирусоподобные программы.
Реализация указанных выше мер позволит минимизировать риски утечки конфиденциальных данных, повысить надёжность и функционирование ИБС, не потерять доверия клиентов и не превратиться в очередной объект статистики инцидентов в сфере ИТ безопасности.
3. Тенденции развития ИБС
Таким образом, требования функционального и структурного плана к автоматизации банковской деятельности, надёжности и защищённости банковской информации определяют особенности ИБС и неприемлемость ИС, созданных для предприятий при решении всего спектра задач в банковской сфере. Если главная цель функционирования ИС на предприятии – обеспечить руководство предприятия финансовой информацией для принятия обоснованных решений при выборе альтернативных вариантов использования ограниченных ресурсов, при этом данные о хозяйственной деятельности являются входом в ИС, а полезная информация для лиц, принимающих решения, – выходом из нее, то ИБС предоставляют возможность ведения учета всего набора операций, осуществляемых банком, с приемлемой степенью скорости и надежности, получения всей бухгалтерской и финансовой отчетности, возможность автоматизации реального банковского документооборота, а функциональные подсистемы реализуют банковские услуги, бизнес процессы и любые комплексы задач, отражающие содержательную или предметную направленность банковской деятельности. Уникальность ИБС определяется и особенностями реализации внешних взаимодействий банка. Системы управления деятельностью кредитных организаций сегодня представляют собой самостоятельное направление в сфере информационного бизнеса. Информационные системы для кредитных организаций прошли достаточно долгий путь развития, и в настоящее время можно с уверенностью утверждать, что процесс информатизации банковской деятельности продолжится.
Основными тенденциями станут повышение качества и надежности предлагаемых продуктов и услуг, увеличение скорости осуществления расчетных операций, организация электронного доступа клиентов к банковским продуктам. Все это и в дальнейшем будет способствовать активному внедрению в банковскую практику самых последних достижений в области вычислительной техники, сетевых и информационных технологий, методов защиты информации и обработки данных. Рынок программных продуктов для кредитных организаций представлен широким спектром систем, различающихся как в функциональной части, так и в технической реализации. Кроме того, ряд банков (около 50%) разрабатывают собственное программное обеспечение. Качественная эволюция деятельности банков, их возрастающие требования и финансовые возможности будут развивать и направлять подходы к организации программного обеспечения банковских технологий, к выбору той или иной ИБС или фирмы – разработчика программного продукта.
Примечания
1. Тавасиев, А. М. Банковское дело: базовые операции для клиентов [Текст] : учеб. пособие / А. М. Тавасиев, В. П. Бычков, В. А. Москвин / под ред. А. М. Тавасиева. М.: Финансы и статистика, 2005. 304 с.: ил.
2. Гобарева, Я. Л. Банковские информационные системы и технологии. Ч. 1. Технология банковского учета [Текст] : учеб. пособие / Я. Л. Гобарева, Е. Р. Кочанова, Т. Н. Нестерова и др. / под ред. Д. В. Чистова. М.: Финансы и статистика, 2005. 384 с.
3. http://www.securitylab.ru [Электронный ресурс].
4. Гобарева, Я. Л. Указ. соч.
5. Тютюнник, А. В. Информационные технологии в банке [Текст] / А. В. Тютюнник, А. С. Шевелев. М.: Издательская группа «БДЦ пресс», 2003. 368 с.
6. http://www.securitylab.ru [Электронный ресурс].

Есть те смельчаки, кто со мной на яхте в испанию махнет?

Легендарный us open турнир по теннису

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

О Волго Вятском региональном научно образовательном центре Российской академии образования
(ВВРНОЦ РАО)

Благодаря инициативе группы ученых Вятского государственного гуманитарного университета и поддержке её Российской академией образования (протокол заседания Президиума РАО от 22.02.2006 № 3) 18 июля 2006 г. в г. Кирове начала свою деятельность автономная некоммерческая организация «Волго Вятский региональный научно образовательный центр Российской академии образования» (ВВРНОЦ РАО).
Волго Вятский региональный научно образовательный центр Российской академии образования создан с целью организации, проведения и координации фундаментальных и прикладных научных исследований, направленных на получение новых знаний об образовании, постоянное развитие педагогической, психологической и смежных с ними наук как основы совершенствования образования в Волго Вятском регионе.
Председателем центра избран д. пед. н., член корреспондент РАО Владимир Степанович Данюшенков.
В соответствии с Уставом Волго Вятского регионального научно образовательного центра Российской академии образования (ВВРНОЦ РАО) основными задачами организации являются следующие:
­ разработка научных основ развития системы образования в регионе с учетом происходящих в нем национально культурных, социально экономических и демографических процессов;
­ развитие педагогики, психологии, возрастной физиологии, социологии, теории управления образованием и других наук, обеспечивающих решение фундаментальных и прикладных проблем повышения эффективности образования в регионе;
­ участие в разработке и научном обеспечении государственной образовательной политики, стратегических направлений, образовательных стандартов, целей, программ и моделей развития образования;
­ разработка новых образовательных технологий, средств и форм обучения и воспитания и внедрение их в деятельность экспериментальных и инновационных площадок региона;
­ проектирование, поддержка и экспертиза образовательных инноваций;
­ осуществление научно методической помощи семье, учебно воспитательным учреждениям и органам образования (управления образованием);
­ оказание содействия диссертационным советам вузов, научных учреждений и организаций, входящих в ВВРНОЦ РАО;
­ выявление и поддержка талантливых исследователей, содействие творческому росту научной молодёжи;
­ организация международного сотрудничества в области образования и науки, ориентированного на решение, в том числе образовательных проблем региона.
В качестве основных видов деятельности Центра рассматриваются следующие:
­ осуществление научных связей с Российской академией образования, ее отделениями, государственными отраслевыми академиями, научными обществами, творческими союзами и другими организациями;
­ выполнение фундаментальных и прикладных научных исследований;
­ укрепление имиджа РАО в Волго Вятском регионе;
­ информирование педагогической общественности о результатах научного сотрудничества ПО РАО, РАО и ВВРНОЦ РАО;
­ осуществление издательской деятельности, в том числе издание научных и научно популярных журналов, информационных вестников, бюллетеней и т. п.;
­ публикация результатов исследований научных учреждений, организаций, членов и сотрудников ВВРНОЦ РАО, рекомендация к изданию трудов по проблемам регионального образования и науки в средствах массовой информации;
­ осуществление защиты прав интеллектуальной собственности ученых, учреждений и организаций, входящих в ВВРНОЦ РАО;
­ проведение научных сессий, конференций, симпозиумов и совещаний;
­ осуществление просветительской деятельности, включая организацию семинаров, курсов и иных форм обучения работников системы образования;
­ координация региональных исследований по проблемам образования и науки;
­ оказание консультативных услуг по вопросам образования, науки и управления образованием представителям региональных органов управления образованием и работникам образования региона;
­ выполнение научной экспертизы региональных программ развития образования и проектов на всех этапах разработки и реализации;
­ взаимодействие с государственными органами власти в разработке и реализации образовательной политики;
­ осуществление связей с зарубежными научными учреждениями, участие в международных научных программах, в работе международных научных организаций, обмен специалистами и совместные исследования с зарубежными партнерами;
­ сбор, обобщение и распространение отечественной и зарубежной информации в области отечественной и зарубежной теории и практики образования и науки;
­ создание экспериментальных площадок в регионе;
– другие виды деятельности, соответствующие задачам ВВРНОЦ РАО и не противоречащие законодательству Российской Федерации.
13–14 июня 2007 г. состоялась презентация Волго Вятского регионального научно образовательного центра Российской академии образования, в которой приняли участие представители Поволжского отделения Российской академии образования, в том числе Г. В. Мухаметзянова (председатель ПО РАО, Институт педагогики и психологии профессионального образования РАО (г. Казань), академик РАО, д. пед. н., профессор); заведующие научно исследовательскими лабораториями Института педагогики и психологии профессионального образования РАО (г. Казань); ученые из МГПИ им. Н. К. Крупской; А. А. Галицких, заместитель Губернатора Кировской области, к. пед. н., администрация Кировской области; сотрудники университета (ВятГГУ), представители Кировского института повышения квалификации и переподготовки работников образования, представители общественности, экспериментальных педагогических площадок (из них – 13 докторов наук, 24 кандидата наук, аспиранты и докторанты кафедр ВятГГУ).
В ходе заседания были раскрыты проблемные поля исследований по научным направлениям, которые уже оформились как мощные исследовательские линии в рамках научной деятельности ВятГГУ:
– Модернизация предметного обучения в режиме профилизации сельских школ Волго Вятского региона (науч. рук. – чл. кор. РАО, д. пед. н., профессор В. С. Данюшенков).
– Методологические вопросы методики физики (науч. рук. – чл. кор. РАО, д. пед. н., профессор Ю. А. Сауров).
– Синергетическая парадигма образования в методике преподавания информатики (науч. рук. – д. пед. н., профессор С. М. Окулов).
– Совершенствование системы непрерывного экологического образования (науч. рук. – д. техн. н., профессор Т. Я. Ашихмина).
– Социальная адаптация обучающихся в образовательных учреждениях (науч. рук. – д. пед. н., профессор Г. И. Симонова).
– Интегративный подход в воспитании интеллигентности будущего специалиста в системе высшего профессионального образования (науч. рук. – д. пед. н., профессор Т. В. Машарова).
– Гуманитарное образование в профессиональной подготовке специалиста (науч. рук. – д. пед. н., профессор Е. О. Галицких).
Данные направления исследований были одобрены и поддержаны руководителями Поволжского отделения РАО и получили заслуженно высокую оценку.
Центр приглашает к сотрудничеству ученых, работников учреждений управления образованием, представителей социальных и бизнес структур, директоров и учителей школ Волго Вятского региона, всех, кто неравнодушен к судьбе развития современного образования.

Быстрый и качественный Евроремонт офисов и зданий в Новосибирске за минимальные сроки

Флэшмоб всегда привлекает внимание. Вот и Флэш-моб "АТАКА" не оказался исключением, вызвав бурный интерес. Публика обожает подобные мероприятия!

Вариации на тему венгерской теоремы

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

Д. Кёниг и Е. Эгервари доказали теорему, названную в их честь как «венгерская теорема». Её можно сформулировать в терминах двоичных матриц, то есть матриц, элементы которых равны 0 или 1. Под линией двоичной матрицы понимается ее строка или столбец.
Теорема. Для произвольной двоичной матрицы максимальная мощность множества (появлений) единиц, из которых никакие две не лежат на одной линии, равна минимальному числу линий, которыми можно покрыть все единицы [1].
Пример. Дана двоичная матрица A[1..6,1..5], её вид – ???. Столбцы и строки пронумерованы. Двойным подчеркиванием выделен вариант (он не единственный) множества единиц максимальной мощности, а символом «*» линии, покрывающие все единицы матрицы. Как максимальная мощность множества единиц, так и минимальное число линий равно 4.
Преобразование двоичной матрицы в двудольный граф. Напомним, что двудольным графом называется граф G=(V,E) такой, что его множество вершин V можно разбить на два подмножества X и Y таких, что каждое ребро из E соединяет вершины из разных подмножеств. Построим двудольный граф G=(X,Y,E), где X={1, 2, 3, 4, 5, 6}, Y={1, 2, 3, 4, 5} и E={(i,j), если соответствующий элемент матрицы A[i,j]=1. Граф имеет вид, представленный на рис. 1. Естественно, что и обратное преобразование – по любому двудольному графу строится единственным образом матрица А, также верно.


Рис. 1. Двудольный граф, соответствующий матрице А

Два понятия – «покрытие» и «независимость».
1. Вершина графа покрывает инцидентные её (связанные с ней) ребра, а ребро графа покрывает инцидентные ему (связанные с ним) вершины.
Естественным образом возникают две задачи: поиск минимального числа вершин, покрывающих все ребра графа G (вершинное покрытие минимальной мощности), это число вершинного покрытия – 0(G); поиск минимального числа ребер (реберное покрытие минимальной мощности), покрывающих все вершины графа G, это число реберного покрытия – 1(G).
2. Множество вершин графа G называют независимым, если никакие две из них не смежны (не связаны между собой). Наибольшее число вершин в независимом множестве называют вершинным числом независимости – 0(G), а соответствующее множество наибольшим. Аналогично, в независимом множестве ребер любая пара ребер не смежна. Наибольшее число ребер в независимом множестве ребер называют реберным числом независимости – 1(G). Для независимого множества ребер двудольного графа используется другой термин – «паросочетание».
На рис. 1 выделены вершины графа из минимального вершинного покрытия и ребра графа из наибольшего паросочетания. Паросочетание M графа G является наибольшим (максимальным по количеству ребер), если для любого другого паросочетания M’ справедливо неравенство M’M. Есть сходное, но отличающееся понятие «максимального паросочетания». Это такое паросочетание, которое не содержится ни в каком другом, то есть оно максимально по включению.
Другая формулировка «венгерской теоремы». Для произвольного двудольного графа выполняется равенство 0(G)=1(G) или, другими словами, минимальная мощность вершинного покрытия равна максимальной мощности паросочетания.
Вывод. Умея находить наибольшее паросочетание в двудольном графе, мы умеем решать и задачу нахождения множества единиц в двоичной матрице, максимальной мощности, из которых никакие две не лежат на одной линии, и задачу нахождения вершинного покрытия минимальной мощности или поиска минимального числа линий, которыми можно покрыть все единицы двоичной матрицы, и не только.
Алгоритм нахождения наибольшего паросочетания в двудольном графе. В некоторых источниках этот алгоритм также называют «венгерским» [2]. Он, по количеству практических применений, по временной эффективности, ибо он полиномиальный, а не переборный, относится к разряду основных, классических и не только в алгоритмах на графах, но и в целом, в проблемах, решаемых с помощью компьютера. При этом общая идея алгоритма чрезвычайно проста, что очередной раз подтверждает тезис – «все гениальное (фундаментальное) просто» и в «фундаменте» информатики лежит совсем немного основополагающих понятий и идей[3].
Для пояснения алгоритма необходимо еще одно понятие «чередующей цепи». Оно опять же предельно простое. Пусть мы построили произвольным образом некоторое паросочетание M (это некоторое независимое множество ребер). На рис. 2 (а) ребра M выделены «жирным» цветом {(2,1), (3,2), (4,4)}. Остальные ребра G определим в данный момент как «тонкие». Относительно данного паросочетания вершина с номером 1 из X и вершины с номерами 3 и 5 из Y свободны, то есть не смежны с ребрами из M. Чередующаяся цепь начинается из свободной вершины, принадлежащей к X, и заканчивается в свободной вершине, принадлежащей к Y. Кроме того (коль она чередующаяся) в ней чередуются «тонкие» и «жирные» ребра, и заканчивается она, как и начинается, «тонким» ребром. В предельном случае чередующаяся цепь может состоять из одного «тонкого» ребра. Для графа G и паросочетания M на рис. 2 (б) найдена чередующаяся цепь – (1,4), (4,4), (4,2), (2,3), (3,3). Мы пока не говорим, как она найдена. Найдена, если её можно найти, то есть, если она существует, и все. Следующий шаг – это изменение «толщины» ребер, принадлежащих чередующейся цепи. Ребра (1,4), (4,2) и (3,3) делаем «жирными», а ребра (4,4) и (3,2) – «тонкими» (рис. 2 (в)). Процесс поиска чередующейся цепи следует продолжить относительно нового паросочетания M – {(1,4), (2,1), (3,3), (4,2)}. Оказывается, что если не будет найдена чередующаяся цепь, ибо её нет (а не алгоритм плохой), то паросочетание M является наибольшим. Эти простые рассуждения в математике оформлены в виде теоремы.

Рис. 2. Пример графа для иллюстрации логики нахождения
наибольшего паросочетания.

Теорема. Паросочетание M в двудольном графе G наибольшее тогда и только тогда, когда в G не существует чередующейся цепи относительно M.
Примечание. Заметим, что математическое доказательство этой и ранее приведенных теорем не являются сложными и требуют только определенных навыков.
Ответим на вопрос о том, как искать чередующуюся цепь (описание любого из приводимых способов общеизвестны, в частности, они описаны в работе одного из авторов [4]).
1. Просмотр вершин графа методом поиска в глубину (с ограничением). Просмотр последовательно начинается из свободных вершин множества X. Ограничение заключается в том, что из вершин множества X переход осуществляется по «тонким» ребрам, а из вершин множества Y по «жирным» ребрам. Условием завершения поиска следует считать достижение первой свободной вершины из Y.
2. Просмотр вершин графа методом поиска в ширину (с ограничением). Просмотр последовательно начинается из свободных вершин множества X. Ограничение заключается в том, что из вершин множества X в очередь записываются «тонкие» ребра, а из вершин множества Y – «жирное» ребро. Условием завершения поиска следует считать достижение первой свободной вершины из Y.
3. Методы поиска выхода из лабиринта. У лабиринта начальными позициями являются свободные (относительно паросочетания M) вершины из X, конечными позициями – свободные вершины из Y, препятствие трансформируется в условие чередования «тонких» и «жирных» ребер. Например, текущая клетка (лабиринт на клеточном поле) светлая – из неё можно делать ход в темную клетку, и наоборот.
Реализация каждого метода зависит от искусства синтеза в единое целое (цельность, выражаясь философским языком) управляющих конструкций и структур данных. Представим себе на минуту, например, что в нашем распоряжении нет такой структуры данных как массив, и мы можем работать только с конкретными ячейками памяти. Это вполне реальная ситуация начальной стадии развития информатики. Оцените, во сколько раз возрастет в программе количество управляющих конструкций. Однако и в то время создавали эффективные и работающие программы, не уступающие современным.
«Набросаем» схему реализации первого метода. Общая логика не зависит от выбранного метода и имеет вид.
Begin
<ввод и инициализация данных>;
<найти первое паросочетание>;
While <есть чередующаяся цепь> Do <изменить паросочетание>;
<вывод результата>;
End.
Пусть граф описывается в памяти компьютера матрицей А[n,m], где n – количество вершин в множестве X, а m – в Y. Паросочетание будем хранить в двух одномерных массивах Xn и Ym. Для рассмотренного примера Xn={0,1,2,4} и Ym={2,3,0,4,0}. Уточнение фрагмента «найти первое паросочетание» не требует разъяснений. Можно начать и с одного ребра в первом паросочетании, и с пустого паросочетания, но в этом случае количество итераций в основной логике возрастает. Как лучше хранить чередующуюся цепь, учитывая то, как мы описываем паросочетание и продумывая логику её построения? Пусть это будет массив, Chain:Array[1..NMmax] Of NMmax..NMmax (NMmax – максимальное число вершин в графе), и его значение для рассмотренного примера равно [1, 4, 4, 2, 3, 3], то есть вершины из множества Ym хранятся со знаком минус (чисто технический прием для упрощения логики определения принадлежности вершины к множествам Xn и Ym). Итак, поиск чередующейся цепи (при n=m).
Function FindChain: Boolean;
Var i, j, t, r, q : Integer;
Nnew : Array [1..n] Of Boolean;
Begin
For i:=1 To n Do Nnew[i]:=False;
i := 1;
While i<=n Do Begin
FillChar(Chain, SizeOf(Chain), 0);
If Xn[i] = 0 Then Begin {Вершина из Х свободна.}
yk := 1;
Chain[yk] := i; {Первая вершина чередующейся цепи.}
t := 1;
Repeat
r := Chain[t]; {Текущая вершина из чередующейся цепи. Она принадлежит Х.}
q := n;
j := Chain[t+1]+1; {Номер вершины из У, с которой осуществляется поиск.}
While (j <= q) And ((A[r, j]=0) Or Nnew[j] Or (Xn[r]=j)) Do Inc(j); {Находим «тонкое» ребро, не принадлежащее паросочетанию.}
If j<=q Then Begin
Inc(yk); {Добавляем вершину из У в цепь.}
Chain[yk] := j;
Nnew[j] := True;
If Yn[j] = 0 Then Begin {Найдена чередующуюся цепь.}
FindChain := True;
Exit;
End
Else Begin {Переход по «жирному» ребру к вершине из Х.}
Inc(yk);
Chain[yk] := Yn[j]; {Добавляем эту вершину из Х в цепь.}
Inc(t, 2);
End;
End
Else Begin {Не находим вершину в У. Возвращаемся на шаг назад.}
Dec(t, 2);
Dec(yk, 2);
End;
Until (t>yk) Or (t<1);
End;
Inc(i);
End;
FindChain := False;
End;
При такой схеме реализации поиска чередующейся цепи цикл While основной логики имеет вид: While FindChain Do <изменить паросочетание>;.
Обобщением задачи построения наибольшего паросочетания в двудольном графе является поиск паросочетаний во взвешенном двудольном графе G=(X,Y,E), то есть графе, в котором с каждым ребром связано некое число (обычно целое), называемое весом. Ищется, как правило, совершенное паросочетание с минимальным суммарным весом (для краткости назовем его оптимальным). Напомним, что паросочетание – это независимое множество ребер и если оно является реберным покрытием, то есть покрывающим все вершины графа, то этот тип паросочетаний выделяется названием «совершенное». Этот класс задач называется «задачами о назначениях». Сузим общую задачу о назначении до случая полного двудольного графа G (каждая вершина из X связана с каждой вершиной из Y, и наоборот) и n=m. Исследованием методов решения задачи о назначениях в 50 е годы XX века помимо Д. Кёнига и Е. Эгервари интенсивно занимался Х. Кун. Алгоритмы её решения, как правило, называются венгерскими. Мы в своем изложении опираемся на исследование темы Н. Кристофидесом [5] и М. О. Асановым [6].
Сформулируем следующие простые утверждения.
Утверждение 1. Если веса всех ребер графа, инцидентных какой либо вершине, увеличить (уменьшить) на одно и то же число, то всякое оптимальное паросочетание в графе с новыми весами останется оптимальным и в графе с исходными весами.
Утверждение 2. Пусть в G=(X,Y,E) выделено множество вершин X’X и Y’Y. Без ограничения в общности считаем, что X’ – первые t вершин X, а Y’ – первые q вершин Y’. Найдем d=Min(A[i,j]), где iX’ и jY\Y’. Схема разбивки матрицы смежности графа A на части показана на рис. 3. Действия: элементы в строках X’ уменьшим на значение d; элементы в столбцах из Y’ увеличим на значение d. Результаты выполнения действий отражены на рис. 3. Элементы в частях 3, 4 не изменятся, в части 1 – уменьшаться на значение d, в части 3 – увеличатся на значение d. В целом веса ребер двудольного графа останутся неотрицательными. Суть утверждения заключается в том, что если текущее паросочетание построено только на вершинах X’ и Y’, то в результате описанного действия оно не изменится. Утверждением «закладывается» (определяется) некая аддитивность задачи.

Рис. 3. Иллюстрация логики действий в утверждении 2

Утверждение 3. Если веса всех ребер графа неотрицательны и некоторое совершенное паросочетание состоит из ребер нулевого веса, то, очевидно, что оно является оптимальным.
Утверждения 1, 2 следуют из того, что в искомое паросочетание входит только одно ребро инцидентное конкретной вершине. Сформулированные утверждения позволяют дать одну из алгоритмических модификаций венгерской темы.
Поиск оптимального паросочетания в двудольном графе G при n=m. Дадим неформальное описание (случай неотрицательных весов) алгоритма по методике Д. Кнута.
Шаг 1. [Преобразование матрицы смежности графа G на основании утверждения 1.] Изменить веса ребер так, чтобы у каждой вершины было хотя бы одно инцидентное ей ребро нулевого веса.
Шаг 2. [Построение начального паросочетания M.] Сформируем любым методом (путем прямого просмотра ребер, инцидентных вершинам из множества X) начальное паросочетание с суммарным нулевым весом.
Шаг 3. [Цикл по паросочетаниям M. Проверка паросочетания M на оптимальность, например, путем установки факта наличия вершин в Х, не задействованных в M.] Пока M не является оптимальным паросочетанием, выполнять шаги 4, 5, 6. Если паросочетание M оптимальное, то завершить работу.
Шаг 4. [Поиск чередующейся цепи.] Из свободных относительно M вершин X искать чередующуюся цепь (обозначим её P) с суммарным нулевым весом.
Шаг 5. [Принятие решения.] Если цепь Р найдена, то изменить паросочетание, и вернуться на шаг 3, иначе перейти на шаг 6.
Шаг 6. [Изменение весов ребер графа.] При поиске чередующейся цепи (шаг 4) выделены множества X’ и Y’. Путем применения действий утверждения 2 изменить веса ребер. Появится, по крайней мере, одно новое ребро с нулевым весом. После чего перейти на шаг 4.

Рис. 4. Граф из примера, иллюстрирующего логику
поиска оптимального паросочетания

Как видим, ключевым моментом алгоритма является рассмотренный ранее шаг 4 – построение чередующейся цепи. Действия на шаге 6 не изменяют веса текущего паросочетания M. Этот факт позволяет говорить о некой аддитивности задачи. Поясним сказанное – пусть для некоторой части графа построено оптимальное паросочетание. Оно, конечно, в силу техники нахождения чередующейся цепи, незначительно измениться (в окрестности оптимальности), но останется оптимальным, при его распространении на большую часть графа. Эта неформальная аналогия наводит на мысль о неразрывности понятий «аддитивности» и «полиномиальности» в информатике.

Рис. 5. Граф на рис. 3 после выполнения шага 6 алгоритма

Пример. Рассмотрим работу алгоритма на конкретном примере. Пусть матрица смежности полного двудольного графа имеет вид: ???.
Выполнение действий шага 1 сводится к вычитанию значения 2 из элементов второй строки, и затем значения 4 из элементов второго столбца. Граф, соответствующий полученной матрице, показан на рис. 4, изображены только ребра, имеющие нулевой вес. «Жирными» изображены на рис. 4 ребра, образующие начальное паросочетание. Оно сформировано путем просмотра свободных вершин из X и включением первого встретившегося ребра с нулевым весом и идущим в свободную вершину в Y в паросочетание. Найденное паросочетание не является оптимальным. Поиск чередующейся цепи из вершины 2X (она одна свободная) дает отрицательный результат – строится цепь (2,1)  (1,1)  (1,2)  (2,3). Завершить построение цепи в свободной вершине из Y у нас нет возможности, однако в процессе поиска есть возможность сформировать множества X’={1, 2, 3} и Y’={1, 2}. «В действие» вступает шаг 4 алгоритма. Выделим в матрице смежности (квадратными скобками) те элементы, к которым применимы действия утверждения 2 на шаге 6 алгоритма – ???. Минимальный элемент в первых трех строках и четвертом, пятом столбцах равен 1. После выполнения действия матрица имеет вид – ???. Появилось новое ребро (1,4) с нулевым весом, добавим его в граф на рис. 4, получим граф на рис. 5. Поиск чередующейся цепи (шаг 4 алгоритма) дает положительный результат – {(2,1), (1,1) и (1,4)}. Изменяем паросочетание, его окончательный вид приведен на рис. 6. Оно является оптимальным.

Рис. 6. Оптимальное паросочетание в примере, иллюстрирующем логику его нахождения

В качестве примера рассмотрим задачу, предложенную для Российской олимпиады школьников по информатике 2005 года, но не прошедшей конкурсный отбор.
Металлолом. На базу утилизации поступили n контейнеров с металлоломом. В каждом из контейнеров находится ровно n различных типов металла. Рабочему дано задание разложить металлолом так, чтобы в каждом контейнере находился весь металл одного типа. Помогите рабочему — подсчитайте, какое наименьшее количество металла он должен переложить, чтобы выполнить поставленные требования.
Формат входных данных. Первая строка входного файла содержит число n (1≤n≤150) — количество контейнеров и типов металла. Далее идут n строк по n целых чисел в каждой: j ое число в i ой строке Mij (1 ≤ i, j ≤ n) показывает, сколько килограммов металла j го типа находится в i ом контейнере (0 ≤ Mij ≤ 10000).
Формат выходных данных. В выходной файл выведите единственное число – минимальный вес переложенного металлолома.
Пример входных и выходных данных.
Входные данные:
4
8 4 4 7
8 1 6 1
6 2 4 2
7 3 8 8 Выходные данные:
54

Пояснение к описанию данных. «Жирным» шрифтом во входных данных выделено решение. Его стоимость – 54. В 1 м контейнере собираем металл четвертого типа, во 2 м – первого, в 3 м – второго, и в 4 м – третьего типа.
Обсуждение решения. Очевидно, что временная сложность переборного варианта решения оценивается значением n!, что при заданном максимальном значении n говорит о нереальности этого метода решения.
Первая схема решения. Осмыслим поставленную перед рабочим цель. Ему требуется разложить n типов металла в n контейнеров так, чтобы в каждом контейнере был металл одного типа и суммарный вес перекладываний был минимален. Из этого следует, что суммарный вес металла, остающегося в своих контейнерах должен быть максимален. Остается найти, какой металл, в каком контейнере оставить так, чтобы их суммарный вес был максимален. Очевидно, что задача описывается двудольным взвешенным графом. Изменим входные данные так, чтобы требовалось искать паросочетание минимального суммарного веса. Для этого найдем максимальный элемент матрицы смежности графа (Max) и для каждого элемента матрицы выполним преобразование a[i, j] := Max – a[i, j]. Матрица смежности из примера в формулировке задачи будет иметь вид: ???. После выполнения действий согласно утверждения 1, а именно вычитания из элементов третьей строки минимального элемента этой строки, а затем из элементов второго столбца, минимального элемента этого столбца, получаем матрицу ???. Каждая вершина соответствующего двудольного графа имеет инцидентное ребро с нулевым весом. Дальнейшие действия для данного варианта решения задачи совпадают с разбором примера из венгерского алгоритма поиска оптимального паросочетания двудольного графа. Вес найденного паросочетания (по исходной матрице) равен 25. Из суммы всех элементов матрицы (79) вычитаем найденное значение и получаем ответ задачи, а именно значение 54.
Оценка времени работы алгоритма. Основной цикл выполняется n раз. Поиск чередующейся цепи (или поиск в глубину) имеет сложность O(n2). Выполнение операций по утверждению 2 имеют временную оценку O(n2), но этот цикл выполняется максимум n раз. Чередующаяся цепь находится за время O(n3), окончательная оценка временной сложности алгоритма O(n4).
Вторая схема решения [7]. Дадим по прежней методике неформальное описание алгоритма, иллюстрируя его разбором приведенного выше примера. Даная задача является задачей о нахождении паросочетания максимального веса в полном взвешенном двудольном графе.
Шаг 1. [Преобразование данных]. Построим полный двудольный граф, в котором вершины множества X соответствуют контейнерам, вершины множества Y – типам металла. Вес ребра (i,j) равен весу металла j го типа, который нужно переместить, чтобы уложить весь металл типа j в i й контейнер. Таким образом, вес ребра (i,j) равен сумме чисел j го столбца исходной матрицы без i го его элемента. Целесообразно при вводе пересчитать исходную матрицу так, чтобы (i, j) й её элемент соответствовал весу ребра (i, j). Исходная матрица A (примера) после преобразования имеет вид: ???. Итак, требуется найти совершенное паросочетание минимального веса.
Шаг 2. [Построение начального паросочетания]. Используя «жадную» логику (находим минимальный элемент в строке среди не входящих в уже «задействованные» столбцы, в матрице они выделены двойным подчеркиванием), находим начальное паросочетание. Для нашего примера вес начального паросочетания равен 60.
Вспомогательный алгоритм ориентации ребер. Ориентируем рёбра, вошедшие в паросочетание, из X в Y, беря их вес со знаком минус, а ребра, не вошедшие в паросочетание, из Y в X, считая их вес положительным.
Шаг 3. [Повторение]. Пока в графе есть циклы с отрицательным суммарным весом выполнять шаг 4.
Пояснение. На рис. 7 показано начальное паросочетание и цикл с отрицательным суммарным весом, равным 3: 12341. Ясно, что в цикле «жирные» и «тонкие» ребра чередуются. «Жирные» ребра паросочетания из цикла безболезненно заменяются на «тонкие», с улучшением общей оценки решения. Так, новой оценкой является значение 57. Для поиска циклов с отрицательным суммарным весом можно использовать, например, алгоритм Р. Флойда – поиска кратчайших путей между всеми вершинами графа [8].


Рис. 7. Иллюстрация логики нахождения циклов с отрицательным суммарным весом

Рис. 8. Цикл с отрицательным суммарным весом, равным 2 и текущее паросочетание


Шаг 4. [Изменение паросочетания]. По найденному циклу с отрицательным суммарным весом изменяем паросочетание (также как в технике работы с чередующимися цепями). Используя вспомогательный алгоритм, осуществляем переориентацию соответствующих рёбер графа.
Пояснение. На рис. 8 и рис. 9 показаны следующие две итерации алгоритма. Цикл 14411 (рис. 8) имеет вес 2. Общая оценка становится равной 55. Цикл 1123441 (рис. 9) имеет вес 1. Получен окончательный результат – 54.
Временная сложность алгоритма Р. Флойда O(n3), плюс внешний цикл – общая оценка O(n4). Она несколько улучшается за счет искусства синтеза данных и управления в единое целое – программу (мы упоминали об этом). Граф можно хранить в «сжатом» виде – не все 2*n, а только вершины из X. Ребрами «сжатого» графа являются пары ребер из исходного двудольного графа: ребро из паросочетания, ведущее из X в правую Y, с отрицательным весом и ребро из Y в X, с положительным весом. Граф остается полным и так как алгоритм Р. Флойда имеет кубическую оценку относительно количества вершин, происходит ускорение в 8 раз.
Экспериментальная проверка методов показала большую эффективность первого варианта решения задачи.

Рис. 9. Цикл с отрицательным суммарным весом, равным 1 и текущее паросочетание


Примечания
1. Липский, В. Комбинаторика для программистов [Текст] / В. Липский. М.: Мир, 1988. С. 166.
2. Белов, В. В. Теория графов [Текст] / В. В. Белов, Е. М. Воробьев, В. Е. Шаталов. М.: Высшая школа, 1976. С. 144.
3. Окулов, С. М. Информатика: развитие интеллекта школьника [Текст] / С. М. Окулов. М.: БИНОМ. Лаборатория знаний, 2005. 212 с.
4. Окулов, С. М. Программирование в алгоритмах [Текст] / С. М. Окулов. М.: БИНОМ. Лаборатория знаний, 2002. 341 с.
5. Кристофидес, Н. Теория графов. Алгоритмический подход [Текст] / Н. Кристофидес. М.: Мир. 1978. 452 с.
6. Асанов, М. О. Дискретная оптимизация [Текст] / М. О. Асанов. Екатеринбург: УралНАУКА, 1998. 206 с.
7. Идея решения и его проработка сделана А. Лахно, членом научного комитета Российской олимпиады школьников по информатике. Авторами использован его рабочий материал.
8. Окулов, С. М. Программирование в алгоритмах [Текст] / С. М. Окулов. М.: БИНОМ. Лаборатория знаний, 2002. 341 с.


Вы можете найти у нас файлы для кардшаринга, а скачать прошивку для openbox - оперативность и удобный интерфейс

Удобная программа для сжатия трафика - минимизируйте затраты на интернет

Интереснейшие дзенские притчи и индуистские притчи не дадут вам заскучать