Cтраница 3
Ясно также, что существует алгоритм, который распознает все законные процедуры, имеющие лишь одну входную переменную; только они нас и интересуют. Если бы мы соединили этот последний алгоритм с алгоритмом порождения всех возможных конечных последовательностей, составленных из основных литер, то мы получили бы алгоритм, порождающий список всех процедур на этом языке, имеющих точно одну входную переменную. Такой список задает нумерацию этих процедур, эффективную в следующем смысле. Предположим, что Рп является n - й процедурой в этом списке. [31]
Для задачи с 25 городами найденный Хелдом и Карпом [94] оптимальный план был получен при помощи алгоритма III в 1 7 % всех просчетов, при помощи алгоритма IV ( 5) - - в 28 % всех просчетов и при помощи алгоритма IV ( 12) - в 44 % всех просчетов. Среднее время одного просчета для последнего алгоритма равнялось 1 мин. [32]
Практически при усложнении алгоритма компромисса с соответствующим увеличением числа условий его выполнения и повышением структурной сложности элемент обязательности выполнения соглашения усиливается, т.к. свойство устойчивости с предостережением существенно дополняется обязательным договорным элементом. Данная динамика имеет место в последних алгоритмах поиска СТЭК. [33]
Эти алгоритмы в свою очередь являются результатами развития алгоритмов сложения, вычитания, умножения и деления натуральных чисел. Не очень бросается в глаза, что последние алгоритмы тоже составные, поскольку построены из более простых. А между тем каждый помнит тот неприятный период своей учебы, когда ему приходилось осваивать один из таких простых алгоритмов: вызубривать таблицу умножения. При этом школьник учился выполнять алгоритм выбора из таблицы умножения произведения по заданным двум положительным целым сомножителям, каждый из которых не превосходит десяти. [34]
Ядра такого типа называются субстохастическими. Они появляются, когда в основе задачи лежит марковская цепь, например цепь столкновений частицы с веществом. Последний алгоритм представляет собой прямое моделирование этой цепи. Дисперсии оценок прямого моделирования всегда конечны, так как в этом случае / f - Однако весьма часто они бывают настолько большими, что результат невозможно получить с удовлетворительной точностью даже на самых быстродействующих ЭВМ. Поэтому большое значение имеют различные модификации прямого моделирования, основанные на рассмотрении соответствующего интегрального уравнения. [35]
Все расчеты проводятся в темпе технологического процесса. В АСУ ТЭС вычисляются фактические и нормативные технико-экономические показатели, а также перерасход ( экономия) топлива и показатели технико-экономического анализа работы и состояния котельной и турбинной установок. В последнем алгоритме ( анализ работы энергоблока) рассчитывается влияние отдельных параметров на изменение экономичности всего энергоблока. [36]
С чисто математической точки зрения различие между рассмотренным здесь алгоритмом и алгоритмом автоматического опознания образов по расстоянию между точками почти стирается. Однако с точки зрения теории автоматического опознания образов эти аналогичные по логической схеме алгоритмы оказываются далеко не эквивалентными. Ниже специально будут показаны достоинства последнего алгоритма, которые заключаются в том, что при использовании специального вида отображения сетчатки на пространство образов ( так называемая радиально-круговая развертка сетчатки) не требуется нормализации изображения по масштабу. При этом может сильно варьировать расстояние между точками в точечном многомерном фазовом пространстве, но совершенно не изменяется угол между векторами, так как одно и то же изображение при изменении масштаба отображается в виде коллинеарных векторов. [37]
![]() |
Переменные, используемые в алгоритме деления. [38] |
Приведенный выше алгоритм деления обычно называют алгоритмом деления с восстановлением остатка. Существует также алгоритм деления без восстановления остатка, в цикле деления которого отсутствует шаг сложения, обеспечивающий восстановление остатка. Благодаря большей скорости реализации при построении схем делителей используется обычно последний алгоритм. Однако в программах, написанных на языке ассемблера, алгоритм без восстановления остатка в лучшем случае позволяет лишь незначительно увеличить производительность по сравнению с алгоритмом с восстановлением остатка поэтому он рассматриваться не будет. [39]
В настоящее время не известно ни одного примера коммутативного кольца с трансфинитным алгоритмом, для которого не выполнялся бы обычный алгоритм деления. В отличие от этого в некоммутативном случае для каждого ординала т существует кольцо, для которого последовательность ( 1) обрывается на месте т ( ср. Более того, существуют такие же кольца с трансфинитным слабым алгоритмом; этот последний алгоритм в отличие от обычного слабого алгоритма не является лево-право симметричным, что весьма удобно при построении различных примеров несимметричных в нужном смысле колец. [40]
Первый алгоритм прост, он реализуется программой, состоящей из К операторов ввода данных с клавиатуры ( INPUT или LINPUT), но может быть использован лишь при малых значениях К. Для реализации второго алгоритма нужно использовать два оператора: оператор ввода и оператор, соответствующий команде ПЕРЕЙТИ К. Этот алгоритм также прост, но он не обеспечивает устойчивого решения, когда нужно вводить строго К чисел, так как машина не будет контролировать количество введенных чисел, а человеку свойственно ошибаться. Для реализации последнего алгоритма используются операторы цикла и оператор ввода. [41]
Выделим ту часть задач и функций АСУ, которая, с одной стороны, отличается специфичностью, а с другой, может рассматриваться как единое функциональное целое. Ядро содержит преимущественно алгоритмы решения задач по моделям, характерным для предприятий с непрерывными технологическими процессами, но в нем имеется также некоторое число алгоритмов обработки данных, благодаря которым сохраняется функциональная целостность ядра. По объему эти последние алгоритмы занимают лишь незначительное место в ядре АСУ предприятия с непрерывными технологическими процессами. [42]
![]() |
Фиксированные разделы памяти с отдельными входными очередями для каждого раздела ( а. фиксированные разделы памяти с одной очередью на вход ( б. [43] |
Небольшие задания должны ждать своей очереди, чтобы попасть в память, и это все несмотря на то, что свободна основная часть памяти. Альтернативная схема заключается в организации одной общей очереди для всех разделов, как показано на рис. 4.2, б: как только раздел освобождается, задачу, находящуюся ближе всего к началу очереди и подходящую для выполнения в этом разделе, можно загрузить в него и начать ее обработку. Поскольку нежелательно тратить большие разделы на маленькие задачи, существует другая стратегия. Она заключается в том, что каждый раз после освобождения раздела происходит поиск в очереди наибольшего из помещающихся в этом разделе заданий, и именно это задание выбирается для обработки. Заметим, что последний алгоритм дискриминирует мелкие задачи, как недостойные того, чтобы под них отводился целый раздел, хотя обычно крайне желательно предоставить для наименьших задач ( часто интерактивных) лучшее, а не худшее обслуживание. [44]
Рассмотрим способы выполнения перестановок элементов массива в соответствии с двоично-инверсным порядком следования. Поместим в регистр R. После m - кратного повторения таких сдвигов в R2 образуется двоично-инверсный номер. На рис. 8.12, б показана схема алгоритма выполнения перестановок для получения двоично-инверсного порядка следования элементов массива. Другой более быстрый алгоритм таких перестановок представлен на рис. 8.13. Предлагаем самостоятельно, задавшись значением N числа элементов в массиве, проследить выполняемые в последнем алгоритме операции и убедиться в том, что они действительно приводят к образованию двоично-инверсной последовательности элементов. [45]