ФОРМИРОВАНИЕ ПОРЯДКОВЫХ ШКАЛ В СЛАБОФОРМАЛИЗОВАННЫХ ЗАДАЧАХ
М.Н. Елунин
(Самарский государственный архитектурно-строительный университет) Научный руководитель - доктор технических наук, профессор С.А. Пиявский
(Самарский государственный архитектурно-строительный университет)
Рост и развитие информационных технологий позволяет нам увидеть уже знакомые стороны жизни человека с другого ракурса, с другой, непривычной точки зрения. Эти процессы проникают в нашу жизнь и спустя некоторое время становятся неотъемлемой частью нашего существования. Данная работа представляет интерес в решении задач, связанных с слабоформализованными областями, которой, к примеру, является музыка, ее философия и восприятие. В работе была поставлена задача - предложить такой подход и разработать такое программное обеспечение, которое помогло бы представить музыкальные произведения в удобном для визуального представления человеком трехмерном пространстве.
Введение
Развитие информационных технологий создает новые средства для исследования и анализа таких областей науки, экономики, техники и вообще жизни человека, которые раньше не поддавались количественному изучению. Недаром в известной классификации, предложенной в 1985 г. в статье Г. Саймона и А. Ньюэлла [1], выделяются так называемые хорошо формализованные и слабоформализованные проблемы. Хорошо формализованные или количественно сформулированные проблемы - это те, в которых существенные зависимости выяснены настолько хорошо, что могут быть выражены в числах или символах, получающих, в конце концов, численные оценки. Слабоформали-зованные или смешанные проблемы - это те, которые содержат как количественные, так и качественные элементы, причем качественные, малоизвестные и неопределенные стороны проблем имеют тенденцию доминировать. В работе была поставлена задача -предложить такой подход и разработать такое программное обеспечение, которое помогло бы продвинуться чуть дальше в мир слабоформализованных проблем. Музыка как никакая другая область человеческой жизни очень популярна среди людей. Многие ее законы и аксиомы можно описать математически, но все же есть такие проблемы и задачи, которые до сих пор не подвергались такому анализу.
Постановка задачи и план исследования
Дано некоторое множество хаотически расположенных объектов в частично упорядоченном пространстве. Между этими объектами определено понятие расстояния, не обязательно геометрическое. Требуется разработать математический аппарат и программное обеспечение, позволяющие достаточно точно, естественным образом установить строгий порядок (ранжирование) между этими объектами, чтобы получить возможность использовать при их анализе строгий математический аппарат. В результате этого появится возможность решения ряда задач, например:
• визуальное представление объектов, описываемых точками многомерного пространства (размерности больше 3);
• восстановление функции предпочтения покупателей в Интернет-магазине;
• математический анализ музыкальных произведений, и др.
Чтобы достаточно естественным образом установить строгий порядок (ранжирование) объектов в каком-то слабо упорядоченном пространстве, нужно, чтобы рядом стояли такие объекты, которые наиболее близки друг к другу, т.е., с математической точки зрения, чтобы максимальное из расстояний между соседними объектами было минимальным.
Математические модели
Постановка задачи оптимального ранжирования объектов на основе парных оценок
Пусть n - количество объектов, i,j - номера объектов, i, j =1,...,n, aij - расстояние между i-м и j-м объектами, R(i) - функция ранжирования, I(k) = R- - обратная функция к функции ранжирования, dR - расстояние между k и следующим за ним в ранжирующем множестве объектов,
dk = ai (k),I (k+l) ' k=1,.,n;
dR = max dR- качество ранжирования. Требуется: найти такую функцию ранжирова-
ke[1,n-1]
ния R, при которой качество ранжирования dR является наилучшим, т.е. стремится к минимальному значению d R = min d R.
R
Модель оптимального ранжирования на основе целочисленного линейного программирования
Пусть n - количество объектов; atj - расстояние между i-ым и j-ым объектами;
Uj - признак следования i-го объекта за j-м,
U J1 если i - й объект стоит сразу после j - ого 1 4 [ 0 в противном случае J
Vi - признак первого объекта в ряду,
V [0 если первый в ряду 1 1 [1 иначе J '
n
причем, так как первым может быть только один объект, то ^Vi = n -1 ; Zi - признак
i=1
последнего объекта,
Г0 если последний в ряду 1 i [ 1 иначе J'
n
и, аналогично, ^ Zj = n -1 . Кроме того, так как первый объект не может стоять по-
j=1
следним, то Vk + Zk > 1, k = 1,..., n. Введем критерий оптимальной ранжирующей
функции - максимальное расстояние между объектами стремится к Ymm - и запишем выражения для расстояния между i и j объектами:
atJ Uj < Ymin , Vi = 1..,n, j = 1..,n.
Математическая модель кластеризации множества объектов в многомерном пространстве
Обозначим Ajj =^{x1 - x2 )2 + (y - y2 )2 + ( - z2 )2 - расстояние между i и j музыкальными произведениями, Uj - вектор, характеризующий наличие кластера, f - максимальный радиус кластера, причем
J 1 иначе 1
j = [ 0 если Aj < f J .
Программная реализация
Обоснование выбора языков и сред программирования
Решение задачи происходит в три этапа - постановка задачи, оптимальное ранжирование и кластеризация. Соответственно, были разработаны и различные программы. Первая программа написана на языке C#. Язык С# [3] - это очередная ступень бесконечной эволюции языков программирования. С# был создан в конце 1990-х гг. в и стал частью общей .NET-стратегии Microsoft. С# был создан компанией Microsoft для поддержки среды .NET Framework. Оболочка .NET Framework определяет среду для разработки и выполнения сильно распределенных приложений, основанных на использовании компонентных объектов. Важно, что .NET Framework no своему существу не ограничена применением в Windows, т.е. программы, написанные для нее, можно затем переносить в среды, отличные от Windows. Для других, менее сложных программ использованы Borland Pascal, Delphi, Microsoft Excel.
Программа стохастического оптимального ранжирования (C# в среде Microsoft Visual Studio 2005 и Microsoft Access)
Как известно, сущность метода Монте-Карло состоит в следующем: требуется найти значение а некоторой изучаемой величины. Для этого выбирают такую случайную величину X, среднее значение которой равно а: M ( X ) = a.
Практически же поступают так: производят n испытаний, в результате которых получают п возможных значений X, вычисляют их среднее арифметическое
n
x=(Z xi vn
i=i
и принимают x в качестве оценки (приближенного значения) а* искомого числа а: * _
a = a = x .
Поскольку метод Монте-Карло требует проведения большого числа испытаний, его часто называют методом статистических испытаний. Теория этого метода указывает, как наиболее целесообразно выбрать случайную величину X и как найти ее возможные значения. В частности, разрабатываются способы уменьшения дисперсии используемых случайных величин, в результате чего уменьшается ошибка, допускаемая при замене искомого математического ожидания а его оценкой а *.
В данной работе на основе стохастического оптимального ранжирования и с помощью метода Монте-карло была разработана программная система. В ней можно выделить основные режимы:
• ввод объектов и парных оценок (Result);
• формирование матрицы расстояний (Result2);
• генерирование вариантов ранжирующей функции методом Монте-Карло (Rang);
• оценка качества текущей ранжирующей функции (c);
• формирование и представление результатов оптимизации (COpt, RangOpt).
Программа оптимального ранжирования на основе целочисленного линейного программирования (среда Solver Microsoft Excel)
Эта программа была реализована в среде Solver Microsoft Excel. Основные окна программы приведены на рис. 1-3.
Рис. 1. Основная форма программы стохастического оптимального ранжирования
Рис. 2. Размещение информации в модели оптимального ранжирования в среде Excel
И
Поиск решения
Установить целевую ячейку: Равной: Г максимальному значению (""значению: |о
(* минимальному значению Изменяя ячейки:
Выполнить
Закрыть
|iKil;iCil5:iHi20ji]il5:i]i20;iCi22:iHi22V| Предположить Ограничения:
Й15:№0 = двоичное $С$21:$Н$21 = О №2: №2 = двоичное $С$26:$Н$31 <=0 Й46:Н51 <= 1 Й15:Й20 = 0
Параметры
Восстановить
Справка
Рис. 3. Текст модели оптимального ранжирования в окне «поиск решения» Excel
Использование разработанного программного обеспечения для исследования музыкальных произведений
Постановка задачи математического анализа музыкальных произведений
Следует заметить, что применение математических методов в музыке имеет многовековую историю [5-6]. Замысел настоящей работы заключается в том, чтобы представить музыкальные тексты как элементы некоторого пространства конечного числа измерений, в котором достаточно естественным образом определено понятие «расстояния» между мелодиями. Для этого необходимо упорядочить тональности музыкальных произведений, что, наряду с использованием естественной упорядоченности размерностей и темпов, позволит описать различные мелодии в 3-х мерном евклидовом пространстве. На этой основе может быть сделана попытка применения математических методов и компьютерного моделирования в музыковедческом сопоставительном анализа разных музыкальных тестов.
При таком подходе необходимо:
• выделить ряд ключевых характеристик музыкального текста, которые могут использоваться как критерии при оценке их сходства и различий;
• ввести порядковые шкалы для измерения этих характеристик;
• использовать один из существующих методов многокритериальной оптимизации, чтобы сопоставить вектору указанных характеристик некоторое число, соответствующее числовому отношению между мелодиями;
• произвести экспериментальную настройку этого метода таким образом, чтобы полученные на его основе результаты в максимальной степени соответствовали имеющимся теоретическим данным. Этот этап позволит судить об эффективности подхода в целом.
Далее рассматривается сугубо упрощенная модель, предназначенная лишь для демонстрации основной сути предлагаемого подхода.
В музыкальном произведении можно выделить атрибуты, характеризующие его структуру в целом:
• музыкальный инструмент, на котором исполняется произведение,
• музыкальный код,
• динамическое развитие,
• количество и соотношение различных частей музыкальной формы, соответствующие определенным количественным единицам (тактам),
• частотные характеристики,
• гармоническая структура,
• темп,
• метроритм,
• тональность.
В настоящей работе были выбраны три последних атрибута, наиболее полно характеризующие музыкальное произведение.
Формирование порядковых шкал темпа и размера
Перейдем к определению порядковых шкал выбранных атрибутов. В табл. 1 представлены темпы и дополнительные слова к обозначениям темпов. Они расположены в порядке возрастания скорости игры. В третьем столбце приведены термины, которые несколько увеличивают уровень выразительности терминов, указанных слева от них. Значения уровней, приведенные в табл. 1, образуют порядковые шкалы двух критериев - темпы и дополнительные слова. Заметим, что в целях упрощения можно ограничиться лишь первыми из них. В табл. 2 приведена естественная порядковая шкала для описания метроритмической структуры музыкального теста (мелодии). Обе эти порядко-
вые шкалы соответствуют естественной упорядоченности темпов и размеров. А вот в отношении тональностей такой естественной упорядоченности нет. Так как этот атрибут музыкального произведения очень важен и сложен, его описанием занимались лучшие композиторы и ученые-музыковеды. Для решения этой задачи и потребовалось разработанное программное обеспечение.
Темпы Дополнительные слова
Уровень B азванне Уровень название
1 Largo 1 Pui mosso
2 Lento Pui Lento 2 Meno mosso
3 Adagio 3 Accelerando
4 Grave 4 Non troppo
5 Larghetto 5 Molto
6 Andante Andante espressivo 6 As sai
7 Sostenuto Maestos 7 Con moto
8 Moderato 8 A tempo
9 Andantino 9 Poco rit
10 Allegretto 10 Un poco rit
11 Allegro Allegro Vivace a Brillante 11 Un poco largamento
12 Vivo 12 Rit
13 Vivace Molto Vivace 13 Ritard
14 Presto Veloce 14 Rub ato
15 Prestissimo 15 Allargando
Таблица 1. Порядковая шкала для описания музыкальных темпов
Уровень метроритм Уровень метроритм Уровень метроритм
1 2/1 11 4/2 21 9/4
2 2/2 12 4/4 22 9/8
3 2/4 13 4/8 23 9/16
4 2/8 14 5/2 24 12/4
5 2/16 15 5/8 25 12/8
6 3/1 16 6/4 26 12/16
7 3/2 17 6/8
8 3/4 18 6/16
9 3/8 19 7/4
10 3/16 20 7/8
Таблица 2. Порядковая шкала для описания размерности
Формирование порядковой шкалы тональности
Для обоснования понятия расстояния между различными тональностями необходимо определить единицу расстояния между двумя тональностями. За расстояние между двумя тональностями в работе принято отношение суммы разностей соответствующих нот двух тональностей (совпадают - 0 , различаются на полтона - 0.5, различаются на один тон - 1.0) и количества нот в тональности (7). Для примера на рис. 4 показаны тональности трех музыкальных произведений. Они же изображены в сжатом виде на рис. 5. При этом знак диез показан стрелкой, направленной вправо, а знак бемоль - стрелкой, направленной влево. На рис. 5 видно, что расстояние между прелюдом и вальсом равно 4.5/7 = 0.64, между вальсом и фугой - 4/7 = 0,57, между прелюдом и фугой - 0.5/7 = 0,07.
Рис. 4. Тональности трех музыкальных произведений
Рис. 5. К определению расстояния между тональностями музыкальных произведений
На основании описанного алгоритма расчета была создана достаточно простая программа на языке Borland Pascal, которая перебрала всевозможные варианты тональностей и рассчитала расстояния между ними. Таким образом, с помощью математической модели оптимального ранжирования на основе целочисленного линейного программирования было получено решение поставленной задачи в виде порядковой шкалы, представленной в табл. 3.
Уровень Тональность
1 Ces dur As moll
2 Ges dur Es moll
3 Des dur bes moll
4 As dur f moll
5 Es dur c moll
6 Bes dur g moll
7 F dur d moll
8 C dur a moll
9 G dur e moll
10 D dur b moll
11 A dur fis moll
12 E dur cis moll
13 B dur gis moll
14 Fis dur dis moll
15 Cis dur ais moll
Таблица 3. Порядковая шкала тональностей
Индексирование произведений различных композиторов с использованием трех
разработанных порядковых шкал
В результате проведенного анализа музыкальных произведений и решения поставленных задач получены три порядковые шкалы, характеризующие музыкальные произведение, которые можно представить трехмерным евклидовым пространством. Были выбраны около тридцати произведений различных авторов (Бах, Шопен и т.д.), каждому из которых, с помощью трех разработанных шкал, были заданы координаты трехмерного евклидового пространства.
Анализ полученного результата производился с помощью кластеризации, т.е. разделение множества объектов в музыкальном пространстве на отдельные группы наиболее близких между собой объектов. В результате кластеризации музыкальных произведений были получены три кластера. На их основе можно попытаться провести небольшой музыковедческий анализ. Кластер №1 можно назвать «кластером Бетховена», потому что почти все музыкальные произведения этого композитора вошли в этот кластер. Кластер №2 можно назвать «кластером Шопена». Но есть и такие музыкальные произведения как Шопена, так и Бетховена, которые входят не в одноименный кластер. Из этого можно сделать вывод, что эти музыкальные произведения разных авторов, в данном случае Шопена и Бетховена, как-то переплетаются по своей структуре между собой. В первый и второй кластер вошли музыкальные произведения и других авторов эпохи, совсем не похожей на эпоху Бетховена и Шопена.
В целом полученные данные позволяют проанализировать, почему те или иные музыкальные произведения вошли в тот или ной кластер. Первый и второй кластер можно разделить по жанрам музыкальных произведений. Как видно из табл. 6, все музыкальные произведения с названием музыкального жанра «Этюд» вошли в первый кластер. Это говорит о схожей структуре данного жанра и близости этих музыкальных произведений. Многие танцевальные музыкальные произведения, такие как мазурка, вальс, полонез, итальянский танец, вошли в кластер №2, что говорит о их сходстве по музыкальному построению. Почти все произведения таких классиков, как Бах, Шопен, Чайковский, Шостакович, Моцарт, вошли в один и тот же кластер. Это показывает, что классическая музыка имеет некоторую близость. Единственное музыкальное произведение, не вошедшее ни в один кластер - Маленькая двухголосная фуга И.С. Баха.
Выводы и направления дальнейших исследований
• Задача ранжирования объектов на основе парных оценок представляет большой теоретический и практический интерес.
• Разработанные математические модели и реализующие их программы позволяют решать реальные задачи. При этом определены области наиболее эффективного применения каждого метода. Методы прямого и стохастического перебора вариантов решения эффективно работают на современных персональных ЭВМ, если число объектов в среднем не превосходит восьми. Метод, основанный на примере модели целочисленного линейного программирования, по быстродействию допускает решение задач с несколькими десятками объектов. Однако ограничением является использовавшийся стандартный оптимизатор Microsoft Excel, который допускает решение задач с числом переменных не более двухсот.
Полезность и эффективность разработанного подхода продемонстрирована при решении задачи математического сопоставительного анализа музыкальных произведений. Здесь удалось:
• разработать математически обоснованную порядковую шкалу тональностей, характеризующую коммуникацию различных музыкальных текстов. До этого существовали естественные порядковые шкалы размера и темпа;
• впервые изобразить в трехмерном пространстве, удобном для анализа, расположенные естественным образом различные музыкальные произведения;
• разработать модель и программу кластеризации, позволившие выделить и сопоставить между собой область творчества различных композиторов, сочинявших в различные исторические периоды.
Направления дальнейшей работы:
• разработать оптимизатор, позволяющий решать задачи с количеством объектов, превышающих несколько десятков;
• провести музыковедческий анализ, попытавшись связать дату написания произведения и обстоятельства его жизни с попаданием произведения в тот или иной кластер;
• провести музыкальный эксперимент, доказывающий проведенные исследования;
• ввести новые атрибуты, наиболее полно характеризующие музыкальное произведение, и, с помощью кластеризации, попытаться проанализировать произведения в N-мерном пространстве.
Литература
1. Ларичев О.И. Теория и методы принятия решений. М.: Логос, 2000.
2. Карпелевич Ф.И., Садовский Л.Е. Элементы линейной алгебры и линейного программирования. / Изд. 2. М.: Наука, 1965.
3. Шилдт Г. Полный справочник по C#. М.: Вильямс, 2004. 707 с.
4. http://lib.vvsu.ru/books/Bakalavr01/page0223.asp
5. Григорьев С. Теоретический курс гармонии. М.: Высшая школа, 1981. 306 с.
6. Должанский А.Н. Краткий Музыкальный словарь. СПб, 2000. 443 с.
7. Хендерсон К. Профессиональное руководство по SQL Server: хранимые процедуры, XML, HTML. СПб: Питер, 2005. С. 107-122.