Академический Документы
Профессиональный Документы
Культура Документы
Ю.А. Илларионов
ВВЕДЕНИЕ
3
ЧАСТЬ I. МАТЕМАТИКА
6
Непозиционная система счисления - система, для которой значение
символа не зависит от его положения в числе. Принципы построения таких
систем не сложны. Для их образования используют в основном операции
сложения и вычитания. Например, система с единым символом - палочкой -
встречалась у многих народов. Для изображения какого-то числа в этой
системе нужно записать количество палочек, равное данному числу. Эта
система не эффективна, так как запись числа получается длинной. Другим
примером непозиционной системы счисления является римская система,
использующая набор следующих символов: I, X, V, L, C, D, M и т.д. В этой
системе существует отклонение от правила независимости значения цифры
от положения в числе. В числах LX и XL символ X принимает два различных
значения : +10 - в первом случае и -10 - во втором.
Вес
Номер позиции (разряда) 2 1 0 -1 -2
Цифры числа 7 6 5 4 9
Число = = 765,49
что означает
,
или
n-1
Aq = ai • q i . (4.2)
i=-m
8
Принято формулу (4.1) называть сокращенной, а (4.2) –
полиномиальной.
q = 10 : = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9;
q=8: = 0, 1, 2, 3, 4, 5, 6, 7;
q=2: = 0, 1;
q = 16 : = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A , B , C , D , E , F;
Десятичное значение 10, 11, 12, 13, 14, 15
Пример 1
A 8 = 132; A 10 = ?;
Пример 2.
= 100110; = ?;
= = (1 • 25 + 1 • 22 + 1 • 21)10 = = .
Пример 3.
= A9; = ?;
= = • 161 + 9 • 160)10 = = .
Пример 4.
= 0,24; = ?;
= = • 8-1 + 4 • 8-2)10 = .
9
Пример 5.
= 0,101; = ?;
= = • 2-1 + 1 • 2-3)10 = .
Пример 6.
= 0,C; = ?;
= = • 16-1 10 = .
Пример 1.
_27 2
26 _13 2
12 _6 2
10
6 _3 2
2 _1 2
0 0
Итак: = =11011.
Пример 2.
q= = .
_11011 1010
1010 _10 1010
=[101] 0 0
=[10]
;
.
Ответ: .
q=1 0 1 2 3 4 5 6 7 8 9 A B C D E F
6
q=10 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
q=8 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17
q=2 00000001001000110100010 0110011110001001101010111100110111101111
1
11
Пример 3.
= 256 + 32 + 8 = .
_296 2
296 _148 2
=0 148 _74 2
=0 74 _37 2
=0 36 _18 2
=1 18 _9 2
=0 8 _4 2
=1 4 _2 2
=0 2 _1 2
=0 0 0
=1
Пример 4.
2 = AB616.
12
2 = 52668.
Начальные сведения
13
обычном смысле неразрешимой. Этот принцип называют принципом
двузначности.
Все научные знания (законы и явления физики, химии и биологии,
математические теоремы и т.д.), события повседневной жизни, ситуации,
возникающие в процессах управления, формулируются в виде высказываний.
Примерами указанных высказываний являются:
«35 делится на 7»,
«Москва – столица России».
Все они имеют значение истинности «истина».
Следующие высказывания имеют значение истинности «ложь»:
«Мышь больше слона»,
«Молодые лошади называются щенятами»,
«6 больше 8».
Повелительные («Войдите, пожалуйста!»), вопросительные («Знаешь
ли ты информатику?») и бессмысленные предложения не являются
высказываниями.
14
Способы построения новых высказываний из заданных с помощью
логических связок, их преобразования и установления истинности изучаются
в логике высказываний с помощью алгебраических методов.
1 0
0 1
0 0 0
0 1 0
1 0 0
1 1 1
= (или = ).
0 0 0
0 1 1
1 0 1
1 1 1
= ,
17
одного из двух возможных путей, так и выбор обоих путей одновременно.
Имеет значение - или только то, или только другое.
Таблица истинности исключающего или:
0 0 0
0 1 1
1 0 1
1 1 0
0 0 1
0 1 1
1 0 0
1 1 1
18
посылкой (причиной) и заключением (следствием) , которые здесь не
заданы. Такая содержательная связь не может быть описана с помощью
логики высказываний.
0 0 1
0 1 0
1 0 0
1 1 1
,
19
,
ЛОГИЧЕСКИЕ ФУНКЦИИ
20
Например, пусть логическая функция зависит от трех переменных
. Тогда набор =1, =1, =0 будет иметь номер .
№
набора
0 Значение
Набор значений
1 функции
аргументов
… (0 или 1)
№ №
набора набора
0 0 0 0 0 0
1 1 0 1 1 1
Константа 0 Повторение
№ №
набора набора
0 0 1 0 0 1
1 1 0 1 1 1
Отрицание Константа 1
№
№
набop
набopа
а
21
0 0 0 0 0 0 0 0
1 0 1 1 1 0 1 0
2 1 0 1 2 1 0 0
3 1 1 1 3 1 1 1
Дизъюнкция Конъюнкция
№ №
набopа набop
а
0 0 0 1 0 0 0 1
1 0 1 1 1 0 1 0
2 1 0 1 2 1 0 0
3 1 1 0 3 1 1 0
№
№
набop
набopа
а
0 0 0 1 0 0 0 1
1 0 1 1 1 0 1 0
2 1 0 0 2 1 0 0
3 1 1 1 3 1 1 1
Эквивалентность
(равнозначность)
Импликация
или =
,
или .
Основные соотношения:
, ,
, ,
, , ,
, , .
Основные тождества:
,
, , .
Основные правила:
а) правило де Моргана:
, ;
б) конъюнктивное поглощение ( поглощает ):
г) конъюнктивное склеивание по :
23
д) дизъюнктивное склеивание по :
е) конъюнктивное развертывание по :
ж) дизъюнктивное развертывание по :
Основные законы:
, ;
в) дистрибутивность конъюнкции относительно дизъюнкции:
Пример 4.
;
;
; ;
; ;
; .
Результаты сведем в таблицу:
№
набо
ра
0 0 0 0 0
1 0 0 1 1
2 0 1 0 0
3 0 1 1 0
4 1 0 0 1
5 1 0 1 1
6 1 1 0 0
7 1 1 1 0
25
Конституенты единицы. Булеву функцию, равную 1 только на одном
наборе аргументов, называют конституентой единицы. Будем обозначать
конституенту единицы, зависящую от n аргументов, символом: , где N -
номер конституенты, равный номеру набора, на котором она равна 1.
записывают в виде конъюнкции всех аргументов, взятых с
отрицаниями или без них, по правилу: отрицания ставятся над аргументами,
которые на наборе с номером N равны 0.
Пример 5.
Пример 6.
Решение.
, , ,
, .
26
Пример 7.
Пример 8.
Решение.
Алгебраический подход.
Минимизация как упрощение формул в булевой алгебре (как и в любой
другой алгебре) производится на основе эквивалентных преобразований,
опирающихся на основные законы, тождества и правила, о которых речь шла
выше.
Пример 9.
27
.
Пример 10.
Решение.
= .
Пример 11.
Решение.
Пример 12.
28
Решение.
Следовательно, .
Окончательно получаем:
.
Окончательное (упрощенное) выражение отличается от искомого
уменьшенным количеством букв в выражении. Однако часто требуется
показать эквивалентность исходной и упрощенных форм. Обе функции
должны иметь одну и ту же таблицу истинности. Построим такие таблицы
для исходной и упрощенной функции последнего примера.
№
набор . .
а
0 0000 0 0
1 0001 1 1
2 0010 1 1
3 0011 1 1
4 0100 0 0
5 0101 1 1
6 0110 1 1
7 0111 1 1
8 1000 1 1
9 1001 1 1
10 1010 1 1
29
11 1011 1 1
12 1100 0 0
13 1101 1 1
14 1110 1 1
15 1111 1 1
Замечание.
Графический подход.
Пример 13.
Решение.
Контур 1,
1 описывается как
1
1 контур 2,
описывается как
Итак:
Пример 14.
31
Упростить логическую функцию .
Решение.
, , , , ,
, , ,
, ,
1
1 1 1
1 1 1 1
1 1 1
Окончательно:
Пример 15.
Решение.
33
.
,
,
.
, , .
Х=( )( )( ) .
Таким образом, решить задачу – значит указать, при каких значениях х1,
х2, х3, х4, х5 сложное высказывание Х истинно.
Найти набор, при котором Х = 1 можно, вычисляя значения Х на всех
возможных наборах, заполняя таблицу истинности.
Видно, что набор N=12 единственный, при котором Х=1. Комбинация
истинных высказываний: сосуд финикийский (х2=1) и изготовлен в V веке
(х3=1).
0 0 0 0 0 0 0
1 0 0 0 0 1 0
2 0 0 0 1 0 0
3 0 0 0 1 1 0
4 0 0 1 0 0 0
5 0 0 1 0 1 0
6 0 0 1 1 0 0
7 0 0 1 1 1 0
8 0 1 0 0 0 0
9 0 1 0 0 1 0
10 0 1 0 1 0 0
11 0 1 0 1 1 0
34
12 0 1 1 0 0 1
13 0 1 1 0 1 0
14 0 1 1 1 0 0
15 0 1 1 1 1 0
16 1 0 0 0 0 0
17 1 0 0 0 1 0
18 1 0 0 1 0 0
19 1 0 0 1 1 0
20 1 0 1 0 0 0
21 1 0 1 0 1 0
22 1 0 1 1 0 0
23 1 0 1 1 1 0
24 1 1 0 0 0 0
25 1 1 0 0 1 0
26 1 1 0 1 0 0
27 1 1 0 1 1 0
28 1 1 1 0 0 0
29 1 1 1 0 1 0
30 1 1 1 1 0 0
31 1 1 1 1 1 0
Х=( )( )( )=
= .
Х = =
= .
Х= .
Пример 16.
35
Жуссье считает, что Этьен – убийца, или Франсуа не был пьян, и убийство
произошло после полуночи. Инспектор Люка просил передать, что если
убийство было совершено после полуночи, то либо Этьен убийца, либо
Франсуа лжет. Затем звонила … .
- Все. Спасибо. Этого достаточно. – Комиссар положил трубку. Он
знал, что трезвый Франсуа никогда не лжет. Теперь он знал все.
Какой вывод сделал Мегрэ?
Решение.
Рассмотрим высказывания:
х1 - «Франсуа был пьян»,
х2 – «Этьен - убийца»,
х3 – «Франсуа лжет»,
х4 – «Убийство произошло после полуночи».
Выразим высказывания инспекторов формулами (составные
высказывания).
Жуссье: .
Люка: .
36
1.8. Элементы дискретной математики
1. Перечислением элементов.
Например: M = {1,2,3,4,5}
2. Характеристическим предикатом.
M = {x | P(x)}
3. Порождающей процедурой.
M = {x | x := f}
1. Объединение.
2. Пересечение.
3. Разность.
4. Симметрическая разность.
5. Дополнение.
38
используются как индексы, и пусть для любого множество Аi известно.
Тогда
39
Множество всех элементарных исходов случайного эксперимента
называется пространством элементарных исходов. Будем обозначать
пространство элементарных исходов буквой (омега большая) i-й
элементарный исход будем обозначать i ( – омега малая).
Если пространство элементарных исходов содержит n элементарных
исходов, то
=( 1, 2 ,..., n).
Для троекратного подбрасывания монеты,
=(ГГГ, ГГЦ, ...ЦЦЦ).
Если случайный эксперимент – подбрасывание игральной кости, то
=(1,2,3,4,5,6).
Если конечно или счетно, то случайным событием или просто
событием называется любое подмножество .
Множество называется счетным, если между ним и множеством N
натуральных чисел можно установить взаимно-однозначное соответствие.
Пример счетного множества: множество возможных значений времени
прилета инопланетян на Землю, если время отсчитывать с настоящего
момента и исчислять с точностью до секунды.
Примеры несчетных множеств: множество точек на заданном отрезке,
множество чисел x, удовлетворяющих неравенству 1< x 2.
В случае несчетного множества будем называть событиями только
подмножества, удовлетворяющие некоторому.
Приведем примеры событий. Пусть бросается игральная кость, и
элементарным исходом считается выпавшее число очков: =(1,2,3,4,5,6). A –
событие, заключающееся в том, что выпало четное число очков: А=(2,4,6); B
– событие, заключающееся в том, что выпало число очков, не меньшее 3-х:
B=(3,4,5,6).
Говорят, что те исходы, из которых состоит событие А,
благоприятствуют событию А.
События удобно изображать в виде рисунка, который называется
диаграммой Венна. На рисунке 1 пространство элементарных исходов
изображено в виде прямоугольника, а множество элементарных исходов,
благоприятствующих событию A, заключено в эллипс. Сами исходы на
диаграмме Венна не изображаются, а информация о соотношении между их
множествами содержится в расположении границ соответствующих
областей.
40
Суммой (объединением) двух событий А и B (обозначается )
называется событие, состоящее из всех элементарных исходов,
принадлежащих по крайней мере одному из событий А или B. Объединение
событий А и В изображено на рисунке 2 в виде заштрихованной области.
41
Пустое множество называется невозможным событием. Событие
= \A называется противоположным событию А или дополнением события
А.
События А и B называются несовместными, если нет исходов,
принадлежащих и А и B, то есть = . На рисунке 5 изображены
несовместные события А и B.
Событие В будем называть следствием события А, если все исходы
события А благоприятствуют событию В. То, что из А следует В
записывается символом А В и изображается на диаграмме Венна так, как
это показано на рисунке 6.
Непосредственно из введенных определений следуют равенства:
; A = ; ; . Два последних
равенства называются формулами Де'Моргана.
Примеры задач по теории вероятностей.
1. Три стрелка стреляют по одной мишени, и каждый попадает или
промахивается независимо от результатов выстрелов других стрелков.
Вероятности попадания в мишень для каждого из стрелков, соответственно,
равны: 0,8; 0,7; 0,5. Определить вероятности следующих событий:
а) все три стрелка попали в мишень;
б) хотя бы один стрелок попал в мишень;
в) в мишень попали два стрелка.
Решение.
а) Так как здесь рассматриваются независимые события, вероятность
попадания в мишень всех трёх стрелков равна произведению вероятностей
попадания каждого:
P = 0,8 0,7 0,5 = 0,28
б) Обозначим это событие А. Ему благоприятствует несколько
несовместимых исходов, например, такой: {первый стрелок попал в мишень,
второй не попал, третий попал}. Вместо того, чтобы рассматривать все эти
исходы, возьмём событие – дополнение события А или, иначе, событие,
противоположное событию А. Оно состоит в том, что все три стрелка не
попали в мишень. Его вероятность равна:
(1 – 0,8) (1 – 0,7) (1 – 0,5) = 0,5
Теперь можно определить вероятность интересующего нас события:
Р(А) = 1 – Р( ) = 1 – 0,5 = 0,5
в) Этому событию благоприятствуют три исхода:
* {первый попал, второй попал, третий не попал} – c вероятностью
0,8 0,7 (1 – 0,5) = 0,28
** {первый попал, второй не попал, третий попал} – c вероятностью
0,8 (1 – 0,7) 0,5 = 0,12
*** {первый не попал, второй попал, третий попал} – c вероятностью
(1 – 0,8) 0,7 0,5 = 0,07
42
Очевидно, что эти исходы несовместимы, и поэтому вероятность их
объединения, представляющего собой событие А, равна сумме их
вероятностей:
Р(А) = 0,28 + 0,12 + 0,07 = 0,47
2. Брошено три игральных кости. Найти вероятности следующих событий:
а) выпало три шестёрки;
б) выпало три шестёрки, если известно, что на одной из костей выпала
шестёрка.
Решение.
Р(А/В) =
3. Из 20 студентов, находящихся в аудитории, 8 человек курят, 12 носят
очки, а 6 и курят и носят очки. Одного из студентов вызвали к доске.
Определим события А и В следующим образом: A = {вызванный студент
курит}, B = {вызванный носит очки}.
Установить, зависимы события A и B или нет. Сделать предположение о
характере влияния курения на зрение.
р(А В) =
Осталось только найти искомую вероятность р(А/В):
р(А/В) = .
44
Кольца. Алгебраическая система (K,+,*) с двумя бинарными
операциями, умножением и сложением, называется кольцом, если:
45
Здесь i1, i2, i3, … , in – попарно различные натуральные числа от 1 до n.
Всего таких перестановок n!
Историческое введение
Впервые мысль о возможности машинного перевода высказал Чарльз
Бэббидж (1791-1871), разработавший в 1836-1848 гг. проект цифровой
аналитической машины - механического прототипа электронных цифровых
вычислительных машин, появившихся через 100 лет. Идея Ч. Бэббиджа
состояла в том, что память объемом 1000 50-разрядных десятичных чисел (по
50 зубчатых колес в каждом регистре) можно использовать для хранения
словарей. Ч. Бэббидж привел эту идею в качестве обоснования для запроса у
английского правительства средств, необходимых для физического
воплощения аналитической машины, которую ему так и не удалось
построить (см. Апокин и др. Чарльз Бэббидж. М., Наука, 1981).
Фактически история машинного перевода начинается с "Джорджтаунского
эксперимента". В январе 1954 г. состоялась первая публичная демонстрация
машинного перевода с русского языка на английский, осуществленного на
машине ИБМ-701. Сообщение об этом событии было опубликовано в
журнале Computers and Automation, 1954, № 2. А реферат этого сообщения,
сделанный Д. Ю. Пановым, появился в РЖ ВИНИТИ "Математика", 1954, №
10: "Перевод с одного языка на другой при помощи машины: отчет о первом
успешном испытании".
Это сообщение явилось толчком для начала работ по машинному переводу
в СССР. Д. Ю. Панов, бывший тогда директором ВИНИТИ (в то время
Института научной информации - ИНИ) привлек к работам по машинному
переводу И. К. Бельскую, которая затем возглавила группу машинного
перевода в ИТМ и ВТ АН СССР. Первый опыт перевода с английского языка
на русский с помощью машины БЭСМ был получен уже к концу 1955 г.
Программы для БЭСМ составляли Н. П. Трифонов и Л. Н. Королев,
46
кандидатская диссертация которого была посвящена методам построения
словарей для машинного перевода.
Другое направление работ возникло в Отделении прикладной математики
Математического института АН СССР (ныне ИПМ им. М. В. Келдыша РАН)
по инициативе А. А. Ляпунова. К работам по машинному переводу
математических текстов с французского языка на русский он привлек О. С.
Кулагину, аспирантку МИАН, своих учениц Т. Д. Вентцель и Н. Н. Рикко. С
конца 1955 г. в этих работах принимала участие Т. Н. Молошная, которая
затем приступила к самостоятельной работе над алгоритмом англо-русского
перевода. А. А. Ляпунов и О. С. Кулагина свои представления об
использовании вычислительных машин для перевода с одного языка на
другой опубликовали в журнале "Природа",1955, № 8. Первые программы
машинного перевода, разработанные этим коллективом, были реализованы
на машине "Стрела".
Первое поколение систем машинного перевода базировалось на алгоритмах
последовательного перевода "слово за словом", "фраза за фразой".
Возможности таких систем определялись доступными размерами словарей,
прямо зависящими от объема памяти компьютера. Перевод текста
осуществлялся отдельными предложениями, смысловые связи между ними
никак не учитывались. Такие системы называют системами прямого
перевода. На смену им со временем пришли системы последующих
поколений, в которых перевод от языка к языку осуществлялся на уровне
синтаксических структур. В алгоритмах перевода использовался набор
операций, позволяющий путем анализа переводимого предложения
построить его синтаксическую структуру по правилам грамматики языка
входного предложения (так же, как учат детей языку в средней школе), а
затем преобразовать ее в синтаксическую структуру выходного предложения
и синтезировать выходное предложение, подставляя нужные слова из
словаря. Такие системы называются Т-системами (Т - от английского слова
"transfer - преобразование").
Наиболее совершенным считается подход к построению систем машинного
перевода на основе получения некоторого, независимого от языков,
смыслового представления входного предложения путем его семантического
анализа. Затем производится синтез выходного предложения по полученному
смысловому представлению. Такие системы называют И-системами (И - от
слова "интерлингва"). Считается, что следующие поколения систем
машинного перевода будут относиться к классу И-систем.
Как большой ученый, которому свойственно видеть всю проблему в целом,
А. А. Ляпунов с самого начала работ по машинному переводу говорил о
переводе путем извлечения смысла переводимого текста и его представления
на другом языке. Однако такая постановка проблемы перевода оказалась в то
время преждевременной. Более того, она не решена в общем виде мировой
информатикой и в настоящее время, несмотря на усилия,
предпринимавшиеся Международной федерацией IFIP - мировым
сообществом ученых в области обработки информации. Однако многие
47
частные результаты, связанные с семантическим анализом текстов, были
получены и опубликованы в трудах IFIP.
Первый опыт создания программ машинного перевода показал, что
необходимо решать эти задачи постепенно и по частям.
Слишком много трудностей и неясностей было в том, как нужно
формализовать и строить алгоритмы для работы с текстами, какие словари
надо вводить в машину, какие лингвистические закономерности следует
использовать при машинном переводе и каковы вообще эти закономерности.
Выяснилось, что традиционная лингвистика не располагает ни
фактическим материалом, ни идеями и представлениями, нужными для
построения систем машинного перевода, которые использовали бы смысл
переводимого текста.
Традиционная лингвистика не могла дать исходные представления не
только в части семантики, но и в части синтаксиса. Ни для одного языка в то
время не существовало перечней синтаксических конструкций, не были
изучены условия их сочетаемости и взаимозаменяемости, не были
разработаны правила построения крупных единиц синтаксической структуры
из более мелких. В сущности ни на один вопрос, поставленный в связи с
построением систем машинного перевода, традиционная лингвистика в 50-х
годах не могла дать ответа.
Потребность в создании теоретических основ машинного перевода привела
к формированию нового направления в лингвистике, называемого
структурной, прикладной, математической лингвистикой. Формирование
этого направления в СССР относится ко второй половине 50-х годов.
Ведущую роль в нем сыграли математики А. А. Ляпунов, В. А. Успенский,
(ученик А. Н. Колмогорова), О. С. Кулагина, лингвисты В. Ю. Розенцвейг, П.
С. Кузнецов, А. А. Реформатский, И. А. Мельчук, В. В. Иванов.
6 мая 1960 г. было принято Постановление Президиума АН СССР "О
развитии структурных и математических методов исследования языка", во
исполнение которого были созданы подразделения по структурной
лингвистике в Институте языкознания, Институте русского языка АН СССР.
В Постановлении Президиума АН СССР отмечалось, что "недостаточное
развитие теоретических исследований в области структурных и
математических методов в лингвистических учреждениях тормозит
практически важные работы по теории и практике машинного перевода,
построению информационных языков и информационных машин,
логической семантике и другим приложениям языкознания,
разрабатываемым в настоящее время в ряде технических и математических
научно-исследовательских институтов". С 1960 г. началась подготовка
кадров в области автоматической переработки текстов на филологическом
факультете МГУ, в Ленинградском и Новосибирском университетах,
МГПИИЯ. Под математической лингвистикой понималось изучение языка
как абстрактной знаковой системы с целью построения теоретической
основы машинного перевода и создания конкретных алгоритмов перевода. В
48
таком понимании математическая лингвистика составляла часть семиотики -
общей теории знаковых систем.
Задача аксиоматизации лингвистики была выдвинута одним из виднейших
лингвистов московской школы П. С. Кузнецовым как задача формализации
грамматики, восходящая к идеям выдающегося русского языковеда Ф. Ф.
Фортунатова (1848-1914).
Исследованию формальной теории грамматик, была посвящена
диссертация О. С. Кулагиной, выполненная под руководством А. А.
Ляпунова.
Заметим, что в те же годы формальная теория грамматик развивалась в
США в трудах Н. Хомского, ставших классическими для области
искусственных языков, в частности языков программирования.
Двадцатилетие (1956-1976) один из основателей направления математик В.
А. Успенский в своих воспоминаниях назвал "серебряным веком"
структурной, прикладной и математической лингвистики в СССР (видимо, по
аналогии с "серебряным веком" русской поэзии).
В 70-х годах разработку основ технологии машинного перевода
продолжила группа специалистов в ВИНИТИ под руководством профессора
Г. Г. Белоногова. В результате в 1993 г. была создана промышленная версия
системы RETRANS фразеологического машинного перевода с русского
языка на английский и обратно, которая применялась в министерствах
обороны, путей сообщения, науки и технологий, а также во ВНТИЦ.
Практическое применение принципов смыслового анализа текстов
потребовалось при создании систем машинного перевода с иероглифических
языков (китайского, японского и др.). Вопросы создания таких систем были
разработаны в диссертации В. М. Зелко в 80-х годах.
Первые коммерческие продукты машинного перевода, нашедшие
практическое использование, появились в середине 80-х годов. Они были
реализованы на персональных компьютерах и являлись системами прямого
перевода, возможности которых базировались на огромных (по сравнению с
первыми системами) словарях, а не на умении анализировать и
синтезировать тексты.
Современные коммерческие продукты машинного перевода предлагают
отечественные фирмы:
"Виста Текнолоджиз" и "Адвентис", образованные в 1991 г. коллективом
разработчиков, выделившихся из ВИНИТИ;
ПРОМТ, образованная в 1991 г.;
"Медиа Лингва".
Однопользовательская "коробочная" версия продукта Retrans Vista фирмы
"Виста текнолоджиз" предназначена для автоматизированного перевода
текстов с русского языка на английский и обратно. В ней использованы
оригинальные алгоритмы сжатия словарных баз и поиска переводных
эквивалентов, позволяющих транслировать "на лету" не только фрагменты
текста, импортируемые из текстового редактора MS Word, но и Web-
страницы.
49
В словарях Retrans Vista хранятся миллионы понятий, к которым относятся
не только традиционные устойчивые фразеологические обороты, но, прежде
всего, словосочетания, используемые в повседневной речи. Кроме того, есть
программа концептуального анализа, автоматически выделяющая из текста
новые словосочетания и включающая их в словарь. Основные словари
системы Retrans Vista содержат термины и фразеологические единицы по
естественным и техническим наукам, экономике, бизнесу и политике. Объем
политематического машинного словаря - около 3,4 млн. слов (1,8 млн. в
русско-английской части, 1,6 млн. - в англо-русской), причем 20% из них
являются словами, а 80% - устойчивыми словосочетаниями со средней
"длиной" в 2,2 слова.
Продукт Retrans Vista реализован на ПК с процессором, имеющим частоту
от 166 МГц и ОЗУ от 32 Мб и выше и жестким диском от 170 Мб. Продукт
работает под управлением ОС Windows 98/NT/2000.
Фирма ПРОМТ (http://www.promt.ru/rus1/news/news.htm) разработала и
поставляет Интернет-переводчик PROMT Internet Translation Server,
обеспечивающий перевод "на лету" Web-страниц, запросов к поисковым
системам или к базам данных, представленным в Интернете.
Для корпоративных сетей многонациональных корпораций фирма ПРОМТ
предлагает аналогичный продукт PROMT Intranet Server.
Модуль перевода PROMT Internet встраивается в браузер Microsoft Internet
Explorer, образуя средство для синхронного перевода Web-страниц Web
View. При этом можно устанавливать для перевода различные языковые
пары: английский - русский; английский - немецкий; английский -
испанский; французский - английский; французский - немецкий. Бесплатный
онлайновый переводчик PROMT доступен в Интернете по адресу:
http://www.translate.ru.
PROMT Internet Translator Server установлен на поисковой системе Voila,
принадлежащей оператору France Telecom.
Для систем офисной автоматизации предлагается коммерческий пакет
PROMT Lingvo OFFICE - результат сотрудничества двух лидеров
российского рынка лингвистического программного обеспечения - ПРОМТ и
ABBYY.
Компания "Медиа Лингва" выпустила электронные словари серии
"МультиЛекс 3.5. Новый большой англо-русский словарь" и "МультиЛекс3.5.
Английский. Экономика и право". Такие словари, работающие под
управлением операционных систем Windows CE или PalnOS, могут быть
размещены на карманных компьютерах.
С практической точки зрения, имея в виду качество результирующего
текста и его соответствие исходному, программы машинного перевода
подразделяют на три категории:
полностью автоматический перевод;
автоматизированный машинный перевод при участии человека;
перевод, осуществляемый человеком с использованием компьютера.
50
Программы машинного перевода первой из названных категорий являются
делом далекого будущего, поскольку в общем виде не решены проблемы
автоматического понимания, перевода и синтеза текстов.
Программы второй категории разработчики называют МТ-программы (от
Machine translation - машинный перевод). Реально автоматизированный (с
участием человека) машинный перевод возможен только в условиях
искусственно ограниченного, как по словарному запасу, так и по грамматике,
языка.
В качестве реального успешного проекта МТ-программы всегда называют
немецкую систему Meteo, выполняющую перевод метеопрогнозов с
французского языка на английский и обратно.
К МТ-программам относятся и продукты машинного перевода фирмы
ПРОМТ, упомянутые выше, в том числе программы для просмотра
содержимого Web-страниц в сети Интернет с целью поиска нужного
документа.
Программы третьей категории разработчики называют ТМ-программы (от
translation memory - память перевода). Эту категорию программ применяют
профессиональные переводчики, осознавшие выигрыш от автоматизации их
работы с помощью компьютеров. Основу ТМ-программ составляют
специализированные словари, соответствующие тематике переводимого
текста. При переводе используются конструкции и значения слов и
устойчивых словосочетаний, выбранные профессиональным переводчиком и
занесенные в словари системы, а полученный текст подвергается
интенсивному редактированию. Словари и уже переведенные фрагменты
текстов, запоминаемые в ТМ-системе, могут быть повторно использованы в
больших коллективных проектах, ими можно обмениваться. Поэтому ТМ-
системы представляют собой важное средство автоматизации труда
профессиональных переводчиков.
Часто ТМ-программы используют в сочетании с МТ-программами.
Наиболее популярным в мире ТМ-инструментарием является Translation's
Workbench фирмы Trados (для краткости часто также называемый Trados).
За 17 лет своего существования фирма Trados продала 45 тыс. лицензий на
свою систему. Все они приобретены профессиональными переводчиками. В
конце 2001 г. Российская фирма ПРОМТ, известная своими продуктами
машинного перевода категории МТ, объявила о получении статуса
эксклюзивного дистрибьютера системы Trados в России и других странах
СНГ. Для совместного использования своих МТ-программ и продуктов
Trados фирма ПРОМТ предлагает специальные средства их сопряжения.
История машинного перевода насчитывает немногим более 50 лет. За это
время сменилось несколько поколений систем машинного перевода - от
первых программ, использовавших ограниченные ресурсы универсальных
компьютеров первого поколения до современных коммерческих продуктов,
использующих мощные ресурсы серверов и персональных компьютеров,
включая ПК, в которых можно размещать карманные словари, а также
компьютерные сети.
51
По мере снятия технических ограничений, налагаемых возможностями
компьютеров по производительности и памяти, становилось ясно, что
проблема перевода текста с одного естественного языка на другой
принципиально не сводится только к перекодировке слов. Для преодоления
основных трудностей проблемы машинного перевода должны быть решены
задачи автоматизированного представления контекста, смыслового
содержания переводимого текста, знаний о понятиях предметной области, к
которой относится переводимый текст.
Вместе с тем современные достижения в области вычислительной техники,
информационных технологий и технологий телекоммуникаций позволяют
выдвигать на перспективу практические задачи поиска и выбора требуемой
информации, представленной на разных языках, из разнородных источников,
находящихся в корпоративных и глобальных информационно-
телекоммуникационных сетях.
В качестве примера такой перспективной задачи можно привести системы
запросов к информационным ресурсам сетей, например к базам данных, с
возможностью формирования ответов по телефону в виде устной речи. Для
этого требуется сочетание систем машинного перевода с системами
распознавания и синтеза речи.
Расширенная форма Бэкуса — Наура (расширенная Бэкус — Наурова
форма (РБНФ)) (Extended Backus–Naur Form (EBNF)) — формальная
система определения синтаксиса, в которой одни синтаксические категории
последовательно определяются через другие. Используется для описания
контекстно-свободных формальных грамматик. Предложена Никлаусом
Виртом. Является расширенной переработкой форм Бэкуса-Наура,
отличается от БНФ более «ёмкими» конструкциями, позволяющими при той
же выразительной способности упростить и сократить в объёме описание.
Описание
Терминалы и нетерминалы
Как и в БНФ, описание грамматики в РБНФ представляет собой набор
правил, определяющих отношения между терминальными символами
(терминалами) и нетерминальными символами (нетерминалами).
Терминальные символы — это минимальные элементы грамматики, не
имеющие собственной грамматической структуры. В РБНФ
терминальные символы — это либо предопределённые
идентификаторы (имена, считающиеся заданными для данного
описания грамматики), либо цепочки — последовательности символов
в кавычках или апострофах.
Нетерминальные символы — это элементы грамматики, имеющие
собственные имена и структуру. Каждый нетерминальный символ
состоит из одного или более терминальных и/или нетерминальных
символов, сочетание которых определяется правилами грамматики. В
РБНФ каждый нетерминальный символ имеет имя, которое
представляет собой строку символов.
52
Правила
Правило в РБНФ имеет вид:
идентификатор = выражение.
где идентификатор — имя нетерминального символа, а выражение —
соответствующая правилам РБНФ комбинация терминальных и
нетерминальных символов и специальных знаков. Точка в конце —
специальный символ, указывающий на завершение правила.
Семантика правила РБНФ — нетерминальный символ, заданный
идентификатором слева от знака «равно», представляет собой
определяемую выражением комбинацию терминальных и нетерминальных
символов.
Полное описание грамматики представляет собой набор правил, который
последовательно определяет все нетерминальные символы грамматики так,
что каждый нетерминальный символ может быть сведён к комбинации
терминальных символов путём последовательного (рекурсивного)
применения правил. В определении РБНФ нет никаких специальных
предписаний относительно порядка записи правил, хотя такие предписания
могут вводиться при использовании РБНФ программными средствами,
обеспечивающими автоматическую генерацию программ синтаксического
разбора по описанию грамматики.
Выражения
Набор возможных конструкций РБНФ очень невелик. Это конкатенация,
выбор, условное вхождение и повторение.
Конкатенация. Специального обозначения не имеет, определяется
последовательной записью символов в выражении. Правило вида A =
BC. обозначает, что нетерминал A состоит из двух символов — B и C.
Элементы конкатенации называют ещё синтаксическими факторами,
или просто факторами. В данном примере B и C — синтаксические
факторы. Если конкатенируемые символы могут обозначаться более
чем одним знаком (как это обычно бывает при описании языков
программирования), они разделяются одним или более пробельными
символами (пробелы, переводы строк, табуляции). Например,
Присваивание = Переменная ":=" Выражение. — здесь
нетерминал Присваивание определён как конкатенация термов
Переменная, «:=» и Выражение.
Выбор. Обозначается вертикальной чертой. Правило вида A = B|C|
D. обозначает, что нетерминал A может состоять либо из B, либо из C,
либо из D. Элементы выбора называют ещё синтаксическими термами,
или просто термами. В данном примере B, C, D — синтаксические
термы.
Условное вхождение. Квадратные скобки выделяют необязательный
элемент выражения, который может присутствовать, а может и
отсутствовать. Правило вида A = [B]. обозначает, что нетерминал A
либо является пустым, либо состоит из символа B.
53
Повторение. Фигурные скобки обозначают конкатенацию любого
числа (включая нуль) записанных в ней элементов. Правило вида A =
{B}. обозначает, что A — либо пустой, либо представляет собой
конкатенацию любого числа символов B (то есть A — это либо пустой
элемент, либо B, либо BB, либо BBB и так далее). Если требуется,
чтобы A представлял собой либо B, либо произвольное число B, но не
мог быть пустым, используется запись A = B{B}.
Помимо основных операций, в РБНФ могут использоваться обычные
круглые скобки. Они применяются для группировки элементов при
формировании сложных выражений. Например, правило A = (B|C)(D|
E). обозначает, что A состоит из двух символов, первым из которых
является либо B, либо C, вторым — либо D, либо E, то есть A может
быть одной из цепочек BD, BE, CD, CE.
Варианты синтаксиса
В некоторых работах встречаются модифицированные варианты синтаксиса
РБНФ.
Можно встретить использование в правилах символа «::=» вместо «=»
(по аналогии с БНФ).
Иногда конкатенация в выражениях обозначается не простым
следованием символов друг за другом, а с помощью запятой. В таком
случае несколько слов, написанных через пробелы, следует понимать
как одно многословное имя нетерминального символа. Например:
Условный оператор = "IF", Логическое выражение,
"THEN",
Группа операторов,
{"ELSIF", Группа операторов},
["ELSE", Группа операторов],
"ENDIF"
— правило, задающее грамматику условного оператора языка Modula-
2, где «Условный оператор» и «Группа операторов» —
нетерминальные символы с составными именами.
Стандарт BSI. Принятый в 1981 году Британским институтом
стандартов (BSI) стандарт на EBNF отличается от варианта,
предложенного Виртом, следующими особенностями:
o конкатенация обозначается запятой;
o конец определения правила обозначается точкой с запятой;
o пробелы в правиле, за исключением заключённых в кавычки,
считаются незначимыми.
Примеры конструкций
Формальное самоопределение РБНФ
Общую форму грамматики РБНФ-описания можно описать в виде РБНФ
следующим образом:
Синтаксис = { СинтОператор }.
СинтОператор = идентификатор "=" СинтВыражение ".".
СинтВыражение = СинТерм {"|" СинТерм}.
54
СинТерм = СинтФактор { СинтФактор }.
СинтФактор = идентификатор | цепочка
| "(" СинтВыражение ")" | "[" СинтВыражение "]"
| "{" СинтВыражение "}".
В данном описании предполагается, что идентификатор и цепочка —
предопределённые термы. При желании нетрудно записать и их определение
в РБНФ, для этого потребуется лишь задать определённый алфавит и, если
это необходимо, дополнительные ограничения на вид идентификатора.
Число и идентификатор в РБНФ
Следующие грамматики определяют запись десятичного числа общего вида
(с ведущим знаком, возможной дробной частью и порядком) и типичного
идентификатора языка программирования (последовательность букв, цифр и
знаков подчёркивания, начинающаяся с буквы).
Число = ["+"|"-"]НатЧисло["."[НатЧисло]][("e"|"E")["+"|"-"]НатЧисло].
НатЧисло = Цифра{Цифра}.
Цифра = "0"|"1"|"2"|"3"|"4"|"5"|"6"|"7"|"8"|"9".
Идент = Буква{Буква|Цифра|"_"}.
Определение нетерминала Буква здесь не приведено ввиду очевидности и
громоздкости — он представляет собой выбор из принятого алфавита.
РБНФ и другие способы описания формальных грамматик
РБНФ и БНФ
Сходства и различия между БНФ и РБНФ очевидны из описания. Отличие
состоит, по большому счёту, в двух основных моментах:
1. В РБНФ упрощён синтаксис записи правил: знак определения «::=»
заменён на «=» и упразднено использование угловых скобок для
выделения нетерминалов. В результате исчезла возможность называть
нетерминалы многословными идентификаторами, зато запись стала
короче. В модификации синтаксиса РБНФ, в которой конкатенация
обозначается запятой, многословные идентификаторы использовать
можно.
2. В РБНФ введены два новых синтаксических элемента: условное
вхождение (выражение в квадратных скобках) и повторение
(выражение в фигурных скобках).
Об удачности или неудачности первого изменения могут быть разные
мнения, но, в любом случае, на выразительных возможностях формы оно не
сказывается. А вот второе нововведение весьма существенно. Оно также не
добавляет принципиально новых выразительных возможностей (всё, что
записано в РБНФ, можно адекватно записать и в обычной БНФ), но
существенно сокращает и упрощает запись.
Главное преимущество РБНФ перед БНФ — возможность описывать
простые повторяющиеся конструкции неопределённой длины (списки,
строки, последовательности и так далее) без рекурсивных правил. Отсутствие
в БНФ конструкции повторения приводит к тому, что любое повторение
55
приходится определять путём введения дополнительных промежуточных
нетерминальных символов и рекурсивных правил, из-за чего определение
становится чрезмерно большим по объёму и малопонятным. Описание
повторений в РБНФ оказывается одновременно и короче, и удобнее для
восприятия человеком.
В качестве примера можно рассмотреть правила, определяющие нетерминал
«список», представляющий собой набор от нуля до любого числа
идентификаторов, перечисленных через запятую (предполагается, что
символы «ПраваяСкобка», «ЛеваяСкобка», «Запятая» и «Идент» уже
определены).
Определение в РБНФ включает всего одно правило:
Список = ЛеваяСкобка [Идент {Запятая Идент}] ПраваяСкобка.
Определение в БНФ выглядит так:
<Список> ::= <ЛеваяСкобка> <ПраваяСкобка> | <ЛеваяСкобка>
<ИдентСпис> <ПраваяСкобка>
<ИдентСпис> ::= <Идент> | <Идент> <Запятая> <ИдентСпис>
Уже из этого примера видны отличия форм:
В БНФ в правиле, определяющем Список, присутствует два варианта
— для пустого списка и для любого другого. В РБНФ за счёт
конструкции условного вхождения необходимость в явном описании
двух вариантов исчезла.
В БНФ потребовалось ввести искусственное рекурсивное правило
ИдентСпис, чтобы описать последовательность идентификаторов,
разделённых запятыми. В РБНФ за счёт конструкции повторения
данный фрагмент синтаксиса записан прямо в основном правиле,
причём в более простом виде.
Поскольку РБНФ-правило одно, его длина меньше и оно не содержит
вариантов и рекурсии, его гораздо легче понять. Чтобы восстановить
форму списка по приведённым описаниям, в случае РБНФ-описания
достаточно последовательно записать значения символов, а для БНФ-
описания придётся определить порядок применения правил и
построить списки для каждого варианта (а их по два в каждом
правиле).
Естественно, что платой за преимущества РБНФ перед БНФ является
бо́ льшая сложность автоматической интерпретации РБНФ-описаний.
Генераторы программ синтаксического разбора по формальным описаниям
грамматики, использующие БНФ, проще тех, которые используют РБНФ.
РБНФ и синтаксические диаграммы
РБНФ эквивалентны подклассу синтаксических диаграмм, которые широко
используются для описания грамматик. Любую РБНФ-грамматику можно
адекватно представить синтаксической диаграммой, но, в общем случае,
синтаксические диаграммы позволяют создать описания, которые
невозможно представить в РБНФ (или, во всяком случае невозможно
56
перевести в РБНФ напрямую, не преобразуя перед этим графическое
описание).
Применение, достоинства и недостатки РБНФ
РБНФ, как и её предшественница — БНФ, — чрезвычайно широко
применяется как средство описания искусственных языков, прежде всего —
языков программирования и родственных им систем обозначений. В
частности, изобретатель РБНФ, Никлаус Вирт, использовал этот формализм в
своих книгах для описания всех рассматриваемых там языков
программирования.
Более высокая сложность РБНФ по сравнению с БНФ приводит к тому, что
генераторов программ грамматического разбора, работающих на основе
РБНФ, существенно меньше, чем тех, что основаны на БНФ. Тем не менее,
они существуют и применяются. РБНФ является основой для генераторов
программ грамматического анализа Spirit C++ Parser Framework, Coco/R, The
SLK Parser Generator, а также ряда других. Для применения в таких системах
синтаксис РБНФ расширяется в том же направлении, что синтаксис БНФ при
использовании парсер-генераторов Yacc или Bison— в описание грамматики
напрямую вставляется обрабатывающий её код, так или иначе организуется
взаимодействие с лексическим анализатором. Могут накладываться
дополнительные ограничения и на структуру правил — не все правила,
которые можно описать на РБНФ, могут быть эффективно преобразованы в
код.
К безусловным достоинствам РБНФ можно отнести простоту (сам язык
РБНФ содержит всего 10 специальных знаков — три вида скобок,
вертикальную черту, знак «равно» и кавычки, возможно, ещё запятую; его
синтаксис определяется пятью правилами), достаточную мощность и
наглядность, что делает его удобным для выполнения описаний,
предназначенных не только для автоматической интерпретации, но и для
чтения людьми. Близость конструкций РБНФ к синтаксическим диаграммам
позволяет рисовать последние прямо по РБНФ-описанию.
К недостаткам РБНФ, как, впрочем, и БНФ, можно отнести тот факт, что они
описывают грамматическую структуру формального языка без учёта
контекстных зависимостей, а значит, при наличии таких зависимостей
РБНФ-описание оказывается неполным, и некоторые правила синтаксиса
описываемого языка приходится излагать в обычной текстовой форме. Это
приводит к тому, что текст, точно соответствующий РБНФ-грамматике,
может, тем не менее, оказаться синтаксически некорректным. Например, в
РБНФ-грамматике невозможно естественным образом отобразить тот факт,
что некоторая операция требует операндов одного и того же типа. Подобные
проверки приходится проводить уже написанным вручную кодом
грамматического анализатора. С другой стороны, системы описания
грамматики, включающие определение контекстных зависимостей,
например, грамматика ван Вейнгаардена, оказываются существенно сложнее,
и использование их для автоматической генерации парсеров оказывается
затруднительным.
57
1.12. Элементы теории информационных систем
58
Понятия процесса и ресурса. Говоря об информационных системах, мы
очень часто сталкиваемся с такими распространенными понятиями как
процесс и ресурс, которые не совпадают с теми понятиями, под которыми мы
понимаем процессы и ресурсы в обыденной жизни. Например, мы говорим
«ресурс двигателя», имея в виду максимальную продолжительности его
работы без ремонта, или «технологический процесс», имея в виду
необходимую последовательность действий по производству некоторого
продукта. В нашем случае эти привычные термины будут иметь совершенно
другое значение.
. (4)
Сыр Мышка
Ресурс Процесс
Рис. 1.6
59
Однако, усложним систему, добавив в нее объект кошка (рис. 1.7).
Рис. 1.7
Авт. C1
60
Дорога (D)
A B
Рис. 1.8
Дорога
Авт. C1 (D)
Авт. C2
A B
Рис. 1.9
61
Специально изучением информации как таковой (т.е. в виде
абстрактного объекта, лишенного конкретного содержания), выявлением
общих свойств информации, законов, управляющих ее рождением, развитием
и уничтожением, занимается теория информации. К этой науке близко
примыкает теория кодирования, в задачу которой входит изучение тех
форм, в которые может быть «отлито» содержание любой конкретной
информационной единицы. В теории информации имеется раздел,
специально занимающийся теоретическими вопросами передачи информации
по различным каналам связи.
Теория информации была основана американским ученым К. Шенноном
в конце 40-х годов ХХ века. Новизна, общность и абстрактность понятий
теории информации побудили многих специалистов приложить ее к областям
разных наук. Наиболее естественными оказались связи новой науки с
математической статистикой (теорией извлечения информации из
измерений), статистической радиотехникой (теорией извлечения
информации из сигналов, передаваемых по каналам связи), статистической
физикой. Вместе с тем не следует полагать, что теория информации (по
Шеннону, «статистическая теория информации») описывает все стороны
информационных отношений и претендует на исчерпывающее описание той
роли, которую играет информация в человеческом обществе, живых
организмах и других системах. Попытки снять ограничения теории (вводя
количественные меры для ценности, верности, смысла информации)
продолжаются.
Большая часть существующей теории информации создана
математиками. В главе содержатся некоторые элементарные результаты и
выводы теории, анализируются возможности ее применения к процессам,
происходящим в компьютерах.
ОСНОВНЫЕ ПОНЯТИЯ
62
1. Неопределенность. «Я получил очень малую информацию, поскольку
знал, что он скажет еще до того, как он заговорил».
Чтобы измерить количество информации, исходя из понятия
неопределенности, инженер ставит себя на место приемника действительной
или возможной информации. В этом случае конкретное количество
информации он рассматривает как результат определенного выбора среди
возможных вариантов сообщений. Слово «выбор» несет в себе важный
смысл. С принятой здесь точки зрения понятие количества информации
связано с неопределенностью или неправдоподобием конкретной
информации безотносительно к ее структуре. Другими словами, мы
совершенно не интересуемся ее семантическим (смысловым) содержанием.
2, Сложность структуры. «Прибор, делающий измерения через 0,01
секунды, дает больше информации в расчете на 1 секунду (т.е. больше
отсчетов), чем прибор, делающий измерения через 0,1 секунды».
Количество различимых признаков, характеризующих данный предмет,
т.е. его размерность или число степеней свободы, является мерой
структурной информации. Ясно, что цветное изображение содержит в себе
больше информации по сравнению с черно-белым изображением того же
объекта.
3. Метрическая информация. «Эксперимент, результат которого
обладает погрешностью, равной 1%, более информативен (т.е. дает
больше информации), чем эксперимент, характеризующийся
погрешностью 10%».
По отношению к измерению некоторой численной величины количество
метрической информации представляет собой меру «точности», с которой эта
величина определяется.
СООБЩЕНИЯ И СИГНАЛЫ
63
Сигналы – это проявление некоторого физического процесса (например
электрических или световых колебаний), посредством которого сообщения
передаются. Среди параметров процесса выбирается один или несколько,
значения которых должны нести информацию. Такими параметрами могут
быть длительность, амплитуда, частота, яркость, цвет и т.д. Сигналы несут в
себе информационное содержание, поскольку посредством их представляется
сообщение.
Любая информация как некоторая энергетическая категория может
проявляться только через сигналы. Таким образом, любые преобразования
информации требуют преобразования физических объектов, в которых
воплощаются сообщения. Это положение одно из основополагающих при
построении компьютеров как универсальных физических систем обработки
информации.
Поток энергии идет от генератора (источника) к приемнику или
потребителю информации. Очень немногие генераторы информации
можно использовать в качестве приемников и наоборот. (Так, мы говорим
голосовым аппаратом, а воспринимаем звуки слуховым.) В некоторых
средах энергия может передаваться с равным успехом в двух и большем
числе направлений. Подобные среды можно использовать для
двусторонней связи. Примерами этого могут служить распространение
звуковых колебаний в воздухе и электрических колебаний в проводах. С
помощью специальных устройств односторонние передатчики и
приемники иногда используются в среде, проводящей сигналы в обоих
направлениях, для установления двусторонней связи.
ДИСКРЕТНЫЕ СООБЩЕНИЯ
65
В некоторых системах передачи информации используется простейший
бинарный, или двухбуквенный алфавит: различаются только случаи наличия
или отсутствия сигнала.
66
меняться без потери информации. Например, при телефонной связи сначала
акустический сигнал от говорящего преобразуется в электрический, который
затем в телефонной трубке снова превращается в акустический. Может
измениться и информационный характер сигнала: непрерывный сигнал
становится дискретным (такое преобразование – дискретизация, или
квантование) и наоборот. При вводе результатов измерений в ЭВМ
происходит дискретизация сигналов.
67
КЛАССИЧЕСКИЕ МЕРЫ КОЛИЧЕСТВА ИНФОРМАЦИИ
68
Далее в настоящей книге понятие глубины сообщения будет
трансформировано в понятие основания системы счисления.
N = q n. (2.1)
(2.3)
I=I1+I2+…+Ik= . (2.4)
Здесь I i – количество информации от источника i. Всего источников – k.
Логарифмическая мера информации позволяет измерить количество
информации и используется на практике.
В качестве примера рассмотрим следующую задачу. Необходимо
определить, какое количество информации в битах содержит книга,
написанная на русском языке, содержащая 200 страниц (каждая страница
содержит приблизительно 2000 символов).
Для решения воспользуемся мерой Хартли
I = n • log 2 q = 200 • 2000 • log 2 32 = 2000000 бит.
69
Здесь n – длина сообщения в знаках: n = 200 страниц • 2000 знаков/страница
= 400000 знаков.
Итак, книга содержит около 2-х мегабит (Мбит) информации.
А1 – «орел»;
А2 – «решка».
В1 – выпала единица;
В2 – выпала двойка;
...
В6 – выпала шестерка.
70
Какая из этих систем обладает большей неопределенностью? Очевидно,
вторая, так как она отличается большим разнообразием возможных
состояний. С первого взгляда может показаться, что все дело в числе
состояний: у первой системы их два, а у второй – шесть. Однако степень
неопределенности зависит не только от числа состояний, но и от их
вероятностей. Здесь под вероятностью появления какого-либо состояния
понимается величина, равная частоте (или средней частоте) появления:
отношению числа благоприятных исходов (появления события) к общему
количеству состояний.
Чтобы убедиться в том, что степень неопределенности зависит от
вероятности появления события, рассмотрим третью систему С, у которой,
как и у системы А, два возможных состояния. Пусть системой С будет
техническое устройство, которое имеет два возможных состояния:
С1 – устройство исправно;
С2 – устройство отказало.
Если вероятности этих двух состояний одинаковы (по 0,5 или 50%), то
степень неопределенности системы С такая же, как системы А (монета).
Теперь представим себе, что состояния С1 и С2 неравновероятны,
например, вероятность первого – 0,99 (99%), а вероятность второго – 0,01
(1%).
Очевидно, степень неопределенности такой системы будет гораздо
меньше, чем в первом случае: ведь мы почти уверены, что устройство будет
исправно. А если состояние С1 будет совершенно достоверно (то есть иметь
вероятность 1), то, очевидно, система С вообще никакой неопределенностью
обладать не будет.
Таким образом, мы убедились, что степень неопределенности
физической системы зависит не только от числа состояний, но и от того, как
распределены вероятности между состояниями.
В теории информации в качестве меры неопределенности системы
принята так называемая энтропия.
Если система А имеет n возможных состояний А1 , А2 , . . ., Аn, причем
вероятности этих состояний равны соответственно p 1 , p 2 , …, p n ; и p1
+ p 2 + … + p n = 1, то энтропией системы А называется величина:
или
H(A) = - pi • log q , (2.6)
то есть сумма произведений вероятностей состояний на логарифмы этих
вероятностей, взятая с обратным знаком (обратный знак берется просто для
того, чтобы энтропия была неотрицательной).
71
Логарифм в формуле (2.6) может быть взят при любом основании.
Обычно логарифм берется по основанию 2. Тогда говорят, что энтропия
измеряется в двоичных единицах (битах):
(2.7)
72
а) энтропия всегда неотрицательна, так как значения вероятностей
выражаются величинами, не превосходящими единицу, а их логарифмы –
отрицательными числами или нулем, так что члены суммы (2.7)
неотрицательны;
б) если pi = 1 (а все остальные pj = 0, j = 1, …, (n-1)), то Н(А) = 0. Это тот
случай, когда об опыте или величине все известно заранее и результат не
дает новую информацию;
в) H(A) = Hmax при p1 = p2 = … = pn = ,
при этом
;
г) энтропия системы, состоящей из двух подсистем А и В (состояния
системы образуются совместной реализацией объектов А и В), то есть:
I=H.
I = H0 – H1.
Таковы в самых общих чертах принципиальные основы классической
теории информации. Она дает полезный аппарат, позволяющий решать ряд
важных практических задач (например, в теории связи при кодировании
речи или изображений). Однако этот аппарат не универсальный, и множество
ситуаций не укладывается в шенноновскую модель.
73
Отметим, что далеко не всегда можно заранее (до сообщения)
установить перечень возможных состояний системы и вычислить их
вероятности. Например, вряд ли можно численно оценить вероятность того,
что в нашей солнечной системе существует еще одна – десятая - планета. Тем
не менее, с точки зрения обычного здравого смысла (а не нарушать его –
естественное требование к теории) ясно, что сообщение об открытии новой
планеты должно нести очень большую информацию, но оценить ее в битах
не удается. Другой пример: допустим, что система радиолокационных
станций ведет наблюдение за воздушным пространством с целью
обнаружения самолета противника. Система А, за которой ведется
наблюдение, может быть в одном из двух состояний:
А1 – противник есть;
А2 – противника нет.
74
В этом случае, естественно, нужно оценивать информацию,
содержащуюся в сообщении, по увеличению эффективности той операции, в
интересах которой поступает информация. Предположим, что эффективность
операции может быть оценена численно с помощью какого-то критерия W, и
мы хотим эту величину сделать максимальной. Пусть без сообщения S
эффективность операции оценивается величиной Ws. Естественно
предположить, что приращение эффективности в какой-то мере
характеризует ценность и важность полученного сообщения.
Пусть, например, операция состоит в подборе ассортимента товаров для
торговой точки, а сообщение S касается покупательского спроса на
отдельные виды товаров в данном районе. В качестве критерия
эффективности W рассматривается вырученная прибыль. Тогда ценность
информации, заключенной в сообщении S, можно оценить разницей (
), где W0 – прибыль, которую мы получили бы без сообщения S, W s -
прибыль, которую мы получили с учетом сообщения S.
Выделим в качестве семантических мер наиболее распространенные в
теории содержательность и целесообразность.
, (2.8)
75
Конечно, этими характеристиками количество информации оценивается
косвенно. Такой косвенный способ учета содержания информации в
некоторых случаях, безусловно, правомочен и является некоторым шагом
вперед, преодолевающим ограниченность классической теории. Однако и эта
постановка вопроса пригодна далеко не для всех ситуаций. Она основана на
предположении, что информация, содержащаяся в сообщении, будет
использована в интересах какой-то вполне определенной операции и только в
них. На практике же часто встречаются случаи, когда информация вовсе не
предназначена для обслуживания какой-либо определенной операции, а
просто расширяет объем наших сведений о некотором классе явлений,
причем совершенно не известно, когда и как эта информация может быть
использована (например, информация, полученная фотографированием
Марса).
ПРЕОБРАЗОВАНИЕ И ПРЕДСТАВЛЕНИЕ
ИНФОРМАЦИИ
76
б) непрерывно - дискретные сигналы. Модель 1 – непрерывная
функция дискретного аргумента. Значения x(t) определяются на дискретном
множестве значений аргумента t i,
i=0, 1, 2, … Величина x(t) может принимать любые значения из диапазона
[xmin, xmax] (рис. 3.1, б). Модель 2 – дискретная функция непрерывного
аргумента. Значения, которые может принимать функция x(t) образуют
дискретный ряд чисел x1, x2, …, xk. Значение аргумента t может быть любым в
интервале [tmin, tmax];
в) дискретные сигналы. Модель – дискретная функция дискретного
аргумента. Значения, которые может принимать функция x(t) и аргумент t,
образуют дискретные ряды чисел x1, x2, …, xk и t1, t2, …, tk, заданные на
интервалах [xmin, xmax], [tmin, tmax] (рис. 3.1, в).
77
Х
xmax
хmin
T
t1 t2 t3 tk
б
78
Рис. 2.2. Формы представления информации
79
Рис. 2.3. Информационная модель канала связи
80
ГЛАВА 3. МОДЕЛИ И КЛАССИФИКАЦИИ
ИНФОРМАЦИОННЫХ СИСТЕМ
Транспортная сеть
Рис.3.1
81
Система А Система В
Прикладной Прикладной
Сеансовыый Сеансовыый
Интерфейсы
Интерфейсы
Транспортный Протоколы Транспортный
Сетевой Сетевой
Канальный Канальный
Физический Физический
Рис. 3.2
82
Рис. 3.3
Рис. 3.4
84
Поток заявок 1 Очередь заявок 1 Cервер 1
Сеть связи
Поток заявок 1
Очередь заявок 2 Cервер 2
....
....
Поток заявок
Очередь заявок N Cервер N
N
Порождающий се
рверный процесс
Рис. 3.5
85
администрировании РТКС или РИС необходимо обратить внимание, прежде
всего, на ОС сервера.
Рассмотрим следующий интересующий нас уровень модели ISO/OSI –
уровень представления данных (ПД). Если на сеансовом уровне решается
задача защиты ресурса от разрушения при МД, то на уровне ПД должна
решаться задача шифрации передаваемых данных. Модель ISO/OSI
предоставляет такую возможность в силу своей открытости. Если на нижних
уровнях модели мы не имеем права на использование нестандартных
протоколов (ибо в этом случае разрушится сама РТКС), то на верхних
уровнях, помимо общепризнанных стандартов (например, FTP, SMTP, HTTP
и так далее) мы имеем право на разработку и использование собственных
методов, алгоритмов и процедур управления ресурсами.
Последний, самый высокий уровень модели ISO/OSI – прикладной
позволяет нам решать любые задачи с случае, если их невозможно решить с
помощью штатных средств ОС. Например, в ОС UNIX и Microsoft Windows
задача МД решается с помощью флага блокировки ресурса, что фактически
приводит нас к случайным алгоритмам обслуживания со всеми
вытекающими негативными последствиями (перегрузка систем, отказ в
обслуживании и так далее). Поэтому в безопасных РИС и РТКС необходимо
размещать соответствующие алгоритмы (работа с очередями FIFO, HPF, RR
и так далее) на прикладном уровне.
Рис. 3.6
87
Рис. 3.7
В рамках такой модели (это справедливо и для других классических
мультипроцессоров, в которых каждый процессор выполняет только один
процесс) термины «процесс» и «процессор» по сути, тождественны.
Модель не может быть использована для решения задачи управления
ресурсом по двум причинам. Во-первых, в отличии от SISD в ней не
существует общего ресурса. Во-вторых, в РТКС невозможно в силу
топологических причин засинхронизировать действия нескольких процессов
так, чтобы команды в этих процессах выполнялись синхронно. Таким
образом, возможности применения модели в РТКС, как минимум, весьма
ограничены и могут быть использованы только концептуально при анализе
систем, имеющих дело с распределенными ресурсами (поиск в
распределенных СУБД и так далее). При этом должны быть решены
вопросы синхронизации процессов.
88
Поток заявок 1 Поток заявок 2 Поток заявок N
Рис. 3.8.
Модель MISD (рис. 1.8). Флинн определил эту модель как «пустой
класс», поскольку на момент создания классификации не было систем,
подходящих под MISD. В настоящее время известна система, имеющая
явные MISD-признаки. Это класс конвейерных процессоров, в котором
множество разных процессоров выполняют операции над общими данными;
при этом действий процессоров должны быть взаимосвязаны. Переходя от
конвейерных процессоров к множеству процессов в РТКС и от общих
данных к общему ресурсу видим, что MISD, по сути, идеально подходит для
решения нашей задачи. В самом деле, в MISD есть оба признака,
определяющих задачу управления ресурсом – наличие множества процессов
и их конкуренция за общий ресурс. Таким образом, применительно к РТКС в
рамках этой модели может быть получен новый класс алгоритмов,
принципиально (на модельном уровне) отличающихся от алгоритмов,
используемых в настоящее время.
89
Рис. 3.9
Количество
Модель ресурсов мониторов
1-я 1 1
2-я >1 1
3-я 1 >1
4-я >1 >1
92
Модели 1 и 2 наиболее просты в реализации алгоритмов управления и
широко применяются в различных системах. Вместе с тем они имеют
недостатки, основные из которых – низкая надежность централизованного
монитора и его ограниченная пропускная способность.
93
4.2. Операционные системы с разделением времени (системы с
многопользовательской защитой)
, (5)
95
Следует отметить, что работа в реальном времени далеко не всегда
означает, что задача решается «очень быстро». Например, в стекольном
производстве (варка стекла) технологические процессы протекают медленно,
и управлять ими могут ЭВМ с относительно небольшим быстродействием.
Хотя, конечно, есть очень много процессов, которые протекают крайне
быстро и требуют переработки больших объемов информации.
97
Языки низкого уровня - это машинно-ориентированные языки, в
которых каждая команда соответствует машинной команде или
элементарной операции.
98
Все языки низкого уровня ориентированы на определенный тип
аппаратуры, а потому специализированы. В настоящее время наиболее
популярны языки ассемблеров для систем команд IBM-PC и VAX.
Для всех языков высокого уровня общее то, что ориентированы они не
на систему команд той или иной ЭВМ, а на систему операторов, характерных
для записи определенного класса алгоритмов. Типичные операторы таких
языков - операторы присваивания (по сути дела, это формулы, значения
которых запоминаются в заданных переменных); перехода; цикла; условные
операторы; операторы ввода/вывода; операторы описания данных.
- на экономические (коммерческие);
- научные;
- специализированные;
- многоцелевые.
99
Основу ФОРТРАНА составляют арифметические операторы,
соответствующие по своему синтаксису традиционной записи
математических выражений. Кроме того, в языке имеются средства
представления условий и средств представления циклов. Имеются
достаточно развитые средства форматного ввода/вывода числовых данных.
Наконец, есть средства разбиения сложных алгоритмов на более простые за
счет явного определения подпрограмм (Subroutine) и функций (Function).
Описание данных в ФОРТРАНЕ ориентированы на представление, главным
образом, чисел. Поэтому типы данных просты: это целые и действительные
числа, а также массивы из таких чисел (одномерные и многомерные).
100
Среди таких языков выделим:
- ЛИСП (LIST Processing Language, Дж. Маккарти, 1960 г.). Язык стал
основой рода программных реализаций интеллектуальных систем.
Предназначен для обработки списков. ЛИСП-программа представляет собой
рекурсивную функцию над текстовыми данными со скобочно-списковой
структурой;
- ПРОЛОГ ( PROgramming in LOGin) - язык «логического
программирования», разработан А. Калмероэ в 1978 г.;
- РЕФАЛ (рекурсивных функций алгоритмический язык) - ориентирован
на реализацию в виде программ нормальных алгоритмов Маркова.
Разработан В.Тургиным. Подобно ЛИСПу, этот язык активно использует
мощные средства преобразования списков на основе концепции
распознавания образов;
- СИМУЛА. Разработан как расширение АЛГОЛ-60 (У.И. Дал, 1964 г.,
СИМУЛА-1, 1968 г., СИМУЛА-67) для моделирования дискретных систем
(задач имитационного моделирования);
- АДА - язык программирования для встроенных вычислительных
систем (Дж. Ишбиа, 1980 г.). Для него характерны статический контроль
программ, абстракция данных, пакеты, концепция «рандеву». За счет этого
язык обеспечивает программирование задач реального времени, возможности
моделирования параллельного решения задач и обработку прерываний.
Назван в честь Ады Лавлейс (иногда АДА трактуется как сокращение от
Automatic Data Acquisitian).
Выделим следующие:
5.4. Трансляторы
103
На втором этапе генерируется выходная программа - результат работы
транслятора. Если в исходной программе на первом этапе обнаружены
синтаксические ошибки, то генерировать выходную программу
бессмысленно - она не будет работать. В данном случае транслятор выдает
распечатки ошибок и процесс трансляции прекращается.
- редакторы;
- средства компоновки программ;
- отладочные программы, т.е. программы, помогающие находить и
устранять ошибки в программе;
- вспомогательные программы, реализующие часто используемые
системные действия;
- графические пакеты программ и т.п.
105
Запоминающее устройство – одно из основных устройств
вычислительной машины. Оно используется для записи, хранения и выдачи
по запросу информации, необходимой для решения задачи.
106
6.1. Основная память
108
Современные микропроцессоры имеют встроенную кэш-память, так
называемый кэш первого уровня. Кроме того, на системной плате компьютера
может быть установлен кэш второго уровня.
Достоинства CD-ROM:
- при малых физических размерах CD-ROM обладают высокой
информационной ёмкостью, что позволяет использовать их в справочных
системах и в учебных комплексах с богатым иллюстративным материалом;
- один CD, имея размеры примерно дискеты, по информационному
объёму равен почти 500 таким дискетам;
- считывание информации с CD происходит с высокой скоростью,
сравнимой со скоростью работы винчестера;
- CD просты и удобны в работе, практически не изнашиваются;
- CD не могут быть поражены вирусами;
- на CD-ROM невозможно случайно стереть информацию;
- стоимость хранения данных (в расчете на 1 Мбайт) низкая.
7.1. Клавиатура
7.2. Манипуляторы
7.3. Сканеры
а) разрешающей способностью;
г) быстродействием;
е) стоимостью.
117
Сканер освещает оригинал, а его светочувствительный датчик с
определенной частотой производит замеры интенсивности отраженного
оригиналом света. Разрешающая способность сканера прямо
пропорциональна частоте замеров. В процессе сканирования устройство
выполняет преобразование величины интенсивности в двоичный код,
который передается в ЭВМ для дальнейшей обработки.
118
7.5. Сенсорные экраны
а) резистивного типа;
б) c емкостными датчиками;
в) с акустическими датчиками;
г) с оптическими датчиками.
в) быстродействию;
г) объему словаря;
122
В последнее время широкое распространение получили
жидкокристаллические дисплеи с задней (обратной) подсветкой или с
активной матрицей. Их конструктивная особенность в том, что за экраном
размещается источник света, а сам экран состоит из жидкокристаллических
ячеек, которые в нормальном состоянии являются непрозрачными. При
приложении к такой ячейке напряжения она начинает пропускать свет, что
приводит к получению изображения на экране. Такой принцип
формирования изображения облегчает создание цветных дисплеев.
123
Разрешение дисплея измеряется в различных единицах. Для
алфавитно-цифровых устройств указывается число воспроизводимых
символов в строке и строк на экране.
Для графических дисплеев указывается разрешающая способность, т. е.
количество высвечиваемых точек по горизонтали и вертикали, например:
320x200 или 640x480.
125
Принтеры классифицируются по технологии печати.
а) емкостью памяти;
б) набором шрифтов;
в) форматом используемой бумаги (ширина каретки);
г) габаритными размерами и массой;
д) энергопотреблением;
е) уровнем шума;
ж) экологической безопасностью.
8.3. Графопостроители
126
В зависимости от конструктивного исполнения плоттеры делятся на
устройства планшетного и рулонного (барабанного) типа. В
графопостроителе можно использовать одно или несколько десятков цветных
перьев. Над поверхностью листа находится блок, напоминающий рейсшину,
и двигающийся по осям координат.
127
Аппаратное обеспечение составляют ПК или ЭВМ различных типов,
средства связи и оборудование абонентских пунктов (в литературе для
абонентских пунктов принято сокращение АП, в некоторых источниках
литературы они называются рабочими станциями – РС). К ЭВМ сети
предъявляются требования универсальности и модульности. Универсальность
ЭВМ необходима для решения широкого круга задач пользователей сети.
Модульность структуры ЭВМ сети обеспечивает возможность изменения
конфигурации ЭВМ и расширения сети. ЭВМ могут размещаться либо
непосредственно у пользователя сети (персональные компьютеры - ПК), либо
в вычислительном центре, куда пользователи обращаются с запросами со
своих терминалов по каналам связи.
Информационное обеспечение представляет собой массивы (файлы)
данных общего применения (в литературе их называют базами данных,
банками данных, хранилищем данных) и структурированные данные
индивидуального пользования. Данные общего применения доступны для всех
пользователей сети.
Программное обеспечение сети предназначено для нескольких целей:
- организации коллективного доступа к ресурсам;
- динамического распределения и перераспределения ресурсов
сети с целью максимальной загрузки различных технических
средств;
- координации работы основных звеньев и элементов сети;
- автоматизации программирования;
- проведения технического обслуживания вычислительной
техгики сети.
Программное обеспечение (ПО) сети состоит из: общего, специального и
системного.
Общее ПО сети включает операционную систему, систему
программирования и систему технического обслуживания. Операционная
система (ОС) сети решает следующие задачи:
- распределение потока заданий между ЭВМ;
- координация работы звеньев и элементов сети;
- управление подключением и отключением от сетевого
процесса отдельных ЭВМ;
- генерация ПО системы передачи данных в сети и управление
передачей данных.
Специальное ПО включает программы часто решаемых пользователями
задач и программы, обеспечивающие рациональное использование
вычислительных ресурсов сети. В него входят программы поддержки в
актуальном состоянии информационного обеспечения общего пользования,
информационно-поисковые системы и автоматизированные фонды алгоритмов
и программ (общие библиотеки).
Системное ПО представляет собой распределенную операционную
систему сети (РОСС). С ее помощью объединяются ресурсы сети для их
128
коллективного использования абонентами. Основные функции такой ОС
следующие:
- установление последовательности решения задач и
обеспечение их общесетевыми ресурсами;
- оперативное управление распределением ресурсов по
элементам сети;
- контроль работоспособности элементов сети и обеспечение
достоверности вводимой и результирующей информации;
- анализ состояния сети и выработка рекомендаций для принятия
решений в случае возникновения сложных и непредвиденных
ситуаций при оперативном управлении.
а)
б)
- центр обработки и коммутации - АП (РС)
130
В сетях с кольцевой топологией (рис.1б) имеется несколько центров
обработки информации, соединенных в общую сеть каналами связи. В каждом
центре обработки имеется свой коммутационный узел. Запросы от АП могут
обрабатываться не только в ближайшем центре, но и в любом удаленном
свободном от запросов центре. В такой сети:
- повышается надежность функционирования сети;
- увеличивается гибкость сети при обработке запросов
пользователя;
- появляется возможность привлекать ресурсы нескольких
центров при решении сложных вычислительных задач.
Все эти преимущества достигаются за счет больших расходов на
создание и эксплуатацию сети.
У
К
а) б)
- узлы коммутации
Прикладные процессы
TCP UDP
IP
ARP
Рис. 10.1. Структура протокольных
модулей в узле сети TCP/IP
Ethernet
10.3. Терминология
Введем ряд базовых терминов, которые мы будем использовать в даль-
нейшем.
133
Драйвер - это программа, непосредственно взаимодействующая с сетевым
адаптером.
Модуль - это программа, взаимодействующая с драйвером, сете- выми
прикладными программами или другими модулями. Драйвер сетевого
адаптера и, возможно, другие модули, специфичные для физической сети
передачи данных, предоставляют сетевой интерфейс для протокольных
модулей семейства TCP/IP.
Название блока данных, передаваемого по сети, зависит от того, на каком
уровне стека протоколов он находится. Блок данных, с которым имеет дело
сетевой интерфейс, называется кадром; если блок данных находится между
сетевым интерфейсом и модулем IP, то он называется IP-пакетом; если он -
между модулем IP и модулем UDP, то - UDP-датаграммой; если между
модулем IP и модулем TCP, то - TCP-сегментом (или транспортным сообще-
нием); наконец, если блок данных находится на уровне сетевых прикладных
процессов, то он называется прикладным сообщением.
Эти определения, конечно, несовершенны и неполны. К тому же они
меняются от публикации к публикации. Более подробные определения
можно найти в RFC-1122, раздел 1.3.3.
10.4. Потоки данных
Рассмотрим потоки данных, проходящие через стек протоколов, изобра-
женный на рис.1. В случае использования протокола TCP (Transmission Con-
trol Protocol - протокол управления передачей), данные передаются между
прикладным процессом и модулем TCP. Типичным прикладным процессом,
использующим протокол TCP, является модуль FTP (File Transfer Protocol -
протокол передачи файлов). Стек протоколов в этом случае будет
FTP/TCP/IP/ENET.
При использовании протокола UDP (User Datagram Protocol - протокол
пользовательских датаграмм), данные передаются между приклад- ным
процессом и модулем UDP. апример, SNMP (Simple Network Management
Protocol - простой протокол управления сетью) пользуется транспортными
услугами UDP. Его стек протоколов выглядит так: SNMP/UDP/IP/ENET.
Модули TCP, UDP и драйвер Ethernet являются мультиплексорами n x 1.
Действуя как мультиплексоры, они переключают несколько входов на один
выход. Они также являются демультиплексорами 1 x n. Как демультиплек-
соры, они переключают один вход на один из многих выходов в соответствии
с полем типа в заголовке протокольного блока данных (рис.2).
Когда Ethernet-кадр попадает в драйвер сетевого интерфейса Ethernet, он
может быть направлен либо в модуль ARP (Address Resolution Protocol -
адресный протокол), либо в модуль IP (Internet Protocol - межсетевой про-
токол). а то, куда должен быть направлен Ethernet-кадр, указывает зна- чение
поля типа в заголовке кадра.
Если IP-пакет попадает в модуль IP, то содержащиеся в нем данные могут
быть переданы либо модулю TCP, либо UDP, что определяется полем
"протокол" в заголовке IP-пакета.
134
Если UDP-датаграмма попадает в модуль UDP, то на основании значения
поля "порт" в заголовке датаграммы определяется прикладная программа,
которой должно быть передано прикладное сообщение. Если TCP-сообщение
попадает в модуль TCP, то выбор прикладной программы, которой должно
быть передано сообщение, осуществляется на основе значения поля "порт" в
заго- ловке TCP-сообщения.
Мультиплексирование данных в обратную сторону осуществляется
довольно просто, так как из каждого модуля существует только один путь
вниз. Каждый протокольный модуль добавляет к пакету свой заголовок, на
основании которого машина, принявшая пакет, выполняет
демультиплексирова- ние. Данные от прикладного процесса проходят через
модули TCP или UDP, после чего попадают в модуль IP и оттуда - на уровень
сетевого интер- фейса.
Хотя технология internet поддерживает много различных сред передачи
данных, здесь мы будем предполагать использование Ethernet, так как
именно эта среда чаще всего служит физической основой для IP-сети.
Машина на рис.1 имеет одну точку соединения с Ethernet. Шестибайтный
Ethernet-адрес является уникальным для каждого сетевого адаптера и рас-
познается драйвером.
Машина имеет также четырехбайтный IP-адрес. Этот адрес обозначает
точку доступа к сети на интерфейсе модуля IP с драйвером. IP-адрес дол- жен
быть уникальным в пределах всей сети Internet.
Работающая машина всегда знает свой IP-адрес и Ethernet-адрес.
135
11.1. Аналогия с разговором
Хорошей аналогией взаимодействиям в среде Ethernet может служить
разговор группы вежливых людей в небольшой темной комнате. При этом
ана- логией электрическим сигналам в коаксиальном кабеле служат звуковые
волны в комнате.
Каждый человек слышит речь других людей (контроль несущей). Все
люди в комнате имеют одинаковые возможности вести разговор
(множественный доступ), но никто не говорит слишком долго, так как все
вежливы. Если человек будет невежлив, то его попросят выйти (т.е. удалят из
сети). Все молчат, пока кто-то говорит. Если два человека начинают говорить
одновременно, то они сразу обнаруживают это, поскольку слышат друг друга
(обнаружение столкновений). В этом случае они замолкают и ждут некоторое
время, после чего один из них вновь начинает разговор. Другие люди слы-
шат, что ведется разговор, и ждут, пока он кончится, а затем могут начать
говорить сами. Каждый человек имеет собственное имя (аналог уникального
Ethernet-адреса). Каждый раз, когда кто-нибудь начинает говорить, он
называет по имени того, к кому обращается, и свое имя, например, "Слушай
Петя, это Андрей, ... ля-ля-ля ..." Если кто-то хочет обратиться ко всем, то он
говорит: "Слушайте все, это Андрей, ... ля-ля-ля ..." (широковеща- тельная
передача).
11.2. Протокол ARP
В этом разделе мы рассмотрим то, как при посылке IP-пакета определя-
ется Ethernet-адрес назначения. Для отображения IP-адресов в Ethernet-
адреса используется протокол ARP (Address Resolution Protocol - адресный
протокол). Отображение выполняется только для отправляемых IP-пакетов,
так как только в момент отправки создаются заголовки IP и Ethernet.
11.3. ARP-таблица для преобразования адресов
Преобразование адресов выполняется путем поиска в таблице. Эта таб-
лица, называемая ARP-таблицей, хранится в памяти и содержит строки для
каждого узла сети. В двух столбцах содержатся IP- и Ethernet-адреса. Если
требуется преобразовать IP-адрес в Ethernet-адрес, то ищется запись с
соответствующим IP-адресом. Ниже приведен пример упрощенной ARP-
таблицы.
IP-адрес Ethernet-адрес
| 223.1.2.1 08:00:39:00:2F:C3
223.1.2.3 08:00:5A:21:A7:22
223.1.2.4 08:00:10:99:AC:54
136
Принято все байты 4-байтного IP-адреса записывать десятичными чис-
лами, разделенными точками. При записи 6-байтного Ethernet-адреса каждый
байт указывается в 16-ричной системе и отделяется двоеточием.
ARP-таблица необходима потому, что IP-адреса и Ethernet-адреса выби-
раются независимо, и нет какого-либо алгоритма для преобразования одного
в другой. IP-адрес выбирает менеджер сети с учетом положения машины в
сети internet. Если машину перемещают в другую часть сети internet, то ее IP-
адрес должен быть изменен. Ethernet-адрес выбирает производитель сетевого
интерфейсного оборудования из выделенного для него по лицензии
адресного пространства. Когда у машины заменяется плата сетевого адап-
тера, то меняется и ее Ethernet-адрес.
IP-адрес Ethernet-адрес
223.1.2.1 08:00:39:00:2F:C3
223.1.2.2 08:00:28:00:38:A9
223.1.2.3 08:00:5A:21:A7:22
223.1.2.4 08:00:10:99:AC:54
138
3) Возвращается ARP-ответ, содержащий информацию о соответствии IP- и
Ethernet-адресов. Эта информация заносится в ARP-таблицу.
140
Удобным средством структуризации сетей в рамках одной организации
являются под- сети.
11.10. Подсети
Адресное пространство сети internet может быть разделено на непере-
секающиеся подпространства - "подсети", с каждой из которых можно рабо-
тать как с обычной сетью TCP/IP. Таким образом единая IP-сеть организа-
ции может строиться как объединение подсетей. Как правило, подсеть соот-
ветствует одной физической сети, например, одной сети Ethernet.
Конечно, использование подсетей необязательно. Можно просто назна-
чить для каждой физической сети свой сетевой номер, например, номер
класса C. Однако такое решение имеет два недостатока. Первый, и менее
существенный, заключается в пустой трате сетевых номеров. Более серьез-
ный недостаток состоит в том, что если ваша организация имеет несколько
сетевых номеров, то машины вне ее должны поддерживать записи о
маршрутах доступа к каждой из этих IP-сетей. Таким образом, структура IP-
сети организации становится видимой для всего мира. При каких-либо
изменениях в IP-сети информация о них должна быть учтена в каждой из
машин, поддер- живающих маршруты доступа к данной IP-сети.
Подсети позволяют избежать этих недостатков. Ваша организация должна
получить один сетевой номер, например, номер класса B. Стандарты TCP/IP
определяют структуру IP-адресов. Для IP-адресов класса B первые два октета
являются номером сети. Оставшаяся часть IP-адреса может использоваться
как угодно. апример, вы можете решить, что третий октет будет определять
номер подсети, а четверый октет - номер узла в ней. Вы должны описать
конфигурацию подсетей в файлах, определяющих маршрутизацию IP-
пакетов. Это описание является локальным для вашей организации и не
видно вне ее. Все машины вне вашей организации видят одну большую IP-
сеть. Следовательно, они должны поддерживать только маршруты доступа к
шлюзам, соединяющим вашу IP-сеть с остальным миром. Изменения,
происхо- дящие в IP-сети организации, не видны вне ее. Вы легко можете
добавить новую подсеть, новый шлюз и т.п.
11.11. Как назначать номера сетей и подсетей
После того, как решено использовать подсети или множество IP-сетей, вы
должны решить, как назначать им номера. Обычно это довольно просто.
Каждой физической сети, например, Ethernet или Token Ring, назначается
отдельный номер подсети или номер сети. В некоторых случаях имеет смысл
назначать одной физической сети несколько подсетевых номеров. апример,
предположим, что имеется сеть Ethernet, охватывающая три здания. Ясно,
что при увеличении числа машин, подключенных к этой сети, придется ее
разделить на несколько отдельных сетей Ethernet. Для того, чтобы избе- жать
необходимости менять IP-адреса, когда это произойдет, можно заранее
выделить для этой сети три подсетевых номера - по одному на здание. (Это
полезно и в том случае, когда не планируется физическое деление сети.
Просто такая адресация позволяет сразу определить, где находится та или
иная машина.) Однако прежде, чем выделять три различных подсетевых
141
номера одной физической сети, тщательно проверьте, что все ваши
программы спо- собны работать в такой среде.
Вы также должны выбрать "маску подсети". Она используется сетевым
программным обеспечением для выделения номера подсети из IP-адресов.
Биты IP-адреса, определяющие номер IP-сети, в маске подсети должны быть
равны 1, а биты, определяющие номер узла, в маске подсети должны быть
равны 0. Как уже отмечалось, стандарты TCP/IP определяют количество
октетов, задающих номер сети. Часто в IP-адресах класса B третий октет
используется для задания номера подсети. Это позволяет иметь 256 подсе-
тей, в каждой из которых может быть до 254 узлов. Маска подсети в такой
системе равна 255.255.255.0. о, если в вашей сети должно быть больше
подсетей, а в каждой подсети не будет при этом более 60 узлов, то можно
использовать маску 255.255.255.192. Это позволяет иметь 1024 подсети и до
62 узлов в каждой. (апомним, что номера узлов 0 и "все единицы"
используются особым образом.)
Обычно маска подсети указывается в файле стартовой конфигурации
сетевого программного обеспечения. Протоколы TCP/IP позволяют также
зап- рашивать эту информацию по сети.
11.12. Имена
Людям удобнее называть машины по именам, а не числами. апример, у
машины по имени alpha может быть IP-адрес 223.1.2.1. В маленьких сетях
информация о соответствии имен IP-адресам хранится в файлах "hosts" на
каждом узле. Конечно, название файла зависит от конкретной реализации. В
больших сетях эта информация хранится на сервере и доступна по сети.
есколько строк из файла "hosts" могут выглядеть примерно так:
223.1.2.1 alpha
223.1.2.2 beta
223.1.2.3 gamma
223.1.2.4 delta
223.1.3.2 epsilon
223.1.4.2 iota
142
В большинстве случаев файлы "hosts" могут быть одинаковы на всех
узлах. Заметим, что о узле delta в этом файле есть всего одна запись, хотя он
имеет три IP-адреса (рис.11). Узел delta доступен по любому из этих IP-
адресов. Какой из них используется, не имеет значения. Когда узел delta
получает IP-пакет и проверяет IP-адрес места назначения, то он опознает
любой из трех своих IP-адресов.
IP-сети также могут иметь имена. Если у вас есть три IP-сети, то файл
"networks" может выглядеть примерно так:
223.1.2 development
223.1.3 accounting
223.1.4 factory
11.14. Порты
Взаимодействие между прикладными процессами и модулем UDP
осуществ- ляется через UDP-порты. Порты нумеруются начиная с нуля.
Прикладной процесс, предоставляющий некоторые услуги другим
прикладным процессам (сервер), ожидает поступления сообщений в порт,
специально выделенный для этих услуг. Сообщения должны содержать
запросы на предоставление услуг. Они отправляются процессами-клиентами.
Например, сервер SNMP всегда ожидает поступлений сообщений в порт
161. Если клиент SNMP желает получить услугу, он посылает запрос в UDP-
порт 161 на машину, где работает сервер. В каждом узле может быть только
143
один сервер SNMP, так как существует только один UDP-порт 161. Данный
номер порта является общеизвестным, то есть фиксированным номером,
офици- ально выделенным для услуг SNMP. Общеизвестные номера
определяются стан- дартами Internet.
Данные, отправляемые прикладным процессом через модуль UDP, дости-
гают места назначения как единое целое. апример, если процесс- отправитель
производит 5 записей в UDP-порт, то процесс-получатель должен будет
сделать 5 чтений. Размер каждого записанного сообщения будет сов- падать с
размером каждого прочитанного. Протокол UDP сохраняет границы
сообщений, определяемые прикладным процессом. Он никогда не
объединяет несколько сообщений в одно и не делит одно сообщение на
части.
11.15. Контрольное суммирование
Когда модуль UDP получает датаграмму от модуля IP, он проверяет
контрольную сумму, содержащуюся в ее заголовке. Если контрольная сумма
равна нулю, то это означает, что отправитель датаграммы ее не подсчиты-
вал, и, следовательно, ее нужно игнорировать. Если два модуля UDP взаи-
модействуют только через одну сеть Ethernet, то от контрольного суммиро-
вания можно отказаться, так как средства Ethernet обеспечивают достаточ-
ную степень надежности обнаружения ошибок передачи. Это снижает
наклад- ные расходы, связанные с работой UDP. Однако рекомендуется
всегда выпол- нять контрольное суммирование, так как возможно в какой-то
момент измене- ния в таблице маршрутов приведут к тому, что датаграммы
будут посылаться через менее надежную среду.
Если контрольная сумма правильная (или равна нулю), то проверяется
порт назначения, указанный в заголовке датаграммы. Если к этому порту
подключен прикладной процесс, то прикладное сообщение, содержащееся в
датаграмме, становится в очередь для прочтения. В остальных случаях
датаграмма отбрасывается. Если датаграммы поступают быстрее, чем их
успевает обрабатывать прикладной процесс, то при переполнении очереди
сообщений поступающие датаграммы отбрасываются модулем UDP.
11.16. Протокол TCP
Протокол TCP предоставляет транспортные услуги, отличающиеся от
услуг UDP. Вместо ненадежной доставки датаграмм без установления соеди-
нений, он обеспечивает гарантированную доставку с установлением соедине-
ний в виде байтовых потоков.
Протокол TCP используется в тех случаях, когда требуется надежная
доставка сообщений. Он освобождает прикладные процессы от
необходимости использовать таймауты и повторные передачи для
обеспечения надежности. аиболее типичными прикладными процессами,
использующими TCP, являются FTP (File Transfer Protocol - протокол
передачи файлов) и TELNET. Кроме того, TCP используют система X-
Window, rcp (remote copy - удаленное копи- рование) и другие "r-команды".
Большие возможности TCP даются не бесп- латно. Реализация TCP требует
большой производительности процессора и большой пропускной
144
способности сети. Внутренняя структура модуля TCP гораздо сложнее
структуры модуля UDP.
Прикладные процессы взаимодействуют с модулем TCP через порты. Для
отдельных приложений выделяются общеизвестные номера портов. апример,
сервер TELNET использует порт номер 23. Клиент TELNET может получать
услуги от сервера, если установит соединение с TCP-портом 23 на его
машине.
Когда прикладной процесс начинает использовать TCP, то модуль TCP на
машине клиента и модуль TCP на машине сервера начинают общаться. Эти
два оконечных модуля TCP поддерживают информацию о состоянии
соединения, называемого виртуальным каналом. Этот виртуальный канал
потребляет ресурсы обоих оконечных модулей TCP. Канал является
дуплексным; данные могут одновременно передаваться в обоих
направлениях. Один прикладной процесс пишет данные в TCP-порт, они
проходят по сети, и другой приклад- ной процесс читает их из своего TCP-
порта.
Протокол TCP разбивает поток байт на пакеты; он не сохраняет границ
между записями. апример, если один прикладной процесс делает 5 записей в
TCP-порт, то прикладной процесс на другом конце виртуального канала
может выполнить 10 чтений для того, чтобы получить все данные. о этот же
процесс может получить все данные сразу, сделав только одну операцию
чтения. е существует зависимости между числом и размером записываемых
сообщений с одной стороны и числом и размером считываемых сообщений с
другой стороны.
Протокол TCP требует, чтобы все отправленные данные были подтверж-
дены принявшей их стороной. Он использует таймауты и повторные
передачи для обеспечения надежной доставки. Отправителю разрешается
передавать некоторое количество данных, недожидаясь подтверждения
приема ранее отп- равленных данных. Таким образом, между отправленными
и подтвержденными данными существует окно уже отправленных, но еще
неподтвержденных данных. Количество байт, которые можно передавать без
подтверждения, называется размером окна. Как правило, размер окна
устанавливается в стартовых фай- лах сетевого программного обеспечения.
Так как TCP-канал является дуп- лексным, то подтверждения для данных,
идущих в одном направлении, могут передаваться вместе с данными,
идущими в противоположном направлении. Приемники на обеих сторонах
виртуального канала выполняют управление потоком передаваемых данных
для того, чтобы не допускать переполнения буферов.
11.17. Протоколы прикладного уровня
Почему существуют два транспортных протокола TCP и UDP, а не один
из них? Дело в том, что они предоставляют разные услуги прикладным
процес- сам. Большинство прикладных программ пользуются только одним
из них. Вы, как программист, выбираете тот протокол, который наилучшим
образом соответствует вашим потребностям. Если вам нужна надежная
доставка, то лучшим может быть TCP. Если вам нужна доставка датаграмм,
145
то лучше может быть UDP. Если вам нужна эффективная доставка по
длинному и ненадежному каналу передачи данных, то лучше может подойти
протокол TCP. Если нужна эффективность на быстрых сетях с короткими
соединениями, то лучшим может быть протокол UDP. Если ваши
потребности не попадают ни в одну из этих категорий, то выбор
транспортного протокола не ясен. Однако прикладные программы могут
устранять недостатки выбранного протокола. апример, если вы выбрали
UDP, а вам необходима надежность, то прикладная программа должна
обеспечить надежность. Если вы выбрали TCP, а вам нужно переда- вать
записи, то прикладная программа должна вставлять маркеры в поток байтов
так, чтобы можно было различить записи.
Какие же прикладные программы доступны в сетях с TCP/IP?
Общее их количество велико и продолжает постоянно увеличиваться.
екоторые приложения существуют с самого начала развития internet. ап-
ример, TELNET и FTP. Другие появились недавно: X-Window, SNMP.
Протоколы прикладного уровня ориентированы на конкретные
прикладные задачи. Они определяют как процедуры по организации
взаимодействия опре- деленного типа между прикладными процессами, так и
форму представления информации при таком взаимодействии. В этом
разделе мы коротко опишем некоторые из прикладных протоколов.
11.18. Протокол TELNET
Протокол TELNET позволяет обслуживающей машине рассматривать все
удаленные терминалы как стандартные "сетевые виртуальные терминалы"
строчного типа, работающие в коде ASCII, а также обеспечивает
возможность согласования более сложных функций (например, локальный
или удаленный эхо-контроль, страничный режим, высота и ширина экрана и
т.д.) TELNET работает на базе протокола TCP. а прикладном уровне над
TELNET нахо- дится либо программа поддержки реального терминала (на
стороне пользова- теля), либо прикладной процесс в обсуживающей машине,
к которому осу- ществляется доступ с терминала.
Работа с TELNET походит на набор телефонного номера. Пользователь
набирает на клавиатуре
telnet delta
и получает на экране приглашение на вход в машину delta. Протокол
TELNET существует уже давно. Он хорошо опробован и широко
распространен. Создано множество реализаций для самых разных операцион-
ных систем. Вполне допустимо, чтобы процесс-клиент работал, скажем, под
управлением ОС VAX/VMS, а процесс-сервер под ОС UNIX System V.
147
Протокол SNMP Протокол SNMP (Simple Network Management Protocol - простой
протокол управления сетью) работает на базе UDP и предназначен для использования
сетевыми управляющими станциями. Он позволяет управляющим станциям соби- рать
информацию о положении дел в сети internet. Протокол определяет формат данных, их
обработка и интерпретация остаются на усмотрение управ- ляющих станций или
менеджера сети. 9.7. X-Window Система X-Window использует протокол X-Window,
который работает на базе TCP, для многооконного отображения графики и текста на
растровых дисплеях рабочих станций. X-Window - это гораздо больше, чем просто
утилита для рисования окон; это целая философия человеко-машинного взаимо- действия.
10. Взаимозависимость протоколов семейства TCP/IP иже на рисунке предсавлена схема
взаимосвязей между протоколами семейства TCP/IP.
Прикладной уровень
Транспортный уровень
Межсетевой уровень
IP/ICMP
Сетевой уровень
Локальные сети INTERNET ARPANET SATNET радиосети
ВОПРОСЫ К ЭКЗАМЕНУ
148
1. Дайте определение или толкование понятий: система счисления,
основание системы счисления, позиция цифры, разряд, вес.
2. Какие системы счисления используются в ЭВМ? Охарактеризуйте
кратко каждую.
3. Переведите целые двоичные числа в десятичную систему счисления:
12; F; 40;
16; F0; 100;
10; 20; ABC;
AB; A1; FFFFF.
149
7. Что такое непрерывный и дискретный сигналы? Приведите
разновидности.
8. В чем заключается дискретизация и квантование информационного
сигнала?
9. Определите понятия кодирования и декодирования информационного
сигнала.
10. Определите понятия «глубина сообщения» и «длина сообщения».
11. Как оценивается количество информации, по Хартли?
12. Какое количество информации можно изобразить с помощью
двадцатиразрядных десятичных чисел?
13. Какое количество информации содержит настоящая книга?
14. Дайте определение множества.
15. Дайте определение счетного множества.
16. Какими способами можно задать множество?
17. Какие операции существуют на множествах?
18. Дайте определение группы.
19. Дайте определение абелевой группы.
20. Дайте определение кольца.
21. Дайте определение системы.
22. Дайте определение процесса.
23. Дайте определение ресурса.
24. Дайте определение синхронной системы.
25. Дайте определение асинхронной системы.
26. Что такое управление?
27. Что такое регулирование?
28. Что такое модель ISO/OSI? Назовите ее уровни.
29. Приведите основные модели классификации Флинна.
30. Приведите примеры других классификаций.
31. Дайте определение операционной системы.
32. Назовите основные разновидности операционных систем.
33. Назовите основные отличия операционных систем для персональных
ЭВМ.
34. Назовите основные отличия операционных систем с
многопользовательской защитой.
35. Назовите основные отличия операционных систем реального времени.
36. Дайте определение языка программирования.
37. Сделайте сравнительный анализ языков программирования низкого
уровня.
38. Приведите основные особенности языков программирования высокого
уровня.
39. Проанализируйте АЛГОЛ и ФОРТРАН. Какие основные свойства
языков программирования для них характерны?
40. Для каких целей создаются специализированные языки?
41. Приведите примеры многоцелевых языков высокого уровня.
150
42.Что такое транслятор?
43.Проведите сравнительный анализ компиляторов и интерпретаторов.
44.Определите основные задачи и функции трансляторов.
45.Что такое система программирования? Приведите примеры
современных систем программирования.
46.Что такое инструментальные программные средства?
47.Дайте толкование понятий: запоминающее устройство, запись,
считывание, хранение информации.
48.Назовите основные показатели ЗУ.
49.Назовите две основные разновидности памяти компьютера.
50.Перечислите основные компоненты внутренней памяти.
51.Что представляет собой ОЗУ? Каково её назначение?
52.В чём разница между памятью статической и динамической?
53.Что собой представляет модуль памяти типа SIMM?
54.Каково назначение кэш-памяти? Каким образом она реализуется?
55.Каково назначение внешней памяти? Перечислите разновидности
устройств внешней памяти.
56.Что собой представляет гибкий диск?
57.В чём суть магнитного кодирования двоичной информации?
58.Как работают накопители на гибких магнитных дисках и накопители
на жёстких магнитных дисках?
59.Каковы достоинства и недостатки накопителей на компакт-дисках?
60.Опишите работу стримера.
61.Дайте классификацию технических средств ввода информации в
компьютерной системе.
62.Что собой представляет клавиатура? Поясните принцип ее
функционирования.
63.Какие устройства относятся к манипуляторам?
64.Поясните принцип действия джойстика, светового пера, мыши,
трекбола.
65.Что такое сканер? Какой сканер используете Вы? Назовите его
основные характеристики.
66.Опишите принцип функционирования диджитайзера.
67.Какие средства речевого ввода информации в компьютерной системе
Вы знаете? В чем заключается принцип их функционирования?
68.Что такое дисплей? Как можно классифицировать дисплеи?
69.Назовите основные технические характеристики дисплеев.
70.Какие дисплейные адаптеры Вы знаете?
71.Что такое принтер? Какие типы принтеров Вы знаете?
72.Приведите основные технические характеристики принтеров.
73.Охарактеризуйте плоттер.
151
ДОПОЛНИТЕЛЬНАЯ ЛИТЕРАТУРА
ОГЛАВЛЕНИЕ
Часть I. МАТЕМАТИКА
152
153