
- •Нижегородский государственный университет им. Н.И. Лобачевского
- •1.Предисловие
- •2.Замечания по терминологии
- •3.Кибернетика и информатика
- •4.Предпосылки информатики
- •4.1.Мечта человека об искусственном человеке
- •4.2.Усилители физической и умственной деятельности человека
- •4.3.Ключевые проблемы информатики
- •5.Формализация естественного языка как средства общения.
- •6.Формализация физических характеристик среды обитания
- •6.1.Дискретные и непрерывные множества
- •6.2. Понятия измерительной шкалы, числа и измерения
- •6.3.Натуральное число
- •6.4.Позиционная система счисления
- •6.5.Натуральная числовая прямая
- •6.6.Целые числа (положительные и отрицательные)
- •6.7.Вещественные числа
- •7.Формализация физических зависимостей
- •7.1.Функции
- •7.2.Элементарные функции
- •7.3.Элементарная алгебра, аналитические и численные вычисления
- •8.Аналоговые и цифровые вычислители
- •9.Простейшие вычислители
- •9.1.Аналоговые вычислительные линейки
- •9.2.Цифровой абак и русские счеты
- •9.3.Цифровые механические арифмометры
- •9.4.Хронология событий.
- •10.Аналитические машины Чарльза Беббиджа.
- •11.Формализация рассуждений
- •11.1.Логика рассуждений
- •11.2.Логические функции и алгебра логики
- •11.3.Алгебра логики и алгебра релейно - контактных схем
- •12.Накануне компьютерной эры
- •12.1. Зарождение цифровых систем управления
- •12.2.Перфокарточные сортировальные машины
- •12.3.Методология моделирования
- •13.Теоретические модели вычислений
- •13.1.Алгоритм и его свойства
- •13.2.Проблема слов в ассоциативном исчислении
- •13.3.Нормальный алгоритм Маркова
- •13.4.Рекурсивные функции
- •13.5.Машина Тьюринга
- •13.6.Равнодоступная адресная машина
- •14.Пионеры зарубежной компьютеризации
- •15.Становление информатики в России. Борьба за признание
- •16.Два типа электронных вычислительных машин
- •16.1.Аналоговая вычислительная машина (авм)
- •16.2.Цифровая электронная вычислительная машина (компьютер, эвм)
- •16.3.Аналог или цифра
- •17.Пионеры отечественной компьютеризации
- •18.Становление информатики в России. Начальный период
- •19.Оригинальные отечественные серийные эвм (компьютеры)
- •19.1.Эвм Стрела
- •Элементная база
- •Программное обеспечение
- •Описание машины
- •Технико-эксплуатационные характеристики
- •Особенности эвм
- •19.2.Семейство эвм "м-20"
- •Структура эвм
- •Элементная база
- •Программное обеспечение
- •Технико-эксплуатационные характеристики
- •Особенности машины
- •Об использовании эвм м-20
- •Описание машины
- •Элементная база
- •Программное обеспечение
- •Технико-эксплуатационные характеристики
- •Особенности эвм
- •19.3.Семейство эвм "бэсм"
- •19.3.1.Бэсм-1
- •Структура эвм
- •19.3.2.Бэсм-2
- •Структура эвм
- •19.3.3.Бэсм-4
- •Структура эвм
- •Элементная база
- •Программное обеспечение
- •Технико-эксплуатационные характеристики
- •19.4.Семейство эвм "Минск"
- •19.4.1.Минск-1
- •19.4.2.Минск-2
- •19.4.3.Минск -22
- •19.4.4.Минск-23
- •19.4.5.Минск-32
- •Описание машины
- •Программное обеспечение
- •Технико-эксплуатационные характеристики
- •Особенности эвм
- •19.5.Семейство эвм "Урал"
- •19.5.1.Урал-1, Урал-2, Урал-3, Урал-4
- •Описание машины
- •Элементная база
- •Программное обеспечение
- •Основные эксплуатационно-технические данные
- •Особенности эвм
- •19.5.2.Урал-11, Урал-14, Урал-16
- •Описание машины
- •Элементная база
- •Программное обеспечение.
- •Основные эксплуатационно-технические данные машины “Урал-11”
- •Особенности эвм
- •19.6.Эвм "Весна" и "Снег"
- •19.7.Эвм бэсм-6
- •Описание машины
- •Элементная база
- •Программное обеспечение
- •Технико-эксплуатационные характеристики
- •Особенности машины
- •19.8.Многопроцессорные вычислительные комплексы "Эльбрус"
- •Описание машины.
- •Элементная база
- •Программное обеспечение
- •Типовые комплектации
- •Производительность
- •19.9.Управляющие эвм
- •20.Эволюция элементарной базы и поколения эвм
- •20.1.Базисные логические элементы
- •20.2.Элементы регистровой памяти
- •20.3.Элементы памяти на магнитных сердечниках.
- •20.4.Интегральные схемы
- •20.5.Поколения эвм
- •21.Американская система ibm-360
- •22.Семейство Ряд "ес эвм"
- •22.1.Хронология создания
- •22.2.Ес эвм. Крупнейший промах или всеобщее счастье?
- •23.Автоматизация программирования
- •23.1.От двоичных кодов к ассемблерам - языкам символьного кодирования
- •Ассемблеры
- •Программы - загрузчики
- •23.2.Языки программирования высокого уровня
- •23.3.Трансляция программ
- •24.Первые компьютеры Сарова
- •25.Начало компьютеризации Нижегородского госуниверситета
- •26.Они были первыми
- •26.1.Конрад Цузе
- •26.2.А лан Тьюринг
- •26.3.Джон Маулчи и Джон Эккерт
- •26.4.Джон фон Нейман
- •26.5.А ксель Берг
- •26.6.В иктор Глушков
- •26.7.Сергей Лебедев
- •26.8.Исаак Брук
- •26.9.Николай Матюхин
- •26.10.Михаил Карцев
- •26.11.Юрий Базилевский
- •26.12. Башир Рамеев
- •26.13.Георгий Лопато
- •26.14. Всеволод Бурцев
- •27.Приложения
- •27.1.Основные черты кибернетики
- •27.1.1.Общенаучное значение кибернетики
- •27.1.2.Электронные счетные машины и нервная система
- •27.1.3.Прикладное значение кибернетики
- •27.2."Сигнал" Игоря Полетаева
- •27.3.Хронология компьютеростроения
- •Литература
- •Оглавление
6.2. Понятия измерительной шкалы, числа и измерения
Информация от артефактах реальных сущностей представляется в численной виде следующим образом.
Сущности, одинаковые с некоторой точки зрения, объединяются в предметные классы – таксоны.
Атрибут таксона G обозначается как AG– необходимое, существенное, неотъемлемое ОБЩЕЕ СВОЙСТВО сущности. Характеристика (индивидуальное свойство) Gb конкретного элемента таксона G - конкретизация общего свойства таксона для этого конкретного элемента. Например, атрибут (общее свойство) таксона группы студентов: "иметь возраст". Характеристика (индивидуальное свойство) конкретного студента: "конкретный возраст".
Атрибут таксона можно рассматривать как своеобразную переменную, область значений которой – домен атрибута AG, т.е. множество одинаковых с некоторой точки зрения характеристик образующих таксон сущностей (Рис.3).
Реальная сущность, входящая в таксон G, специфицируется набором {G} индивидуальных свойств – характеристик.
Атрибуты подразделяются на числовые, значения которых определяются посредством измерения и нечисловые, значения которых просто обозначают те или иные характеристики. В дальнейшем, речь пойдет только о числовых атрибутах.
Для того, чтобы иметь возможность формальным образом обрабатывать информацию о сущности, ее характеристику Gb необходимо представить в виде единицы данных, т.е. обозначить числом d, абстрагирующим специфику этой характеристики (Рис. 3).
Рис. 3. Представление значения Gb атрибута AG записью d числа
Числовая конкретизация атрибута получается в процессе измерения индивидуального свойства конкретного элемента таксона. Основой измерения служит измерительная шакала (в дальнейшем, просто шкала). Шкала – функция, отображающая домен атрибута AG таксона G в множество D записей числа:
scale: domG D (1)
Принято говорить, что каждая запись числа dD представляет (кодирует) вполне определенную конкретизацию атрибута – характеристику, сущности вполне определенного таксона.
Сказанное выше предполагает, что различаются понятие "число" и понятие "запись числа". Множество записей числа D являют собой формальный язык, символьные строки – предложения, которого конструируются вполне определенным образом.
Число определяется как функция, однозначно отображающая прототип числа в множество записей числа:
f: P D (2)
Здесь, P – прототип числа (математическая или геометрическая фигура) определяющий тип числа, D – множество записей числа. Имя функции f, прототип P и множество записей числа D зависят от типа числа.
Примечание. Прототип числа P является моделью формального языка D. В отличие от процедуры вывода в модели формального языка – грамматике Хомского, здесь в качестве процедуры порождения предложений формального языка используется функциональное отображение ().
В практике вычислений используются различные типы чисел, такие как натуральные числа, вещественные числа и т.д.
Рис. 4.
6.3.Натуральное число
Прежде всего, по-видимому, в исторической перспективе сформировалось понятие натурального числа. ЧЕЛОВЕКУ необходимо было различать однородные предметы, вводя их обозначение - нумерацию, и также необходимо было манипулировать количествами и порядком расположения предметов.
Натуральное число — абстракция, используемая для количественной характеристики множеств реальных объектов, нумерации объектов, а также для обозначения места объекта в некоторой упорядоченной совокупности. Возникнув ещё в первобытном обществе из потребностей счёта, понятие натурального числа изменялось и обогащалось и превратилось в важнейшее математическое понятие. Письменными знаками (символами) для записи чисел служат цифры.
Прототипом натурального числа служит натуральное (линейно-упорядоченное) семейство A абстрактных множеств (Рис.1) мощность пустого множества обозначено знаком (цифрой) "0", мощность одноэлементного множества - знаком (цифрой) "1".
Существует две точки зрения на понятие "натуральное число".
Первая точка зрения - натуральное число являет собой средство для обозначения мощности (количества образующих элементов) любого абстрактного множества из K. В этом случае натуральное число называется кардинальным числом и определяется как функция card (конкретизация определения числа () для натурального числа), отображающая линейно – упорядоченное семейство множеств K в линейно-упорядоченное множество записей кардинальных чисел (натуральный ряд записей кардинальных чисел):
card: A (3)
График определяющей число функции card приводится ниже.
Линейно-упорядоченное семейство множеств A |
Натуральный ряд записей кардинальных чисел |
|
0 |
СЛЕД() |
0+1=1 |
СЛЕД(СЛЕД()) |
1+1=11 |
СЛЕД(СЛЕД(СЛЕД())) |
11+1=111 |
… |
… |
СЛЕД(…(СЛЕД(СЛЕД(СЛЕД())))) |
111…1+1=111…11 |
Здесь используется примитивная запись кардинального числа в виде пула единиц.
График функции card приведен также на рис. 5.
Рис. 5. Функция card, порождающая множество записей натурального числа.
Натуральный ряд записей кардинальных чисел можно получить посредством использования операции добавления единицы к записи кардинального числа:
111…1+1 = 111…11 (4)
Однако так порождаются только синтаксически правильные конструкции записей натурального числа. Семантика каждой такой записи – обозначение вполне определенного множества из K. Подобная семантика позволяет трактовать пул единиц 111…11– запись натурального числа, как представление мощности 111…11- элементного множества.
Вторая точка зрения - натуральное число являет собой средство для указания места элемента в линейно-упорядоченном абстрактном множестве MK. В этом случае натуральное число называется ординальным числом.
Место элемента в множестве M определяется процедурой "слева-направо рассчитайся". Назовем счетным состоянием множества M – подмножество уже пересчитанных элементов множества. Максимальное счетное состояние совпадает с множеством M (все элементы пересчитаны). На рис.6 показан ряд счетных состояний множества M, который совпадает с началом натурального ряда абстрактных множеств K. Таким образом, множество записей ординарных чисел определяется функцией ord и совпадает с множеством записей кардинальных чисел.
Рис. 6. Функция ord порождающая множество записей ординарных чисел
Разница между кардинальным и ординальным числом проявляется при интерпретации записи числа: 111…1. В первом случае – это обозначение мощности множества, во втором случае – обозначение положения элемента в множестве. В естественном языке это различие более существенно – используются количественные и порядковые числительные: множество из пяти элементов, пятый человек в шеренге.
Одинаковость формального языка записей кардинальных позволяет определять эти числа одной функцией:
card = ord= natural: A (5)
Итак, мы определили формальный язык записей натуральных чисел (кардинальных и ординарных) – линейно-упорядоченное множество .
Каким образом использование натуральных чисел помогает решать прикладные задачи манипулирования реальными множествами?
Прикладная задача: Имеются две корзины с яблоками. Определить суммарное количество яблок в двух корзинах.
Задача определения суммарного количества яблок в двух корзинах на уровне реальных множеств решается посредством перемещения содержимого корзин A и B в корзину C, c последующим пересчетом количества яблок в корзине C. Очевидно, что это не лучший способ решения прикладной задачи.
Введение формализма натуральных чисел позволяет решить данную прикладную задачу, оперируя записями натуральных не прибегая к манипулированию содержимым реальных множеств.
Прежде всего, необходимо определить процедуру отображения реального множества - корзины с яблоками, в запись натурального числа, представляющего количество элементов в этом множестве.
На рис.7 показано, как реальные корзины с яблоками A и B отображаются в абстрактные множества MA и MB с мощностями A и B соответственно. Затем мощности этих множеств представляются записями натуральных чисел nA и nB.
По сути дела, предполагается существование двух функций: функция abstr отображает семейство реальных множеств в семейство абстрактных множеств M; функция natural отображает (кодирует) абстрактные множества из M в записи соответствующих натуральных чисел из . Функция natural суперпозиция двух функций: num.
Рис. 7. Раздельное объединение множеств и операция сложения натуральных чисел
Суперпозиция функций, natural abstr являет собой измерительную шкалу - функцию scalepower, отображающую семейство реальных множеств в записи натуральных чисел, представляющих мощности этих множеств:
n = scalepower(M); MM, n (6)
Таким образом, представление (кодирование) мощности реального множества осуществляется посредством вычисления функции () в заданной точке:
function scalepower(M);
counter:=0;
del(M);
while(not empty(M)) do
begin
counter:= counter +1;
del(M)
end;
scalepower:=counter
end.
Здесь используется вспомогательная операция исключения одного элемента из реального множества: del(<имя множества>). Также используется тестовая функция empty(<имя множества>) – принимающая значение "ИСТИНА" если множество M пусто.
Очевидно, что при выполнении функции () осуществляется пересчет элементов множества посредством последовательного удаления из него элемента за элементом. Выполнение пересчета может осуществляться как человеком, так и техническим устройством.
Вернемся к задаче определения суммарного количества элементов в двух реальных множествах. В алгебре абстрактных множеств существует операция раздельного объединения двух множеств:
MC = MAMB (7)
Если - мощность множества, то справедливо следующее равенство:
(MC) = (MAMB) (8)
Примечание. Выше мы предположили, что элементы любых двух абстрактных множеств различны.
Введем в рассмотрение алгебру натуральных чисел (точнее, алгебру записей натуральных чисел):
Alg = <; +,> (9)
Здесь, - множество записей натуральных чисел, + - знак операции сложения записей натуральных чисел, - знак операции умножения записей натуральных чисел.
Императив операции сложения натуральных чисел записывается в виде символьной строки:
nA+nB = nC (10)
Императив операции сложения предписывает исполнителю выполнить вполне определенный алгоритм преобразования двух символьных строк – слагаемых nAи nB в символьную строку результат nC.
Алгоритм преобразования символьных строк правомерно назвать алгоритмом сложения, если результирующая строка обозначает мощность (MAMB) раздельного объединения абстрактных множеств (Рис. 7). Если записи натуральных чисел представлены в примитивной кодировке, то алгоритм сложения натуральных чисел очевиден и чрезвычайно прост: результат сложения получается посредством присоединения записи второго слагаемого к записи первого слагаемого. Например, если nA = 111и nB = 11, то nC = 11111.
Здесь мы имеем простейший случай формализации (моделирования) артефактов реального мира. Одна из проблем моделирования – адекватность формализма и реальности. В данном случае, насколько точно отражает результат преобразования символьных строк суммарное количество яблок в двух корзинах. Результат выполнения операции сложения натуральных чисел представляет суммарное количество яблок в двух корзинах, если записи натуральных чисел nAи nB правильно представляют количество яблок в корзинах A и B. Говоря другими словами, если формализация исходных данных соответствует действительности, то результат формальных вычислений также соответствует действительности.
Рассмотрим еще одну прикладную задачу. В магазин привезли множество B ящиков, каждый ящик – множество A яблок. Определить количество яблок, завезенных в магазин. Для решения поставленной задачи необходимо выполнить nB раз операцию сложения количества яблок в одном ящике:
nA+ nA+…+ nA (11)
Многократное сложение заменяет операция умножения, которая определяется следующим образом. Реальные множества ящиков и содержимого ящиков абстрагируются множествами MA и MB, с соответствующими мощностями (MA), (MB).
Рис. 8. Декартово произведение множеств и операция умножения натуральных чисел
Если MA и MB – абстрактные множества, то результат операции декартова умножения этих множеств являет собой множество MC:
MC=MAMB (12)
Если (MA) и (MB) – мощности множеств MA и MB соответственно, то мощность (C) результирующего множества MC:
(MC) = (MAMB) (13)
Очевидно, что общее количество яблок абстрагируется множеством MC, которое является декартовым произведением двух множеств MAMB. Мощность результирующего множества - (MC).
Если определены записи nA и nB натуральных чисел, представляющие количество яблок в каждом ящике и количество ящиков соответственно, то императив операции умножения записывается в виде символьной строки:
nAnB = nC (14)
Императив операции умножения предписывает исполнителю выполнить вполне определенный алгоритм преобразования двух символьных строк – сомножителей, nAи nB в символьную строку – произведение nC.
Алгоритм преобразования символьных строк правомерно назвать алгоритмом умножения, если результирующая строка nC обозначает мощность (MAMB) произведения двух абстрактных множеств (Рис. 8).
Представление количественных (порядковых) характеристик натуральными числами позволяет различать однородные сущности. Например, говорить: "Возьмите корзину с пятью яблоками и оставьте корзину с десятью яблоками". Или говорить: "Наградите пятого человека в шеренге спортсменов".
Примечание. В практике вычислений принято вместо длинного термина "запись натурального числа" употреблять термин "натуральное число".