« информатика С. Бешенков, Н. Кузьмина, Е. Ракитина СИСТЕМАТИЧЕСКИЙ КУРС 11 класс ...»
1|2Гз|4|5|б| 7 I 8 ~
№ Найме- Фирма- Дата Объем Цена Наличие Гаран-
нование произво- поступл. партии изделия гарантии тийный
товара дитель партии срок
Поле 1 — номер по порядку. Часто используется как
уникальный ключ записи.
Поля 2, 3 предназначены для записи символьных строк.
Поле 4 — поле даты.
Поля 5, 8 — поля числового типа.
Поле б — поле денежного типа.
Поле 7 — поле логического типа.
Кроме типа логической организации данных СУБД характеризуются своими функциями. К основным функциям относятся: создание, редактирование, реструктурирование базы данных, поиск, выборка, сортировка записей.
Современная СУБД должна обеспечивать работу приложений и пользователей с информационной моделью:
- на ЭВМ разной архитектуры с установленными на них различными операционными системами;
- в компьютерных сетях разных типов, работающих по различным протоколам;
- с различными графическими и символьными системами представления информации.
Все операции над базой данных находятся в ведении ад-: министратора базы. Именно администратор анализирует структуру предметной области, выбирает соответствующий тип СУБД, разрабатывает структуру базы данных — определяет количество, состав и наименования полей таблицы, наполняет базу конкретными данными, следит за регулярным обновлением данных, разграничивает доступ к БД пользователей, ведет статистику обращения к базе данных, помогает пользователю в случае необходимости сформулировать запрос и т. п.
При создании и ведении базы данных необходимо учитывать следующие требования:
- адекватность информации состоянию предметной области. Информация, хранимая в БД, должна полно и точно отражать объекты описываемой предметной области, их свойства и отношения. Отсюда вытекает необходимость периодического внесения изменений в данные — добавления описания для новых объектов, корректировки для изменившихся, удаления для «выбывших»;
- надежность функционирования. Это одно из важнейших требований, предъявляемых к любой системе;
- быстродействие и производительность. Быстродействие определяется временем ответа на запрос пользователя, которое зависит не только от быстродействия компьютера, но и от физической организации данных, сложности запроса, алгоритмов поиска и т. п. Производительность определяется количеством запросов, выполненных в единицу времени;
- простота и удобство использования;
- непротиворечивость данных;
- защита информации как от случайных искажений и уничтожения, так и от несанкционированного доступа;
• возможность расширения. Структура базы данных дол
жна допускать реорганизацию, то есть добавление полей,
изменение порядка их отображения на экране и пр.
Пользователь базы данных может обратиться к ней с за
просом, в котором может использовать такие операции над
записями, как поиск записей с заданным содержимым опре
деленных полей, упорядочивание записей по тому или иному
полю, определение количества записей, удовлетворяющих за
данному условию и пр. Запрос — это формализованное сооб
щение, содержащее условие (простое или сложное) на поиск
данных и указание о том, что необходимо проделать с най
денными данными.
В большинстве современных СУБД предусмотрен диалоговый режим формулировки запроса, то есть пользователь выбирает соответствующие пункты меню специальных диалоговых окон или заполняет так называемую таблицу реквизитов, где указывает наименования и диапазон значений полей, которые его интересуют.
Пример. Чтобы с помощью описанной выше базы данных магазина узнать, товар на какую сумму поступил в первом квартале 2002 года, в запросе надо указать, что отбираются только те записи, для которых значение реквизитов 4-го поля лежат в интервале от 1.01.2002 до 31.03.2002, и что затем надо суммировать произведения значений 5-го и 6-го полей.
Чтобы определить, какая часть поступивших процессоров фирмы Intel подлежит гарантийному обслуживанию, необходимо в запросе указать, что реквизит 2-го поля отбираемых записей должен совпадать со строкой «процессор», реквизит 3-го поля должен совпадать со строкой «Intel», реквизит 7-го поля должен быть равен True (истина) и что затем надо разделить количество отобранных записей, удовлетворяющих всем указанным условиям, на общее количество записей.
Банки данных получают все большее распространение. Их интерфейсы становятся все более дружественными, а их применение в больших информационных системах, например, в Интернете, способствует существенному расширению круга пользователей сетей, обеспечивая им доступ к информации практически в любой отрасли науки, техники, культуры, а в идеале — к знаниям, накопленным человечеством за время его существования.
База данных (database) — множество данных, организованных для быстрого и удобного поиска и извлечения.
База данных — поименованная совокупность хранимых в запоминающих устройствах, специальным образом организованных, взаимосвязанных данных, отражающих состояние предметной области.
База данных — совокупность данных, организованных ив'определенным правилам, предусматривающим общие принципы описания, хранения и обработки, независимая от прикладных программ.
База данных является информационной моделью предметной области.
Существуют два уровня организации базы данных — физический и логический.
Физическая организация базы данных — это способ представления, размещения и хранения даных на носителе.
Логическая организация базы данных есть модель структуры совокупности данных, способ объединения данных в записи.
Система управления базами данных (database management system) — совокупность программ и языковых средств, предназначенных для создания, ведения и использования баз данных.
В состав СУБД входят:
- управляющие программы, обеспечивающие взаимосвязь с операционной системой, обработку команд пользователя, очередность их выполнения, контроль завершения операций и пр.;
- обрабатывающие программы, включая трансляторы с языков описания данных, языков запросов и языков программирования, редакторы, отладчики;
- сервисные программы, обеспечивающие удобный для пользователя интерфейс;
- прикладные программы, выполняющие обработку найденных системой данных, вычисления, формирование выходных документов по заданной форме и пр. Запрос к базе данных — это формализованное сообщение,
содержащее условие (простое или сложное) на поиск данных и указание о том, что необходимо проделать с найденными данными.
Способы логической организации базы данных — реляционный (табличный), иерархический (древовидный), сетевой.
Банк данных (databank) — автоматизированная информационная система централизованного хранения и коллективного многоцелевого использования данных.
В состав банка данных входят СУБД, одна или несколько баз данных, справочник баз данных, библиотека запросов, библиотека прикладных программ.
Рис. 2.3.4
Компоненты и способы организации банков данных
Администратор баз данных — специалист (или группа специалистов), контролирующий проектирование и использование баз данных.
В функции администратора БД входят:
- разработка модели предметной области и определение структуры БД;
- изменение структуры БД;
• обеспечение эффективной работы БД в данной организа
ции;
• контроль за целостностью БД и ее своевременным обнов
лением;
- регистрация подключения к системе новых пользователей;
- контроль за полномочиями пользователей;
- обеспечение надежности функционирования;
- защита от несанкционированного доступа.
Задание 1
Разработайте структуру базы данных, в которой бы хранились достаточно подробные сведения о ваших друзьях и знакомых. Не забудьте включить туда сведения о адресах (в том числе e-mail), телефонах, днях рождения, увлечениях и пр. Какой тип логической организации данных (табличный, сетевой или иерархиче-
ской) в наибольшей степени соответствует данной предметной области? Какие задачи вы можете решить с помощью этой базы данных, если она будет наполнена? Как часто вам придется ее обновлять? Что вам потребуется сделать, если вы решите перенести ее на компьютер? Какую СУБД вы выберете для ее создания и ведения и почему?
Задание 2
Если на вашем компьютере установлена СУБД, то:
а) определите, к какому типу она относится;
б) определите, базы данных каких предметных областей созданы
и используются с ее помощью;
в) исследуйте интерфейс и выясните способы создания, наполне
ния и редактирования базы данных;
г) выясните, какой язык запросов поддерживает СУБД;
д) откройте существующую БД, сформулируйте запрос и проана
лизируйте полученный результат.
Задание 3
Создайте и заполните базу данных «Расписание занятий». Если на вашем компьютере СУБД не установлена, используйте для этой цели электронные таблицы.
Задание 4
Для создания автоматизированного каталога вашей школьной библиотеки можно воспользоваться СУБД реляционного или иерархического типа. Заметим, что систематический каталог, которым вы пользуетесь в школьной библиотеке, построен по иерархическому типу.
Разработайте структуры базы данных «Каталог библиотеки» в расчете на реляционную СУБД и на иерархическую СУБД.
Задание 5
При создании структуры базы данных часто можно не только указать тип каждого поля, но и диапазон возможных значений. Например, если создается база данных «Учащиеся школы», то на значения поля «Год рождения» можно наложить ограничение, чтобы возраст учащихся был от 6 до 18 лет. Для кого такого рода ограничения предназначены в большей степени — для администратора БД или ее пользователя? Выполнение какого требования к БД обеспечивают эти ограничения? Ответ обоснуйте.
Есть ли разница между понятиями «информация» и «данные» по отношению к базам данных?
Есть ли разница между тезаурусом некоторой предметной области и банком данных этой же области?
Примечание. Тезаурус (общественный, коллективный, индивидуальный) — упорядоченная совокупность знаний о данной предметной области, которыми на определенный момент располагает общество, коллектив или индивидум.
Использование модели данных при работе с БД неизбежно по нескольким причинам.
Во-первых, модель дает общий язык пользователям, работающим с данными.
Во-вторых, модель может обеспечить предсказуемость результатов работы с данными. Работающий с базой может предвидеть, какого сорта он получит результат в результате выполнения его запроса.
За время существования разработок программных систем предложено много различных моделей разной степени распространенности.
Реляционная модель и СУБД.
Не будучи хронологически первой, наиболее популярной с начала 80-х годов была и до сих пор остается реляционная модель данных.
В реляционной модели считается, что все данные ИС представлены в виде таблиц.
В рамках реляционной теории имеется список операций, которые можно осуществлять над таблицами таким образом, чтобы в результате выполнения операции снова получить реляционную базу данных. Обычно это следующие операции:
• базовые операции:
- ограничение — исключение из таблицы некоторых строк;
- проекция — исключение из таблицы некоторых столбцов;
- декартово произведение — из двух таблиц получается третья по принципу декартова произведения двух множеств строк;
- объединение — объединение множеств строк двух таблиц;
- разность — разность множеств строк двух таблиц;
- присвоение — именованной таблице присваивается значение выражения над таблицами;
• производные операции:
- группа операций соединения;
- пересечение — пересечение множеств строк двух таблиц;
- деление — позволяет отвечать на вопросы типа: «какие студенты посещают все курсы?»;
- разбиение — позволяет отвечать на вопросы типа: «какие пять служащих в отделе наиболее оплачиваемы?»;
- расширение — добавление новых столбцов в таблицу;
- суммирование — в новой таблице с меньшим, чем в исходной, числом строк, строки получены как агрегирование (например, суммирование по какому-то столбцу) строк исходной.
Помимо основных таблиц, изначально присутствующих в БД, приведенные операции позволяют получать выводимые таблицы — «представления».
Другие модели.
Реляционная модель данных, несмотря на ее достоинства, совсем не идеальна. В ряде случаев она не позволяет ясно (или вовсе не позволяет) отразить особенности предметной области.
Моделью данных, привлекающей внимание с конца 80-х годов, является объектная, или объектно-ориентированная модель. Основными понятиями, с которыми оперирует эта модель, являются следующие:
- объекты, обладающие внутренней структурой и однозначно идентифицируемые уникальным внутрисистемным ключом;
- классы, являющиеся, по сути, типами объектов;
- операции над объектами одного или разных типов, называемые методами;
- инкапсуляция структурного и функционального описания объектов, позволяющая разделять внутреннее и внешнее описания (в терминологии предшествовавшего объектному модульного программирования — модульность объектов);
- наследуемость внешних свойств объектов на основе соотношения « класс-подкласс ».
К достоинствам объектно-ориентированной модели относят:
- возможность для пользователя системы определять свои ''сколь угодно сложные типы данных (используя имеющийся синтаксис и свойства наследуемости и инкапсуляции);
- наличие наследуемости свойств объектов;
• повторное использование программного описания типов
объектов при обращении к другим типам, на них ссылаю
щимся.
К объектно-ориентированным СУБД относятся ONTOS, GemStore, UniSQL и др.
Еще одной моделью данных, имеющей конкретную реализацию (InfoModeller), является модель объектов-ролей, предложенная еще в начале 70-х годов, но востребованная лишь недавно. В отличие от реляционной модели в ней нет атрибутов, а основные понятия — это объекты и роли, описывающие их. Роли могут быть как «изолированные», присущие исключительно какому-нибудь объекту, так и существующие как элемент какого-либо отношения между объектами. Модель служит для понятийного моделирования, что отличает ее от реляционной модели. Имеются и другие отличия и интересные особенности: например, для нее помимо графического языка разработано подмножество естественного языка, не допускающее неоднозначностей, и, таким образом, пользователь (заказчик) не только общается с аналитиком на естественном языке, но и видит представленный на том же языке результат его работы по формализации задачи. (Можно заметить, что многие пользователи, в отличие от аналитиков, с трудом разбираются в описывающих их деятельность рисунках и схемах.) Модель «объектов-ролей» сейчас привлекает большое внимание специалистов, однако до промышленных масштабов ее использования, сравнимых с двумя предыдущими, ей пока далеко.
Взаимосвязь моделей данных.
Упомянутые модели данных равносильны в том смысле, что все, выразимое в одной из них, выразимо в остальных. Выбор той или иной модели обусловлен тем, насколько удобно использовать эту модель проектировщику-человеку для работы с реальными жизненными задачами и насколько эффективно можно реализовать работу с конкретной моделью на ЭВМ.
§ 2.4. Географические информационные
системы
Пример. Когда вы знакомитесь с новым для вас человеком, то один из первых вопросов часто связан с тем местом, где он родился, где живет. По ответу — названию географического региона — вы многое можете предположить о характере и привычках нового знакомого, и этот прогноз будет не беспочвенным.
Место обитания накладывает определенный отпечаток на человека. В народной мудрости это отражается в появлении устойчивых словосочетаний: сибирский характер, южный темперамент, северная сдержанность.
Пример. Если человек из Тюменской области, то он, скорее всего, сможет многое рассказать о нефтедобыче и тайге, если из Волгоградской — об истории Сталинградской битвы и особенностях выращивания бахчевых культур.
Это лишь небольшие примеры, которые демонстрируют, что география тесно взаимосвязана с историей, экономикой, политикой, культурой, демографией, геологией и многими другими сферами научной и практической деятельности.
Зная географическое положение какого-либо населенного пункта Земли, можно сделать выводы об уровне жизни населения, структуре занятости, основных экологических проблемах, исторически сложившихся традициях и пр.
Существуют профессии, для которых карта — основной и часто единственный источник полной, точной и вполне достоверной информации. Это, например, штурманы, военные, строители.
Пример. Возьмем проектировщиков шоссейных дорог. Сколько расчетов и прикидок нужно выполнить им только для того, чтобы выбрать лучший вариант прокладки дороги между двумя населенными пунктами! В этих расчетах приходится учитывать и рельеф местности (крутизна подъемов и спусков), и типы грунта, и требуемый объем земляных работ, и растительность на трассе (за порубку леса или отчуждение пашни полагается платить), и многое другое. Информацию для расчетов можно получить, или, как говорят географы, снять с крупномасштабной карты местности.
Все реальные материальные объекты (реки и холмы, рощи и плотины) или события, связанные с объектом (полет самолета, изменение русла реки, разрастание города), имеют координаты на поверхности Земли и их можно отобразить на карте. Известно, что карта — это очень наглядный способ описания территории.
В наше компьютеризированное время было бы удивительно, если бы компьютеры не использовались и для отображения карт. С компьютерной картой, которую называют цифровой (или электронной), работать более интересно, чем с бумажной картой. Компьютерная карта имеет по сравнению с бумажной много дополнительных и полезных свойств: её можно легко масштабировать на экране компьютера, двигать в разные стороны, на ней легко рисовать и удалять объекты, можно печатать в привлекательном виде любые фрагменты территории, выбрав объект мышью, запрашивать у компьютера имеющуюся информацию об объекте и т. п.
Первое основное направление применения цифровых карт на практике — автоматизация решения сложных и громоздких вычислительных задач в областях проектирования и строительства, транспорта и связи, экологии и чрезвычайных ситуаций и пр.
Второе направление — оперативное отображение обстановки. Прежде всего это важно в военном деле, но не только. Наблюдать за постоянно меняющейся обстановкой должны диспетчеры аэропортов, сотрудники органов гражданской обороны и чрезвычайных ситуаций и многие другие.
С постоянно меняющейся обстановкой связано и третье направление использования цифровых карт. Речь идет об издании обычных бумажных карт. До сих пор подготовка к изданию даже не очень сложной карты была делом весьма трудоемким — требовалось вручную нанести на пластик ее изображение. Затем, при переизданиях, тем же путем вно-
сились произошедшие изменения. Наличие цифровой карты делает этот процесс почти автоматическим. Стоит только указать, какими условными знаками изображать объекты местности, как карта будет готова к выводу. Картографу останется только подправить, подчистить (опять-таки на экране) полученное изображение.
Научить машину читать карту — значит представить карту в виде, который легко и просто представлялся бы в памяти ЭВМ и был бы доступен анализу с помощью традиционных машинных операций. Здесь можно поступить так же, как в случае обработки изображений, то есть представить карту в виде частой прямоугольной сетки точек, каждая из которых кодируется соответствующим цветом, и заложить всю последовательность этих кодов в память ЭВМ. Казалось бы, сделать это совсем нетрудно. Но научить ЭВМ анализировать совокупность разноцветных точек (ее стали называть растровой картой) именно как карту не удалось. В сущности, проблема машинного чтения карты не менее сложна, чем одна из главных задач искусственного интеллекта — распознавание образов.
Другой путь — вместо изображения карты ввести в ЭВМ список всех изображенных на ней объектов, причем каждый из них должен обозначаться кодом, характеризующим тип объекта (например, река, лес, дом, дорога), и числами, определяющими его координаты.
Хорошо, если объект невелик по размеру и его положение можно передать парой координат. А если он (например, река) представляет на карте длинную извилистую линию? Значит, вслед за кодом должна выстраиваться длинная цепочка координат, определяющих положение некоторых точек этой реки. А как часто должны стоять эти точки? Понятно, что чем чаще, тем лучше, но память ЭВМ небеспредельна. Значит, необходимо расставлять эти точки так, чтобы получить расположение объекта с некоторой точностью.
Этот способ компьютерного представления и хранения карты называют цифровой картой в векторной форме, или просто векторной картой.
По способу представления координат объекты векторной карты делятся на точечные (те, которые можно представить одной парой координат), линейные (для их представления потребуется цепочка координат, определяющих расположение объектов) и площадные (они также представляются цепочкой координат, которые определяют границы этих объектов).
Какие объекты включаются в цифровые карты, целиком зависит от того, для решения каких задач создается карта.
Пример. Если вам надо найти кратчайшие дороги между городами, то для этого вполне достаточно цифровой карты, состоящей из изображений населенных пунктов и дорог. А для обнаружения мест наиболее частых аварий городского водопровода потребуется подробная карта подземных коммуникаций.
Каждый, кто видел обычную топографическую карту, хорошо представляет себе, насколько она сложна. Как правило, один лист такой карты содержит изображения десятков тысяч объектов. И если нужна достаточно полная цифровая карта такого масштаба, то координаты объектов придется представлять последовательностями, каждая из которых, в свою очередь, может содержать тысячи многозначных чисел.
Поначалу цифровые карты изготавливали с помощью планшетов-кодировщиков. Оператор как бы обводил объекты положенной на планшет бумажной карты считывающим устройством, и координаты этих объектов автоматически заносились в память машины. Чтобы создать цифровую карту таким способом, требовалось иногда до полугода работы.
Потом появились программы-векторизаторы. Помните растровые карты, о которых шла речь выше? Так вот, векторизаторы способны выделить и представить в виде последовательностей координат линии или пятна, содержащиеся на растре, а иногда и установить, что эта линия или пятно означают. Векторизаторы сняли с человека значительную часть работы, но все равно — создать цифровую карту по всем правилам может лишь человек.
Сами по себе цифровые карты никакого эффекта дать не могут. Увидеть их на экране дисплея и поработать с ними можно лишь с помощью специальных программ. Комплексы программных средств, позволяющих решать прикладные задачи с помощью цифровых карт, в сочетании с наборами самих карт называются географическими информационными системами, или геоинформационными системами (ГИС). Отметим, что ГИС как программное обеспечение относится к категории сложнейших.
Как осуществляется работа пользователя с геоинформационной системой?
Работая с ГИС, вы выводите на экран компьютера одну или несколько интересующих вас карт (схем, планов и так далее). Пользователь легко может менять детальность изображения, увеличивая или уменьшая отдельные элементы карты.
Пример. Выбрав на карте города нужное здание, вы можете вывести его крупным планом и рассмотреть пути подъезда к зданию.
Обычно имеется возможность управлять тематическим составом изображаемой информации.
Пример. На карте полезных ископаемых можно «отключить» видимость ненужных в данный момент видов ископаемых ресурсов и речной сети, оставив между тем видимой дорожную сеть.
Указав объект на карте, можно получить информацию о нем.
Пример. Указав объект недвижимости, можно узнать его стоимость, имя владельца, состояние объекта и пр. Выбрав находящееся поблизости промышленное предприятие, можно получить данные о его профиле, влиянии на экологию района и так далее.
Ряд геометрических характеристик объектов (длину улицы, расстояние между городами, площадь лесного массива) можно измерять непосредственно на экране, пользуясь средствами ГИС.
Можно использовать ГИС как поисковую систему. В этом случае пользователь составляет запрос, в котором перечисляет интересующие его свойства объектов, а система выделяет на карте подходящие объекты.
Пример. Можно потребовать показать на карте земельные участки площадью не менее 10 соток, расположенные не далее 3 км от железнодорожной станции и одновременно не далее 1 км от близлежащих водоемов.
Специальные средства позволяют проводить аналитическую обработку данных, а в более сложных случаях — моделирование реальных событий. Результаты обработки можно увидеть на экране компьютера.
Пример. Специалисты могут оперативно спрогнозировать возможные места разрывов на трассе трубопровода, проследить на карте пути распространения загрязнений и оценить вероятный ущерб для природной среды, вычислить объем средств, необходимых для устранения последствий аварии. Наиболее сложные технологические решения включают в себя экспертную поддержку и позволяют получать на выходе обоснованное заключение, пригодное для принятия конкретных решений.
Все, что пользователь видит на экране, при необходимости может быть выведено на печатающее устройство и получено в виде твердой копии, либо сохранено в виде стандартного файла изображения и использовано впоследствии в качестве иллюстрации.
В определённом смысле в основе построения ГИС лежит СУБД. Однако, вследствие того, что пространственные данные и разнообразные связи между ними плохо описываются реляционной (табличной) моделью, полная модель данных в ГИС имеет сложный смешанный характер. А вот информация о свойствах объектов (называемая ещё семантической) часто представляется реляционными таблицами.
Большинство прикладных геоинформационных систем предназначены не для домашнего использования, а для работы в крупных организациях и учреждениях, коллективам которых необходимо оперативно обрабатывать большие объёмы пространственной информации. В такой ситуации ГИС должна обеспечивать возможность работы с одним набором геоинформационных данных нескольким пользователям (чаще всего в пределах локальной компьютерной сети). При решении геоинформационных задач городского масштаба возникает необходимость обеспечить доступ к общим пространственным и семантическим данным разным предприятии и городским службам. Решение же геоинформационных задач глобального характера возможно при использовании ГИС, размещенных не на одном, а на нескольких мощных компьютерах. В настояще время широко разрабатываются геосистемы, использующие возможности Интернета.
Наиболее популярные ГИС: Arclnfo, Arcview, MGE, Geo-rnedia, Maplnfo, SICAD, Autodesk. Среди ГИС, работающих в среде Интернет специалисты отмечают такие средства для web-картографирования: ArcView Internet Map Server, Ma-pObjects IMS, MapXsite, MapXtreme, MapGuide, GeoMedia Web Map и др.
Отметим, что если вы поклонник компьютерных игр, то с ГИС вам приходилось не раз работать. Примером ГИС (хотя и очень упрощённой) можно считать игру SimCity, где играющий строит город, а программа имитационного моделирования территории показывает состояние различных городских служб и ресурсов (в том числе людских).
Рис. 2.4.1
Пример
цифровой
карты
Географические информационные системы (геоинформационные системы, ГИС) — это комплексы программных средств, позволяющие решать прикладные задачи с помощью цифровых карт, в сочетании с наборами самих карт.
Геоинформационные системы призваны обеспечить эффективную обработку информации о самых разнообразных объектах на территории. Они предназначены для сбора, хранения, поиска и манипулирования данными о территориальных объектах.
Геоинформационные системы — это компьютерные системы, позволяющие эффективно работать с пространственно распределенной информацией. Они являются расширением концепции баз данных, дополняют их наглядностью представления и возможностью решать задачи пространственного анализа.
Цифровая карта в векторной форме — построенная по четко зафиксированным правилам последовательность объектов, представленных своими кодами и координатами.
Цифровые карты, являющиеся основой ГИС, обеспечивают: • точную привязку, систематизацию, отбор и объединение
всей поступающей и хранимой информации (единое адресное пространство);
- комплексность и наглядность информации для принятия решений;
- возможность динамического моделирования процессов и явлений;
- возможность автоматизированного решения задач, связанных с анализом особенностей территории;
- возможность оперативного анализа ситуации в экстренных случаях.
Построение ГИС основывается на идеях баз данных с раз-вивитием этих идей.
Модель данных в ГИС имеет сложный смешанный характер: атрибутивная (семантическая) информация об объектах часто представляется реляционными таблицами, а пространственные данные организуются специальным образом (послойным, объектно-ориентированным и пр. — различным для разных ГИС).
Основные направления применения ГИС:
- автоматизация решения сложных и громоздких вычислительных задач (проектирование, строительство, транспорт, связь, экология, чрезвычайные ситуации, создание кадастров земель и природных ресурсов и т.п.);
- оперативное отображение обстановки (военное дело, диспетчерские аэропортов, органы гражданской обороны и чрезвычайных ситуаций и др.);
. • издание обычных бумажных карт;
- историческое, социологическое, демографическое и др. исследования изменений, происходящих на данной территории;
- имитационное моделирование пространственных процессов;
- управление производственными процессами в рамках автоматизированных систем управления (АСУ). Возможности, предоставляемые пользователю ГИС:
- масштабирование карты на экране компьютера;
- дополнение и удаление объектов с карты;
- печать в заданом виде любых фрагментов территории;
- запрещение или разрешение в зависимости от решаемой задачи вывода на экран объектов определённого класса.
- вывод атрибутивной информации об объекте (его свойств, характеристик и пр.);
- обработка информации об объектах статистическими методами и отображение результатов такого анализа непосредственным «наложением» их на карту.
Задание 1
Ответьте на вопросы:
а) Какой компонент геоинформационных систем можно рассмат
ривать как системообразующий?
б) Почему эти системы получили название географических?
Пусть вся информация, которую мы можем получить об объек
тах, представленных на цифровой карте, носит только историче
ский характер. Можно ли по аналогии назвать систему, основой
которой является эта карта, исторической информационной сис
темой?
в) Верно ли, что нельзя найти реальный материальный объект
или событие, связанное с объектом, которые бы не имели коор
динат на поверхности Земли и которые нельзя было бы отобра
зить на карте?
Задание 2
Данные, накапливаемые человечеством о реальных объектах и событиях нашего мира, в той или иной мере содержат «пространственную» составляющую (постоянные или переменные пространственные координаты).
Для каких из перечисленных ниже объектов и явлений это утверждение справедливо?
а) поля и рощи;
б) граждане государства;
в) здания и сооружения;
г) транспортные магистрали;
д) инженерные коммуникации;
е) движущийся поезд, летящий самолёт и плывущий пароход;
ж) деталь и изделие, перемещаемые на территории заводского
цеха;
з)научная теория; и) компьютерная сеть; к) грозы и снегопады.
Задание 3
Автомобилисты практически всегда имеют в салоне атлас дорог. По оценкам специалистов в недалеком будущем он будет заменен компьютером, на дисплее которого этот атлас можно будет наблюдать даже в процессе движения.
Опишите, как вы себе представляете электронный атлас автомобильных дорог. Не забудьте, что автомобиль кроме электронного
атласа должен быть оснащен системами глобального позиционирования.
Системы глобального позиционирования (GPS) — спутниковые системы, благодаря сигналам от которых небольшие специальные наземные приёмники показывают координаты своего местонахождения.
Задание 4
С помощью электронного глобуса можно сравнить координаты границ частей света между собой.
Вы знаете, что северная граница США находится на широте Киева, а южная оконечность Африки симметрична отностельно экватора острову Крит?
Придумайте другие географические головоломки, которые можно легко решить с помощью цифровых карт Земли. Определите, какими средствами для решения этих задач должны обладать ГИС, какие возможности они должны предоставлять пользователю.
Задание 5
В среде ГИС удобно отображать генпланы заводов, поэтажные планы цехов, помещений, технологические схемы движения изделий между технологическими подсистемами, моделирование технологических процессов, развёрнутых в пространстве и т. п. Определите, для решения каких задач могут использоваться такого рода карты. Приведите примеры, когда использование ГИС в управлении предприятием дает значительные преимущества по сравнению с использованием для этих же целей СУБД традиционного типа.
Географические информационные системы появились в 1960-х годах XX века как инструменты для отображения географии Земли и расположенных на ее поверхности объектов. При этом использовались компьютерные базы данных. Следы самой первой геоинформационной системы теряются в недрах Министерства обороны США, сотрудники которого использовали ГИС для того, чтобы ракета, летящая в сторону противника, попала в этого самого противника как можно точнее. Правда, существует и альтернативная версия: согласно ей, первая ГИС была создана в Канаде и первоначально использовалась в основном для целей землеустройства.
В начале 70-х годов ГИС использовались для вывода ко-ординатно-привязанных данных на экран монитора и для печати карт на бумаге, чем значительно облегчили жизнь специалистам, прежде занятым традиционной бумажной картографией.
В 80-х годах появились системы управления пространственными базами данных, целью которых было связать системы управления базами данных и компьютерное картографирование. В этих системах пользователь уже мог, указав на объект на карте, получить некую содержательную информацию. Спрос на тематическую картографическую информацию заставил обратить внимание на проблему сбора данных. Результатом стала интегрированная среда: данные дистанционного зондирования, цифровая модель местности, карта дорог, геологическая карта и все прочие виды и типы карт мирно сосуществовали в рамках одной системы.
Одна из самых внушительных программ цифрового картографирования осуществляется сегодня Федеральной службой геодезии и картографии России. С 1993 года ведется работа по созданию цифровых топографических карт, то есть наиболее полных и точных карт, территории нашей страны.
К основным направлениям развития современных ГИС относят:
- интеграцию систем пространственного позиционирования (GPS) и ГИС;
- интеграцию ГИС с реляционными и сетевыми базами данных;
- сетевые технологии, web-картографирование и ГИС-по-Интернет.
Пользователям требуются новые ГИС, позволяющие работать с пространственными данными в полевых условиях, одним из свойств работы в которых является определение географических координат объекта, его высоту над уровнем моря, скорость, направление движения и другие параметры. Все эти данные должны интегрироваться в ГИС в реальном масштабе времени.
Системы географического позиционирования (GPS) — спутниковые системы, благодаря сигналам от которых небольшие специальные наземные приёмники легко могут показывать координаты своего местонахождения. С помощью GPS объект может определить свои координаты на местности с погрешностью от сотен метров до миллиметров. Такими приемниками оснащаются самолеты и морские суда, их берут с собой в поход туристы.
Легко представить, как комфортно чувствуют себя штурманы кораблей (в том числе речных), где есть GPS-приёмник и ГИС с картой морей и рек. Нет никакой нужды определять своё местоположение по звёздам.
Если приёмник GPS связать с автомобильной ГИС, на которой отображена карта, то водителю на экране автомобильного компьютера можно наблюдать своё местоположение и направление движения. Если в ГИС ещё и задан планируемый маршрут, то весь такой комплекс может даже предупреждать водителя, когда ему нужно свернуть и куда.
Наиболее быстро разивающимся направлением развития ГИС является использование сетевых технологий, web-картографирование и ГИС-по-Интернет. Объединение двух технологий, неспроста, видимо, появившихся практически одновременно, привело к тому, что ГИС обрела принципиально новые возможности. Программный продукт, возникший в результате слияния ГИС и Интернета носит название ГИС-по-Интернет и отличается от стандартных ГИС тремя принципиальными моментами:
- ГИС-по-Интернет может использоваться несколькими пользователями одновременно;
- данные могут храниться не на одной машине, а на нескольких, что позволяет резко увеличить максимальный объем хранимых данных и, кроме того, использовать для анализа данные из нескольких источников одновременно;
- ГИС и ее пользователи могут находится на сколь угодно большом расстоянии друг от друга.
Эти отличия от традиционной геоинформационной системы являются значительными преимуществами и позволяют использовать ГИС в принципиально новом качестве: из инструмента пространственного анализа ГИС превращается в инструмент управления пространственно распределенными проектами.
2.5. Системы искусственного интеллекта
Попытки формализовать мышление человека, построить адекватную модель рассуждений, выявить способы творческого разрешения проблемных ситуаций предпринимались учеными с древних времен. Платон, Аристотель, Сенека, Р. Декарт, Г. В. Лейбниц, Дж. Буль, Н. Лобачевский и многие другие исследователи стремились описать мышление как набор некоторых элементарных правил и операций, смоделировать интеллектуальную деятельность.
Искусственный интеллект (ИИ) как самостоятельное научное направление появился во второй половине XX века. Во многом это было связано с развитием кибернетики, которая изучает управление и связь в сложных системах, в том числе управление (а также самоуправление, самоорганизацию) в такой системе, как человек, и в социальных системах. Управление связано с принятием решений на основе анализа, сравнения, переработки информации, выдвижением предположений, доказательством правильности гипотез, то есть с теми операциями, которые традиционно относятся к области интеллектуальной деятельности.
Исследования в области ИИ развиваются по двум основным направлениям. Это связано с тем, что ответить на вопрос, что такое интеллектуальная система, можно двояко.
С одной стороны, систему можно считать интеллектуальной, если процесс ее «рассуждений», способы формирования разумного поведения подобны естественному мышлению. В этом случае искуственный интеллект создается на основе скурпулезного изучения и моделирования принципов и конкретных особенностей функционирования биологических объектов.
С другой стороны, систему можно считать интеллектуальной, если достигнутый ею результат подобен результату, который в тех же условиях получает человек. Что касается внутренних механизмов формирования поведения, то разработчик ИИ вовсе не должен копировать особенности «живых аналогов ».
Первое направление, которое чаще называют искусственным разумом, использует данные о нейрофизиологических и психологических механизмах интеллектуальной деятельности. Разработчики стремятся воспроизвести эти механизмы с помощью технических устройств.
Второе направление, называемое машинным интеллектом, рассматривает продукт интеллектуальной деятельности человека (решение задач, доказательство теорем, игры со сложной стратегией и пр.), изучает его структуру и стремится воспроизвести этот продукт средствами вычислительной техники. Успехи этого направления тесно связаны с развитием компьютеров и искусством программирования.
Оба направления активно используют методы моделирования — имитационного и структурного, математического и компьютерного и др.
Пример. В замечательной книге «Маленькая энциклопедия о большой кибернетике» В. Пекелис, описывая исследования в области бионики, задает вопрос: мог ли человек пройти мимо заманчивой идеи — создать своими руками то, что уже создала природа? Тем более, что он подмечает много преимуществ в творениях природы перед своими собственными созданиями. При этом ученые стремятся не к слепому подражанию, не к заимствованию всех характеристик биологических объектов, а к критическому, строгому отбору только полезных для техники свойств. Моделировать деятельность живых организмов интересно и нужно, особенно те функции, которые повышают гибкость, надежность, экономичность системы или процесса.
Самой сложной биологической системой, выполняющей разнообразные функции по переработке сигналов и управлению, издавна признана нервная система. Многие ее особенности связаны со структурными особенностями нервных клеток — нейронов и нейронной сетью, поэтому они нередко являются объектами моделирования при иследованиях в области искусственного интеллекта.
Кора больших полушарий головного мозга человека содержит около 14 миллиардов нейронов, образующих сложнейшее переплетение связей. Устройство и законы функционирования самого нейрона также очень сложны, что позволяет использовать для его описания только упрощенные модели. Такие модели носят название нейроноподобных сетей. Используются они для построения систем управления различными робототехническими устройствами. Нейронопо-
добные сети являются устройствами параллельной обработки информации и имеют преимущества при построении систем, предназначенных для работы в реальном масштабе времени.
Пример. Первый в нашей стране транспортный робот ТАИР с сетевой системой управления был построен еще в 1975 году. Он мог целенаправленно двигаться в естественной среде (в парке), объезжать препятствия, избегать опасных мест, поддерживать внутренние параметры в заданных пределах. При этом робот достигал цели с минимальными энергетическими и временными затратами. Нейронопо-добная сеть, составляющая основу управления, содержала 100 узлов и отвечала за шесть видов деятельности: распознавание и оценку ситуации, решения, маневры верхнего и нижнего уровня, элементарные двигательные действия. Исследования ТАИРа и его «последователя» — лабороторного робота МАЛЫШ, обладающего более развитой системой технического зрения и нейроноподобной сетью, обрабатывающей данные восприятия, стали основой построения промышленного транспортного робота широкого назначения ГРУЗ-2Т.
Существующие и разрабатываемые в настоящее время роботы значительно отличаются друг от друга по своему назначению и функциональным возможностям. Некоторые из них имеют системы восприятия визуальной, аудиальной, тактильной информации из внешней среды и системы воздействия на внешние объекты — различные манипуляторы, захваты, толкатели и пр. Многие роботы снабжаются системами, обеспечивающими их перемещения — это колесные, плавающие, летающие, шагающие платформы и аппараты. Роботы, снабженные системами целеполагания и планирования действий, а также системами коммуникации с человеком-оператором относятся к классу роботов с искуственным интеллектом. Разработка таких роботов ведется в настояще время.
Особое внимание в исследованиях по машинному интеллекту уделяется проблемам распознавания образов и организации речевого «общения».
Одна из удивительнейших способностей человека — способность узнавать. Едва бросив взгляд, мы узнаем, что перед нами кот или собака, корабль или бабочка, буква «ч» или «у». Узнаем, как правило, безошибочно, будь то сам «оригинал» или его уменьшенное или увеличенное изображение. Способностью узнавать человек обладает испокон веков. И все-таки до сего времени ученые в точности не знают, как же человек узнает.
Пример. Попробуйте объяснить, по каким формальным признакам вы отличаете кота от собаки. Спутаете ли вы их, если оба они спят, свернувшись клубочком? По каким признакам вы их отличите теперь?
Ученые считают, что восприятие окружающего мира в форме образов дают возможность человеку (и животным) более экономно использовать память.
Задачи распознавания образов очень разнообразны. Наиболее простые из них решаются, например, в программах оптического распознавания символов (OCR — optical character recognition), предназначенных для ввода печатного или рукописного текста, в частности, с помощью сканера. Распознавание символов, даже будучи «наиболее простым» в классе задач распознавания образов, тем не менее достаточно сложны для их формализованного описания.
Пример На рис. 2.5.1. приведены различные изображения буквы «А». У них разные начертание, цвет, наклон. Какие формальные признаки, присущие только этой букве и никакой другой, можно выделить? Просто ли перевести их на строгий алгоритмический язык?
Рис. 2.5.1
Изображения буквы «А»
В робототехнике распознавание образов осуществляется системами технического зрения. Они используются в системах технического контроля для обнаружения дефектов в заготовках и изделиях, в станках с программным управлением при управлении позиционированием деталей, сборкой, сваркой и т. п. В широко разрабатывающихся сейчас алгоритмах по распознаванию и «пониманию» сложных сцен, включающих несколько произвольно расположенных в пространстве трехмерных объектов, используется информация о расположении и конфигурации теней, полутонов, об особенностях отражения света материалами различных текстур (металл, дерево, ткань) и т. п.
Автоматическое распознавание речи необходимо для создания средств речевого ввода команд и текстов, автоматического перевода, реферирования текстов, построения справочных и информационно-поисковых систем. Синтез речи является одним из функциональных узлов различных роботов связи.
Пример. Существуют системы, которые могут сообщение, присланное по электронной почте, преобразовать в «голосовое» и передать по нужному телефону в заданный промежуток времени.
Другие системы по названному телефонному номеру (входящему в зараннее определенный список) обеспечивают услуги выдачи адресов, маршрутов проезда и т. п.
Интересна история исследований по машинному интеллекту.
Практически с момента появления ЭВМ появился интерес к автоматизации решения трудноформализуемых задач, в частности, процесса доказательства теорем, к познанию закономерностей творческой деятельности.
С самого начала использования ЭВМ для решения задач стало ясно, что одними точными математическими методами не обойтись. Для многих задач, которые люди умеют решать (играть в шахматы, сочинять стихи, строить научные теории), точных методов не существует. В этом случае можно попробовать воспроизводить компьютерными средствами те правила и приемы, которыми пользуется человек при решении аналогичных задач. Эти специфические для человека правила и приемы называются эвристиками, а методы решения задач, опирающиеся на них, эвристическими методами.
Компьютеры позволяют изучать эвристическую деятельность человека с помощью моделей. Среди них важную роль занимают игры, особенно, шахматы, которые выступают «пробным камнем» моделирования мышления. В процессе шахматной игры человек анализирует множество условий и оценивает множество возможностей: на 64 клетках шахматной доски возникает огромное число комбинаций фигур. Конечно, человек перебирает не все возможные варианты, он пользуется выработанной стратегией. Аналогичные модели перебора множества возможных вариантов возникают при решении самых разнообразных задач, например, при поиске пути в лабиринте или определение стратегии размещения ценных бумаг.
На компьютере модели поведения человека в ситуации выбора из множества вариантов, реализуются с помощью эвристического программирования. Главное в эвристической программе — стратегия поиска решений. В процессе выполнения программы машина по результатам промежуточных действий как бы судит о своей деятельности, дополнительно собирает необходимую ей информацию. Эвристические программы
не рассматривают вариантов бесперспективного поиска, а ищут решение только в том направлении, где оно возможно.
Эвристическое программирование используется при создании систем искусственного интеллекта, называемых решателями задач. Обычно программы-решатели строятся для задач, связаных с преобразованием ситуаций, когда заданы исходная и желаемая ситуация, а также набор операторов или действий, которые могут строго определенным образом изменять ситуации. Чаще всего решатели используются как составная часть систем автоматизации управления сложными объектами, в частности, роботами.
К системам ИИ относятся и системы машинного перевода, которые включают в себя лингвистические описания входного и выходного языков, базы данных — словари, алгоритмы, на основе которых осуществляется непосредственно перевод. Первые системы машинного перевода осуществляли перевод пословно, не «вникая» в смысл предложения. Предназначены они были для перевода технической документации, патентов и т. п. Развитые системы машинного перевода работают по многоэтапной схеме. Основные этапы — это анализ переводимого (исходного) текста и синтез перевода. Перевод осуществляется обычно пофразно.
Этапы анализа таковы:
- выделение из текста очередной фразы;
- лексический анализ — выделение слов и частей речи;
- поверхностный синтаксический анализ — выделение членов предложения;
- глубинный синтаксический анализ, учитывающий смысловые связи между словами.
В результате анализа строится внутреннее представление фразы, отражающее ее смысл.
Синтез перевода включает следующие этапы:
- подбор слов выходного языка для передачи внутреннего представления фразы;
- расстановка слов в нужном порядке с извлечением из словаря внешней лексической формы слов;
• формирование окончательного вида переведенной фразы.
Почему машинный перевод относится к классу систем ис
кусственного интеллекта? Одна из причин — многознач
ность большинства естественных языков, когда смысл фра
зы можно определить только из контекста.
Пример. Можно ли однозначно понять и перевести следующие фразы вне контекста?
«Не валяй дурака»; «Вот где собака зарыта»; «Остался с носом»; «Он на этом собаку съел».
Одной из ключевых проблем создания систем ИИ является проблема представления и использования знаний о той предметной области, в которой система решает те или иные задачи. Общий круг задач, решаемых в этой связи, относится к разделу ИИ, называемому инженерией знаний. Важным элементом любой системы управления являтся база знаний. Идея баз знаний сформировалась в ходе исследований по созданию принципов и методов работы с большими базами данных. Оказалось, что эффективность использования баз данных может быть существенно повышена, если связывать хранящуюся информацию не только за счет форм (таблиц, списков, деревьев), но и за счет тех отношений, которые существуют между фактами. Причем, отношения эти должны быть не случайными, ситуативными, а отражать существенные связи объекта. Такие базы данных получили название интеллектуальных баз данных или баз знаний.
Знания о предметной области и способах решения задач из нее могут быть декларативные и процедурные. Декларативные знания описывают объект (отвечают на вопросы типа: «Что есть X?», «Как связаны X и Y?», «Почему X?»). Процедурные знания описывают последовательность действий, которые могут использоваться при решении задач (отвечают на вопросы типа: «Как сделать X?»).
Базы знаний строятся на основе моделей, разработанных в когнитивной психологии (психологии познания). Основных моделей три: логическая, сетевая, продукционная.
Логическая модель широко использует аппарат математической логики. Декларативные знания представляются в виде формул, а использование логических операций позволяет записать процедурные знания.
Пример. Суждение «Я обязательно поеду на матч, если достану билет или меня пригласит товарищ и если не будет дождя» можно записать следующим образом:
(A v В) л чС => D. Здесь:
А — «Я достану билет»; В = «Меня пригласит товарищ»; С = «Будет дождь»; D = «Я поеду на матч»; v — логическая операция «или»;
л — логическая операция «И»; -1 — логическая операция «НЕ»; => — логическая операция «ЕСЛИ..., ТО...». Возможна и такая форма записи: ( ИМЕТЬ (я, билет) v ПРИГЛАСИТЬ (товарищ, я) ) л -, ИМЕТЬ МЕСТО (дождь) => ПОЙТИ (я, матч).
В основе сетевой модели лежит идея о том, что любые знания можно представить в виде совокупности объектов (понятий) и связей (отношений) между ними. Знания, представленные таким образом, носят название семантические сети.
Пример. Фраза «девочка ищет в комнате большой красный мяч, который лежит под письменным столом» может быть представлена в виде семантической сети, изображенной на рис. 2.5.2.
Рис. 2.5.2
Семантическая сеть
Заметим, что блок-схемы алгоритмов также представляют собой семантические сети. Вершины этих сетей — процедуры, а дуги означают действие «перейти к процедуре» («передать управление процедуре»).
Понятия, входящие в сеть, описываются в виде фреймов. Фрейм — это минимально возможное (так, чтобы не «потерялся» сам объект) описание сущности какого-либо явления, процесса, ситуации. Компоненты фрейма называются слотами. Изображается фрейм в виде цепочки слотов, причем исключение из фрейма любого слота делает его неполным, иногда бессмысленным.
Пример
Описание фрейма | «Заполненный» фрейм |
(фрейм-прототип) | (фрейм-экземпляр) |
Битва = <кто?> <с кем?> <ког- | Битва 1 = <СССР> <Германия> |
да?> <где?> <результат> | <декабрь 1941> <Сталинград> <победил> |
Битва2 = <Иван Царевич> | |
<Кощей Бессмертный> <утром> | |
<в чистом поле> <победил> | |
Книга = <Автор(ы)> <назва- | Книга1 = <Стругацкий А., Стругацкий Б.> |
ние> <жанр> <издательство> | <Понедельник начинается в субботу> |
<год издания> <кол-во стр.> | <Фантастические повести> <Москва: Дет- |
ская литература> <1987> <496> |
Описание фрейма «Заполненный» фрейм
(фрейм-прототип) (фрейм-экземпляр)
Битва = <кто?> <с кем?> <ког- Битва1 = <СССР> <Германия>
да?> <где?> <результат> <декабрь 1941> <Сталинград> <победил>
Битва2 = <Иван Царевич> <Кощей Бессмертный> <утром>
<в чистом поле> <победил>
Книга = <Автор(ы)> <назва- Книга1 = <Стругацкий А., Стругацкий Б.>
ние> <жанр> <издательство> <Понедельник начинается в субботу>
<год издания> <кол-во стр.> <Фантастические повести> <Москва: Дет-
екая литература> <1987> <496>
Основу продукционной модели составляют множества продукций — правил вывода. В наиболее простом виде продукция записывается как стандартное выражение, включающее в себя конструкцию «если..., то...». Это выражение носит название ядра продукции. Например: «Если ввел неверный символ, нажми клавишу «—>». Кроме ядра в продукцию» как правило, входит еще условие. Оно определяет те ситуации, в которых можно использовать указанное правило. Только что рассмотренная продукция будет более определенной, если к ней добавить условие «Вводится текст с клавиатуры компьютера».
Пример
Форма продукции | Продукция |
(краткая) | |
Имя продукции: | Определение вида треугольника: |
При выполнении усло- | Известно, что а, Ь, с — длины сторон треугольника; |
вия С имеет место: если А, то В | если а2 + Ъг = с2, то треугольник прямоугольный |
Поведение при пожаре: | |
Вы находитесь дома и у вас есть телефон и телефон | |
работает; | |
если в доме вспыхнул пожар, то вызывайте пожар- | |
ную команду по телефону 01 |