СПОСОБ ОПТИМИЗАЦИИ АЛГОРИТМА УПРАВЛЕНИЯ КОНКРЕТНЫМ ОБЪЕКТОМ И/ИЛИ ПРОЦЕССОМ
METHOD OF OPTIMISING ALGORITHM OF CONTROL OVER PARTICULAR OBJECT AND/OR PROCESS

Объяснение изобретения
Настоящее изобретение относится к области автоматизированных устройств и средств управления, реализуемых на основе компьютеров.
Известные в настоящее время аппаратные средства позволяют решать, конкретные, например, экономические задачи довольно больших размеров. Однако возможны недостатки при работе аппаратных средств, обусловленные тем, что решение конкретных задач больших размеров, при Подходе Всеобщности, который не принимает во внимание структуру и/или (в самом простом случае) статистику, будет расточительным для управляемой системы. Таким образом, крайне важно, выявить структуру и/или проанализировать статистические данные (в дальнейшем - «структуру») для конкретного объекта и/или процесса, в отношении которых необходима выработка алгоритма управления, что позволит значительно упростить дальнейшее использование этого алгоритма.
Сущность изобретения
Настоящее изобретение предлагает способ построения алгоритма управления компьютерной системой или автоматизированными устройствами, который обеспечит оптимизацию управления и, следовательно, затрат при работе объекта и/или осуществления процесса и соответствующую выгоду для конечных пользователей.
Краткое описание рисунков
Рис.1А и 1В: Матрица и соответствующий ей граф непосредственных связей конкретной, например, экономической системы, в которой все элементы взаимосвязаны.
Рис.2А и 2В: Матрица и соответствующий ей граф непосредственных связей конкретной, например, экономической системы, в которой внутренние связи подсистем отсутствуют, так же как и связь с центром.
Рис.3А и 3В: Матрица и соответствующий ей граф непосредственных связей конкретной, например, экономической системы, в которой внутренние связи подсистем отсутствуют, однако некоторые подсистемы имеют связь с центром.
Рис.4А и 4В: Матрица и соответствующий ей граф непосредственных связей конкретной, например, экономической системы, в которой внутренние связи подсистем существуют, так же как и связь их с центром.
Детальное описание изобретения
ij
ij
ij
ij
В общем случае любой конкретный объект и/или процесс материального мира, например экономическую систему, включающую N элементов можно описать (то есть построить модель объекта и/или процесса) как квадратную матрицу размера N×N, где каждый ее элемент а представляет наличие (a=1) или отсутствие (a=0) взаимосвязи элемента i и j. Фиксируя наличие или отсутствие связи между элементами, можно представить систему элементов с их взаимосвязями в виде графа, каждая вершина которого представляет собой элемент системы, а дуга между вершинами представляет наличие связи между ними. Используемый в настоящее время Подход Всеобщности предполагает, что все элементы системы взаимосвязаны, то есть каждый а=1 (Рис.1А). При таком подходе анализ системы достаточно сложен, потому что рассматривается большая матрица с беспорядочным расположением нолей и единиц. В итоге структура системы не может быть выявлена.
Однако, после некоторой обработки матрицы путем одновременной перестановки строк и столбцов, структура может быть легко выявлена путем упорядочения нулей и единиц. Для этой цели мы должны перенумеровать элементы матрицы и тогда станет очевидным, какие элементы имеют много связей и которые имеют лишь несколько. Примеры матриц и соответствующих им графов после упорядочения и перенумерации элементов системы приведены на рис.3 и 4. Поступая таким образом, мы сокращаем исходную матрицу до размера, который является минимальным, но достаточным, чтобы полностью описать рассматриваемую систему. Верхние строки матрицы на рис.4 представляют собой взаимосвязи с центром, куда стянуты элементы с максимальным числом связей, диагональные блоки последовательно взаимосвязаны друг с другом, остальные элементы равны 0. При этом матрицы на рис.2 и 3 можно считать частными случаями матрицы, изображенной на рис.4. И, следовательно, модель любого конкретного объекта и/или процесса материального мира, например конкретной экономической системы, может быть представлена в виде матрицы, аналогичной матрице на рис.4.
При этом возможность отображения моделей объектов и/или процессов различного характера в виде матриц доказана и описана в научной литературе:
описано моделирование статистических (вероятностных) систем Ю.Н.Гаврилец (Gavrilets Y. N.) «The Structure of Multidimensional Random Variables and its Utilization in Social Research. Quantitative Sociology, International Perspectives on Mathematical and Statistical Modeling», 1975, ACADEMIC PRESS INC., New York - San Francisco - London;
описана возможность анализа структуры детерминированных систем
Гаврилец Ю.Н. (Gavrilets Y.N.) «Социально-экономическое планирование. Системы и модели», Москва, «Экономика», 1974,
Харчук (Дайер) Л.В. «Структура множеств и способы ее использования в конкретных задачах планирования», Сборник «Модели и методы исследования социально-экономических процессов», Центральный экономико-математический институт Академии Наук СССР, Москва, 1975.
В перечисленных публикациях показано, что непосредственные связи между элементами сложной системы, содержащей большое количество элементов, определяются главным образом внутренними связями некоторого числа ее подсистем существенно меньшей размерности и их связями с центром. Другими словами, если известно, что матрица, отображающая модель системы, имеет большое количество нулей, что характерно для конкретных (например, экономических) объектов и процессов, то ее элементы можно реорганизовать в определенный порядок, тем самым сократив размеры матрицы. То есть при разработке алгоритмов управления для объектов и/или процессов оптимальным способом является использование структуры и/или анализ статистических данных систем, описывающих эти объекты и/или процессы, а не управление ими на основе более широкого Подхода Всеобщности.
Таким образом, анализ структуры модели конкретного объекта и/или процесса позволяет значительно упростить разработку алгоритма и сократить размеры системы для любого заданного критерия. Следовательно, для решения конкретных практических задач требуется гораздо меньше информации для разработки алгоритма, написания компьютерной программы, выполнения программы, ввода данных, эксплуатации программы и вывода данных. В свою очередь, если заранее не будет проведено исследование структуры объекта и/или процессов, полученная модель объекта и/или процесса в виде матрицы будет включать значительное число элементов, равное нулю, использование такой матрицы приведет к неудобству ввода данных, снизит скорость обработки информации, усложнит анализ выходной информации и принятие итогового решения. Если же при разработке алгоритма управления объектом и/или процессом будет принята во внимание структура объекта и/или процесса, то становится возможной оптимизация программного обеспечения, а не просто использование малоэффективного Подхода Всеобщности, как было указано выше.
Использование предложенного в настоящем изобретении структурного анализа объекта и/или процесса может быть предложено в приведенных ниже примерах (а-f) из различных областей техники, в которых в настоящее время применение подобных способов неизвестно.
а) Заказ от торгового предприятия к банку на доставку бумажных купюр и монет нужного номинала для выдачи сдачи в подавляющем большинстве случаев однотипен и постоянно используется одним и тем же магазином при запросе необходимых купюр и монет на требуемую сумму. Список достоинств купюр и монет валюты США в таком требовании выглядит следующим образом: Pennies, Nickels, Dimes, Quarters, Half Dollars, Silver Dollars, Ones, Fives, Tens, Twenties. Монеты «Half Dollars» и «Silver Dollars» практически никогда не используются в реальных запросах, что приводит к потере времени специалиста, отвлекающегося на неиспользуемые наименования, чтобы добраться до следующих за ними наименований денежных единиц. Даже в крупных американских банках (например, «Wells Fargo» при конкретном телефонном автоматизированном заказе купюр клиенты банка должны пройтись через номинал купюры в два доллара, пользуясь списком: «Однодолларовые купюры»; «Двухдолларовые Купюры»; «Пятидолларовые Купюры»; «Десятидолларовые Купюры» и т.д., нажимая каждый раз определенную клавишу, чтобы отказаться от двухдолларовых купюр. Кроме потери времени клиентов игнорирование анализа статистики при программировании автоматизированного заказа вызывает установление и, как следствие, увеличение средств на оплату дополнительных телефонных линий в банках (путь решения этой проблемы приведен в примере оптимизации алгоритма I ниже по тексту описания).
b) Печать финансовых и хозяйственных отчетов осуществляется без учета того факта, что значительное число выходных параметров равно нулю, а иногда даже целые строки или столбцы документации имеют нулевые значения. Простое исключение нулевых значений, в особенности всех нулевых строк и столбцов, из отчета позволит не только продлить срок использования картриджа для принтеров, добиться экономии по поставке, закупке и хранению бумаги, хранению избыточных страниц отчетов и по истечении сроков хранения безопасного уничтожения этих страниц отчетов, а также уменьшить износ принтеров, но и значительно упростит анализ выходных данных. Например, большинство крупных магазинов и супермаркетов требуют типовой отчет под названием «Отчет по Превышению/Недостаче Кассы». Такой отчет, например за первый день месяца содержит 11 ненулевых строк и 24 нулевые строки, 61 ненулевой столбец и 25 нулевых столбцов. Используя предложенный способ простой перестановкой элементов матрицы можно добиться пятикратного сокращения использования бумаги для ежедневного вывода информации. Также в качестве примера может быть приведен «Отчет по операциям с банковскими картами», для которого матрица, отображающая информацию о снятии денег со счетов во время проведения операций по покупке товаров в магазине содержит всего 1% ненулевых значений. При этом используемый в настоящее время Подход Всеобщности к выводу информации, не принимающий во внимание структуру матрицы этих данных, приводит к расточительной печати 99% информации с нулями (путь решения этой проблемы приведен в примере оптимизации алгоритма II ниже по тексту описания).
c) Для разработки оптимального алгоритма операций по денежной кассе торгового предприятия необходимо принимать во внимание существующую статистику наличных и безналичных операций, согласно которой в США 50% сделок не включают наличные денежные средства и, соответственно, в течение 50% рабочего времени касса открывается, когда в этом нет необходимости. Кроме того, очевидно, с увеличением объемов перевода заработной платы на дебетовые банковские карты число безналичных операций в магазинах возрастет еще больше. Следовательно, операции по денежным кассам в магазинах могут быть автоматизированы так, что кассовый аппарат открывался бы только при наличных расчетах с покупателями - выгоды в сокращении времени обслуживания покупателей, повышения безопасности кассы и эффективности работы отдела по предотвращению потерь в магазине очевидны (путь решения этой проблемы приведен в примере оптимизации алгоритма IIIa ниже по тексту описания).
d) При контроле ввода данных в компьютер в специальном формате, например с использованием графического пользовательского интерфейса, в случае обнаружения ошибки в одном из полей, после того как данные были введены в компьютер для обработки, курсор должен быть расположен на поле с ошибочным значением, так как очевидно, что следующее действие пользователя будет заключаться в том, чтобы исправить запись в этом поле, а не на первом поле (путь решения этой проблемы приведен в примере оптимизации алгоритма IIIb ниже по тексту описания).
e) При использовании графического пользовательского интерфейса персонального компьютера или мобильного терминала связи используют в зависимости от удобства разработчика случайный или алфавитный порядок расположения функций интерфейса. Например, список «My Favorites» на www.yahoo.com сортируется в алфавитном порядке, что далеко от реальных предпочтений пользователя, которые могут быть легко получены из статистики частот выбора для конкретных функций пользовательского интерфейса (путь решения этой проблемы приведен в примере оптимизации алгоритма IVa ниже по тексту описания).
f) Для существующих в настоящее время графических пользовательских интерфейсов персональных компьютеров или мобильных терминалов связи характерно случайное расположение курсора или выделенной позиции выбора для следующего шага или же полное отсутствие таковых. Например, когда пользователь щелкает правой кнопкой мыши на документ Microsoft Word - открывающееся меню содержит несколько операций, но без упрощения выбора наиболее часто используемой операции, например «Open» (путь решения этой проблемы приведен в примере оптимизации алгоритма IVb ниже по тексту описания).
В целом следует отметить, что используемый в настоящее время Подход Всеобщности, не учитывающий структуру и/или статистические данные, не обеспечивает качественное построение моделей объекта и/или процесса даже в простейших случаях: обработки данных с одним элементом; обработки матрицы, состоящей из одной строки с элементами, отсортированными в определенном порядке, например отображающими частоту функции, используемую пользователем; обработки данных, состоящих исключительно из одномерных статистических величин. В свою очередь, анализ конкретных объектов и/или процессов показывает эффективность предложенного способа оптимизации алгоритма. Для приведенного примера со случайным расположением курсора Подход Всеобщности - отказ от анализа структуры объекта и/или процесса - устанавливает курсор в любом произвольном положении, хотя даже простой вопрос "Почему случайно?" приведет к пересмотру и нахождению решения об установке курсора на наиболее часто используемой функции, а значит, сэкономит время пользователя. В случае с открытием кассового аппарата только в конце расчета наличными с покупателем за покупку результатом отказа от Подхода Всеобщности будет экономия времени и электроэнергии, а также дополнительная безопасность при работе с наличными и пр.
Действия по оптимизации алгоритма управления конкретным объектом и/или процессом помимо выявления структуры объекта и/или процесса до определения алгоритма управления могут включать накопление статистики и определение структуры на стадии анализа прототипа или тестирования. Для практического осуществления предложенного способа также возможно использование встроенного программируемого модуля динамической оптимизации, разработанного для автоматической корректировки установок/опций программного обеспечения, описывающего разработанный алгоритм на основании данных, накопленных в процессе фактической эксплуатации программы. Другими словами, выявление или использование наилучшим образом структуры поставленной задачи, приводящее к оптимизации алгоритма управления объектом и/или процессом, обеспечения, возможно, в течение всего жизненного цикла алгоритма управления, в том числе описанного средствами компьютерных программ.
Ниже приведено несколько примеров оптимизации алгоритмов управления на некоторых различных этапах его разработки.
I. На стадии первоначальной разработки проектных решений системные разработчики взаимодействуют с конечными пользователями для определения/сбора требований системы для того, чтобы выявить структуру задачи управления объектом и/или процессом.
II. На стадии непосредственной разработки алгоритма системные разработчики разрабатывают алгоритм, необходимые для осуществления алгоритма компоненты программного обеспечения, усовершенствуют его на основе фактических данных/статистики, которые были либо собраны и предоставлены конечными пользователями, либо собраны разработчиками в результате тестирования прототипа конечного продукта. Следует отметить, что для наилучшего выявления или использования структуры поставленной задачи управления объектом и/или процессом используются данные/статистика, накопленные в реальном времени.
III. На стадии обеспечения качества/тестирования и отладки разработанный алгоритм и необходимые компоненты программного обеспечения подвергаются дальнейшему усовершенствованию на основе результатов его тестирования на стадии обеспечения качества с целью определения или использования наилучшим образом структуры поставленной задачи, при этом возможны ситуации, в которых
а) конечные пользователи тестируют управление объектом и/или процессом согласно алгоритму и предоставляют разработчикам свои комментарии и пожелания;
b) составитель технической документации при составлении руководства по эксплуатации алгоритма управления, который будет подвергнут тестированию, обозначает флажками определенные места в документации, для того чтобы поставить пользователей в известность о возможности изменения тех или иных опций, в процессе тестирования конечные пользователи уделяют особое внимание таким местам в документации и предоставляют разработчикам свои комментарии и пожелания.
IV. На стадии ввода в действие разработанного алгоритма управления, возможно:
а) использование встроенного модуля оптимизации, созданного для автоматической корректировки установок, опций и/или последовательностей алгоритма, реализованного в том числе с использованием компонентов программного обеспечения на основании данных, накапливаемых в процессе практического использования алгоритма управления, алгоритм корректируется динамически в процессе его эксплуатации;
b) в дополнение к встроенному модулю оптимизации, конечным пользователям предоставляется возможность вручную модифицировать некоторые опции и/или настройки разработанного и введенного в обеспечение алгоритма, посредством выделенного для этих целей интерфейса.
В заключение следует еще раз подчеркнуть, что при разработке алгоритма управления конкретным объектом и/или процессом необходимо изучение этого объекта и/или процесса для возможности использования структуры при обосновании путей оптимизации алгоритма. Было доказано, что подобный подход всегда приносит положительные результаты. Такой же подход необходим также при разработке алгоритмов отдельных этапов управления объектом и/или процессом, и, очевидно, что упрощение конкретной задачи на основе использования ее структуры должно быть соизмеримо с выгодами от такого упрощения. Важно отметить, что предложенный подход, заключающийся в использования структуры/статистики, может быть применен не только к экономическим задачам, но и к другим проблемам. В то время как выше описанное изобретение позволяет специалистам сделать и использовать то, что считается в настоящее время лучшим, эти специалисты поймут и оценят наличие вариаций, сочетаний, эквивалентов конкретного воплощения, метода и примеров, описанных выше. Изобретение поэтому должно быть ограничено не только вышеописанными вариантами, методами и примерами, а также всеми вариантами и методами в рамках и духе изобретения.