close

Вход

Забыли?

вход по аккаунту

?

1521.Заметки по информатике и математике Вып 2

код для вставкиСкачать
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Министерство образования и науки Российской Федерации
Ярославский государственный университет им. П. Г. Демидова
Факультет информатики и вычислительной техники
Заметки
по информатике и математике
Сборник научных статей
Выпуск 2
Ярославль 2010
М. М. Алексеева, Е. А. Дашкова, Д. Ю. Чалый
1
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
УДК 51(091)
ББК В1я43+З 973.2я43
З 26
Рекомендовано
Редакционно-издательским советом университета
в качестве научного издания. План 2009/2010 года
Заметки по информатике и математике : сб. науч.
З 26 ст. / отв. ред. А. Н. Морозов ; Яросл. гос. ун-т им. П. Г. Демидова. – Ярославль : ЯрГУ, 2009. – Вып. 2. – 163 с.
В сборник включены научные статьи, представленные
студентами и аспирантами факультета ИВТ. Темы статей
касаются важных направлений развития математики, информатики и вычислительной техники.
УДК 51(091)
ББК В1я43+З 973.2я43
Редакционная коллегия:
В. А. Бондаренко
С. Д. Глызин
А. Н. Морозов (отв. ред.)
П. Г. Парфенов
В. А. Соколов
© Ярославский государственный университет им. П. Г. Демидова,
2010
2
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Технология моделирования, анализа
и верификации модифицированного
транспортного уровня протокола
Wireless Access Protocol
М. М. Алексеева, Е. А. Дашкова, Д. Ю. Чалый
Аннотация В настоящее время наблюдается быстрое развитие сети Интернет. В
связи с развитием мобильных систем особым вниманием пользуются беспроводные сети передачи данных. Беспроводные сети являются одним из
самых популярных методов общения. Они распространяются по всему миру, помогая людям общаться. Мобильный Интернет обеспечивается стеком
протокола Wireless Access Protocol.
Авторы предлагают модификацию транспортного уровня (Wireless
Transaction Protocol – WTP) протокола WAP и технологию моделирования
анализа усовершенствованного протокола WTP в среде NS2. Работа включает в себя новые идеи разработки и совершенствования WAP как одной из
важных технологий. Авторы используют симулятор сети NS2, который
предоставляет возможность построения сетевых протоколов и моделирования их поведения.
ВВЕДЕНИЕ
Коммуникационные системы, представляющие собой сети передачи информации, в настоящее время стали одним из важнейших
направлений научно-технического прогресса [1]. Мобильные телефоны имеют ряд особенностей, из-за которых использование стандартных средств сети практически невозможно (данные устройства
имеют небольшой экран, оснащаются медленными процессорами и
малой по объему оперативной памятью, имеют малую пропускную
способность канала, низкую надежность связи). Для решения этих
проблем предназначен протокол WAP.
Согласно спецификации WAP 1.0 [6], стек протоколов содержит шесть уровней. В данной работе мы ориентируемся тольМ. М. Алексеева, Е. А. Дашкова, Д. Ю. Чалый
3
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ко на транспортный уровень, модифицируя алгоритм управления
потоком в WTP.
Для построения и анализа модели используется симулятор
сети Network Simulator (NS2). Среди аналогичных продуктов он
является наиболее приспособленным средством для проведения
научных исследований в области компьютерных сетей.
ОСНОВНАЯ ЧАСТЬ
A. Wireless Transaction Protocol
Уровень WTP стека протокола WAP отвечает за надежную
доставку сообщений. Максимальным размером пакета в сети является Maximum Transfer Unit (MTU) [4]. Если имеется сообщение большего размера, чем MTU, тогда WTP фрагментирует это
сообщение. Протокол WTP обеспечивает работу службы транзакции и может использовать подтверждение приема и повторную передачу, что гарантирует выполнение транзакции. Протокол WTP поддерживает три класса транзакций: ненадежный односторонний запрос (класс 0), надежный односторонний запрос
(класс 1), надежный двусторонний запрос (класс 2). В данной работе мы ориентируемся только на второй класс операций (class-2)
для Wireless Transaction Protocol.
B. Системное моделирование. NS2
Симуляция широко используется в моделировании систем
для приложений, начиная от инженерных исследований, бизнесанализа, планирования производства и научных экспериментов в
области биологии [5].
При построении подобной модели сети связи могут использоваться как статические, так и динамические модели. При этом
под статическими понимаются модели, используемые для исследования состояния сети в заданные моменты времени, например
аналитические методы расчета из теории массового обслуживания, а под динамическими – дискретные стохастические модели,
например процессы генерации заявок или процессы их обслуживания. Сегодня для решения задач имитационного моделирования сетей связи существует достаточно широкий спектр программных средств – от библиотек функций для стандартных компиляторов до специализированных языков программирования [7].
4
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Имеется некоторое множество примеров, которые показывают, что различные показатели производительности можно снимать с модели в терминах раскрашенных сетей Петри.
CPN/Tools – это инструмент, который позволяет визуально редактировать, выполнять и анализировать раскрашенные сети Петри
(CPN – Colored Petri Nets). Однако в CPN/Tools используются не
классические раскрашенные сети Петри – добавлено время и используется встроенный язык программирования CPN ML (на основе Standard ML). Поэтому, на наш взгляд, наиболее перспективным специализированным пакетом для исследования различных характеристик производительности протоколов является
пакет Network Simulator. NS2 позволяет строить модели коммуникационных протоколов практически любой сложности, построено ряд моделей протоколов, созданных непосредственными
разработчиками протоколов, что говорит о высоком уровне моделей, построенных с помощью данного симулятора [2].
Симулятор сети Network Simulator (версия 2), широко известный как NS2, является событийно-управляемым инструментом моделирования, весьма полезным при изучении динамического характера коммуникационных сетей. NS2 предоставляет
пользователям способ задания таких сетевых протоколов и моделирования их поведения.
Рис. 1. Архитектура NS2
М. М. Алексеева, Е. А. Дашкова, Д. Ю. Чалый
5
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
NS2 позволяет создавать различные виды трафика – от простейших, подчиняющихся пуассоновскому закону до самоподобных. Несомненным достоинством данного симулятора для случая
беспроводной сети является его возможность при помощи генератора сценариев определить передвижение узлов. Также стоит
отметить встроенную возможность анимации результатов проведения различных сценариев. Полная и упрощенная версии NS2
содержат средство анимации результатов моделирования nam
(Network Animator), реализованное на Tcl/Tk, и только полная
версия NS2 содержит программное средство Xgraph, позволяющее графически отображать результаты моделирования, что существенно упрощает работу по визуализации результатов (не
требуется установка дополнительных программных приложений
специально для обеспечения наглядности работы).
Работа в NS2 предполагает два этапа. Первым шагом является построение модели с использованием программирования на
C++, вторым шагом – использование TCL для анализа модели и
моделирования условий работы сети, что позволяет нам включить программный код на С++ в среду NS2 (рис.1) [3]. Таким образом, NS2 – наиболее удобное средство для моделирования протоколов и поведения сети.
C. Анализ модели
Для анализа модели могут быть использованы средства, предоставляемые системой NS2. Основным инструментом для исследования свойств модели в этой системе являются симуляция
(выполнение) модели протокола. Анализ производительности
модели может быть произведён с помощью выполнения модели.
В работе определена простая топология из трех узлов, имеется
два агента. Выводятся два файла трассировки, out.tr и out.nam.
Используя полученные трассировочные файлы можно получить
всю необходимую статистику работы протокола.
С помощью информации отчета можно проследить путь каждого сегмента, т. е. до какого узла он дошел, был ли он подтвержден, потерян и ретранслирован. Исследование моделируемой
системы производится при помощи визуализации информации отчета. На рисунке 2 показан результат одного из запусков модели.
6
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рис. 2. Запуск модели
м
ЗАК
КЛЮЧЕН
НИЕ
WAP в том
W
т
видее, в котоором он
н сущесттвует сеейчас, тр
ребует
усовеершенстввования.. Авторы
ы пришл
ли к вы
ыводу, чтто алгор
ритмы
управвления потоками
п
и данныхх исполььзуют неедостатоочное ко
оличество характер
х
ристик сети
с
и поэтому сталкива
с
аются с одними
и и теми жее ошибкками: перрегрузкоой в сети
и, послеедующей
й потереей или
искаж
жением данных.
д
И
Исходя
и проведенногоо анализаа трансп
из
портногоо уровняя протоколла WAP, можно сделать вывод, что
ч мехаанизм уп
правлени
ия потоком
м можноо сделатьь гибче, адаптир
руя к изм
меняющ
щимся уссловиям бееспровод
дной срееды. При
и помощ
щи симуллятора сеети NS2
2 была
создаана моделль уровн
ня WTP,, имитир
рующая работу
р
д
двух объ
ъектов
трансспортногго уровн
ня.
П
Планируе
ется созздание протокол
п
ла на основе
о
п
проанали
изированноой и вери
ифицироованной модели..
ОДАРН
НОСТИ
БЛАГО
участияя автороов в сем
Статья подготов
С
п
лена в рамках
р
минаре
Finnissh – Russsian Unniversityy Cooperration inn Telecoommuniccations
М. М. Алексеевва, Е. А. Дашкова,
Д
Д. Ю. Чаалый
7
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Program (FRUCT) и коллоквиуме молодых исследователей в области программной инженерии (SYRCoSE). Авторы благодарят
декана факультета информатики и вычислительной техники Ярославского государственного университета П. Г. Парфенова за интерес и поддержку данного проекта и научного руководителя
центра "Центр инновационного программирования" профессора
В. А. Соколова за ценные советы.
 Литература
[1] Алексеев И. В., Соколов В. А., Чалый Д. Ю. Моделирование и анализ транспортных протоколов в информационных сетях. Ярославль: ЯрГУ,
2004.
[2] Соколов В. А., Чалый Д. Ю. Методы исследования поведения
транспортных протоколов в условиях интенсивного сетевого трафика
// Распределенные информ.-вычисл. ресурсы и мат. моделирование,
МКВМ-2004. С. 129.
[3] Issariyakul T., Hossain E. Introduction to Network Simulator NS2
/ DOI: 10.1007/978-0-387-71760-9 1, Springer Science + Business Media, LLC
2009. P. 20–23.
[4] Ladas C., Edwards R. M. AMIEE, Manson G. WAP performance on an
end-to-end scheme // The Centre for Mobile Communications Research
(C4MCR), The University of Sheffield.
[5] URL: http://www.isi.edu/nsnam/ns/
[6] URL: http://www.openmobilealliance.org/Technical/wapindex.aspx –
WAP specification.
[7] Кучерявый Е. А. NS-2 как универсальное средство имитационного
моделирования сетей связи // Tampere University of Technology, Telecommunications Laboratory, Tampere, Finland.
8
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Модификация, моделирование,
анализ и верификация протокола
семейства Wireless Access Protocol
М. М. Алексеева, Е. А. Дашкова, Д. Ю. Чалый
Аннотация
Благодаря развитию технологий беспроводной передачи данных, разработчики аппаратного и программного обеспечения предлагают широкий
спектр новых сервисов, например мобильный интернет. Нововведения
должны быть удобными, быстрыми, предоставляющими безопасность, а
также с минимальным количеством ошибок при исполнении.
Одной из технологий, обеспечивающих доступ к мобильному интернету, является стек протокола WAP (Wireless Application Protocol или Wireless Access Protocol). Появление WAP было связано со стремительным развитием и взаимной интеграцией двух технологий – беспроводной связи и
Интернет.
Авторы предлагают модификацию транспортного уровня протокола
WAP (Wireless Transaction Protocol – WTP), улучшение алгоритма управления потоком, изменения механизмов повторной передачи и анализа условий среды.
Работа включает анализ существующих механизмов и новые идеи
разработки и совершенствования транспортных протоколов для работы в
беспроводной среде.
ВВЕДЕНИЕ
Сегодня компьютерные сети стали важнейшим средством
общения. Повсеместное распространение электронной почты,
блогов, чатов и социальных сетей привело к росту популярности
Интернет технологий. В то же время мобильные устройства эволюционировали, набирая мощь процессоров и количество оперативной памяти. И эти две стремительно развивающиеся технологии подняли беспроводные сети на новый уровень, сделав их одним из самых популярных методов общения.
М. М. Алексеева, Е. А. Дашкова, Д. Ю. Чалый
9
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Одной из первых технологий, обеспечивающих доступ мобильных устройств к Интернет, стал стек протоколов WAP
(Wireless Access Protocol) [4], разработанный в начале 2000-х годов. WAP помогает решить проблемы, связанные с беспроводной
средой и особенностями мобильных устройств:
 небольшой размер экрана телефона, а также ограниченные
условия ввода;
 низкая пропускная способность канала связи;
 возможность появления продолжительных таймаутов.
Стек протокола WAP содержит несколько уровней: приложения (Application Layer), сеансовый (Session Layer), транзакций
(Transaction Layer), безопасности (Transport Layer Security),
транспортный (Datagram Protocol) и физический (Bearers). Особенности стека заключаются в том, что функции транспортного
уровня выполняет как Datagram Protocol, так и Transaction Layer.
В данной работе мы ориентируемся на Transaction Layer, так как
он отвечает за повторную отправку пакетов, сегментацию и сборку. Модификация алгоритма управления потоком с использованием идей, лежащих в основе алгоритма ARTCP (Adaptive Rate
Transmission Control Protocol) [1], – цель исследования.
Протокол ARTCP заимствует некоторые механизмы протокола TCP, но отличается тем, что сегменты отправляются в сеть не в
виде всплеска в пределах окна, а разделенные временными промежутками, длительность которых определяется текущим значением скорости. Скорость потока регулируется не размером переменного окна, а значением скорости, изменением которой осуществляется адаптация алгоритма в соответствии с условиями сети.
ОСНОВНАЯ ЧАСТЬ
А. WTP
Уровень WTP стека протокола WAP отвечает за надежную
доставку сообщений, повторную передачу поврежденных или потерявшихся пакетов, сегментацию и сборку пакетов, превышающих размер Maximum Transfer Unit (MTU) – максимальный размер пакета в сети. Существует три класса работы по этому протоколу. Мы ориентируемся только на второй класс операций
(class-2) [3].
10
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Расширенная сегментация и сборка протокола WTP используют как алгоритм скользящего окна, так и механизм stop and wait [4].
Управление потоком в случаях фрагментированных сообщений осуществляется отправкой групп пакетов, для каждой из которых предусмотрено лишь одно подтверждение [3]. Последний
пакет каждой группы содержит флаг конца группы, и получатель
знает, когда нужно отправить подтверждение. На стороне отправителя определен таймер повторной передачи и счетчик повторной передачи. После отправки последнего пакета группы включается таймер повторной передачи, а счетчик инициализируется
нулем. Если таймер повторной передачи истечет и ни один из
двух типов подтверждений не будет получен отправителем
(ACK – “позитивное” подтверждение, NACK – "негативное" подтверждение), то он пошлет последний пакет группы повторно,
при этом счетчик увеличится на единицу. Эта процедура может
повторяться до тех пор, пока счетчик повторной передачи не достигнет своего максимального значения, после чего транзакция
будет корректно закрыта в связи с неудовлетворительными условиями среды, или пока какое-либо подтверждение не дойдет до
отправителя. Получатель отправляет NACK, если конечный пакет
группы получен, в то время как промежуточные пакеты отсутствуют. В этих случаях осуществляется повторная передача недошедших пакетов. При этом каждый раз счетчик повторной передачи увеличивается на единицу. Эта операция повторяется до тех
пор, пока вся группа не будет получена и не отправится ACK или
пока счетчик повторной передачи не достигнет своего максимального значения. Используя механизм выборочной повторной
передачи, WTP пытается свести к минимуму количество ненужных повторов передачи пакетов [4].
Размер каждой группы зависит от характеристик связи и памяти устройства.
В. ARTCP
Протокол ARTCP сочетает в себе метод скользящего окна
для регулирования управления потоком из конца в конец и метод
контроля скорости для подстройки под пропускную способность
промежуточных узлов соединения [1].
М. М. Алексеева, Е. А. Дашкова, Д. Ю. Чалый
11
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
В качестве сигнала о состоянии перегрузки или наличия дополнительных ресурсов в сети используются темпоральные характеристики потока – измерение скважности потока у получателя и изменения времени RTT ((Round Trip Time) – суммарное
время, затрачиваемое сегментом на достижение получателя, и
время, затрачиваемое подтверждением, чтобы вернуться к отправителю). Потеря пакета никак не отражается на работе ARTCP,
кроме осуществления повторная передача потерянного пакета
механизмом коррекции ошибок.
Основным достоинством алгоритма ARTCP является то, что
он не интерпретирует потерю данных только как перегрузку сети
и тем самым позволяет избежать нежелательного снижения эффективности работы сети.
C. Модель протокола
Полученный алгоритм включил в себя механизмы протоколов WTP (таймеры, подтверждения, использование stop and wait и
sliding window) и ARTCP (функция адаптации скорости), а также
оригинальные идеи авторов.
В модели основной акцент делается на три параметра. Пусть
ts – это временной интервал между последовательно отправляемыми пакетами одной группы; tr – интервал между последовательно принимаемыми пакетами одной группы;
где
tr = tr-1*alfa+(1-alfa)*t',
alfa =1/(Amp -1),
t' = (now – trl), now – текущий момент времени, trl – время прибытия последнего пакета; Amp – число пакетов в группе (рис. 2). Когда получатель отправляет подтверждение, он передает tr с помощью этого подтверждения. Отправитель вычисляет отношение
ts/tr. В зависимости от результата этого отношения имеется несколько ситуаций для анализа и дальнейших действий. Первая
ситуация ts/tr =1 отражает идеальные условия сети. Вторая ситуация 0.85<ts/tr<1. Изменяем параметры экспоненциально:
12
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Amp = 2* Amp;
ts = ts/2;
timeout = timeout /2.
Рис. 2. Схема работы
Мы заключаем, что если 0.70< ts/tr <0.85, то не имеется достаточно данных, чтобы принять решение, как изменить параметры.
Четвертая ситуация ts/tr <0.70 – сеть перегружена. Уменьшаем
Amp, увеличиваем ts и таймаут:
Amp = Amp/2;
ts = 2* ts;
timeout = 2* timeout.
ЗАКЛЮЧЕНИЕ
Разработан новый метод управления потоком, основанный на
управлении скоростью передачи сегментов в сеть, количеством
единовременно отправляемой информации и временем ожидания
ответа от получателя.
Беспроводные каналы характеризуются высоким уровнем
ошибок и узкой полосой пропускания канала, поэтому часто происходят перегрузки в сети (вследствие увеличения ожидания ответа от получателя или потери данных).
М. М. Алексеева, Е. А. Дашкова, Д. Ю. Чалый
13
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Выдвинута идея анализа дополнительных параметров сети с
последующим их улучшением в зависимости от полученных данных. Предполагается, что новый алгоритм позволит эффективнее
преодолевать перегрузку сети, потерю и искажение данных.
Внесены изменения в структуру передаваемых пакетов, добавлена дополнительная информация в заголовок пакета, изменены ключевые функции протокола, которые отвечают за отправку,
получение пакетов и установку таймеров.
БЛАГОДАРНОСТИ
Статья подготовлена в рамках участия авторов в семинаре
Finnish – Russian University Cooperation in Telecommunications Program (FRUCT). Авторы благодарят декана факультета информатики и вычислительной техники Ярославского государственного
университета П. Г. Парфенова за интерес и поддержку данного
проекта и научного руководителя центра "Центр инновационного
программирования" профессора В. А. Соколова за ценные советы.
 Литература
[1] Алексеев И. В., Соколов В. А., Чалый Д. Ю. Моделирование и анализ транспортных протоколов в информационных сетях. Ярославль: ЯрГУ,
2004.
[2] Соколов В. А., Чалый Д. Ю. Методы исследования поведения
транспортных протоколов в условиях интенсивного сетевого трафика. Распределенные информ.-вычисл. ресурсы и мат. моделирование. МКВМ2004. С. 129.
[3] Ladas C., Edwards AMIEE R. M., Manson G. WAP performance on an
end-to-end scheme // The Centre for Mobile Communications Research
(C4MCR). The University of Sheffield.
[4] URL: http://www.openmobilealliance.org/Technical/wapindex.aspx –
WAP specification.
[5] Таненбаум Э. Компьютерные сети. СПб.: Питер, 2003. 992 с.
[6] Stefan Aust, Fikouras Nikolaus A., Görg Carmelita. Enabling Mobile
WAP Gateways using Mobile IP // Department of Communication Networks
(ComNets), Center for Information and Communication Technology (IKOM)
University of Bremen, Germany.
[7] Moon Il-Young. Performance Analysis of WAP Packet Transmission
Time and Optimal Packet Size in Wireless Network // School of Internet Media
Engineering, Korea University of Technology and Education, Republic of Korea. Springer-Verlag, Berlin Heidelberg, 2006.
14
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Модель AW3-нейрона
в задаче ассоциативной памяти
С. В. Алешин
Человеческая память ассоциативна, то есть некоторое воспоминание может порождать большую связанную с ним область.
Один объект напоминает нам о другом, а этот другой о третьем, и
так далее. Мы говорим, что система обладает ассоциативной памятью, если она при подаче на вход некоторой картины на выход
подает наиболее близкую из хранящихся в памяти. В качестве
реализации такой системы предлагается нейронная сеть, состоящая из AW3-нейронов.
В физиологии известно о существовании пар согласованно
функционирующих нейронов [3], один из которых является тормозящим, а другой возбуждающим. Нейроны функционируют в
альтернативном режиме: в зависимости от поступившего входного возбуждения в состояние генерации спайка переходит первый
или второй нейрон. Для удобства моделирования альтернативную
пару нейронов, о которых шла речь выше, в наших исследованиях мы объединили в один нейрон, названный AW3-нейроном.
AW3-нейроны функционируют в дискретном времени. По
своим свойствам они сходны с биологическими нейронамидетекторами, которые генерируют импульсы в ответ на достаточно сильное воздействие. В любой дискретный момент времени
AW3-нейрон находится в одном из четырех состояний:
• ожидание, характеризуемое тем, что в этом состояниии
нейрон способен воспринимать направленное на него внешнее
воздействие;
• генерация возбуждающего сигнала;
• генерация тормозного сигнала;
• рефрактерность – невосприимчивость к внешнему воздействию.
С. В. Алешин
15
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Понятия о состояниях и их смена роднит AW3-нейрон с автоматом Винера [2], а также с другими подобными конструкциями.
Состояние возбуждения длится один такт. Если в момент
1 тактов
времени AW3-нейрон возбужден, то в следующие
он находится в рефрактерном состоянии. В момент времени
t+r0+1 он обязательно переходит в состояние ожидания.
В каждый момент времени AW3-нейрон формирует выходной сигнал y(t): y(t)=0, если нейрон находится в состоянии ожидания или рефрактерности, y(t)=1 если нейрон находится в состоянии генерации возбуждающего сигнала, y(t) = –1, если нейрон находится в состоянии генерации тормозного сигнала.
AW3-нейрон имеет синаптические входы двух типов: суммирующие и безусловно тормозящие. Если на один из безусловно
тормозящих синапсов приходит сигнал хвн = –r0, а нейрон находится в состоянии ожидания, то в следующие r0 тактов он находится в состоянии рефрактерности.
Пусть
,…,
– вектор входов, причем
1, 0,
,
– вектор синаптических весов W-нейрона, где
1,
, …,
, …,
,
, и при этом устройство
нейронного сумматора таково, что
компоненты входных сиг1
1, если взвешиваются с соответствующими
налов
0, если 0
весовыми компонентами из w+, а х– компоненты
1, если 1
.
из
0, если 0
Определим для AW3-нейрона величину
, которую назовем мембранным потенциалом. Мембранный потенциал нейрона
в состоянии рефрактерности равен 0. Мембранный потенциал
нейрона, вышедшего из состояния рефрактерности выглядит следующим образом:
1
Здесь параметр 0
16
1.
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Введем пару чисел
0и
0, (
) и назовем
их соответственно верхним и нижним порогами мембранного по, то в слетенциала. Если в момент времени значение
дующий момент времени состояние нейрона меняется с «ожидания» на «генерацию возбуждающего сигнала» и выходной сигнал
его равен
1
1. Если в момент времени
значение
, то в следующий момент времени состояние нейрона
меняется с «ожидания» на «генерацию тормозного сигнала» и
выходной сигнал его равен
1
1. В последующий момент времени
2 мембранный потенциал нейрона и выходной
сигнал устанавливается в 0, состояние меняется на «рефрактерность».
Рассмотрим процедуру обучения AW3-нейрона. Пусть имеется набор эталонов ,…,
, где
,...,
,
1,0,1 . Пусть
,…,
– требуемые
где компоненты
выходы нейрона для каждого входного эталона соответственно,
1,0,1 . Тогда алгоритм обучения AW3-нейрона заключается в следующем:
1. Организуем из данных эталонов бесконечную последова, … , , … , , … , , … , , …,, полученную из истельность
ходного множества эталонов путем циклического повторения
элементов множества. Период обучения, в течение которого на
вход сети были поданы , … , , будем называть макроитераци0 и
ей обучения. Начальные значения компонент векторов
0 выбираем произвольно.
2. Выполняем макроитерацию, т. е. для каждого входа на исходном множестве эталонов модифицируем весовые коэффициенты:
1
1
вычисляется следующим образом:
С. В. Алешин
, если
, если
1
1
,
17
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
1, если μ
0, если 1, если 3. Если в результате макроитерации не выполнено условие
останова, то переходим ко 2-му пункту. Условием останова может служить отсутствие изменений весовых векторов или ограничение общего числа макроитераций.
Достаточное условие обучения AW3-нейрона. Для того
чтобы AW3-нейрон был способен обучиться на исходном множестве эталонов, достаточно потребовать, чтобы те эталоны,
которым соответствует нулевой выходной сигнал нейрона,
удовлетворяли бы условиям ∑
0 и
∑
0 а та часть множества эталонов,
на которые выходной сигнал нейрона равен 1, ∑
0, а –1, условию ∑
0.
AW3-нейрон в зависимости от выбранных параметров может
вести себя как AW-нейрон, а следовательно, и как W-нейрон.
Действительно, если положить
, то нейрон будет
иметь всего три состояния: ожидание, возбуждение (генерация
единичного сигнала), рефрактерность.
Следовательно, пропадает дополнительное деление состояния «генерацию сигнала» на «генерацию тормозного сигнала» и
«генерация возбуждающего сигнала», что составляло главную
отличительную особенность модели. Если значение мембранного
потенциала больше или равно пороговому значению, то нейрон
переходит в возбужденное состояние и генерирует единичный
выходной сигнал. В противном случае сигнал равен –1 (в случае
W-нейрона на выходе наблюдается 0). Поэтому модель в таком
случае соответствует AW-нейрону, описанному в работе [4]. Естественно, что, убирая из описания AW3-нейрона суммирование
18
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
сигнала в зависимости от знака с разными коэффициентами, мы
получим модель W-нейрона.
Для экспериментального изучения моделей нейронов были
созданы программные модели кольцевых структур из 3 модулей
размером 30х30 элементов на базе AW и AW3-нейронов. Каждая
сеть была обучена на наборе из 15 черно-белых (для AW-нейронов) или черно-серо-белых (для AW3-нейронов) образов (по 5
эталонов на модуль). В качестве образов использовались буквы
латинского алфавита A, B, C, D, F, J, H, K, L, N, P, S, T, V, Z, выбранные произвольно.
Инициализация режимов производилась в соответствии с
процедурой, описанной в работе [1]. При этом на активную пару
вносился случайный шум:
• для AW-нейрона с вероятностью элемент модуля менял
цвет с белого на черный (с 1 на 1);
• для AW3-нейрона с вероятностью элемент модуля менял
цвет c серого равновероятно либо на белый, либо черный (с 0 на
либо 1, либо 1).
После прохождения первой волны на первом модуле измерялось расстояние Хемминга (количество отличий) между состоянием модуля и планируемым эталонным значением. Для различных уровней шума проводилась серия из 100 испытаний, в результате чего вычислялось среднее значение расстояний Хемминга (Dh) и их среднеквадратичное отклонение σ (см. табл. 1).
Таблица 1
Результаты эксперимента
Модель Параметр
D_h
AW
σ
D_h
AW3
σ
5% 10%
15%
20%
25% 30%
4,24 13,34 3,04 3,26 11,96
26,03
7,73
7,07
14,73
25,71
10,83
10,2
29,86
44,51
15,52
12,54
43,61 42,16 20,88 12,82 61,61
51,85
26,58
15,69
Более надежную оценку сравнительных характеристик AW3нейрона дает критерий Вилкоксона. Сравним две выборки из
случайных величин:
,…,
и
,…,
.
– экспериментальные значения величины Dh для AW-нейрона, Yi – экспеС. В. Алешин
19
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
риментальные значения Dh для AW3-нейрона. Выборки X и Y независимы между собой. Значения величины Dh по сути своей являются дискретными, но при достаточно большом N величину Dh
можно приблизительно считать непрерывной. В экспериментах N
равно 900. Это позволяет приближенно считать распределения
выборок X и Y непрерывными.
Нуль-гипотеза: обе выборки принадлежат одной и той же генеральной совокупности, т. е. отсутствует эффект от применения
AW3-нейрона вместо AW-нейрона.
,…,
,
Рассмотрим совокупность выборок Х и Y:
.
В экспериментах наблюдается небольшое количество совпаде, для некоторых i,j. В этом слуний элементов выборок, т. е.
чае ранги совпадающим элементам назначались случайным образом из диапазона, соответствующего данной связке наблюдений.
∑:
Статистика Вилкоксона:
Так как в экспериментах n было достаточно большое (n = 60),
то можно применить нормальную апроксимацию распределения
S. Тогда математическое ожидание и дисперсия при нульгипотезе вычисляется так:
,
2
1 .
Зададим уровень значимости:
0,05. По правилу 2 для
нормального закона распределения нуль-гипотеза будет отклоне| 2 .
на в случае, если |
В таблице 2 приведены значения величины
, вычисленной на основании серии из 60 испытаний. Критическое
значение при n = 60 примерно 381,05.
Таблица 2
Отклонение S от своего математического ожидания
при нуль-гипотезе. Критическое значение – 381,05
Уровни шума
2
1
2
20
5% 10%
15%
20%
25% 30%
676
526
455
420
501 888
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
При организации пачечной волновой активности сеть, собранная из AW3-нейронов, на тринарных образах показала результат лучше, чем сеть из AW-нейронов на бинарных образах. Учитывая, что образы представляли собой одни и те же буквы латинского алфавита, можно сделать вывод об оправданности
применения AW3-нейронов вместо AW.
 Литература
1. Алешин С. В. Модель AW3-нейрона в задаче ассоциативной памяти: Магистерская диссертация. Ярославль, 2010.
2. Винер Н., Розенблат А. Кибернетический сборник. Вып. 3. М.: ИЛ,
1961. С. 3–56.
3. Кропотов Ю. Д. Мозговая организация восприятия и памяти: гипотеза
о программировании действий // Физиология человека. 1997. Т. 15. С. 19–27.
4. Овечкин А. С. О применении альтернативных синаптических связей при конструировании нейромоделей: Магистерская диссертация. Ярославль, 2003.
Применение методов технического анализа
для прогнозирования стоимости акций
ОАО «Аэрофлот»
Т. В. Ботина
За основу исследования взяты данные о стоимости акций компании ОАО «Аэрофлот» за период с 1 октября 2009 года по 8 февраля
2010 года, т. е. за четыре полных месяца. Известны цены открытия и
закрытия, минимальные и максимальные цены за каждый день периода и объемы сделок.
Определение общей тенденции
развития тренда стоимости акций
Для определения общей тенденции следует построить линейный график стоимости акций за исследуемый период с периодичностью в один день (рис.1) и график объемов заключенных сделок (рис. 2).
Т. В. Ботина
21
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
График цен закрытия
60
55
Цена
50
45
40
01
.1
0.
08 200
9
.1
0.
15 200
.1
9
0.
2
0
22
.1 09
0.
29 200
9
.1
0.
2
0
05
.1 09
1.
12 200
9
.1
1.
2
0
19
.1 09
1.
26 200
.1
9
1.
03 200
9
.1
2.
10 200
9
.1
2.
2
0
17
.1 09
2.
24 200
9
.1
2.
2
31
0
.1 09
2.
07 200
9
.0
1.
2
0
14
.0 10
1.
21 201
0
.0
1.
2
0
28
.0 10
1.
04 201
.0
0
2.
20
10
35
Время
Рис. 1. Стоимость акций компании ОАО «Аэрофлот»
Глядя на график, сразу можно сказать, что с 6 ноября 2009 года
и до конца рассматриваемого периода цены акций имеют тенденцию к повышению. Значит, мы имеем дело с бычьим трендом.
Линией тренда называется прямая, соединяющая две соседние точки впадин, или прямая, соединяющая две соседние вершины. В первом случае такая линия будет показывать низший
деноминатор силы быков, а во втором случае – низший деноминатор силы медведей.
В период поддержки (что относится к данному случаю) линия растущего тренда проводится через низшие точки диаграммы
[3] (см. рис. 1).
Выделяют следующие характеристики линии тренда [1]: ууол
наклона – самая главная характеристика, временная база диаграммы линии тренда, продолжительность, количество соприкосновений с графиком цен, объем продаж.
Анализируя эти показатели, отметим, что судить о надежности линии тренда по её продолжительности в данный момент
сложно, так как, с одной стороны, временная база всей диаграммы не очень большая (4 месяца), а продолжительность бычьего
тренда составляет 3 месяца, с другой стороны, срок в 3 месяца
22
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
является не таким уж и маленьким, так как соответствует продолжительности жизни среднесрочного тренда. К тому же основная аксиома технического анализа гласит: «Тренд с большей вероятностью продлится, чем изменит своё направление».
Число касаний линии тренда с графиком цен равно двум. Конечно, этого мало для того, чтобы с уверенностью сказать, что
линия тренда стабильная. Но в конце рассматриваемого периода
наблюдается стремление графика цен к линии тренда, поэтому,
скорее всего, будет и третья точка соприкосновения.
Угол между линией тренда и горизонтальной осью составляет примерно 30 градусов, что говорит о довольно устойчивом и
уверенном доминировании быков над медведями, результатом
чего является рост цен акций.
Если посмотреть одновременно на график цен закрытия
(рис. 1) и график объемов заключенных сделок, то нетрудно сделать вывод, что график объемов является подтверждением линии
тренда, так как даже небольшие изменения в направлении цены
почти на протяжении всего исследуемого периода сопровождаются соответствующими изменениями объемов торговли. Так, в
направлении линии тренда объемы продаж росли, а в периоды,
соответствующие волнам коррекции, – падали. Было лишь одно
исключение из этого правила, но продолжалось оно всего неделю
(с 5 по 12 ноября 2009 года). Относительно этого факта считаю
важным отметить, что при движении цены вверх объемы продаж
не уменьшались, а оставались на прежнем уровне, не изменялись.
Вероятно, исключение из правила объясняется тем, что данный
промежуток относится к первому периоду (т. е. к началу) жизненного цикла тренда, когда он (тренд) еще не успел «набрать
обороты» и достичь должного развития. Это также связано и с
психологией торговли. 5 ноября 2009 года произошел разворот
линии тренда, но подтвердился он на 100% несколько позже.
На основе вышеизложенных рассуждений можно сделать вывод, что тренд относительно стабилен и с большей вероятностью
продлится, чем сменит направление. Объемы продаж подтверждают существование бычьего тренда. Но в конце периода рост
цен акций за 3 последних дня (4, 5 и 8 февраля) перестал сопровождаться ростом объемов продаж. Количество заключаемых
Т. В. Ботина
23
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
сделок стало снижаться, что может служить предвестием начала
волны коррекции. Но если волна коррекции начнется раньше,
чем импульсная волна (волна подъема) достигнет уровня предыдущего максимума (предыдущей вершины), то это может служить первым (но недостаточным) сигналом о развороте тренда.
Полосная диаграмма. Метод трехполосного разворота
Полосная диаграмма строится в виде цепочки белых и черных полосок. Каждая новая белая полоска формируется, когда
цены поднимаются над уровнем предыдущей верхней цены, а
черная – когда цены снижаются ниже предыдущего нижнего
уровня. Таким образом, построение диаграмм для метода трехполосного разворота (The Line Break Charts) является одним из типов фильтрации.
Полосная диаграмма
60
55
50
45
40
35
Рис. 2. Полосная диаграмма курса акций компании ОАО «Аэрофлот»
Сигналом к продаже по Методу трехполосного разворота является появление черной полоски вслед за последовательностью,
состоящей из трех (или более) белых полосок. Аналогично появление белой полоски вслед за последовательностью из не менее,
чем трех черных полосок, служит сигналом к покупке. Чередование белых и черных полосок свидетельствует об отсутствии
24
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
тренда – рынок колеблется в диапазоне – активных операций
проводить не следует.
Отметим, что данный метод относится к отслеживающим
тренд индикаторам и его сигналы запаздывают, образуясь после
разворота рынка [1].
Из графика видно, что в конце исследуемого периода белая
полоска сменила последовательность из трех черных полосок,
что согласно методу трехполосного разворота означает сигнал к
покупке. Вероятнее всего, цена продолжит рост, а это значит, что
тренд продлится.
Границы Боллингера
При построении индикатора Bollinger Bound (границы Боллингера) рассчитывается не только среднее, но и стандартное отклонение этой же последовательности цен закрытия. Затем проводятся три линии: среднее и две границы, которые отстоят от
него на величину стандартного отклонения или удвоенного значения стандартного отклонения. Пересечение границ Боллингера
или их пробитие ценой обычно является хорошим сигналом последующего отката [2].
Из анализа графика (рис. 3) видно, что «пробития» (пересечения) границ Боллингера ценами в конце периода не наблюдается. График цен лишь касается Bollinger bound, что не может служить достаточным сигналом о развороте тренда. Скорее всего,
рынок продолжит рост.
Аккумуляция/Распыление
Индикатор «Аккумуляции/Распыления» относится к классу
сопровождающих или запаздывающих – его разворот следует за
разворотом тренда. Тем не менее у данного индикатора есть уникальное свойство, которое заключается в том, что он рассматривает отношение цен закрытия и открытия совместно с величиной
объема продаж. Если цена закрытия выше цены открытия, то это
означает, что по результатам дня победили быки и в этом случае
индикатор A/D принимает положительное значение. В противоположном случае индикатор A/D отрицательный, а в случае равенства цен – равен нулю [1].
Т. В. Ботина
25
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рис. 3. Границы Боллингера для курса акций компании ОАО «Аэрофлот»
Анализируя значения этого индикатора для курса акций ОАО
«Аэрофлот», отметим интересную особенность: начиная с
4 февраля 2010 года сложилась ситуация, что рынок открывается
на низких ценах, а закрывается на высоких, т. е. он усиливается.
Соответственно A/D растет и показывает, что бычье настроение
присуще профессионалам в большей степени, чем любителям. Это
означает, что рынок на следующий день, скорее всего, повысится.
Выводы исследования
В проведенном исследовании были применены следующие
наиболее известные методы и приемы технического анализа: анализ тренда, метод трехполосного разворота, границы Боллингера,
аккумуляция/ распыление.
В исследуемый период достаточных и убедительных признаков разворота тренда курса акций ОАО «Аэрофлот» не обнаружено, большинство индикаторов подтвердили наличие бычьего
тренда и указали на вероятное его продолжение.
Делая общий вывод по всем методам прогнозирования, можно предсказать, что с достаточно большой вероятностью бычий
тренд продолжит свое существование и в ближайшее время будет
наблюдаться рост цен акций компании «Аэрофлот».
26
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
В качестве доказательства правильности сделанных выводов
ниже приведен график стоимости акций компании ОАО «Аэрофлот» за период до 2 апреля 2010 года (рис. 4).
70
65
60
55
50
45
40
линия тренда
0 1 .0 4 .2 0 1 0
2 5 .0 3 .2 0 1 0
1 8 .0 3 .2 0 1 0
1 1 .0 3 .2 0 1 0
0 4 .0 3 .2 0 1 0
2 5 .0 2 .2 0 1 0
1 8 .0 2 .2 0 1 0
1 1 .0 2 .2 0 1 0
0 4 .0 2 .2 0 1 0
2 8 .0 1 .2 0 1 0
2 1 .0 1 .2 0 1 0
1 4 .0 1 .2 0 1 0
0 7 .0 1 .2 0 1 0
3 1 .1 2 .2 0 0 9
2 4 .1 2 .2 0 0 9
1 7 .1 2 .2 0 0 9
1 0 .1 2 .2 0 0 9
0 3 .1 2 .2 0 0 9
2 6 .1 1 .2 0 0 9
1 9 .1 1 .2 0 0 9
1 2 .1 1 .2 0 0 9
0 5 .1 1 .2 0 0 9
2 9 .1 0 .2 0 0 9
2 2 .1 0 .2 0 0 9
1 5 .1 0 .2 0 0 9
0 8 .1 0 .2 0 0 9
0 1 .1 0 .2 0 0 9
35
Рис. 4. Стоимость акций компании ОАО «Аэрофлот» (до апреля 2010 г.)
 Литература
1. Колби Р., Мейерс Т. Энциклопедия технических индикаторов рынка. М.: Альпина, 2000.
2. Рынок ценных бумаг и биржевое дело: учебник для вузов / под ред.
проф. О. И. Дегтяревой, проф. Н. М. Коршунова, проф. Е. Ф. Жукова. М.:
ЮНИТИ-ДАНА, 2002. 501 с.
3. Таран В. А. Играть на бирже просто?! 2-е изд. СПб.: Питер, 2006.
256 с.
Т. В. Ботина
27
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
О двойственности Гейла и k-смежностных
случайных многогранниках
А. Г. Бродский
Всюду
ниже
, , ,
;
log
1
– двоичная энтропия; U
1,1 и
– группы
log 1
квадратных корней из 1 и положительных действительных чисел;
– непустое подмножество в
;
и
– единичные шар и
; Tran – группа параллельных
сфера (с центром в точке 0) в
переносов пространства
;
– множество всех систем точек
,
полагаем
); – неиз (в частном случае
,
пустое подмножество в
; – множество всех векторных конфигураций (т.е. систем точек линейного ранга ) из ; – множество всех систем точек из , находящихся линейно в общем
,…,
– линейная и выпуклая
и conv , … ,
положении;
,
,…,
; Dep
– множеоболочки системы точек
,
ство всех линейных зависимостей системы точек
;
Val
,
– множество значений
,…, ,
,
всех линейных функций
на
,…,
. Если
– отношение эквивалентности на множестве и
– подмножество в , то индуцирует отношение эквивалентности на ,
которое, допуская вольность обозначений, будем обозначать
также через .
Определим действия групп U ,
и Tran на множестве
,
, положив
,…,
,
,…,
и
,…,
для
,…,
U ,
,…,
,
,
,…,
. Вероятностное пространство
Tran и
Ω, ,
назовем абсолютно симметричным, если
,
1) Ω
для некоторых ,
;
2) Ω
и Ω
1;
.
3)
и
для любых
U и
28
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Пусть
. Сопоставляя каждой векторной конфигу, множество всех ее векторных преобразований
рации
, , для которых
Гейла (т.е. векторных конфигураций
Dep
Val(b)) [14,21], получаем многозначное отображение
,
, . Определим отношение эквивалентности
из
в
,
,
на множестве , , положив
,…,
0 Val
,…,
Val
.
| , … ,
назовем -насыщенным, если для
Подмножество
, найдется
, для которого
. С помовсякого
щью рассуждений, аналогичных использованным для доказательства теоремы 1.1 из [2], устанавливается
Лемма. Если и являются -насыщенными подмножести
соответственно, то многозначные отображевами в
ния , и
, индуцируют взаимно обратные биекции
/
/ : , .
, :
Вероятностное пространство
Ω, ,
назовем векторно
гейловским, если
для некоторых ,
(
) и -насыщенного
1) Ω
подмножества
;
следует, что
2) для любых
,
,
Ω из .
С каждым таким пространством
и -насыщенным подмножеством
, где
, ассоциируем вероятностное
пространство
Ω, ,
, определяемое условиями:
;
1) Ω
, где Φ ,
Φ ,
2)
,
обозначен класс эквивалентности
(здесь через
Ω | );
для всех
.
3)
Φ ,
Вероятностное пространство
условимся называть
-двойственным к векторно гейловскому вероятностному пространству .
Теорема 1. Пусть , ,
;
; и являются
и
соответственно;
-насыщенными подмножествами в
А. Г. Бродский
29
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
– векторно гейловское вероятностное пространство с пространством исходов . Тогда
также является век1) вероятностное пространство
торно гейловским;
2) если абсолютно симметрично, то и
абсолютно симметрично;
.
3)
,
,…,
называется -смежСистема точек
ностной [9, 11], если всякая ее ненулевая аффинная зависимость
имеет не менее
1 положительных компонент (это означает,
является -смежностчто ее выпуклая оболочка conv , … ,
ным многогранником с вершинами , … ,
[9]). Систему точек
,
назовем векторно -смежностной, если всякая ее ненулевая линейная зависимость имеет не менее
1 положительных компонент. Ясно, что векторно -смежностная система точек
,
является -смежностной. Обратное, вообще говоря, неверно. Однако если линейный ранг -смежностной системы точек
,
,…,
меньше , то ее параллельный перенос на
,…,
приводит к векторно
любой вектор
,
,…,
. В отлисмежностной системе точек
,
чие от -смежностности системы точек
векторная смежностность, во-первых, не инвариантна относительно группы
.
Tran , и, во-вторых, инвариантна относительно группы
Теорема 2. Пусть , ,
, причем
, и – абсолютно симметричное вероятностное пространство с пространст, и σ-алгеброй событий, образованной всеми
вом исходов Ω
борелевскими подмножествами в Ω. Тогда множество всех векторных
конфигураций
Ω,
являющихся
векторно
-смежностными, является событием, для вероятности , ,
которого справедлива оценка
, ,
1
2
∑
1
.
Доказательство основано на использовании теоремы 1 и модификации классической теоремы Венделя [20].
30
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Следствие 1. Пусть , ,
;
;
0,
–
корень уравнения
1
и – вероятностное пространство, удовлетворяющее условию теоремы 2. Тогда при фиксированном для любого
0,
имеем:
,
,
1
∞.
Следствие 2. Пусть ,
;
1,2 ;
и
– вероятностное пространство, удовлетворяющее условию теоре0,2
, что для
мы 2. Тогда существует такое
имеем:
всех
0,
1
,
,
при
∞.
Отметим, что теорема 2 и следствия 1,2 остаются справедли, , скажем, на одно из условий
выми при замене условия Ω
,Ω
.
Ω
В работе [8] Д. Гейл выдвинул гипотезу:
G
вероятность получения k-смежностного многогранника
с вершинами , … ,
при случайном выборе тоconv , … ,
чек , … ,
в
быстро возрастает с увеличением числа измерений .
Обсуждение результатов, связанных с гипотезой Гейла, и соответствующую библиографию можно найти в книге [18] и обзорных статьях [7, 16, 17]. Хотя Д. Гейла интересовал случай
2, в теории случайных многогранников интенсивно изучался
и оказавшийся нетривиальным вопрос об 1-смежностности (т. е.
выпуклой независимости) случайной системы точек. Отправным
пунктом для рассмотрения этого вопроса послужила известная
задача Сильвестра о четырех точках [3, 4, 15]. Сам Д. Гейл указывал на необходимость уточнения формулировки гипотезы G .
Такие уточнения, как правило, включали в себя, во-первых, выбор конкретной модели случайного мноогранника и, во-вторых,
выбор способа согласованного роста и . Один из таких способов, использованный в следствии 1, появлялся в исследованиях
вероятности
,
выпуклой независимости системы точек,
выбираемых равномерно и независимо в единичном шаре
при
А. Г. Бродский
31
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
(среди ранее полученных в этом направлении результатов итоговый принадлежит Х. Бухте [6]). В следствии 2 использован другой способ, известный как линейно согласованный рост и . Он
применялся в работе А. М. Вершика и П. В. Спорышева [19], авторы которой, действуя в рамках предложенного А.М. Вершиком
грассманова подхода, установили для рассмотренных ими случайных многогранников более сильный по сравнению с оговоренным в гипотезе Гейла факт «смежностности, пропорциональной размерности». В исследованиях проблемы смежностности
случайного многогранника фигурировали и другие способы согласованного роста и (см., например, [1, 5, 10, 12, 13]). Существенным отличием теоремы 2 и следствий 1, 2 от ранее известных результатов, подтверждающих гипотезу Гейла, является независимость от совместного распределения случайной системы
точек.
 Литература
1. Бондаренко В. А., Бродский А. Г. О случайных 2-смежностных 0/1многогранниках // Дискретная математика. 2008. Т. 20, № 1. С. 64–69.
2. Бродский А. Г. О 2-смежностных многогранниках и конструкции
Гейла // Моделирование и анализ информационных систем 2009. Т. 16,
№ 2. С. 5–21.
3. Кендалл М., Моран П. Геометрические вероятности. М.: Наука,
1972. 192 с.
4. Сантало Л. А. Интегральная геометрия и геометрические вероятности. М.: Наука, 1983. 360 с.
5. Bárány I., Füredi Z. On the shape of the convex hull of random points
//Probability Theory and Related Fields. 1988. V. 77, № 2. P. 231–240.
6. Buchta C. On a conjecture of R. E. Miles about the convex hull of random points // Monatshefte für Mathematik. 1986. V. 102. P. 91–102.
7. Donoho D. L., Tanner J. Observed universality of phase transitions in
high-dimensional geometry, with implications for modern data analysis and signal processing // Philosophical Transactions of the Royal Society. Ser. A. 2009.
V. 367. P. 4273–4293.
8. Gale D. Neighboring vertices on a convex polyhedron // Linear inequalities and related systems / H. W. Kuhn, A. W. Tucker, Eds. (Annals of Mathematics Studies. № 38). Princeton, New Jersey: Princeton University Press, 1956.
P. 255–263. Имеется русский перевод: Гейл Д. Соседние вершины на выпуклом многограннике // Линейные неравенства и смежные вопросы / Под
ред. Г. У. Куна и А. У. Таккера. М.: ИЛ, 1959. С. 355–362.
32
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
9. Gale D. Neighborly and cyclic polytopes // American Mathematical Society Symposium on Convexity (Proceedings of Symposia in Pure Mathematics.
V. 7). Providence, R.I.: American Mathematical Society, 1963. P. 225–232.
10. Gillmann R. 0/1-polytopes: typical and extremal properties. Dissertation. Berlin: Technischen Universität Berlin, 2007. 125 p.
11. Grünbaum B. Convex polytopes (Graduate Texts in Mathematics.
V. 221). Second edition prepared by V. Kaibel, V. Klee and G.M. Ziegler. New
York: Springer, 2003. 468 p.
12. Kaibel V. Low-dimensional faces of random 0/1-polytopes // Integer
programming and combinatorial optimization (Lecture Notes in Computer
Science. V. 3064). Berlin: Springer, 2004. P. 401–415.
13. Kaibel V., Remshagen A. On the graph-density of random 0/1polytopes // Approximation, randomization, and combinatorial optimization
(Lecture Notes in Computer Science. V. 2764). Berlin: Springer, 2003. P. 318–
328.
14. McMullen P. Transforms, diagrams and representations // Contributions
to Geometry. Proceedings of Geometry Sysmposium, Siegen 1978 / J. Tölke,
J. Wills, Eds. Basel: Birkhäuser, 1979. P. 92–130.
15. Pfiefer R.E. The historical development of J. J. Sylvester’s four point
problem // Mathematics Magazine. 1989. V. 62, № 5. P. 309–317.
16. Reitzner M. Random polytopes // New perspectives in stochastic geometry // W. S. Kendall, I. Molchanov, Eds. Oxford: Oxford University Press,
2010. P. 45–76.
17. Schneider R. Recent results on random polytopes // Bollettino
dell’Unione Matematica Italiana. Sez. B. 2008. V. 1. P. 17–39.
18. Schneider R., Weil W. Stochastic and integral geometry (Probability
and its Applications). Berlin-Heidelberg: Springer, 2008. 694 p.
19. Vershik A. M., Sporyshev P. V. Asymptotic behavior of the number of
faces of random polyhedra and the neighborliness problem // Selecta Mathematica Sovietica. 1992. V. 11, № 2. P. 181–201.
20. Wendel J. G. A problem in geometric probability // Mathematica Scandinavica. 1962. V. 11. P. 109–111.
21. Ziegler G.M. Lectures on polytopes (Graduate Texts in Mathematics.
V. 152). New York: Springer, 1995. 370 p. Updates, corrections and more available at URL: http://www.math.tu-berlin.de/~ziegler.)
А. Г. Бродский
33
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Интегральные, близкие к эйлеровым
характеристики полутоновых
цифровых изображений, построенных
на основе гексагональной решетки
В. А. Волков
В данной работе с помощью интегрального выражения вводится аналог эйлеровой характеристики для полутоновых изображений. Также доказана теорема, позволяющая вычислять эту характеристику суммирование
некоторой функции, определенной на фрагментах 2 × 2.
Под полутоновыми цифровыми изображениями будем понимать матрицу A  (ai , j ) размера m  n с элементами ai , j  [0; 1] .
Для любого параметра t  [0; 1] сопоставим матрице А матрицу
At  (at ) , где
 ai , j  1, если ai , j  t
At  
ai , j  0, если ai , j  t
(1)
Считая матрицу At черно-белым изображением, построенным на основе гексагональной решетки, можно вычислить эйлерову характеристику для этой матрицы  ( At ) . Определим теперь
функцию интегральной характеристики матрицы А:
1
 I l  (l  1)  t l  ( At )dt ,
0
где l  0 . Поскольку эйлерова характеристика является многопараметрической функцией, то введен дополнительный параметр l.
34
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Его использование оправдано для более точного различения изображений.
Под полутоновыми фрагментами G размера 2 х 2 будем понимать любую подматрицу матрицы А вида
 ai , j
G 
 ai 1, j
ai , j 1 
ai 1, j 1 
с элементами на отрезке [0; 1] . Для любого t  [0; 1] в соответствии с правилом (1) определим фрагмент G t размера 2 х 2, то есть
G будет представлять собой черно-белый фрагмент изображеt
ния. Всего существует 16 гексагональных фрагментов размера
2 х 2, все они представлены ниже.
G0
G1
G2
G3
G4
G5
G6
G7
G8
G9
G10
G11
G12
G13
G14
G15
Теорема. Для любого полутонового изображения А существует функция Fl (G ) , определенная на множестве всех полутоновых фрагментов G размера 2 х 2, такая что верно соотношение
 I l ( A)   Fl (G ) ,
GA
где l  0 .
Доказательство. Отметим, что для любого t  [0; 1] верно
равенство  I ( At )   F (G t ) . Применяя формулу для интегральGA
ной характеристики, получаем равенства
1
1
1
 I l ( A)  (l  1)  t  ( At )dt  (l  1)  t l  F (G t )dt   (l  1)  t l F (G t ) dt
l
0
GA
0
GA
0
,
В. А. Волков
35
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
отсюда получаем выражения для функции
1
Fl (G )  (l  1)  t l F (G t ) dt .
0
Теорема доказана.
Определим семейство пятипараметрических функций F (G i ) ,
которое позволяет вычислять эйлерову характеристику чернобелого изображения простым суммированием.
F (G i )  i , где i  1, 2, ..., 15 .
0  0
1  a
2  b
3  c
 4  1  1   2   3  1  a  b  c
5  d
 6  1  1   2   3   4   5  d
7  e
 8  1  1   2   3   4   7  e
 9  2  1  2 2  2 3   4  1  b  c
10  1  21   2   3  2 4  1  b  c
11  1  1   2   3  2 4   5   7  1  a  b  c  d  e
12  1  1   2  2 3   4   5   8  c  d  e
13  1  1  2 2   3   4   6   7  b  d  e
14  1  21   2   3   4   6   8  a  d  e
15  1  1   2   3   4   5   6   7   8  0
Теперь, имея значения функции F (G i ) на черно-белых фрагментах, найдем выражения для функции Fl (G ) , позволяющей вычис36
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
лять интегральную характеристику полутонового изображения
простым суммированием. Напомним, что элементы матрицы
представляют собой числа, определяющие яркость пикселя, и могут принимать любые действительные значения от 0 до 1.
(2)
Для удобства заменим обозначение пикселей во фрагменте,
как показано на рисунке 2: ai , j на Р, ai , j 1 на Q, ai 1, j на R, ai 1, j 1
на S и рассмотрим их взаимное расположение в зависимости от
величины, обозначающей их яркость. Так как пикселей всего 4,
то возможны 24 ( P4  A44  4!  24 ) случая их взаимного расположения относительно друг друга. Рассмотрим только первый случай, остальные функции на полутоновых фрагментах строятся
аналогично с использованием функции на черно-белых фрагмен1
тах F (G i ) , а также выражения Fl (G )  (l  1)  t l F (G t ) dt .
0
Случай 1: 0  P  Q  R  S  1
0, t  [0; P]

1  a  b  c  d  e, t  ( P; Q]


F (Gt )  
d , t  (Q; R]

1  a  b  c, t  ( R; S ]

0, t  ( S ; 1]

В. А. Волков
37
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
1
~
Fl (G )  (l  1)  t l F (Gt ) dt 
0
Q
R
S
1

 l
l
l
l

(
l
1
)
t
(
0
)
dt
t
(
1
a
b
c
d
e
)
dt
t
(
d
)
dt
t
(
1
a
b
c
)
dt
  
      
 

  
  t l (0) dt  


P
Q
R
S

0
l 1
l 1
l 1
l 1
l 1
l 1
 ( 1  a  b  c  d  e)(Q  P )  ( d )( R  Q )  (1  a  b  c)( S  R ) 
P
 P l 1 (1  a  b  c  d  e)  Q l 1 ( 1  a  b  c  e)  R l 1 ( 1  a  b  c  d )  S l 1 (1  a  b  c)
Теперь рассмотрим пример различения изображений при помощи интегральной характеристики и параметра l . Возьмем в качестве примера графический файл с изображением логотипа компании Apple. Оригинальный вид данного изображения представлен на рисунке слева.
Немного изменим яркость всего лишь одного пикселя. Измененный пиксель обведен на рисунке справа. Различие между данными двумя изображениями можно заметить лишь по строке состояния, которая отображает координаты и яркость текущего
пикселя, и по интегральным характеристикам, которые при параметре l  0 различаются на 0.05 (–0.94 на рисунке слева и –0.89 –
справа).
Для более наглядной демонстрации различения двух данных
изображений была построена диаграмма, отображающая зависимость интегральных характеристик этих изображений от параметра l. Как видно на данной диаграмме, при l  0.8 интеграль38
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ные характеристики изображений совпадают, а при l  0.8 разница между характеристиками начинает расти и при l  0 составляет уже 0.05. Такое поведение графиков объясняется тем, что
при подсчете интегральной характеристики полутонового изображения используются функции на полутоновых фрагментах, в
состав выражений которых входит a l 1 , где a  [ P, Q, R, S ] . Соответственно при увеличении параметра l главную роль играют
более темные пиксели изображения, а более светлые учитываются все меньше и меньше.
Выражаю особую благодарность моему научному руководителю, кандидату физико-математических наук, доценту кафедры
теоретической информатики П. Г. Парфёнову за постановку задачи и помощь в проделанной работе.
 Литература
1. Шашкин Ю. А. Эйлерова характеристика // Популярные лекции по
математике. Вып. 58. М.: Наука, 1984. 96 с.
2. Парфенов П. Г. Топологические алгоритмы обработки цифровых
изображений. Ярославль: ЯрГУ, 2008. 26 с.
3. Прэтт У. Цифровая обработка изображений. М.: Мир, 1982. Кн. 2.
4. Парфенов П. Г., Каплий И. А. Интегральные, близкие к эйлеровым
характеристики полутоновых изображений // Моделирование и анализ информационных систем. Т. 15, № 1. Ярославль: ЯрГУ, 2008. С. 34–36
В. А. Волков
39
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Исследование процесса синхронизации
волновой активности
в сетях нейронных клеточных автоматов
Д. С. Дыбин
Функциональные возможности нервных систем обеспечиваются механизмами передачи электрических импульсов между
нейронами, их сохранением и воспроизведением. На данный момент принципы нейронной активности недостаточно изучены,
чтобы использовать их для эффективного решения практических
задач. Одним из объектов исследования в данной области являются механизмы функционирования памяти.
Работа выполнена в рамках гипотезы о том, что функционирование памяти реализуется волновыми процессами в нейронных
структурах мозга [2]. Согласно этому предположению, временные свойства последовательных спайков имеют значение для запоминания информации, важность представляют также процессы
синхронизации нейронных систем. Описанная гипотеза, названная волновой теорией, подразумевает три допущения:
1. Образы в мозге кодируются волнами с незатухающей периодической активностью;
2. Разность фаз двух одинаковых волн, которая меньше определенного значения, приводит к их синхронизации;
3. Идентичность двух образов может быть определена в момент совпадения гребней волн.
В качестве элемента системы для изучения механизмов синхронизации выберем модель нейронного клеточного автомата
(НКА) [4], которая является более простой по сравнению с другими биологически правдоподобными моделями. НКА является
автогенератором, однако момент генерации импульса может определяться внешним воздействием. Это обусловливает наличие
волновых процессов в структурах нейронных клеточных автоматов. Ниже в качестве основной структуры выбрано кольцо. Коль40
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
цо представляет, с одной стороны, нетривиальную систему, с
другой – кольцевые структуры могут быть изучены аналитически, в отличие от других более сложных систем.
Рассмотрим кольцевую структуру из N элементов. Приведем
соответствующие обозначения, следуя [4]. Пусть – временной
промежуток между i-м и i-1 НКА кольца с индексом 1. T1 – время
действия медиатора, T2 – период НКА, TR – время рефрактерности,
– предельное значение рассогласования между i-м и i-1
НКА,
– синаптический вес k-1 НКА на k-м. Кольцевые
структуры из НКА имеют свойство хранения последовательности
импульсов при следующих условиях:
,
Это означает, что при данных условиях существует устойчивый режим работы кольца, в котором спайки автоматов следуют
в порядке возрастания номеров и временные рассогласования
принимают стационарные значения .
Обсудим механизм синхронизации. Рассмотрим два кольца,
каждое их которых состоит из N НКА с одинаковыми характеристиками. Пусть фаза одного кольца отличается от фазы другого.
Для механизма взаимодействия нужно поставить в соответствие
НКА одного кольца НКА другого. Для реализации такого взаимодействия будем считать воздействие автомата на остальные
безадресным. Этот принцип реализуется в идее использования
корреляционных синапсов для связи нейронных структур, использованных в работе В. В. Майорова на импульсной модели
нейрона [3].
На практике принцип будет заключаться в следующем: в течение времени восприимчивости автомата первого кольца на него могут действовать все НКА другого, чей спайк произошел поД. С. Дыбин
41
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
сле начала периода восприимчивости НКА первого кольца. Для
второго кольца – симметрично.
– время между началом спайОбозначим через
ков (i-1)-го и i-го НКА первого кольца на начальном этапе про–
хождения волны. Соответственно через
рассогласования между спайками i-х НКА первого и второго колец на первоначальном этапе. Пусть – рассогласование между
началом спайков первого и N нейронов первого кольца, а
и
аналогичны по сути, но для следующего этапа прохождения волны.
На основе задачи о пачечной активности [3] сформулировано и доказано следующее утверждение о временных характеристиках взаимодействия двух колец НКА.
Лемма. Пусть для НКА в каждом кольце выполняются условия сохранения волновой активности. Существует такое значение
C0>0, что при (i=1,..., N)
, (i=2,… N),
, для
временных рассогласований справедливы формулы:
Из леммы следует, что с течением времени рассогласования
между импульсами соответствующих нейронов в кольцах ( )
стремятся к 0 (при некоторой изначальной разности фаз), а внутри колец к стационарным значениям ( ). Используя данные
формулы, можно исследовать временные характеристики любого
такта волны.
Для численного моделирования процесса была реализована
программа на языке Java. В качестве начальных параметров системы были выбраны:
42
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
 вес на корреляционном синапсе q=0.1
 веса НКА в кольцах
=0.6
 время жизни медиатора T1=2
 время рефрактерности НКА TR=2.5
 значение порога в период рефрактерности p0=6
 значение мембранного потенциала в период рефрактерности u0=1
 параметр p=1
 параметр θ=0.25.
Заметим, что параметры удовлетворяют условиям существования волнового процесса в кольце. Для первого кольца моменты
начала жизни НКА будут следующими:
Сдвиг фазы второго кольца относительно первого равен 0.02.
В результате экспериментов при существовании взаимодействия между двумя кольцами НКА подтверждено существование
процесса синхронизации при значениях разности фазы между соответствующими нейронами не более |0.028| при данных начальных условиях. Рассогласования внутри колец сходятся к стационарным значениям.
Результаты исследования представляют интерес для дальнейших исследований механизмов синхронизации нейронных
структур.
 Литература
[1] Дыбин Д. С. Исследование процесса синхронизации волновой активности в сетях нейронных ансамблей. Магистерская диссертация. Ярославль, 2010.
[2] Лебедев А. Н. Память человека, ее механизмы и принципы // Исследование памяти. М.: Наука, 1990. C. 104–118.
[3] Майоров В. В. Модели волновой памяти. М.: Книжный дом «ЛИБРОКОМ», 2009. 288 c.
[4] Шабаршина Г. В. Организация колебаний в сетях нейронных клеточных автоматов: дис. ... канд. физ.-мат. наук. Ярославль, 1998.
Д. С. Дыбин
43
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
[5] Шабаршина Г. В. Проведение возбуждения по кольцевой структуре нейронных клеточных автоматов // Моделирование и анализ информационных систем. Ярославль, 1994. Вып. 2. С. 116–121.
[6] Шабаршина Г. В. Самоорганизация в полносвязной однородной
сети нейронных клеточных автомотов возбудительного типа // АиТ. 1999.
Вып. 2. С. 112–119.
Интерполяция объектов
в линейном пространстве
А. Ю. Зимин
Данная работа посвящена проблеме интерполяции объектов,
на множестве которых определены линейные операции. Рассмотрим некоторые подходы к интерполяции, основанные на зрительном восприятии преобразований векторов и изображений.
Существуют различные способы интерполяции множеств, у
каждого есть свои преимущества и недостатки. Одним из классических способов является интерполяция по Минковскому. Она
решает задачу построения множества Gt (
, являющегося
промежуточным между двумя исходными множествами G0 и G1.
Вначале определим линейные операции над множествами по
Минковскому.
, тогда
Пусть множества G0 и G1
1.
2.
, i = 0, 1, α  R.
Интерполяционное множество можно построить по правилу:
?
применимому в любом линейном пространстве.
Главное преимущество данного подхода – его универсальность. Однако хорошие результаты интерполяции данный метод
дает, лишь если исходные множества достаточно «похожи» друг
44
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
на друга и сориентированы одинаково. Как, например, в этом
случае с треугольниками:
Такая ситуация аналогична интерполяции сонаправленных
векторов.
Случаи неоптимальных результатов интерполяции множеств
можно сравнить с линейной интерполяцией векторов общего вида (рис 1) (понятно, что в данном случае логично было бы переходный вектор перемещать по другой траектории (рис 2)):
Рис 1.
Рис 2.
Здесь следует уточнить, какие математические критерии
принимаются для оценки удачности интерполяции. Будем считать дополнительно, что на пространстве объектов определена
метрика (например, для векторов – евклидова метрика, для множеств – метрика Хаусдорфа).
При линейной интерполяции имеем
,
где ρ – расстояние на множестве данных объектов, что можно
понимать, как перемещение от одного множества к другому по
кратчайшему пути.
Рассмотрим другую постановку задачи. Пусть нужно осуществить переход: G* → G**.
А. Ю. Зимин
45
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Семейство объектов (Gt) назовём оптимальным путем из G* в
G**, если
;
1.
выполняется
2. для любого
где d( . ) – размер объекта.
Это соответствует движению переходного вектора на правой
картинке (рис. 2.).
Придерживаясь этого критерия, будем искать переходные
объекты по формуле:
(1)
Таким образом, задача сводится к нахождению соответствующих функций α(t) и β(t)
Рассмотрим случай, когда G0 =(x0,y0) и G1 =(x1,y1) – векторы на
плоскости. Координаты переходного вектора обозначим как
(x, y). Сначала подставим векторы в схему (1) и распишем операцию умножения на число с помощью матрицы:
.
Дальше воспользуемся тем, что вектор (x1,y1) можно получить из (x0,y0) умножением последнего на матрицу:
,
где
,
, i = 0, 1, а φi – угол между соответствую-
щим вектором и осью Ox. Подставим вторую формулу в первую:
=
.
Дальше воспользуемся вторым условием из определения оптимального пути. В нашем случае оно примет следующий вид:
46
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
или
.
Теперь вспомним, что вектор (x, y) так \же можно получить
поворотом и растяжением из вектора (x0,y0):
,
где  – угол поворота вектора (x, y) от оси Ox.
.
Приравняв правые части этого уравнения и (*), получим следующую систему:
Найдем β:
Подставив это в первое уравнение, получим α и, таким образом, итоговый ответ будет таким:
,
,
где
,
.
А. Ю. Зимин
47
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Можно отметить, что в случае сонаправленнных векторов (γ=0)
коэффициенты сводятся к коэффициентам в первоначальной
).
формуле (
Таким образом, при интерполяции с найденными коэффициентами мы получим требуемый результат для заданных векторов.
Заметим, что в случае применения формулы (1) имеется ограничение: для векторов, расположенных под углом в 180 о, коэффициенты не определены (геометрически это можно объяснить тем,
что непонятно, в каком направлении нужно поворачивать начальный вектор).
Попробуем применить формулу (1) для интерполяции изображений (сделав таким образом некоторое обобщение). Рассмотрим случай с многоугольниками, повернутыми относительно
друг друга на угол π/2:
Рис 3.
Вот что получится при линейной интерполяции:
Для применения формулы (1) нужно ввести понятие угла между множествами. В данном случае (Рис 3.) логично рассмотреть
угол, равный π/2 (такой же результат получится, если рассматривать углы между соответствующими линиями среднеквадратической регрессии). В отличие от векторов с помощью формулы (1)
48
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
нельзя добиться поворота переходного изображения между заданными прямоугольниками, поэтому для случая двухмерных
изображений эту формулу нужно соответствующим образом изменить. Например, вместо функций α и β рассматривать аффинные преобразования.
Обсуждаемая схема является лишь одним из возможных способов решения проблемы интерполяции. У нее более узкая область применимости (в отличие от интерполяции Минковского),
и в других случаях она может не давать удовлетворительного результата. Однако если удается свести рассматриваемую интерполяцию к данным рамкам, применение этой формулы может быть
весьма выгодным из-за простоты реализации и по-прежнему высокой степени универсальности.
 Литература
1. Грюнбаум Б. Этюды по комбинаторной геометрии и теории выпуклых тел. М.: Наука, 1971.
2. Александров П. С. Лекции по аналитической геометрии. М.: Наука,
1968. 612 с.
О модификации экспоненциальной
скользящей средней для исследования
ценовых графиков
К. В. Кислова
С прогнозами на будущее мы постоянно сталкиваемся в повседневной жизни (прогноз погоды, урожая зерна и т. п.). Немалую роль играют финансовые прогнозы. Наряду с методами прогнозирования, основанными на экономических факторах, здесь
важное место занимает иной способ прогнозирования – технический анализ, оценивающий состояние рынков по графикам котировок и показаниям индикаторов. Многие классические и проверенные временем индикаторы (MACD, Bollinger Bands и др.) поК. В. Кислова
49
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
строены на основе скользящих средних. Сама скользящая средняя является важным индикатором состояния рынка (если график
цен пересекает скользящую среднюю снизу вверх, то это является сигналом о дальнейшем росте цен, если сверху вниз – о дальнейшем снижении).
Большое значение имеет выбор вида средних, т. к. от него зависит количество правильных и ложных сигналов, выдаваемых
индикаторами. Наиболее важными считаются два вида скользящих средних – SMA(простое скользящее среднее) и
EMA(экспоненциальное скользящее среднее).
SMA вычисляется путем сложения и усреднения цен на определенном участке времени:
SMA(n) 
с n  сn 1  ...  с1
,
n
где n – период
усреднения, c1 , c2 , ..., cn – соответствующие цены.
EMA определяется рекуррентной формулой:
EMA( s )  EMAk ( s )  (1  s )  EMAk 1 ( s )  s  c 0 , где EMAk (s ) – текущее значение EMA, EMAk 1 ( s) – предыдущее значение EMA, c0 – последняя цена, s – параметр от 0 до 1, определяющий степень сглаживания.
Раскрыв рекуррентное соотношение для EMAk 1 ( s) , получим:
E`
EMA( s )  ...  s  (1  s )i  ci  ...  s  (1  s )  c1  s  c0 .
Видим, что для корректного вычисления EMA необходимо
брать бесконечное количество отсчетов. Но на самом деле у нас
всегда есть конечное число цен за определенный период.
Далее рассматривается модификация экспоненциального
скользящего среднего, связанная с применением ограниченного
количества данных.
Усечём формулу на n-ом слагаемом, а n-ый коэффициент
возьмём равным сумме всех удаляемых коэффициентов. Получаем формулу для вычисления усечённого EMA:
EMA( s )  (1  s) n1  cn1  s  (1  s) n2  cn2 
...  s  (1  s)i  ci  ...s  (1  s )  c1  s  c0 .
50
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Одним из ключевых положений, заложенных в способе вычисления экспоненциальной скользящей средней, является
уменьшение значимости цен при их удалении от текущего момента времени. Т. е. должно выполняться неравенство
1
(1  s ) n 1  s  (1  s ) n  2 . Оно верно при s  . Но это приемлемо только
2
для малых периодов усреднения, значит, формула нуждается в
доработке.
Пусть p 0 ,..., p n 1 – коэффициенты при c0 ,..., c n 1 в искомой формуле. Потребуем, чтобы p 0 ,..., p n 1 как в EMA(s) составляли убыn 1
вающую геометрическую прогрессию и  p
i
i 0
 1.
Тогда можно со-
ставить уравнение:
n 1
n 1
1   s  (1  s )    s     (1  s ) i    (1  (1  s ) n ) .
i
i 0
i 0
Получаем:
s  (1  s ) i
pi 
1  (1  s ) n
UMA(n, s ) 
и
s
s  (1  s )
s  (1  s ) n 1
 c1 
 c0 
 c n1  ... 
n
n
1  (1  s )
1  (1  s ) n
1  (1  s )
n 1
s

(1  s) i  ci ,

n
1  (1  s) i 0
– формула скользящей средней, построенной на основе EMA(s) и
удовлетворяющая условию убывания весов по мере удаления
цен.
Рассмотрим некоторые свойства получившейся скользящей
средней относительно SMA(n) и EMA(s).
Предложение 1.
lim UMA(n, s )  EMA( s ).
n 
Более точно, последовательность векторов, составленных из
коэффициентов UMA(n, s) , сходится к вектору, составленному из
коэффициентов EMA(s) в каждом пространстве l p , 1  p   .
К. В. Кислова
51
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Доказательство. Обозначим соответствующие векторы, как
U n  (s 
1
1  1  s 
s  (1  s ) n1 
и
, s  (1  s) 
n
1
1  1  s 
n
1
1  1  s 
n
, ...,
, 0, 0, ...)
E  ( s, s  (1  s ), ..., s  (1  s ) n 1 , ...) .
Сначала рассмотрим их в пространстве l . Расстояние ρ между
векторами h(h1 , h2 , ..., hk ,...) и g ( g1 , g 2 , ..., g k , ...) в пространстве l равно:
sup hk  g k . В нашем случае получим:
k
 E, U n  
n
n
n


1 s
1 s
1 s



n 1
n
n 1
 sup  s 
, s  1  s  
, ..., s  1  s  
, s  1  s  , s  1  s  , ... 
n
n
n
k
1  1  s 
1  1  s 

 1  1  s 
1  s 
 s
n
1  1  s 
n
 0, при n  .
Рассмотрим теперь сходимость последовательности векторов
lp
вектору
E
в
пространстве
с
метрикой
(U n ) к
 
 p ( h, g )    hk  g k
 k o
1
p
p
 , 1 p  .

В силу известных неравенств доста-
точно доказать сходимость в метрике 1 .
n 1
1 E ,U n    s  1  s k  s  1  s k 
k 0

1
1  1  s 
n
  s  1  s   2  1  s   0, при n  .
k
n
k n
Т. е. последовательность векторов (U n ) (составленных из коэффициентов UMA(n, s) ) сходится к вектору E (составленному из
коэффициентов EMA(s) ) в каждом из пространств l p , 1  p   .
Предложение 2.
1) Для любых n  2 и любых 0  s  1 справедливо:
1
s

 p 0 ( s )  1  (1  s ) n  n ;


n 1
 p ( s )  s  (1  s )  1 .
 n 1
n
1  (1  s ) n
2)
52
limUMA(n, s)  SMA(n) ,
s  0
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
т. е. при любых n  2 и любых 0  s  1 последние цены UMAn, s  будут более значимы, чем последние цены SMA(n) , и, наоборот, самые ранние цены UMAn, s  будут иметь меньший вес, чем самые
ранние цены SMA(n) .
Доказательство.
1  (1  s) n <=> 1  s 
s
1  (1  s) n
Сравним
и
1
n
<=>
и 1  s  n . По неравенству Бернулли,
s
1
при s  1, s  0 . Значит,
 при любых 0  s  1 .
n
n
1  (1  s )
Сравним
1
n
и
n 1
s  (1  s )
1  (1  s) n
Рассмотрим
sn
и
(1  s ) n  1  n  s
n
<=> 1  (1  s) n  n  s  (1  s) n1 
f (s)
и 0.
f (s ) :
поведение
f ( s )  (1  (1  s ) n  n  s  (1  s ) n 1 )   n  ( n  1)  s  (1  s ) n  2 . Таким образом, получаем, что f (s ) возрастает на интервале (0;1) и lim f s   0 . Следоs 0 
вательно,
n 1
1
s  (1  s )

n
n
1  (1  s )
при любых
0  s  1.
Устремим в формуле UMAn, s  значение s к нулю:
 s  (1  s ) n1


 по пр. Лопиталя
s




lim UMA( n, s )  lim 
c
...
lim
c
n 1 
0


s  0
s  0 1  (1  s ) n
s  0 1  (1  s ) n




 (1  s ) n1  s  (n  1)  (1  s ) n 2 

 1 n 1
1
сn1  lim 
...
c
lim




0

   ci  SMA( n).
n 1
s  0
s  0 n  (1  s ) n 1
n
(1
s
)



 n i 0


Замечание 1.
Значимость последней цены UMAn, s  больше значимости последней цены SMA(n) . Это говорит о том, что UMAn, s  быстрее чем
SMA(n) реагирует на рост/снижение цен (соответственно возрастает/убывает). Также вес самой ранней цены UMAn, s  меньше соответствующего веса SMA(n) , а следовательно, UMAn, s  будет менее
реагировать на выход ранней цены из ряда. Таким образом, при
использовании в качестве индикатора UMAn, s  точно уменьшается
количество подаваемых ложных сигналов по сравнению с SMA(n) .
Предложение 3.
Для любых n  2 и любых 0  s  1 :
К. В. Кислова
53
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
p 0 (s) 
s
1  (1  s ) n
p n 1 ( s ) 
возрастает на интервале (0;1);
s  (1  s ) n 1
1  (1  s ) n
gradUMA(n, s )
убывает на интервале (0;1);
возрастает при любых
s  0;1 .
Доказательство. Вычислим производную
мену t  1  s, 0  t  1, тогда


  1 t
s


n 
n
 1  (1  s )   1  t
=>
0
Сделаем за-


1
( 1)
 


 (t n 1  ...  1)  ( 1)  0
  t ( s )   n 1
  ( 1)  n 1
2
(t  ...  1)

 t  ...  t  1 
p 0 s  возрастает
p
p0 (s) .
на (0;1).
(s
Вычислим производную
тогда
p n1 ( s ) .
Сделаем замену
t  1  s, 0  t  1 ,


 s  (1  s ) n1   t n1  (1  t ) 


  ( 1) 
n 
n
 1  (1  s )   1  t

t 2 n2  n  t n 1  ( n  1)  t n2
t n2  (t n  n  t  n  1)
(
1)



 ( 1)
(1  t n ) 2
(1  t n ) 2
Заметим, что
t n n  t  n  1  (t n  1)  n  (1  t ) 
 (t  1)  (t n1  ...  t  1  n)  (t  1)  ((t n  1)  ...  (t  1))
Т. к.
t
n 2
0  t  1,
каждая скобка отрицательна, следовательно,
 (t  n  t  n  1)
 ( 1)  0
(1  t n ) 2
n
=>
p n1 ( s )
убывает на (0;1).
Рассмотрим
 gradUMA(n, s) 
2
Сделаем замену
54
2
 s  (1  s )i 
s 1  (1  s ) n
 


 F ( s, n).
n 
n
s
s
s





1
(1
)
2
1
(1
)
i 0 

n 1
t  1  s, 0  t  1 .
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

1t 1 t n 
t 2 n  n  t n 1  n  t n  1  1



(

1
)

2

 ( 1) .
F ( t , n)  
n 
(1  t n ) 2  (1  t ) 2
 1  t 1 t 
Докажем, что
F (t , n)  0,
для любых
t  (0;1) :
t 2 n  n  t n1  n  t n1  1  (t 2 n 1  1)  n  (t n1  t n1 ) 
 (t  1)   (t 2 n 1  t 2 n 2  ...  1)  n  t n1  (t  1)  
 (t  1)   (t 2 n1 1)  (t 2 n2  t )  ...  (t n  t n1 )  n  (t n  t n1 )  .
Покажем, что при любых
положительна:
0  i  n 1
разность
(t 2 n 1i  t i )  (t n  t n 1 )
(t 2 n 1i  t i )  (t n  t n 1 )  (t 2 n 1i  t n 1 )  (t i  t n )  t n 1  (t n i  1)  t i  (1  t n i ) 
(t n i  1)  (t n 1  t i )  0
при любых t  (0;1) . Следовательно, весь числитель отрицателен, а
F (s, n) положительна.
Замечание 2.
Из предложений 2, 3 следует, что, изменяя s от 0 до 1, получаем целую шкалу скользящих средних. При s=1 набор весов –
(0; 0; …; 1), т. е. “средняя” полностью повторяет поведение ценового графика. При s=0 по определению берём набор весов
1
1 1
 ; ;...;  ,
n
n n
т. е. UMAn,0  SMA(n) .
1
, когда 1  s n  e .
n
 1
EMA( s ), SMA(n), UMA n,  на одном це n
Важным случаем является значение
Сравнивая поведение средних
s
новом графике, легко убедиться в преимуществах последней как
самостоятельного индикатора, так и основы для построения других индикаторов.
К. В. Кислова
55
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
В заключение выражаю благодарность своему научному руководителю доценту Анатолию Николаевичу Морозову за помощь при подготовке данной статьи.
 Литература
1. Колмогоров А. Н., Фомин С. В. Элементы теории функций и функционального анализа. 5-е изд. М.: Наука, 1981.
2. Мэрфи Джон Дж. Технический анализ фьючерсных рынков. Скользящие средние значения» (электронный вариант).
56
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Исследование колебательных режимов
в сети, составленной
из нейронных клеточных автоматов
с переменными синаптическими весами
И. О. Колотухин
В теории нейронных сетей существует более десяти различных направлений по решению тех или иных теоретических и
прикладных задач.
Рассмотрим одно из этих направлений – осцилляторные нейронные сети (ОНС). При изучении ОНС основной интерес сосредоточен на динамических колебательных аспектах функционирования нейронных сетей. В соответствии с этим выбирается такая
конструкция отдельного элемента и такая архитектура сети, при
которых наблюдаются регулярные, квазипериодические или стохастические колебания. При этом представляют интерес условия
возникновения колебаний и условия их синхронизации.
Изучение ОНС стимулируется результатами нейрофизиологических экспериментов, указывающих на существенную, а возможно, и центральную роль колебательных процессов в работе
нервной системы. Одна из основных гипотез состоит в том, что
процесс обработки информации в нервной системе может описываться в терминах синхронизации активности различных нейронных структур.
В работе [2] на основе анализа биологических данных конструируется нейронный клеточный автомат, периодически генерирующий импульсы. Каждый такой автомат описывается параметром, названным мембранным потенциалом. В момент времени,
когда мембранный потенциал пересекает пороговое значение,
клеточный автомат генерирует импульс, который может оказывать влияние на изменение мембранных потенциалов других автоматов. После генерации импульса автомат некоторое время находится в состоянии рефрактерности – невосприимчивости к возИ. О. Колотухин
57
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
действию. После выхода автомата из рефрактерного состояния
его мембранный потенциал монотонно растет даже без внешнего
воздействия. Одновременно монотонно уменьшается пороговое
значение мембранного потенциала. Тем самым даже при отсутствии воздействия автоматы периодически генерируют импульсы.
Поступающее на автомат воздействие ускоряет или замедляет рост мембранного потенциала и приближает или отдаляет момент генерации импульса. Эффективность воздействия одного
автомата на другой описывается синаптическим весом. С биологической точки зрения синаптический вес соответствует определенному количеству медиаторов, повлиявших на нейрон. Медиатор выделяется в синапсах – местах контактов биологических
нейронов. В работе [2] считалось, что количество подействовавшего медиатора неизменно.
В данной работе будем считать, что количество влияющих на
автомат медиаторов зависит от текущего времени, прошедшего с
момента выхода из состояния рефрактерности. Другими словами,
автомат-приемник слабо реагирует на приходящий сигнал сразу
после выхода из рефрактерного состояния. И напротив, автоматприемник ощущает сильнодействующий входной сигнал, когда
до генерации собственного спайка остается относительно небольшой промежуток времени.
Приходящий сигнал определяется синаптическим весом q.
Он характеризует эффективность воздействия выделившегося
медиатора. В дальнейшем будем считать, что эта величина непостоянна.
В классической обученной сети синаптические веса связей
подобраны и фиксированы. Мы строим такую модель взаимодействия, в которой для каждых двух НКА синаптический вес их
связи, вообще говоря, разный для разных тактов прохождения
волны возбуждения по сети.
58
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рис. Зависимоость во врремени си
инаптичесского возд
действия от количества
медиаторовв и соотвеетствующ
щее изменеение мемб
бранногоо потенциала
На рисун
Н
нке 1 покказан граафик заввисимоссти во врремени синапс
тичесского весса от колличестваа медиатторов, а также гграфики измененияя мембраанного потенциа
п
ала в заввисимости от си
инаптичееского
веса. Здесь
– мом
мент ген
нерации спайка автоматтом-при
иемнии
– момен
нты генеерации спайков
с
автоматтом-при
иемником,
ком через
ч
врремя
и
сооответсттвенно. На
Н рисуунке покказано
как может
м
иззменитьсся мембрранный потенци
иал в заависимоссти от
времеени посттупленияя импулььса либо
о в , либ
бо в .
Р
Рассмотр
рим сеть из трехх НКА, объедине
о
енных в кольцо. В такой сеети кажд
дый автоомат мож
жет оказзывать воздейств
в
вие на два
д оставши
ихся. Длля каждоого автоомата вы
ычислен
ны синап
птически
ие коэффиц
циенты по форм
мулам:
,
где
,
,
– заранеее заданны
ые рассо
огласован
ния межд
ду спайкками.
Доказаноо, что прри опред
Д
деленных
х услови
иях в таакой сети
и временны
ые пром
межутки между спайками
с
и НКА стабилиз
с
зируются, тем
самым
м в сети
и устанаввливаетсся устой
йчивый колебате
к
ельный режим
р
с врем
менными
и рассоггласован
ниями меежду спаайками , , . ДруИ. О. Коллотухин
59
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
гими словами, данная система из нейронных клеточных автоматов с различными синаптическими весами самоорганизуется.
Можно рассмотреть обобщение задачи для кольца из N автоматов и доказать, что существует устойчивый режим работы
кольца, при котором спайки автоматов следуют в порядке возрастания номеров и временные рассогласования между спайками -го автоматов (
) принимают заранее выго и
бранные значения .
Обсудим вопрос об устойчивости колебательного режима к
отклонениям синаптических весов. Рассмотрим сеть-кольцо из
трех автоматов с переменным взаимодействием, описанным выше.
Предложенную модель взаимодействия автоматов реализуем
следующим образом. Пусть синаптическое воздействие зависит
от времени прихода спайка на автомат-приемник, когда он не находится в состоянии рефрактерности. Вспомним, что:
1) сразу после выхода автомата из состояния рефрактерности
он слабо реагирует на приходящие спайки;
2) в конце состояния восприимчивости (т. е. когда до генерации собственного спайка остается относительно малый промежуток времени) поступивший на автомат спайк действует с большей
силой.
Тогда функция синаптического веса может иметь следующий
вид:
где
– предыдущий момент спайка автомата-приемника.
будем подбирать так, чтобы постоКоэффициенты и
янные синаптические веса для неоднородной сети попадали в область значений функции.
Рассмотрим следующий итерационный процесс, отражающий
временные соотношения между спайками на последовательных
тактах прохождения волны по кольцу:
60
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
где
есть значения функции
, т. е. величины синаптических
весов зависят от времени поступления импульсов на автоматприемник.
В общем виде итерационный процесс будет иметь вид:
Заметим, что исследования данной системы технически достаточно громоздки для аналитических вычислений. Поэтому в
общем виде исследования были проведены численно, результаты
этих исследований представлены ниже.
Рассмотрим задачу при некоторых условиях, которые позволят провести теоретическое обсуждение. Мы уже говорили,
что колебательный процесс в сети с синаптическими весами
и заранее заданными начальными условиями выравнивается и входит в устойчивое состояние. Будем считать,
что мы наблюдаем за процессом последовательной генерации
импульсов автоматами кольца в случае, когда каждый автомат
на каждом такте воздействует на соседние с новым синаптическим весом, но условия генерации подобраны так, что на каж,
дом такте веса слегка отклоняются от предельных значений
,
. Обозначим эти отклонения для каждого автомата на
каждом
такте
через
последовательность
значений
Итак, новые веса на каждом такте имеют вид:
,
где s – номер такта.
Выше мы получили формулы для синаптических коэффициентов, при которых колебательный процесс в кольце из автоматов
стабилизируется и промежутки между спайками становятся равными заранее заданным величинам , , . Аналогично исследуем итерационный процесс, отражающий изменения промежутков
времени между спайками в сети-кольце, где автоматы действуют
на соседние с отклоняющимися синаптическими коэффициентами:
И. О. Колотухин
61
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Данный итераци
Д
ионный процессс являеется раззновидно
остью
итераационногго процеесса Зейд
деля. Маатрица
симмеетричная, полож
жительн
но опред
деленнаяя, с ненуулевыми
и диагоналльными элемента
э
ами, чтоо являетсся достатточным условиеем для
сходи
имости [1].
И общей
Из
й теории
и разносттных уравнений
й [1] след
дует, что сходимоссть проц
цесса нее нарушаается пр
ри достатточно м
малых иззменениях параметтров, т. е.
е можноо указатьь такое ε,
итеε что прри
п
и
имеет
прредельну
ую точкку
с ккоординаатами,
рациоонный процесс
мало отличаю
ющимисяя от кооррдинат , ,
точки .
Д числленного моделиррования колебаттельныхх режимо
Для
ов написан
на прогррамма. Исследо
И
ования проведен
п
ны для сети изз трех
НКА.. Были выбраны
ы следуующие значения
з
я необхоодимых параметроов
Шаг вычислений
Ш
й 0,01, а первый
й автомат «вклю
ючается» в нулевой
й моментт времен
ни.
Д пром
Для
межуткоов межд
ду спайкками
вычисслены сответст
с
твующиее им си
инаптичееские коэффици
иенты
. В таб
блице 1 приведены знаачения
времеенных раассоглассований в резулььтате раб
боты проограммы
ы с заданны
ыми парааметрам
ми.
П
После
14-го тактаа режим
м в сети стабилиз
с
зируетсяя и времеенные
рассоогласован
ния устаанавливааются в заранее
з
з
заданны
ые значен
ния.
Д модеелирован
Для
ния режима с переменн
ным взаи
имодействием
междуу НКА рассмотр
р
рена сисстема из НКА с синапти
ической функцией
62
Заметкии по инфоорматикее и матем
матике. В
Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
парам
метр α=00,149 и β=0,0948
β
8. В табл
л. 2 привведены ззначения временны
ых рассоогласовааний и синаптич
с
ческих весов
в
в ррезультаате работы програм
ммы.
Табл
лица 1
Времен
нные расссогласоования для
д неод
днородн
ной сети
и
Номерр
такта
1
2
3
4
5
6
7
8
9
1,53
1,05
1,37
1,53
1,1
1,31
11,53
1
1,14
1
1,26
1,52
1,17
1,23
1,51
1,2
2
1,21
1,49
1,23
1,2
1,47
1,25
1,19
1,46
1,26
1,19
1,45
1,27
1,19
10
1,44
1,28
1,19
11
1,43
1,29
1,19
12
1,42
1,3
1,19
113
1,41
1
1,3
1,29
14
4
1,4
4
1,3
3
1,2
2
15
1,4
1,3
1,2
16
1,4
1,3
1,2
…
…
…
…
30
1,4
1,3
1,2
Табл
лица 2
Врееменные рассоггласован
ния
для сеети с пер
ременны
ыми син
наптичееским веесами.
Парааметры
и
Номерр такта
1
2
1
1,53
1,51
1
1,04
1,005
1
1,39
1,37
0
0,278
0,2778
0
0,324
0,3220
0
0,292
0,2994
3
1,5
1,08
1,35
0,278
0,318
0,294
4
1,49
1,12
1,33
0,279
0,315
0,296
5
1,48
1,15
1,31
0,281
0,313
0,298
6
1,477
1,177
1,299
0,2822
0,3099
0,2999
7
8
1,46 1,45
1,19 1,21
1,27 1,26
0,282 0,283
0,308 0,306
0,300 0,301
10
111
12
13
14
1
15
16
1
1,43
1,442 1,41 1,40 1,39 1,39 1,388
1
1,25
1,226 1,27 1,28 1,29
1,3
1,31
1
1,24
1,224 1,24 1,23 1,23 1,23 1,233
0,285 0,2886 0,287 0,287 0,288
0
0,2288 0,2888
0,303 0,3002 0,300 0,299 0,299
0
0,2298 0,2977
0,304 0,3005 0,306 0,308 0,310
0
0,3310 0,3100
…
…
…
…
…
…
…
9
1,44
1,23
1,25
0,284
0
0,305
0
0,302
0
30
1,38
1,31
1,23
0,288
0,297
0,310
При друггих значениях параметров модеели в экп
П
перимен
нте наблюдались реежимы, которые
к
е сложно
о получи
ить анали
итически
и.
И. О. Коллотухин
63
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
 Литература
1. Бахвалов Н. С. Численные методы. М.: Изд-во БИНОМ. Лаб. знаний, 2006.
2. Шабаршина Г. В. Организация колебаний в сетях нейронных клеточных автоматов: дис. ... канд. физ.-мат. наук. Ярославль, 1998.
NP-полнота задачи о точном покрытии
при дополнительных ограничениях
В. Д. Копылов
В статье рассматривается задача о точном покрытии множества его
подмножествами. В частности, рассматривается сужение общего случая
задачи на точное покрытие множества тройками его элементов.
Задача ТП-3 и ее сужения
Общая задача точного покрытия множества тройками элементов (ТП-3) формулируется следующим образом: эаданы множество X (такое, что |X| = 3q), набор C подмножеств множества
X, содержащих по 3 элемента. Верно ли, что C содержит точное
покрытие множества X, т. е. такой поднабор C'  C, что любой
элемент из X принадлежит ровно одному подмножеству семейства C' ? Хорошо известно, что эта задача NP-полна.
Рассмотрим сужение задачи ТП-3 следующего вида: дополнительно добавляется требование, что каждый элемент множества X лежит ровно в трех элементах множества C. Эту задачу обозначим ТП-3*.
Сведение ТП-3 к ТП-3*
Теорема: задача ТП-3* NP-полна.
Для доказательства NP-полноты задачи ТП-3* нужно показать, как любая частная задача ТП-3 может быть за полиномиальное время сведена к какой-то частной задаче ТП-3* с сохранением ответа. По сути, необходимо показать, как переопределить
64
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
множества X и C, чтобы в получившихся множествах X* и C* каждый элемент множества X* содержался ровно в 3 элементах
множества C*.
Все элементы множества X можно разделить на 2 группы:
1. Элементы, которые лежат не более чем в 3 тройках. Их мы
рассмотрим позже.
2. Элементы, которые лежат в 4 и более тройках. Вместо
этих элементов, во множества X* и C* предлагается добавить
следующие элементы:
1
a
2
b
3
c
e
x
…
4
5
6
7
d
f
m–3 шт
8
g
h
9
10
…
m–3 шт
Рис. 1
На рис. 1 круги с числами – пронумерованные элементы X*;
дуги – тройки элементов, которые добавляются в C*. Внутренние
тройки обозначены латинскими буквами, внешние тройки в C* соединяются с теми же элементами, с которыми они соединялись в C.
Элемент x (слева), лежащий в m тройках (m > 3), заменяется
10 элементами так, что каждый из них лежит не более чем в m – 1
тройке. При этом общее количество элементов в X* остается кратным трем. Покажем, что такая замена сохраняет ответ задачи.
Пусть исходная индивидуальная задача имела ответ «Да», то
есть можно было выбрать тройки так, что каждый элемент из X
В. Д. Копылов
65
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
лежал ровно в одной из них. Тогда элемент x имеет ровно одну
выбранную тройку; необходимо показать, что после преобразования ровно одна из внешних троек окажется выбранной. В силу
симметрии конструкции, без ограничения общности можно полагать, что выбранной тройке соответствует внешняя тройка при
вершине 1. Тогда тройки a и b окажутся невыбранными (иначе у
вершины 1 будет более одной выбранной тройки). Вершина 3
обязывает выбрать тройку c, т. к. тройки a и b были не выбраны.
Вершина 4 тоже лежит в c, значит, d не выбираем. Для вершин 5
и 6 выбираем тройку e, для вершины 7 мы должны не выбрать f и
g, для вершины 8 выбираем h. Как видно, после выбора внешней
тройки все внутренние тройки можно было выбрать или нет
единственным образом. Заметим, что после этого выбора все остальные внешние тройки обязательно оказываются не выбранными: у вершины 2 выбрана тройка c, у вершин 9 и 10 – тройка h.
Таким образом, если у элемента в задаче ТП-3 со степенью больше 3 была выбрана ровно одна тройка, то и в преобразованной
задаче будет выбрана ровно одна тройка среди всех, соответствующих этому элементу.
Заметим, что сохранение ответа в обратную сторону можно
обосновать, используя однозначность выбора внутренних троек.
Если в преобразованной задаче можно было выбрать некоторые
тройки так, что каждый элемент из X* лежал ровно в одной из
них, то из троек, соответствующих элементу x из X, была выбрана
ровно одна – иначе какие-то из элементов, входящих во внутренние тройки, окажутся не выбранными или же выбранными более
одного раза.
Итак, описанная процедура сохраняет ответ задачи и уменьшает степень одного элемента из X на 1. Проделав эту операцию m – 3
раза для элемента со степенью m, мы уменьшим его степень до 3,
при этом добавляя в X* и C* некоторое количество элементов и
троек. Повторив процедуру для всех элементов X, получаем задачу,
в которой ни один элемент не лежит более чем в 3 тройках.
На следующем этапе доказательства нужно избавиться от
элементов, которые лежат менее чем в 3 тройках. Сначала с помощью процедуры, похожей на описанную выше, заменим каждый элемент, лежащий ровно в 1 тройке:
66
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
2
a
xm
1
3
c
b
4
Рис. 2.
Элемент x из множества X заменяется 4 элементами в X*, одной внешней дугой и тремя внутренними. При этом кратность
общего числа элементов трем сохраняется и все новые элементы
лежат в двух или трех тройках. По рассмотренной ранее схеме
убедимся, что такой переход сохраняет ответ.
Пусть задача до преобразования имела ответ «Да», тогда
единственная тройка элемента x была выбрана. После преобразования это означает, что внешняя тройка в конструкции будет выбрана. Следовательно, для вершины 1 тройки a и b выбирать
нельзя, а тройка c включает в себя все вершины, которые пока не
лежат в выбранных тройках 2, 3 и 4. Таким образом, преобразованная задача также имеет ответ «Да» и внешняя тройка выбрана.
Чтобы показать сохранение положительного ответа другую
сторону, достаточно заметить, что тройки a и b не могут быть
выбраны ни в каком случае: выбор тройки a запрещает выбирать
тройки b и c и оставляет вершину 4 не включенной ни в одну
тройку. Аналогично выбор тройки b оставляет без троек вершину
2. Итак, если задача после преобразования имела ответ «Да», то
внешняя тройка в ней обязательно была выбрана, эту же тройку
выбираем в задаче до преобразования.
Применив процедуру замены вершин, лежащих только в 1
тройке, мы получили такие множества X и C, что каждый элемент
из X обязательно лежит в двух или трех элементах из C. Обратим
внимание на количественное соотношение элементов, входящих
в разное число троек:
A – количество элементов, лежащих в 3 тройках,
B – количество элементов, лежащих в 2 тройках.
В. Д. Копылов
67
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Вычислим общее число вхождений всех элементов в тройки.
Справедливо равенство
3 A + 2 B = 3 | C |.
Выразим общее число троек:
| C | = A + 2 B / 3.
Поскольку все переменные величины в уравнении целые, B
обязано быть кратным трем.
Итак, количество элементов множества X, лежащих ровно в 2
тройках, кратно трем. Рассмотрим все такие элементы группами
по три и выполним следующее преобразование (см. рис. 3).
1
x1
4
x2
a
b
d
5
x3
2
6
c
3
Рис. 3.
Три элемента, каждый из которых лежит в двух тройках, заменяются шестью новыми элементами, лежащими в трех тройках
каждый, также добавляются 4 тройки, соответствующие дугам a,
b, c, d.
Сохранение ответа задачи, как и в случае с удалением элементов, лежащих в 1 тройке, объясняется тем, что тройки a, b, c
не могут быть выбраны: если выбрать, например, тройку a, то
тройки b, c, d выбирать будет нельзя, элемент 6 останется без
68
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
тройки. Таким образом, выбранная конструкция обеспечивает
выбор ровно одной внешней тройки для каждой из вершин 1, 2, и
3, при этом вершины 4, 5, 6 покрываются тройкой d.
Итак, с помощью последовательного исключения сначала
элементов, лежащих более чем в трех тройках, затем элементов,
лежащих в одной тройке, и в конце – элементов с двумя тройками, мы свели задачу ТП-3 к ТП-3*, доказав тем самым NPполноту последней.
 Литература
1. Гэри М., Джонсон Д. Вычислительные машины и труднорешаемые
задачи. М.: Мир, 1982.
Об одном алгоритме на графах
В. Б. Калинин, А. М. Кузьмин
В многослойных печатных платах возникает задача минимизации числа слоев. Более формально: имеется набор отрезков
(проводников) на плоскости, координаты которых задаются случайным образом. Требуется найти хроматическое число графа
пересечений набора отрезков, то есть разбить множество отрезков на минимальное число слоев при условии, что в каждом слое
отрезки не пересекаются. В [1] доказано, что данная задача NPполная, поэтому актуальной проблемой становится создание эвристического алгоритма (очевидно, что в реальной задаче полный
перебор слишком трудоемок).
Предлагается следующая идея алгоритма.
Отрезки близких направлений (мало отличающиеся углами
наклона) располагаются в одном слое, а далее уже внутри слоя
проверяется, не возникло ли тут пересечений. Здесь важно правильно выбрать угол. И, наконец, из трех слоев попытаться сделать два (отрезки одного слоя «разбросать» по двум слоям).
В. Б. Калинин, А. М. Кузьмин
69
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Допустим, у нас получилось 20 слоев. Берем первые 3 слоя и
пытаемся (если это возможно) получить из них 2. Далее – следующие 3 слоя и т. д.
Наряду с этим самостоятельный интерес представляет следующая задача: как зависит от n число слоев (математическое
ожидание числа слоев).
Эта задача интересна и теоретически, и практически, так как
существуют некие технологические ограничения: плата не должна содержать более 16 слоев.
Рассмотрим два отрезка АВ и СD. Продолжим прямую АВ.
Вероятность того, что обе точки ( С и D ) будут по одну сторону
от АВ равна 1 4 , вероятность того, что по другую – 1 4 , а вероятность того, что по разные стороны – 1 2 . Однако для того чтобы
отрезки пересекались, нужно чтобы точки А и В были по разные
стороны от прямой CD, то есть вероятность пересечения двух отрезков равна – 1 4 (в случае бесконечной плоскости).
Для трех отрезков вероятность трех слоев равна
ность одного слоя –
1
 
4
3
, вероятность двух слоев –
1
 
4
36
3
, вероят-
64 .
Для че-
тырех слоев уже сложнее. Для 10 уже нереально посчитать таким
способом.
Отметим, что при реализации алгоритма мы имели дело не с
бесконечной плоскостью, поэтому рассчитанные вероятности
чуть отличаются от «идеальных».
Написана программа. В результате многочисленных статистических испытаний определялся оптимальный угол. Программа
показала, что данный алгоритм работает эффективнее, чем известный алгоритм [2], однако чуть медленнее. Количество слоев
асимптотически растет примерно как n , где n – число отрезков.
 Литература
1. Ehrlich G., Even S., Tarjan R.E. Intersection graphs of curves in the
Plane.- J. Combin. Theory (B). 1976. V. 21, № 1. P. 8–20.
2. URL: www.iis.nsk.su:81/ershov/Russian/index.html.
70
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Исследование модификаций протокола TCP
С. А. Меркулов
Введение
Протокол TCP осуществляет доставку дейтограмм, называемых сегментами, в виде байтовых потоков с установлением соединения. Протокол TCP применяется в тех случаях, когда требуется гарантированная доставка сообщений. Он использует контрольные суммы пакетов для проверки их целостности и
освобождает прикладные процессы от необходимости таймаутов
и повторных передач для обеспечения надежности. Для отслеживания подтверждения доставки в TCP реализуется алгоритм
"скользящего" окна TCP. В настоящее время предложено и опробовано несколько разновидностей протокола TCP. В этой статье я
рассмотрю некоторых из них.
TCP Tahoe
Алгоритм TCP Tahoe является наиболее старым и широко
распространенным. Этот алгоритм был сформулирован Джакобсоном в 1988 году, некоторые коррекции были внесены в него
позднее.
Если буфер переполнен, какое-то число сегментов будет потеряно. При этом может быть запущено несколько сценариев.
Основной вариант – медленный старт, запускается в рамках классического алгоритма ТСР Tahoe при потере сегмента и сопряженным с ним таймаутом (RTO) у отправителя, так как отправитель не получит сигнала подтверждения ACK для потерянного
сегмента. Медленный старт предполагает установку окна перегрузки (CWND) равным 1 (имеется в виду 1 MSS – Maximum
Segment Size – максимальный сегмент сети), а порога медленного
старта (ssthresh) равным половине значения CWND, при котором
произошел таймаут. Сокращение CWND до единицы происходит
потому, что отправитель не имеет никакой информации о состояС. А. Меркулов
71
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
нии сети. Далее после каждого подтверждения CWNDi+1 =
CWNDi+1 (имеется в виду, что прибавляется еще один CWNDi,,
т. е. CWNDi+1 удваивается). Эта формула работает до тех пор, пока CWND не станет равным ssthresh. После этого рост CWND
становится линейным согласно (1):
(1)
где ssth(t) [пакетов] – значение порога, при котором TCP переходит из фазы медленного старта в фазу исключения перегрузки.
Смысл этого алгоритма заключается в удержании значения
CWND в области максимально возможных значений. По существу эта оптимизация осуществляется с помощью потери пакетов.
Если потери пакетов не происходит, значение CWND достигает
значения window по умолчанию, задаваемого при конфигурации
ТСР-драйвера. На рис. 1 показана эволюция CWND при потере
пакетов.
Рис. 1.
Значение таймаута вычисляется по формуле:
72
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
,
где σ – средне-квадратичное отклонение среднего значения RTT.
Потерянный пакет и все посланные после него пакеты (вне
зависимости оттого, подтверждено их получение или нет) пересылаются повторно. При большой вероятности потери это существенно понижает пропускную способность и увеличивает и без
того высокую загрузку канала.
Может возникнуть вопрос, почему при потере пакета CWND
делается равным 1, а не CWND-1 или CWND/2? Ведь эффективность канала максимальна при наибольшем возможном значении
CWND. Если произошла потеря пакета из-за переполнения буфера, оптимальное значение CWND может быть выбрано лишь при
исчерпывающем знании прогноза состояния виртуального канала. Постольку такая информация обычно недоступна, система переходит в режим освобождения буфера (CWND=1). Ведь если
потеря была связана с началом сессии обмена с конкурирующим
клиентом, операция CWND= CWND-1 проблему не решит. А потеря пакета вызовет таймаут, и канал будет блокирован минимум
на 1 секунду, что вызовет резкое падение скорости передачи.
Использование стартового значения CWND>1 может увеличить эффективность виртуального ТСР-канала. Стартовое значение CWND = 2*MSS представляется вполне разумным. Понятно,
что в критических ситуациях CWND=1 должно быть непременно
разрешено.
TCP Reno
В TCP Reno, появившимся в 1990 году, при нормальной ситуации размер окна меняется циклически. Размер окна увеличивается до тех пор, пока не произойдет потеря сегмента. TCP Reno
имеет две фазы изменения размера окна: фаза медленного старта и
фаза избегания перегрузки. При получении отправителем подтверждения доставки в момент времени t + tA [сек] текущее значение размера окна перегрузки cwnd(t) преобразуется в cwnd(t + tA)
согласно (1).
Когда в результате таймаута детектируется потеря пакета
значения cwnd(t) и ssth(t) обновляются следующим образом:
С. А. Меркулов
73
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
cwnd(t)=1; ssth(t)=(cwnd(t))/2.
С другой стороны, когда TCP детектирует потерю пакета согласно алгоритму быстрой повторной передачи, cwnd(t) и ssth(t)
обновляются иначе:
ssth(t) = (cwnd(t))/2; cwnd(t)= ssth(t).
TCP Reno после этого переходит в фазу быстрого восстановления. В этой фазе размер окна увеличивается на один пакет, когда получается дублированное подтверждение. С другой стороны, cwnd(t) делается равным ssth(t), когда приходит недублированный отклик для пакета, посланного повторно. В случае таймаута ssth(t)= (cwnd(t))/2; cwnd=1 (как в алгоритме TCP Tahoe).
В настоящее время наиболее популярной является модель
NewReno, которая появилась в апреле 2004 года. Она использует
алгоритм Fast Retransmit & Fast Recovery (быстрая повторная пересылка и быстрое восстановление). В случае когда доступна опция выборочного подтверждения (Selective Acknowledgement –
SACK), отправитель знает, какие пакеты следует переслать повторно на фазе быстрого восстановления (Fast Recovery). В отсутствии опции SACK нет достаточной информации относительно пакетов, которые нужно послать повторно. При получении
трех дублированных подтверждений (Duplicate Acknowledgement – DUPACK) отправитель считает пакет потерянным и посылает его повторно. После этого отправитель может получить дополнительные дублированные подтверждения, так как получатель осуществляет подтверждение пакетов, которые находятся в
пути, когда отправитель перешел в режим Fast Retransmit. В случае потери нескольких пакетов из одного окна отправитель получает новые данные, когда приходит подтверждение для повторно
посланных пакетов. Если потерян один пакет и не было смены
порядка пакетов, тогда подтверждение этого пакета будет означать успешную доставку всех предыдущих пакетов до перехода в
режим Fast Retransmit. Однако, если потеряно несколько пакетов,
тогда подтверждение повторно посланного пакета подтверждает
74
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
доставку некоторых, но не всех пакетов, посланных до перехода в
режим быстрой повторной пересылки (Fast Retransmit). Такие
подтверждения называются частичными.
Разработчики назвали алгоритм быстрого восстановления
NewReno, так как он значительно отличается от базового алгоритма Reno. Предложенный алгоритм дает определенные преимущества по сравнению с каноническим Reno при самых разных
сценариях.
TCP Vegas
TCP Vegas, который появился в 1994 году, контролирует
размер окна путем мониторинга отправителем RTT для пакетов,
посланных ранее. Если обнаруживается увеличение RTT, система
узнает, что сеть приближается к перегрузке и сокращает ширину
окна. Если RTT уменьшается, отправитель определит, что сеть
преодолела перегрузку, и увеличит размер окна. Следовательно,
размер окна в идеальной ситуации будет стремиться к требуемому значению. В частности, на фазе исключения перегрузки размер окна будет равен
,
где rtt[сек] – зарегистрированное RTT, base_rtt[сек] наименьшее
встретившееся в данном цикле RTT, a и b – некоторые константы.
Эта модификация ТСР требует высокого разрешения таймера отправителя.
Заключение
В данной статье были рассмотрены несколько разновидностей протокола TCP. Можно сделать вывод, что модификации
могут улучшить характеристики базового протокола. Однако
можно утверждать, что недостатки протокола TCP весьма существенны и являются следствием самого алгоритма, лежащего в
С. А. Меркулов
75
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
основе протокола TCP. Поэтому модификация TCP без замены
его основных алгоритмов не может привести к существенному
улучшению характеристик протокола.
 Литература
1. RFC 793 – Transmission Control Protocol. Information Sciences Institute University of Southern California. September 1981
2. Jacobson V. Congestion Avoidance and Control // Computer Communication Review. Vol. 18, № 4. P. 314–329, Aug. 1988.
3. RFC 2001 – TCP Slow Start, Congestion Avoidance, Fast Retransmit.
W. Stevens. January 1997.
4. RFC 2018 – TCP Selective Acknowledgement Options. M. Mathis, J.
Mahdavi, S. Floyd, A. Romanow. October 1996.
5. RFC 2581 – TCP Congestion Control. M. Allman, V. Paxson, W. Stevens. April 1999.
6. RFC 2883 An Extension to the Selective Acknowledgement (SACK)
Option for TCP. S. Floyd, J. Mahdavi, M. Mathis, M. Podolsky. July 2000.
7. RFC 3782 The NewReno Modification to TCP's Fast Recovery Algorithm. Floyd, S., Henderson, T., and A. Gurtov. April 2004.
8. Brakmo L. S., O’Malley S. W., Peterson L. L. TCP Vegas: New techniques for congestion detection and avoidance. Proc. ACM Sigcomm, August
1994.
Исследование алгоритма интерполяции
«Сумма Минковского»
М. А. Михайлова
Компьютерные технологии играют всё более важную роль во
многих областях человеческой жизни. Развитие средств связи,
вычислительной и видеотехники требует обработки больших
объемов графической информации.
При работе с последовательностью взаимосвязанных кадров,
а также при разработке компьютерных эффектов важной задачей
является построение переходных (интерполяционных) изображений между двумя заданными.
76
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Есть много алгоритмов интерполяции изображений. Наиболее универсальным является метод, основанный на арифметических операциях над множествами по Минковскому (сумма Минковского).
и
. Тогда линейные операции
Пусть множества
над множествами Минковского будут определяться следующим
образом:
1.
+
Рис. 1.
2.
Рис. 2.
Последовательность интерполяционных множеств можно по(алгоритм
лучать по формуле
«Сумма Минковского»).
М. А. Михайлова
77
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Однако данный метод имеет и свои недостатки. Одним из
наиболее крупных минусов алгоритма «Сумма Минковского» является его неспособность правильно интерполировать подобные
фигуры, полученные друг из друга поворотом (рис. 3).
Рис. 3.
Возникают следующие задачи:
1) численное описание изображений с целью предварительного выяснения качества интерполяции
2) модификация алгоритма «Сумма Минковского» с целью
улучшения результатов.
Рассмотрим сначала подходящие числовые характеристики
изображений.
Изображение с точки зрения механики можно рассматривать
как множество материальных точек. Следовательно, возникают
такие понятия, как центр масс и момент инерции. Более точные
характеристики можно получить, используя модель из теории вероятностей. Сопоставим данному множеству точек G  R2 случайный вектор (точку), равномерно распределенный на этом
множестве. Для любого такого множества мы можем найти математическое ожидание, которое с точки зрения механики является
центром масс. Центральные моменты второго порядка представляют собой дисперсии случайных величин ξ1 и ξ2, входящих в
систему и тесно связанных с понятием момента инерции в механике. Особую роль при исследовании систем случайных величин
играет второй смешанный момент или ковариация. Она характеризует взаимное влияние этих случайных величин, а с точки зрения геометрии – ориентацию множества G относительно системы
координат.
78
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Численные характеристики изображений G0 и G1 запишем в
виде векторов:
Когда интерполяции проходят удачно, векторы изображений
пропорциональны либо равны:
.
Исключение может получиться, когда ковариации изображений равны 0 (рис. 4):
Рис. 4.
Рассмотренные числовые характеристики можно использовать
для модификации алгоритма «Сумма Минковского» с целью
улучшения результатов. Действуем по схеме:
а) если элементы ковариационных матриц пропорциональны
) и их ковариации не равны 0, то применяем
(
алгоритм «Сумма Минковского»;
б) иначе, применяем модифицированный алгоритм.
Модифицированный алгоритм заключается в следующем:
1. Используя числовые характеристики, для двух изображений мы можем найти 2 линии регрессии для каждого изображения. Заметим, что точкой пересечения линий является точка с координатами – (X,Y)-математического ожидания (рис. 5).
М. А. Михайлова
79
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рис. 5.
2. Зная линии регрессии и центр масс изображений G0 и G1,
наложим одно изображение на другое так, чтобы совместились
центры масс и линии регрессии, соответствующие большим дисперсиям.
Рис. 6.
3. Полученные множества интерполируем по алгоритму
«Сумма Минковского», а построенное интерполяционное изображение используем для интерполяции исходных множеств,
учитывая поворот. В результате получается интерполяционное
множество Gt, 0 ≤ t ≤ 1, а угол поворота αt, где αt=tα, причем
0 ≤ α t≤ α.
Рис. 7
В результате было получено:
1. Модифицированный алгоритм устраняет основной недостаток алгоритма «Сумма Минковского»
80
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рис. 8
2. Работает не хуже во всех рассмотренных случаях
Рис. 9
Результат алгоритма «Сумма Минковского» и модифицированного алгоритма.
Однако актуальна дальнейшая модификация, охватывающая
еще некоторые случаи, например когда исходные множества
имеют зеркальную симметрию хотя каков должен быть результат
в этой ситуации – сказать сложно.
Рис. 10
 Литература
1. Цифровая обработка телевизионных и компьютерных изображений
/ Под ред. Ю. Б. Зубарева, В. П. Дворковича. M., 1997. 216 с.
2. Балк М. Б., Болтянский В. Г. Геометрия масс М.: Наука, 1987.
М. А. Михайлова
81
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Моделирование
транспортного протокола Trickles
при помощи сетевого симулятора ns2
М. А. Никитинский
Введение. ТСР и Trickles
Коммуникационные протоколы, в частности протоколы
транспортного уровня, играют ключевую роль в сетях передачи
данных. Основной задачей протокола транспортного уровня является предоставление сервиса программным процессам для надежного и эффективного обмена информацией через ненадежную
среду передачи – коммуникационную сеть. В настоящее время
под управлением транспортных протоколов передается порядка
90% всего трафика в сети Интернет. Как следствие, транспортные
протоколы являются пристально изучаемым объектом исследований, предлагаются алгоритмы, улучшающие их работу, а развитие систем с открытым исходным кодом позволяет быстро реализовать эти протоколы как компоненты этих операционных систем. Таким образом, протокол является критичной подсистемой и
от того, насколько корректно и эффективно он был реализован,
зависит работа сетевой подсистемы, а если учесть, что протокол
работает на многих узлах сети, то и эффективность, и производительность всей сетевой инфраструктуры в целом.
Протокол ТСР действует по схеме распределенного состояния. Это означает, что информация о соединении хранится на
обеих конечных точках данного соединения (рис. 1).
Client
TCP state
CLIENT
Network
TCP state
SERVER
Рис. 1. Распределенное состояние ТСР
82
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Данное распределенное состояние ТСР приводит к следующим проблемам:
1) для хранения состояния соединения требуются ресурсы
как на стороне сервера, так и на стороне клиента;
2) ограничено количество одновременно обслуживаемых
клиентов на сервере из-за ограниченности ресурсов;
3) существует возможность атак на сервер, что приведет к
полуоткрытым соединениям, которые могут вызвать нарушение
работы сервера.
Для решения этих проблем мы предлагаем совершенно другой
подход к организации коммуникационного протокола. Протокол
Trickles был предложен в [3]. Он является протоколом без поддержки распределенного состояния. В отличие от TCP протокол
Trickles хранит всю информацию о соединении и о состоянии сети
на одном конце сети. Данный узел сети мы будем называть клиент,
а узел, который не хранит информацию о сессии, – сервер.
Протокол ТСР управляет алгоритмом контроля перегрузки
сети при помощи контрольного блока на стороне сервера (TCP
control block (TCB)). А протокол Trickles использует транспортное continuation, которым управляет клиент.
Continuation – это пакет с номером k, следующий от сервера к
клиенту и обратно. Данный пакет является пакетом ТСР с измененным заголовком. Он включает в себя: номер пакета, время
круговой задержки пакета (RTT), порог медленного старта
(ssthresh), количество потерь и многое другое.
Для контроля перегрузки сети клиент кодирует нужную часть
ТСВ в каждый пакет, для имитации механизма контроля на стороне сервера. При помощи кодированных данных сервер восстанавливает блок ТСВ.
Абстракция Trickles
Давайте рассмотрим простое соединение клиента с сервером.
Оно представляет множество continuations, которые содержат
различные состояния соединения. Наличие нескольких параллельных состояний в модели с нераспределенным состоянием явМ. А. Никитинский
83
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ляется основным источником сложности в разработке протокола
Trickles.
Рис. 2. Обычное соединение ТСР или Trickles
На рис. 2 изображен обмен пакетов между сервером и клиентом протокола Trickles. Для простоты изображена передача пакетов без потерь, все пакеты приходят по порядку, нет задержки
подтверждения. Получение одного пакета от клиента позволяет
серверу отправить один пакет в ответ, что, в свою очередь, вызывает еще один пакет с клиента, и так далее. Такую последовательность пакетов, связанных в серию, мы будем называть trickle
(рис. 3).
Рис. 3. Trickle и continuation
Сервер не помнит о состоянии соединения между различными пакетами, такую информацию могут предоставлять только
trickle, и поэтому ответ сервера на входящий пакет определяется
только входящим trickle. Поток входящих пакетов, каждый пакет
связан со своим уникальным номером, распадается на несколько
не пересекающихся trickle: каждый пакет входит ровно в один
trickle. Каждый trickle можно рассматривать как независимый.
Два trickle могут обмениваться информацией только на стороне
клиента.
84
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Server
Client
a
b
c
Рис. 4. Обработка пакета, пришедшего на сторону сервера:
a) продолжение trickle; b) создание нового trickle; c) уничтожение trickle
В протоколе Trickles алгоритм контроля перегрузки сети работает отдельно для каждого trickle. Когда пакет приходит на
сервер, существует три возможных варианта развития событий:
первый (рис. 4.а) – в общем случае сервер отправляет один пакет
на запрос; второй (рис. 4.b) – сервер может увеличить cwnd путем
отправки двух пакетов на один запрос, следовательно, он продолжает входящий trickle и образует новый независимый; и, наконец, третий вариант (рис. 4.c) – если в сети произошла потеря
пакета или пакетов, то сервер может прекратить входящий trickle,
что приведет к уменьшению cwnd на один.
Алгоритм контроля перегрузки сети на сервере использует
SACK блоки передаваемые клиентом, для решения продолжить,
прекратить или разделить текущий trickle. При обработке пакета
протокол Trickles имитирует поведение ТСР на соответствующий
номер подтверждения.
Ключевым принципом при проектировании протокола
Trickles является обеспечение информацией каждого trickle для
возможности симулирования поведения ТСР. На стороне клиента
знание о состоянии сети используется для каждого trickle, оно
получается на основе информации от других trickle. Таким образом, клиент имеет полную картину о состоянии сети и сессии.
Сервер же узнает о состоянии сети от trickle, но данная информация соответствует состоянию сети, которое было n времени
назад, где n равно RTT/2 пришедшего пакета.
Имитационное моделирование
Для решения задачи имитационного моделирования мы проанализировали множество симуляторов и пришли к выводу, что
М. А. Никитинский
85
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
network simulator 2 является лучшим в соотношении цена/возможности.
Реализация собственного протокола в ns2 несложна, если
пользователь знаком с принципами построения архитектуры ns2
и с основами программирования протоколов. Мы реализовали
протокол Trickles в ns2. В первую очередь мы написали код на
С++, в который входит создание нового заголовка пакета, а также
создали два новых класса Агента сервера и клиента. Агент – это
базовый класс для моделирования транспортных протоколов, в
симуляторе представляет конечные точки сети, где создаются и
рассматриваются пакеты, а также Агент симулирует поведение
протоколов в этих конечных точках. Следующим нашим шагом
было перекомпиляция ядра ns2.
Мы испытали нашу модель на представленной топологии сети, изображенной на рис. 5. Для создания данной топологии нами
был написан скрипт на языке OTcl, часть скрипта вы можете видеть на рис. 6. В симуляторе ns2 скриптовый язык OTcl является
базовым инструментом для создания различных топологий сети.
Тестовая топология сети имеет три точки. Точка н0 представляет
сервер, н1 – шлюз и н2 – клиента. Мы установили, что на сервере
находится бесконечное количество данных, а каждый передаваемый пакет имеет размер 1000 байт. Передача данных началась в
первую секунду времени симулятора и закончилась в тридцатую,
при этом протокол Trickles передал порядка 45 килобайт за 29 секунд на данной топологии. Нужно сделать оговорку, при работе
модели никаких конкретных данных не передается.
Рис. 5. Простейшая топология сети
set ns [new Simulator]
set f [open out.tr w]
86
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
$ns trace-all $f
….
set n0 [$ns node]
…
$ns duplex-link $n0 $n1 5Mb 20ms DropTail
$ns duplex-link $n1 $n2 0.015Mb 10ms DropTail
…
$ns at 1.0 "$tclient start"
$ns at 30.0 "finish"
proc finish {} { ……
}
$ns run
Рис. 6. Простейшая топология сети, часть кода на языке OTcl
Результатом эксперимента является трасса, которая представляет собой последовательность событий, таких как получение, отправка, чтение пакетов на различных узлах сети. Исходя
из этих данных, мы можем отслеживать соответствующие события, а также произвести оценку количественных характеристик
протокола. Часть трассы изображена на рисунке 7.
………………
r 9.568355 0 1 TricklesTP 1115 ------- 0 0.0 2.0 24 38
+ 9.568355 1 2 TricklesTP 1115 ------- 0 0.0 2.0 24 38
-10.033301 1 2 TricklesTP 1115 ------- 0 0.0 2.0 17 25
r 10.043301 1 2 TricklesTP 1115 ------- 0 0.0 2.0 16 23
+ 10.043301 2 1 TricklesTP 127 ------- 0 2.0 0.0 16 39
- 10.043301 2 1 TricklesTP 127 ------- 0 2.0 0.0 16 39
r 10.121035 2 1 TricklesTP 127 ------- 0 2.0 0.0 16 39
+ 10.121035 1 0 TricklesTP 127 ------- 0 2.0 0.0 16 39
- 10.121035 1 0 TricklesTP 127 ------- 0 2.0 0.0 16 39
r 10.141238 1 0 TricklesTP 127 ------- 0 2.0 0.0 16 39
+ 10.141238 0 1 TricklesTP 1115 ------- 0 0.0 2.0 25 40
- 10.141238 0 1 TricklesTP 1115 ------- 0 0.0 2.0 25 40
r 10.163022 0 1 TricklesTP 1115 ------- 0 0.0 2.0 25 40
+ 10.163022 1 2 TricklesTP 1115 ------- 0 0.0 2.0 25 40
………………..
Рис. 7 Результат работы простейшей модели.
М. А. Никитинский
87
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Заключение
Прочитав литературу по современным коммуникационным
сетям и протоколам, мы пришли к выводу, что протокол ТСР
имеет ряд проблем:
1) для хранения состояния соединения требуются ресурсы
как на стороне сервера, так и на стороне клиента;
2) ограничено количество одновременно обслуживаемых
клиентов на сервере из-за ограниченности ресурсов;
3) существует возможность атак на сервер, что приведет к
полуоткрытым соединениям, которые могут вызвать нарушение
работы сервера.
Возможным решением данных проблем является протокол
Trickles. Для оценки характеристик данного протокола и верности нашего утверждения мы реализовали протокол Trickles в симуляторе сети ns2. При построении имитационной модели нами
использовались различные языки программирования (С++ и
OTcl). Нашу модель мы испытывали в различных сценариях сети,
составленных при помощи языка Python, для проверки правильности ее работы. В данной статье рассмотрена простейшая модель сценария.
 Литература
1. Никитинский М. А. A stateless approach for internet transport protocol.
FRUCT, ноябрь 2009. С. 194.
2. Никитинский М. А., Чалый Д. Ю. Modeling and analysis of the
Trickles protocol. FRUCT, апрель 2010, с. 87–91.
3. Shieh, A., Myers, A. C., Sirer, E. G. 2008. A stateless approach to connection-oriented protocols. ACM Trans. Comput. Syst. 26, 3, Article 8 (September 2008), 50 pages.
4. Руководство сетевого симулятора ns2.
88
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Скелетизация
черно-белых цифровых изображений
на основе эйлеровой характеристики
Д. Б. Никифоров
С появлением эры компьютеров создается множество систем
распознавания рукописного и печатного текста. Одним из предварительных этапов в распознавании в этих системах является скелетизация или утончение изображения. Главной задачей скелетного
представления изображения является предоставление возможности
для получения ряда характеристик исходного изображения.
Требуется построить и запрограммировать набор алгоритмов,
преобразующих черно-белые цифровые изображения к их скелетному виду, с условием неизменности эйлеровой характеристики и
сохранением формы изображения. В дополнение к этому необходимо разработать и запрограммировать алгоритм, вычисляющий расстояние Хаусдорфа между исходным изображением и его скелетом.
В качестве входных данных выступает матрица из нулей и
единиц, на основе которой строится прямоугольная решетка.
Прямоугольная решетка – это черно-белое цифровое изображение. Черный цвет пиксела этого изображения говорит о том, что
на этом месте в матрице стоит единица, а белый – нуль. Для примера рассмотрим матрицу размером 10×10, на рис. 1 изображены
входные данные – матрица из нулей и единиц, а на рис. 2 – прямоугольная решетка, построенная по этой матрице.
Рис. 1.
Рис. 2.
Д. Б. Никифоров
Рис. 3.
Рис. 4.
89
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Для прям
Д
моугольн
ной решеетки сущ
ществуетт характтеристич
ческий
наборр коэффи
ициентоов, он иззображен
н на рисс. 5. Харрактерисстический набор коэффици
иентов – это цел
лочислен
нный 166-мерный
й вектор, составле
с
енный из
и коэфф
фициенттов Ki, где Ki – колич
чество
фрагм
ментов i--го типа в изобрражении..
Рис. 5
Так как в качествве исход
Т
дного иззображен
ния высттупает матрим
ца A = (aij) размером
м m × n из
и нулей
й и един
ниц, то д
для поиска эйпользую
ют функкцию F, для ко
оторой
лероввой хараактеристтики исп
вернаа формулла:
где Sii − фрагм
менты вида, изоображенн
ные на рис.
р 5, kii – колич
чество
фрагм
ментов i--го типа в изобрражении.. Для фуункции F справед
дливы
равен
нства: F((Si) = αii, для i = 0,1,..,1
15. Сущеествует две эйлееровы
харакктеристи
ики χ1 и χ2. Дляя χ1 выполняеттся α0=00, α1=0, α2=0,
α3=0,, α4=1, α5=0,
α
α66=0, α7=
=0, α8=0
0, α9=0, α10=-1, α11=0, α12=,
α13=--1, α14=
=0, α15=
=0. Для χ2 вып
полняетсся α0=0,, α1=0, α2=0,
α3=0,, α4=1, α5=0,
α
α66=0, α7=
=0, α8=0, α9=1, α10=0, α
α11=0, α12=0,
α
α13=--1, α14=00, α15=00.
В общем
м виде процесс
п
с
скелетиз
зации соостоит и
из некотторого
числаа итерац
ций, каж
ждая иттерация включаеет: поисск грани
ичной
точки
и, прослееживани
ие границы, измеенение изображ
и
жения, пр
роверка на применеение элеементарн
ных прео
образовааний.
В
Важной
ч
частью
п
процесса
а скелеттизации являетсяя нахож
ждение
грани
ичных тоочек. Граничной
й точкой
й называается точчка, имееющая
90
Заметкии по инфоорматикее и матем
матике. В
Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
смежную точку другого цвета. Множество граничных точек может состоять из нескольких подмножеств, соответствующих отдельным замкнутым контурам границы. Под поиском границы
будем понимать задачу обнаружения одной пары смежных разноцветных точек для каждого граничного контура. Поиск таких
пар может выполняться построчным сканированием по изображению. Каждая найденная пара последовательных разноцветных
точек свидетельствует о наличии граничного контура. При нахождении такой пары включается алгоритм прослеживания границы, который выявляет все граничные точки, образующие данный
контур. После завершения прослеживания обнаруженного контура поисковое сканирование по изображению продолжается с того
места, где была найдена граничная пара точек. Процесс поиска
завершается, когда заканчивается построчное сканирование. Для
того чтобы предотвратить повторное прослеживание одних и тех
же контуров, начиная с разных граничных пар, необходимо пометить все граничные точки, выявленные в процессе прослеживания. С учетом этого новый контур считается обнаруженным, если
находится пара смежных разноцветных точек, которые не являются помеченными. Таким образом, все контуры будут найдены
за один проход по изображению и при этом ни один из контуров
не будет прослежен дважды.
На рис. 6 изображен пример последовательного обнаружения
контуров 1, 2, 3 при построчном сканировании изображения
сверху вниз.
Рис. 6
Прослеживание контура начинается с обнаружения граничной пары − двух смежных разноцветных точек. Текущую пару
разноцветных смежных точек будем называть следящей парой.
Для следящей пары находим все смежные непомеченные черные
точки, которые смежные с белыми. Далее помечаем эти точки как
Д. Б. Никифоров
91
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
граничные и каждую такую точку объявляем следящей парой.
Процесс прослеживания состоит в последовательном перемещении следящей пары из одной точки в другие. Таким образом,
процесс прослеживания позволяет выделить все граничные точки, соответствующие одному граничному контуру. Процесс прослеживания завершается, когда на очередном шаге перестанут
появляться новые следящие пары.
Рис. 7.
Рис. 8.
На рис. 7 изображен процесс прослеживания границы, на рис. 8
показан результат работы алгоритма прослеживания границы.
Единственное изменение в изображении, которое производиться при скелетизации, − это замена черной точки на белую.
Пусть такое изменение будет называться элементарным. Проходя
по контуру и проводя элементарные преобразования, будет удаляться один слой черных точек. Таким образом, будет уменьшаться их общее количество. Именно здесь происходит скелетизация − утончение изображения.
На элементарные преобразования накладывается ряд ограничений. Первое и главное ограничение − это неизменность эйлеровой характеристики. Второе ограничение связано с сохранением
формы изображения, которое утверждает запрет на элементарное
преобразование граничных точек, несмежных с черными точками.
Для проверки сохранности эйлеровой характеристики сначала найдем ее значение, затем на каждом шаге будем сравнивать
данное значение со значением эйлеровой характеристики после
применения элементарного преобразования. В таком случае, если
эйлеровы характеристики совпадают, переходим к проверке второго правила, а если различаются, то эту точку закрашиваем обратно в черный цвет. Так как существуют две эйлеровы характеристики, необходимо осуществить проверку сохранности обеих.
92
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Алгоритм скелетизации останавливается, если при очередном
проходе по всем контурам изображения не будет применено ни
одного элементарного преобразования. Такое условие гарантирует завершение алгоритма, так как черных точек конечное число, а
элементарное преобразование гарантирует отсутствие появления
новых черных точек.
Алгоритм скелетизации на основе χ1
Данный алгоритм заключается в последовательном выполнении итераций, каждая итерация − это проход по изображению,
нахождение всех контуров (граничных точек) и удаление возможных граничных точек. В данном алгоритме на применение
элементарных преобразований накладывается лишь одно ограничение – это неизменность χ1.
Проход по изображению можно осуществлять разными способами, различия этих способов заключаются в направлении и
очередности прохода по строке и столбцу. Например, можно осуществить проход слева направо по строке, сверху вниз по столбцу
и сначала проходить по строке, а потом по столбцу. При разном
направлении прохода алгоритм может выдавать разный скелет одного и того же изображения. Если не менять направление прохода,
но повернуть изображение на какой-либо угол, то алгоритм также
может выдать разный скелет одного и того же изображения.
На рис. 9 изображено пошаговое получение скелета алгоритмом скелетизации на основе χ1.
Плюс данного алгоритма в том, что толщина полученного скелета составляет один пиксель. Минус данного алгоритма в том, что
если изображение имеет структуру как на рис. 3 (в изображении
только один граничный контур), то скелет – это один пиксель.
Алгоритм скелетизации на основе χ2
Данный алгоритм отличается от предыдущего алгоритма тем,
что ограничение – это неизменность χ2. Плюсы и минусы данного алгоритма такие же, как и у алгоритма на основе χ1. На рис. 4
изображен результат работы данного алгоритма.
Д. Б. Никифоров
93
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рис. 9.
Алгоритм скелетизации, сохраняющий форму изображения
Алгоритмы скелетизации на основе χ1 и χ2 для изображений
с одним граничным контуром не позволяют сохранять их форму,
даже строят не скелет изображения, а просто оставляют один
пиксель. Это говорит о том, что данные алгоритмы применимы к
изображениям, имеющим χ1 ≤ 0 и χ2 ≤ 0, но и эти условия не позволяют сохранить форму изображения − это видно на рис. 10.
Рис. 10.
В большинстве случаев скелетизация используется в распознавании изображений. Таким образом, важной частью скелетизации является сохранение формы изображения. Как уже говорилось ранее, для сохранения формы изображения было введено
второе ограничение, которое утверждает запрет на элементарное
преобразование граничных точек, несмежных с черными точками. Если данное ограничение совместить с ограничениями неиз94
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
менноости χ1 и χ2, тоо получи
ится пол
лноценны
ый алгорритм скеелетизации
и. Данны
ый алгорритм явлляется близким
б
к оптим
мальном
му, так
как сккелетизаация идеет как иззвне, такк и изнуутри изоображени
ия. На
рис. 11
1 и 12 изображе
и
ены резуультаты работы данногоо алгориттма.
Рис. 11.
Полученн
П
ный алгоритм скелетиз
с
ации поозволяетт строитьь скелеты произвоольных черно-б
белых ци
ифровыхх изображений с сойлеровыхх характтеристикк и форм
м изображ
жений. Таким
Т
хранеением эй
образзом, данн
ный алггоритм может
м
с успехом
м исполььзоватьсся при
создаании проограмм распозна
р
авания текста,
т
в географически
их информационны
ых систеемах и в распозн
навании отпечатк
о
ков палььцев.
Рис. 12
В заключ
чение хоотелось бы выр
разить оссобую б
благодар
рность
моемуу научноому рукооводителлю П. Г. Парфен
нову за п
поставлеенные
задачи и помоощь в рааботе.
 Литер
ратура
1.. Местецккий Л. М.
М Непреррывный сккелет бин
нарного ррастровогго изображен
ния. ТвГУ
У.
Д Б. Никкифоров
Д.
95
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
2. Kong T. Y., Rosenfeld A. Topological Algorithms for Digital Image
Processing. NH, 1996.
3. Парфенов П. Г. Об эйлеровой характеристике изображения // Архитектура и программное обеспечение вычислительных систем. Ярославль,
1992. С. 76–79.
4. Боков М. В. Скелетизация изображения отпечатка пальца. ЧГУ.
О граничных комплексах
некоторых релаксаций
разрезного многогранника
А. В. Николаев
Одним из перспективных направлений исследования задач
дискретной оптимизации, т. е. выбора оптимального элемента из
конечного набора однотипных элементов, является изучение ассоциированных с задачами выпуклых многогранников, свойства
которых отражают вычислительную сложность порождающих их
задач [1, 2, 3]. В частности, заметную роль играет плотность графов многогранников, которая служит нижней границей временной трудоемкости алгоритмов из широкого класса, включающего
большинство известных комбинаторных методов. Также показано, что плотность полиномиальна по размерности для полиномиально разрешимых задач и экспоненциальна для труднорешаемых [4].
Таким образом, большой интерес представляют многогранники с высокой плотностью графа, но компактным внешним описанием, что позволяет применять на них эффективные алгоритмы
линейного программирования. К ним, в частности, относится
рассматриваемый в данной статье многогранник M n  R 4n , известный как «корневой полуметрический», определяемый системой
вида:
xi , j  yi , j  zi , j  ti , j  1,
(1)
xi , j  yi , j  xk , j  yk , j ,
(2)
xi , j  zi , j  xi ,k  zi ,k ,
(3)
2
96
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
xi , j  x j ,i ,
ti , j  t j ,i ,
(4)
(5)
(6)
yi , j  z j ,i ,
yi ,i  zi ,i  0,
xi , j  0,
yi , j  0,
zi , j  0,
ti , j  0,
независимо пробегают значения 1,, n .
Отметим, что координаты точек многогранника
представлять в виде матрицы n  n блоков вида
где
i, j , k
xi , j
yi , j
zi , j
ti , j
Mn
удобно
а ограничения (4) задают симметрию относительно главной диагонали в матрице из блоков, и следовательно, достаточно ограничиться рассмотрением лишь верхней половины матрицы координат ( i  j ).
Многогранники этого класса обладают рядом особенностей,
обусловливающих значительный к ним интерес (см. [3, 4, 5]). В
частности, в статье [5] была установлена полиномиальная разрешимость задачи следующего вида: для заданной линейной целеf
требуется выяснить, достигается ли
вой функции
max f (u ) : u  M n в целой вершине многогранника M n .
Многогранник M nZ , порождаемый целыми вершинами из M n ,
называется разрезным многогранником, так как известная NPполная задача о максимальном разрезе (как впрочем, и ряд других) сводится к оптимизации линейной функции на M nZ . Поэтому
M n является релаксационным многогранником задачи о разрезе,
или релаксацией разрезного многогранника.
Определим, следуя [3], релаксации разрезного многогранника. С этой целью выберем натуральное k (k  n) и рассмотрим систему неравенств S , задающую многогранник M kZ ; обозначим через Θ число этих неравенств. Далее, для каждого k – элементного
подмножества   {1 ,..., k } множества {1,..., n}  Nn рассмотрим систему S получающуюся из системы неравенств S заменой переменных xi, j , yi , j , zi, j и ti, j на x , , y , , z , и t , . Дополним систему (1)–(6) совокупностью всех   Cnk указанных неравенств, а
i
j
А. В. Николаев
i
j
i
j
i
j
97
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
многогранник, который задается расширенной системой ограничений, обозначим через M n,k .
Нетрудно заметить, что многогранники M1 и M 2 не имеет нецелочисленных вершин и совпадают с M1Z и M 2Z соответственно, а,
значит, и релаксации M n,1 и M n,2 будут совпадать с самим многогранником M n . Соответственно, M n,3 – это первая отличная от M n
релаксация. M n,3 задается системой (1)-(6) и дополнительными ограничениями
xia,i ,a  x j , j  xka,k,a  xi , j  xia,k ,a  x j ,k  1
i
a j ,a j
i
k
a j , ai
k
k
ak , a j
i
(7)
для каждой тройки i, j , k , где 1  i  j  k  n , и всех векторов a [1, 2]n .
Т е о р е м а 1 . a). Многогранник M n,k задается системой
(1)–(6) и дополнительными ограничениями, среди которых присутствуют ограничения вида
x ,  x
a1 , a1
1
1
a 2 , a 2
2 , 2
 ...  x
a k , a k
k
, k
 x ,
a 2 , a1
1
2
 x ,  ...  x
a 3 , a1
1
3
a k , a k 1
k 1 , k
для каждого k -элементного подмножества   {1 ,..., k }
ства {1,..., n} и всех векторов a [1, 2]n .
b). Точка с координатами
xi3,i ai ,3ai 
k 1
,
k
a ,ai
xi , jj
1
(8)
множе-
0
для всех i, j , где 1  i  j  n , и для всех векторов a [1, 2]n является
вершиной многогранника M n,k .
Д о к а з а т е л ь с т в о . Проведем доказательство по индукции. Утверждение a) выполнено для многогранника M n,3 . Предположим, что оно выполнено для M n,k . Рассмотрим многогранник
M n*,k , удовлетворяющий системе (1)–(6), (8). Очевидно, что
M n,k  M n*,k .
Без ограничения общности положим, что вектор
a [1, 2]n  (2, 2,..., 2) , n  k  1 (рассуждения для других вариантов полностью повторяют приведенные ниже).
98
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Выберем такую точку u  M k 1 , что
i, j (1  i  j  k  1) : ti , j  0,
{ 1 ,..., k }  N k 1 : t1 ,1  ...  t k , k  t1 , 2  ...  t k 1 , k  1,
t1 ,1  t 2 , 2  ...  t k , k  1.
Нетрудно проверить, что точка u  M k*1,k . Покажем, что для заданной данным образом точки u система (1)–(6), (8) имеет единственное решение. Рассмотрим уравнения (8):
t1,1  t2,2  ...  tk 1,k 1  tk ,k  1,

t1,1  t2,2  ...  tk 1,k 1  tk 1,k 1  1,


t2,2  t3,3  ...  tk ,k  tk 1,k 1  1.

Вычтем из каждой строки, начиная со второй, первую строку:
t1,1  t2,2  ...  tk 1,k 1  tk ,k  1, t1,1  t2,2  ...  tk 1,k 1  tk ,k  1,


t
t
0,



k
,
k
k

1,
k

1

tk ,k  tk 1,k 1 ,


 tk 1,k 1  tk 1,k 1 ,
 tk 1,k 1  tk 1,k 1  0,




 t1,1  tk 1,k 1  0,
t1,1  tk 1,k 1 ,
1
t1,1  t2,2  ...  tk ,k  tk 1,k 1  .
k
С учетом системы (1)–(6), получаем искомую точку:
i, j (1  i  j  k  1) : xi1,1,i 
k 1
,
k
xi2,2
, j  0.
Таким образом, точка u удовлетворяет системе (1)–(6), (8) и
является ее единственным решением. Точка и – вершина многогранника M k*1,k . Покажем, что и принадлежит многограннику
M k 1, k . Для этого достаточно проверить, что точка v:
А. В. Николаев
99
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
i, j (1  i  j  k ) : xi1,1,i 
k 1
,
k
xi2,2
, j  0,
принадлежит многограннику M k ,k  M kZ . Действительно, v представляет собой выпуклую комбинацию вершин M kZ :
k
1
v   vi ,
i 1 k
vi  extM kZ : j (1  j  k , j  i ) : x j , j  1, xi ,i  0.
Таким образом, и является крайней точкой M k*1,k и принадлежит M k 1,k  M k*1,k , следовательно, точка и – вершина многогранника M k 1,k . Утверждение b) доказано.
Рассмотрим многогранник M k 1,k 1  M kZ1 . Очевидным образом,
u  M kZ1 . Среди определяющих M k 1,k 1 внешних ограничений присутствует:
t1,1  t2,2  ...  tk 1,k 1  t1,2  t1,3  ...  tk ,k 1  1,
отсекающее точку u , но сохраняющее все вершины M kZ1 .
Следствием теоремы является принципиальная сложность
многогранников M n,k . Для них число внешних ограничений экспоненциально по размерности пространства и превосходит
k
 Cni 2i . Количество нецелых вершин также экспоненциально и
i 3
превосходит 2n . Однако многогранники M n,k имеют еще более
сложную структуру по сравнению с описанной в теореме 1. Начиная с M n,5 , появляются новые классы линейных ограничений,
принципиально отличные от (8).
Т е о р е м а 2 . Многогранник M n,4 задается системой (1)–
(6), (8) и дополнительными ограничениями вида
a ,a
a ,a
a ,a
a ,a
xia,ii ,ai  x j ,j j j  xka,kk,ak  xla,ll ,al  xi , jj i  xia,kk ,ai  xia,ll ,ai  x j ,kk j  x j ,ll j  xka,l l,ak  1
для каждой четверки индексов
всех векторов a [1, 2]n .
100
i, j , k , l ,
где
1 i  j  k  l  n,
Заметки по информатике и математике. Вып. 2
(9)
и для
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Д о к а з а т е л ь с т в о . Рассмотрим многогранник M n*,4 , удовлетворяющий системе (1)–(8). Достаточно проверить тот факт,
*
не имеет нецелочисленных вершин и равен M 4Z . Отсюда
что M 4,4
напрямую следует, что M n*,4  M n,4 [6]. 
Т е о р е м а 3 . Многогранник M n,5 задается системой (1)–
(6), (8)–(9) и дополнительными ограничениями вида
i, j, k , l , p : 1  i  j  k  l  p  n, a, b  [1,2]n :
a ,a
a ,a
a ,a
a ,a
xia,ii ,ai  x j ,j j j  xka,kk,ak  xla,ll ,al  x pp, p p  xi , jj i  xia,kk ,ai  xia,ll ,ai  xi , pp i 
 x j ,kk j  x j ,ll j  x j ,pp j  xkal,l,ak  xk ,pp k  xl , pp l  1 ,
a ,a

a ,a
a ,a
a ,a
b ,b
b ,b

a ,a
b ,b
2 xib,ii,bi  x j ,j j j  xkbk,k,bk  xlb,ll,bl  x pp, p p  xi , jj i  xib,kk,bi  xib,ll,bi 
 xi ,pp i  x j k,k j  x jl,l j  x j ,pp j  xkbl,l,bk  xk ,pp k  xl ,pp l  3 ,
b ,b
b ,b
b ,b
b ,b
b ,b
b ,b
i, j, k , l : 1  i  j  k  l  n, p  Nn \{i, j, k , l}, c [1,2]n :
1c ,1c p
3  x p , pp
c ,c

c ,c
c ,c
c ,c
c ,c

 2  x pi,i p  x pj, j p  x pk,k p  x pl,l p 
c ,c
c ,c
 xi , jj i  xic,kk,ci  xic,ll,ci  x j k,k j  x jl,l j  xkcl,l,ck  3.
Д о к а з а т е л ь с т в о . Рассмотрим многогранник M n*,5 , удовлетворяющий системе (1)–(6), (8)–(9) и дополнительным ограни*
чениям описанного вида. Достаточно проверить тот факт, что M 5,5
не имеет нецелочисленных вершин и равен M 5Z . Отсюда напрямую следует, что M n*,5  M n,5 [6]. 
 Литература
1. Гэри М., Джонсон Д. Вычислительные машины и труднорешаемые
задачи. М.: Мир, 1982. 416 с.
2. Емеличев В. А., Ковалев М. М., Кравцов М. К. Многогранники,
графы, оптимизация. М.: Наука, 1981. 344 с.
А. В. Николаев
101
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
3. Деза М. М., Лоран М. Геометрия разрезов и метрик / Пер. с англ.
Е. Пантелеевой и П. Сергеева / Под ред. В. Гришухина. М.: МЦНМО, 2001.
4. Бондаренко В. А., Максименко А. Н. Геометрические конструкции
и сложность в комбинаторной оптимизации. М.: ЛКИ, 2008. 184 с.
5. Бондаренко В. А., Урываев Б. В. Об одной задаче целочисленной
оптимизации // Автоматика и телемеханика. 2007. № 6.
6. PORTA: POlyhedron Representation Transformation Algorithm 1.4.0.
Thomas Christof, Andreas Loebel. The Konrad-Zuse-Zentrum fur Informationstechnik Berlin. URL: http://www.zib.de/Optimization/Software/Porta/.
Алгоритм кодирования систем
с конечным числом состояний
А. А. Павлов
В данной работе рассматривается кодирование трасс систем с
конечным числом состояний на примере конечного автомата. Конечный автомат – математическая модель устройства, которое
распознает (порождает) так называемые регулярные языки – конечные и бесконечные множества слов, имеющие достаточно
простую структуру. В частности, при помощи конечных автоматов можно моделировать любые программы и системы, имеющие
конечное число состояний.
В современных условиях защита интеллектуальной собственности встаёт на первый план. Существует несколько способов защиты информации: обфускация («запутывание» кода программы), шифрование и др. Данная работа является демонстрацией возможности шифрования хотя бы простой программы
(конечного автомата).
Был разработан алгоритм, позволяющий построить по исходному конечному автомату-распознавателю с двоичным алфавитом
новый автомат, язык которого (множество трасс) представляет собой закодированный язык исходного. Под кодированием мы понимаем наложение кодирующей двоичной строки заданной длины
(пароля). Наложение кодирующей строки на исходную кодируемую строку производится побитово при помощи операции логиче102
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ской суммы. В случае большей длины кодируемой строки кодирующая строка повторяется периодически нужное количество раз.
Кодирование автомата получается в результате применения
к исходному автомату некоторых преобразований: пусть α –
кодирующая строка, | α | = k –длина строки. Наша задача построить k-символьную праволинейную грамматику, в которой
все правила имеют вид
A→ a1 a2 a3 … aк B  A→ (a1 + α1 )(a2 + α2 )(a3 + α3 )… (aк + αk )B,
где ai – терминальный символ.
Рассмотрим алгоритм на конкретном примере детерминированного конечного автомата: М=({q0,q1,q2}, {0,1} ,δ ,q0, {q2}),
δ(q0, 0) = q2 δ(q0, 1) = q1
δ(q1, 0) = q1 δ(q1, 1) = q2
δ(q2, 0) = q0 δ(q2, 1) = q2 .
Ему соответствует диаграмма DM:
q0
0
0
1
0
q1
1
q2
1
Рис. 1. Диаграмма DM
Этот автомат распознаёт строки 0, 11, 000, 101, 10011,
0101001, но отвергает 001, 1010.
Шаг 1. По заданному автомату строим праволинейную грамматику:
q0 → 1 q 1 | 0 q 2 | 0
q1 → 1| q2 | 0 q1 | 1
q2 → 1 q2 | 0 q0 | 1.
А. А. Павлов
103
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Шаг 2. Построим k – символьную праволинейную грамматику (k – количество терминальных символов в каждой продукции),
эквивалентную исходной, т. е. порождающей те же бесконечные
строки, без продукций вида A→a, где a – терминал. Правило построения k-символьной грамматики из (k-1)-символьной грамматики Gk-1 и исходной 1-символьной грамматики G: во всех продукциях Gk-1 заменим нетерминальный символ (последний символ в правой части продукции) на всевозможные правые части
продукций G для данного нетерминального символа.
Доказательство эквивалентности нового автомата исходному
(с точки зрения распознаваемых языков) – индукцией по числу k.
Для k=2 – перебор случаев. Для произвольного k – предположение индукции. Для k+1 – перебор случаев.
q 0 → 1 1 q 2 | 1 0 q 1 | 0 1 q2 | 0 0 q 0
q 1 → 1 1 q 2 | 1 0 q 0 | 0 1 q2 | 0 0 q 1
q 2 → 1 1 q 2 | 1 0 q 0 | 0 1 q1 | 0 0 q 2
Шаг 3. Построим соответствующий автомат с цепочками переходов длины k, “узлами” которого служат исходные нетерминальные символы.
0
q0
1
1
0
0
0
q3
q5
q1
0
1
q4
0
q8
q6
1
1
0
0
q7
1
0
1
1
q2
1
Рис. 2. Диаграмма автомата с цепочками переходов длины k
104
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Шаг 4. Для каждого исходного нетерминала A (состояния исходного автомата) при помощи исходной грамматики построим
множество выводимых строк, составленных только из терминалов, длины не более k. Последние “узлы” соответствующих цепочек обозначим как финальные вершины:
 – узлы (новые нетерминалы),
 – новые финальные нетерминалы
q0 → 1 q 1 | 0 q 2 | 0
q1 → 1 q 2 | 0 q 1 | 1
q2 → 1 q 2 | 0 q 0 | 1

q0 → 11 q2 | 10 q1 | 01 q2 | 00 q0
q1 → 11 q2 | 10 q0 | 01 q2 | 00 q1
q2 → 11 q2 | 10 q0 | 01 q1 | 00
0
q0
1
1
0
0
0
q5
q1
q3
0
1
q4
0
q8
q6
1
1
0
0
1
0
1
q7
1
q2
1
Рис. 3. Диаграмма автомата с конечными состояниями
Эквивалентность нового автомата исходному (с точки зрения
распознаваемых языков) доказывается индукцией по числу k. Для
k=2 – перебор случаев. Для произвольного k – предположение
индукции. Для k+1 – перебор случаев.
А. А. Павлов
105
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Шаг 5. Путём наложения двоичной строки кодируем полученный автомат. Наложение кодирующей строки на исходную
кодируемую строку производится побитово при помощи операции логической суммы; в случае большей длины кодируемой
строки кодирующая строка повторяется периодически нужное
количество раз. В данном случае кодирующая строка – 10.
Начальная
строка
1
1
0
0
Кодирующая
строка
1
0
1
0
Закодированная строка
0
1
1
0
q 0 → 0 1 q 2 | 0 0 q 1 | 1 1 q2 | 1 0 q 0
q 1 → 0 1 q 2 | 0 0 q 0 | 1 1 q2 | 1 0 q 1
q 2 → 0 1 q 2 | 0 0 q 0 | 1 1 q1 | 1 0 q 2
0
q0
0
0
1
0
q3
q5
0
1
q4
0
q1
1
q8
q6
1
1
0
q7
1
0
1
1
0
1
q2
Рис. 4. Диаграмма закодированного автомата
Если на слово, которое распознает закодированный автомат,
наложить пароль, то получится слово, которое распознал бы исходный незакодированный автомат.
Для наглядного представления работы алгоритма было создано приложение. Можно загрузить автомат из файла или задать
106
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
его самостоятельно. В программе рассматривается конечный автомат с двумя символами.
Для начала работы программы вводим количество состояний
автомата и нажимаем на кнопку “Построить матрицу”. Далее заполняем таблицу переходов и указываем финальные состояния.
После этого нажатием кнопки “готово”, мы подтверждаем ввод
данных. Следующим шагом запускаем алгоритм минимизации
нажатием на кнопку “Минимизировать”. Получаем минимизированный автомат. Затем вводим двоичную кодирующую строку и
нажимаем кнопку “Закодировать”.
Получаем закодированный автомат!
 Литература
1. Ахо А., Ульман Д. Теория синтаксического анализа, перевода и
компиляции: пер. с англ. В. Н. Агафонова; под ред. В. М. Курочкина. М.:
МИР, 1978.
2. Ахо А., Сети Р., Ульман Д. Компиляторы: принципы, технологии и
инструменты: Пер. с англ. M.: Издательский дом “Вильямс”, 2003. 768 с.
А. А. Павлов
107
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
3. Соколов В. А. Формальные языки и грамматики: Курс лекций.
Яросл. гос. ун-т. 2-е изд., испр. Ярославль, 2003. 152 с.
4. Брауэр В. Введение в теорию конечных автоматов: пер. с нем. M.:
Радио и связь, 1987. 392 стр. с ил.
5. Кобринский Н. Е., Трахтенброт Б. А. Введение в теорию конечных
автоматов.
Векторизация изображений
с субпиксельной точностью
на основе скелетизации
И. С. Симакин
Введение
Линии (ridges в англоязычный литературе) представляют собой множества точек изображения, в которых достигается локальный максимум (или минимум) какого-то гладкого признака,
например яркости, хотя бы в одной размерности. То есть яркость
пикселей изображения, принадлежащих к линиям, отличается от
яркости соседних пикселей, принадлежащих фону.
Процесс векторизации заключается в переходе от исходного
растрового изображения к сети ломаных линий, заданных координатами вершин, соответствующих реальным линиям на изображении. Сеть линий векторизации может быть конечным результатом обработки изображения, например, при оцифровке
чертежей или географических карт. Кроме того, она часто выступает как промежуточный этап при решении более сложных задач,
таких как распознавание отпечатков пальцев [3], сравнение лиц,
распознавание текста [4] и т. д.
Для векторизации черно-белого изображения достаточно выполнить его скелетизацию (утоньшение), а затем построить граф
полученного остова [4]. Векторизацию изображений в градациях
серого можно свести к векторизации черно-белых изображений,
используя процедуру бинаризации, отделяющую линии от окру108
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
жающего их фона по различию яркости [5]. Поскольку вершины
графа остова изображения, полученного в результате скелетизации, привязаны к отдельным пикселям, то точность результата
такой векторизации не будет превышать половины пикселя. В
данной работе предложен метод векторизации, основанный на
скелетизации, который позволяет достигать субпиксельной точности.
Входные данные
Пусть заданы дискретизации Γ и Φ
признаков, характеризующих контрастность γ и направление нормали φ к предполагаемым линиям на входном изображении.
Признак γ Γ ,
представляет контрастность, характеризующую перепад яркости между предполагаемой линией и
, причем γ 0.
фоном в окрестности точки , , где ,
представляет редставляет направлеПризнак γ Γ ,
ние нормали к предполагаемой линии в окрестности данной точки. Поскольку направление обхода линий задается с точностью
до , то направление нормали к предполагаемой линии φ также
, .
задается с точностью до , то есть
комплексного признака
Определим дискретизацию
следующим образом:
,
γ · e
Γ ,
·e
·
,
.
Контрастность и направление к нормали предполагаемых линий можно выразить через модуль и аргумент комплексного признака z, как
γ z
arg
2
| |
arg
,
,
2
,
,
γ
0,
2
2
.
Использование приема, когда направления, заданные с точностью до π (а не до 2π), представляются в виде аргумента комплексной величины, хорошо описано в [1, с. 461].
И. С. Симакин
109
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Таким образом, будем считать, что на вход векторизатора
комплексного приподается описанная выше дискретизация
знака z.
контрастности по на,
Далее определим функцию
правлению
,
· cos 2 ·
.
Легко проверить, что при фиксированной контрастности
совпадает с нанаибольшее значение она принимает, когда
(с точностью
правлением к нормали предполагаемых линий
до ), а наименьшее значения – когда
перпендикулярен этому
направлению.
через операции над комплекс,
Выразим функцию
ными числами
,
| | · cos arg
| | · cos arg
2·
| | · cos arg
arg
2
| | · cos 2 ·
· cos 2 ·
·
| |· ·
| |·|
·
| |·
arg
·
| ·
·
·
·
|
·
·
·
·
|
.
Вычисление смещения до линии максимумов контрастности
Пусть даны значения функции в трех точках
0
,
1
, 2
. Многочлен, задающей параболу, проходящую
через эти точки примет вид
110
,
,
,
,
,
,
1
2
,
3
2
2
.
1
2
1
2
,
,
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Функция y(x) имеет точку максимума в том и только в том
0. Запислучае, если парабола является выпуклой, то есть
шем это условие в виде функции, принимающей булевские значения, и назовем условием выпуклости:
,
вып
,
2
0
0,1 .
Построим
функцию
смещения
точки
максимума
, ,
квадратичной функции. Точка максимума находится
в вершине параболы, следовательно
,
,
3
2
1
2·
2
2·
2
1
2
1
2
Определим, при каком условии вершина параболы будет
смещена относительно точки х = 1 более чем на 1:
,
|
1|
,
,
0
0
1.
2
,
2
2·
Учтем, что при выполнении условия выпуклости
0, неравенство останется справедливым, если обе его части умножить
:
на
0·
2·
Отсюда следует, что
Далее заменим
3
2
3
2
2
2
1
2
1
2
·
2·
.
0
4·
и
на их выражение через
0,
4·
1
2
И. С. Симакин
1
2
.
4
4
,
и
3
1
:
1 ,
3 .
111
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Запишем это условие в виде булевской функции
,
4
,
3
1
4
1
0,1
3
Координаты единичного вектора, направленного вдоль нормали будут равны
∆
∆
,
,
cos
sin
,
,
,
.
∆ ,
∆
, , ,
∆ ,
Рассмотрим три точки
∆
лежащие на линии нормали. Аппроксимируем значения признака в точках
∆ ,
∆
и
∆ ,
∆
при помощи
биквадратичной интерполяции по 9-ти точкам (см. рис. 1):
,
∆
,
,
∆
∆
,
1
∆
1
∆
,1
∆
,1
∆
…
, …
…
…
, …
…
∆
…
,
…
…
,
…
…
…
…
…
…
…
,
.
Далее вычислим в этих трех точках контрастность по направлению нормали:
,
,
· ·
·
| |
,
| |·
,
· ·
·
· ·
·
,
·
·
| |,
,
·
·
·
·
·
| |
| |
,
.
По полученным трем точкам построим аппроксимацию контрастности при помощи параболы. Это необходимо для того,
чтобы найти точку максимума контрастности вдоль направления
нормали, то есть смещение δ от узла дискретизации , до линии максимумов контрастности вдоль направления будет оцениваться как смещение вершины параболы. Получаем дискрети112
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
зацию Δ, характеризующую смещение от каждого узла до линии
максимумов контрастности:
Δ ,
δ x, y
δ
, ,
1.
Далее построим дискретизацию Β булевского признака β, которая помечает единицами узлы, расстояние от которых до линии
максимумов контрастности не превосходит 1:
Β ,
β x, y
fвып
, ,
f
, ,
.
Пример дискретизации Β приведен на рис. 1.
Рис. 1. а) схема интерполяции значений
б) дискретизация смещения
и
;
Скелетизации
Остовом (скелетом) заданного множества называется подмножество, сохраняющее топологию исходного множества, из
которого нельзя исключить более ни одного элемента, не изменив
топологию. Алгоритмы скелетизации (утоньшения), например,
[6], позволяют получать остов заданного множества.
Построим остов ненулевых элементов дискретизации Β при
помощи модифицированного алгоритма скелетизации, учитывающего веса элементов. В качестве веса каждого узла возьмем
единицу минус расстояние от соответствующего узла до линии
максимумов контрастности 1 |δ x, y |.
После этого построим граф полученного остова. В качестве
вершин графа будут выступать узлы дискретизации, входящие в
остов. Соответственно, ребра будут соединять соседние узлы.
Полученный граф будет состоять из цепочек вершин, развилок
И. С. Симакин
113
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
(вершин, из которых выходит более двух ребер), концевых вершин (из которых выходит только одно ребро) и изолированных
вершин. Последовательным цепочкам вершин будут соответствовать линии максимумов контрастности, а развилкам на графе –
развилки линий.
Поскольку каждой вершине графа соответствует узел дискретизации, то сам граф можно считать грубой векторизацией. Построим более точную аппроксимацию линий максимумов контрастности с учетом того, что для каждого узла дискретизации из, и смещение δ x, y до линии
вестно направление нормали
максимумов контрастности вдоль этой нормали. Передвинем
вершины грубой векторизации, используя поправку
,
,
δ x, y
,
δ · cos , sin
Δ , ,
arg
,
2
,
.
Полученная векторизация будет значительно более точной и
гладкой, в чем можно убедиться глядя рис. 2.
Рис. 2. а) исходное изображение; б) дискретизация ;
в) остов и грубая векторизация; г) cубпиксельная векторизация
Следует отметить, что подаваемая на вход векторизатора
дискретизация признака может быть зашумленной, вследствие
зашумленности исходного изображения или особенностей используемого метода выделения линий. Среагировав на шумовые
всплески, векторизатор может выделить лишние максимумы, что
особенно заметно при работе с толстыми линиями. Для предот114
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
вращения появления лишних максимумов можно предварительно
сгладить дискретизацию признака при помощи гауссианы заданного масштаба [6].
Заключение
Как показали результаты экспериментов, предложенный метод способен успешно векторизовать входные изображения с
субпиксельной точностью, обладая при этом достаточно высоким
быстродействием.
Если сравнить методы векторизации, основанные на скелетизации, но не учитывающие расстояние до линии максимумов
контрастности, например [4], с предложенным методом, то можно отметить, что последний менее склонен к созданию артефактов векторизации. Под артефактами подразумеваются лишние
ответвления в графе векторизации, возникающие в процессе скелетизации, которым не соответствуют реальные ответвления линий на исходном изображении.
Предложенный метод векторизации не всегда хорошо справляется с развилками линий. Это связано с неустойчивостью угла
вблизи развинаправления нормали к предполагаемой линии
лок, образующих углы, близкие к 90 градусам, и неустойчивостью смещения δ до линии максимумов контрастности близи развилок, образующих острые углы.
Предложенный метод векторизации имеет много общего с
алгоритмом выделения центров полос на интерферограмме, описанном в [2], однако они существенно отличаются в важных деталях, определяющих быстродействие метода и склонность к созданию артефактов. Следует отметить, что существуют методы
векторизации, работающие на других принципах (без использования скелетизации), позволяющие достигать субпиксельной
точности, например [6].
 Список литературы
1. Сойфер В. А. Методы компьютерной обработки изображений / Под
ред. В. А. Сойфера. 2-е изд., испр. М.: ФИЗМАТЛИТ, 2003. 784 с.
2. Крайнюков Н. И., Храмов А. Г. Выделение центров полос на интерферограмме // Компьютерная оптика / Межд. центр науч. и техн. инИ. С. Симакин
115
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
формации. Самар. авиац. ин-т, Центр. конструк. бюро уникального приборостроения ФАН. М., 1992. Вып. 10–11.
3. Xiaohui X., Fei Su, Anni Cai. Ridge-Based Fingerprint Recognition
// Lecture Notes in Computer Science. Advances in Biometrics. С. 273–279.
4. Ahmed M., Ward R. Rotation Invariant Rule-Based Thinning Algorithm
for Character Recognition // IEEE Transactions on Pattern Analysis and Machine Intelligence. 2002. С. 1672–1678.
5. Bukhari S.S. , Shafait F., Breuel T.M. Adaptive Binarization of Unconstrained Hand-Held Camera-Captured Document Images // Journal of Universal
Computer Science. 2009. Vol. 15, № 18. С. 3343–3363.
6. Lindeberg T. Edge Detection and Ridge Detection with Automatic Scale
Selection // International Journal of Computer Vision. 1998. Vol. 30, № 2.
С. 117–154.
Выделение на изображении темных
и светлых полос при помощи
пары комплексных линейных фильтров
И. С. Симакин
Вступление
Характерными элементами многих цифровых изображений
являются темные и светлые полосы (или линии), отличающиеся
по яркости от окружающего их фона. Слово «полоса» в данном
случае используется для того, чтобы подчеркнуть, что речь идет
об объектах, имеющих некоторую толщину.
Для описания полос на изображении можно использовать
признак, характеризующий направление и контрастность полосы
в окрестности каждого пикселя. Контрастность в данном случае
соответствует отличию яркости пикселей, составляющих полосу,
от яркости окружающего фона в окрестности заданной точки. На
основе такого признака легко построить метрику качества совпадения изображений, чувствительную к полосам. Кроме того, он
может применяться в процессе выделения на изображении линий
в векторном виде. В качестве простого способа вычисления при116
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
знака, позволяющего выделять полосы без учета направления,
можно привести дискретный оператор Лапласа [1, c. 200].
В данной статье предложен метод вычисления признака, характеризующего контрастность и направление полос на изображении, основанный на паре линейных фильтров с нетривиальной
комплексной импульсной характеристикой.
Дискретизация яркости и градиент
Пусть входное изображение задано дискретизацией яркости
, , то есть для каждой точки изображения с целыми координатами , известна яркость, выраженная действительным числом в пределах от 0 до 1.
Градиент яркости изображения представляет собой векторную двумерную функцию, составленную из производных яркости
по направлениям осей и . Градиент характеризует перепады
яркости, соответствующие границам на изображении [1, с. 197].
Поскольку изображение задано в дискретном виде, то для вычисления компонентов
и
дискретизации градиента по дискретизации яркости L воспользуемся оператором Собеля [1, с. 199]
,
1
·
8
,
1
·
8
1,
1,
1,
1
2·
1,
1
2·
1,
1
2·
,
1
2·
,
1
1,
1,
1,
1
1 ;
1,
1,
1
1
1 .
Хотя градиент является векторной величиной, в данной работе удобнее использовать его комплексное представление в виде
,
,
·
,
. Метод выделения полос
Определим функцию
следующим образом:
И. С. Симакин
117
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
1
· 1
2
0,
cos 2 ·
, 0
1,
1
0.
Как видно из графика (см. рис. 1), эта гладкая функция принимает ненулевые значения только на интервале от 0 до 1.
Далее определим функцию ang ,
так, чтобы она возвращала направление вектора , :
ang ,
arg x
i·
. Зададим импульсную характеристику линейных комплексных фильтров и :
,
·
,
·
·
,
·
,
,
.
Как видно из приведенных формул, ненулевые отсчеты импульсной характеристики фильтров находятся в круге с центром
в начале координат и радиусом . На рис. 1 представлены диаграммы направлений, характеризующие аргумент комплексных
значений их отсчетов.
Рис. 3. а) график функции
; б) диаграмма направлений фильтра
в) диаграмма направлений фильтра
118
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Линейная фильтрация изображения определяется через формулу двумерной свертки
,
,
·
,
.
Здесь – исходное изображение, – импульсная характеристика фильтра, а – результат фильтрации. Двумерная свертка
log , а не за ) при повычисляется эффективно (за время
мощи алгоритма быстрого преобразования Фурье (БПФ)
[1, с. 127].
Формулу свертки можно преобразовать в более наглядный
вид, если отразить импульсную характеристику фильтра относительно начала координат
,
,
,
,
·
,
,
,
,
·
·
,
(1) .
,
Применим к дискретизации градиента фильтры и , используя формулу перевернутой свертки (1), и получим признаки
и :
,
,
·
,
,
,
,
·
,
.
Если проанализировать работу фильтров и на примерах
входных изображений, содержащих полосы, то окажется, что
И. С. Симакин
119
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
пиксели изображения, которым соответствуют значения
,
с положительной действительной частью относятся к светлым
полосам изображения, а пиксели, которым соответствуют значения
, с отрицательной действительной частью – к темным
полосам, то есть
,
,
0
0
Зададим признак
точке , :
,
,
светлые полосы ,
темные полосы .
, характеризующий свойства полосы в
,
,
·
,
,
·
.
(2)
,
Можно проверить, что направление полосы будет определяться по формуле
,
arg
,
2
,
я
2
,
2
.
Поскольку прямое и противоположное направления полос
равнозначны и неотличимы друг от друга, то угол задается с
точностью до .
Модуль признака характеризует контрастность полосы относительно окружающего ее фона. Деление на корень используется в формуле (2) для того, чтобы обеспечить линейную зависимость значения от контрастности. Из этого, в частности, следует, что при изменении контрастности исходного изображения
значение признака изменится пропорционально.
и
по отСледует отметить, что каждый из признаков
дельности позволяет выделять полосы, однако их совместное использование позволяет добиваться существенно более хороших
результатов.
Предложенный метод лучше всего выделяет полосы шириной, близкой к . Если изображение содержит расположенные
120
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
рядом тонкие полосы, то они окажутся неразличимыми, а широкие полосы, наоборот, могут расслоиться на две части. Поэтому
при выборе следует учитывать характерную ширину полос, которые требуется выделить.
Результаты экспериментов
На рис. 2 приведен пример использования предложенного
метода.
Рис. 4. a) исходное полутоновое изображение;
б) дискретизация градиента G; в) дискретизация признака Z
Заключение
Итак, в данной статье был предложен метод вычисления признака , характеризующего темные и светлые полосы на изображении, с учетом их направления и контрастности. Пример сконструированного метода выделения полос показывает, что комплексное представление признаков и линейные фильтры с
нетривиальной комплексной импульсной характеристикой могут
быть полезны при обработке изображений.
Следует отметить, что подобных результатов можно добиться другим методом, основанным на вычислении собственных
векторов и собственных значений матрицы гессиана яркости [2].
 Список литературы
1. Сойфер В. А. Методы компьютерной обработки изображений / Под
ред. В. А. Сойфера. 2-е изд., испр. М.: ФИЗМАТЛИТ, 2003. 784 с.
2. Ersoy L., Bunyark F., Mackey M. A., Palaniappan K. Cell segmentation
using Hessian-based detection and contour evolution with directional derivatives
// ICIP. IEEE, 2008. С. 1804–1807.
И. С. Симакин
121
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
NP-полнота задачи нахождения
максимального потока в кратной сети
А. В. Смирнов
1. Основные понятия и определения
В данной работе будет рассмотрен вопрос об NP-полноте задачи нахождения максимального потока в сети произвольной
кратности k≥2. Понятие кратных сетей и кратных потоков было
введено в статье [1] применительно к задаче целочисленного сбалансирования трехмерной матрицы. Прежде чем перейти к обоснованию NP-полноты задачи о наибольшем кратном потоке, дадим несколько определений.
Сначала введем целое k>1, которое назовем кратностью потока. В качестве сети рассматривается ориентированный мультиграф G(X,U), между вершинами которого могут быть дуги одного из 3 видов:
1) обычная дуга uo с пропускной способностью c(uo), поток
по которой не связан с потоком по другим дугам; множество
обычных дуг обозначим через Uo;
2) кратная дуга uk между двумя вершинами, которая состоит
из k дуг одной ориентации с одинаковой пропускной способностью c(uk) и одинаковым потоком по каждой из них; множество
кратных дуг обозначим через Uk;
3) связанная дуга u между двумя вершинами, которая связана
с еще k–1 дугой, имеющих одинаковый один из концов; множество связанных дуг, выходящих из одной вершины или входящих в
одну вершину, будем называть мультидугой um; пропускная способность всех связанных дуг одной мультидуги одинакова; поток
по каждой связанной дуге из мультидуги одинаков; множество
мультидуг обозначим через Um.
Множество выходящих из вершины дуг может быть либо
только кратными дугами, либо только одной мультидугой (k связанных дуг), либо только обычными дугами.
122
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Из источника x0 сети выходят только кратные дуги, а в сток
z сети входит только одна мультидуга. Если из вершины выходят связанные дуги мультидуги, то в нее обязательно входит
кратная дуга. Если в вершину входит мультидуга, то из нее может выходить только кратная дуга. Определенный таким образом мультиграф G(X,U) с целочисленными пропускными способностями дуг назовем кратной (транспортной) сетью.
Кратным потоком по сети называется целочисленная
функция, определенная на множестве дуг U=Uo UUk UUm, для
которой выполнены условия неотрицательности, ограниченности (пропускными способностями дуг) и неразрывности потока
(в каждой вершине).
Величиной кратного потока называется сумма φ z входящего потока для стока z, равная сумме выходящего из источника
потока. В силу того что поток по каждой обычной дуге и по каждой связанной дуге каждой кратной и мультидуги должен
быть целочислен, величина φz должна быть кратна k.
Отметим, что при k=1 кратная сеть превращается в обычную транспортную сеть, а кратный поток превращается в обычный поток по этой сети. Задача о наибольшем кратном потоке
для кратной сети является обобщением задачи о наибольшем
потоке для обычной транспортной сети.
Обозначим через c(u) пропускную способность дуги u, а через f(u) – поток на ней.
Так же как и в случае обычной транспортной сети, для кратных
сетей ставится задача о нахождении максимального потока.
Поставим также задачу о кратном потоке величины K как
задачу распознавания следующего вида: существует ли в данной сети кратности k кратный поток величины не меньшей K?
Данную задачу мы в дальнейшем будем называть задачей
КПk, где k – кратность сети. При такой постановке для положительного ответа на вопрос достаточно указать такой поток в
кратной сети, величина которого в точности равна K.
2. NP-полнота задачи о максимальном потоке кратности 2
Теорема 1. Задача КП2 для сети с целочисленными пропускными способностями дуг является NP-полной.
А. В. Смирнов
123
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Доказательство. Во-первых, заметим, что задача КП2 для сети с целочисленными пропускными способностями дуг принадлежит классу NP.
Действительно, пусть число вершин кратной сети равно n.
Множество дуг U=Uo UUk UUm, где Uo – множество всех обычных
дуг, Uk – множество всех кратных дуг и Um – множество всех
мультидуг. Общее число обычных дуг будет меньше, чем (n2–
n)/2, общее число кратных дуг также не превысит (n2–n)/2, а общее количество мультидуг не превзойдет C3n=n(n–1)(n–2)/6. Тогда
n 2  n n2  n n(n  1)(n  2) n3  3n2  4n
U | U |  | U |  | U |



.
2
2
6
6
o
k
m
Каждую дугу можно представить в виде пятерки
u = <{x1, x2}, {x3, x4}, t, c, f>,
где {x1, x2} – вершины, являющиеся началом дуги (x2=0, если u не
является мультидугой вида ({x1, x2}, x3)), {x3, x4} – вершины, являющиеся концом дуги (x4=0, если u не является мультидугой вида (x1, {x3, x4})), t – тип дуги (обычная, кратная или мультидуга),
c – пропускная способность дуги (натуральное число), f – поток
на дуге (неотрицательное целое число).
Поскольку кратная сеть G(X,U) однозначно определяется
множеством вершин X и множеством дуг U, то вышесказанное
позволяет заключить, что объем входных данных задачи нахождения кратного потока заданной величины кратности 2 полиномиален.
Ответ в задаче КП2 задается как целая функция f(u), определяющая величину потока на каждой дуге u, и целое число F – величина кратного потока в рассматриваемой сети. Для того чтобы
проверить, является ли набор f '(u) ( u U ), F' решением задачи,
достаточно установить, что f '(u)≤c(u) u U и F'≥K (соответствует
ответу "да" в задаче КП2) и что выполнены условия неразрывности потока в каждой вершине. Обе проверки выполняются за полиномиальное время.
124
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Таким образом, мы установили, что объем входных данных в
задаче КП2 полиномиален и проверка ответа осуществляется за
полиномиальное время, то есть задача КП2 принадлежит классу
NP.
Покажем теперь полиномиальное сведение к задаче КП2 следующей классической NP-полной задачи о 3-сочетаниях (см. [3])
(назовем ее 3С):
Задано 3 множества I, J, P c n элементами (можно считать,
что I=J=P={1,…,n}) и подмножество M прямого произведения
I×J×P.
Требуется определить, можно ли из M выбрать подмножество M', у элементов которого значение каждой координаты i, j
или p присутствует ровно один раз.
Будем по множеству M индивидуальной задачи 3С строить
кратную сеть по следующим правилам:
1. Установим K=2n.
2. Добавим в сеть источник x000, сток z, вершины z1, z2 и
мультидугу ({z1, z2}, z) пропускной способности 2n (каждая связанная дуга имеет пропускную способность n).
3. Если (i, j, p)  M , то добавим в кратную сеть вершины xijp,
xij0, x0jp, xi0p, xi00, x0j0, x00p.
4. Добавим кратные дуги (x000, xi00), (xi00, xij0), (xij0, xijp) (i>0,
j>0, p>0) между всеми включенными на предыдущих шагах вершинами соответствующего вида. Установим пропускную способность этих дуг равной 2 (каждая связанная дуга имеет пропускную способность 1).
5. Добавим мультидуги (xijp, {x0jp, xi0p}) (i>0, j>0, p>0) между
всеми включенными на предыдущих шагах вершинами соответствующего вида. Установим пропускную способность этих дуг
равной 2 (каждая связанная дуга имеет пропускную способность 1).
6. Добавим обычные дуги (x0jp, x0j0), (x0j0, z1), (xi0p, x00p), (x00p,
z2) (i>0, j>0, p>0) между всеми включенными на предыдущих шагах вершинами соответствующего вида. Установим пропускную
способность этих дуг равной 1.
Пусть задача 3С имеет решение M'. Построим поток в кратной сети следующим образом. Положим
А. В. Смирнов
125
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
1) f(xij0, xijp)=2, f(xijp, {x0jp, xi0p})=2, если (i, j, p)  M ' (по каждой связанной дуге данных кратных и мультидуг идет поток величины 1);
2) f(x000, xi00)=2, f(xi00, xij0)=2, если p : (i, j, p)  M ' (по каждой
связанной дуге данных кратных дуг идет поток величины 1);
3) f(x0jp, x0j0)=1, f(x0j0, z1)=1, если i : (i, j, p)  M ' ;
4) f(xi0p, x00p)=1, f(x00p, z2)=1, если j : (i, j, p)  M ' ;
5) f({z1, z2}, z)=2n (по каждой связанной дуге этой мультидуги идет поток величины n).
Очевидно, что для определенного таким образом потока
будут выполняться условия неотрицательности и ограниченности пропускными способностями дуг. Проверим условие неразрывности потока в каждой вершине.
В силу того что f(xij0, xijp)=2, f(xijp, {x0jp, xi0p})=2, если
(i, j , p )  M ' , будет выполнено условие неразрывности потока в
вершинах xijp, (i>0, j>0, p>0).
Поскольку M' – решение задачи 3С, то для каждого i>0 существует единственная тройка (i, j, p)  M ' , следовательно, для
каждого i>0 найдется ровно одна дуга вида (xi00, xij0), поток по
которой равен 2, и ровно одна дуга вида (xij0, xijp), поток по которой также равен 2. Заметим также, что из того, что (i, j, p)  M ' ,
следует, что f(x000, xi00)=2. Таким образом, для всех вершин xi00,
xij0 выполнено условие неразрывности потока.
Аналогичным образом показывается неразрывность потока
в вершинах x0jp, x0j0, xi0p, x00p.
Покажем неразрывность потока в вершине z1 (для вершины
z2 доказательство будет аналогичным). Заметим, что |M'|=n и
M' – решение задачи 3С, поэтому все дуги вида (x0j0, z1) наличествуют в сети, и поток по каждой из этих дуг равен 1, следовательно, величина входящего в вершину z1 потока равна n. Величина потока по каждой связанной дуге мультидуги ({z1,z2},z)
также равна n, а значит, выполнено условие неразрывности потока в вершине z1.
Величина построенного потока будет равна 2n. Таким образом, из существования решения в задаче 3С следует существование решения задачи КП2 с кратной сетью указанного вида.
126
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Пусть теперь имеется кратный поток величины 2n или больше в сети указанного вида. Покажем, что по этому потоку можно
построить решение M' задачи 3С.
Заметим, что величина потока не может быть больше, чем 2n,
поскольку пропускная способность мультидуги с концом в z равна 2n. Следовательно, величина имеющегося в сети потока равна
2n. Построим множество M':
M' = {(i,j,p) | f(xij0, xijp) = 2, i>0, j>0, p>0}.
Так как величина кратного потока равна 2n, то |M'|=n, а из того, что c(x000, xi00)=2, c(x0j0, z1)=1, c(x00p, z2)=1, следует, что значение каждой координаты i, j или p присутствует ровно один раз.
Следовательно, M' является решением задачи 3С.
Таким образом, мы выполнили полиномиальное сведение задачи 3С к задаче КП2, а значит, задача КП2 NP-полна.
Утверждение теоремы полностью обосновано.
Следствие. Задача нахождения максимального кратного
потока в сети кратности 2 с целочисленными пропускными способностями дуг является NP-полной.
Доказательство. Задача КП2 может быть решена при помощи
следующего алгоритма:
1) нахождение максимального кратного потока;
2) проверка F'≥K (соответствует ответу "да" в задаче КП2),
где F' – величина этого максимального потока.
Проверка шага 2 выполняется за константное время, а задача
КП2 NP-полна. Следовательно, задача нахождения максимального кратного потока в сети кратности 2 с целочисленными пропускными способностями дуг также NP-полна.
3. Обобщение для произвольного k
Теорема 2. Задача нахождения максимального кратного потока в сети кратности k с целочисленными пропускными способностями дуг является NP-полной, если k≥2.
Доказательство. Для доказательства утверждения теоремы
покажем сначала NP-полноту задачи КПk для произвольного
фиксированного k≥2.
А. В. Смирнов
127
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Во-первых, заметим, что задача КПk для сети с целочисленными пропускными способностями дуг принадлежит классу NP.
Действительно, пусть число вершин кратной сети равно n.
Множество дуг U=Uo UUk UUm, где Uo – множество всех обычных
дуг, Uk – множество всех кратных дуг и Um – множество всех
мультидуг. Общее число обычных дуг будет меньше, чем (n2–
n)/2, общее число кратных дуг также не превысит (n2–n)/2, а общее количество мультидуг не превзойдет Ckn. Тогда
U | U o |  | U k |  | U m |
n2  n n2  n

 Cnk  O(nk ).
2
2
Каждую дугу можно представить в виде пятерки
u = <X1, X2, t, c, f>,
где X1 – множество вершин, являющихся началом дуги (при этом
либо |X1|=1, либо |X1|=k), X2 – множество вершин, являющихся
концом дуги (при этом либо |X2|=1, либо |X2|=k), t – тип дуги
(обычная, кратная или мультидуга), c – пропускная способность
дуги (натуральное число), f – поток на дуге (неотрицательное целое число).
Поскольку кратная сеть G(X,U) однозначно определяется
множеством вершин X и множеством дуг U, то вышесказанное
позволяет заключить, что объем входных данных задачи нахождения кратного потока заданной величины кратности k полиномиален.
Ответ в задаче КПk задается как целая функция f(u), определяющая величину потока на каждой дуге u и целое число F – величина кратного потока в рассматриваемой сети. Для того чтобы
проверить, является ли набор f '(u) ( u U ), F' решением задачи,
достаточно установить, что f '(u)≤c(u) u U и F'≥K (соответствует
ответу "да" в задаче КПk) и что выполнены условия неразрывности потока в каждой вершине. Обе проверки выполняются за полиномиальное время.
Таким образом, мы установили, что объем входных данных
в задаче КПk полиномиален и проверка ответа осуществляется
128
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
за полиномиальное время, то есть задача КПk принадлежит
классу NP.
Покажем теперь полиномиальное сведение к задаче КПk задачи 3С. Будем по множеству M индивидуальной задачи 3С
строить кратную сеть по следующим правилам:
1. Установим K=kn.
2. Добавим в сеть источник x000, сток z, вершины z1,…,zk и
мультидугу ({z1,…,zk}, z) пропускной способности kn (каждая
связанная дуга имеет пропускную способность n).
3. Если (i, j, p)  M , то добавим в кратную сеть вершины xijp,
xij0, x0jp, xi0p, xi00, x0j0, x00p.
4. Добавим в сеть вершины x3,…,xk.
5. Добавим кратные дуги (x000, xi00), (xi00, xij0), (xij0, xijp) (i>0,
j>0, p>0) между всеми включенными на предыдущих шагах вершинами соответствующего вида. Установим пропускную способность этих дуг равной k (каждая связанная дуга имеет пропускную способность 1).
6. Добавим мультидуги (xijp, {x0jp, xi0p, x3,…, xk}) (i>0, j>0,
p>0) между всеми включенными на предыдущих шагах вершинами соответствующего вида. Установим пропускную способность этих дуг равной k (каждая связанная дуга имеет пропускную способность 1).
7. Добавим обычные дуги (x0jp, x0j0), (x0j0, z1), (xi0p, x00p), (x00p,
z2) (i>0, j>0, p>0) между всеми включенными на предыдущих шагах вершинами соответствующего вида. Установим пропускную
способность этих дуг равной 1.
8. Добавим обычные дуги вида (xq, zq) (q=3,…,k). Установим
пропускную способность этих дуг равной n.
Пусть задача 3С имеет решение M'. Построим поток в кратной сети следующим образом. Положим
1) f(xij0, xijp)=k, f(xijp, {x0jp, xi0p, x3,…, xk})=k, если (i, j, p)  M ' (по
каждой связанной дуге данных кратных и мультидуг идет поток
величины 1);
2) f(x000, xi00)=k, f(xi00, xij0)=k, если p : (i, j, p)  M ' (по каждой
связанной дуге данных кратных дуг идет поток величины 1);
3) f(x0jp, x0j0)=1, f(x0j0, z1)=1, если i : (i, j, p)  M ' ;
4) f(xi0p, x00p)=1, f(x00p, z2)=1, если j : (i, j, p)  M ' ;
А. В. Смирнов
129
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
5) f({z1,…, zk}, z)=kn (по каждой связанной дуге этой мультидуги идет поток величины n);
6) f(xq, zq)=n для всех q=3,…,k.
Очевидно, что для определенного таким образом потока будут выполняться условия неотрицательности и ограниченности
пропускными способностями дуг. Условие неразрывности потока
в вершинах xijp (i≥0, j≥0, p≥0), z1, z2 доказываетя так же, как и в
теореме 1.
Неразрывность потока в вершинах zq (q=3,…,k) следует из того, что f(xq, zq)=n и поток по каждой связанной дуге мультидуги
({z1,…, zk},z) равен n.
Так как |M'|=n, то ровно по n мультидугам вида (xijp, {x0jp, xi0p,
x3,…, xk}) идет поток величины k, следовательно, величина входящего в каждую вершину xq (q=3,…,k) потока равна n. Из того,
что f(xq, zq)=n, следует неразрывность потока в вершинах xq
(q=3,…,k).
Величина построенного потока будет равна kn. Таким образом, из существования решения в задаче 3С следует существование решения задачи КПk с кратной сетью указанного вида.
Пусть теперь имеется кратный поток величины kn или больше в сети указанного вида. Покажем, что по этому потоку можно
построить решение M' задачи 3С.
Заметим, что величина потока не может быть больше, чем kn,
поскольку пропускная способность мультидуги с концом в z равна kn. Следовательно, величина имеющегося в сети потока равна
kn. Построим множество M':
M' = {(i,j,p) | f(xij0, xijp) = k, i>0, j>0, p>0}.
Так как величина кратного потока равна kn, то |M'|=n, а из того, что c(x000, xi00)=k, c(x0j0, z1)=1, c(x00p, z2)=1, следует, что значение каждой координаты i, j или p присутствует ровно один раз.
Следовательно, M' является решением задачи 3С.
Таким образом, мы выполнили полиномиальное сведение
задачи 3С к задаче КПk, а значит, задача КПk NP-полна.
Задача КПk может быть решена при помощи следующего
алгоритма:
130
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
1) нахождение максимального кратного потока;
2) проверка F'≥K (соответствует ответу "да" в задаче КПk),
где F' – величина этого максимального потока.
Проверка шага 2 выполняется за константное время, а задача КПk NP-полна. Следовательно, задача нахождения максимального кратного потока в сети кратности k с целочисленными
пропускными способностями дуг также NP-полна.
Утверждение теоремы полностью обосновано.
Автор выражает признательность профессору В. С. Рублеву
за помощь в обсуждении статьи.
 Литература
1. Рублев В. С., Смирнов А. В. Целочисленное сбалансирование 3мерной матрицы плана // Труды VII международной конференции «Дискретные модели в теории управляющих систем» (Покровское, 4–6 марта
2006 г.). М.: МГУ, 2006. С. 302–308.
2. Форд Л. Р., Фалкерсон Д. Р. Потоки в сетях. М.: Мир, 1966.
3. Karp R. Reducibility among combinatorial problems // R. E. Miller and
J. W. Thatcher (editors). Complexity of Computer Computations. New York:
Plenum, 1972. P. 85–103.
Кодирование изображений,
построенных на основе прямоугольной
решетки, бинарными деревьями методом
полного покрытия фрагментов
В. А. Тюкин
В данной работе вводится новый способ закодировать изображение бинарным деревом. Данный способ (метод полного покрытия фрагментов) дает
на выходе бинарное дерево, содержащее в себе информацию обо всех фрагментах размера 2х2, содержащихся в изображении и позволяет посчитать характеристический набор изображения и его эйлерову характеристику.
В. А. Тюкин
131
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Изображение, построенное на основе
прямоугольной решетки. Характеристический набор
Под цифровым изображением, построенным на основе прямоугольной решетки, понимается изображение, для которого
аналогами пикселей являются элементы некоторой прямоугольной решетки. Через aij будем обозначать как сам этот элемент, так
и значение его цветности. Изображение можно представить в виде матрицы размера MxN, у которой элементы могут принимать
значения либо 0, либо 1, т. е. черно-белое изображение.
Будем говорить, что изображение А порождено фрагментом
S, если на элементах фрагмента S изображение совпадает с ним, а
для всех остальных элементов значение цветности равно 0. Построим следующую таблицу:
Всего существует 16 различных типов фрагментов, обозначенных символами Si, i= 0,…,15 и расположенных в первой строке
таблицы. Во второй строке представлен геометрический аналог соответствующего типа, а в третьей строке указан вид подматриц,
представляющих данный тип. Четвертая строка указывает число
фрагментов типа Si, i= 0,…,15, таких что Si. Этот набор неотрицательных целых чисел Ki ,i = 0,…,15 будем называть характеристическим набором коэффициентов изображения А, построенных по
системе фрагментов размера 2х2. По характеристическому набору
изображения считается его эйлерова характеристика.
Метод полного покрытия фрагментов
Будем разбивать изображение на части следующим образом.
Сначала все изображение по горизонтали разобьем на две части.
132
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Эти части пересекаются по вертикальному ряду пикселей, расположенному посередине.
После этого разбиваем каждую из получившихся частей по
вертикали по тому же принципу. Когда мы разбиваем какую-то
часть, считаем эту часть узлом, а части, на которые ее разбили, –
потомками этого узла (рис. 1).
Если на очередном шаге какая-то часть не содержит белых
пикселей – заканчиваем ее разбиение (считаем, что этот узел у
дерева отсутствует); если состоит только из черных пикселей, то
она будет соответствовать «черному» узлу дерева и ее тоже не
надо дальше разбивать.
Заканчивать разбиение частей будем, когда дойдем до фрагментов размера 2х2. Эти фрагменты будут листьями дерева. Корень дерева – все изображение, узлы – все части, на которые разбивали изображение. Полученное в результате дерево будет содержать у себя в листьях все не белые фрагменты размера 2х2
исходного изображения. Область изображения, размером 2х2, соответствующую листу, будем называть фрагмент листа.
Пример: закодируем данным методом изображение, приведенное на рис. 3.
Рис. 1.
Рис. 2.
Рис. 3.
Схематически разбиение данного изображения представлено
на рис. 4.
Будем у дерева, полученного методом полного покрытия
фрагментов, вместо листьев изображать соответствующие им
фрагменты изображения. Полученное в результате применения
метода дерево изображено на рис. 5.
В. А. Тюкин
133
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рис. 4.
Рис. 5.
Получение характеристического набора изображения
по его дереву
Разбивая изображения так, как было описано выше, и строя по
нему дерево, куски изображения, соответствующие листьям дерева,
будут черно-белыми фрагментами размера 2х2. Перебрав все листья
134
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
дерева и подсчитав количество разных фрагментов размера 2х2, мы
практически получим характеристический набор изображения, однако элемент К0 в данном характеристическом наборе равен нулю,
так как при построении дерева мы не учитывали куски, состоящие
целиком из белых фрагментов (даже если эти куски были размера
2х2). Чтобы определить элемент К0 характеристического набора
воспользуемся тем соображением, что если бы дерево было полным, то в листьях была бы информация обо всех фрагментах 2х2
нашего изображения. Следовательно, все листья, отсутствующие в
нашем дереве, – это фрагменты 2х2, состоящие только из белых
пикселей. Число листьев в полном дереве высотой h (h – высота
нашего дерева) равно 2*h. Вычтя из этой величины число листьев в
нашем дереве, мы получим элемент К0 характеристического набора.
А имея характеристический набор изображения, можно посчитать
его эйлерову характеристику для сильной или слабой связности.
Условия для применения метода
1. Изображение должно быть квадратным
2. Размер изображения (S) должен удовлетворять следующей
формуле:
Восстановление изображения по его дереву
Размер закодированного изображения определяется следующим образом. Возможные размеры изображения рассчитываются
по формуле 3. Каждый следующий возможный размер больше
предыдущего в два раза минус единица. Увеличение размера изображения до следующего допустимого увеличит высоту дерева
на 2 (т. к. с каждым следующим размером добавляется два дополнительных разбиения – по вертикали и по горизонтали).
Возьмем минимальный допустимый размер изображения 3х3.
Пусть изображение состоит из белых и черный фрагментов, тогда
дерево будет иметь высоту 2. С увеличением размера изображения до следующего допустимого (5х5) высота дерева станет 4 и
так далее. Таким образом, чтобы понять, какой размер у изобраВ. А. Тюкин
135
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
жения, посчитаем, сколько раз нужно увеличивать минимальную
высоту дерева, чтобы получить текущую, а потом столько же раз
умножим минимальный размер 3х3 на 2 и вычтем единицу. Пусть
дерево имеет высоту, например, 6. Минимальную высоту нужно
увеличить два раза, чтобы получить текущую, размер текущего
изображения равен (3*2-1)*2 – 1 = 9 (вернее 9х9 ).
Разметка – это информация на каждом узле дерева о том, какой области изображения он соответствует. В разметку входит
начало и конец соответствующей области по горизонтали и по
вертикали. Дерево, каждому узлу которого приписана такая информация, назовем размеченным.
Пример:
Рис. 6.
Размеченное дерево, кодирующее данное изображение, будет
выглядеть следующим образом:
Рис. 7.
136
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Итак, для восстановления изображения по его дереву нужно:
1) определить размер изображения
2) разметить дерево, кодирующее изображение
3) после того как дерево размечено и определен размер соответствующего дереву изображения, создать белое изображение
этого размера. После этого перебрать все листья дерева и, используя разметку, перенести черные пиксели с фрагментов, хранящихся в листьях, на соответствующие области изображения.
Выражаю особую благодарность моему научному руководителю – кандидату физ.-мат. наук, доценту кафедры теоретической
информатики П. Г. Парфенову за помощь в проделанной работе.
 Литература
1. Парфенов П. Г. Многочлены на изображениях, вычисляющие эйлерову характеристику // Моделирование и анализ информационных систем.
Ярославль, 2001. Т. 8. № 2.
2. Парфенов П. Г. Об эйлеровой характеристике изображения.
//Архитектура и программное обеспечение вычислительных систем. рЯославль: ЯрГУ, 1992. С. 76–79.
3. Bieri H. Computing the Euler characteristic and related additive functionals of digital objects from their bintree representation.
Модификация индикатора RSI
Г. А. Челноков
Технический анализ в наши дни востребован, как никогда ранее. Повсеместное распространение интернета и внедрение компьютерных технологий привело к развитию онлайн-трейдинга,
что в свою очередь привлекло на рынок большое количество
мелких инвесторов. Чтобы успевать ориентироваться в стремительно меняющейся ситуации на финансовых рынках, трейдерам
приходится все чаще обращаться к инструментам и методам технического анализа.
Г. А. Челноков
137
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Среди множества показателей, которые часто используются
трейдерами, существует несколько индикаторов, пользующихся
наибольшей популярностью:
1) индикатор RSI;
2) индикатор MACD;
3) индикатор полосы Боллинджера.
В основе каждого из этих индикаторов есть своя идея, формула для расчета. Однако в настоящий момент основные формулы используются ограниченно, поскольку имеют ряд всем известных недостатков. Каждый трейдер тем или иным способом
пытается исключить слабые места этих индикаторов, создавая
модификации основных формул.
RSI (Relative Strength Index, индекс относительной силы) –
классический осциллятор, значения которого колеблются в диапазоне от 0 до 100. Данный индикатор отражает силу тенденции
и вероятность ее смены.
Формула для расчета RSI имеет вид:
RSI = 100 – [100/(1+RS)],
где RS = CU/CD (среднее значение положительных изменений
цен за N периодов / значение отрицательных изменений цен за N
периодов).
RSI, являясь одним из самых надежных инструментов технического анализа, имеет в этой связи широкое распространение.
Наиболее популярным методом работы с данным индикатором
является так называемая «работа на откат». При использовании
данного метода сигналом к скорому развороту цен является выход индикатора из зон перекупленности или перепроданности.
Однако, применяя данную стратегию, мы нередко сталкиваемся с определенными трудностями в интерпретации сигналов
индикатора: значения RSI становятся неинформативными при
наличии сильной тенденции. Индикатор быстро попадает в зону
перекупленности/перепроданности (см. рис.) и, оставаясь там
длительное время, уже не отражает дальнейшие движения рынка.
Рассмотрим эту ситуацию подробнее.
138
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рис. 1.
Для разработки алгоритма, корректирующего неинформативные значения, введем понятие «зашкаливание».
Будем считать, что график индикатора стал неинформативным в результате резкого роста его значений, которому предшествовал сильный продолжительный рост цен. Резкий скачок
стоимости ценных бумаг может быть обусловлен решениями,
принятыми на основе фундаментального анализа. Такая ситуация
может также наблюдаться в условиях сильно растущего (падающего) рынка, так как постоянно растущие цены на активы увеличивают значение переменной CU и уменьшают значение переменной CD (и наоборот). Большая разница в значениях этих переменных приводит к завышенным значениям индикатора при
растущем рынке и к заниженным – при падающем.
Численно (упрощенно) направление и сила движения рынка
может выражаться в определении количества и размера белых
(для восходящей тенденции) и черных свечей (для нисходящей
тенденции). Большое количество свечей соответствующих цветов, а также большая разница в ценах открытия и закрытия периода свидетельствует о наличии сильной тенденции. Это в свою
очередь является верным признаком того, что значения индикатора очень быстро попадут в область перекупленности/переГ. А. Челноков
139
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
проданности и появится необходимость внести изменения в становящиеся неинформативными значения.
Опираясь на количество свечей и разницу цен за определенный предшествующий период, можно своевременно определить
момент, когда необходимо вмешаться в традиционный алгоритм
расчета RSI и пересмотреть его значения
Данный подход решает проблему оперативного вмешательства, поскольку позволяет не ждать того момента, когда длительность
пребывания значений индикатора в зоне перекупленности/перепроданности достигнет определенного значения (что вносит определенную задержку), а выявит склонность к «зашкаливанию» индикатора заранее, основываясь на ценах предыдущих периодов.
Основная проблема («зашкаленность» значений) представлена двумя противоположными случаями:
1) слишком высокие значения при попадании графика в зону перекупленности;
2) слишком низкие значения при попадании графика в зону
перепроданности.
Таким образом, для разработки алгоритма достаточно рассмотреть один из указанных случаев.
Формула индикатора свидетельствует о том, что ключевыми
параметрами, влияющими на величину значения, являются параметры CU и CD. CU представляет собой среднее значение положительных изменений цен за N периодов; CD – среднее значение
отрицательных изменений цен за N периодов. Чем больше количество белых свечей, тем больше значение CU, тем больше значение RSI. В связи с этим очевидным решением задачи корректировки значения в сторону уменьшения является внесение дополнительного слагаемого в параметр CD.
Дополнительное слагаемое можно получить за счет детализации белых свечей. Среди баров, которые попали в выборку для
расчёта индикатора нужно взять самую маленькую по размеру
свечу белого цвета. Необходимым условием выбора является наличие у свечи верхней и нижней тени достаточного размера, который будет свидетельствовать о том, что в пределах рассматриваемого периода помимо роста наблюдалось и заметное (пусть и
кратковременное) падение цен.
140
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
На самом деле, в рамках поставленных условий (длительный
рост цен, большое количество белых свечей), найти такую свечу
обычно не составляет большого труда. На графике котировок
среди предыдущих 14 отсчетов находим самую маленькую свечу
белого цвета.
Рис. 2.
Как видно из рисунка, вторая свеча удовлетворяет сразу обоим требованиям одновременно: небольшой размер и достаточная
величина верхней и нижней тени. Данное «совпадение» объясняется законами рынка: за продолжительным ростом всегда следует
коррекция. В нашем случае коррекция отображается в виде нижней тени. Поэтому нижняя тень не может быть маленькой или вовсе отсутствовать.
Также необходимо отметить, что не стоит выбирать свечи на
границах выборки (первую и последнюю). Их маленький размер
может быть вызван разворотом тренда: в его верхней точке (или
нижней – в случае падающего тренда) свечи всегда маленьких размеров, поскольку, дойдя до своей верхней/нижней точки, рынок
находится в «подвешенном» состоянии. Наблюдается равновесие
быков и медведей, которое заканчивается разворотом тренда.
Рис. 3.
Если для выбранной свечи поделить период пополам, то из
одной белой свечи получаются две. При этом возможны следующие комбинации:
Г. А. Челноков
141
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
1) белая свеча – черная свеча;
имея такую детализацию, заменяем маленькую белую свечу на белую и черную. Таким
образом, появляется дополнительное слагаемое при расчете CD, что уменьшит итоговое
Рис. 4.
значение RSI;
2) черная свеча – белая свеча;
ситуация, зеркальная первой комбинации.
Заменив одну (белую) свечу на две (черную
и белую), также получаем дополнительное
слагаемое при вычислении CD, таки образом
Рис. 5. увеличивая итоговое значение RSI.
Следует отметить, что вклад черной свечи будет тем весомее,
чем больше ее размер. Разумеется, возможны такие ситуации, когда вклад будет минимален и поправка в таких случаях будет сведена практически к нулю (порядок поправки – пятый и далее знак
после запятой). В этом случае можно:
а) продолжить детализацию на новом уровне с тем, чтобы
найти свечу подходящего размера;
б) выбрать следующую подходящую белую свечу и применить детализацию уже к ней.
Оценить вероятность нахождения черной свечи, как уже говорилось выше, можно по диапазону торгов внутри выбранного периода. Другими словами, по величине нижней тени, которая касательно белой свечи будет свидетельствовать о наличии «внутри»
нее черной свечи и давать предположительные данные ее размере.
3) белая свеча – белая свеча.
Данная комбинация не содержит свечей
черного цвета, а значит, если заменить исходную белую на новые две, то ожидаемого
эффекта, разумеется, никакого не будет. В
Рис. 6. связи с этим необходимо из новых двух свечей выбрать одну и применить детализацию к ней (при этом также получится три комбинации)
После применения предложенного алгоритма значение RSI
будет скорректировано. Значимость этого изменения зависит, как
уже было сказано, от величины свечи, над которой производится
142
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
детализация. Разумеется, чем сильнее тенденция, тем сложнее
найти подходящую свечу. Иначе говоря, чем больше исходный
RSI, тем меньше вероятность, что детализация будет значимой.
Анализ полученных результатов
На основании собранных данных, полученных при тестировании алгоритма, можно сделать следующие выводы:
1. При использовании слишком маленького периода для расчета (например, 3), график индикатора подвержен значительным
колебаниям и резким скачкам (даже по сравнению с классическим расчетом) из зоны перекупленности в зону перепроданности
(и в обратном направлении), при этом индикатор дает очень
большое количество сигналов, большинство из которых (период
3: 50-85%) являются ложными. Ориентироваться в данной ситуации на сигналы только этого типа и только этого индикатора не
имеет смысла;
2. С изменением периода графика котировок от недели до дня
количество сигналов увеличивается. Процентное соотношение
верных и ложных сигналов в каждом отдельном случае разнится.
Наиболее информативной созданная модификация показывает
себя на дневных и часовых графиках с периодом 14;
3. В целом процентное соотношение верных и ложных сигналов к покупке/продаже зависит не только и не столько от типа
графика котировок и количества рассматриваемых периодов,
сколько от исторически сложившегося характера его поведения.
В связи с этим на ценных бумагах некоторых эмитентов были получены очень хорошие результаты (в сравнении с основной формулой), а на других – откровенно неудачные;
4. Модификации с использованием различных средних (в
особенности тех, которые увеличивают значимость последних
цен) в 75–85% случаев демонстрируют высокие результаты. Но
используемое сглаживание в некоторых случаях приводит к тому,
что «сглаженные» значения индикатора не отражают реальной
тенденции рынка и не дают никаких сигналов вообще.
Г. А. Челноков
143
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
 Литература
1. Шумилов В. Индекс относительной силы // TheIgnatPost. 2009.
№ 81–85.
2. Matt Blackman. In Search Of The Trendilator // Working Money. 2007.
3. Косицын Н. Эффективные алгоритмы усреднения с минимальным
лагом и их использование в индикаторах и экспертах // URL:
http://articles.mql4.com/ru/772, – 2008.
Исследование динамики
альтернативной модели
импульсного нейрона с запаздыванием
В. А. Шабаршин
В настоящее время дифференциальные уравнения с запаздывающим аргументом находят большое применение в различных
задачах прикладной математики. Дифференциальные уравнения с
отклоняющимся аргументом встречались еще в работах Л. Эйлера, однако теория их была развита только в ХХ веке.
Дифференциальным уравнением с запаздывающим аргументом или уравнением с запаздыванием называют уравнение, связывающее скорость изменения некоторой функции
с ее значениями в текущий момент времени и в некоторый ранее наблюдавшийся момент времени
, где
– фиксированное постоянное для этого процесса число, то есть уравнение
,
,
τ . Заметим, что большинство приимеет
родных и социальных процессов описываются подобным образом, поскольку в окружающем мире мы наблюдаем зависимость
текущего состояния системы от предыдущих состояний.
Одно из приложений теории уравнений с запаздыванием связано с экологией, а именно с исследованием процесса взаимодействия растений и популяций животных между собой и с окружающим миром. Изучение этих систем сложно, т. к. определяется
большим количеством различных факторов. Как правило, в таких
144
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
моделях оставляют несколько из них, которые исследователю
кажутся наиболее важными. В 1798 году Т. Г. Мальтусом была
предложена модель, отражающая рождаемость и смертность, которые считались пропорциональными численности популяции.
Поскольку в модели Мальтуса скорость рождаемости была больше скорости смертности, то численность особей возрастала экспоненциально, что не соответствует действительности. Чтобы
приблизить эту модель к реальности, в ней следовало учесть еще
некоторые пропущенные факторы. Однако, наверное, самым существенным недостатком этой модели являлось предположение о
мгновенной реакции системы на меняющиеся условия. В
1948 году появилась модель численности популяции, предложенная Г. Е. Хатчинсоном. Модель основана на уравнении с запаздыванием:
1
,
– численность особей,
– некоторый средний размер
где
популяции (иногда называется емкостью среды), – показатель
роста. Уравнение Хатчинсона описывает следующую ситуацию:
вид обитает в однородной среде, миграционные факторы несущественны и имеется заданное количество пищи, которое возобновляется при уменьшении численности популяции. При решении
уравнения Хатчинсона возникает периодическое решение.
В работе [1] для феноменологической импульсной модели
нейрона, основанной на дифференциальном уравнении с запаздыванием, проведена оценка нулевого приближения для периода
решения. В работе [2] получена поправка к периоду. Небольшие
неточности в этой статье были исправлены в [3]. В [4] предложен
новый метод асимптотического исследования дифференциальных
уравнений с запаздыванием, описывающих динамику импульсного нейрона. Техника вычисления периода используется в дипломной работе при рассмотрении вопроса о существовании периодического решения данного уравнения
Рассмотрим дифференциальное уравнение:
1
В. А. Шабаршин
1
, 1
145
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
где 1; – некоторая константа,
1. Функция – гладкая,
относительно быстро и монотонно стремящаяся к нулю. Будем
считать, что она удовлетворяет следующим условиям:
′
0
0
1, 2
0, 3
∞ . 4
Начальная задача отыскания решения уравнения (1) определяется заданием функции
на отрезке единичной длины. В
работе будем использовать отрезок [-1; 0].
Определим множество – класс непрерывных функций:
exp 2
exp
2
, 1 0 . 5
В качестве начальной функции для (1) будем выбирать произвольную функцию
из класса .
Итак, мы рассматриваем дифференциальное уравнение (1) с
, удовлетворяющей условиям (2)–(5). Пусть нафункцией
.
чальная функция
Введем оператор
:
1 1 .
Перепишем уравнение (1) следующим образом:
.
1. На нем функция –
1. Рассмотрим промежуток 0
решение уравнения – растет очень быстро и достигает максимального значения. В точке 1 происходит как бы переключение: до 1 функция росла, а после этого момента времени
начинает падать. Соответственно 1
1 0. При 0; 1
1 . Функцию с запаздыванием разлофункция
0:
жим по степеням в точке 0, заметив, что ′ 0
146
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
1
0
1
В таком случае оператор
1 1 1 .
принимает вид:
1
1 1 .
Уравнение (1) становится таким:
.
Его решение:
exp 1
1
.
Найдем его значение в граничной точке 1
exp
1:
.
2. Далее меняется от 1 до некоторого момента времени ,
такого что
.
При таких выполняются следующие неравенства:
и
1 , т. е. обе функции принимают очень большие
значения.
1
1 .
В этом случае
Оператор
1 1 1 1 0,
т. к. A больше единицы. Значения оператора отрицательны, значит производная тоже отрицательная. На этом промежутке вреубывают до порогового значения
мени значения функции
. Причем переключения не происходит: на этом участке
функция
монотонная (строго убывающая).
Исходное уравнение принимает вид:
1 В. А. Шабаршин
.
147
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Его решение есть функция
exp
exp
1
exp
1
1 ,
1
.
Вспомним, что
.
Но также
exp
Выразим
1
:
1 1
1
1
.
.
3. Перейдем к следующему промежутку: ; , где
1. До момента времени функция
по-прежнему
убывала. В точке произойдет переключение: при реше 1, ние начинает вновь расти. Так как сейчас
1 . Мы пото 1 1 . В этом случае
пали вновь в ситуацию, аналогичную рассмотренной в пункте 2.
Тогда решение уравнения (1) имеет вид:
exp
1
1
.
Найдем, чему равна эта функция на конце рассматриваемого
промежутка:
1
1
exp
1 1
,
1
exp
1 .
4. Сейчас ; , где момент времени
таков, что
. На этом отрезке времени функция растет до порогового значения и мы оказываемся в ситуации первого
промежутка.
148
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Здесь справедливы следующие неравенства:
и
1 .
раскладывается по формуле Тейлора в такую
Функция
сумму:
1
Оператор
0
1
1 1 .
переписывается таким образом:
1 1
1 1 .
1
.
Уравнение (1) принимает следующий вид:
Его решение таково:
exp
В точке
exp
.
,
решение исходного уравнения:
exp
1
.
В то же время
.
Выразим момент времени
:
1 .
Ниже приведены значения для основных моментов времени:
1,
1
1 2 ,
1
1
В. А. Шабаршин
1 1 2 1 ,
1
1
.
149
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Для того чтобы продолжить построение асимптотики для
, заметим, что в этом случае функцию
моментов времени
на последнем промежутке следует рассматривать как новую начальную функцию уравнения (1). Она входит в множество допустимых начальных функций и, построив для нее асимптотическое
; 2 , мы убедимся, что очередная
решение на промежутке
начальная функция удовлетворяет определению класса начальных функций. Таким образом, для произвольной начальной
построенная асимптотика оказывается периодичефункции
ской функцией с периодом, равным
1 1
1 . 6
1
Полученный период можно уточнить до слагаемого порядка
. Поправка к этому периоду осуществляется так, как в работах [2], [3], [4]. В конечном итоге, доказывается следующая
теорема: пусть функция
определена для положительных
значений аргумента, дважды непрерывно дифференцируема и
∞ ведет себя как
положительна, монотонно убывает, при
. Функция удовлетворяет равенству
0 1 и
′
0
0. Тогда уравнение (1) с начальными условиями из множества имеет периодическое решение и период определяется
формулой
1
1
1
где
1
2
1
, 7
∞
.
Рассмотрим модель диффузионного взаимодействия. Биологический нейрон – биологическая клетка, выполняющая функции, связанные с генерированием электрических импульсов. Это
нелинейная электрическая система. К настоящему моменту вре150
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
мени существует множество самых разнообразных математических моделей нейрона. Следуя работам [1] и [4], мы будем рассматривать дифференциальное уравнение (1) как уравнение, описывающее динамику мембранного потенциала нейрона. Мембранный потенциал – это разность потенциалов внутренней
жидкости нейрона по отношению к внешней; – это большой параметр, характеризующий скорость всех обменных процессов в
1. Между нейронами нет прямых электрических
нейроне,
контактов. Моделирование переноса сигнала с нейрона на нейрон
можно разделить на два типа: химический и электрический. В
данном случае имеет место второй способ. Тогда в правую часть
уравнения нейрона-приемника добавляется слагаемое, которое
соответствует току проводимости. Значение этого слагаемого определяется разностью мембранных потенциалов взаимодействующих нейронов:
1
1
,
где
и
– мембранные потенциалы этих нейронов. Параметр имеет смысл коэффициента разностной диффузии.
В работе [1] приведены биологические соображения о том,
что коэффициент разностной диффузии мал по величине и согласован с параметром :
/
,
0.
В этом случае в системах, состоящих из электрически взаимодействующих импульсных нейронов, имеют место разнообразные типы синхронизации колебательных режимов.
Система, состоящая из двух импульсных нейронов с электрическим взаимодействием, будет описываться следующей системой уравнений:
1 1 В. А. Шабаршин
1
1
,
151
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
где
и
– мембранные потенциалы взаимодействующих нейронов, а
– коэффициент проводимости межклеточной жидкости.
Проведено численное моделирование системы двух взаимодействующих нейронов при различных значениях параметров и .
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
-5
0
5
10
15
20
25
Рис. Режим взаимодействия двух нейронов при
30
3,
35
0.2
Для компьютерного эксперимента написана программа в
.NET Framework на языке C Sharp. Она позволяет решить численно уравнение, построить его решение, решить систему уравнений
для взаимодействующих нейронов и реализовать модель зависимости рассогласований спайков.
 Литература
1. Кащенко С. А., Майоров В. В. Модели волновой памяти. М.: Книжный дом ЛИБРОКОМ, 2009. 288 с.
2. Майоров В. В., Мячин М. Л., Парамонов И. В. Поправка к периоду
решения уравнения, моделирующего динамику мембранного потенциала
нейрона // Моделирование и анализ вычислительных систем. 2008. Т. 15,
№ 2 / ЯрГУ им. П. Г. Демидова. С. 61–66.
3. Дунаева О. А., Мячин М. Л. Исправления и дополнения к статье
"Поправка к периоду решения уравнения, моделирующего динамику мембранного потенциала нейрона" // Там же. 2009. Т. 16, № 3. С. 58–64.
4. Мячин М. Л. Исследование автоколебательных режимов в сетях
импульсных нейронов: дис. … к. ф.-м. наук. Ярославль, 2009. 85 с.
152
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Вложение частично упорядоченных
множеств в цепи
Е.В. Шакурин
Теория упорядоченных множеств является самостоятельным
направлением в обширной области современной алгебры. Частями этого направления являются теория решеток, теория булевых
алгебр и другие.
В комбинаторных теориях большую роль играют вопросы
генерации комбинаторных объектов. В дипломной работе рассматривается вопрос, связанный с данным направлением. По
произвольному бинарному отношению решается вопрос, является
ли оно отношением частичного порядка, строится график частично упорядоченного множества, а также рассматриваются его различные вложения в цепь. Рассмотренная тема затрагивается в
курсе дискретной математики, алгебраической комбинаторики и
информационных систем.
Формальное определение
Частичный порядок – это бинарное отношение R (обычно
обозначаемое как , «меньше или равно») на множестве P, обладающее свойствами рефлексивности, антисимметричности и
транзитивности, то есть удовлетворяющее следующим аксиомам:
 Рефлексивность:
;
 Антисимметричность:
;
 Транзитивность:
.
Если
и при этом
, то обычно пишут a < b («меньше», «строго меньше»). Вместо
также пишут
. Если же
для любых двух элементов множества a и b верно либо a < b, либо a = b, либо a > b, такое отношение называется отношением линейного порядка. Иногда, когда из контекста ясно, что речь идёт
именно о частично упорядоченных множествах, слово «частично» опускают.
Е.В. Шакурин
153
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Пары элементов, для которых не выполняется ни
, ни
, называются несравнимыми. В линейно упорядоченных
множествах таких пар нет.
Множество частичных порядков на множестве М
Если задано конечное множество М, то можно рассматривать
множество всевозможных бинарных отношений на М, но это неинтересно, так как бинарные отношения – просто всевозможные
подмножества множества М  М=М2. Более интересно рассмотреть множество О(М) – множество всевозможных частичных порядков на М.
Ясно, что множество О(М) является частью множества М2 и
само является частично упорядоченным относительно теоретикомножественного включения одного отношения в другое. Перечисление различных классов частичных порядков – решёток, полурешёток и т. п. – является одной из стандартных задач комбинаторики. В данной работе рассматриваются близкие вопросы.
Отметим первое простое утверждение.
Утверждение 1. Множество О(М) относительно указанного
порядка имеет наименьший элемент – диагональное отношение
I={(х, х) | х  М} и n! максимальных элементов, задающих на М
отношение линейного порядка (здесь n=|M|).
Отметим далее, что пересечение любого семейства частичных
порядков на множестве М является снова частичным порядком, то
есть можно сказать, что О(М) является полной нижней полурешёткой. Используя это замечание, можно сказать, что (порядковое) замыкание некоторого бинарного отношения, не являющегося частичным порядком, есть пересечение всех частичных порядков, содержащих данное отношение. Другими словами, это
наименьший частичный порядок, содержащий данное отношение.
В связи с этим, определённый интерес представляет вопрос,
при каких условиях данное бинарное отношение содержится хотя
бы в одном частичном порядке. Решение вопроса простым перебором всех частичных порядков является неполиномиальным.
Для получения полиномиального, хотя и очень трудоёмкого,
алгоритма можно поступить следующим образом. Для данного
элемента х М определим множества х▼={y  x | y  M} и х▲={ x  y
154
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
| y M }, обычно называемые нижним и верхним конусами элемента х. Теперь можно сформулировать следующее утверждение.
Утверждение 2. Если некоторое бинарное отношение может
быть вложено в какое-либо отношение частичного порядка, то
для любой пары несравнимых элементов множества М их верхний и нижний конусы не пересекаются. Обратно, если для любой
пары элементов (х, y) множества М верхний и нижний конусы не
пересекаются, то такое бинарное отношение вкладывается в некоторое отношение частичного порядка.
Основываясь на подобных замечаниях, реализована программа работы с бинарными отношениями. Она проверяет, является ли данное отношение частичным порядком, если нет – в ряде
случаев корректирует данное отношение до некоторого отношения порядка и перечисляет цепи (то есть максимальные элементы
множества О(М)), в которые вкладывается данный порядок.
Пример работы программы
Пользователь ввел бинарное отношение вида: (aa)(cc)(ab)(cb)
Е.В. Шакурин
155
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Программа выполнила проверку введенного бинарного отношения на свойства частичного порядка и вывела пользователю
сообщение: отношение не является отношением частичного порядка, так как не выполняется рефлексивность для элемента «b».
Нажав на кнопку «ОК», программа предложит исправленный вариант и построит его изображение, а в результате нажатия на
кнопку «Дополнить» выведет варианты дополнения отношения
до линейно упорядоченного множества.
Пользователь может выбрать любой из двух возможных в
данном случае вариантов. Для примера возьмем первый вариант
(aa)(ab)(bb)(ca)(cb)(cc), в результате чего получили:
156
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
 Литература
1. Программирование в C++Builder 6 и 2006: Разработка программ для
Windows / Архангельский А.Я., Тагин М.А Бином. Лаборатория знаний,
2007.
2. Верещагин К., Шень А. Лекции по математической логике и теории
алгоритмов. Часть 1. Начала теории множеств. М.: МЦНМО, 2002.
3. Стенли Р. Перечислительная комбинаторика / пер. с англ. А. И.
Борвинка и Л. А. Лодкина. М.: Мир, 1990.
4. Биркгоф Г. Теория Структур. М.: Иностранная литература, 1952.
Е.В. Шакурин
157
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Содержание
Технология моделирования, анализа и верификации
модифицированного транспортного уровня протокола
Wireless Access Protocol Алексеева М. М., Дашкова Е. А., Чалый Д. Ю. ................................ 3 Модификация, моделирование, анализ
и верификация протокола семейства Wireless Access Protocol Алексеева М. М., Дашкова Е. А., Чалый Д. Ю. ................................ 9 Модель AW3-нейрона в задаче ассоциативной памяти Алешин С. В. ..................................................................................... 15 Применение методов технического анализа
для прогнозирования стоимости акций ОАО «Аэрофлот» Ботина Т. В....................................................................................... 21 О двойственности Гейла и k-смежностных случайных
многогранниках Бродский А. Г. ................................................................................... 28 Интегральные, близкие к эйлеровым, характеристики
полутоновых цифровых изображений, построенных
на основе гексагональной решетки Волков В. А. ....................................................................................... 34 Исследование процесса синхронизации волновой активности
в сетях нейронных клеточных автоматов Дыбин Д. С. ....................................................................................... 40 Интерполяция объектов в линейном пространстве Зимин А. Ю. ...................................................................................... 44 О модификации экспоненциальной скользящей средней
для исследования ценовых графиков Кислова К. В. .................................................................................... 49
Исследование колебательных режимов в сети,
составленной из нейронных клеточных автоматов
с переменными синаптическими весами Колотухин И. О. ............................................................................... 57 158
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
NP-полнота задачи о точном покрытии
при дополнительных ограничениях Копылов В. Д..................................................................................... 64 Об одном алгоритме на графах Калинин В. Б., Кузьмин А. М. .......................................................... 69 Исследование модификаций протокола TCP Меркулов С. А. .................................................................................. 71 Исследование алгоритма интерполяции
«Сумма Минковского» Михайлова М. А. ............................................................................... 76 Моделирование транспортного протокола Trickles
при помощи сетевого симулятора ns2 Никитинский М. А. .......................................................................... 82 Скелетизация черно-белых цифровых изображений
на основе эйлеровой характеристики Никифоров Д. Б. ............................................................................... 89 О граничных комплексах некоторых релаксаций
разрезного многогранника Николаев А. В.................................................................................... 96 Алгоритм кодирования систем
с конечным числом состояний Павлов А. А. .................................................................................... 102 Векторизация изображений с субпиксельной
точностью на основе скелетизации Симакин И. С. ................................................................................ 108
Выделение на изображении темных и светлых полос
при помощи пары комплексных линейных фильтров Симакин И. С. ................................................................................ 116 NP-полнота задачи нахождения максимального потока
в кратной сети Смирнов А. В................................................................................... 122 Кодирование изображений, построенных
на основе прямоугольной решетки, бинарными деревьями
методом полного покрытия фрагментов Тюкин В. А....................................................................................... 131 159
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Модификация индикатора RSI Челноков Г. А. ................................................................................. 137 Исследование динамики альтернативной модели
импульсного нейрона с запаздыванием Шабаршин В. А. ............................................................................. 144 Вложение частично упорядоченных множеств в цепи Шакурин Е.В. .................................................................................. 153 Научное издание
Заметки
по информатике и математике
Выпуск 2
Сборник научных статей
Редактор, корректор Л. Н. Селиванова
Верстка И. Н. Иванова
Подписано в печать 09.09.2010. Формат 60х84/16.
Бум. офсетная. Гарнитура "Times New Roman".
Усл. печ. л. 11,16. Уч.-изд. л. 7,52.
Тираж 50 экз. Заказ
Оригинал-макет подготовлен
в редакционно-издательском отделе
Ярославского государственного университета им. П. Г. Демидова.
Ярославский государственный университет.
150000 Ярославль, ул. Советская, 14.
Отпечатано на ризографе.
ООО «Ремдер» ЛР ИД № 06151 от 26.10.2001.
150049, Ярославль, пр. Октября, 94, оф. 37
тел. (4852) 73-35-03, 58-03-48, факс 58-03-49.
160
Заметки по информатике и математике. Вып. 2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
161
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Заметки
по информатике и математике
Выпуск 1
Сборник научных статей
162
Заметки по информатике и математике. Вып. 2
Документ
Категория
Без категории
Просмотров
44
Размер файла
2 910 Кб
Теги
информатика, вып, 1521, математика, заметка
1/--страниц
Пожаловаться на содержимое документа