925

Информационные технологии

Шпаргалка

Информатика, кибернетика и программирование

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

Русский

2013-01-06

764 KB

12 чел.

Экзамен с курса

«Информационные технологии»

  1.  Технологии использования ПК

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

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

Понятие о медицинской информатике.

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

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

Каковы же теоретические основания информатики?

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

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

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

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

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

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

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

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

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

Единицей информации в компьютере является один бит, т.е. двоичный разряд, который может принимать значение 0 или 1 (да или нет, истина или ложь, и т. п.). Как правило, команды компьютера работают не с отдельными битами, а с восемью битами сразу. Восемь последовательных битов составляют байт. В одном байте можно закодировать значение одного символа из 256 возможных (256 = 28). Следовательно, один символ или знак содержит один байт. Тогда машинописная страница содержит 1800 байт, печатный лист — 40 000 байт, газета — около 200 000 байт. По аналогии с другими единицами, более крупными единицами количества информации являются килобайт (сокращенно обозначаемый Кбайт), равный 1024 байтам (1024 = 210), мегабайт (сокращенно обозначаемый Мбайт), равный 1024 Кбайт, и гигабайт (Гбайт), равный 1024 Мбайт;

При классификации по назначению различают большие ЭВМ (электронно-вычислительные машины), мини-ЭВМ и персональные компьютеры.

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

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

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

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

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

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

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

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

Программное и аппаратное обеспечение в компьютере работают в непосредственной связи и в непрерывном взаимодействии.

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

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

Монитор — устройство визуального представления данных.

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

    Видеокарта.

Для большинства применений разрешение стандарта VGA вполне достаточно. Однако программы, ориентированные на графику, работают значительно лучше и быстрее (бывают случаи, когда они даже не инсталлируются, если установленное разрешение или видеокарта не соответствуют их возможностям), если информационная плотность экрана выше. Для этого необходимо повышать разрешение. Таким образом, стандарт VGA развился в так называемый стандарт Super VGA (SVGA). Стандартное разрешение этого режиме составляет 800х600 пикселов.

Отметим закономерность: при объеме видеопамяти 256 Кб и SVGA-разрешении можно обеспечить только 16 цветов; 512 Кб видеопамяти дают возможность отобразить уже 256 цветовых оттенков при том же разрешении. Карты, имеющие 1 Мб памяти, а это сейчас уже стало обычным явлением, позволяют при этом же разрешении достичь отображения 32768, 65536 (HiColor) или даже 16,7 млн. (TrueColor) цветовых оттенков.

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

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

Наиболее удобны и универсальны мониторы с размером экрана по диагонали 15 и 17 дюймов. Для работы с графикой используются, мониторы и с большими размерами экрана (19-21 дюйм).

Шаг маски экрана определяет четкость изображения (разрешающую способность). В настоящее время используется шаг 0,25-0,27 мм. Все мониторы с зерном более 0,28 мм относятся к категории "дешевых" и "грубых". Лучшие мониторы имеют зерно 0,26 мм, а у самого качественного известного нам монитора (и, естественно, самого дорогого) эта величина равна 0,21 мм.

Частота регенерации изображения также определяет четкость и устойчивость изображения и должна быть не ниже 75 Гц.

Класс защиты определяет соответствие монитора требованиям техники безопасности. Выполнение наиболее жестких требований к безопасности работы обеспечивает стандарт ТСО-99.

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

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

PIII-600-Intel BX/64/6,4Gb/SVGA 8Mb/CD/SB16/ATX

Здесь PHI - тип процессора - Pentium III;

600 - тактовая частота процессора в МГц;

Intel

ВХ - тип материнской платы;

64 - объем оперативной памяти в Мбайт;

6,4Gb - объем жесткого диска - 6,4 Гбайт;

SVGA - тип видеокарты;

8Mb - объем видеопамяти в Мбайт;

CD - обозначает наличие дисковода компакт-дисков;

SB16 - тип звуковой карты (Sound Blaster);

Стержень материнской платы — процессор, точнее главный процессор (Central Processing Unit, CPU).

Производительность CPU характеризуется следующими основными пар метрами:

  •  Степень интеграции.
  •  Внутренняя и внешняя разрядность обрабатываемых данных.
  •  Тактовая частота.
  •  Память, к которой может адресовываться CPU.

Степень интеграции микросхемы (чипа) показывает, сколько транзисторов может в нем уместиться. Для процессора Pentium (80586) Intel — это приблизительно 3 млн. транзисторов на 3,5 см2.

Разрядность процессора показывает, сколько бит данных он может принять и обработать в своих регистрах за один раз (за один такт). Современные процессоры семейства Intel Pentium являются 32-разрядными

Рабочая тактовая частота определяет скорость, с которой осуществляются операции в процессоре. В настоящее время рабочие частоты процессоров доходят до более, чем 1 млрд. тактов в секунду (1 ГГц).

CPU находится в прямом контакте с оперативной памятью PC. Данные, которые обрабатывает CPU, должны временно располагаться в RAM и для дальнейшей обработки снова могут быть востребованы из памяти. Для CPU86/88 эта область адресации располагается максимум до 1 МБ, процессор 80486 может обеспечить доступ уже к 4 ГБ памяти.

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

Дисководы (Floppy Disk Drive, FDD) являются старейшими периферийными устройствами PC. В качестве носителя информации в них применяются дискеты {Floppy) диаметрами 3,5" и размерами 5,25".

Для записи и чтения информации необходимо разбиение дискеты на определенные участки — создать логическую структуру. Это выполняется путем форматирования с помощью специальной команды, например, для DOS — команда Format. Дискета разбивается на дорожки (Tracks) и сектора (Sectors), на рис. показано это разбиение.

Рис. Логическое разбиение дискеты на дорожки и сектора.

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

При обращении к большим массивам данных магнитные головки должны позиционироваться на диске гораздо чаще, чем при обращении к небольшим массивам и данным, которые последовательно расположены на диске. Так что  скорость чтения и записи определяется средним временем доступа (Average Seek Time) к различным объектам на диске. Для лучших IDE и SCSI HDD это время меньше 10 мс.

Скорость передачи данных предлагается в качестве второго параметра для оценки производительности винчестера. Для современных моделей она составляет 10 МБ/с.

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

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

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

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

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

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

История возникновения MS DOS начинается с ранних вариантов операционных систем, которые использовались с предшествующим IВМ РС поколением персональных компьютеров. IВМ РС проектировался и создавался в то время, когда персональные компьютеры использовали 8-разрядный микропроцессор и основная операционная система для тех машин называлась СР/М (Control Рrоgrат/ Мicrоcотритеr) или программа управляющая микрокомпьютером. Даже при разработке персонального компьютера, основанного на 16-разрядном микропроцессоре, фирма 1ВМ ориентировалась на уже зарекомендовавшую себя и популярную среди пользователей операционную систему СР/М. Несмотря на то, что IВМ РС должен был удовлетворять совершенно другим целям и программы, написанные для 8-разрядной операционной системы СР/М, непосредственно не могли быть на нем выполнены, операционная система для этого компьютера, во многом сходная с СР/М, существенно облегчила бы адаптацию к новой машине уже существующих программ.

Вероятно, фирма IВМ намеревалась использовать модернизированный вариант СР/М для своего 16-разрядного компьютера как основную операционную систему. Эта операционная система получила название СР/М-86.

Однако, по определенным причинам фирма IВМ решила не концентрировать усилия на разработке варианта операционной системы СР/М, а использовать новую, специально созданную для этого компьютера фирмой Мicrosoft (1981 год). Этой операционной системой и была DOS.

Операционная система MS DOS состоит из следующих частей.

Дисковые файлы IO.SYS и MSDOS.SYS. Дисковые файлы IO.SYS и MS DOS.SYS, иначе называемые основными системными файлами MS DOS, содержат программы MS DOS, которые постоянно находятся в оперативной памяти компьютера. Файлы IO.SYS и MSDOS.SYS должны находиться в корневом каталоге диска, с которого загружается MS DOS.

Командный процессор DOS. Командный процессор DOS обрабатывает команды, вводимые пользователем. Стандартный командный процессор MS DOS имеет имя COMMAND.COM, обычно он находится в корневом каталоге диска, с которого загружается DOS. Некоторые команды пользователя, например Type, Dir или Copy, командный процессор выполняет сам. Такие команды называются внутренними. Для выполнения остальных (внешних) команд пользователя командный процессор ищет на дисках программу с соответствующим именем и если находит ее, то загружает в память и передает ей управление. По окончании работы программы командный процессор удаляет программу из памяти и выводит сообщение о готовности к выполнению команд DOS.

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

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

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

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

Базовая система ввода-вывода. Базовая система ввода-вывода (BIOS), находящаяся в постоянной памяти (постоянном запоминающем устройстве, ПЗУ) компьютера, формально не является частью MS DOS, однако тесно с ней связана. BIOS содержит программы для проверки оборудования компьютера, инициирования загрузки операционной системы (ОС) и программы для выполнения базовых (низкоуровневых) операций ввода-вывода с монитором, клавиатурой,  дисками и принтером.

Загрузчик DOS. Еще одна программа, которую можно считать частью DOS, — это загрузчик DOS. Он находится в первом секторе каждой дискеты и в первом секторе логического диска, с которого происходит загрузка DOS (то есть диска С:). Назначение этой очень короткой программы — загрузка в память системного файла DOS IO.SYS при начальной загрузке компьютера.

Начальная загрузка операционной системы DOS выполняется автоматически в следующих случаях:

при включении электропитания компьютера;

при нажатии на клавишу «Reset» на корпусе компьютера (такая клавиша есть не у всех моделей компьютеров):

при работе в DOS перезагрузка DOS выполняется также и при одновременном нажатии клавиш (Ctrl- Alt-Del) на клавиатуре.

Для выполнения начальной загрузки ОС необходимо, чтобы в дисководе А: находилась системная дискета или чтобы на логическом диске (части жесткого диска) С: была записана DOS. При начальной загрузке после выполнения BIOS  проверки оборудования  вызывается программа-загрузчик DOS, которая считывает в память начало одного из системных файлов DOS (для MS DOS — файла IO.SYS) и передает ему управление. Дальнейший ход загрузки зависит от вида ОС и параметров ее настройки.

Для компьютеров, совместимых с IBM PC, такими ОС являются операционные системы семейства Microsoft Windows.Рассмотрим преимущества и недостатки Windows для пользователей  прикладных программ.                   

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

Единый пользовательский интерфейс. Windows предоставляет программистам все необходимые средства для создания пользовательского интерфейса (API Application Programming Interface — Интерфейс программирования приложений), поэтому программисты пользуются ими, а не изобретают аналогичные собственные средства.

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

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

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

Многозадачность (multitasking) — это одно из тех туманных слов, которые использует каждый, но никто не берется определять. Прежде чем перейти к обсуждению многозадачности, необходимо определить термин "задача". Задача (task) — выполняемое приложение. Можно думать, что после того, как WINDOWS загружена, ничего не происходит, однако после запуска операционной системы на компьютере уже выполняется несколько приложений. Например, Проводник рассматривается как задача. Сетевые присоединения или очереди печати рассматриваются как задачи. Заставка — это тоже задача. Существуют также несколько системных задач. Ядро WINDOWS рассматривается как задача. В компьютерном мире принято два названия для выполняющегося приложения или потока: процесс или задача.

В WINDOWS 3-Х можно ассоциировать каждую задачу с одним приложением. Определение задачи в случае WINDOWS 98 или WINDOWS NT не ограничивается этим. Некоторые 32-разрядные приложения используют многопоточность (multithreading), что позволяет им выполнять более одной задачи одновременно. Например, можно было бы выполнить перерасчет рабочего листа и его распечатать одновременно, если приложение поддерживало бы многозадачность. Потоки можно представлять себе как подзадачи, которые выполняет приложение.

После того как определено понятие "задача", рассмотрим многозадачность. Обычно подразумевается, что многозадачность является именно тем, о чем говорит само название — несколько задач (или процессов), которые выполняются одновременно на одном компьютере. Важно принять во внимание тот факт, что операционная система разделяет время между задачами. Рассматривая WINDOWS, очень важно определить метод, который используется для управления задачами. WINDOWS 98 поддерживает два типа многозадачности: кооперативную и приоритетную.

С выходом WINDOWS 3.0 было введено понятие кооперативной многозадачности. Она заключается в следующем: приложение А выполняется в определенное время, достаточное для того, чтобы закончить одну часть задачи. Затем оно возвращает управление системой WINDOWS, т. о. WINDOWS может позаботиться о системных задачах и позволить выполнить часть задачи приложению Б.

Разрабатывая WINDOWS NT, компания Microsoft желала внести в операционную систему нечто лучшее, чем кооперативная многозадачность, решением этого вопроса стала приоритетная многозадачность. Операционная система WINDOWS 98 поддерживает приоритетную многозадачность для любого 32-разрядного приложения, которое выполняется в системе. Количество времени, выделяемого для каждой задачи, оценивается операционной системой по некоторым критериям. В результате каждое приложение получит долю процессорного времени в соответствии с его приоритетом. WINDOWS 98 производит мониторинг каждого приложения и прерывает их выполнение, когда заканчивается отведенное им время. Не важно, желает ли приложение возвратить управление операционной системе или нет, WINDOWS 98 не оставляет выбора.

Средства обмена данными. Для организации обмена данными между различными программами Windows предлагает различные способы обмена данными между приложениями.

Недостатки Windows. Как известно, любая медаль имеет две стороны. И у Windows имеются не только преимущества, но и недостатки, которые мы и опишем ниже.

1) Описанные выше преимущества Windows достаются за счет значительного увеличения нагрузки на аппаратные средства компьютера. Часто программы с приблизительно одинаковыми возможностями для DOS и для Windows отличаются по требованиям к ресурсам компьютера в десятки раз. Развитие компьютерной индустрии вскоре скомпенсировало это повышение требований к ресурсам. Сейчас компьютеров, не способных работать с WINDOWS , уже не выпускается.

2) Windows-программы недостаточно эффективно работают в тех приложениях, где критическим ресурсом является время. Например, при создании базы данных с напряженным режимом использования целесообразность ее функционирования в среде WINDOWS может быть иногда весьма сомнительна, так как база данных в DOS может работать в 1,5-2 раза быстрее.

Рассмотрим некоторые черты операционной системы WINDOWS 98.

Windows 98 унаследовала архитектуру, которая лежала в основе операционных систем WINDOWS 95, WINDOWS 3-Х И MS-DOS. Однако проблемы, с которыми часто сталкивались пользователи в прошлых версиях, гораздо реже встречаются в WINDOWS 98. Система WINDOWS 98 включает дополнительные возможности поддержки 16-разрядных приложений, предоставляя им расширенный доступ к 32-разрядным компонентам. Это обеспечивает неплохую производительность и умеренный уровень защиты 16-разрядных приложений. Все новые средства, включенные в WINDOWS 98, дают этой операционной системе значительные преимущества перед предыдущими версиями, однако она по-прежнему далека от совершенной операционной системы, если рассматривать ее с точки зрения надежности выполнения приложений.

По сравнению с WINDOWS 98 операционная система WINDOWS NT является более стабильной. К сожалению, некоторые приложения (в том числе программы MS-DOS) не будут работать под управлением WINDOWS NT, поскольку средства WINDOWS NT, обеспечивающие устойчивую работу приложений, одновременно являются преградой для выполнения некоторых операций. По показателям надежности Windows 98 находится примерно посередине между WINDOWS NT и MS-DOS — она имеет средства повышения надежности выполнения приложений, предоставляет усовершенствованные 32-разрядные компоненты и, в то же время, обеспечивает совместимость с предыдущими версиями WINDOWS (и даже MS-DOS), что позволяет использовать старые приложения. Windows 98 работает более устойчиво, чем все ее предшественницы (WINDOWS 95 и WINDOWS 3-Х). Тем не менее, WINDOWS 98 не всегда может завершить работу приложения, попавшего в неуправляемое состояние.

FAT32, или более точно, 32-разрядный FAT, является новой файловой системой, которая поддерживается операционной системой WINDOWS 98. Как правило, использование FAT32 позволяет сократить применение дискового пространства на 20—50%. Менее известными, однако более значимыми, являются средства поддержки отказоустойчивости в файловой системе FAT32. В отличие от FAT16, корневая папка FAT32 может быть расположена в любом месте диска. При помощи вспомогательного программного обеспечения можно переместить корневую папку в любое место диска, чтобы устранить возможные ошибки. Эта означает, что FAT32 не страдает от ограничений старой корневой папки, таких как количество файлов, которые можно хранить в ней. FAT32 может использовать обе копии таблицы FAT.

Хотя длинные имена могут содержать до 254 символов, не следует использовать имена более чем с 60-70 символами. Во-первых, такие длинные имена долго читать и в них неудобно ориентироваться. Во-вторых, длина полного имени файла ограничена 260 символами, так что файл с очень длинным именем, помещенный в глубоко вложенный каталог, может не восприниматься некоторыми программами. И наконец, не рекомендуется использовать длинные имена в корневом Каталоге дисков — объем корневых каталогов ограничен.  

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

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

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

Для решения  серьезных задач WINDOWS обеспечивает два основных способа совместного использования данных различными приложениями: динамический обмен данными (Dynamic Data ExchangeDDE), а также связывание и внедрение объектов (Object Linking and EmbeddingOLE). 

Динамический обмен данными (DDE) является наиболее старой технологией обмена данными между приложениями. Тем не менее, поддержка DDE была сохранена в Windows 98, эта технология будет использоваться еще достаточно долго.

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

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

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

Низкая популярность DDE вынуждала Microsoft искать различные способы его усовершенствования. В качестве технологии более высокого уровня была реализована OLE 1.0 OLE 1 (Object Linking and Embedding — связывание и внедрение объектов). Она расширила возможности протокола DDE и, используя его как базовый механизм коммуникаций, позволила активизировать встроенный объект в документе, т. е. получить составной документ.

Определимся с некоторыми терминами:

Клиент (Client). Этим термином называется приложение, содержащее внедренные или связанные объекты. Например, если поместить лист электронной таблицы в документ текстового процессора, то текстовый процессор станет клиентом. Совмещая клиентское приложение и составной документ, можно построить приложение, которое будет только обрамлением для другого приложения

 Сервер (Server). Сервер — это приложение, которое используется клиентским приложением для работы с конкретным объектом. Внедренные или связанные объекты находятся в форматах того приложения, в котором они были созданы. Клиент обязан вызвать исходное приложение (сервер) для любых изменений содержимого объекта. В действительности при работе с составными документами одновременно используются два приложения. В случае OLE предполагается, что серверное приложение располагается на том же компьютере. При внедрении листа Excel в документ Word на компьютере должны быть установлены оба эти приложения. При использовании технологии ActiveX потребность в наличии серверного приложения именно на том же компьютере отпадает (хотя его наличие может сильно сократить время работы). При разработке надстроек для Internet Information Server вся работа с объектом может происходить исключительно на сервере, который будет возвращать на локальный компьютер только данные, необходимые для отображения объекта.

Составной документ (Compound document). Это документ, который содержит один или более объектов (других документов). Каждый объект OLE рассматривается как составной документ.

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

Контейнер (Container). Контейнер — это объект, содержащий внутри себя другие объекты. Упрощенно контейнер можно представить как папку на диске. Однако, в отличие от папки, контейнер объектов OLE может содержать не только файлы, но и объекты любых других типов.

Но и внедрение обладает своими недостатками.

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

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

Единственная проблема, связанная с OLE, состоит в том, что эта технология ограничивает свое действие рамками одной локальной машины. К тому же, для решения некоторых задач может потребоваться более тесный контакт приложений с аппаратурой. В таких случаях на помощь приходит технология ActiveX. ActiveX опирается на новые возможности технологии OLE, предоставляемые одной из ее фундаментальных основ — распределенной компонентной моделью объектов (Distributed Component Object ModelDCOM). OLE 2 использует в качестве основы для построения составных документов (документов, содержащих другие объекты) более простую технологию — компонентную модель объектов (Component Object Model — СОМ). Внедрение или связывание объектов с помощью OLE обеспечивает именно СОМ, а DCOM помогает выполнять те же действия, но не только на отдельном компьютере, но и в рамках вычислительной сети. Другими словами, составной документ может состоять из объектов, созданных на различных компьютерах. Элемент управления (компонент ActiveX) не существует внутри приложения, а располагается в отдельном файле. При этом приложение и компонент ActiveX взаимодействуют друг с другом. Программист отслеживает все возможные взаимодействия, устанавливая те или иные свойства компонента или задавая реакцию приложения на некоторые события.

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

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

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

Для решения  серьезных задач WINDOWS обеспечивает два основных способа совместного использования данных различными приложениями: динамический обмен данными (Dynamic Data ExchangeDDE), а также связывание и внедрение объектов (Object Linking and EmbeddingOLE). 

Динамический обмен данными (DDE) является наиболее старой технологией обмена данными между приложениями. Тем не менее, поддержка DDE была сохранена в Windows 98, эта технология будет использоваться еще достаточно долго.

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

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

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

Низкая популярность DDE вынуждала Microsoft искать различные способы его усовершенствования. В качестве технологии более высокого уровня была реализована OLE 1.0 OLE 1 (Object Linking and Embedding — связывание и внедрение объектов). Она расширила возможности протокола DDE и, используя его как базовый механизм коммуникаций, позволила активизировать встроенный объект в документе, т. е. получить составной документ.

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

Системы управления базами данных (СУБД) - это программные средства, предназначенные для создания, наполнения, обновления и удаления баз данных. Различают три основных вида СУБД: промышленные универсального назначения, промышленные специального назначения и разрабатываемые для конкретного заказчика. Специализированные СУБД создаются для управления базами данных конкретного назначения - бухгалтерские, складские, банковские и т.д. Универсальные СУБД не имеют четко очерченных рамок применения, они рассчитаны «на все случаи жизни» и, как следствие, достаточно сложны и требуют от пользователя специальных знаний. Как специализированные, так и универсальные промышленные СУБД относительно дешевы, достаточно надежны (отлажены) и готовы к немедленной работе, в то время как заказные СУБД требуют существенных затрат, а их подготовка к работе и отладка занимают значительный период времени (от нескольких месяцев до нескольких лет). Однако, в отличие от промышленных, заказные СУБД в максимальной степени учитывают специфику работы заказчика (того или иного предприятия), их интерфейс обычно интуитивно понятен пользователям и не требует от них специальных знаний.

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

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

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

Дата

Товар

Покупатель

Отпущено (ед.)

10.02.97

Сахар

Геракл, ТОО

100

10.02.97

Сахар

Геракл, ТОО

100

12.02.97

Сахар

Пищеторг, ЗАО

2000

12.02.97

Макароны

Пищеторг, ЗАО

300

14.02.97

Сахар

Геракл, ТОО

200

15.02.97

Дрожжи

База № 28

100

Рис. 1.1. Пример таблицы «Отпуск товаров».

Между отдельными таблицами БД могут существовать связи. Например, информация о покупателе в предыдущей таблице может дополняться в другой:

Покупатель

Адрес

Телефон

Геракл, ТОО

107005 Москва, 2-я Бауманская ул., 12

273-00-14

Пищеторг, ЗАО

105066 Москва, Измайловский б-р, 18/11

165-18-99

База № 28

274088 Хотьково МО, ул. Лесная, 1

17-54

Рис. 1.2. Пример таблицы «Покупатель».

Базы данных, между отдельными таблицами которых существуют связи, называются реляционными (от relation - связь, отношение).

Связанные отношениями таблицы взаимодействуют по принципу главная (master) -подчиненная (detail). В нашем примере таблица «Отпуск товаров» - главная, а таблица «Покупатель» - подчиненная. Главную таблицу часто называют родительской, а подчиненную - дочерней. Одна и та же таблица может быть главной по отношению к одной таблице БД и дочерней по отношению к другой.

Одной записи из родительской таблицы «Товары» может соответствовать несколько записей в дочерней таблице «Отпуск товаров».

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

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

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

Подобно связи один-ко-многим, связь один-к-одному может быть жесткой и нежесткой.

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

Пусть в реляционной БД необходимо хранить древовидную структуру произвольного уровня, например, структуру организации (рис. 1.3).

Департамент автоматизации Техническое управление

Отдел сетевого оборудования Ремонтный отдел АТС

Управление программными системами Отдел эксплуатации

Информационная группа Административная группа

Диспетчерское бюро Отдел разработки

Рис. 1.3. Структура организации.

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

№ подразделения

Название подразделения

№ подразделения предыдущего уровня

1

Департамент автоматизации

2

Техническое управление

1

3

Управление разработки и эксплуатации программных систем

1

4

Отдел сетевого оборудования

2

5

Ремонтный отдел

2

6

АТС

2

7

Отдел эксплуатации

3

8

Отдел разработки

3

9

Информационная группа

7

10

Административная группа

7

11

Диспетчерское бюро

10

Рис. 1.4. Табличное представление структуры организации.

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

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

• при изменении поля связи в записи родительской таблицы следует синхронно изменить значения полей связи в соответствующих записях дочерней таблицы;

• при удалении записи в родительской таблице следует удалить соответствующие записи в дочерней таблице.

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

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

Первая нормальная форма

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

Неделимость поля означает, что содержащиеся в нем значения не должны делиться на более мелкие. Например, если в поле «Подразделение» содержится название факультета и название кафедры, требование неделимости не соблюдается и необходимо выделить название факультета или кафедры в отдельное поле; поле, содержащее фамилию, имя и отчество, следует разделить на три поля - отдельно для фамилии, имени и отчества и т.д.

Повторяющимися являются поля, содержащие одинаковые по смыслу значения.

Вторая нормальная форма

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

Третья нормальная форма

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

Нормализация - за и против

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

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

Другим недостатком нормализованной БД является необходимость считывать связанные данные из нескольких таблиц при выполнении одного запроса.

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

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

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

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

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

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

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

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

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

Термин "сервер баз данных" обычно используют для обозначения всей СУБД, основанной на архитектуре "клиент-сервер", включая и серверную, и клиентскую части. Такие системы предназначены для хранения и обеспечения доступа к базам данных.

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

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

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

Это язык по сути дела представляет собой текущий стандарт интерфейса СУБД в открытых системах. Собирательное название SQL-сервер относится ко всем серверам баз данных, основанных на SQL. Соблюдая предосторожности при программировании, некоторые из которых были рассмотрены на предыдущих лекциях, можно создавать прикладные информационные системы, мобильные в классе SQL-серверов.

Серверы баз данных, интерфейс которых основан исключительно на языке SQL, обладают своими преимуществами и своими недостатками. Очевидное преимущество - стандартность интерфейса. В пределе, хотя пока это не совсем так, клиентские части любой SQL-ориентированной СУБД могли бы работать с любым SQL-сервером вне зависимости от того, кто его произвел.

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

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

Преимущества протоколов удаленного вызова процедур

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

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

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

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

При этом должны обеспечиваться:

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

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

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

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

Компьютерная (вычислительная) сеть - совокупность компьютеров и терминалов, соединенных с помощью каналов связи в единую систему.

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

  •  глобальные сети (WAN-Wide Area Network)
  •  региональные сети (MAN- Metropolitan Area Network)
  •  локальные сети (LAN- Local Area Network)

Глобальная вычислительная сеть объединяет абонентов, расположенных в различных странах, на различных континентах.

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

Локальная вычислительная сеть объединяет абонентов, расположенных в пределах небольшой территории.

Любая коммуникационная сеть должна включать следующие основные компоненты: передатчик, сообщение, средства передачи, приемник.

Передатчик - устройство, являющееся источником данных.

Приемник - устройство, принимающее данные.

Средства передачи – физическая передающая среда и специальная аппаратура, обеспечивающая передачу сообщений .

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

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

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

Режим передачи. Существуют три режима передачи: симплексный, полудуплексный и дуплексный.

Симплексный режим – передача данных только в одном направлении.

Полудуплексный режим – попеременная передача информации, когда источник и приемник последовательно меняются местами.

Дуплексный режим – одновременные передача и прием сообщений. Пример дуплексного режима – телефонный разговор.

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

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

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

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

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

Концентратор – Устройство, коммутирующее несколько каналов связи на один путем частотного разделения.

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

Для оценки качества коммуникационной сети можно использовать следующие характеристики:

  •  скорость передачи данных по каналу связи;
  •  пропускную способность канала связи;
  •  достоверность передачи информации;
  •  надежность канала связи и модемов.

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

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

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

Единица измерения надежности: среднее время безотказной работы – час.

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

2. Локальные вычислительные сети.

Локальная вычислительная сеть можно рассматривать как совокупность серверов и рабочих станций.

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

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

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

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

Достоинство одноранговых сетей: низкая стоимость и высокая надежность.

Недостатки одноранговых сетей:

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

Наибольшей популярностью пользуются одноранговые сети на базе сетевых операционных систем LANtastic, NetWare Lite, Windows 95/98.

Сеть с выделенным сервером.

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

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

Достоинства сети с выделенным сервером:

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

Недостатки сети:

  •  высокая стоимость из-за выделения одного компьютера под сервер;
  •  зависимость быстродействия и надежности сети от сервера;
  •  меньшая гибкость по сравнению с одноранговой сетью.

Сетевые операционные системы для таких сетей – LANSeruer (IBM) Windows NT Seruer версий 3.51 и 4.0 и NetWare (Novell).

Физическая передающая среда ЛВС.

Витая пара состоит из двух изолированных проводов, свитых между собой.

Основной недостаток витой пары – плохая помехозащищенность и низкая скорость передачи информации – 0,25 –1 Мбит/с.

Коаксиальный кабель по сравнению с витой парой обладает более высокой механической прочностью, помехозащищенностью и обеспечивает скорость передачи информации до 10-50 Мбит/с.

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

Скорость передачи информации по оптоволоконному кабелю более 50 Мбит/с.

Основные топологии ЛВС.

Кольцевая топология. Шинная топология. Звездообразная топология.

Способы объединения ЛВС.

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

Маршрутизатор (роутер). Задача этого устройства- отправить сообщение адресату в нужную сеть.

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

Способы организации передачи информации.

Электронная почта (e-mail)– выполняет функции обычной почты. Электронное письмо приходит сразу же после его отправления и храниться в почтовом ящике до получения адресатом. Кроме текста оно может содержать графические и звуковые файлы, а также двоичные файлы – программы. Формат адреса электронной почты должен иметь вид:

<имя пользователя>@<адрес хост-компьютера>. Пример: ivanov@tomcat.ru

WORLD-WIDE-WEB (Всемирная информационная сеть)

«Всемирная паутина», или World Wide Web, в настоящее время является основным информационным ресурсом Интернета.

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

Документы WWW принято называть страницами, а логически связанный набор страниц — сайтом, сервером или узлом. Каждая страница имеет свой адрес, по которому она «прописана» в Интернете. Страница может иметь гиперссылки (выделенный особым образом текст или рисунок), связывающие документ с другими страницами, даже если они находятся за океаном. Таким образом, гиперссылки образуют сложную паутину связей, позволяющих путешествовать по всемирной сети. Для работы в сети необходимо «средство просмотра», которое обычно называют брозером. Это программный продукт, который устанавливается на компьютер, соединенный с глобальной сетью.

Сегодня WWW — самая популярная и самая быстро растущая часть Интернета. Очень скоро она станет самым распространенным инструментом в медицинской практике из-за простоты в использовании и графических возможностей. Поэтому в дальнейшем ограничимся рассмотрением только работы с WWW, так как большинство медиков предпочтут дружественную для пользователя систему World Wide Web.

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

«Страницы» WWW представляют собой компьютерные файлы, которые включают текст, размеченный определенными командами, которые известны как HyperText Markup Language (HTML). Эти гипертекстовые файлы доступны с компьютеров, имеющих специальное программное обеспечение, созданное для поддержания Протокола обмена гипертекстом (HyperText Transport ProtocolHTTP). Команды HTML в файлах «WWW» определяют местоположение графики, связи между файлами, и цвет и шрифты страниц. Команды не видны пользователю, и для их распознавания, и предназначены Web-броузеры. Эти программы расшифруют команды и выведут информацию на экран в соответствии с ними.

Первым из графических Web-броузеров, созданных для персональных компьютеров, был Mosaic (1993 г.). С того времени разработано множество других броузеров, включая Netscape (Netscape Communi-cations), WinWeb (IBM) и Cello (университет Cornell). В настоящее время используется несколько ориентированных на работу под Windows программ для приема и отображения этих страниц.

Популярные программы просмотра WWW

Windows 3-х             | Windows9x

Netscape 2.0 (Win3x)        | Netscape 4.7 (Win95)

Netscape Gold (Win3x)    | MS IE 5.5 (Win9x)

MS IE 3.0 (Win3x)     | Netscape 6 (Win9x)

Работая с Web–сервером, можно выполнить удаление подключение Telnet, послать абонентам сети электронную почту, получить файлы с помощью FTP и выполнить ряд других приложений (прикладных программ) Internet. Это дает возможность считать WWW интегральной службой Internet.

Телеконференции Usenet.

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

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

Передача файлов с помощью протокола FTP.

Для того чтобы обеспечить перемещение данных между различными операционными системами, которые могут встретится в Internet, используется протокол FTP ( File Transfer Protocol), работающий независимо от применяемого оборудования.

Для установки связи с FTP-сервером пользователь, при работе в Unix или MS DOS, должен ввести команду ftp, а затем адрес или его доменное имя.

Если связь установлена, появится приглашение ввести имя пользователя. Пользователь, не зарегистрированный на сервере, может представиться именем “anonymus” и получить доступ к определенным файлам и программам. Если будет запрошен пароль, можно ввести свой адрес электронной почты. Поступившие после выполнения этих процедур приглашение позволяет работать с FTP- сервером.

Взаимодействие с другими компьютерами (Telnet).

Telnet обеспечивает взаимодействие с удаленным компьютером. Установив связь через Telnet, пользователь получает возможность работать с удаленным компьютером, как со “своим”, т.е. теоретически получить в свое расположение все ресурсы, если к ним разрешен доступ. Два вида услуг Internet требует подключения к серверам через Telnet: библиотечные каталоги и электронные доски обьявлений (BBC).

Электронные доски объявлений (BBS).

Независимо от Internet существуют маленькие диалоговые службы, предоставляющие доступ к BBS ( Bulletin Boardn System – система электронных досок объявлений). Это компьютеры, к которым можно подсоединить с помощью модемов через телефонную сеть. BBS содержит файлы, которые можно переписывать, позволяют проводить дискуссии, участвовать в различных играх и имеют свою систему электронной почты.

Глобальная вычислительная сеть объединяет абонентов, расположенных в различных странах, на различных континентах.

Глобальная сеть Internet. В 1958 году Министерство Обороны США озаботилось связью множества своих компьютеров, расположенных далеко друг от друга, и решило создать для этого специальную сеть. Разработка проекта сети и его осуществление было поручено ARPAAdvanced Research Projects Agency - Управлению передовых исследований Министерства Обороны. Сеть должна была, с одной стороны, способствовать научным исследованиям в военно-промышленной сфере и, с другой стороны, быть объектом исследований методов построения сетей, устойчивых к частичным повреждениям, получаемым, например, при нанесении ракетно-ядерного удара или при авиационной бомбардировке, и способных в таких условиях продолжать нормально функционировать. Сеть должна была быть основана на коммутации пакетов.

Через пять лет напряжённой работы такая сеть была создана и получила название ARPAnet

Изначальные требования, предъявленные к создаваемой сети, дают ключ к пониманию её принципов построения и структуры. В модели ARPAnet сеть a priory предполагалась ненадёжной; любая часть сети может исчезнуть в любой момент''. И в этих условиях должно было быть всегда возможно установить связь между компьютером-источником и компьютером-приемником (станцией назначения).

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

Передача данных в сети была организована на основе "межсетевого" протокола — IP (Internet Protocol). Протокол IP   это свод правил и описание принципов работы сети. Этот свод включает правила налаживания и полдержания связи в сети, правила обращения с данными — указания, как их обрабатывать и передавать по сети.

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

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

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

Примерно 10 лет спустя после появления ARPAnet появились и стали быстро завоёвывать популярность Локальные Вычислительные Сети ( Л/LV), например, такие как Ethernet и др. Примерно в то же время появились первые компьютеры, называемые рабочими станциями, предназначенные для персонального использования, которые обладали вычислительными мощностями сравнимыми с большими ЭВМ. В связи с возникновением принципиально новых задач и методов их решения появилась новая потребность: организации желали связать воедино свои локальные сети и иметь возможность связываться с локальными сетями других организаций. Время от времени предпринимались попытки использовать для этого уже готовую сеть ARPAnet, но бюрократы Министерства Обороны оборонялись умело.

Появились организации (NASA, DOE), которые начали создавать свои собственные сети, использующие коммуникационные протоколы, идеологией сильно напоминающие IP. Эти активисты начали устанавливать IP-программное обеспечение на все возможные типы компьютеров. Вскоре это стало единственным приемлемым способом для связи разнородных компьютеров. Причём, сети эти постепенно объединялись в единую Сеть сетей с единым адресным пространством, именно тогда стало популярным название Internet. В 1973 году была организовано первое международное подключение — к Сети подключились Англия и Норвегия.

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

В 1982 году IP - протоколы, называвшиеся тогда протоколами ARPAnet, оформились в семейство TCP/IP.

В конце 80-х Национальный Научный Фонд (National Science Foundation    NSF — аналог нашего Министерства Науки) создал пять суперкомпьютерных центров для использования их в научных исследованиях. Было создано всего лишь пять центров потому, что они очень дороги даже для богатой Америки. Именно поэтому их и следовало использовать кооперативно. Возникла проблема связи: требовалось соединить эти центры и предоставить доступ к ним различным пользователям.

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

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

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

В 1987 г. контракт на управление и развитие Сети был передан компании Merit Network Inc.. которая занималась образовательной сетью Мичигана совместно с IBM и МСI. Старая физически сеть была заменена более быстрыми (~1 Мb/s) телефонными линиями. Были заменены на более быстрые и сетевые управляющие машины.

Далее развитие Сети пошло уже семимильными шагами, а к сему дню эти шаги стали уже семидесяти семимильными. По всему миру наплодилось IP - сетей превеликое множество, и все они успешно включаются в Internet. Бурный рост Сети требует её непрерывного совершенствования, даже структурных перестроек, которые, однако, не должны отражаться на работоспособности, — все они должны происходить и происходят незаметно для конечного пользователя.

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

Основные ячейки Interner - локальные вычислительные сети. Существуют также компьютеры, самостоятельно подключенные к Internet. Они называются хост-компьютерами (host – хозяин). Каждый подключенный к сети компьютер имеет свой адрес, по которому его может найти абонент из любой точки света. Для каждого компьютера устанавливаются два адреса: цифровой IP- адрес (IP-Internetwork Protocol- межсетевой протокол) и доменный адрес.

Оба эти адреса могут применяться равноценно. Цифровой адрес удобен для обработки на компьютере, а доменный адрес – для восприятия пользователем.

Адрес в Internet состоит из 4 байт. При записи байты отделяются друг от друга точками: 123.45.67 .89 или 3.33.33.3.

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

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

Доменная система имён — это метод назначения имён путём передачи сетевым группам ответственности за их подмножество имён. Каждый уровень этой системы называется доменом. Домены в именах отделяются друг от друга точками:

hump.ihep.su, vxcern.cern.ch, nic.ddn.mil 

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

Первым в имени стоит название рабочей машины — реального компьютера с IP адресом. Это имя создано и поддерживается группой, к которой он относится. Группа входит в более крупное подразделение (например, городское объединение - сеть города Дубны), которое в свою очередь, является частью национальной сети (например, сети Украины, домен ua). Для США наименование страны по традиции опускается, там самыми крупными объединениями являются сети образовательных (edu), коммерческих (corn), государственных (gov), военных (mil) учреждений, а также сети других организаций (org) и сетевых ресурсов (net).

Группа может создавать или изменять любые ей подлежащие имена.

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

Аналогично, если каждая группа в Internet придерживается таких простых правил — всегда убеждается, что имена, которые она присваивает, единственны во множестве её непосредственных подчинённых, то никакие две системы, где бы те ни были в Сети, не смогут получить одинаковых имён. Поскольку Internet сеть мировая, требовался также способ передачи ответственности за имена внутри стран им самим. Сейчас принята двухбуквенная кодировка государств. Так, например, домен Канада называется са, Украина — ua, Россия — ru, США — us и т.д. США также включили в эту систему структурирования для всеобщности и порядка.

Общая характеристика медицинских ресурсов

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

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

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

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

Так, первая двадцатка наиболее популярных (посещаемых - сентябрь 2000 г.) Российских медицинских серверов выглядит следующим образом.

  1.  AskDoctor.ru: Крупнейший медицинский портал
  2.  Мама.Ру
  3.  03-РУ - БЕСПЛАТНЫЕ МЕДИЦИНСКИЕ КОНСУЛЬТАЦИИ
  4.  Doctor. Ru - Нам всем сносит башню
  5.  Doctor.Ru: Сексолог. Вопросы и ответы.
  6.  Русский Медицинский Сервер
  7.  МЕДНОВОСТИ
  8.  Doctor.Ru: МЕДИЦИНСКИЕ КОНФЕРЕНЦИИ
  9.  high.ru: информация о психоактивных веществах

  1.  «Медицина для Вас»
  2.  Mama.Ru: Календарь беременности
  3.  Mama.Ru: Акушер-гинеколог. Вопросы и ответы.
  4.  Медицинская книга
  5.  03-РУ - Медицинские вопросы и ответы
  6.  Психологические тесты on-line

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

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

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

Простейшим случаем реализации возможностей телемедицины является быстрый доступ врача к необходимой справочной информации. Например, университет г. Эрланген (Германия) предоставил пользователям Интернета доступ к Атласу по дерматологии, выполненному в виде Web-страницы (http://www.rrze.uni-erlangen.de), в который включены рисунки и фотографии десятков кожных заболеваний с краткими описаниями. Приводятся сведения по диагностике и лечению этих состояний.

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

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

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

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

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

В Санкт-Петербурге в Военно-медицинской академии в 1991 г. на базе клиники сердечно-сосудистой хирургии им. П.А.Куприянова создан мониторно-компьютерный комплекс Cardio LAN, обеспечивающий возможность передачи медицинской информации другим учреждениям по UUPC e-mail в режиме электронной почты (14,4 Кбит/с), что позволило использовать его в интересах здравоохранения Санкт-Петербурга и Ленинградской области. С 1995 г. выполнено подключение по выделенной линии (128 Кбит/с). Это позволило передавать рентгенограммы и осуществлять дистанционный мониторинг жизненно важных функций. С 1997 г. создана оптоволоконная линия связи, позволяющая проводить видеоконференции и телеконсилиумы через сеть FASTNET-DN2 (256 Кбит/с). Состоялись сеансы телевизионной связи между клиникой сердечнососудистой хирургии им. П.А.Куприянова и Медицинским центром им. Уолтера Рида Армии США. Предполагается расширение этого канала связи до 2 Мбит/с (ISDN) с целью использования телеманипуляторов в кардиохирургии. Аналогичные работы ведутся в ИССХ им. А. Н. Бакулева и ряде других отечественных медицинских учреждений.

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

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

где A – нормирующий множитель,  - среднее значение i-ой координаты для данного примера из обучающего множества, коэффициент управляет степенью сглаживания гауссовых функций (параметр, который подбирается при обучении нейронной сети). Если обучающих примеров достаточное количество, то такой метод даст достаточно хорошее приближение к истинной плотности вероятности. На рисунке 3 приведен в качестве примера вид такой функции в двумерном случае (здесь рассмотрено 6 примеров, находящиеся в 4-х различных точках пространства).

Рис.3. Вид функции плотности вероятности в методе ядерных оценок.

Вероятностная сеть в случае байесовского подхода состоит из входного слоя искусственных нейронов, выходного слоя (количество искусственных нейронов соответствует числу классов) и скрытого слоя (состоящего из “радиальных функций”). Радиальная базисная функция (RBF) разбивает пространство входов  в общем случае гиперсферами, каждая из которых задается своим центром и радиусом. В нейронной сети, построенной на радиальных базисных функциях (Bloomhead and Lowe, 1988; Moody and Darkin, 1989; Haykin, 1994), искусственный нейрон нелинейно «реагирует» на расстояние от данной точки до центра, соответствующее этому радиальному элементу. Функция активации радиального элемента представляет собой гауссову функцию с вершиной в центре элемента.

Пусть дана непрерывная на некотором отрезке [a,b] функция . Необходимо найти принадлежащие этому отрезку корни уравнения

         (1)


Как правило, алгоритм приближенного метода состоит из двух этапов:

- поиск приближенного значения корня или содержащего его отрезка;

- уточнение приближенного значения до некоторой заданной степени точности.

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

Рассмотрим некоторые численные методы решения такого уравнения.

1.4. Метод простых итераций.

Пусть задано уравнение f(x)=0, где f(x) – непрерывная функция. Чтобы найти действительные корни этого уравнения, заменим его равносильным:

x=(x). (4)

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

xk=(xk-1), k= 1.2,... (5)

Сходимость последовательности {хk} обеспечивается соответствующим выбором функции (х) и начального приближения х0. Выбирая по-разному функцию (х), можно составит разные итерационные методы решения уравнения (4).

а) 0<’ (x) <1;

б)'-1<’ (x) <0; 

в)’ (x) >1;

г)’ (x) <-1

Рисунок  1. – Геометрическое представление метода итераций

Метод итерации имеет простой геометрический смысл. Построим графики функций у=х и у=(х). Абсцисса точки сечения графиков этих функций является корнем уравнения (4) (рис. 1).

На отрезке [а; b] произвольно выбираем точку х0 и проводим через нее прямую, параллельную оси ординат до пересечения с кривой у=(х) в точке A0 (x0, (x0)). Из точки А0 проведем прямую, параллельную оси абсцисс, до пересечения с прямой y=x. В результате получим точку В1 с ординатой (x0). Спроектировав точку B1 на ось Ох, находим абсциссу x1=(x0). Аналогично через х1 проводим прямую, параллельную оси ординат, до пересечения с кривой у=(х) в точке A1 (x1, (x1)). Из точки А1 проводим прямую, параллельную оси абсцисс, до пересечения с прямой у=х в точке B2 (x2, (x1)), абсцисса которой х2=1) и т.д. В результате совместные абсциссы точек A1 и B1, A2 и B2 есть последовательными приближениями x1, x2, x3... корня х*.

Если |' (х)|< 1, то последовательные приближения xk сходятся к корню х*, если |' (х)|> 1, то последовательные приближения отдаляются от него.

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

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

|xk – xk-1|<.

1.6 Метод хорд.

Метод хорд — один из распространенных итерационных методов. Его еще называют методом линейного интерполирования, методом пропорциональных частей.

Идея метода хорд в том, что на достаточно малом отрезке дуга кривой у=f (x) заменяется хордой и абсцисса точки пересечения хорды с осью Ox является приближенным значением корня.

Рисунок 2 – Геометрическая интерпретация метода Ньютона.

Пусть для определенности f' (х)>0, f''(x)>0, f(а)<0, f(b)>0 (рис. 3, а). Возьмем за начальное приближение искомого корня х* значения х0=а. Через точки а0 и В проведем хорду и за первое приближение корня х* возьмем абсциссу x1 точки пересечения хорды с осью ОХ. Теперь приближенное значение х1 корня можно уточнить если применить метод хорд на отрезке [х1; b]. Абсцисса х2 точки пересечения хорды А1В будет другим приближением корня. Продолжая этот процесс далее, получим последовательность х0, х1, х2,..., хk,... приближенных значений корня х* данного уравнения.

Таким образом метод хорд можно записать так:

, k=0, 1.2, …, (8)

В общем случае неподвижным будет тот конец отрезка изолированного корня, в которой знак функции f(х) совпадает со знаком второй производной, а за начальное приближение x0 можно взять точку отрезка [а; b], в которой f(x0)f'’(x0) < 0.

Например, когда f (a)>0, f (b)<0, f'(х)<0, f"(х)<0 (рис. .3, б) конец b отрезка [а; b] является неподвижным.

Если f (а)>0, f(b)<0, f'(х)<0, f"(x)>0 (рис.3, в), или f(а)<0, f(b)>0, f’(х)>0, f'’(x)<0 (рис. 3, г), точка а является неподвижным концом отрезка [а; b].

Достаточные условия сходимости метода хорд дает такая теорема.

Рисунок 3. – Геометрическая интерпретация метода хорд

Теорема. Пусть на отрезке [а; b] функция f (х) непрерывна вместе со своими производными второго порядка включительно, причем f(a)f(b)<0, а производные f' (x) и f" (х) сохраняют свои знаки на [а; b], тогда существует такая окружность корня х* уравнения f(x)=0, что для любого начального приближения х0 этой окружности последовательность {хk}, вычисленная по формуле (8), сходится к корню х*.

2. Задание для выполнения контрольной работы.

Варианты заданий представлены в таблице 1.

1. Отделить корни заданного уравнения f(х)=0 одним из методов: графическим, аналитическим или методом последовательного перебора.

2. Уточнить один из отделенных корней уравнения двумя, указанными в табл. 1, методами с точностью =0.510-3  и =0.510-6. При реализации методов использовать табличный процессор Excel.

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

Пояснения к выполнению работы. Выполняя п. 1 задания, отрезок изоляции корня желательно сузить до длины, которая не превышает единицы.

При уточнении изолированного корня методом простой итерации приведенное в табл. 1 уравнение необходимо привести к виду х=(х), где функция (x) на отрезке изоляции корня должна удовлетворять условию |’ (x)|< 1.

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

Численные методы решения уравнений с одной переменной.

Пусть задано уравнение с одной переменной

f (х) =0, (1)

где функция f (x) определена и непрерывна на некотором промежутке [а; b].

Решить уравнение означает найти множество его корней, то есть таких значений x ; b], при которых уравнение (1) превратится в тождество. Корень уравнения (6.1) называют еще нулем функции f (х). Если функция f (x) — алгебраический многочлен, то уравнение (1) называется алгебраическим. Если функция f(х) содержит тригонометрические, показательные или логарифмические функции, тогда уравнение (1) называют трансцендентным.

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

Задача нахождения корней уравнения (1) считается решенной, если корни вычислены с наперед заданной точностью.

Пусть x* - точный корень, а  - его приближенное значение. Говорят, что корень  вычислено с наперед заданной точностью , если .

Нахождение приближенных корней уравнения (1) состоит из двух этапов:

1) выделение корней, то есть нахождение довольно малых отрезков, на каждом из которых находится один и только один корень уравнения;

2) вычисление корней с наперед заданной точностью.

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

1.2. Отделение корней.

Корень x* уравнения (1) считается отделенным на отрезке [a; b], если х* [а; b] и на этом отрезке данное уравнение не имеет других корней. Чтобы отделить корни уравнения (1), следует разбить область определения данного уравнения на отрезки, на каждом из которых содержится один и только один корень либо нет ни одного корня. Отделяют корни графическим и аналитическим методами, а также методом последовательного перебора.

Для отделения корней графическим методом строят график функции  y=f(х) и находят точки пересечения графика с осью абсцисс и концы отрезков изолированного корня.

Алгоритм отделения корней уравнения (1) можно сформулировать так:

1. Найти область определения уравнения.

2. Найти критические точки функции f (х).

3. Записать интервалы монотонности функции f (x).

4. Определить знак функции f(х) на концах интервалов монотонности.

5. Определить отрезки, на концах которых функция f(х) приобретает значения противоположных знаков.

6. Найденные отрезки изоляции корней при необходимости сузить.

1.3. Уточнение корня методом деления отрезка пополам.

Метод деления отрезка пополам (или метод дихотомии) применяется для уточнения корня уравнения f (x)=0 с наперед заданной точностью.

За начальное приближение выбираем середину отрезка [a; b]

. (2)

Проводим исследование значения функции на концах отрезков [a; ] и [;b]. Искомый корень находится в том отрезке, на концах которого функция приобретает значение противоположных знаков. За новое приближение выбираем середину нового отрезка

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

. (3)

1.5 Метод Ньютона.

Пусть уравнение f(х)=0 на отрезке [а; b] имеет изолированный корень x*, то есть f (a) f (b) < 0, а функции f (x) и f' (x) непрерывны и сохраняют свой знак на [a; b].

Пусть хk - k-е приближение корня. Разложим f (х) в ряд Тейлора в окрестности точки хk.

.

Вместо уравнения f (х)=0 рассмотрим уравнение

f (xk) +f’ (xk)(x-xk)=0,

Которое учитывает только линейную относительно х — хk часть ряда Тейлора. Разрешив его относительно x, получим

.

Взяв найденное значение х за следующее приближение, получим

, k=0.1, 2, ….  (6)

Формула (6) определяет метод Ньютона. Он имеет простую геометрическую интерпретацию. Значение, хk+1 является абсциссой точки пересечения касательной  с кривой у=f(x) в точке (xk, f(xk)) (рис. 2). Поэтому метод Ньютона называют еще методом касательных. Из рис.2 видно, что последовательные приближения сходятся к корню х* монотонно.

За начальное приближение в методе Ньютона следует брать точку

x0 [a; b], в которой .

Достаточные условия сходимости метода Ньютона дает такая теорема.

Теорема. Пусть на отрезке [a; b] функция f (х) имеет непрерывные с устойчивыми знаками производные f’(x) 0, f'’(x)0 и f(a)f(b)<0. Тогда  существует такая окружность R [a; b] корня х* уравнения f(x)=0, что для любого x0 R последовательность {xk}, вычисленная по формуле (6), сходится к корню х*.

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

Недостатком метода Ньютона является то, что на каждой итерации нужно вычислять не только значение функции f(х), но и значение ее производной f' (х).

Пример выполнения задания.

Условие.

Решить уравнение

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

Решение.

1. Для приближенного отделения корней заданного уравнения построим график функции:

Построение проведем в среде табличного процессора Excel (файл “Задание1.xls”, лист1).

На рисунке приведен график этой функции.

Из рисунка видно, что функция пересекает ось OX между значением 0.8 и 1. Таким образом, корень уравнения f(x)=0 принадлежит отрезку [0.8; 1].

Из расчетов получим:

f(0.8)<0;    f(1)>0.

2. Уточнение значения корня методом деления отрезка пополам.

Полученные при приближенном  отделении границы отрезка могут быть использованы для уточнения решения методом деления отрезка пополам – a=0.8, b=1.

Метод деления отрезка пополам (или метод дихотомии) применяется для уточнения корня уравнения f (x)=0 с наперед заданной точностью.

За начальное приближение выбираем середину отрезка [a; b]

. (2)

Проводим исследование значения функции на концах отрезков [a; ] и [; b]. Искомый корень находится в том отрезке, на концах которого функция приобретает значение противоположных знаков. За новое приближение выбираем середину нового отрезка

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

 

Расчет проведем в среде табличного процессора Excel (“Задание1.xls”, лист2).

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

A

B

C

D

E

F

1

a

b

X=(a+b)/2

F(x)

2

0.8

1

=(B2+C2)/2

=3*D2-3*COS(D2)-1

=C2^3-3*C2^2+2.5

3

и т.д.

В случае, когда F(x) < 0, соответствующее значение x заносится в столбец  B, иначе – в столбец C. Вычисления продолжаются до тех пор, пока не будет достигнута заданная точность нахождения корня уравнения (значения  находятся в столбце F).

В результате проведения вычислений, получим следующие значения:

a

b

X=(a+b)/2

F(x)

0.8

1

0.9

-0.16483

0.2

1

0.9

1

0.95

0.104951

0.1

2

0.9

0.95

0.925

-0.0305

0.05

3

0.925

0.95

0.9375

0.037085

0.025

4

0.925

0.9375

0.93125

0.003256

0.0125

5

0.925

0.93125

0.928125

-0.01363

0.00625

6

0.928125

0.93125

0.929688

-0.00519

0.003125

7

0.9296875

0.93125

0.930469

-0.00097

0.001563

8

0.9304688

0.93125

0.930859

0.001144

0.000781

9

0.9304688

0.930859

0.930664

8.76E-05

0.000391

10

0.9304688

0.930664

0.930566

-0.00044

0.000195

11

0.9305664

0.930664

0.930615

-0.00018

9.77E-05

12

0.9306152

0.930664

0.93064

-4.4E-05

4.88E-05

13

0.9306396

0.930664

0.930652

2.16E-05

2.44E-05

14

0.9306396

0.930652

0.930646

-1.1E-05

1.22E-05

15

0.9306458

0.930652

0.930649

5.12E-06

6.1E-06

16

0.9306458

0.930649

0.930647

-3.1E-06

3.05E-06

17

0.9306473

0.930649

0.930648

9.99E-07

1.53E-06

18

0.9306473

0.930648

0.930648

-1.1E-06

7.63E-07

19

0.9306477

0.930648

0.930648

-3.2E-08

3.81E-07

Отсюда:

значение корня с точностью  x= 0.9305 n=9 итераций;

значение корня с точностью  x= 0.9306477-- n=19  итерации.

2. Метод Ньютона.

Вычислим первую и вторую производную от функции:

Условием сходимости итерационного процесса при реализации метода Ньютона является .  F”(x) на отрезке, на котором находится корень уравнения больше 0. Следовательно,  условие выполняется для . Тогда в качестве начального приближения для метода Ньютона может быть выбрано значение x0=1, F(1) >0.

Расчет реализуем в среде табличного процессора Excel (“Задача1.xls”, лист3).

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

A

B

C

D

E

1

Итерации

с

F(с)

F'(с)

2

1

=3*B2-3*COS(B2)-1

=3+3*SIN(B2)

3

1

=B2-C2/D2

=3*B3-3*COS(B3)-1

=3+3*SIN(B3)

=ABS(B2-B3)

4

2

=B3-C3/D3

=3*B4-3*COS(B4)-1

=3+3*SIN(B4)

=ABS(B3-B4)

5

и т.д.

Вычисления прекращаются, когда будет достигнута заданная для нахождения корня точность  (значения ).

В результате проведения вычислений, получим следующие значения:

Итерации

с

F(с)

F'(с)

1

0.379093

5.524413

1

0.931378576

0.003951

5.40733

0.068621424

2

0.930647944

4.78E-07

5.406021

0.000730632

3

0.930647856

6.66E-15

5.406021

8.84157E-08

значение корня с точностью  x= 1.1685-  n=3 итерации;

4. Выводы.

1) Таким образом, методом Ньютона и методом хорд было получено численное решение уравнения: .

С точностью  значение корня x= 0.930648,  ( |F(x)|<10-7).

2) Значения корня, полученные методом Ньютона и методом деления отрезка пополам, совпадают для  заданной точности.

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

ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ ФУНКЦИЙ.

1. Теоретические сведения.

1.1 Постановка задачи.

Задача численного интегрирования заключается в вычислении  посредством ряда значений подынтегральной функции y=f(x).

Численные методы можно условно сгруппировать по способу аппроксимации подынтегральной функции.

Методы Ньютона- Котеса основаны на аппроксимации функции f(x) полиномом степени n. Алгоритмы этого класса отличаются только степенью полинома. Как правило, узлы аппроксимирования полинома – равноотстоящие.

Методы сплайн- интегрирования базируются на аппроксимации функции f(x) сплайном – кусочным полиномом.

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

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

Независимо от выбранного метода в процессе численного интегрирования необходимо вычислить приближенное значение интеграла и оценить погрешность. Погрешность уменьшается при увеличении n – числа разбиений отрезка [a;b]. Однако при этом возрастает погрешность округления за счет суммирования значений интегралов, вычисленных на частичных отрезках.

Погрешность усечения зависит от свойств подынтегральной функции и длины h частичного отрезка.

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

. (1)

Сумму в правой части называют квадратурной суммой, действительные числа xk и Ak соответственно узлами и коэффициентами квадратурной формулы. Будем считать, что узлы квадратурной формулы (5.2) пронумерованы в порядке возрастания x1<x2<...<xn.

Равенство (1) приближенное. Разницу между определенным интегралом и квадратурной суммой

, (2)

называют остаточным членом, или погрешностью квадратурной формулы (1).

1.2 Формула прямоугольников.

Приближенное значение интеграла, где f непрерывна на [x0; x0+h] можно найти, если функцию заменить интерполяционным многочленом нулевой степени, т.е. для всех x[x0; x0+h] положить f(x)=f(c), где c[x0; x0+h]. Тогда получим приближенное равенство

.  (3)

Если f(x)0 непрерывна на [x0;x0+h] , то приближенное равенство можно толковать геометрически так: за приближенное значение криволинейной трапеции ограниченной снизу осью абсцисс, сверху графиком   функции, а по бокам прямыми и, берется значение площади прямоугольника. Если c=x0 или c=x0+h, или, то (3) называют соответственно формулой левых или правых, или средних прямоугольников.

Если непрерывная функция f задана на большом промежутке [a; b], а  желательно вычислить с большей точностью, то  отрезок [a; b] делят на n равных отрезков длиной h=(b-a)/n,  точками: a=x0<x1 < x2 < …< xk < xr+1<…< xn=b.

И к каждому из отрезков [xk; xk+1] (k=0,1,…,n-1) применяют формулу  (3)

Получают

, (4)

где с- произвольная точка из отрезка [x0;x1].

Положив в (3) с=а; с=а+h, с=а+1/2h, можно вывести обобщенные формулы соответственно левых, правых и средних прямоугольников.

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

. (5)

1.3. Формула трапеций.

Если f(x) непрерывная постоянная функция на отрезке [a; b], то  можно геометрически толковать так: за приближенное значение интеграла берется площадь трапеции.

Чтобы вычислить приближенное значение интеграла, где f непрерывная вместе с производными первого и второго порядков на [a; b], с достаточной точностью, отрезок [a; b] делят на n равных отрезков длиной и к каждому из отрезков [xk, xk+1], (k=0,1,…,n-1) применяют формулу трапеций.

При этом получают квадратурную формулу:

 , (6)

которую называют обобщенной формулой трапеций.

Остаточный член:

.  (7)

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

1.4. Формула Симпсона.

Если необходимо произвести вычисления интеграла с достаточной точностью, то отрезок [a; b] делят на 2n равных отрезков длиной  и к каждому из отрезков [x2k;x2k+2] применяют формулу Симпсона

, (8)

.

Таким образом, получаем обобщенную формулу Симпсона (парабол):

. (9)

Остаточный член обобщенной формулы Симпсона:

. (10)

Отсюда получаем такую оценку абсолютной погрешности численного интегрирования по обобщенной формуле Симпсона:

. (11)

1.6 Сравнение погрешности квадратичных формул.

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

Итак, остаточные члены формул левых и правых прямоугольников относительно h имеют первый порядок: R(f)=O(h), средних прямоугольников и трапеций – второй: R(f)=O(h²), а Симпсона – четвертый: R(f)=O(h4). Квадратурную формулу считают тем точнее, чем больше порядок ее остаточного члена R(f). Из рассмотренных ранее квадратурных формул самой точной является формула Симпсона, а наименее точными – формулы левых и правых прямоугольников. Точность формул средних прямоугольников и трапеций одинакова.

2. Задание для выполнения контрольной работы.

Варианты заданий изложены в таблице 2.

1. Построить алгоритм вычисления приближенного значения интеграла по обобщенной формуле указанной в табл.2 и составить соответствующий алгоритм вычисления в среде табличного процессора Excel.

2. Используя этот алгоритм вычислить значение интеграла на указанном отрезке интегрирования [a;b], разделив отрезок на  N0 равных частей,  оценить остаточный член.

3. Сравнить вычисленное значение интеграла с тем значением, которое получают путем непосредственного интегрирования.

Пример выполнения задания.

Условие.

Используя метод Симпсона вычислить:

При вычислении разбить отрезок интегрирования на 8 частей. Оценить погрешность вычисления по остаточному члену. Вычисления организовать в среде табличного процессора Excel.

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

Решение

1. Найдем точное значение интеграла:

Применим формулу интегрирования по частям:

Обозначим u=ln2(x); dv=xdx тогда du=2*(ln(x)/x)dx; v=x2/2, откуда

Применим еще раз формулу интегрирования по частям. Обозначим u=ln(x); dv=xdx тогда du=(1/x)dx; v=x2/2, откуда

I= 2.16290335793361….

2. Вычислим значение интеграла методом Симпсона.

В этом случае приближенное значение интеграла может быть рассчитано по формуле:

, где N=8 – число интервалов, на которое разбивается отрезок интегрирования.

Расчет интеграла проведем в среде табличного процессора Excel (файл “Задание2.xls”).

В столбец A будем заносить значение x (шаг интегрирования  ), в столбце B  – вычислять значение функции .

Ниже приведены формулы и значения,  заносимые в столбцы A  и B.

X

f(x)

2

=A2*(LN(A2))^2

=A2+1/8

=A3*(LN(A3))^2

=A3+1/8

=A4*(LN(A4))^2

=A4+1/8

=A5*(LN(A5))^2

=A5+1/8

=A6*(LN(A6))^2

=A6+1/8

=A7*(LN(A7))^2

=A7+1/8

=A8*(LN(A8))^2

=A8+1/8

=A9*(LN(A9))^2

=A9+1/8

=A10*(LN(A10))^2

Сумма

=B2+B10+2*(B4+B6+B8)+4*(B3+B5+B7+B9)

Интеграл

=B11*1/24

В ячейке B12, таким образом, будет получено значение интеграла.

I*= 2.1629034972…

Погрешность метода – остаточный член оценивается по формуле:

 

Для оценки погрешности найдем производную четвертого порядка от f(x):

;

Оценивая fIV на отрезке [2;3],  получим |fIV|<0.12.

Отсюда

3. Выводы.

1) Точное значение. Значение интеграла,  полученное методом Симпсона при шаге интегрирования h=1/8, I* 2.1629034972.

2) Согласно оценке остаточного члена это значение не должно отличаться от точного значения более чем на R=2*10-7.

Истинная погрешность составляет |I*-I| 1.4*10-7, что согласуется с полученной оценкой.

РЕШЕНИЕ ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ ПЕРВОГО ПОРЯДКА.

1. Теоретические сведения.

1.1. Постановка задачи.

В зависимости от числа независимых переменных дифференциальные уравнения делятся на две группы:

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

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

F( x, у, у', у", … , у(n) ) = 0,                 (1)

где x – независимая переменная.

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

F(x, у, у') = 0

F(x, y, y', y") = 0.                            (2)

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

y' = f(x, y),

у" = f(x, у, у').

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

Решением дифференциального уравнения называется всякая функция у = (x), которая после подстановки ее в уравнение, превращает его в тождество (верное равенство).

Общее решение обыкновенного дифференциального уравнения n-го порядка содержит и произвольных постоянных С1, С2, … , СN, т.е. общее решение имеет вид:

                  у = (x, C1, C2, … , CN).                            

Частное решение дифференциального уравнения получается из общего, если произвольным постоянным придать определенные значения.

Для уравнения первого порядка общее решение зависит от одной произвольной касательной

 у = (x, С).

Если постоянная принимает определенное значение C = С0, то получим частное решение

у = (x, С0).

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

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

В зависимости от способа задания дополнительных условий для получения частного решения дифференциального уравнения существует два различных типа задач:

задача Коши;

краевая задача.

Дополнительные условия в задаче Коши задаются в одной точке x = x0 и называются начальными условиями, а точка, в которой они задаются – начальной точкой.

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

1.2 Методы решения.

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

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

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

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

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

,

,

,                             (3)

.

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

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

y' = f(x, y)                               (4)

и принимающую при x = x0 заданное значение у0:

             y(x0) = y0.

Решение необходимо получить для значений x>x0.

Согласно метода осуществим переход от дифференциальной задачи (4) относительно функции у к разностной задаче относительно сеточной функции уi, i = 0, 1, …, предварительно введя последовательность точек x0, x1, … , шаги hi = xi+1 - xi (i=0, 1, …) и выполнив замену производных в дифференциальном уравнении отношением конечных разностей (3). Полученное в результате этого разностное уравнение в общем виде имеет вид

уi+1 = F(xi, hi, yi+1, yi, …… yi–k+1), i =1, 2, …  (5)

Конкретное выражение правой части уравнения (5) зависит от способа аппроксимации производной. Для каждого численного метода получается свой вид уравнения (5).

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

Если в правой части (5) отсутствует уi+1, т.е. значение уi+1 явно вычисляется по k предыдущим значениям уi, уi–1, … ,уik+1, то разностная схема называется явной. При этом получается k-шаговый метод: k = 1 – одношаговый, k = 2 – двухшаговый и т.д.

1.2.1 Метод Эйлера-Коши.

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

                           yi+1 = yi +hf(xii), i = 0,1, …   (6)

где h – шаг интегрирования (приращение переменной x), h = const.

Погрешность метода пропорциональна h2.

1.2.2. Модифицированный метод Эйлера.

Модифицированный метод Эйлера является одношаговым методом второго порядка, реализуется следующими формулами

уi+1 = yi + hf(xi + h/2, у*(i+1/2)),

                            у*(i+1/2) = уi +hf(xi, yi)/2.                         (7)

Метод дает погрешность, пропорциональную h3.

1.2.3. Метод Рунге-Кутта.

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

Двучленная формула имеет вид

                                          yi+I=yi+p21kI+p22k2,                              (8)  

где               kI=hf(xi,yi),

                    k2=hf(xi+2h; yi+21k1),

                    21=2,                                              

                    p22=-1/(22),

                    p21=I+p22.

Для 2=1

,

k1 = f(xi, yi),

                               k2 = f(xi+1, yi + hk1),                             (9)

xi+1 = xi + h.

Четырехчленная формула Рунге-Кутта

уi+1 = уi +1/6(k1 + 2k2 + 2k3 + k4),

k1 = hf(xi, yi),

                               k2 = hf(xi + h/2, yi + k1/2),                      (10)

k3 = hf(xi + h/2, yi + k2/2),

k4 = hf(xi + h, yi + k3).

Пример выполнения задания.

Условие.

Используя модифицированный метод Эйлера и метод Рунге-Кутта IV порядка построить численное решение дифференциального уравнения:  при заданных начальных условиях:y(0.7)= 2.1 на  отрезке [0.7;1.7].

Расчеты провести в среде табличного процессора Excel с шагом h=0.1 и h=0.01. Все вычисления вести с четырьмя десятичными знаками после запятой.

Сравнить результаты вычисления различных методов с различными шагами интегрирования.

Решение.

1. Решение дифференциального уравнения методом Эйлера.

Модифицированный метод Эйлера является одношаговым методом второго порядка, реализуется следующими формулами

yn+1 = yn + hf(xn + h/2, у*(n+1/2))

у*(n+1/2) = уn +hf(xn, yn)/2.                        

 где n – номер шага, xn+1 = xn +h.

Расчеты проведем в среде табличного процессора Excel(файл“Задание3.xls”,лист1).

В столбец A будем заносить значение x (), в столбце B  – вычислять значение функции . Ниже приведены формулы и значения,  заносимые в столбцы.

A

B

1

X

Y

2

0.7

1.2

3

=A2+0.1

=B2+(A2+0.1/2+COS((B2+0.1/2*(A2+COS(B2/КОРЕНЬ(0.3))))/КОРЕНЬ(0.3)))*0.1

4

=A3+0.1

=B3+(A3+0.1/2+COS((B3+0.1/2*(A3+COS(B3/КОРЕНЬ(0.3))))/КОРЕНЬ(0.3)))*0.1

и т.д.

При этом получим y*(1.7)  2.80713.

Аналогичные расчеты проведем для шага интегрирования . При этом значения x будем заносить в столбец D, в столбце E  – вычислять значение функции.

В этом случае получим y*(1.7)  2.81664.

Решения отличаются на .

2. Решение дифференциального уравнения методом Рунге-Кутта IV порядка.

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

В методе Рунге-Кутта IV порядка:

yn+1 = уn +1/6(k1 + 2k2 + 2k3 + k4),

k1 = hf(xn, yn),  k2 = hf(xn + h/2, yn + k1/2),

k3 = hf(xn + h/2, yn + k2/2), k4 = hf(xn + h, yn + k3).

Расчет интеграла проведем в среде табличного процессора Excel (файл “ Задание3.xls”, лист “Рунге-КуттIV”).

Ниже приведены формулы и значения,  заносимые в столбцы  A G.

A

B

C

D

E

F

1

x

y

f(x)

k1

k2

k3

2

0.7

2.1

=(A2+COS(B2/КОРЕНЬ(0.3)))

3

=A2+0.1

=B2+(D3+2*E3+2*F3+G3)/6

=(A3+COS(B3/КОРЕНЬ(0.3)))

=0.1*C2

=(A2+0.1/2+COS((B2+D3/2)/КОРЕНЬ(0.3)))*0.1

=(A2+0.1/2+COS((B2+E3/2)/КОРЕНЬ(0.3)))*0.1

4

=A3+0.1

=B3+(D4+2*E4+2*F4+G4)/6

=(A4+COS(B4/КОРЕНЬ(0.3)))

=0.1*C3

=(A3+0.1/2+COS((B3+D4/2)/КОРЕНЬ(0.3)))*0.1

=(A3+0.1/2+COS((B3+E4/2)/КОРЕНЬ(0.3)))*0.1

k4

=(A2+0.1+COS((B2+F3)/КОРЕНЬ(0.3)))*0.1

=(A3+0.1+COS((B3+F4)/КОРЕНЬ(0.3)))*0.1

=(A4+0.1+COS((B4+F5)/КОРЕНЬ(0.3)))*0.1

и т.д.

При этом получим y*(1.7)  2.8167474.

Аналогичные расчеты проведем для шага интегрирования . При этом значения будем заносить в столбцы JP.

В этом случае получим y*(1.7)  2.8167553.

Решения отличаются на .

3.  Таким образом.

1) Модифицированным методом Эйлера и Рунге-Кутта IV порядка построено решение дифференциального уравнения.

2) Метод Рунге-Кутта IV порядка дает более высокую точность решения, чем метод Эйлера при том же шаге интегрирования. Так при уменьшении шага в 10 раз в методе Эйлера решение было уточнено на величину , в методе Рунге-Кутта IV порядка уточнение решения составил в 1000 раз меньшую величину

  1.  Назначение  и структура ЭС.
  2.  Этапы разработки ЭС.
  3.  Представление знаний в ЭС. Методы поиска решений в ЭС.
  4.  Сравнительная характеристика алгоритмического подхода, нейросетевых методов и ЭС к решению задач.

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

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

Работа  ЭС основана на алгоритмах искусственного интеллекта и предполагает использование информации, заранее полученной от специалистов экспертов. Таким образом, ЭС – это советник, помощник (в большинстве случаев электронный).

При разработке экспертные системы принято выделять  3 основных модуля:

1) база знаний,

2) механизм вывода,

3) интерфейс с пользователем.

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

Оболочка

Пользователь

<---->

Механизм вывода

<->

Интерфейс с пользователем

<---->

База знаний

 

Рис. Структура экспертной системы.

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

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

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

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

4) Интерфейс с пользователем отвечает за бесперебойный обмен информацией между пользователем и системой.

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

5а)  Компонент приобретения знаний автоматизирует процесс наполнения ЭС знаниями, осуществляемый пользователем-экспертом.

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

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

2. В разработке ЭС участвуют представители следующих специальностей:

эксперт в проблемной области, задачи которой будет решать ЭС;

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

программист по разработке инструментальных средств (ИС), предназначенных для ускорения разработки ЭС.

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

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

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

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

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

1) существуют эксперты в данной области, которые решают задачу значительно лучше, чем начинающие специалисты;

2) эксперты сходятся в оценке предлагаемого решения, иначе нельзя будет оценить качество разработанной ЭС;

3) эксперты способны вербализовать (выразить на естественном языке) и объяснить используемые ими методы, в противном случае трудно рассчитывать на то, что знания экспертов будут "извлечены" и вложены в ЭС;

4) решение задачи требует только рассуждений, а не действий;

5) задача не должна быть слишком трудной (т.е. ее решение должно занимать у эксперта несколько часов или дней, а не недель);

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

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

Использование ЭС в данном приложении может быть возможно, но не оправдано. Применение ЭС может быть оправдано одним из следующих факторов:

1) решение задачи принесет значительный эффект, например экономический;

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

3) использование ЭС целесообразно в тех случаях, когда при передаче информации эксперту происходит недопустимая потеря времени или информации;

4) использование ЭС целесообразно при необходимости решать задачу в окружении, враждебном для человека.

Приложение соответствует методам ЭС, если решаемая задача обладает совокупностью следующих характеристик:

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

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

3) задача должна быть достаточно сложна, чтобы оправдать затраты на разработку ЭС. Однако она не должна быть чрезмерно сложной (решение занимает у эксперта часы, а не недели), чтобы ЭС могла ее решать;

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

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

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

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

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

"Почему система задает тот или иной вопрос?", "как ответ, собираемый системой, получен?".

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

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

 

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

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

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

3. Первый и основной вопрос, который надо решить при представлении знаний, - это вопрос определения состава знаний, т.е. определение того, "ЧТО ПРЕДСТАВЛЯТЬ" в экспертной системе. Второй вопрос касается того, "КАК ПРЕДСТАВЛЯТЬ" знания. Необходимо отметить, что эти две проблемы не являются независимыми. Действительно, выбранный способ представления может оказаться непригодным в принципе либо неэффективным для выражения некоторых знаний.

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

определение состава представляемых знаний;

организацию знаний;

представление знаний, т.е. определение модели представления. Состав знаний ЭС определяется следующими факторами:

проблемной средой;

архитектурой экспертной системы;

потребностями и целями пользователей;

языком общения.

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

1) знания о процессе решения задачи (т.е. управляющие знания), используемые интерпретатором (решателем);

2) знания о языке общения и способах организации диалога, используемые лингвистическим процессором (диалоговым компонентом);

3) знания о способах представления и модификации знаний, используемые компонентом приобретения знаний;

4) поддерживающие структурные и управляющие знания, используемые объяснительным компонентом.

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

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

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

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

1) методы поиска в одном пространстве - методы, предназначенные для использования в следующих условиях: области небольшой размерности, полнота модели, точные и полные данные;

2) методы поиска в иерархических пространствах - методы, предназначенные для работы в областях большой размерности;

3) методы поиска при неточных и неполных данных ;

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

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

Сравнение ЭС с нейросетевыми моделями можно проиллюстрировать на аналогии: ЭС-НС, логика-интуиция.

Различие между алгоритмом и эвристикой ЭС и обучением НС:

  1.  Нейронные сети.
  2.  Понятие искусственного нейрона.

1. Свойства Искусственных Нейронных Сетей.

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

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

 

Неявные задачи медицины и биологии являются идеальным полем применения нейросетевых технологий.

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

Обучение

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

Обобщение

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

Абстрагирование

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

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

Применимость

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

2.Искусственный нейрон

Искусственный нейрон имитирует в первом приближении свойства биологического нейрона. На вход искусственного нейрона поступает некоторое множество сигналов, каждый из которых является выходом другого нейрона. Каждый вход умножается на соответствующий вес, аналогичный синаптической силе, и все произведения суммируются, определяя уровень активации нейрона. На рис. 2 представлена модель, реализующая эту идею. Хотя сетевые парадигмы весьма разнообразны, в основе почти всех их лежит эта конфигурация. Здесь множество входных сигналов, обозначенных x1, x2,…, xn, поступает на искусственный нейрон. Эти входные сигналы, в совокупности обозначаемые вектором X, соответствуют сигналам, приходящим в синапсы биологического нейрона. Каждый сигнал умножается на соответствующий вес w1, w2,…, wn, и поступает на суммирующий блок. Каждый вес соответствует «силе» одной биологической синаптической связи.

Рис.2 Искусственный нейрон

Текущее состояние нейрона определяется, как взвешенная сумма его входов:

 

Выход нейрона есть функция его состояния: y = f(s)

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

Рис.3 а)функция единичного скачка; б) линейный порог (гистерезис); в)гиперболический тангенс; г)сигмоид.

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

 

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

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

Слоистые сети: нейроны расположены в несколько слоев. Нейроны первого слоя получают входные сигналы, преобразуют их и через точки ветвления передают нейронам второго слоя. Далее срабатывает второй слой и т.д. до k-го слоя, который выдает выходные сигналы для интерпретатора и пользователя. Если не оговорено противное, то каждый выходной сигнал i-го слоя подается на вход всех нейронов i+1-го. Число нейронов в каждом слое может быть любым и никак заранее не связано с количеством нейронов в других слоях. Стандартный способ подачи входных сигналов: все нейроны первого слоя получают каждый входной сигнал. Особое распространение получили трехслойные сети, в которых каждый слой имеет свое наименование: первый - входной, второй - скрытый, третий - выходной. На рисунке 4 приведен пример архитектуры нейросетевой модели – 4-х слойный персептрон.

 

Рис.4. Архитектура нейросетевой модели – многослойный персептрон.

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

ОБУЧЕНИЕ.

На этапе обучения происходит вычисление синаптических коэффициентов в процессе решения нейронной сетью задач (классификации, предсказания временных рядов и др.), в которых нужный ответ определяется не по правилам, а с помощью примеров, сгруппированных в обучающие множества. Такое множество состоит из ряда примеров с указанным для каждого из них значением выходного параметра, которое было бы желательно получить. Действия, которые при этом происходят, можно назвать контролируемым, обучением: «учитель» подает на вход сети вектор исходных данных, а на выходной узел сообщает желаемое значение результата вычислений. Контролируемое обучение нейронной сети можно рассматривать как решение оптимизационной задачи. Ее целью является минимизация функции ошибок, или невязки, Е на данном множестве примеров путем выбора значений весов W.

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

      Критерии ошибок

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

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

,

где di – желаемая величина выхода, yi – реально полученное на сети значение для i-го примера, N – количество примеров в обучающем множестве.

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

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

Алгоритмы обучения.

В последнее время широко используется процедура обучения многослойного персептрона, получившего название алгоритма обучения с обратным распространением ошибки (error backpropagation). Этот алгоритм является обобщением на произвольное число слоев одной из процедур обучения элементарного персептрона, известный как правило Уидроу—Хоффа (дельта-правило).  

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

Способы обеспечения и ускорения сходимости

Выбор начальных весов

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

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

Обход локальных минимумов.

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

Упорядочение данных

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

Методы второго порядка

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

Методы локальной оптимизации

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

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

Проблема переобучения.

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

Объем обучающей выборки

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

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

Контрольное множество.

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

Рис.2. Применение контрольного множества для устранения эффекта переобучения нейронной сети.

Регуляризация весов

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

3. Примеры применения нейросетевых моделей в медицине 

Нейросети можно использовать и для прогноза действия различных разрабатываемых средств лечения. Они уже успешно применяются в химии для прогноза свойств соединений на основе их молекулярной структуры. Исследователи из Национального института рака в США использовали нейросети для предсказания механизма действия препаратов, применяемых при химиотерапии злокачественных опухолей. Заметим, что существуют миллионы различных молекул, которые необходимо исследовать на предмет их антираковой активности. Специалисты Института рака разбили известные онкологические препараты на шесть групп в соответствии с механизмом их действия на раковые клетки и обучили многослойные сети классифицировать новые вещества и распознавать их действие. В качестве исходных данных использовались результаты экспериментов по подавлению роста клеток из различных опухолей. Нейросетевая классификация позволяет определить, какие из сотен ежедневно апробируемых молекул стоит изучать далее в весьма дорогих экспериментах in vitro и in vivo. Для решения аналогичной задачи использовались и сети Кохонена. Эти обучаемые без учителя самоорганизующиеся нейросети разбивали вещества на заранее неизвестное число кластеров и поэтому дали исследователям возможность идентифицировать вещества, обладающие новыми цитотоксическими механизмами воздействия.

Многослойный персептрон.

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

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

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

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

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

Вопросы построения нейросетевой модели не заканчиваются выбором “правильной” архитектуры сети. Для построения необходимо выбрать эффективный алгоритм обучения. Самым известным из них  является алгоритм обратного распространения, где важно выбрать скорость обучения: с одной стороны она не должна быть очень маленькой (чтобы провести оптимизацию за приемлемое время), с другой стороны при большом шаге есть опасность перепрыгнуть через решение, особенно при сложной структуре поверхности ошибок. Кроме этого существуют современные алгоритмы второго порядка, такие как метод сопряженных градиентов, метод Левенберга-Маркара (Bishop, 1995; Shepherd, 1997) и другие, которые во многих случаях обеспечивают более быструю сходимость решения.

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

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

Самоорганизующиеся карты Кохонена.

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

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

При обучении «без учителя» обучающие данные содержат только значения входных переменных. В задачу нейронной сети входит выделение в многомерном пространстве признаков кластеров наблюдений "близких" (в смысле некоторого расстояния D) между собой и "удаленных" от других кластеров. В качестве расстояния между признаками может быть выбрано расстояние в евклидовом пространстве.

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

После обучения может быть осуществлена классификация   нового примера посредством подачи на вход сети его входного вектора.

Одним из достоинств такого представления является возможность представления входных данных в N – мерном пространстве входов в двумерную карту, возможность визуализации данных.

Вероятностные нейронные сети.

Рассмотрим вопросы реализации байесовского подхода к задачам классификации в медицине.

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

Другой подход к оценке плотности вероятности основан на методе ядерных оценок. Схематически ход рассуждения может быть представлен следующим образом: тот факт, что данный пример (из обучающего множества примеров, по которым строится модель) расположен в данной точке  N-мерного пространства входных признаков ={x1, x2, … xN}, свидетельствует о том, что в этой точке пространства функция плотности вероятности принадлежности наблюдения к данному классу Y отлична от 0. Кластеры из близко лежащих точек указывают на то, что в этом месте плотность вероятности больше. При этом вблизи примера имеется большое доверие к уровню плотности вероятности, а по мере отдаления от него доверие убывает и стремится к нулю. В методе ядерных оценок в точке, соответствующей каждому наблюдению, помещается некоторая простая функция, затем все они складываются  и в результате получается оценка для  общей плотности вероятности. Чаще всего в качестве ядерных функций берутся гауссовы функции:

где A – нормирующий множитель,  - среднее значение i-ой координаты для данного примера из обучающего множества, коэффициент управляет степенью сглаживания гауссовых функций (параметр, который подбирается при обучении нейронной сети). Если обучающих примеров достаточное количество, то такой метод даст достаточно хорошее приближение к истинной плотности вероятности. На рисунке 3 приведен в качестве примера вид такой функции в двумерном случае (здесь рассмотрено 6 примеров, находящиеся в 4-х различных точках пространства).

Рис.3. Вид функции плотности вероятности в методе ядерных оценок.

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

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

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

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

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

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

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

Применение генетических алгоритмов.

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

В качестве  метода оптимизации может быть предложен перебор всех возможных вариантов математических моделей на данном множестве признаков и выбор из них оптимального (в заданном смысле) набора. Однако, очевидно, что с возрастанием исходного количества входных признаков возрастает объем вычислений. Так, например,  для выбора оптимального набора из 50 исходных признаков потребуется построение 250~1015 моделей. Даже при мощности современных компьютеров построение такого количества моделей и их анализ является нереальной задачей. Для того, чтобы уменьшить число переборов и, в то же время выйти на решение близкое к оптимальному существует множество различных подходов, более или менее эффективно работающих в каждом отдельном случае.  В то же время, согласованность и эффективность работы элементов биологических систем, состоящих из большого числа отдельных блоков, наводит на мысль – можно ли использовать принципы биологической эволюции для оптимизации практически важных для человека систем?  В нескольких модификациях подобные идеи возникали у ряда авторов. В 1966 году Л. Фогель, А. Оуэнс, М. Уолш предложили схему эволюции логических автоматов, решающих задачи прогноза. В 1975 г. вышла основополагающая книга Дж. Холланда “Адаптация в естественных и искусственных системах”, в которой был предложен генетический алгоритм, исследованный в дальнейшем учениками и коллегами Дж. Холланда в Мичиганском университете. Примерно в это же время группа немецких ученых (И. Рехенберг, Г.-П. Швефель и др.) начала разработку так называемой эволюционной стратегии. Эти работы заложили основы прикладного эволюционного моделирования или эволюционных алгоритмов.

В общем виде эволюционный алгоритм – это оптимизационный метод, базирующийся на эволюции популяции “особей”. Каждая особь характеризуется «приспособленностью» – многомерной функцией ее генов. Задача оптимизации состоит в максимизации функции приспособленности. В процессе эволюции в результате отбора, рекомбинаций и мутаций геномов особей происходит поиск особей с высокой «приспособляемостью». Эволюция - это процесс постоянной оптимизации биологических видов. Естественный отбор гарантирует, что наиболее приспособленные особи дадут достаточно большое потомство, а благодаря генетическому наследованию мы можем быть уверены, что часть этого потомства не только сохранит высокую приспособленность родителей, но будет обладать и некоторыми новыми свойствами. Если эти новые свойства окажутся полезными, то с большой вероятностью они перейдут и в следующее поколение. Таким образом, происходит накопление полезных качеств и постепенное повышение приспособляемости биологического вида в целом. Зная, как решается задача оптимизации видов в природе, можно теперь применить похожий метод для решения различных реальных задач.

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

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

f(x1, x2, x3, …, xN)

Для того чтобы заработал ГА, нам необходимо представить независимые переменные в виде хромосом. Как это делается?

Как создать хромосомы?

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

Как работает генетический алгоритм?

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

Репродукция состоит из четырех шагов:

селекции

и трех генетических операторов (порядок применения не важен)

кроссовер

мутация

инверсия

Роль и значение селекции мы уже рассмотрели в обзоре эволюционных алгоритмов.

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

001100101110010|11000

-------->

001100101110010 11100

110101101101000|11100

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

00110010111001011000

-------->

00110010111001111000

Инверсия инвертирует (изменяет) порядок бит в хромосоме путем циклической перестановки (случайное количество раз). Многие модификации ГА обходятся без данного генетического оператора.

00110010111001011000

-------->

11000001100101110010

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

Применение такого алгоритма позволяет существенно уменьшить количество переборов. Так, по некоторым грубым оценкам количество итераций растет как N 2 – где N – число признаков. В этом случае для решения задачи, поставленной в начале раздела потребуется построение всего лишь 502 = 2500 моделей.  Однако не следует забывать, что,  проведя решение  оптимизационной задачи с использованием генетического алгоритма  можно только утверждать, что найденное решение более оптимально, чем начальные "особи", но утверждать, насколько и как далеко или близко к локальному (глобальному) экстремуму лежит полученный ответ нет возможности. Другой проблемой является "правильный" выбор начальных  "особей" и их количества для эволюционного поиска.


 

А также другие работы, которые могут Вас заинтересовать

23495. Современный русский язык. Лексика. Фразеология 3.51 MB
  К славянским помимо восточнославянских относятся: южнославянские – болгарский македонский сербохорватский словенский распространен в Словении частично в Австрии и Италии; западнославянские – чешский словацкий польский лужицкий распространен в районах Дрездена и Котбуса.: Лингвистический энциклопедический словарь Гл. Свои слова есть у научных работников и тех кто готовится стать ими диссертабельный – 'достойный быть темой диссертации' остепениться – 'получить ученую степень защитив диссертацию' у проходящих и прошедших...
23496. Русский язык: Пособие для поступающих в вузы 2.92 MB
  При отборе материала особое внимание обращалось на вопросы которые представ ляют определенные трудности для учащихся в процессе обучения а также на ошибки во время вступительных экзаменов: подход к определению слова как части речи особенно в тех случаях когда слова совпадая по внешнему облику различаются грамматиче скими признаками; разграничение членов предложения формально не различающихся дополнение несогласованное определение; составное глагольное сказуемое обстоя тельство цели дополнение выраженное ин финитивом;...
23497. Современный русский язык: Учебник 3.16 MB
  Русский язык относится к группе славянских языков которые делятся на три подгруппы: восточную языки русский украинский белорусский; южную языки болгарский сербскохорватский словенский македонский; западную языки польский чешский словацкий кашубский лужицкий. Нормированность литературного языка заключается в том что состав словаря в нем регламентирован значение и употребление слов произношение правописание и образование грамматических форм слов подчиняются общепринятому образцу. Достаточно привести пример активного...
23498. Справочник по русскому языку. Пунктуация 968.01 KB
  Пунктуация РАЗДЕЛ 1 Знаки препинания в конце предложения и при перерыве речи 1. Точка ставится в конце законченного повествовательного предложения: Навстречу солнцу ползёт тёмная свинцовая громада. Точка не ставится в конце предложения после точки обозначающей сокращение слова: и др. отрезок находящаяся в начале предложения или текста и выраженная как правило формой именительного падежа существительного либо словосочетанием во главе с этой формой именительный темы или именительный представления называет лицо предмет явление...
23499. РУССКИЙ ЯЗЫК И КУЛЬТУРА РЕЧИ 3.64 MB
  II I 2 5 Русский язык и культура речи: Учебник Под. 2000 формирующий государственные требования к минимуму содержания и уровню подготовки специалистов включает в обязательный минимум специальных дисциплин курс под названием Русский язык и культура речи. Он открывается главой которая вводит в сложный мир русского языка: раскрывает отличие понятий языка и речи функции и особенности языка и речи знакомит с определенными понятиями и основными терминами а главное – объясняет специфику речи в межличностных и общественных отношениях.
23500. Большая буква в рекламе не нуждается 53.5 KB
  Тем не менее именно эти малозначительные большие и маленькие буквы таят в себе крупную проблему. В немецком как известно с большой буквы пишутся все существительные в английском многие названия пишутся с использованием всех прописных компания SUITS или просто каждое слово кроме служебных в названии начинается с большой буквы British Banker`s Association. Естественно что всякому рекламодателю хочется чтобы за те же деньги буквы были как можно крупнее и выразительнее. Есть и другой считающийся убийственным аргумент: если мол мы...
23501. Русский язык: Новый русский язык 48.5 KB
  В Бобруйск жывотное Аффтар жжот Ржунимагу Фтему Фтопку эти выражения уже знакомы не только молодым бездельникам но и взрослым людям. Пруцца падонки такими словами написаны целые рассказы или криатиффы как их называют сами аффтары. Бегает этот дрищ па квартире ф трясках и сударагах какихта вечна мерзнет и ссыцца Под аффтарами свои каменты оставляли каментатары. Когда аффтаров стало очень много а интересных криатиффов мало камминтатары начали экономить время.
23502. Второстепенные члены предложения 32.5 KB
  Структурным свойством распространенного предложения является наличие второстепенных членов. Вопрос о второстепенных членах предложения в нашей лингвистике не получил однозначного решения.Буслаев предложил выделять второстепенные члены предложения по синтаксическому употреблению и по значению.
23503. Контрольная работа по синтаксису 51.5 KB
  До самой последней страницы нельзя было догадаться кто убил этого несчастного пасечника. 2 Кто убил этого несчастного пасечника. Расширенная схема: N1Obj ØPraed у когоSubj Кто убил этого несчастного пасечника. Индикатив прошедшего времени Кто убил этого несчастного пасечника.