KRIEGSSPIELE!
Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.

Растригин. Вычислительные машины, системы, сети... 1982

Страница 2 из 3 Предыдущий  1, 2, 3  Следующий

Перейти вниз

Растригин. Вычислительные машины, системы, сети... 1982 - Страница 2 Empty Re: Растригин. Вычислительные машины, системы, сети... 1982

Сообщение автор Gudleifr Вс Янв 17, 2021 1:00 pm

МОНТЕ-КАРЛО И ЭВМ

А теперь давайте рассмотрим методы решения задач на ЭВМ. Эти методы обычно заимствуются из вычислительной математики - раздела математики, рассматривающего вычислительные методы. Вычислительная математика возникла едва ли не раньше всех других математик. Действительно, правила счета на пальцах являются первыми методами решения "математических" задач того времени.

За всю свою многовековую историю вычислительная математика накопила большое количество эффективных вычислительных приемов. Формализация этих приемов привела к тому, что сейчас называют алгоритмами. Слоит ли говорить, что эти алгоритмы были разработаны для "ручного" счета, т.е. для человека вооруженного карандашом и бумагой.

Когда появилась ЭВМ, то, естественно, что ее заставили работать по этим "ручным" алгоритмам. Это было не лучшее решение, но другого выхода не было - машинных алгоритмов решения задач еще не существовало.

Но вот, в 1949г. появился первый метод, ориентированный на вычислительные машины. Это был метод Монте-Карло. Вручную считать этим методом бессмысленно. Это метод быстродействующих вычислительных машин! Состоит он в генерировании с помощью ЭВМ случайных процессов с различными свойствами. Эти процессы используются для решения конкретных вычислительных задач.

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

Например, для определения площади сложной фигуры методом Монте-Карло (или, как его иногда называют, методом статистических испытаний) достаточно генерировать парами случайные числа x и у, которые определяют точку А внутри описывающего эту фигуру прямоугольника (см. рис.2). Некоторые из этих точек будут попадать на интересующую нас фигуру (такие как A1), а остальные - нет (A2). С помощью ЭВМ определить это очень просто. Если теперь вычислить относительное число точек, попавших на фигуру, то ее площадь примерно составит именно эту долю от площади описывающего прямоугольника, то есть:

Sф примерно равна Sп * N1/(N1+N2).

где Sф - площадь фигуры, Sп - площадь прямоугольника, N1 - число случайных точек, попавших на фигуру (типа A1), N2 - число случайных точек вне ее (типа A2). Самым замечательным свойством этой формулы является то, что при N=N1+N2, стремящейся к бесконечности она становится абсолютно точной. А так как точные значения нигде и никому не нужны, то ею можно пользоваться при конечных значениях N (обычно достаточно бюльших, для чего и используется ЭВМ).

Нетрудно заметить, что это свойство получено за счет того, что числа X и Y случайны, их достаточно много и они равномерно распределены по сторонам прямоугольника.

Как видно, интригующее название метода Монте-Карло никакого отношения к знаменитому казино не имеет. Разве что игровая рулетка может быть использована как датчик равновероятных случайных чисел. Но это слишком медленный датчик. ЭВМ вырабатывает случайные числа практически мгновенно.

Метод Монте-Карло лежит в основе одного популярного сейчас метода - метода имитационного моделирования. Рассмотрим его.
Gudleifr
Gudleifr
Admin

Сообщения : 3252
Дата регистрации : 2017-03-29

Вернуться к началу Перейти вниз

Растригин. Вычислительные машины, системы, сети... 1982 - Страница 2 Empty Re: Растригин. Вычислительные машины, системы, сети... 1982

Сообщение автор Gudleifr Вс Янв 17, 2021 1:01 pm

КАК НЫНЧЕ ГРАБЯТ БАНКИ (ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ)

Грабят нынешние гангстеры по-старому, т.е. в масках и грозя пистолетами. А вот подготавливают ограбление по-новому - с помощью ЭВМ. Дело в том, что процесс ограбления (как и всякий другой реальный процесс) зависит от состояния множества внешних факторов, точное определение которых невозможно. Об каждом из таких факторов можно высказать лишь приближенное суждение в виде интервалов, в котором находится значение этого фактора. Так, например, сколько человек будет в операционном зале, сколько денег и золота окажется в сейфе, какое время понадобится для вскрытия сейфа и т.д. Относительно каждого из этих фактором ничего точного заранее сказать нельзя. Но кроме точного описания существует еще стохастическое описание, которое дает возможность представить характер поведения интересующего нас параметра. Так, например, при слове "очередь", естественно знать, какая она. Точное ее значение указать заранее нельзя, а стохастическое описание ее дать легко, например, в виде 5+/-2 или 30+/-10. В первом случае очередь может быть и пределах от 3 до 7 человек, а во втором - от 20 до 40. Получить такую информацию очень важно - каждый, стоявший в очереди, это знает.

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

Для решения задач такого типа и был разработай метод, который называют методом имитационного моделирования.

Идея этого метода заключается в пошаговом моделировании поведения исследуемого процесса. Дело в том, что о поведении любого процесса на коротком интервале времени мы обычно знаем больше, чем о поведении в целом. Это обстоятельство и является основным при использовании методов моделирования на ЭВМ.

А что делать с неопределенными факторами? Тоже моделировать, но статистически, то есть используя метод Монте-Карло. Так, например, если известно, что фактор X находится в заданных пределах: A<=X<=B, то выбирается случайное число KSI в этих же пределах: A<=KSI<=B, а фактору X приписывается это случайное значение Х=KSI в данной реализации при моделировании процесса. В другой реализации это будет другое случайное значение в тех же пределах.

Поэтому каждая реализация моделируемого процесса будет отличаться от другой именно значениями неопределенных факторов. Как видно, результат моделирования каждый раз будет различный и при этом случайный, так как в его образовании участвовали случайные числа KSI. Как же воспользоваться этим случайным результатом? Да так же, как и при наблюдениях за реальным случайным процессом! Если есть несколько наблюдений какого-то реального процесса, например, времени проезда в городском транспорте по определенному маршруту, то уже многое можно сказать о свойствах этого процесса - его среднее значение, максимальные и минимальные затраты времени и т.д. Это уже не мало.

Вот так, располагая весьма скудными сведениями о локальном поведении интересующего нас процесса, можно изучить его свойства в целом. Для этого необходимо иметь достаточное число реализаций процесса. Именно здесь и нужна ЭВМ, так как с ее помощью можно быстро "разыгрывать" различные реализации такого процесса. А так как наибольший интерес представляют собой сложные процессы с большим числом факторов, то быстродействие ЭВМ является решающим для эффективности такого подхода. Без ЭВМ метод имитационного моделирования не имеет смысла - огромные затраты на "ручное" моделирование никогда не покроют полученного эффекта, даже немалого.
Gudleifr
Gudleifr
Admin

Сообщения : 3252
Дата регистрации : 2017-03-29

Вернуться к началу Перейти вниз

Растригин. Вычислительные машины, системы, сети... 1982 - Страница 2 Empty Re: Растригин. Вычислительные машины, системы, сети... 1982

Сообщение автор Gudleifr Вс Янв 17, 2021 1:03 pm

ИЗВОЛЬТЕ БРИТЬСЯ... (ЯЗЫК ПРОГРАММИРОВАНИЯ GPSS)

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

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

Именно для этого применяется метод имитационного моделирования. Только он позволяет получить ответы на вопросы, задаваемые разработчиками систем массового обслуживания.

Приведем пример такой простейшей задачи. Имеется один обслуживающий прибор (это могут быть парикмахер, кассир, продавец и т.д.) и поток клиентов на обслуживание (желающих побриться, получить деньги, купить и т.д.). Свойства прибора и потока заданы. Прибор обслуживает клиента за время в интервале T+/-DELTA, где T - среднее время обслуживания, T-DELTA - минимальное время обслуживания, а  T+DELTA - максимальное (величины T и DELTA заданы). Поток клиентов так же описывается интервалом времени между клиентами: tau+/-delta, где tau - среднее время между появлением клиентов, а [tau-delta, tau+delta] - интервал возможного изменения этого времени (значения tau и delta должны быть заданы). Вот и вся исходная информация. А вопросов много: какая будет очередь клиентов, ее среднее значение и максимальное (минимальное, очевидно, равно нулю), какой процент времени обслуживающий прибор оудет простаивать? И т.д.

Отпеты на эти и многие другие вопросы дает моделирование. Процесс моделирования обладает своей спецификой, которая отличает его, и очень существенно, например, от вычислительных процессов. Конечно, и процесс моделирования можно было бы свести к формульным вычислениям, но такое представление было бы не свойственно процессу моделирования и поэтому было бы очень громоздко. Именно поэтому для моделирования разработаны специальные языки высокого уровня. Среди них наибольшей популярностью пользуется язык GPSS (по-русски его называют "джи - пи - эс - эс"), название которого является аббревиатурой слов General Purpose Simulating System, т.е. общецелевая моделирующая система.

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

Операторы языка GPSS описывают именно эти моменты. Рассмотрим основные из них.

Оператор GENERATE (генерировать) определяет моменты появления клиентов в системе обслуживания. Он характеризуется пятью числами A, B, C, D, E.

GENERATE A, B, C, D, E.

Это означает, что клиенты поступают в среднем через A единиц времени в интервале A+/-B, причем первый клиент, придет в случайный момент в интервале C+/-B; число таких клиентов равно D, а E - это приоритет такого рода клиентов.

Например,

GENERATE 5

обозначает, что клиенты поступают строго через 5 единиц времени, то есть в моменты 5, 10, 15, ..., причем отсутствие (умалчивание) остальных данных означает, что B = 0;  C = A; D = бесконечно; E = 0. Как видно, таким способом можно задавать весьма разнообразные потоки клиентов.

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

Оператор DEPART B (покинуть очередь) выводит клиента из очереди B при обращении к этому оператору.

Оператор SEIZE C (занять) реализует переход клиента на обслуживающий прибор C (это название прибора или его номер), если он свободен.

Оператор RELEASE D (освободить) освобождает обслуживающий прибор D.

Оператор ADVANCE E, G (задержать) реализует задержку клиента во время его обслуживания на рабочем месте, указанном выше, и характеризуется средним временем обслуживания Е и полуинтервалом G, таким, что время обслуживания является случайной величиной в интервале E+/-G.

Например,

ADVANCE 12, 8

означает, что прибор обслуживает клиента случайное время в интервале 12+/-8, то есть от 4 до 20 минут.

Оператор TERMINATE (завершить) удаляет клиентов из модели. При отсутствии этого оператора они могли бы встать в другую очередь к другому прибору.

Оператор SIMULATE (моделировать) отдает команду на моделирование ЭВМ процесса, программа которого написана ниже. При отсутствии этого оператора ЭВМ лишь просмотрит программу на предмет выявления ошибок, но работать по ней не будет.

А теперь напишем простейшую программу на GPSS, моделирующую работу парикмахерской с одним рабочим местом. Пусть 25 клиентов с одинаковым приоритетом поступают через случайные промежутки времени в интервале 18+/-6мин., то есть от 12 до 24мин., а парикмахер обслуживает клиента случайное время в интервале 16+/-4. Интерес к моделированию процесса обслуживания вполне реальный - например, сколько ставить стульев для ожидающих клиентов? А число стульев должно быть равно максимальной длине очереди. Именно эту величину следует прежде всего определить в результате моделирования.

Итак, программа моделирования процесса обслуживания в такой маленькой парикмахерской имеет вид:

SIMULATE 'То есть надо моделировать программу, а не просто просмотреть.
GENERATE 18, 6, 10, 25 'Приход 25 клиентов через случайные интервалы 18+/-6мин. с одинаковым (нулевым) приоритетом, причем первый клиент приходит в интервале 10+/-6мин.
QUEUE 1 'Присоединение клиента к очереди номер 1 (другой здесь не будет).
SEIZE A 'Переход в кресло парикмахера по имени А (другого здесь нет).
DEPART 1 'Уход из очереди 1. То, что этот оператор стоит позже SEIZE не ошибка, так как кресло могло быть занято, и уход из очереди логично фиксировать после занятия кресла. Этим модель отличается от жизни.
ADVANCE 16,4 'Обслуживание клиента у парикмахера занимает случайное время в интервале 16+/-4мин.
RELEASE A 'Освобождение парикмахера А.
TERMINATE 'Уход клиента из парикмахерской.

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

Так, прогон указанной выше программы дает следующее:
1. Общее время работы парикмахерской 472мин., то есть 7 часов 52мин.
2. Парикмахер был загружен 86% своего рабочего времени. Остальные 14% он ждал клиентов и, следовательно, мог делать какую-то другую работу (уборку помещения и т.д.).
3. Среднее время обслуживания каждого из 25-ти клиентов было 15,88мин. (а по плану 16мин.).
4. Очередь не превышала одного человека. Следовательно, если судить по модели одного дня работы парикмахерской, достаточно поставить один стул.
5. Средняя длина очереди 0,16 клиента.
6. Среди 25-ти клиентов 12 не ожидали в очереди, а прошли сразу на свободное кресло.
7. Среднее время ожидания в очереди одного клиента, т.е. включая и тех, кто не ожидал, равно 2,85мим.
8. Среднее время ожидания в очереди одного ожидающего клиента (их было 13 человек) равно 5,13мин.
И т.д.

Эту программу не трудно было бы расширить на определенное время работы парикмахерской (например, 480мин. = 8час.) и тогда определилось бы число обслуженных клиентов (их будет 26 человек). Можно учесть и приоритеты клиентов, т.е. моделировать известное правило, что инвалиды Отечественной войны обслуживаются вне очереди, и т.д.

Легко представить, как применить этот язык при планировании очередного ограбления банка. Программа, аналогичная описанной, могла бы служить источником таких важных сведений, как среднее число клиентов в банке, максимальное и минимальное число клиентов и т.д. Значения же параметров А, В, С, ..., необходимые для работы программы, следовало бы определить из наблюдений за работой банка.

Отметим, что описание подобного криминального использования ЭВМ является не более, чем авторским приемом, опирающимся на интерес читателей к детективам. Не гангстерские потребности породили имитационное моделирование. Оно появилось в ответ на очень насущные потребности проектировщиков систем массового обслуживания. Им очень важно знать, какие ситуации будут складываться в проектируемой системе. Имитационное моделирование вообще и язык GPSS предоставляют им эту возможность.
Gudleifr
Gudleifr
Admin

Сообщения : 3252
Дата регистрации : 2017-03-29

Вернуться к началу Перейти вниз

Растригин. Вычислительные машины, системы, сети... 1982 - Страница 2 Empty Re: Растригин. Вычислительные машины, системы, сети... 1982

Сообщение автор Gudleifr Вс Янв 17, 2021 1:06 pm

МНОГОЭТАЖНАЯ ПАМЯТЬ ЭВМ

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

Много ли это - миллион знаков? Не очень. Есть такие программы, которые не "влезают" в оперативную память ЭВМ и их заводят туда по частям по мере необходимости.

Именно поэтому современная ЭВМ снабжена более емкой, но и не такой быстрой памятью. Ее называют внешней памятью. Самой быстрой из внешних памятей ЭВМ является память на магнитных дисках. Ее объем во много раз превышает оперативную память (в 10-30 раз). Эти диски размером в большую грампластинку собраны на одной оси на некотором расстоянии друг от друга, по несколько дисков в пакете (обычно - по шести). Их можно быстро снять и поставить в дисковод, который вращает их с большой скоростью (2400об./мин.). Считывающие магнитные головки (их обычно 10 штук - внешние поверхности пакета не используются) расположены гребенкой и вводятся в пакет гидравлическим устройством, имеющим 203 фиксированных положения, соответствующих дорожкам на дисках. По команде головки быстро могут быть подведены к любой из 203-х дорожек (три из них запасные). Время движения головок от первой до последней дорожки достаточно мало - около одной десятой секунды. Однако для того, чтобы просмотреть все дорожки, времени потребуется значительно больше, так как придется фиксировать головки на каждой дорожке.

Но самой большой (и, соответственно, самой медленной) является память на магнитных лентах. Ее объем раз в десять превышает память на магнитных дисках (и, следовательно, по крайней мере раз в сто больше объема оперативной памяти ЭВМ).

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

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

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

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

Сообщения : 3252
Дата регистрации : 2017-03-29

Вернуться к началу Перейти вниз

Растригин. Вычислительные машины, системы, сети... 1982 - Страница 2 Empty Re: Растригин. Вычислительные машины, системы, сети... 1982

Сообщение автор Gudleifr Вс Янв 17, 2021 1:08 pm

АДАПТАЦИЯ ЭВМ

Адаптация как способ приспособления к новым условиям существования является, пожалуй, наиболее интересным свойством живых существ. Именно благодаря адаптации появились и развились удивительно приспособленные биологические формы, что даже породило легенду об их изначальной гармонии в природе. Но все цело в адаптации!

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

Это все адаптация человека к ЭВМ. А нельзя ли адаптировать ЭВМ к человеку? Такая адаптация машины к условиям ее "существования" значительно облегчила бы жизнь человеку, ведь критерии адаптации машине задает человек. Естественно, что он должен позаботиться о таком критерии, чтобы адаптированная по этому критерию ЭВМ была бы лучше для человека, чем неадаптированная.

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

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

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

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

Легко себе представить, что довольно быстро диск будет исчерпан, т.е. полностью "исписан". Вот здесь включается программа адаптации. Очевидно, что перед тем, как записать очередную порцию информации на диск, следует освободить место для нее, т.е. что-то надо "стереть" (Здесь, как и в обычном магнитофоне, специально стирать не надо - можно прямо наложить новую запись на старую).

Программа адаптации решает, что можно стереть с диска. Логика здесь простая и стратегий много. Например, можно стирать запись, к которой последний раз обращались давно, то есть запись с самым старым последним обращением к ней.

Для этого все время следует вести список дат последних обращений к записям на диске. ЭВМ отыскивает самую старую дату и стирает запись с этой датой. Этим будет поддерживаться режим самых "свежих" записей, т.е. банк будет быстро реагировать на те запросы, интервал между которыми не велик.

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

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

Для такого рода пользователей лучше алгоритм адаптации, который учитывает не только давность последнего обращения, но и число обращений. Чем больше было обращений (хотя и старых) к какой-то записи в банке, тем дольше ее нужно хранить!

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

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

Рассмотрим другой способ адаптации со странным названием...
Gudleifr
Gudleifr
Admin

Сообщения : 3252
Дата регистрации : 2017-03-29

Вернуться к началу Перейти вниз

Растригин. Вычислительные машины, системы, сети... 1982 - Страница 2 Empty Re: Растригин. Вычислительные машины, системы, сети... 1982

Сообщение автор Gudleifr Вс Янв 17, 2021 1:12 pm

"ДВУРУКИЙ БАНДИТ"

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

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

Почему бандит? ("Двурукий" - ясно почему - это две альтернативы). Это криминальное название придумали американцы - большие любители броских названий. Имеются два объяснения.

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

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

А теперь представьте автомат с двумя ручками (таких пока нет), причем известно, что вероятность выигрыша одной ручкой немного больше, чем другой. Но какая это ручка неизвестно (например, решается неким случайным механизмом автомата для каждого игрока отдельно и сохраняется на всю партию).

Легко видеть, что перед вами та же задача о выборе лучшей альтернативы, где результат каждого эксперимента намеренно "зашумлен" случайным механизмом. Алгоритм адаптации должен указать в каком порядке дергать за ручки автомата в зависимости or получаемого результата с тем, чтобы выявить "счастливую" ручку и заплатить при этом минимальную сумму.

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

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

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

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

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

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

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

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

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

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

Легко заметить, что это задача "двурукого бандита", у которого вместо пистолетов - программы, выстрел - сортировка поступившего массива, а результат - попадание, если время сортировки мало, и промах, если велико.

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

Теперь рассмотрим этот алгоритм. Попробуем построить разумные стратегии "стрельбы".

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

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

Легко заметить, что действуя таким образом бандит убьет больше своих "коллег", чем по первой стратегии.
Это легко показать для одного крайнего случая, когда один пистолет вообще никуда не годится, а второй бьет без промаха. В этом случае первая стратегия дает возможность стрелку свести счеты лишь с N бандитами, а вторая в самом худшем случае, когда он начинает стрелять из плохого пистолета, обеспечивает 2N-1 попаданий: один промах и переход на другой пистолет, которым обеспечивает остальные 2N-1 попаданий. (Здесь для правильного сопоставления стратегий второй стратегии было выделено 2N выстрелов, как и для первой).

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

Алгоритм линейной тактики удобно представить в виде графа, изображенного на рис.3. Здесь кружками обозначены две альтернативы: первая (A1) и вторая (A2). Стрелки указывают переходы, которые реализуют работу алгоритма, а значки рядом со стрелками условия, при которых следует пользоваться данном стрелкой. Здесь плюс (+) обозначает успех применения альтернативы, а минус (-) - неудачу.

Растригин. Вычислительные машины, системы, сети... 1982 - Страница 2 8207410
Рис.3. Так представляется линейная тактика - спасительная тактика биологических систем. Она гарантирует, что неприятности (-) будут избегаться с тем, чтобы поддерживать режим успеха (+). Не так ли, дорогой читатель, мы с вами поступаем в наших жизненных коллизиях? И поступаем правильно!

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

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

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

Введем такую вероятность в алгоритм линейной тактики. Будем при неудаче менять альтернативу не всегда, а лишь с определенной вероятностью. Это означает, что всегда существует возможность сохранить альтернативу при ее неудачном использовании.

Растригин. Вычислительные машины, системы, сети... 1982 - Страница 2 8207510
Рис.4. А это алгоритм линейной тактики с обучением. Здесь обучение производится на базе опыта, полученного линейной тактикой (см. рис.3). Но это обучение эффективно лишь в том случае, если среда ведет себя достаточно стабильно (стационарно). В очень нестабильной среде лучше использовать алгоритм линейной тактики (рис.3).

Граф такого алгоритма линейной тактики с обучением приведен на рис.4. Здесь в скобках обозначены вероятности реализации соответствующих переходов. Так при неудаче на первой альтернативе (A1) с вероятностью p она сохраняется и с вероятностью 1-p изменяется на A2. При неудачной работе второй альтернативы она сохраняется с вероятностью 1-p и изменяется на A1 с вероятностью p. При заданном p этот алгоритм определен полностью и его нетрудно реализовать. Для этого понадобится лишь "разыгрывать" события с заданной вероятностью. Это осуществляется методом Монте-Карло.

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

При отсутствии такого опыта p = 1/2 и алгоритм работает почти так же, как алгоритм с линейной тактикой (чуть-чуть хуже за счет того, что при отрицательном результате он не сразу меняет альтернативу, а лишь с вероятностью p=1/2). Если первая альтернатива лучше второй, то в результате обучения вероятность р стремится к единице (p->1) и чаще всего реализуется именно первая альтернатива. Если лучше вторая, то в процессе обучения вероятность p стремится к пулю (p->0) и почти каждый раз, независимо от результатов, реализуется вторая альтернатива (это хорошо видно на рис.4) [Идея подобных алгоритмов, называемых автоматами с переменной структурой, предложена и разработана советской школой М.Л.Цейтлина и В.И.Варшавского, которые заложили ее основы еще в 1960г.].

Это и есть третья обучаемая стратегия альтернативной адаптации, которая сейчас начинает применяться при адаптации ЭВМ к потребностям пользователя.

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

Сообщения : 3252
Дата регистрации : 2017-03-29

Вернуться к началу Перейти вниз

Растригин. Вычислительные машины, системы, сети... 1982 - Страница 2 Empty Re: Растригин. Вычислительные машины, системы, сети... 1982

Сообщение автор Gudleifr Вс Янв 17, 2021 1:16 pm

ЭВМ КАК ЗАПИСНАЯ КНИЖКА (БАНК ДАННЫХ)

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

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

Итак рассмотрим банк под названием "моя записная книжка". Он состоит из записей, каждую из которых можно представить в виде определенной последовательности атрибутов:

a1, a2, ..., aN,

где a1 - дата записи (например, 10.3.80), она нужна для контроля,
a2 - фамилия адресата (например, ИВАНОВ),
a3 - его имя (например, НИКОЛАЙ),
a4 - отчество (например, ПАФНУТЬЕВИЧ),
a5 - город, где живет (например, ЕЛАБУГА),
a6 - улица (например, КОСОЙ ПЕР., т.е. это не улица),
a7 - номера дома, корпуса, квартиры (например, 35, -, 17, т.е. нет корпуса),
a8 - телефон домашний (например, 243),
a9 - название учреждения, где работает ваш адресат (например, НИИЧАВО),
a10 - город, где оно расположено (этот атрибут может не совпадать с a5),
a11 - улица,
a12 - номер дома,
a13 - служебный телефон адресата, и т.д.

Здесь, как легко заметить, домашний адрес адресата занимает атрибуты a5-a7, а служебный: a9-a12.

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

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

Приведем примеры работы с таким банком данных.

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

А2 = ПЕТРОВ, А8 = ?

Если в банке Петров один, то ЭВМ ответит номером его телефона:

А8 = 1250031

или прочерком (А8 = -), если телефона нет. Если же Петровых много (например, трое), ЭВМ ответит:

ИМЕЕТСЯ ТРИ ЗАПИСИ

и нам придется уточнять вопрос, добавляя значения известных вам атрибутов нужного Петрова, например,название улицы, где он живет:

A6 = КАЛАНЧЕВСКАЯ

или другим способом.

Таким образом можно не только "вспомнить" адреса и телефоны, но и фамилии, по почему-то застрявшим и нашей памяти фрагментам атрибутов; например:

A4 = ПАФНУТЬЕВИЧ, А2 = ?, А3 = ?

если вы расширите записи новыми атрибутами:

a14 - пол адресата (М или Ж),
a15 - дата рождения (например, 23.7.29).
a16 - отношение с адресатом (близкое, хорошее, служебное, шапочное, незнаком),
то банк данных может вам предоставить другие услуги. Например, желая разослать поздравления к 8-му мар-тн, следует сделать запрос:

A14 = Ж; А16 = БЛИЗКОЕ, ХОРОШЕЕ;
A2-A7 = ?

Ответ машины:

ИМЕЕТСЯ ТРИНАДЦАТЬ ЗАПИСЕЙ.

Следует запросить их адреса:

ВЫВЕСТИ ВСЕ

и вы получите все адреса ваших близко и хорошо знакомых женщин с их фамилиями, именами и отчествами (если они есть в банке).

He желая пропускать пятидесятилетнего юбилея Ваших близких знакомых (приятелей) сделайте запрос:

А14 = М; А15 = -, -, 33; А16 = БЛИЗКОЕ; А2 = ?

и вы получите фамилию того, кому из них в 1983 году исполнится 50 лет (прочерки в последнем запросе нужны для того, чтобы поиск велся только по году рождения).

А желая поздравить своих близких с днем рождения в ноябре запрашивайте так:

А16 = Б; А15 = -, 11, -; А2 = ?

Ответ:

ЗАПИСЕЙ НЕТ

избавит вас от необходимости писать поздравления.

В предыдущем вопросе видно, что нет необходимости писать полностью значения атрибутов. Достаточно взять столько букв, чтобы не возникло неопределенности. Так для атрибута a16 (отношение с адресатом) достаточно указать одну букву из Б, X, С, Ш и Н, каждая из которых однозначно определит значение атрибута (Близкое, Хорошее и т.д.). Для фамилий и имен следует брать больше букв. Так, например, значение:

A3 = АЛЕКС

может быть и Алексом, и Алексеем, и Александрой, и Александриной.

Иногда приходится задавать вопросы, включающие знаки > (больше), >= (не меньше), < (меньше) и <= (не больше). Например, желая собрать своих молодых друзей на вечеринку, делайте запрос:

А5 = РИГА; А15 = -, -, >= 53; А16 = Б; А2 = ?; А3 = ?; А8 = ?; А13 = ?

по которому ЭВМ вам выдает фамилии, имена и телефоны (домашний и служебный) всех ваших друзей в Риге в возрасте не старше 30 лет (в 1983 году).

Можно пользоваться также процедурой определения минимального или максимального значения атрибута. Например, желая определить дату самой старой записи (например, для ее коррекции); следует задать вопрос:

А1 = МИН; А1 = ?,

а фамилию самого молодого из ваших корреспондентов ЭВМ выдает на запрос:

А15 = -, -, МАКС; А2 = ?

Очень удобно ввести атрибут

a17 - прозвище.

Так как прозвище очень хорошо ассоциируется с адресатом, по нему очень удобно вести его поиск. Например, на запрос:

A17 = СВ; А13 = ?

ЭВМ укажет вам служебный телефон Сверчка.

Несколько слов о заполнении банка. Каждую новую запись следует начинать командой ВПИСАТЬ ЗАПИСЬ (или ВП ЗАП), после чего ЭВМ сообщаются значения атрибутов новых записей. Например:

ВП ЗАП А13 = 2873416; A3 = КОСТЯ; А17 = УСАТЫЙ.

(Порядок заполнения атрибутов не играет роли). Эта короткая запись определит вам служебный телефон уеитого Кости. Дату заполнения этой записи банк проставит сам - он знает календарь. Так что, если раньше был записан другой усатый Костя, то их записи будут различаться датами заполнения. И того, другого, будет легко выделить значением первого атрибута:

А1 < (дата),

где указывается дата (например, -. -. 80), позже которой первый Костя не поступал в банк наверняка (это было не позже конца 1979г.).

Можно добавлять в банк новую информацию относительно старых знакомых. Так на вопрос знакомого: "А есть ли у вас мой домашний телефон?" вы обращайтесь к ЭВМ с вопросом:

A2 = (его фамилия), A3 = (имя), А8 = ?

Если будет ответ:

A8 = -

то телефона нет и его надо ввести в файл. Делается это просто - вы отдаете команду ВПИСАТЬ:

ВП A8 = (номер домашнего телефона).

Так можно сделать лишь после предыдущего запроса, который определяет ту запись, где надо делать дополнения. Если же этого не было, надо предварительно ввести определяющие атрибуты (обычно это a2 и a3):

A2 = (фамилия); A3 = (имя); ВПИСАТЬ A8 = (телефон).

При изменении значения атрибута следует делать то же, что и при добавлении. Новое значение атрибута при этом сотрет старое. Например, запись:

А2 = ИВАНОВА; ВП А2 = ПЕТРОВА

означает, что ваша знакомая Иванова вышла замуж за Петрова. Если же вы хотите запомнить ее девичью фамилию, то надо вписать:

ВП А2 = ПЕТРОВА (ДЕВ. ИВАНОВА).

Эту запись ЭВМ будет выдавать вам на запрос А2 = ? Но поиск она будет вести по новому значению А2 = ПЕТРОВА.

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

Эту структуру следует помнить. А если вы ее забыли, то не печальтесь и запросите ее командой:

СТРУКТУРА ФАЙЛА = ?

Ответом машины будет описание структуры, сделанное вами под руководством администратора банка:

А1 - (ДАТА ЗАПОЛНЕНИЯ ЗАПИСИ) =Х. Y. Z
X - ЧИСЛО ДАТЫ
Y - МЕСЯЦ ДАТЫ (ЦИФРА)
Z - ГОД ДАТЫ (ДВЕ ПОСЛЕДНИХ ЦИФРЫ).

(Если вы запрос сделаете буквами, например, ИЮНЬ, то машина вас не поймет. Для этого нужно было ввести в структуру:

Y -МЕСЯЦ ДАТЫ (ЦИФРА ИЛИ СЛОВО)

и снабдить ЭВМ правилом перевода: 1 = 01 = ЯНВАРЬ, 2 = 02 = ФЕВРАЛЬ и т. д.),

А2 - (ФАМИЛИЯ) СЛОВА
....
А7 = (X, Y, Z)
X - номер дома (можно дробь, например: 45/47),
Y - номер корпуса (прочерк при отсутствии),
Z - номер квартиры (прочерк при отсутствии).
A8 = (ТЕЛЕФОН)
ЛЮБОЕ ЧИСЛО
А9 = (УЧРЕЖДЕНИЕ)
СЛОВА И ЦИФРЫ
...
А14=(ПОЛ)
БУКВЫ: М, Ж
А15 = (ДАТА РОЖДЕНИЯ) = Х, Y, Z
см. А1.
(т. е. этот атрибут заполняется так же, как атрибут даты записи)
А16 = (отношение с АДРЕСАТОМ) Слова: БЛИЗКОЕ, ХОРОШЕЕ, СЛУЖЕБНОЕ, ШАПОЧНОЕ, НЕЗНАКОМ.
А17 (ПРОЗВИЩЕ)
Слово без кавычек
...

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

Банк может вам оказать и другие услуги при ведении своего файла. Так, например, не надо каждый раз записывать шестизначный почтовый индекс. Достаточно один раз ввести в память ЭВМ индексный справочник и указать, чтобы при выведении значений атрибутов a5-a7 и a10-a12 (это адреса) банк обращался к этому справочнику и сопровождал бы адрес его индексом по справочнику. Этим справочником, очевидно, смогут пользоваться и другие "клиенты" банка (только не следует забывать, что в большом справочнике одно и то же название имеют несколько городов. Так, например, если есть две Риги: в Прибалтике и в Сибири, ЭВМ выдаст вам соответственно два почтовых индекса).

Записная книжка - дело сугубо личное. Поэтому и ваш файл вы вправе скрывать от других, т.е. засекретить. Делается это просто. Для того, чтобы считывать содержимое вашего файла, нужно иметь пароль - ключевое слово, которое открывает доступ к файлу, например, "сезам" (один из банков данных так и называется: "сезам"). Это слово можно менять время от времени. Делает это администратор банка.

Каждый сеанс вашего общения с банком в этом случае должен начинаться словами:

ФАЙЛ N, ПАРОЛЬ СЕЗАМ,

где N - номер вашего файла. Получив такое сообщение, ЭВМ сверит этот пароль со словом, хранящимся в памяти, и при их совпадении ответит:

ФАЙЛ N ОТКРЫТ,

после чего можно начинать работать, т.е. задавать вопросы или вводить новые записи в свой файл. Только не забудьте закрыть файл после окончания работы с ним сообщением

КОНЕЦ СЕАНСА,

которое закрывает свободный доступ к вашему файлу.

Если же пароль не верен (т.е. не совпадает со словом, хранящимся в ЭВМ), то поступит ответ:

ФАЙЛ N ЗАКРЫТ.

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

ФАЙЛ N, КЛЮЧ НИБУМБУМ.

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

Разница между паролем и ключом заключается в том, что в памяти ЭВМ нет ключа и она каждый раз и начале сеанса синтезирует программы шифрации и дешифрации по вашему "нибумбуму", а в конце сеанса стирает эти программы в своей памяти (об этом позаботится банк). Теперь никто не сможет узнать содержимого вашего файла! Разве что подберут "отмычку", но это уже уголовное дело. А если вы забыли и кодовое слово, то вам не поможет даже администратор банка. Файл в этом случае следует считать потерянным, как бы ценен он не был. Правда, если обратиться к специалистам по расшифровке тайных кодов (криптологам), то они смогут вернуть вам "нибумбума". Но эту услугу банк вам не окажет, хотя в принципе и мог бы - структура программы шифровки ему известна, а для восстановления кодового слова достаточно сравнить несколько слов с их шифром и... вычислить его. Однако программы таких вычислений в банке нет - иначе было бы бессмысленно вводить шифрование.

(Заметим, что принципиальная возможность расшифровки закодированного файла иногда беспокоит клиентов банка. Однако средства шифровки могут быть настолько сильными, что информация в зашифрованном файле практически абсолютно секретна).
Gudleifr
Gudleifr
Admin

Сообщения : 3252
Дата регистрации : 2017-03-29

Вернуться к началу Перейти вниз

Растригин. Вычислительные машины, системы, сети... 1982 - Страница 2 Empty Re: Растригин. Вычислительные машины, системы, сети... 1982

Сообщение автор Gudleifr Вс Янв 17, 2021 1:19 pm

КОМПЬЮТЕР-РЕПЕТИТОР (ЭВМ В ОБУЧЕНИИ)

Едва ли кого удивишь тем, что "ученье - свет, а...". Но поговорка ничего не сообщает о том, как надо учиться. А эта проблема с каждым годом становится все острее и острее. Причина - колоссальные темпы развития современной науки, с одной стороны, и старые-престарые методы обучения - с другой. Сегодня студентов и школьников учат так же, как в Древней Греции или в Средневековье: собирают в группы и классы и читают им лекции, время от времени проверяя усвоение предмета зачетами и экзаменами. В результате дидактика не поспевает за наукой и процесс обучения и подготовки специалистов все больше и больше удлиняется: к десяти годам обучения в школе и пяти в институте - три года аспирантуры. А докторантура? Многочисленные курсы повышения квалификации и курсы переподготовки? Если пойдет так и далее, то в будущем человеку, закончившему курс обучения, придется уходить на пенсию, так как срок обучения возрастает, а пенсионный возраст неизменно снижается. Так вот и придется просиживать за партой всю жизнь, если не придумают более эффективных методов обучения.

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

Нельзя ли эту функцию поручить ЭВМ?

Для ускорения темпов обучения, для повышения его эффективности и качества ныне разрабатываются автоматизированные обучающие системы (АОС), использующие большие ЭВМ. Процесс обучения в АОС осуществляется следующим образом. Человеку выдается порция информации, которую он должен изучить или заучить. Затем задается один или несколько вопросов, по которым определяется степень усвоения данной порции. После этого в системе осуществляется проверка правильности ответов и определяется следующая порция информации, которая и сообщается обучаемому (определяется эта порция согласно заложенному в ЭВМ алгоритму обучения, то есть правилу, по которому ЭВМ учит ученика).

Рассмотрим работу АОС в многострадальной задаче обучения иностранному языку. Большинство людей, его изучающих, нуждается лишь в умении понимать специальную литературу на иностранном языке. И только. Все остальное - грамматика, произношение и прочее нужны лишь при специальном, глубоком обучении и немногим: дипломатам, преподавателям, лингвистам и т.д. Подавляющее же большинство "потребителей" иностранного языка лишь жаждут понимать тексты по своей специальности.

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

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

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

Вы кладете телефонную трубку на пульт, который специально для этого имеет углубление для трубки, и обучение с ЭВМ начинается. На экране вашего телевизора возникают слова:

СИСТЕМА АСОЛИЯ ПРИВЕТСТВУЕТ ВАС! ЗАРЕГИСТРИРОВАНЫ ЛИ ВЫ В СИСТЕМЕ (ДА ИЛИ НЕТ)?

АСОЛИЯ - это Автоматизированная Система Обучения Лексике Иностранного Языка. Дело в том, что для обучения пониманию специальных текстов нет необходимости специально изучать грамматику. Главное - это лексика, т.е. прежде всего надо знать те иностранные слова, которые используются в интересующих вас текстах. Зная слова и представляя о чем идет речь (вот здесь и используется "специальность" текста) легко понять смысл этого текста.

Вы набираете на клавиатуре "нет" и на экране читаете:

ИЗУЧАЛИ ЛИ ВЫ АНГЛИЙСКИЙ ЯЗЫК:
1 - НЕТ
2 - УЧИЛ В ШКОЛЕ
3 - УЧИЛ В ИНСТИТУТЕ
4 - УЧИЛ И В ШКОЛЕ И В ИНСТИТУТЕ.

(Это уже известное вам меню).

Вы сообщаете все запрашиваемые ЭВМ сведения о себе и читаете:

КАКОЙ КУРС ВЫ ЖЕЛАЕТЕ ВЫБРАТЬ ДЛЯ ОБУЧЕНИЯ?
1 - РАЗГОВОРНАЯ ЛЕКСИКА:
1.1 - ДЛЯ ОТЕЛЯ
1.2 - ДЛЯ РЕСТОРАНА
1.3 - ДЛЯ МАГАЗИНА
и т.д.
2 - МАТЕМАТИЧЕСКИЕ ТЕКСТЫ:
2.1 - ЭЛЕМЕНТАРНАЯ МАТЕМАТИКА
2.2 - МАТЕМАТИЧЕСКИЙ АНАЛИЗ
2.3 - ТЕОРИЯ ВЕРОЯТНОСТЕЙ И МАТЕМАТИЧЕСКАЯ СТАТИСТИКА
2.4 - ТЕОРИЯ ИНФОРМАЦИИ
и т.д. ;
3 - ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА:
3.1 - ДИАГНОСТИЧЕСКИЕ СООБЩЕНИЯ ОПЕРАЦИОННОЙ СИСТЕМЫ ЕС ЭВМ ОПЕРАТОРУ
3.2 - ДИАГНОСТИЧЕСКИЕ СООБЩЕНИЯ ОПЕРАЦИОННОЙ СИСТЕМЫ ЕС ЭВМ ПРОГРАММИСТУ
3.3 - ЛЕКСИКА ПО ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКЕ ДЛЯ СИСТЕМНЫХ ПРОГРАММИСТОВ
и т.д.

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

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

Набирайте на пульте шифр выбранного вами курса. Система регистрирует вас, запоминает шифр и присваивает вам номер, под которым вы будете в ней фигурировать. Этот номер следует запомнить, в начале каждого сеанса обучения надо будет его набирать.

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

На другой день вызывая программу обучения "Иностранный язык" на вопрос, зарегистрированы ли вы в системе, отвечаете "ДА" и набираете свой номер. Новый сеанс начинается с проверки того, как вы запомнили слова и словосочетания заданного урока. Даете перевод, и ЭВМ сообщает, правилен ли он. Теперь она о вас уже кое-что знает. Ей известно, сколько слов вы забыли, какие это слова. Очевидно, именно их нужно будет когда-то повторить. Так, после каждого сеанса обучения ЭВМ будет знать о вас все больше и больше. Это поможет ей лучше исполнять роль учителя. Она будет "натаскивать" вас по тому материалу, который вы забыли или нетвердо усвоили. Кроме того, она шлет, что одни слова встречаются в текстах чаще, а другие - реже, и ей известна частота появления того или иного слова в интересующих вас текстах. (Частоты получаются в результате машинной обработки текстов). Очевидно, что чаще других ей следует выдавать те слова, частота встречаемости которых выше.

И последнее, ЭВМ должна иметь возможность оценивать числом уровень обученности каждого ученика, т.е. следует иметь формальный критерий степени обученности. Таким критерием является, например, вероятность того, что ученик знает слово, наугад выбранное из текста, пониманию которого он учится.

Эту характеристику можно определить экспериментально, но на это уйдет много времени. Поэтому нужно иметь возможность вычислять значение критерия обученности, минуя эксперимент. Именно этому служит модель ученика.

Эта модель представляет собой набор вероятностей знания учеником тех слов, которым его учат. Оценку этих вероятностей (точнее: коррекцию оценки) ЭВМ делает при каждой "встрече" с учеником. Именно в этом состоит адаптация модели.

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

Располагая моделью, ЭВМ легко строит процесс обучения так, чтобы быстрее научить данного ученика. Для этого достаточно на модели выбрать такую очередную порцию обучающей информации, которая максимально повысит его обученность.

Так шаг за шагом ЭВМ по ответам будет строить модель обучаемого и учить его наилучшим образом, что делает время его обучения минимальным.

В процессе обучения ученик сам определяет темп обучения, указывая ЭВМ, какое время он выделяет на заучивание слов. ЭВМ соответственно выдает ему различные по объему порции обучающей информации. Это очень важно, например, тогда, когда ученик торопится в заграничную командировку и ему "позарез" и быстро нужно освоить лексику разговора на таможне, в отеле и ресторане, а также в магазине. АСОЛИЯ в этих условиях является незаменимым инструментом быстрого обучения.

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

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

Описанная автоматизированная система обучения - не фантазия автора, а реальность, в создании которой пи принимал участие.

Абонент системы АСОЛИЯ так быстро запоминает иностранные слова и словосочетания, как ни при одном другом методе обучения. На заучивание одной лексической единицы, т.е. проще - на одно слово, ученику в среднем приходится тратить одну минуту. Это в три раза лучше известной Лозановской системы обучения. Правда, при этом ученик не научается говорить - АСОЛИЯ этому не учит, но ведь знание слов является основой знания языка. Специалист, знающий слова, без труда переводит (точнее: понимает) текст из своей области (опыты показали, что для этого достаточно знать 70-75% встречающихся слов). А обучение с помощью системы АСОЛИЯ студентов показало, что они с меньшими затратами времени обучились вдвое лучше, чем "старым" способом.

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

Тандему "преподаватель-ЭВМ" принадлежит будущее!
Gudleifr
Gudleifr
Admin

Сообщения : 3252
Дата регистрации : 2017-03-29

Вернуться к началу Перейти вниз

Растригин. Вычислительные машины, системы, сети... 1982 - Страница 2 Empty Re: Растригин. Вычислительные машины, системы, сети... 1982

Сообщение автор Gudleifr Вс Янв 17, 2021 1:21 pm

ЭВМ В АВТОМОБИЛЕ (МИКРОПРОЦЕССОРЫ)

На первый взгляд ЭВМ нечего делать в автомобиле. Действительно, с пятью органами управления всякой автомашины (руль, газ, тормоз, сцепление и рукоятка переключения передач) легко осваивает любой новичок за два-три часа езды с инструктором. И что тут можно, да и главное, нужно, ли вычислять? - Оказывается, очень нужно!

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

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

Другая не менее важная автомобильная функция ЭВМ заключается в выполнении роли штурмана, т.е. прибора, прокладывающего маршрут движения автомашины. Задача прокладки маршрута далеко не так проста, как это может показаться сначала, особенно в большом городе. Представьте, что перед вами карта города. Она может быть выполнена на специальном планшете или высвечена на экране автомобильного телевизора. Кроме этого есть три кнопки: "СТАРТ", "ФИНИШ" и "ОБЪЕЗД".

Перед поездкой вы нажимаете кнопку "СТАРТ" и после этого прикасаетесь пальцем к точке старта на карте. Этим вы сообщаете ЭВМ исходную точку вашего маршрута. Конечная цель маршрута вводится в ЭВМ аналогично прикосновением пальца к карте с предварительным нажатием кнопки "ФИНИШ".

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

ВРЕМЯ ПРОХОЖДЕНИЯ МАРШРУТА 43+/-12МИН.

Самое худшее время (55мин.) рассчитано на неудачное стечение дорожных обстоятельств, а самое лучшее (31мин.) - при идеальных условиях движения, но с учетом задержек на повороты и светофоры. Если ЭВМ снабдить календарем и часами, то прогноз будет еще точнее (она будет учитывать повышение потока машин в часы "пик", снижение его в субботу и воскресенье и т.д.).

Если предложенная ЭВМ оценка времени вас устраивает (и вы безнадежно не опоздали), то нажимайте снова кнопку "СТАРТ", что значит ваше согласие с предложенным маршрутом.

Теперь на экране дисплея появится название улицы, по которой надо начинать движение. Например,

ДВИГАТЬСЯ ПО УЛ. ЛЕНИНА ДО ПЛ. СВОБОДЫ.

Вы включаете двигатель и начинаете движение по ул.Ленина в сторону пл.Свободы. На табло ЭВМ сообщает вам расстояние до первого поворота. Например,

ДО ПОВОРОТА НАПРАВО 850М,

причем число будет все время уменьшаться - ведь ЭВМ легко вычисляет расстояние вашей машины до нужного поворота. Для этого ей все время автоматически сообщается скорость движения машины.

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

ДО ПОВОРОТА НАЛЕВО 3270М.

Причем о возможности сделать такой поворот, т.е. что там нет запрета на него, ЭВМ знает заранее - это обозначено на карте, хранимой в ее памяти.

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

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

Совсем другое дело при управлении двигателем. Здесь ЭВМ вполне можно "доверять", так как она будет действовать на основе информации недоступной человеку. Такой информацией являются
x1 - обороты двигателя (об/мин.),
x2 - нагрузка (крутящий момент) (кг/см),
x3 - подача топлива в двигатель ("газ") (г/с),
x4 - температура двигателя (град.С),
x5 - температура горючей смеси, которая зависит в основном от температуры среды (набегающего воздуха) (град.С).

Из этих пяти параметров только четвертый (температура двигателя) контролируется на всех автомобилях, а обороты (x1) контролируются из отечественных автомобилей только на "Жигулях" высших моделей. Остальные недоступны водителю. Скажем прямо, что это не вина автоконструкторов. Они смогли бы без особого труда поставить датчики крутящего момента (x3), расхода топлива (x3) и температуры топливно-воздушной смеси (x5). Но зачем они водителю? Даже, если он знает, что все параметры однозначно определяют оптимальные значения y1 - обогащенности смеси (весовое соотношение топливо-воздух) и y2 - угол опережения зажигания, при которых топливо сгорает полностью, то определить эти значения он не сможет, так как для этого нужно произвести довольно сложные вычисления. Единственно, что каждый водитель твердо знает, что холодный двигатель (при x4 не больше 50o) следует заводить на богатой (точнее обогащенной) смеси, т.е. при прикрытой воздушной заслонке. Проще говоря, надо вытянуть ручку "подсоса", которая закрывает доступ воздуха в карбюратор, что приводит к резкому обогащению смеси. Но нельзя и "пересосать", так как при малом поступлении воздуха смесь не будет гореть и двигатель заглохнет, на чем новичок обычно и "спотыкается", когда заводит холодный двигатель.

Очевидно, что обогащение смеси должно быть оптимальным (y1) и зависеть каким-то определенным образом от всех указанных параметров x1, ..., x5. Так же определенным образом зависит от всех указанных параметров и оптимальный угол опережения зажигания y2.

Что значит "зависит каким-то определенным образом"? Для того, чтобы определить эту зависимость надо обратиться или к теории двигателей внутреннего сгорания или к эксперименту, который проводят на специальных стендах, что дает возможность установить, как конкретно зависят искомые оптимальные значения параметров смеси (y1) и угла опережения зажигания (y2) от параметров работающего двигателя x1 и x2. Пусть эти зависимости имеют вид:

y1=f1(x1, x2, x3, x4, x5)
y2=f2(x1, x2, x3, x4, x5)

где f1 и f2 - определенные функции, полученные теоретически или экспериментально, и указывающие каким образом можно вычислить y1 и y2 по измерениям x1, ..., x5. Очевидно, что эти функции для каждого типа двигателя свои.

Чтобы их использовать, необходимо иметь возможность:
1. Быстро измерять параметры x1, ..., x5 работающего двигателя.
2. Быстро вычислять значения функций f1 и f2, т.е. определять оптимальные значения y1 и y2.
3. Быстро реализовать эти значения, т.е. сделать так, чтобы обогащенность поступающей в двигатель смеси стала равной только что вычисленному
значению y1, а угол опережения зажигания - полученной величине y2.

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

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

ЭВМ нужна для выполнения второй (вычислительной) функции. Она должна быть запрограммирована на вычисление значений y1 и y2 по значениям x1, ..., x5, поступающим от датчиков. Для этого вполне достаточно маленькой вычислительной машины. Она должна быть проще универсальной ЭВМ, так как выполняет лишь одну программу - вычисления двух заданных функций f1 и f2. Причем эта программа должна сохраняться при выключении питания ЭВМ.

Необходимость в малогабаритных и экономичных ЭВМ с указанными специфическими свойствами для управления приборами привела к созданию специальных ЭВМ, называемых микропроцессорами. Использование такого микропроцессора для управления работой двигателя позволяет поддерживать оптимальный режим его работы при любых обстоятельствах, т.е. полностью и качественно использовать топливо, а, следовательно, максимально экономить его и не отравлять среду продуктами неполного сгорания. Запуск двигателя с микропроцессором не представляет проблем, так как водителю не нужно работать с "подсосом" и бояться "пересосать". Быстродействие такого управления зависит не от микропроцессора - он выполняет свою функцию - вычисление состава y1 оптимальной смеси и оптимального угла опережения зажигания y2 - очень быстро, как всякая электронная вычислительная машина, и надежно. Оперативность такой системы управления определяется исполнительными механизмами, которые "отрабатывают" команды y1 и y2, выдаваемые микрокомпьютером.

Скажем прямо, что такой системы управления режимом работы двигателя в массовом автомобилестроении пока нет. И виной тому не ЭВМ, а исполнительные механизмы, которые пока слишком громоздки, ненадежны и дороги, а ЭВМ в виде микропроцессора есть: дешевые, надежные и в большом ассортименте.
Gudleifr
Gudleifr
Admin

Сообщения : 3252
Дата регистрации : 2017-03-29

Вернуться к началу Перейти вниз

Растригин. Вычислительные машины, системы, сети... 1982 - Страница 2 Empty Re: Растригин. Вычислительные машины, системы, сети... 1982

Сообщение автор Gudleifr Вс Янв 17, 2021 1:22 pm

ЧТО ЖЕ ТАКОЕ МИКРОПРОЦЕССОР?

Функционально это процессор, выполненный на одном кристалле. Внешне он представляет собой "паучка" размером 20*10*5мм с 20-30 ножками-выводами. Отличается микропроцессор не только слюими малыми размерами, но и малой разрядностью чисел. Дело в том, что большая разрядность, отличающая большие ЭВМ, минипроцессору не нужна - он справляется со своими обязанностями малым числом разрядов (4-16).

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

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

Появились микропроцессоры в начале 70-х годов и сразу нашли широкое применение в различных областях науки и техники. Стоимость их невелика и все время снижается, а производство неуклонно растет.

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

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

В нашем примере с автоматическим управлением работы двигателя микропроцессор будет работать в режиме контроллера, запрограммированного на вычисление заданных функций f1 и f2. И только.

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

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

Область применения микропроцессоров велика и быстро расширяется. По-видимому, недалек тот день, когда любой прибор, режим работы которого можно изменять, будет содержать микропроцессор. Стоимость его от этого почти не увеличится.
Gudleifr
Gudleifr
Admin

Сообщения : 3252
Дата регистрации : 2017-03-29

Вернуться к началу Перейти вниз

Растригин. Вычислительные машины, системы, сети... 1982 - Страница 2 Empty Re: Растригин. Вычислительные машины, системы, сети... 1982

Сообщение автор Gudleifr Вс Янв 17, 2021 1:28 pm

АЙБОЛИТ С КОМПЬЮТЕРОМ (ЭВМ В ПРОЦЕССАХ ПРИНЯТИЯ РЕШЕНИЙ)

Все помнят доброго доктора Айболита с его градусником и микстурой из доброй сказки К.Чуковского. Говоря современным языком, у Айболита был лишь
один источник (датчик) информации - градусник, и один способ лечения - микстура. А способ (алгоритм) лечения более чем простой: если температура повышенная (т.е. больше или равна 37o), то давать микстуру, а если меньше, то не давать. Вот и все!

Если это так, то зачем Айболит? Ведь в этом случае его функции могут выполнить не только родители, но и сами дети! К такому выводу неизбежно приходят взрослые, когда подходят со своими "взрослыми" мерками к детским сказкам. Конечно же главное (и это хорошо знает каждый ребенок и забывает взрослый) в Айболите не его градусник и микстура, а то, что он добрый. Именно этим замечателен для детей всякий доктор, а не тем, как он лечит.

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

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

Нас будут интересовать информационные аспекты проблемы лечения: как поставить диагноз и как определить способ лечения, т.е. чем и как лечить (вопросы реализации выбранного способа лечения рассматривать не будем и возложим их решение на медсестер).

Итак, рассмотрим первую проблему - диагностику. Нашему обычному врачу (не Айболиту) здесь приходится трудно. Надо из нескольких тысяч названий болезней, которыми могут болеть люди, для данного пациента выбрать одно и, что самое скверное, надо определить ЕГО болезнь. Правда статистика и опыт врача, помогают ему в диагностике. Действительно, летом чаще всего к нему обращаются с кишечными заболеваниями, весной и осенью чаще заболевают ОРЗ (острым респираторным заболеванием) или гриппом. Но действовать только в соответствии со статистикой, т.е., например, объявлять больными ОРЗ тех, кто явился осенью и зимой, не будет ни один врач. Он прежде выслушает жалобы больного, выявит снмптоматику и только после этого сделает заключение, чем же заболел больной.

Выглядит это примерно так. Врач прикидывает в уме: повышенная температура, насморк и кашель, да еще в осеннее время, во время эпидемии гриппа - наверняка это грипп. И будет прав не только осенью, но и весной, и при необъявленной эпидемии гриппа. Летом следует проверить живот и спросить: не съел ли чего?

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

Итак, налицо довольно простая и естественная стратегия: сначала искать среди наиболее часто встречающихся болезней, а экзотические заболевания оставить на самый последний этап. При малом числе симптомов (медицинских признаков) реализовать ее просто. А вот что делать, если таких признаков не просто много, а очень много (несколько сотен или даже тысяч!), как, например, бывает при диагностике сердечно-сосудистых заболеваний или рака! Да при этом за выявление симптома надо платить: временем при лабораторных анализах, дорогостоящими материалами при рентгенографии и т.д., не говоря уже о том, что расходуется время высококвалифицированных узких специалистов - рентгенолога, аллерголога, невропатолога и т.д. Как же при этом вести обследование больного, чтобы, во-первых, надежно выявить его заболевание и, во-вторых, затратить па это минимальные средства (временные, материальные и т.д.).

Любому врачу приходится каждый раз решать эту задачу. Как он справляется с ней? Не плохо, если случай простой и есть опыт, в котором отражены сведения о наиболее распространенных заболеваниях и их симптоматике. Если опыта нет, как у молодого врача, то затраты будут больше, чем это необходимо (в этом и сказывается отсутствие опыта).

Если случай не простой, то даже опытному врачу приходится туго. И вынужден он обращаться в ЭВМ. Делает это врач с большим неудовольствием. И его можно понять, так как основная врачебная заповедь гласит, что лечить надо не болезнь, а больного, т.е. человека. А здесь в этот очень человеческий процесс общения между больным и врачом вклинивается бездушная машина. Что она может знать о человеке? Не слишком ли обнахалились инженеры, предлагая использовать ЭВМ в процессе лечения человека?

Чтобы разобраться, надо напомнить, что процесс лечения, как и всякий другой процесс, всегда можно разложить на две составляющие - формализуемую и неформализуемую. Формализуемую, т.е. ту, которую можно описать формальным, например, математическим языком, естественно можно передать ЭВМ. А неформализуемую (точнее: пока неформализуемую) компоненту процесса лечения пусть реализует врач. Заметим, что полной формализации лечения достигнуть никогда не удастся (и слава богу!) хотя бы потому, что психологический контакт врача и больного тоже образует важный компонент лечения. А его формализовать можно только создав робота, внешне и поведением похожего на врача. Такую формализацию всерьез можно воспринимать лишь в фантастике.

Итак, врач, хочет он или не хочет этого, обязан заниматься диагностикой заболевания, которая довольно легко поддается формализации. Покажем это.

Состояние больного (его анкету) можно описать набором нулей и единиц. Представим анкету в виде ряда:

x1, x2, ..., xN

где xi - i-й симптом, т.е. значение i-ro признака. Если этот симптом имеется у больного, то xi = 1, и хi = 0 в противном случае. Например, x1 - симптом повышенной температуры, x2 -симптом больного горла, x3 - симптом озноба и т.д. Тогда больной с повышенной температурой и ознобом, но не жалующийся на горло, будет иметь анкету в виде 101.

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

Степень "похожести" анкет определить легко, например, по числу совпадающих симптомов. Чем больше таких совпадений, тем вероятней, что пациент болен именно этой болезнью. Окончательное решение принимает врач - ведь ему доступна информация, которой не располагает ЭВМ (например, выражение глаз пациента, его внешний вид и т.д.). Эта информация часто бывает определяющей. Говорят, что старые земские врачи, пользуясь только часами (для измерения пульса) и перкуссией (простукиванием), ставили очень надежный диагноз, в котором неформализуемые симптомы играли определяющую роль: "Что-то, батенька, не нравится мне ваш вид - взгляд какой-то тусклый. Не переели ли вы чего ненароком? В вашем возрасте нужно быть аккуратней! Давайте-ка промоем кишечник". И пациент получает заслуженный клистир.

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

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

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

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

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

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

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

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

Но если приходится терпеть неприятности, то, разумеется, хотелось бы иметь уверенность, что они минимальны. Старая заповедь "из двух бед выбирают меньшую" во многом, если не во всем, определяет поведение человека. И правильно определяет!

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

Признаемся, что таких ЭВМ - помощников врача в здравоохранении пока не много. Аналогичные есть в Москве (клиника имени Вишневского), в Каунасе (кардиологический центр), в Братиславе (клиника нервных болезней) и др. Поэтому легко представить, как ЭВМ будет использована в процессе такой диагностики.

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

Врач, получив от ЭВМ все данные о вашем теперешнем состоянии (их только что ввела медсестра) осмотрит вас и... Может поступить трояким образом:

1. Поставить диагноз (случай тривиальный и диагностика не представляет осложнений).

2. Затребовать историю болезни, которая ведется все той же ЭВМ. На экран видеотерминала врачу будут выдаваться по его команде страницы вашей истории болезни, где в хронологическом порядке собрана информация о ваших прошлых заболеваниях. На последней странице будут приведены данные, только что полученные в доврачебном кабинете. Врач может задать ЭВМ различные вопросы по поводу истории болезни. Например, "когда болел гриппом и ОРЗ?", на что ЭВМ укажет даты всех заболеваний гриппом и ОРЗ, отмеченных в вашей истории болезни. Эта информация поможет врачу понять специфику пациента и принять решение о диагнозе.

3. И наконец, врач может затребовать мнение ЭВМ но поводу заболевания. Так как ваша анкета, составленная медсестрой в доврачебном кабинете весьма неполна, то таким же приближенным будет и ответ ЭВМ. Она укажет несколько наиболее вероятных заболеваний, вычислив их по эталонным анкетам, хранящимся в ее памяти. При этом ЭВМ может указать вероятность каждой из указанных болезней, например, так: ГРИПП - 0.31; ОРЗ - 0.23; ..., АЛЛЕРГИЧ. НАСМОРК - 0.01, где многоточием обозначены другие болезни с вероятностью меньше, чем 0.23; и больше 0.01.

Указанные вероятности вычисляются ЭВМ на основе вашей анкеты и статистики заболеваемости этими болезнями в вашем районе и в это время года. Статистика такого рода имеется в памяти ЭВМ и влияет на диагностику вашего заболевания (выше об этом уже говорилось).

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

1. АНАЛИЗ КРОВИ (ОБЩИЙ)
2. РЕНТГЕН ЛЕГКИХ
3. АНАЛИЗ МОЧИ (ОБЩИЙ).

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

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

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

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

Как видно, очень нужна современному Айболиту ЭВМ на стадии диагностики заболевания. Нужна она и пациенту.

Так ЭВМ помогает преодолевать трудности диагностики. За диагностикой следует собственно лечение, т.е. назначение медицинских мероприятий, призванных вылечить больного, а точнее: сделать его "практически здоровым". В это понятие медики вкладывают свое представление о здоровом человеке, которое может отличаться от понятия "здоровый". Добавка "практически" позволяет понимать норму, а, следовательно, и свою цель достаточно широко, что неизбежно в процессах лечения, которые имеют дело, пожалуй, с самым сложным и самым важным объектом - человеческим организмом.

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

Однако, как показывает опыт, нет лекарств, одинаково действующих на всех больных, и нет единой дозировки препарата. Более того, один и тот же больной в разные периоды заболевания нуждается в разных дозах одного и того же лекарства.

Все трудности лечения больного связаны с трудностями учета его индивидуальных свойств: симптомов, восприимчивости к лекарствам, перенесенных заболеваний, психического состояния, наследственности и многих, многих других. Из этого длинного списка для простоты возьмем лишь симптоматику больного.

Симптоматика определяет заболевания и она же в конечном счете определяет лечение. Оно опирается на известный врачебный афоризм: для устранения болезни достаточно устранить симптомы. А если список симптомов расширить диагнозами заболеваний пациента, то борьба с ним (т.е. списком его недугов) и есть лечение больного. (Мы здесь, естественно, намеренно упрощаем и огрубляем схему лечения, да простят нас врачи).

Всякое лекарство обладает тремя свойствами: оно лечит какие-то определенные недуги, безразлично к другим, но противопоказано при третьих. Кроме того, оно может влиять и на отдельные здоровые органы больного, причем - негативно.

Врач, имея симптоматику больного (т.е. список его недугов), должен из всего множества доступных лекарств выбрать те, которые лечат имеющиеся недуги и не вызывают новых. Задача эта, скажем прямо, не из легких. Врач должен помнить, и помнить очень хорошо, показания и противопоказания всех доступных лекарств.. Он не имеет права забыть что-либо. Но ведь он всего лишь только человек! И забывчивость ему так же свойственна, как и необходима, что отличает всякого нормального человека. Как же быть?

Обратиться к ЭВМ, которая уже неоднократно выручала. Сделать это можно так.

Давайте рассмотрим табл.1.

Таблица I
Растригин. Вычислительные машины, системы, сети... 1982 - Страница 2 8210810

Здесь по вертикали выписаны все недуги, из которых образуется симптоматика больного (для простоты приведены не названия симптомов и заболеваний, а их номера от 1 до n). По горизонтали приведены все известные препараты (для простоты также вместо их названий приведены номера от 1 до m).

Числа, вписанные в таблицу, указывают характер влияния какого-то препарата на определенный недуг. Это влияние может быть положительным, отрицательным и безразличным. Так для i-го недуга и j-го препарата на пересечении i-й строки и j-го столбца стоит число aij. Оно равно +1, если j-Й препарат оказывает полезный эффект на i-й недуг, что означает убывание интенсивности патологического признака, отраженного в этом недуге, при приеме указанного препарата. aij = -1, если имеет место отрицательное влияние (усиление степени выраженности недуга или появление другого, побочного). И, наконец, aij = 0, если j-й препарат никак не влияет на i-й недуг.

Как видно, таблица состоит из +1, 0 и -1. Составляется она на основе описаний действия препаратов и их применения в лечебной практике. Легко заметить, что нулей в таблице будет значительно больше, чем единиц. Это происходит потому, что всякое лекарство изготовляется для лечения определенных недугов. К остальным оно должно быть, по меньшей мере, безразлично - иначе такое лекарство фармакологический комитет министерства здравоохранения не утвердит к массовому изготовлению (если, конечно, препарат лечит тяжелый недуг ценой легких недомоганий - например, некоторые противораковые средства вызывают тошноту, то его применение оправдано). Вот и получается, что таблица эта почти пустая. Поэтому ее удобно разбить на несколько таблиц по группам заболеваний, которым будут соответствовать группы лекарств. Каждая из таких таблиц достаточно велика, но вполне размещается в памяти современной ЭВМ. (Если бы эти таблицы нарисовать на бумаге, то их нельзя было бы развернуть в обычной комнате - нужен по крайней мере зал. Значения тип для этих таблиц имеют порядок 1e3-1e4.)

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

Кроме того, для каждого препарата будет приведен итог - сумма всех цифр этой строки в таблице. Чем больше итог, тем выгоднее применение лекарства к данному больному, так как оно устраняет сразу несколько симптомов.

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

Так между врачом и ЭВМ возникает диалог, в процессе которого врач принимает решение о лекарственном воздействии на больного.

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

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

Очень нужна ЭВМ современному Айболиту. Очень!
Gudleifr
Gudleifr
Admin

Сообщения : 3252
Дата регистрации : 2017-03-29

Вернуться к началу Перейти вниз

Растригин. Вычислительные машины, системы, сети... 1982 - Страница 2 Empty Re: Растригин. Вычислительные машины, системы, сети... 1982

Сообщение автор Gudleifr Пн Янв 18, 2021 11:32 am

ГЛАВА 2. ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ
ЧЕМ ПЛОХА ЭВМ?

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

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

С чем связано удивительное постоянство структуры ЭВМ? Неужели фантазия создателей не пошла дальше? Разве не нужно было придумать что-то еще? Почему столь многообразные потребности в автоматической обработке информации привели к столь уныло-одинаковой структуре ЭВМ - машин для удовлетворения этих потребностей?

Как ни парадоксально, но именно многообразие потребностей привело к однообразной структуре машин! Будь потребностей поменьше, наверное различных структур ЭВМ было бы больше. Действительно, представьте, что было бы только две потребности: одна - решать задачи, используя только две операции - сложения и вычитания, а другая - операции умножения и деления. Легко видеть, что надо было бы создать лишь два типа машин - для сложения-вычитания и умножения-деления. Ввиду узкой специализации машины отличались бы не только конструкцией, но и структурой (ведь именно в структуре отражается ее самая сокровенная специфика).

Современные ЭВМ решают задачи из тысяч областей человеческой практики, каждая из которых порождает сотни проблем, причем каждая проблема требует решения десятков задач. Опыт и практика решения задач и привели к описанной выше четырехкомпонентной структуре современной ЭВМ. Именно эта структура наилучшим образом в среднем решает все задачи.

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

Очевидно, что оптимальная "в среднем" схема очень расточительна, так как она по сути почти никогда не бывает оптимальной для каждой конкретной ситуации, сложившейся при обработке информации. Эти соображения и заставили создавать вычислительные системы. Что же это такое?
Gudleifr
Gudleifr
Admin

Сообщения : 3252
Дата регистрации : 2017-03-29

Вернуться к началу Перейти вниз

Растригин. Вычислительные машины, системы, сети... 1982 - Страница 2 Empty Re: Растригин. Вычислительные машины, системы, сети... 1982

Сообщение автор Gudleifr Пн Янв 18, 2021 11:32 am

ОСНОВНЫЕ ЧЕРТЫ ВЫЧИСЛИТЕЛЬНОЙ СИСТЕМЫ

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

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

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

Как видно, вычислительные системы являются следующим шагом вперед по сравнению с ЭВМ. Они появились благодаря тому, что сильно возросли и специализировались потребности в обработке различного рода информации. Рассмотрим основные типы вычислительных систем.
Gudleifr
Gudleifr
Admin

Сообщения : 3252
Дата регистрации : 2017-03-29

Вернуться к началу Перейти вниз

Растригин. Вычислительные машины, системы, сети... 1982 - Страница 2 Empty Re: Растригин. Вычислительные машины, системы, сети... 1982

Сообщение автор Gudleifr Пн Янв 18, 2021 11:35 am

ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ КОЛЛЕКТИВНОГО ПОЛЬЗОВАНИЯ

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

Но еще обидней, если вы отлаживаете программу. Известно, что в процессе отладки необходимо часто выходить на машину, причем ответ нужно получить быстро. А именно этого не позволяет такая организация работы с ЭВМ.

Вот и приходится месяцами отлаживать сравнительно простые программы.

Именно этот недостаток больших ЭВМ и устраняют системы коллективного пользования. Основная идея системы заключается в том, чтобы дать возможность многим пользователям быстро выходить на ЭВМ и оперативно получать результат прогонки своей программы или ответы на поставленные вопросы.

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

Примером такой разветвленной вычислительной системы, имеющей терминалы почти во всех городах США, является NASDAQ. Эта система обслуживает пользователей финансовой информацией (курсы акций и проч.), оперативно реагируя на все биржевые изменения. Основная вычислительная и информационная мощность этой системы сосредоточена в г.Трамбулле, где сторт мощная машина Univac-1108. Терминалы же позволяют обращаться к этой машине и информируют ее о состоянии курсов акций "на местах". Их 1700 штук.

Это помощь рядовому пользователю ЭВМ. Но системы коллективного пользования оказывают помощь и администраторам, избавляя их от необходимости заводить в своем учреждении вычислительный центр со всеми вытекающими отсюда организационными, штатными, финансовыми и другими последствиями. Достаточно стать абонентом системы коллективного пользования, которая, как всякое удачное решение, разрешает сразу несколько проблем. Рассмотрим такую систему подробнее.

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

Здесь она принимается и ставится в очередь, если таковая имеется, к процессору, а освободившийся процессор выполняет программу. Результаты передаются тут же по тому же каналу связи в перфорирующее устройство, которое со скоростью 100 знаков в секунду перфорирует бумажную ленту. Вставив ленту в пишущую машинку, получаете распечатку результата работы ЭВМ по вашей программе на рулоне ленты.

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

Более сложные (и, соответственно, более дорогие) комплекты содержат не пишущую машинку, а ЦПУ - цифровое печатающее устройство, способное печатать со скоростью 100 знаков в секунду и более. А еще более совершенный терминал называют интеллигентным. Это по сути дела маленькая вычислительная машина со своей памятью на гибком магнитном диске, где хранится программа пользователя перед отправкой на большую ЭВМ, и свой процессор, решающий задачи по редактированию составляемой пользователем программы, и позволяющий делать несложные вычисления. Как известно, пределов совершенства нет, нет этого предела и у терминальной техники, которая становится все совершенней и, соответственно, сложней и... дешевле. Это проявление одной любопытной закономерности: каждая новая модель вычислительной техники (ЭВМ или отдельных ее устройств) имеет улучшенные характеристики и меньшую стоимость по сравнению с предыдущими моделями. Эта закономерность и способствует широкому распространению и внедрению ЭВМ в нашу жизнь.

Если терминал расположен достаточно далеко от ЭВМ, то его следует дополнить устройством связи с ЭВМ. Устройство кодирует специальным образом посылаемую программу так, чтобы помехи, которые неизбежны в длинных каналах связи, не исказили бы передаваемую и принимаемую информацию.

Располагая таким терминалом, пользователь по праву может считать, что он сидит за пультом ЭВМ, к которой он присоединен и "хозяйничает" с ней как хочет. Действительно, ЭВМ выполняет его программу и все распоряжения этой программы. Что же еще? Вот только другие пользователи...

С ними вы сталкиваетесь, ожидая очереди к процессору ЭВМ. Легко видеть, что большое число таких пользователей заставит вас долго стоять в очереди, дожидаясь, когда процессор освободится для вашей программы. У этой очереди будут свои часы "пик" - в рабочее время, когда она будет максимальной, , и свои провалы - ночью, когда никто не хочет иметь дело с ЭВМ и ее процессор будет простаивать.

Неудобство сложившейся ситуации очевидно. Хотя это немного лучше, чем "старый" способ, когда пользователь сам приносит свою программу оператору ЭВМ. Но по-прежнему ответ на короткий вопрос, заданный ЭВМ в "неудобное" время, придется ждать долго. В очереди.

Неудобство очереди состоит не только в том, что приходится просто ждать, а в том, что ждать приходится зря. Дело в том, что пользовательские программы,
стоящие в очереди, обладают различной степенью "нетерпения". Самые нетерпеливые - короткие программы. Это либо простенькие задачки, либо куски большой программы в стадии отладки. В обоих случаях пользователь ждет быстрого ответа.

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

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

Для того, чтобы преодолеть этот недостаток систем коллективного пользования, был придуман остроумный прием, названный режимом разделения времени. Состоит он в следующем.

Время работы процессора разбито на кванты времени величиной DELTA (DELTA~0,1с). В течение одного кванта процессор решает только одну задачу. Если эта задача не велика (~100000 операторов), то она будет решена за один квант времени и результаты отправляются пользователю, а процессор начинает работать со следующей по очереди задачей. Если же задача велика и за один квант времени решить ее не удается, то решение ее прерывается и она направляется в конец очереди. Когда придет ее черед, процессор продолжит решение с того места, на котором он остановился при прошлом обращении к этой программе (о чем позаботится операционная система ЭВМ).

При таком способе короткой программе в любом случае придется ждать не больше, чем n*DELTA секунд, где n - число программ в очереди. При n = 100 (в часы пик) ждать придется примерно 10с, что для диалогового режима недопустимо (напомним, что в диалоге с ЭВМ максимальное время отклика должно быть не более двух секунд, иначе пользователь начинает нервничать!).

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

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

В этом случае, как легко видеть, коротким программам не придется ждать и ответ вычислительной системы будет практически мгновенным. Но это получено за счет того, что большие задачи будут решаться дольше; что впрочем не слишком опечалит их хозяев - они к этому готовы.

Так что, дорогой читатель, если вам придется ждать решения своей большой задачи дольше, чем вы рассчитывали, то утешайте себя тем, что в другой раз вы получите ответ раньше рассчитанного, если, разумеется, задача будет меньше.

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

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

Эту "несправедливость" можно устранить с помощью следующей процедуры. Пусть ведется не одна, а много очередей задач, причем эти очереди неравноправны. Перенумеруем их цифрами 1, 2, ..., m, ...

Очередь с меньшим номером имеет абсолютный приоритет перед очередью с большим номером. Это проявляете" в том, что процессор обращается к задаче из m-й очереди только в тех случаях, когда в первых m-1 очередях нет задач, т.е. очереди 1, 2, .. ., m-1 пусты.

Образуются очереди следующим образом. В первую попадают все вновь прибывшие задачи-заявки. Они должны получить по своему кванту времени процессора прежде всего (в оптимальности такого правила мы убедились). Задача, не решенная за один квант времени,, поступает в конец второй очереди (#2). Если задача из второй очереди не была решена при втором прохождении через процессор, то она ставится в конец очереди #3. И так далее.

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

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

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

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

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

Пусть вам необходимо что-либо сообщить своему приятелю по поводу его программы "НАФ-НАФ", которая у вас не идет, и получении новой, которая его интересует. Сообщение может быть, например, следующее:

412В [СТАРИК, ТВОЙ НАФ-НАФ ЦИКЛИТ. ПРИМИ МЕРЫ. ПОЛУЧИЛ КОРУ, МОГУ ПОДЕЛИТЬСЯ. ПРИВЕТ. КОСТЯ.] ОТВЕТ?

Здесь 412В - пароль вашего адресата (что скрывается за этим паролем, сказать трудно, скорее всего адресату легко было запомнить его). Теперь, как только с таким паролем кто-то выйдет в систему (с любого терминала), он немедленно получит сообщение:

412В ОТ КИЛ (КИЛ - это ваш пароль, его поставила в сообщение ЭВМ сама, пусть, например, это аббревиатура имени, отчества и фамилии - Константин Иванович Логинов) 25.10.83 12 ЧАС. 18 МИН. (это время отсылки вашего сообщения, его проставила ЭВМ сама по своему таймеру и календарю); далее следует текст сообщения, внесенный выше в квадратные скобки. АДРЕСАТ ЖДЕТ ОТВЕТА (эти слова внесены ЭВМ, как реакция на слово ОТВЕТ?).

Вы же получите квитанцию от машины:

ПИСЬМО ОТ 25.10.83, 12 ЧАС 18 МИН 412В ПОЛУЧИЛ 29.10.83, 17 ЧАС. 29 МИН.

Если ответа от 412В не последует, то ЭВМ будет каждый раз при выходе на связь 412В с ней напоминать:

412В ОТВЕТЬТЕ КИЛ НА ПИСЬМО ОТ 25.10.83, 12 ЧАС. 18 МИН.

до тех пор, пока 412В не ответит вам. Аналогично вы можете направить одно и то же письмо сразу нескольким пользователям и получите столько же квитанций о вручении писем.

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

Сообщения : 3252
Дата регистрации : 2017-03-29

Вернуться к началу Перейти вниз

Растригин. Вычислительные машины, системы, сети... 1982 - Страница 2 Empty Re: Растригин. Вычислительные машины, системы, сети... 1982

Сообщение автор Gudleifr Пн Янв 18, 2021 11:37 am

ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ В СИСТЕМАХ УПРАВЛЕНИЯ

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

Самым распространенным типом таких технических систем, нуждающихся в помощи ЭВМ, являются технологические системы, которые заняты производством продукции.

Но какое отношение имеют вычислительные системы к производству? Сроду всякое производство обходилось без ЭВМ и... слава богу, так как массовое производство существует по крайней мере лет двести, а ЭВМ... Так неужели за тридцать пять лет существования ЭВМ она стала такой незаменимой, что всякое производство без нее остановится?

Конечно, нет! Но появление ЭВМ изменило современное производство. Точнее не само производство, а управление им. Необходимость в хорошем управлении производством ни у кого и никогда не вызывала сомнения. А вот является ли человек лучшим звеном системы управления в современном производстве? Весьма сомнительно! В чем здесь дело?

Для ответа на этот не совсем простой вопрос, выясним, что же такое управление?
Gudleifr
Gudleifr
Admin

Сообщения : 3252
Дата регистрации : 2017-03-29

Вернуться к началу Перейти вниз

Растригин. Вычислительные машины, системы, сети... 1982 - Страница 2 Empty Re: Растригин. Вычислительные машины, системы, сети... 1982

Сообщение автор Gudleifr Пн Янв 18, 2021 11:41 am

УПРАВЛЕНИЕ

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

Например, чтобы выпускаемая продукция была наилучшего качества или заданного качества при наименьших затратах, или достигалась какая-то другая цель.

Поставленную цель следует реализовать в объекте управления. Этот объект представляет собой определенный "кусок" нашего мира, состояние которого волнует субъекта. Говоря слово "объект", мы тем самым делим весь окружающий нас мир на две части: объект и все остальное. Такое деление подразумевает, естественно, рассечение каких-то определенных связей между объектом и остальным. Обозначим эти связи буквами X и Y, Связь X обозначает влияние среды (так мы назовем весь остальной мир) на объект, а Y является влиянием объекта на среду. Такое взаимодействие объекта и среды удобно представить в схематической форме, показанной на рис. 5.

Растригин. Вычислительные машины, системы, сети... 1982 - Страница 2 8212310
Рис.5. Говоря об объекте, мы тем самым разделяем весь мир на две части - объект и среду. Именно это обстоятельство отражено на этом рисунке. Но, выделяя объект из среды, мы должны неизбежно рассечь его связи со средой. Эти утраченные связи нужно заменить взаимодействием объекта и среды; они обозначены на рисунке: X - это воздействие среды на объект, а Y - объекта на среду.

Можно ввести и другую трактовку X и Y (она более удобна для анализа феномена управления). X можно рассматривать как состояние среды, которым она воздействует на объект, а Y является состоянием объекта, которое, естественно, воздействует на среду. Теперь сам объект можно представить как некоторый преобразователь состояния среды X в состояние объекта Y. Это преобразование удобно написать и виде:

Y = F0(X),

где буква F обозначает указанное преобразование, а индекс 0 относит его к объекту. Будем F0 называть преобразователем объекта. Относительно него мы обычно мало что знаем.

Итак, F0 - преобразователь объекта, который характеризует, каким образом состояние объекта Y связано с состоянием среды X.

Приведем примеры. Пусть F0 - технологический процесс, тогда X - сырье, поступающее на вход, а Y - готовая продукция, производимая этим процессом F0, который здесь выступает в качестве преобразователя сырья в готовую продукцию. Если F0 - какая-то бюрократическая организация (не обязательно в плохом смысле), то X - поток входящих, а Y - поток исходящих бумаг, т.е. F0 в данном случае является преобразователем одних бумаг в другие.

Автомобиль F0 преобразует состояние X его рукояток управления (газ, рулевое колесо, тормоза и т.д.) и состояние дороги в движение Y, которое характеризуется направлением и скоростью. Средой для автомобиля являются его шофер и дорога, которые задают состояние X.

Врач F0, если его рассматривать как объект, является преобразователем симптомов X больного в диагноз Y, а на следующем этапе диагноза Y - в план лечения Z (но здесь преобразователь F0 будет уже иным).

Процесс прогнозирования также может быть представлен как объект F0. Для случая прогноза погоды имеем: X - погода сегодня, а Y - прогноз погоды на завтра.

Процедура принятия решения тоже может быть объектом F0. Здесь X - ситуация, в которой необходимо принять решение, а Y - само принятое решение.

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

Главное свойство объекта управления F0 быть преобразователем некоторых определенных причин X в какие-то следствия Y.

Однако, прежде чем управлять, следует сформулировать цель этого управления. Эта цель указывает, каким должно быть состояние объекта с нашей точки зрения. Управление U здесь выступает как дополнительное воздействие на объект, в результате которого объект должен стать таким, каким мы желаем видеть его (см. рис.6). Это означает, что управление U должно так изменять состояние объекта, чтобы оно совпадало с целевым, т.е. заданная цель реализовывалась бы. Задачу синтеза такого управления выполняет управляющее устройство (см. рис.6). Оно получает информацию о состоянии среды X, состоянии Y объекта и о цели, которую надо достигнуть. "Продуктом" управляющего устройства является управление U.

Растригин. Вычислительные машины, системы, сети... 1982 - Страница 2 8212510
Рис.6. Это самая общая схема управления объектом. Она применима к объектам любой природы - физическим, техническим, биологическим, социальным и даже нематериальным. Для синтеза управления U всегда нужно знать три вещи: состояния среды X и объекта Y и цель.

Как же работает управляющее устройство? Для него прежде всего необходимо создать алгоритм управления, т.е. правило преобразования информации о состоянии среды X, объекта Y и цели в управление U. Делается это примерно так.

Введение управляющего воздействия U приводит к следующей зависимости состояния объекта Y от его двух входов X и U:

Y = F0(X, U).

(Заметим, что, строго говоря, здесь F0 не то, что было раньше, так как имеет два аргумента X и U).

Задача управления таким образом сводится к выбору такого воздействия U, чтобы состояние объекта Y стало бы заданным, например, Y*, т. е. к решению следующего "уравнения":

Y* = F0(X, U),

где цель Y* задана, а состояние среды X предполагается известным. Неизвестным здесь является управление U и, что самое неприятное, преобразователь F0 объекта. (Если преобразователь F0 известен, т.е. имеется его модельное представление, то все в порядке. Решая это уравнение, можно определить управление U, которое переведет объект в целевое состояние Y*).

Но при создании систем управления обычно относительно преобразователя F0 объекта мы знаем очень мало. Именно незнание этого преобразователя и заставало поставить в кавычки слово "уравнение". Никакое это не уравнение! А, следовательно, и определить управление U, не зная F0 невозможно!

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

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

Как видно, модель является неким заменителем объекта, его суррогатом. Для чего нужен этот суррогат? В частности для того, чтобы можно было формализовать процесс управления и передать его ЭВМ. Показать, как ЭВМ может управлять объектом, при наличии его модели очень легко.

Обозначим модельный оператор буквой FM. Тогда связь между входами X и U и выходом YM модели можно записать в виде

YM = FM(X, U),

аналогичном предыдущему выражению, с той лишь разницей, что оператор FM модели известен, а преобразователь F0 объекта неизвестен. Теперь, если задана цель Y*, можно составить уравнение (уже без кавычек)

Y* = FM(X, U),

которое можно решать и определять необходимое управление U. Чтобы не забираться в математические "дебри", отметим лишь суть дела. Она здесь состоит в том, что на модели всегда можно проверить к чему приведет то или иное управление - ведь именно для того модель и создается, чтобы заменить объект при выборе управления. ЭВМ может быстро перебрать очень много вариантов управляющих воздействий U и вычислить на имеющейся модели, к каким результатам эти воздействия приведут, т.е. каким будет состояние объекта при различных управлениях. А зная цель Y*, нетрудно теперь выбрать то управление, которое обеспечит состояние объекта, наиболее близкое к Y*. Вот и все!

Эта грубоватая схема использования ЭВМ при управлении объектом показывает, что без модели объекта ЭВМ в системе управления делать нечего!

Итак, при наличии модели объекта, для управления им можно использовать ЭВМ. А если модели нет и ее только предстоит сделать? Может ли ЭВМ помочь здесь?

Может и даже очень! Более того, без ЭВМ часто вообще не удается получить модель объекта. Дело в том, что процедура синтеза модели объекта по наблюдениям за его поведением требует очень много вычислений. Это легко показать.

Действительно, если имеется какая-то модель (любая) FM, то с помощью ЭВМ легко проверить, соответствует она данному объекту или нет. Для этого достаточно сравнить состояние Y объекта F0 в тех или иных ситуациях (а они характеризуются входами X и U) с выходом YM модели FM в тех же ситуациях. Если состояния объекта совпадут достаточно точно с выходами модели в одинаковых ситуациях, т.е.

F0(X, U) ~ FM(X, U),

то модель FM хорошая и может представлять объект в системе управления. (Здесь в левой части равенства - измеренное состояние объекта, а в правой - вычисленное на модели в тех же условиях, т.е. при одинаковых X и U). В противном случае, т.е. при существенном отличии состояния объекта от выхода модели, модель плохая.

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

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

Читатель, наверное, обратил внимание, что в предыдущем абзаце есть одна существенная оговорка: создается модель адекватная не объекту, как это задумано, а данным о нем, хранящимся в памяти. Если эти данные полностью и точно отражают поведение объекта, то эту оговорку можно снять. Но можно ли сделать такие полные и точные наблюдения?

Элементарные рассуждения показывают, что нельзя. Действительно, чтобы полностью представить поведение объекта, необходимо наблюдать его во всех ситуациях, которые могут встретиться в процессе управления. Легко себе представить, что таких ситуаций бесконечное число даже для простых объектов. Чтобы образовать в памяти ЭВМ массив таких наблюдений, не хватит ни времени, ни объема памяти. Приходится ограничиваться относительно небольшим числом характерных для данного объекта ситуаций. Естественно, что модель, созданная на базе такой информации, будет приближенной. Причем степень этого приближения будет зависеть от числа зафиксированных ситуаций и от того, встретятся ли эти и аналогичные ситуации в будущем при управлении.

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

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

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

Все изложенные соображения говорят о том, что модель FM объекта всегда бывает приближенной и обычно нуждается в постоянной коррекции, подстройке к объекту. Этот процесс называется адаптацией модели.

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


Последний раз редактировалось: Gudleifr (Вт Янв 19, 2021 10:29 am), всего редактировалось 1 раз(а)
Gudleifr
Gudleifr
Admin

Сообщения : 3252
Дата регистрации : 2017-03-29

Вернуться к началу Перейти вниз

Растригин. Вычислительные машины, системы, сети... 1982 - Страница 2 Empty Re: Растригин. Вычислительные машины, системы, сети... 1982

Сообщение автор Gudleifr Пн Янв 18, 2021 11:41 am

ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ В УПРАВЛЕНИИ РЕАЛЬНЫМИ ОБЪЕКТАМИ

Управление реальным объектом накладывает определенные требования на вычислительные средства, используемые для управления объектом. И основным таким требованием является необходимость строгой временной согласованности работы ЭВМ с функционированием объекта. Здесь объект задает режим работы вычислительных средств. Именно поэтому вычислительные системы, обслуживающие работу реального объекта в процессе управления, и называют вычислительными системами реального времени. Приведем примеры такого рода управления технологическим процессом.
Gudleifr
Gudleifr
Admin

Сообщения : 3252
Дата регистрации : 2017-03-29

Вернуться к началу Перейти вниз

Растригин. Вычислительные машины, системы, сети... 1982 - Страница 2 Empty Re: Растригин. Вычислительные машины, системы, сети... 1982

Сообщение автор Gudleifr Пн Янв 18, 2021 11:42 am

АСУТП

Автоматизированная система управления технологическим процессом (ее обычно называют сокращенно АСУТП) является типичным примером системы, использующей для управления вычислительную систему реального времени. Здесь объектом управления является технологический процесс (ТП), на который действует состояние X среды в виде исходного сырья, погодных условий и т.д. и управляющие воздействия U, изменяющие параметры этого процесса, от которых зависит состояние технологического процесса. Это состояние Y фиксируется системой измерительных приборов - датчиков, преобразующих измеряемую величину в определенные электрические сигналы. Сигналы кодируются специальными преобразователями и полученные цифровые эквиваленты измеренных параметров объекта по-ступают непосредственно в ЭВМ. Аналогично преобразуются и попадают в ЭВМ сигналы X о свойствах поступающего на технологический процесс сырья (например, с помощью датчиков состава, размеров, температуры и т.д.).

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

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

Если система управления работает в режиме советчика, то вопрос реализации управления не вызывает трудностей.

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

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

Очень часто ЭВМ перерабатывает столь большой Объем информации по столь сложной программе, что оценить качество ее совета человек уже не может.

Именно в этом случае человеку нужно безропотно следовать ее советам, т.е. исполнять ее распоряжения. Этим и занимается человек-оператор. Он, получив от машины указания, какими должны быть параметры процесса, устанавливает эти параметры на заданные ЭВМ уровни. Вот и все.

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

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

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

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

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

Другой пример.
Gudleifr
Gudleifr
Admin

Сообщения : 3252
Дата регистрации : 2017-03-29

Вернуться к началу Перейти вниз

Растригин. Вычислительные машины, системы, сети... 1982 - Страница 2 Empty Re: Растригин. Вычислительные машины, системы, сети... 1982

Сообщение автор Gudleifr Пн Янв 18, 2021 11:44 am

МЕДИЦИНСКИЕ СИСТЕМЫ ИНТЕНСИВНОЙ ТЕРАПИИ

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

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

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

В таких "штатных" ситуациях врач не нужен - достаточно медсестры, которая введет нужное лекарство больному по указанию монитора. Эти указания нетрудно запрограммировать заранее и встроить в схему монитора. Например, при излишнем сахаре в крови зажигать на столике дежурной медсестры табло с надписью "ИНСУЛИН". И лишь в нештатных ситуациях, когда выбор лекарства или другого воздействия на больного должен быть сделан нестандартным образом и с учетом других обстоятельств состояния больного, которые не фиксируются монитором, следует вызывать врача.

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

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

Если же состояние больного выходит за рамки нормального (точнее: того, которое в настоящий момент врачи считают нормальным) и это состояние не числится в штатных среди аварийных, то ЭВМ вызывает врача.

Хорошо видно, как удобны такого рода мониторы с ЭВМ. Они делают все, относительно чего есть строгие медицинские предписания и, тем самым, разгружают персонал больницы. Более того, эти системы выполняют свои функции значительно более оперативно и точнее, чем это сможет сделать самая расторопная медсестра.

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

И последний пример.
Gudleifr
Gudleifr
Admin

Сообщения : 3252
Дата регистрации : 2017-03-29

Вернуться к началу Перейти вниз

Растригин. Вычислительные машины, системы, сети... 1982 - Страница 2 Empty Re: Растригин. Вычислительные машины, системы, сети... 1982

Сообщение автор Gudleifr Пн Янв 18, 2021 11:45 am

УПРАВЛЕНИЕ ЭКСПЕРИМЕНТОМ

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

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

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

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

Несколько лет назад на Западе был выдвинут лозунг: "Кто владеет информацией, тот владеет миром". На первый взгляд довод "за информацию" вполне убедительный. Но только - на первый. Оказалось, что от владения информацией до ее использования с целью "владения" чем-либо дистанция огромного размера.

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

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

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

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

В результате складывается странная ситуация: экспериментатор ставит эксперимент, ориентируясь на получение каких-то определенных результатов, а ценными для него будут не эти ожидаемые результаты, а те, на которые он не рассчитывает и, естественно, не настраивал свой эксперимент! Если бы экспериментатор ждал эту неожиданность, то эксперимент нужно было бы поставить по-другому. Но тогда и ценность результатов этого эксперимента была бы небольшой.

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

Пусть результатом эксперимента является некоторая величина. Экспериментатор, планируя эксперимент, должен для ее измерения предусмотреть определенный измерительный прибор. Выбор этого прибора зависит от того, какое значение измеряемого параметра ожидается. Чем уже интервал ожидаемого значения измеряемой величины, тем точнее ее можно измерять. Поэтому экспериментатор заинтересован в том, чтобы как можно точнее оценить этот интервал, так как именно это обеспечит максимальную точность.

Пусть в эксперименте измеряемая величина вышла за пределы интервала. Результат этот неожидан и поэтому очень ценен. Но эксперимент в результате оказался... обесцененным, так как прибор был выбран неправильно. И надо снова ставить эксперимент, но с другим прибором. (Конечно, можно утешить себя, что результатом этого эксперимента был выбор нового прибора, но это утешение слабое).

А если бы в процессе экспериментирования можно было бы изменять прибор, т.е. корректировать его, используя результаты измерения, то эксперимент не пришлось бы повторять.

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

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

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

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

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

Сообщения : 3252
Дата регистрации : 2017-03-29

Вернуться к началу Перейти вниз

Растригин. Вычислительные машины, системы, сети... 1982 - Страница 2 Empty Re: Растригин. Вычислительные машины, системы, сети... 1982

Сообщение автор Gudleifr Пн Янв 18, 2021 11:47 am

СПЕЦИФИКА ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ РЕАЛЬНОГО ВРЕМЕНИ

Приведенные выше примеры применения вычислительной техники к задаче управления реальными объектами позволяют сформулировать требования, предъявляемые к вычислительным системам реального времени.

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

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

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

Управляющее воздействие (точнее: информация об этом воздействии), выработанное вычислительной системой, как реакция на поведение объекта, должно быть реализовано в этом объекте исполнительными механизмами. Но представлена эта информация в "машинной", т. е. в двоичной форме. Для ее передачи на исполнение необходимо преобразовать ее в непрерывную форму. Осуществляют эту операцию цифро-аналоговые преобразователи (ЦАП) или короче: преобразователи "код-аналог". Это преобразование осуществляет перевод двоичных кодов в непрерывный сигнал, который способны воспринимать исполнительные механизмы (сервоприводы), изменяющие параметры управляемого объекта.

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

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

Именно поэтому в роли вычислительной системы реального времени не могут выступать обычные ЭВМ для вычислений, надежность и тем более живучесть которых крайне невелики - для ЭВМ это попросту не нужно.

Для создания живучих вычислительных систем есть два пути и оба они используются. Первый - это применение нескольких ЭВМ, объединенных специальным образом в вычислительную систему. А второй - создание специальных вычислительных систем повышенной живучести. Рассмотрим оба направления.
Gudleifr
Gudleifr
Admin

Сообщения : 3252
Дата регистрации : 2017-03-29

Вернуться к началу Перейти вниз

Растригин. Вычислительные машины, системы, сети... 1982 - Страница 2 Empty Re: Растригин. Вычислительные машины, системы, сети... 1982

Сообщение автор Gudleifr Пн Янв 18, 2021 11:50 am

НАДЕЖНЫЕ МАШИНЫ ИЗ НЕНАДЕЖНЫХ ЭЛЕМЕНТОВ!

Такой девиз был провозглашен знаменитым американским математиком Джоном фон Нейманом в начале 1950 года. Он хорошо понимал как важно уметь создавать надежные системы. Надежность системы на первый взгляд не может быть выше надежности любого из ее элементов, так как при выходе его из строя должна остановиться и вся система. Так неужели нам никогда не удастся создать надежные системы? А точнее: можно ли создать, надежную машину из ненадежных элементов? Оказывается можно! Причем можно сделать сколь угодно надежную машину из сколь угодно ненадежных элементов. И строгое математическое доказательство этого неочевидного положения дал фон Нейман.

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

Эта идея и легла в основу первого пути обеспечения живучести вычислительных систем. Реализуется она следующим образом.

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

Если решения ЭВМ не совпадают друг с другом, то это означает, что в одной из них произошел сбой. Прежде всего надо решить не был ли сбой случайным. Для этого достаточно повторить расчет на обеих ЭВМ - совпадение полученных результатов подтвердит, что сбой был случайным и можно продолжать работу.

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

Этот режим, как видно, повышает живучесть образованной таким образом вычислительной системы, состоящей из двух ЭВМ. Однако в работе такой вычислительной системы есть два момента, когда быстродействие и живучесть уменьшаются.

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

Живучесть вычислительной системы резко снижается и во время ремонта одной из ЭВМ и совпадает с живучестью другой работающей с объектом машины. Это обстоятельство накладывает довольно жесткие тробования на время ремонта ЭВМ. Оно должно быть минимальным. Для этого проще всего заменить неисправный блок другим, для чего надо иметь запас всех блоков ЭВМ и возможность быстрой их замены. Эти технические проблемы вполне разрешимы.

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

Легко видеть, что живучесть такой трехмашинной вычислительной системы значительно выше двумашинной, но и она может выйти из строя, когда все три ЭВМ будут неисправны. Это крайне редкое событие, но оно возможно.

При этом нужно считаться и с такой возможностью, когда неисправность двух машин приводит к трем разным результатам, и нельзя сразу сказать, какая машина осталась исправной. Под подозрением - все три! И нужно время для выявления той, которой можно доверить продолжить управление.

Можно ли еще больше повысить живучесть вычислительной системы? Разумеется. Делается это аналогично вышеизложенному путем наращивания числа дублирующих ЭВМ. Живучесть такой системы с ростом числа ЭВМ возрастает очень быстро и может стать сколь угодно большой. Правда за это приходится "расплачиваться" целыми ЭВМ. Но если объект управления этого требует, то на такие расходы обычно идут, тем более, что ЭВМ могут быть не очень надежные, а, следовательно, не очень дорогие.

Следует отметить, что, кроме основных ЭВМ, для реализации описанной схемы нужна еще одна небольшая "машинка", которая бы реализовала описанный способ сравнения результатов, отключения неисправной ЭВМ и т.д. Она выполняет управляющую роль в вычислительной системе. При расчете живучести такой системы необходимо учитывать и эту управляющую ЭВМ. Для надежных вычислительных систем эта машина должна быть очень надежной. Иначе именно она снизит надежность вычислительной системы.

А теперь рассмотрим другой путь повышения живучести вычислительных систем реального времени. Если первый можно назвать многомашинным, то второй - многопроцессорным. Смысл его сводится к следующему.

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

Легко видеть, что живучесть такой двупроцессорной вычислительной системы значительно выше, чем двумашинной, рассмотренной ранее. Действительно, возможность автоматически менять блоки во время работы, обеспечивает работоспособность даже в том случае, если выйдет из строя половина разных блоков, то есть блоков каждого типа. Из оставшихся будет составлена ЭВМ, которая и обеспечит работоспособность. Система откажет лишь в том случае, если одновременно возникнет неисправность в паре однотипных блоков.

Очевидно, что живучесть такой вычислительной системы легко наращивать путем добавления нужного числа тех блоков, которые чаще выходят из строя.

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

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

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

Сообщения : 3252
Дата регистрации : 2017-03-29

Вернуться к началу Перейти вниз

Растригин. Вычислительные машины, системы, сети... 1982 - Страница 2 Empty Re: Растригин. Вычислительные машины, системы, сети... 1982

Сообщение автор Gudleifr Пн Янв 18, 2021 11:51 am

ЗАДАЧИ БЫВАЮТ РАЗНЫЕ...

Разработчики современной вычислительной техники наряду с созданием обычных "коммерческих" ЭВМ, где стоимость и удобство эксплуатации являются определяющими, большое внимание уделяют сверхмощным вычислительным системам и машинам, способным выполнять миллиарды операций в секунду. И это не погоня за рекордами. Современная наука и техника ощущают весьма острую необходимость в таких сверхбыстродействующих машинах.

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

T1 = A*n**alpha,

где A и alpha - некоторые постоянные (не в них суть), a n размерность решаемой задачи (она характеризует "размер" задачи), и показательно:

T2 = B*beta**n,

где B и beta также некоторые постоянные.

Отличие показательной и полиномиальной зависимостей состоит в том, что для задач большой размерности, т.е. при больших n всегда T2>>Т1, т.е. показательная сложность всегда значительно превышает полиномиальную независимо от значений А, В, alpha и beta. Это легко видеть из следующих простых рассуждений. Если удваивается размерность задачи (от n до 2n), то при полиномиальной трудоемкости ее решения на нее надо затратить лишь в 2**alpha больше времени. А при показательной трудоемкости - в beta**n раз больше, т.е. чем больше размерность, тем быстрее растет трудоемкость ее решения.

Примером алгоритма полиномиальной трудоемкости является решение линейной системы алгебраических уравнений, где n - число неизвестных (и уравнений). При этом объем вычислений пропорционален кубу числа неизвестных, т.е. alpha = 3. А показательную трудоемкость имеют все переборные методы дискретных задач, например, задача о коммивояжере или бродячем торговце, которому надо построить минимальный маршрут передвижения по n определенным городам. (Заметим, что эта задача имеет и важные технические трактовки, например, в случае необходимости определения минимальной длины траектории движения сверлильной головки автомата). Число возможных маршрутов торговца по n городам равно n!, удвоение числа городов, как показывают простые расчеты, увеличивает число маршрутов более чем в n**n раз.

Так, например, при n=10 удвоение размерности линейной системы алгебраических уравнений увеличивает трудоемкость решения задачи в 10**3, т.е. в тысячу раз. А решение задачи коммивояжера при удвоении числа городов станет более трудоемким в 10**10, т.е. в десять миллиардов раз! Легко себе представить, что методы решения, имеющие показательную трудоемкость, требуют огромных затрат времени, а при больших n задачи и вообще не решаются.

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

Но хорошо сказать "надо"! На деле далеко не всегда удается найти метод, имеющий полиномиальную трудоемкость. А метод полного перебора, имеющий показательную трудоемкость, является универсальным методом решения задач. Он всегда дает искомое решение, его логика элементарна, что позволяет его легко программировать. Но применение полного перебора даже при не очень больших размерностях n задачи требует больших, а порой и огромных, вычислительных мощностей. Именно это является одной из причин, стимулирующих создание сверхбыстродействующих ЭВМ,- слишком много важных научно-технических и народно-хозяйственных задач надо решать, используя этот неизящный, но продуктивный метод полного перебора.

Другим очень важным классом практических задач, требующих больших вычислительных мощностей являются задачи стохастического моделирования, т.е. задачи, требующие применения метода Монте-Карло (мы уже говорили об этом методе в первой главе в связи с алгоритмическим языком GPSS). Известно, что результат решения задачи методом Монте-Карло является случайной величиной, разброс которой зависит от числа циклов моделирования исследуемого процесса. Действительно, чем больше сделать таких циклов, тем точнее можно оценить интересующие нас показатели процесса. Теория метода дает очень четкую зависимость разброса DELTA от числа N циклов моделирования:

DELTA = C/N**0.5,

где C - некоторая постоянная. Отсюда хорошо видно, что для увеличения точности оценки в 2 раза объем моделирования надо увеличить в 4 раза. А желая уменьшить разброс в 10 раз следует число циклов моделирования увеличить в 100 раз.

Как видно, для того, чтобы достаточно точно считать методом Монте-Карло, надо либо иметь очень много времени, либо располагать вычислительной машиной большой мощности. А так как этот метод составляет основу имитационного моделирования - одного из самых распространенных методов решения научно-технических и народнохозяйственных задач, то необходимость в создании сверхбыстродействующих вычислительных средств становится очевидной и важной. Это и есть другая причина, побуждающая создавать мощные компьютеры.
Gudleifr
Gudleifr
Admin

Сообщения : 3252
Дата регистрации : 2017-03-29

Вернуться к началу Перейти вниз

Растригин. Вычислительные машины, системы, сети... 1982 - Страница 2 Empty Re: Растригин. Вычислительные машины, системы, сети... 1982

Сообщение автор Gudleifr Пн Янв 18, 2021 11:52 am

ПРИНЦИПЫ "ЦИФРОПЕРЕМАЛЫВАНИЯ"

Есть много путей убыстрения процесса обработки информации. Рассмотрим основные.

Первым и самым естественным является создание мощных процессоров, способных сверхбыстро выполнять возлагаемые на них функции - выполнение логико-арифметических операций типа: сложить два числа, сравнить два символа и т.д. Так как быстродействие ЭВМ определяется в основном быстродействием ее процессора, то для создания мощных ЭВМ надо создавать мощные процессоры. И такие процессоры создаются.

Их производительность доходит до миллиона операций в секунду; таков, например, процессор нашей известной (и знаменитой) машины БЭСМ-6. Это очень большая мощность и она будет расти со временем. Но... ее не хватает. Современные задачи требуют ЭВМ, производительность которых исчисляется миллиардами операций в секунду и более.

Что же делать? Ждать, когда такие процессоры будут изобретены? Пожалуй это будет долго даже в наш быстрый электронный век! К тому же есть серьезные подозрения, что вычислительная техника приблизилась к физическому пределу быстродействия процессоров. Во всяком случае, нельзя забывать, что физические носители сигналов никогда не превысят скорость света. Но нельзя ли повысить производительность вычислительной машины другим способом, не увеличивая быстродействия процессора? Ведь можно же сделать надежную машину из ненадежных элементов - мы только что в этом убедились!
Gudleifr
Gudleifr
Admin

Сообщения : 3252
Дата регистрации : 2017-03-29

Вернуться к началу Перейти вниз

Растригин. Вычислительные машины, системы, сети... 1982 - Страница 2 Empty Re: Растригин. Вычислительные машины, системы, сети... 1982

Сообщение автор Gudleifr Пн Янв 18, 2021 11:56 am

ПАРАЛЛЕЛЬНАЯ ОБРАБОТКА

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

Эта простая и естественная идея была реализована при создании мощных вычислительных систем.

Как осуществить распараллеливание? Ведь программа для ЭВМ представляет собой последовательную цепочку операторов. Но последовательность написания программы вовсе не означает именно такой последовательности ее выполнения. Многие ее участки (с какого-то момента) не зависят друг от друга и с этого момента могут выполняться одновременно. В этом и состоит смысл распараллеливания.

Проиллюстрируем эту процедуру на простом примере. Пусть необходимо вычислить сумму функций

Растригин. Вычислительные машины, системы, сети... 1982 - Страница 2 8214810

для заданных значений аргумента x1, x2, ..., xK, (например для того, чтобы построить эту функцию). Хорошо видно, что сначала надо вычислить значения всех функций, а уж потом их сложить. Вычисление функции можно делать параллельно на n процессорах, на что затратится время, необходимое для вычисления самой трудоемкой функции из f1, ..., fn, и потом сложить n чисел.

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

Он показан на рис. 7,а. Здесь u - входные данные, P(alpha) - программа (от английского Program), специфика которой определяется alpha - это имя программы. Выход v является результатом применения программы Р(alpha) к данным u. Например, при вычислении заданной функции для заданного значения аргумента - входом процессора будут: данные - значение аргумента и программа вычисления функции, а выходом - значение этой функции (см. на рис.7,б). Другой пример - суммирование. При этом данными являются два числа, а программой - программа суммирования. Результат - сумма двух входов z + w (см. рис. 7,в).

Растригин. Вычислительные машины, системы, сети... 1982 - Страница 2 8215010
Рис.7. Процессор (Пр.) является по сути своей управляемым преобразователем, который преобразует вход u и выход v способом, указанным в программе P(alpha) (см. рис.а). Простейшими примерами такого преобразования являются вычисления значений заданной функции (рис.б) и обычная сумма (рис.в).

И все это можно сделать на одном и том же процессоре путем изменения его программы.

Таким образом, располагая достаточным количеством процессоров и задавая им различные программы, можно строить разнообразные вычислительные системы.

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

На рис.8 показана структура такой параллельной вычислительной системы из n процессоров, на каждый из которых подается программа вычисления "своей" функции и значение аргумента. На выходе j-го процессора таким способом образуется (точнее: вычисляется) значение j-й функции от i-го аргумента. Все выходы этих процессоров суммируются n+1-м процессором. Его программа P(сумма) и образует искомую функцию.

Растригин. Вычислительные машины, системы, сети... 1982 - Страница 2 82150a10
Рис.8. Вот так реализуются параллельные вычисления с помощью нескольких процессоров. Здесь время лимитируется функцией, требующей максимального времени вычисления.

Таким образом, n+1 процессор образовали вычислительную систему, которая вычисляет функцию за время

Растригин. Вычислительные машины, системы, сети... 1982 - Страница 2 8215110

tau-максимальное + (n-1)*tau-суммы,

где tau-максимальное - время вычисления самой трудоемкой функции, а tau-суммы - время суммирования двух чисел процессором. При последовательном вычислении этой функции на одном процессоре понадобилось бы время

сумма-всех-tau-от-1-до-N  + (n-1)*tau-суммы,

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

Нельзя ли еще улучшить время вычисления за счет введения дополнительного распараллеливания? Ведь процедура суммирования n+1-м процессором реализуется последовательно, так как стандартный процессор не может складывать больше двух чисел одновременно. Давайте распараллелим процесс суммирования следующим образом (для простоты рассмотрим случай n = 8 ).

Растригин. Вычислительные машины, системы, сети... 1982 - Страница 2 82151a10

1. Сначала (на первом такте) образуем одновременно на четырех процессорах - сумматорах четыре суммы:

f1+f2, f3+f4, f5+f6, f7+f8

2. На следующем такте двумя процессорами образуются две суммы:

Сумма1-4 + Сумма5-8

3. И наконец, на последнем третьем такте получается значение искомой функции.

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

Растригин. Вычислительные машины, системы, сети... 1982 - Страница 2 8215210
Рис.9. А вот так можно быстро реализовать суммирование восьми функций. Здесь эффект убыстрения получен за счет того, что суммирование производится параллельно.

Суммарное время, затраченное на всю процедуру определения включая вычисление значений функций равно:

tau-максимальное + 3*tau-суммы (*).

А теперь подсчитаем, сколько времени понадобится на вычисление всей таблицы из функций K аргументов. He торопитесь умножать (*) на K, так как очень простые соображения показывают, что затраты будут меньше:

K*tau-максимальное + 3*tau-суммы

Действительно, суммирование происходит одновременно с вычислением следующей порции функций (для очередного аргумента). А так как tau-максимальное >> tau-суммы, то именно эти вычисления лимитируют время.
Gudleifr
Gudleifr
Admin

Сообщения : 3252
Дата регистрации : 2017-03-29

Вернуться к началу Перейти вниз

Страница 2 из 3 Предыдущий  1, 2, 3  Следующий

Вернуться к началу

- Похожие темы

 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения