Математическая модель оптимизации структуры иерархического меню

1

нформационные технологии в управлении

УДК 519

МАТЕМАТИЧЕСКАЯ МОДЕЛЬ ОПТИМИЗАЦИИ СТРУКТУРЫ ИЕРАРХИЧЕСКОГО МЕНЮ

М.В. Губко, А.И. Даниленко

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

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

ВВЕДЕНИЕ

Иерархические меню являются популярным методом доступа к командам и данным. Примерами могут служить командные меню компьютерных программ (рис. 1), каталоги Интернет-сайтов (рис. 2), меню мобильных телефонов, интерактивные телефонные системы и т. п.

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

жаются как сами категории, так и подчиненные им подкатегории.

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

1. ОБЗОР ЛИТЕРАТУРЫ

Еще до развития компьютерных систем схожая проблематика рассматривалась в теории вопросников [1]. Помимо подробного описания теории в работе [1] проведена аналогия с теорией оптимизации организационных иерархий, использующей тот же математический аппарат, что и настоящая статья. Вследствие широкого распространения графических компьютерных интерфейсов в 1980-х гг. началась активная разработка формальных методов оптимизации структуры меню (содержательный, хотя и несколько устаревший, обзор приведен в работе [2]). В настоящее время больше внимания уделяется улучшению пользовательских качеств Интернет-сайтов, мобильных устройств и бытовой электроники [3—5]. Ряд публикаций пос-

Формат

Шрифт

Расстановка Вид Воспроизведение Окно Экспорт Справка

Текст

Таблица

Диаграмма

Фигура

Изображение

Копировать стиль Х9£С

Вставить стиль

Копировать анимацию Вставить анимацию

Маскировать ОЗёМ

Маскировать фигурой

Быстрая Альфа

Удалить функцию прозрачности

Вновь применить мастер к выбранному Дополнения

1 Показать шрифты S8T

Жирный КВ

Курсив XI

Подчеркнутый &и

Зачеркнутый

Контурный

Увеличить 3« +

Уменьшить 3«-

Межбуквенное расстояние

Лигатура

Базовая линия >

Прописные

Стандартная

Надстрочная

Подстрочная

Поднять

Опустить

'36-

Рис. 1. Фрагмент командного меню программы «Apple Keynote»

Бизнес

Работа. Недвижимость. Инвестиции.

Искусство

Общество

Дом Исто

Семья. Потоебителю. Кулинаоия. ... Юрты

Досуг Туоизм. Гастоономия. На улице. Юмоо. Комг . Интео

Здоровье Наук

Фитнес. Медицина. Альтернативная. ... БиоА)

эКино >j Искусство > Кино

' Разделы

э DVD

Рис. 2. Фрагмент двухуровневого меню Интернет-каталога Google Directory

вящен изучению различных принципов организации меню. Пункты меню могут быть расположены по алфавиту [6], в случайном порядке [7, 8], или упорядочены по принадлежности к подкатегориям [9, 10]. Структура и отображение пунктов меню может изменяться в зависимости от частоты их использования [11, 12].

Отдельное направление исследований — влияние ширины и глубины иерархии на время поиска. Главный вопрос заключается в том, сколько альтернатив следует предлагать пользователю на одной панели меню (это число называется шириной иерархии) и сколько при этом должно быть уровней в иерархии (другими словами, какая глубина иерархии). Существуют различные подходы к этому вопросу. Классическая модель [8] (позже расширенная в работе [10]) рассматривает построение симметричного меню постоянной ширины над

элементами с одинаковой популярностью в предположении, что выбор любого пункта меню требует одинакового времени. Результатом предложенной линейной модели стало выражение для оптимальной ширины иерархии (в среднем 6—8 пунктов). Полученные результаты далеки от экспериментальных исследований, и в работе [6] была предложена альтернативная модель с подобными ограничениями, но с логарифмической зависимостью времени поиска от ширины иерархии, предсказывающая оптимальность более широких иерархий (см. также [11]). Настоящую статью можно рассматривать как продолжение этих работ, так как предложенная модель обобщает подходы, описанные в работах [6, 8, 10], снимая ряд ограничений.

Важную роль в исследовании структур меню играют многочисленные экспериментальные исследования [7, 9, 13—17], базирующиеся на раз-

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

о влиянии ширины и глубины иерархии на удобство меню.

Несколько работ затрагивают вопрос переменной ширины иерархии в меню. Так, в работах [17, 18] показывается, что более широкие на последних уровнях меню эффективнее, чем меню, сужающиеся к концу. Однако, например, в работах [16, 19], существенных различий между такими структурами выявлено не было.

Существует также направление исследований, посвященное изучению особенностей специфических типов меню: голосовых меню [20], меню мобильных телефонов [3, 5] и др.

Таким образом, существующие исследования структуры иерархических меню существенно различаются как в предположениях о свойствах системы и поведении пользователей, так и в применяемых методах. Кроме того, полученные результаты, как теоретические, так и экспериментальные, сложно применять на практике. Теоретические результаты получены при сильных ограничениях, не применимых к реальным меню. Экспериментальные методы исследуют отдельно взятую область, и их результаты не всегда возможно обобщить. Такая ситуация привела к появлению работ [21], в которых сравниваются различные методы и определяется их применимость в зависимости от условий и стратегий пользователей. Но до сих пор не существует единой методики, описывающей принципы построения меню для различных случаев. Такая методика должна содержать элементы оптимизации структуры меню и позволять сравнивать различные типы и структуры меню на предмет их удобства для пользователей. В настоящей статье исследуется математическая модель, отвечающая на поставленные вопросы с помощью результатов математической теории оптимизации иерархических структур [22, 23]. Общий подход, предложенный в рассматриваемой модели, позволяет ослабить ряд допущений существующих моделей и использовать полученные теоретические результаты для разработки средств автоматизации построения меню.

2. ПОСТАНОВКА ЗАДАЧИ

Иерархическое меню строится на основе множества элементов N = {1, ..., п} (например, команд или ссылок в Интернет-каталоге), к которым необходимо получать доступ посредством меню. Через ц(^) обозначим популярность элемента м> е N— вероятность того, что этот элемент потребуется пользователю.

При построении меню множество элементов N разбивается на категории, затем элементы каждой категории могут быть разбиты на подкатегории и т. д. Панелью меню для категории 5 с N будем называть совокупность самой категории 5 и набора содержащихся в ней вариантов (подкатегорий или терминальных элементов). Например, на рис. 1 раскрыты четыре панели меню. Категории верхнего уровня («Слайд», «Формат» и т. д.) расположены в главной панели меню, а категории следующих уровней принадлежат вложенным панелям. Такое многоуровневое разбиение элементов на категории формирует древовидную структуру меню. Листьями дерева служат элементы из множества N остальные вершины соответствуют категориям.

Каждая категория однозначно характеризуется набором 5 с N входящих в нее элементов нижнего уровня. При этом вероятность того, что пользователь попадет в панель меню, соответствующую категории 5, равна ^ := £ ц(^)1.

^ £ 5

Если пользователь попадает в панель меню категории 5 с N содержащую к вариантов с популярностями ц1, ..., цк, то ц1 + ... + цк = ^. Тогда у. = — условная вероятность выбора вариан-

та / при нахождении в панели меню категории 5. Другими словами, вектор у1, ..., ук определяет пропорцию (у1 + ... + ук = 1 по определению), в соответствии с которой поделены популярности вариантов, содержащихся в категории 5.

Будем пользоваться средним временем, затрачиваемым пользователем на поиск элемента (средним временем одной пользовательской сессии) как критерием качества меню. Как правило, считается [6—10, 14—17], что цель пользователя — один элемент нижнего уровня, например, одна запись в меню доступа к базам данных или одна команда в командных меню. Таким образом, если обозначить через 1(ц>) время поиска пользователем элемента w е N, то необходимо минимизировать среднее время доступа к одному элементу

Т = £ ц(^Жм>).

W £ N

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

1 Это верно, если пользователь не совершает ошибок при выборе вариантов в меню.

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

Для конкретного типа меню 9 е О обозначим через ?;(к, 9) среднее время, необходимое, чтобы

найти и выбрать г-й вариант в панели меню, содержащей к альтернатив. Это время включает в себя как время на восприятие и анализ вариантов, так и на совершение выбора (например, перемещение курсора или нажатие клавиши). Кроме набора вариантов и типа меню на время выбора влияют личные качества пользователей (квалификация, возраст), технические ограничения оборудования и ряд других факторов, которые неподвластны разработчику меню. Если информация о потенциальных пользователях, аппаратных задержках и других внешних параметрах доступна на этапе проектирования, ее следует включить в величину ?;(к, 9). Такая детализация позволяет получить более точные (но менее универсальные) рекомендации касательно структуры меню. При отсутствии подобной информации следует ис-

4

пользовать средние значения , которые позволят получить более универсальные, но «оптимальные в среднем» параметры меню. Основным источником для определения времен ?г(к, 9) служат экспериментальные исследования.

Если пользователь попал в панель меню категории 5 с N с к(5) подкатегориями 51, ..., 5к, то, умножив время выбора ?г(к, 9) каждого варианта на соответствующую условную вероятность уг(5) := /ц5

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

к

^(я), ..., уадС5), 9) = £ у/^ад, 9).

I = 1

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

**0^), уад

к

= тіп £ у.^ад, 9).

I = 1

Среднее время одной пользовательской сессии в иерархическом меню Н складывается из средних времен нахождения пользователя в каждой панели меню 5 иерархии Н, умноженных на вероятности ^ попадания в эту панель меню:

Т

і из Н

и задача состоит в поиске иерархии, минимизирующей время сессии (2) на множестве всех возможных древовидных иерархий, надстроенных над множеством N.

3. ЭЛЕМЕНТЫ ТЕОРИИ ОПТИМИЗАЦИИ ИЕРАРХИЧЕСКИХ СТРУКТУР

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

В частности, доказано [23], что для критерия оптимизации вида (2), представимого в виде суммы однородных функций, оптимально так называемое «однородное дерево», в котором каждая категория имеет одинаковое число подкатегорий с популярностями, распределенными в одной и той же пропорции у1, ..., ук (^1 + ..., + ук = 1). Пример однородного дерева ширины 2 с пропорцией (1/3, 2/3) приведен на рис. 3.

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

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

3 Считается, что для каждого сочетания к и 0 задана некоторая нумерация пунктов меню от 1 до к.

4 Далее показано, что временные затраты входят в критерий оптимизации линейно, поэтому можно использовать усредненные параметры.

Т

w £ N , л

- £ у.1пу.

I = 1

Показано [23], что задача поиска оптимальной древовидной иерархии сводится к вычислению параметров дерева, минимизирующих выражение

Рис. 3. Пример однородного дерева

по всем k = 2, n и пропорциям ур yk, удов-

летворяющим условию y. l min ^(w):

w e N

Tl(N ) =

V ^(w)ln^(w)min min

k y 1> > yk

w e N

f

к

- V У'ln У

i = 1

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

4. ОПТИМАЛЬНЫЕ ИЕРАРХИЧЕСКИЕ МЕНЮ

4.1. Общие выводы

Таким образом, в рамках рассматриваемой модели оптимальная структура меню должна представлять собой однородную иерархию, т. е. каждая панель меню должна содержать по возможности одно и то же число вариантов с популярностями, поделенными в одной и той же пропорции. Легко видеть, что вследствие этого применение нескольких типов меню в одной иерархии неэффективно. Действительно, согласно выражению (1), наилучший тип меню 9 е О для каждой панели 5 с N определяется минимизацией

ks

0*(s) = argmin V y.(s)t.(k(s), 0).

I = 1

Это дает возможность строить с помощью данного алгоритма субоптимальные иерархические меню с учетом семантических ограничений — требований осмысленности каждой категории (см. далее § 5).

В силу однородности оптимальной иерархии, ширина меню k(s) и пропорция y1(s), ..., yk(s)(s) одинаковы для всех панелей. Следовательно, минимум (5) будет достигаться в одной и той же точке для всех панелей. Другими словами, все панели оптимального меню одного и того же типа независимо от их положения в иерархии. Это дает возможность сначала найти параметры наилучшего однородного дерева для каждого из рассматриваемых типов меню 0 е Q, а затем рекомендовать в качестве оптимального тип меню, однородное дерево для которого дает минимальное время сессии.

При построении удобного меню следует учесть множество факторов: вид панелей меню, стратегию поведения, квалификацию и личные качества пользователей. Даже в одном и том же меню различные пользователи могут вести себя по-разному. Так, варианты в меню можно просматривать последовательно или, при известной сортировке вариантов, пользоваться методом деления пополам. Пользователи, часто пользующиеся меню, могут помнить расположение необходимого варианта и сразу выбирать его (так называемое «экспертное» поведение). Кроме того, на скорость работы и число совершаемых ошибок влияют личные качества пользователей, например, возраст (см. [17]). Пользователи с отличающимся поведением описываются различными выражениями времени просмотра панели меню. При этом в силу линейности модели эти временные затраты могут быть усреднены по всей аудитории, и оптимальное в среднем для всей аудитории меню — это меню для пользователя с усредненными временными затратами. Далее везде подразумевается использование усредненных оценок параметров временных задержек. В следующих параграфах решается задача поиска оптимальной структуры меню для классических моделей поведения пользователей и рассматриваются практически важные усложнения модели.

4.2. Исчерпывающий поиск

Стратегия исчерпывающего поиска (exhaustive search [21]) подразумевает, что пользователь сначала просматривает все варианты на панели меню и только после этого совершает выбор. Считается, что пользователь не совершает ошибок в выборе вариантов. В этом случае время выбора варианта на панели не зависит от расположения этого варианта и, соответственно, равно среднему времени нахождения пользователя в панели меню

t(k) = tresp + hoadk + treadk + W

где tresp — время ответа сервера, 11оай — время загрузки одного пункта меню, tread — время прочтения и восприятия одного пункта меню, tcUck — время, требуемое на совершение выбора.

Оптимальные параметры однородного дерева (число вариантов k и пропорция y1, ..., yk) доставляют минимум функции (3), что с учетом выражения (б) эквивалентно минимизации функции

— (tresp + tloadk + t click) + treadk k .

X Уі ln Уі

l = 1

Легко проверить, что при любом фиксированном k оптимальна симметричная иерархия, т. е. yi = І/k, i = І, ..., k. Поэтому оптимальное число вариантов k в каждой панели меню находится в результате оптимизации по всем k = 2, 3, ... функции

[(tresp + tloadk + tclick) + treadk]/lnk'

Пример 1. Рассмотрим параметры, типичные для Интернет-каталогов: tresp = 2 с, tload = 0,02 с, tKad = 1 с, {сНск = 1 с- Подставляя эти значения в функцию (7) и проводя численную оптимизацию, получим, что в оптимальном меню каждая панель должна содержать к =5 вариантов- При этом варианты на панели меню должны иметь равные популярности. ♦

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

4.3. Последовательный поиск

Стратегия последовательного поиска (sequential search [21]) предполагает, что пользователь просматривает варианты на панели меню в определенной последовательности и совершает выбор как только встречает нужный вариант, не просматривая остальные варианты. При такой модели поведения время на выбор варианта в панели меню зависит от порядкового номера этого варианта. Среднее время, проведенное пользователем в панели меню, определяется усреднением по всем вариантам с учетом их относительных популярностей:

*01 ..., yk) = tresp + tloadk + tr

read

X iyi + tclick.

Обозначим A(k) = (? + tloadk + tclick)/tread, ТОгда

'resp load click'' read’

среднее время, проведенное в панели меню,

Г k

*01 ..., yk) = *read А(k) + X г'У

Время поиска в наилучшей однородной иерархии определяется минимизацией функции (3), что с учетом выражения (9) эквивалентно минимизации функции

А (k) + X іУі

— t

l = 1

read k

X у ln у

i = 1

по всем к и пропорциям y1, ..., yk.

При фиксированном к из условий первого порядка видим, что оптимальная пропорция удовлетворяет условию y. = a(k)A(k) + ', i = 1, ..., к, где

k

a(k) — решение уравнения X aA(k+1 = 1. При под-

i = 1

становке оптимальной пропорции в функции (10) получим выражение для оптимального числа вариантов к в панели меню:

k = arg min 1/ln(1/a(k:')).

k' = 2, 3,...

l = 1

Пример 2. Для типичных параметров меню, приведенных в примере 1, подстановкой в формулу (11) получим, что при последовательной стратегии оптимальна более широкая иерархия с числом вариантов к = 13. Популярности вариантов в оптимальном однородном дереве распределены в пропорции у1 я 0,27, у2 я 0,20, у3 я 0,15, ..., у13 я 0,007, т. е. на первый из 13 просматриваемых пользователем вариантов должно приходиться больше четверти популярности, в то время как на последний — меньше 0,01. Среднее время (3) одной сессии пользователя для набора элементов N примерно

равно 3,25 £ р.^^прХм'). ♦

w е N

Таким образом, при последовательном чтении пользователем вариантов в панели меню самые популярные элементы или категории следует размещать в начале, причем популярность вариантов убывает в геометрической прогрессии. В статье [8] результаты исчерпывающего поиска были обобщены и на последовательную стратегию, т. е. в качестве решения было предложено симметричное меню (с отличными от первой стратегии параметрами). Как показано в настоящем параграфе, это неоптимально. Так, для параметров, использованных в примерах 1 и 2, выигрыш оптимального асимметричного меню по сравнению со структурой, предложенной в статье [8], составляет более 11 %. Заметим, что асимметричные меню практи-

k

k

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

Аналогично можно вычислить параметры оптимального меню и для более сложных стратегий поиска и типов меню (например, двухуровневых меню, см. рис. 2).

4.4. Учет ошибок пользователя

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

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

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

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

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

* mistake = *resp + *loadк + *readj + * click

а при исчерпывающем поиске эти потери не зависят от выбираемого варианта:

* mistake = *resp + *loadк + *readk + * click.

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

* recover *resp + *loadksub + *read ksub + * click

где ksub — число вариантов в ошибочной панели меню.

Пусть пользователь может совершить ошибку в панели меню с вероятностью p. При этом вероятность ошибочного выбора категории i равна pyr Содержательно это означает, чем популярнее категория, тем выше вероятность выбрать по ошибке ее. Тогда вероятность того, что за время сессии пользователь ошибочно попадет в категорию s, равна pks. Таким образом, к среднему времени пребывания в панели добавляется время, связанное с тем, что пользователь может совершить ошибку, и время на то, что пользователь может ошибочно попасть в панель и будет вынужден просмотреть ее всю и выйти обратно. В сумме это определяет добавку к среднему времени нахождения пользователя в панели s в размере

k

KsР*recover + Ks X yip*mistake . i = 1

Если пользователи придерживаются стратегии исчерпывающего поиска, то время (13) на совершение ошибки и время (14) на возврат корректному состоянию из текущей панели меню равны времени совершения любого выбора в этой панели меню, определяемому выражением (6). Таким образом, с учетом вероятности ошибки среднее время, проведенное пользователем в панели меню при исчерпывающем поиске,

*s

При подстановке времени (15) в выражение для среднего времени (3) поиска в меню легко видеть, что время растет линейно при увеличении вероятности ошибки, но точка минимума не зависит от p. Другими словами, при исчерпывающем поиске вероятность ошибок пользователя не влияет на структуру оптимального меню.

В случае, когда пользователи придерживаются стратегии последовательного поиска, добавим ко

времени (8) дополнительное время (12) и (14) с учетом вероятности ошибки и после преобразования получим, что среднее время, проведенное пользователем в панели меню,

^Ур ..., Ук) = (1 + 2Р)(^,™ + 4>а/ + {сИск) +

k

+ P*readk + (1 + Р) *read X i = 1

Аналогично, как и в п. 4.3, введем обозначение

(1 + 2р)( {геэр + 11оа<1к + tclick) + ^геаёк =

B(k) =

1 + р ' 1 + р

и перепишем время (16) в виде

( к

( 1 + Р) tread

= f 1 + rP->) A(k) + -г— k

..., yk) = (1 + PH

read

B(k) + X iy,

i = 1

Тогда при минимизации (3) из условий первого порядка получим, что оптимальная пропорция удовлетворяет условию у. = Ь(к)В(к + i, / = 1, ..., к,

к

где Ь(к) — решение уравнения £ Ь(к)В(к) + 1 = 1.

1 = 1

Оптимальное число вариантов в меню определяется минимизацией по всем к' = 2, 3, ... функции 1/1п(1/Ь(к')).

Пример 3. Пусть пользователь совершает ошибку в панели меню с вероятностью р = 0,2. Тогда для параметров меню, использованных ранее в примерах 1 и 2, оптимально меню с числом вариантов к = 8 в каждой панели меню. При этом пропорция для популярностей подкатегорий у1 я 0,25, у2 я 0,19, у3 я 0,15, ..., у8 я 0,05. Сравнивая с примером 2, видим, что учет вероятности ошибки пользователя приводит к применению более узких меню, позволяющих быстрее просмотреть ошибочное меню и вернуться к корректному состоянию. ♦

5. УЧЕТ СЕМАНТИЧЕСКИХ АСПЕКТОВ ПРИ ПОСТРОЕНИИ МЕНЮ

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

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

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

На основе алгоритмов [24] для задачи с семантическими ограничениями легко построить алгоритм для нахождения субоптимального дерева, состоящего только из осмысленных категорий. Этот алгоритм предполагает существование классификации элементов по нескольким критериям или наличие некоторой функции для определения семантической близости элементов. Однако на сегодня в большинстве случаев построение меню не может быть полностью осуществлено автоматически, и для разработчика проверка осмысленнос-

2П 1 ч

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

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

Рассмотрим меню отправки и приема сообщений мобильного телефона «КоИа 7510». На рис. 4, а приведена сокращенная структура оригинального меню. Популярности команд и категорий, приведенные на рисунке, основаны на анализе использования телефона и статистических исследованиях [3, 5]. Заметим, что структура меню сильно неоднородна: на верхнем уровне предлагается 14 вариантов, в то время как на втором уровне пользователь выбирает всего из 2—5 вариантов (последующие уровни опущены на иллюстрации). Значит, как показано в § 4, эту структуру возможно оптимизировать. Направление оптимизации определяется конкретными параметрами рассматриваемого меню.

Из экспериментов можно выяснить средние временные параметры: время переключения в новую панель меню не зависит от числа вариантов в меню и равно 1гезр) я 1 с, среднее время чтения одного пункта {геай я 1 с (включает в себя время перелистывания пун-

Create message Message0

0.023

3

Templates001

Voice notes

upl;

_oi*

Inbox E-mail0 ”...

Instant Messaging0 02 AIM0 005 ICQ0005

Windows Live™ Messenger0 005 Yahoo! Messenger0 005 Drafts004 Outbox003 Sent items0 08 Saved items003 Saved messages0 02 Templates00 Voice mail0 0’

Listen to voice mails0 045 Voice mailbox no.0 0005 Delivery reports0 03 Serv. commands0 007 Delete messages003...

Message settings General setting Text messages'

Create message Inbox0JS Folders015 Sent items0 08 Drafts004 Outbox003 Settings & Maintenance0 08 Delete messages0,03...

Message log0 2...

General settings001...

Picture messages settings000 .. Text messages settings0005... Service messages settings0 003. Voice mail0 07

Listen to voice mails0 045 New voice note0 025 Voice mailbox no.0 0005 Email & IM E-mail0 02...

AIM0005 ICQ0 005

Windows Live™ Messenger0 0 Yahoo! Messenger0005 Saved items0 04

Saved messages0 02

j.or

Picture messages Service messages0 Message log0 02...

Templates

Create template Delivery reports0 03 Serv. commands000

Рис. 4. Оригинальная (а) и оптимизированная (б) структуры меню мобильного телефона

ктов меню на экране), время нажатия на кнопку выбора {спск я 0,5 с. Будем считать, что пользователи придерживаются стратегии последовательного поиска (неудобство средств управления очень ограничивает поведение пользователя) и с вероятностью р = 0,05 могут совершить ошибку в панели меню. Тогда среднее время пребывания пользователя в панели меню выражается формулой (16). Для принятых параметров численный расчет показывает, что среднее время одной пользовательской сессии в оригинальном меню составляет Тя 8,36 с.

Согласно результатам п. 4.3 оптимальное меню содержит к = 8 вариантов в каждой панели меню, а оптимальная пропорция для популярностей у я (0,33, 0,23, 0,16, 0,11, 0,07, 0,05, 0,03, 0,02), т. е. структура оптимального меню сильно асимметрична. Теоретический минимум среднего времени доступа для рассматриваемого набора команд 6,74 с.

Однако построить оптимальное дерево невозможно в силу содержательных ограничений (команды меню нельзя организовать произвольным образом) и дискретности задачи. Используя алгоритмы построения су-боптимальных деревьев [24] и учитывая содержательные ограничения, команды меню могут быть реорганизованы в структуру, приведенную на рис. 4, б. Численный расчет показывает, что среднее время пребывания пользователя в таком меню составляет примерно 7,22 с. Таким образом, изменение структуры меню согласно вычисленным оптимальным параметрам увеличивает скорость доступа к командам в среднем на 13,5 %. Срав-

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

6. АВТОМАТИЗАЦИЯ ПОСТРОЕНИЯ МЕНЮ

На основе рассуждений, приведенных в § 5, можно предложить алгоритм для автоматизации процесса построения меню, опираясь на представленную теорию. Опишем основные шаги при проектировании структуры меню с применением САПР.

Шаг 1. Разработчик загружает в систему набор элементов N с их популярностями (полученными из экспериментов или основанных на экспертных оценках). Эти элементы в конечном итоге будут размещены в меню.

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

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

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

Шаг 5. Разработчик разбивает множество элементов N на осмысленные категории 51, ..., sk,, стремясь при этом приблизиться к оптимальному числу категорий и распределению популярностей для них. Система направляет разработчика, вычисляя качество текущего разбиения, например, по формуле

c

Шаг 6. После того как получено приемлемое разбиение, процедура повторяется внутри каждой категории, и так далее до уровня, на котором останутся лишь отдельные элементы. Система при этом рассчитывает отклонение среднего времени пользовательской сессии от теоретически оптимального значения.

Шаг 7. При необходимости разработчик вручную улучшает полученную структуру, модифицируя категории с худшими оценками качества (17).

Процесс разбиения элементов на категории также может быть автоматизирован, если существует классификация элементов множества N (на-

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

ЗАКЛЮЧЕНИЕ

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

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

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

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

ЛИТЕРАТУРА

1. Пархоменко П.П. Вопросники и организационные иерархии // Автоматика и телемеханика. — 2010. — № 6 (в печати).

2. Norman K.L. The Psychology of Menu Selection: Designing Cognitive Control at the Human/Computer Interface. — Norwood, N.J.: Ablex Publishing Corporation, 1991. — 368 p.

3. Thimbleby H. Analysis and Simulation of User Interfaces // Proc. BCS Human Computer Interaction. — 2000. — P. 221—237.

4. Thimbleby H. Press On: Principles of Interaction Programming. — The MIT Press, 2007. — 528 p.

5. Andersson E, Isaksson I.-M. Exploring alternatives to the hierarchical menu structure used in mobile phones. — Umea, 2007. — 70 p.

6. Landauer T.K., Nachbar D.W. Selection from alphabetic and numeric menu trees using a touch screen: depth, breadth and width // Proc. of the SIGCHI conf. on Human Factors in Computing Systems. — 1985. — P. 73—78.

7. Miller D.P. The depth/breadth tradeoff in hierarchical computer menus // Proc. of the Human Factors Society’s 25th Annual Meeting. — 1981. — P. 296—300.

8. Lee E., MacGregor J. Minimizing User Search Time in Menu Retrieval Systems // Human Factors. — 1985. — Vol. 27, N 2. — P. 157—162.

9. Snowberry K., Parkinson S., Sisson N. Computer display menus // Ergonomics. — 1983. — Vol. 26. — P. 699—712.

10. Paap K.R., Roske-Hofstrand R.J. The Optimal Number of Menu Options per Panel // Human Factors. — 1986. — Vol. 28, N 4. — P. 377—385.

11. Cockburn A., Gutwin C., Greenberg S.A. Predictive Model of Menu Performance // Proc. ACM CHI'07. — 2007. — P. 627—636.

12. Sears A., Shneiderman B. Split menus: Effectively using selection frequency to organize menus // ACM ToCHI. — 2004. — Vol. 1, N 1. — P. 27—51.

13. Shneiderman B. Software Psychology: Human Factors in Computer and Information Systems. — Cambridge, Mass.: Win-throp Publishers, 1980. — 320 p.

14. Kiger J.I. The depth/breadth tradeoff in the design of menu-driven interfaces // International Journal of Man-Machine Studies. — 1984. — Vol. 20. — P. 201—213.

15. Jacko J.A., Salvendy G. Hierarchical menu design: breadth, depth, and task complexity // Perceptual and Motor Skills. — 1996. — Vol. 82. — P. 1187—1201.

16. Larson K., Czerwinski M. Web page design: Implications of memory, structure and scent from information retrieval // Proc. of the Association for Computing Machinery's CHI'98. — 1998. — P. 18 — 23.

17. Zaphiris P. Depth vs. breadth in the arrangement of web links // Proc. of the 44th Annual Meeting of the Human Factors and Ergonomics Society. — 2000. — P. 139—144.

18. Norman K.L., Chin J.P. The effect of tree structure on search in a hierarchical menu selection system // Behaviour and Information Technology. — 1988. — Vol. 7. — P. 51—65.

19. Bernard M.L. Examining a metric for predicting the accessibility of information within hypertext structures / Ph.D. thesis. — Wichita State University, 2002.

20. Roberts T.L., Engelbeck G. The Effects of Device Technology on the Usability of Advanced Telephone Functions // International Conference on Human Factors in Computing Systems CHI. — 1989. — P. 331—338.

21. Hollink V, Van Someren M, Wielinga B. Navigation behavior models for link structure optimization // User Modeling and User-Adapted Interaction. — 2007. — Vol. 17, N 4. — P. 339—377.

22. Воронин А.А., Мишин С.П. Оптимальные иерархические структуры. — М.: ИПУ РАН, 2003. — 214 с.

23. Губко М.В. Математические модели оптимизации иерархических структур. — М.: ЛЕНАНД, 2006. — 264 с.

24. Губко М.В. Алгоритмы построения субоптимальных организационных иерархий // Автоматика и телемеханика. — 2009. — №1. — С. 162—179.

25. Mehlenbacher B., Duffy T.M, Palmer J. Finding information on a menu: Linking menu organization to the user’s goals // Journal of Human-Computer Interaction. — 1989. — Vol. 4. — P. 231—251.

Статья представлена к публикации членом редколлегии чл.-корр. РАНД.А. Новиковым.

Губко Михаил Владимирович — канд. техн. наук,

ст. науч. сотрудник, S (495) 334-90-51, И mgoubko@mail.ru,

Даниленко Александр Игоревич — вед. инженер, аспирант,

(495) 334-90-51, И danilenko.alexander@gmail.com,

Институт проблем управления им. В.А. Трапезникова РАН, г. Москва.