1. Нормализованные числа и алгоритмы их преобразования


Вещественное число X может быть представлено в двух формах - естественной и нормализованной. В естественной форме у X имеется целая и дробная части, между которыми помещается разделитель (запятая или точка), например, 123,4567. Однако такая запись неудобна для слишком больших или, наоборот, слишком малых чисел. Кроме того, использование такой формы (она называется также "представление числа с фиксированной запятой") в компьютере вызвало бы снижение точности вычислений из-за необходимости приведения в соответствие разрядов обрабатываемых чисел и связанных с этим округлений или могло бы породить ситуацию, называемую переполнением, когда старший разряд числа не умещается в отведенной разрядной сетке. По указанным причинам вещественные числа в компьютере представляются в нормализованном виде (другое название - "представление числа с плавающей запятой"), главным достоинством которой является автоматическое масштабирование числа на каждом этапе обработки, что, с одной стороны, обеспечивает максимально возможную точность вычислений, а с другой - избавляет от необходимости принимать меры по предотвращению переполнения (за исключением достаточно экзотических ситуаций с выходом числа за отведенную разрядную сетку). По сути, это универсальная форма записи всех чисел, кроме определенных как "тип: целые" (например, Integer, Word или Byte в PASCAL'е).

Сначала познакомимся с необходимыми понятиями применительно к десятичной системе счисления.

Число X10 называется нормализованным, если оно представлено в виде

X10 = [+|-] M10· 10 [+|-] k10

В этой записи M10 называется мантиссой нормализованного числа; значения мантиссы лежат в интервале 0,1 M10<1.>10 называется порядком нормализованного числа - это целое положительное десятичное число. Примеры: - 123410 = - 0,1234·104; 0,0345610 = 0,3456·10-1.

Понятие нормализованного числа следует отличать от понятия числа в нормальной форме; данная форма достаточно часто используется при записи чисел в математике, физике, технических дисциплинах и отличается от нормализованного представления тем, что мантисса лежит в интервале 1M10<10,>Б=1,38·10-23.

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

Аналогично нормализации десятичного числа можно в нормализованной форме представить и число в произвольной системе счисления p:

Xp = [+|-] Mp · p [+|-] kp (12)

При этом значения мантиссы лежат в интервале p-1Mp<1>p). Например, для p = 2:

X2 = - 101,012 = - 0,101012 · 2112

Мантисса располагается в промежутке 0,12 M2<1,>10M10<1.>

Рис.1. Алгоритм нормализации

Подобно задаче о преобразовании целых и дробных чисел, можно поставить задачу о преобразовании представления числа в нормализованной форме в системе счисления p к нормализованному представлению в системе q. Практическое значение такого преобразование состоит в том, что, как было сказано, в компьютере все вещественные числа хранятся и обрабатываются в нормализованном двоичном представлении и, следовательно, при их вводе осуществляется перевод X10 X2, а при выводе - обратный перевод X2 X10. Однако прежде, чем обсуждать такой перевод, необходимо рассмотреть, как производится преобразование вещественного числа из естественной формы к нормализованному виду.

При нормализации различаются ситуации Xp>1 и Xp<>-1. В первом случае для нормализации необходимо перемещать разделитель разрядов влево по числу до тех пор, пока не исчезнет целая часть числа, но первая цифра после разделителя будет ненулевой; каждое перемещение разделителя на 1 разряд влево эквивалентно делению числа на p и, чтобы число не менялось, показатель должен возрастать на 1 при каждом сдвиге. Если обозначить эту операцию N (будем называть ее "нормализация влево"), то N [(123,45)10] = 0,1234510·103; N [(23,4·105)10] = 0,23410·107; N [(1212,2)3] = 0,121223·311. Аналогично можно ввести операцию "нормализация вправо" (N), обеспечивающая нормализацию чисел меньших p-1; очевидно, такие числа необходимо умножать на p с одновременным уменьшением показателя на 1 до тех пор, пока первая цифра после разделителя станет ненулевой. Например, N[(0,000101·2-101)2] = 0,101·2-1000; N[(0,000987)10] = 0,98710·10-3. Общий алгоритм нормализации можно изобразить в виде блок-схемы на рисунке 1.

При практической реализации данного алгоритма не следует забывать, что изменение значения kp на 1 должно производиться по правилам арифметики системы счисления p. В дальнейшем при необходимости проведения нормализации в ходе каких-либо преобразований будем просто ссылаться на приведенный алгоритм как готовый модуль.

Вернемся к задаче перевода нормализованного числа из одной системы счисления в другую. Пусть, имеется число Xp = [+|-]Mp · p [+|-]kp, для которого необходимо найти соответствующее ему Xq = [+|-] Mq · q [+|-]kq. Представляется достаточно очевидным, что преобразование не затронет знаков мантиссы и показателя степени. Таким образом, для осуществления преобразования необходимо установить соответствие между (Mp, kp) и (Mq, kq). Оно получается достаточно просто, исходя из того, что Xp = Xq, откуда следует:

(13)

Из (13) вытекает, что для осуществления преобразования можно Mp умножить на pkp, т.е. перейти к естественной форме числа в системе p, перевести его в систему q, а затем нормализовать. Однако в таком варианте действий теряется точность числа и возможно переполнение на промежуточных этапах преобразования. Во избежание этого необходимо чередовать умножение (или деление) на p и нормализацию по основанию q. При этом, поскольку все операции выполняются по правилам арифметики в системы p, будут получены не (Mq ,kq) в окончательном варианте, а их представления в системе p - обозначим их (Mq)p и (kq)p, которые затем нужно будет перевести в систему q. Различаются также ситуации kp 0 и kp<0>p будет менять свой значение на 1; продолжать действия следует до тех пор, пока не выполнится условие kp= 0. Алгоритм действий для ситуации kp 0 представлен на рисунке 2.

Рис.2. Алгоритм действий для ситуации kp 0

Пример 8. Выполнить преобразование X10=16,510 X2.

Перевод можно осуществить отдельно для целой и дробной части, а затем их объединить - для нас этот результат послужит эталоном для проверки нового алгоритма. Легко получить, что 1610 = 100002, а 0,510 = 0,12; следовательно, 16,510 = 10000,12 = (0,100001·2101)2.

Алгоритм Real_1 начинает функционировать после нормализации исходного числа; для этой цели можно воспользоваться алгоритмом Norma; в результате начальными значениями будут M10 = 0,165; k10 = 2. Результаты операций будем заносить в таблицу:

Шаг

Действие

M=(M2)10

k10

(k2)10

0

0,165

2

0

1

M:=M·10; k10= k10-1

1,65

1

0

2

M:=M/2; k2= k2+1

0,825

1

1

3

M:=M·10; k10= k10-1

8,25

0

1

4

Т.к. k10= 0, MM2

1000,012

1

5

Нормализация по q=2

0,1000012

5

6

(k2)10k2

1000,012

101

Таблица 1. Результаты выполнения операций

Окончательно имеем: X2 = (0,100001·2101)2.

Подобным же будет алгоритм преобразования X10X2 и при kp<0.>

Последовательность действий при обратном переводе X2X10 отчасти противоположна только что рассмотренной; для kp 0 она представлена в виде блок-схемы на рисунке 3. Нормализация в конце (после k=0) производится при необходимости.

Рис.3. Последовательность действий при обратном переводе

Пример 9. Выполнить преобразование: X2 = (0,11·2110)2X10.

Для контроля результата: 0,112=0,7510; (2110)2=(26)10=64; следовательно, (0,11·2110)2=0,75·64=4810. Для преобразования воспользуемся построенным алгоритмом Real_2 (рис. 3). Промежуточные результаты снова будем заносить в таблицу:

Таблица 1. Результаты выполнения операций

Шаг

Действие

M=(M2)10

(k2)10

k10

0

Перевод

0,75

6

0

1

M:=M·2; k=k-1

1,5

5

0

2

M:=M/10; k10= k10+1

0,15

5

1

3

M:=M·2; k = k-1

0,3

4

1

4

M:=M·2; k = k-1

0,6>

3

1

5

M:=M·2; k = k-1

1,2

2

1

6

M:=M/10; k10= k10+1

0,12

2

2

7

M:=M·2; k = k-1

0,24

1

1

8

M:=M·2; k = k-1

0,48

0

2

9

Т.к. k= 0, M = M10

0,48

0

2

Таким образом, получаем: (0,11·2110)2=0,48·102=48.

Как и в предыдущем преобразовании, алгоритм в случае kp<0>

2. Абстрактные кибернетические системы. Кибернетический подход к изучению объектов любой природы.

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

Абстрактная кибернетическая система представляет собой множество взаимосвязанных объектов, называемых элементами системы, способных воспринимать, запоминать и перерабатывать информацию, а также обмениваться информацией. Примерами кибернетических систем могут служить разного рода автоматические регуляторы в технике (например, автопилот или регулятор, обеспечивающий поддержание постоянной температуры в помещении), электронные вычислительные машины (ЭВМ), человеческий мозг, биологические популяции, человеческое общество.
Элементы абстрактной кибернетической системы представляют собой объекты любой природы, состояние которых может быть полностью охарактеризовано значениями некоторого множества параметров. Для подавляющего большинства конкретных приложений К. оказывается достаточным рассматривать параметры двух родов. Параметры 1-го рода, называемые непрерывными, способны принимать любые вещественные значения на том или ином интервале, например на интервале от - 1 до 2 или от -¥ до +¥. Параметры 2-го рода, называемые дискретными, принимают конечные множества значений, например значение, равное любой десятичной цифре, значения "да" или "нет" и т.п.

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

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

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

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

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

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

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

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

Разделение кибернетических систем на непрерывные и дискретные имеет большое значение с точки зрения используемого для их изучения математического аппарата. Для непрерывных систем таким аппаратом является обычно теория систем? обыкновенных дифференциальных уравнений, для дискретных систем - алгоритмов теория и автоматов теория. Ещё одной базовой математической теорией, используемой как в случае дискретных, так и в случае непрерывных систем (и развивающейся соответственно в двух аспектах), является информации теория.

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

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

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

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

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

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

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

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

 
1-1 можно быстро Скачать WoW аддоны бесплатно для всех классов очень классно! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40