--PAGE_BREAK--Таким образом, мы видим, что понятие информации, так же как и понятие тяготения, возникло из желания найти возможно более общие закономерности описания явлений внешнего мира.
Вопросы
1. Если в примере с землетрясением выбрать не десятибалльную, а пятнадцатибалльную или стобалльную шкалу, может ли она быть моделью для измерения силы подземных толчков?
2. Поясните разницу между технической моделью парусника (макет) и информационной моделью парусника (словесное описание, чертеж).
3. В чем сходство и различие процессов формализации и моделирования?
4. Могут ли разные явления описываться одной и той же моделью? Если да, приведите пример.
5. Можно ли по модели одного вида построить модель того же явления, но другого вида?
6. Вы имеете текст, описывающий некоторое природное явление (например, радугу). Можете ли вы построить по описанию математическую модель явления?
7. Дана математическая модель (например, Р = 2а + 2b). Можно ли по математической модели сразу построить графическую модель или предварительно необходимо сделать что-то еще (проанализировать математическую модель, построить мысленную модель, нарисовать «промежуточную» схему или рисунок и пр.)?
Упражнения
1. Постройте информационные модели вашей комнаты (например, графическое представление и словесное описание). Какую из этих моделей вам легче построить?
2. Постройте какую-либо математическую модель вашей комнаты, например, с целью вычисления объема комнаты или определения того, какой процент площади пола свободен от мебели.
3. Рассмотрим в качестве явления какую-нибудь мелодию. В каком виде можно построить модель данного явления? Постройте эту модель.
4. Постройте несколько моделей движения маятниковых часов. Сравните эти модели.
5. Приведите примеры реализации отношения «больше» в разных предметных областях. Какую из указанных вами реализации данного отношения можно рассматривать как модель другой реализации этого же отношения?
6. Еще раз прочитайте вопрос 6. Если можно, постройте графическую модель. Объясните ваши действия.
7. Формализуйте условие следующей задачи: арбуз весит три килограмма и еще пол-арбуза. Сколько весит арбуз?
Большое внимание в учебнике уделяется разделу «Представление о системе объектов». В этом разделе раскрываются понятия отношений между объектами, связи объектов и вводится понятие о системе объектов (связи и отношения между элементами системы, среда, целостность). Очень доступно с точки зрения учеников излагается тема «Информационная модель системы».
Далее идет раздел «Основы классификации объектов». Изучив этот раздел учащиеся узнают:
— что такое классы и подклассы;
— что такое основание для классификации;
— наследование свойств;
— для чего нужна классификация объектов;
— как провести классификацию;
— как классифицируются компьютерные документы.
В разделе «Классификация моделей» узнают:
— что может служить основанием для классификации моделей;
— классификацию моделей по области использования, способу представления;
— каковы формы представления информационных моделей;
— что такое компьютерная модель.
В разделе «Основные этапы моделирования » изучают:
— что такое моделирование;
— что может служить прототипом для моделирования;
— место моделирования в деятельности человека;
— основные этапы моделирования;
— что такое компьютерная модель;
— что такое компьютерный эксперимент.
Методические рекомендации по изложению теоретического материала
Изучаемые вопросы:
• Место моделирования в базовом курсе.
• Понятие модели; типы информационных моделей.
• Что такое формализация.
• Табличная форма информационных моделей.
Снова вернемся к схеме 1, отражающей содержательную структуру и систему понятий линии «Формализация и моделирование». Как видно из схемы, имеется достаточно обширная область приложений темы моделирования в курсе информатики.
Прежде чем перейти к прикладным вопросам моделирования, необходим вводный разговор, обсуждение некоторых общих понятий, в частности тех, которые обозначены в обязательном минимуме. Для этого в учебном плане должно быть выделено определенное время под тему «Введение в информационное моделирование». Для учителя здесь возникают проблемы как содержательного, так и методического характера, связанные с глубоким научным уровнем понятий, относящихся к этой теме. Методика информационного моделирования связана с вопросами системологии, системного анализа. Степень глубины изучения этих вопросов существенно зависит от уровня подготовленности школьников. В возрасте 14 — 15 лет дети еще с трудом воспринимают абстрактные, обобщенные понятия. Поэтому раскрытие таких понятий должно опираться на простые, доступные ученикам примеры.
В зависимости от количества учебных часов, от уровня подготовленности учеников вопросы формализации и моделирования могут изучаться с разной степенью подробности. Ниже будут рассмотрены три уровня изучения: первый — минимальный, второй — дополненный, третий — углубленный уровень.
В соответствии с тремя отмеченными уровнями можно выделить три типа задач из области информационного моделирования, которые по возрастанию степени сложности для восприятия учащимися располагаются в таком порядке:
1) дана информационная модель объекта; научиться ее понимать, делать выводы, использовать для решения задач;
2) дано множество несистематизированных данных о реальном объекте (системе, процессе); систематизировать и, таким образом, получить информационную модель;
3) дан реальный объект (процесс, система); построить информационную модель, реализовать ее на компьютере, использовать для практических целей.
ИНФОРМАЦИОННОЕ МОДЕЛИРОВАНИЕ
Предметом изучения информатики является информационное моделирование. Тема натурных моделей затрагивается лишь в самом начале, в связи с определением понятия модели и разделением моделей на материальные (натурные) и информационные. В свою очередь, информационное моделирование делится на моделирование объектов и процессов и моделирование знаний. Тема моделирования знаний — это тема искусственного интеллекта, разработка которой в базовом курсе информатики пока носит поисковый характер. Классификация моделей объектов и процессов производится по форме представления. По этому признаку модели делятся на графические, вербальные, табличные, математические и объектно-информационные. Последний тип моделей возник и развивается в компьютерных технологиях: в объектно-ориентированном программировании и современном системном и прикладном ПО. Развитие темы объектного моделирования также можно отнести к поисковому направлению в базовом курсе.
Понятие модели. Типы информационных моделей.
Разговор с учениками по данной теме можно вести в форме беседы. Сам термин «модель» большинству из них знаком. Попросив учеников привести примеры каких-нибудь известных им моделей, учитель наверняка услышит в ответ: «модель автомобиля», «модель самолета» и другие технические примеры. Хотя технические модели не являются предметом изучения информатики, все же стоит остановиться на их обсуждении. Информатика занимается информационными моделями. Однако между понятиями материальной (натурной) и информационной модели есть аналогии. Примеры материальных моделей для учеников более понятны и наглядны. Обсудив на таких примерах некоторые общие свойства моделей, можно будет перейти к разговору о свойствах информационных моделей.
Расширив список натурных моделей (глобус, манекен, макет застройки города и др.), следует обсудить их общие свойства. Все эти модели воспроизводят объект-оригинал в каком-то упрощенном виде. Часто модель воспроизводит только форму реального объекта в уменьшенном масштабе. Могут быть модели, воспроизводящие какие-то функции объекта. Например, заводной автомобильчик может ездить, модель корабля может плавать. Из обобщения всего сказанного следует определение:
Модель — упрощенное подобие реального объекта или процесса.
В любом случае модель не повторяет всех свойств реального объекта, а лишь только те, которые требуются для ее будущего применения. Поэтому важнейшим понятием в моделировании является понятие цели. Цель моделирования — это назначение будущей модели. Цель определяет те свойства объекта-оригинала, которые должны быть воспроизведены в модели.
Полезно отметить, что моделировать можно не только материальные объекты, но и процессы. Например, конструкторы авиационной техники используют аэродинамическую трубу для воспроизведения на земле условий полета самолета. В такой трубе корпус самолета обдувается воздушным потоком. Создается модель полета самолета, т. е. условия, подобные тем, что происходят в реальном полете. На такой модели измеряются нагрузки на корпусе, исследуется прочность самолета и пр. С моделями физических процессов работают физики-экспериментаторы. Например, в лабораторных условиях они моделируют процессы, происходящие в океане, в недрах Земли и т.д. Условимся в дальнейшем термин «объект моделирования» понимать в широком смысле: это может быть и некоторый вещественный объект (предмет, система) и реальный процесс. Закрепив в сознании учеников понимание смысла цепочки «объект моделирования — цель моделирования — модель», можно перейти к разговору об информационных моделях. Самое общее определение:
Информационная модель — это описание объекта моделирования
Иначе можно сказать, что это информация об объекте моделирования. А, как известно, информация может быть представлена в разной форме, поэтому существуют различные формы информационных моделей. В их числе, словесные, или вербальные, модели, графические, математические, табличные. Следует иметь в виду, что нельзя считать этот список полным и окончательным. В научной и учебной литературе встречаются разные варианты классификаций информационных моделей. Например, еще рассматривают алгоритмические модели, имитационные модели и др. Естественно, что в рамках базового курса мы вынуждены ограничить эту тему. В старших классах при изучении профильных курсов могут быть рассмотрены и другие виды информационных моделей.
Построение информационной модели, так же как и натурной, должно быть связано с целью моделирования. Всякий реальный объект обладает бесконечным числом свойств, поэтому для моделирования должны быть выделены только те свойства, которые соответствуют цели. Процесс выделения существенных для моделирования свойств объекта, связей между ними с целью их описания называется системным анализом.
Форма информационной модели также зависит от цели ее создания. Если важным требованием к модели является ее наглядность, то обычно выбирают графическую форму. Примеры графических моделей: карта местности, чертеж, электрическая схема, график изменения температуры тела со временем. Следует обратить внимание учеников на различные назначения этих графических моделей. На примере графика температуры можно обсудить то обстоятельство, что та же самая информация могла бы быть представлена и в другой форме. Зависимость температуры от времени можно отразить в числовой таблице — табличная модель, можно описать в виде математической функции — математическая модель. Для разных целей могут оказаться удобными разные формы модели. С точки зрения наглядности, наиболее подходящей является графическая форма.
А что обозначает слово «формализация»? Это все то, о чем говорилось выше.
Формализация — это замена реального объекта или процесса его формальным описанием, т. е. его информационной моделью.
Построив информационную модель, человек использует ее вместо объекта-оригинала для изучения свойств этого объекта, прогнозирования его поведения и пр. Прежде чем строить какое-то сложное сооружение, например мост, конструкторы делают его чертежи, проводят расчеты прочности, допустимых нагрузок. Таким образом, вместо реального моста они имеют дело с его модельным описанием в виде чертежей, математических формул. Если же конструкторы пожелают воспроизвести мост в уменьшенном размере, то это уже будет натурная модель — макет моста.
Табличные информационные модели. Одной из самых распространенных форм представления информационных моделей являются таблицы. Очень часто в табличной форме представляется информация в различных документах, справочниках, учебниках. Табличная форма придает лаконичность и наглядность данным, структурирует данные, позволяет увидеть закономерности в характере данных.
Умение представлять данные в табличной форме — очень полезный общеметодический навык. Практически все школьные предметы используют таблицы, но ни один из них не учит школьников методике построения таблиц. Эту задачу должна взять на себя информатика. Приведение данных к табличной форме является одним из приемов систематизации информации — типовой задачи информатики.
Среди разделов базового курса, относящихся к линии информационных технологий, непосредственное отношение к таблицам имеют базы данных и электронные таблицы. Предварительный разговор о таблицах, их классификации, приемах оформления является полезной пропедевтикой к изучению этих технологий.
Вводится классификация таблиц. Описывается два типа таблиц: таблицы типа «объект — свойство» и «объект — объект». Это наиболее простые и наиболее часто встречающиеся типы таблиц. Кроме того, даны примеры применения двоичных матриц.
Двоичные матрицы используются в тех случаях, когда нужно отразить наличие или отсутствие связей между отдельными элементами некоторой системы. С помощью двоичных матриц удобно представлять сетевые структуры.
Пример. Дана двоичная матрица, отражающая связи между различными серверами компьютерной сети (табл. 1).
Таблица 1.
Из таблицы 1 ученики должны определить, какой из пяти серверов является узловым?
Решение. Поскольку по данному определению узловым называется тот сервер, с которым непосредственно связаны все другие серверы, то в матрице нужно искать строку, состоящую только из единиц. Это строка — С 4. Значит сервер С4 является узловым.
Второе задание, связанное с этой же таблицей, может быть следующим: нарисовать схему этой компьютерной сети, изобразив серверы кружками, а связи между ними линиями.
Элементы системного анализа в курсе информатики
Изучаемые вопросы:
Ø • Понятие системы.
Ø • В чем суть системного подхода.
Ø • Структура системы; использование графов для отображения структуры.
Ø • Развитие системного мышления учащихся.
Второй, дополнительный уровень изучения темы моделирования в базовом курсе связан с обсуждением таких понятий, как: система, структура, граф, деревья, сети. Необходимо отметить, что эти понятия постепенно начинают проникать в перечень обязательных для изучения в рамках базового курса. Перечисленные понятия относятся к области, которая в науке называется системологией (теорией систем). Знания элементов системологии придают целостность и понятийную полноту содержательной линии «Формализация и моделирование».
Понятие «система» часто употребляется как в научных дисциплинах, так и в повседневной жизни. Примеров тому достаточно много: Солнечная система, периодическая система химических элементов, системы растений и животных, система образования, система транспорта, файловая система, операционная система и многое другое. Во многих случаях понятие системы считается интуитивно ясным. Однако для информатики оно является одним из фундаментальных и требует разъяснения.
продолжение
--PAGE_BREAK--Под системой понимается любой объект, состоящий из множества взаимосвязанных частей, и существующий как единое целое.
В информатике понятие «система» употребляется достаточно часто. Совокупность взаимосвязанных данных, предназначенных для обработки на компьютере — система данных. Совокупность взаимосвязанных программ определенного назначения — программные системы (ОС, системы программирования, пакеты прикладных программ и др.). Информационные системы — одно из важнейших приложений компьютерных технологий.
Основным методическим принципом информационного моделирования является системный подход, согласно которому всякий объект моделирования рассматривается как система. Из всего множества элементов, свойств и связей выделяются лишь те, которые являются существенными для целей моделирования. В этом и заключается сущность системного анализа. Задача системного анализа, который проводит исследователь — упорядочить свои представления об изучаемом объекте, для того чтобы в дальнейшем отразить их в информационной модели.
Сама информационная модель представляет собой также некоторую систему параметров и отношений между ними. Эти параметры и отношения могут быть представлены в разной форме: графической, математической, табличной и др. Таким образом, просматривается следующий порядок этапов перехода от реального объекта к информационной модели:
Реальный объект
è
Системный анализ
è
Система данных, существенных для моделирования
è
Информационная модель
Важной характеристикой всякой системы является ее структура. Структура — это определенный порядок объединения элементов, составляющих систему. Другой вариант определения, встречающийся в литературе: структура — это множество связей между элементами системы. Наиболее удобным и наглядным способом представления структуры систем являются графы. Описываются основные правила представления графов, вводятся понятия вершина, дуга, ребро, ориентированный граф, дерево, сеть. Обычно у учащихся не вызывает проблем понимание схем, представленных в форме графа: граф родственных связей, граф системы связанных между собой населенных пунктов и др.
Важной разновидностью графов являются деревья. Дерево — это графическое представление иерархической структуры системы. Обычно это системы, между элементами которых установлены отношения подчиненности или вхождения друг в друга: системы власти, административные системы, системы классификации в природе и др. Ученики знакомы с понятием «дерево» применительно к системе файлов на дисках компьютера. Многим из них известен смысл понятия «родословное дерево».
Подводя итог, можно сказать, что второй уровень изучения темы «Введение в информационное моделирование» более подробно раскрывает суть системного анализа, знакомит учащихся с таким важным инструментом формализации, как графы.
Третий, углубленный уровень изучения общих вопросов моделирования можно характеризовать как переход от ознакомительного обучения к выработке навыков активного использования методов системного анализа.
Дидактические цели:
• Научить учеников рассматривать окружающие объекты как системы взаимосвязанных элементов; осознавать, в чем проявляется системный эффект в результате объединения отдельных элементов в единое целое.
• Раскрыть смысл модели «черного ящика». Этот подход характерен для кибернетики и применяется он в тех случаях, когда внутреннее устройство системы не раскрывается, а система рассматривается лишь с точки зрения ее взаимодействия с окружающей средой. В таком случае основными понятиями, характеризующими систему, являются не ее состав и структура, а ее «входы» и «выходы».
• Дать представление о некоторых методах системного анализа, в частности, декомпозиции, классификации.
• Научить читать информационные модели, представленные в виде графов и строить граф-модели.
• Научить учеников разбираться в различных типах таблиц, подбирать наиболее подходящий тип таблицы для организации данных, грамотно оформлять таблицы.
Содержательная линия формализации и моделирования выполняет в базовом курсе информатики важную педагогическую задачу: развитие системного мышления учащихся. Эффективная работа с большими объемами информации невозможна без навыков ее систематизации. Компьютер предоставляет пользователю удобные инструменты для этой работы, но систематизацию данных пользователь должен выполнять сам.
Информационное моделирование — это прикладной раздел информатики, связанный с самыми разнообразными предметными областями: техникой, экономикой, естественными и общественными науками и пр. Поэтому практическим решением задач моделирования занимаются специалисты в соответствующих областях. В рамках школьного курса информатики информационное моделирование может быть предметом профильного курса, смежного с другими школьными дисциплинами: физикой, биологией, экономикой и др. Базовый курс информатики дает лишь начальные понятия о моделировании, систематизации данных, знакомит с компьютерными технологиями, применяемыми для информационного моделирования.
Линия моделирования и базы данных
Изучаемые вопросы:
• Признаки компьютерной информационной модели.
• Является ли база данных информационной моделью.
• Задачи, решаемые на готовой базе данных.
• Проектирование базы данных (БД) — задача для углубленного курса.
Общая схема этапов решения практической задачи на ЭВМ методами информационного моделирования выглядит следующим образом (рис. 1):
Два первых этапа относятся к предметной области решаемой задачи. На третьем этапе происходит выбор подходящего инструментального средства в составе программного обеспечения ЭВМ для реализации модели. Такими средствами могут быть: электронные таблицы, СУБД, системы программирования, математические пакеты, специализированные системы моделирования общего назначения или ориентированные на данную предметную область. В базовом курсе информатики изучаются первые три из перечисленных программных средств.
Основные признаки компьютерной информационной модели:
• наличие реального объекта моделирования;
• отражение ограниченного множества свойств объекта по принципу целесообразности;
• реализация модели с помощью определенных компьютерных средств;
• возможность манипулирования моделью, активного ее использования.
Ответ на вопрос: «является ли база данных информационной моделью?» будем искать, исходя их сформулированных выше критериев.
Первый критерий: наличие предметной области, некоторого реального объекта (системы), к которым относится БД, практически всегда выполняется. Например, если в БД содержатся сведения о книгах в библиотеке, значит, объектом моделирования является книжный фонд библиотеки. Если БД содержит анкетные данные сотрудников предприятия, значит, она моделирует кадровый состав этого предприятия. Если в БД хранятся сведения о результатах сдачи экзаменов абитуриентами в институт, следовательно, она моделирует процесс вступительных экзаменов и т. п.
Удовлетворение второму критерию также несложно обосновать. Каждый из моделируемых объектов (как перечисленные выше, так и любые другие) обладает гораздо большим числом свойств, характеристик, атрибутов, чем те, что отражены в БД. Отбор атрибутов, включаемых в БД, происходит в процессе проектирования базы, когда главным критерием является критерий целесообразности, т. е. соответствия цели создания БД, требованиям к ее последующим эксплуатационным свойствам. Например, в БД книжного фонда библиотеки не имеет смысла вносить такие характеристики книги, как ее вес, адрес типографии, где была напечатана книга, годы жизни автора и пр.
Третий критерий, очевидно, выполняется, поскольку речь идет о компьютерной базе данных, созданной в среде некоторой СУБД.
База данных — не «мертвое хранилище» информации. Она создается для постоянного, активного использования хранящейся в ней информации. Прикладные программы или СУБД, обслуживающие базу данных, позволяют ее пополнять, изменять, осуществлять поиск информации, сортировку, группировку данных, получение отчетных документов и пр. Таким образом, четвертый критерий компьютерной информационной модели также справедлив для БД.
В рамках обсуждаемой темы перед учителем информатики стоят две педагогические задачи: научить использовать готовые информационные модели; научить разрабатывать информационные модели. В минимальном варианте изучения базового курса предпочтение отдается первой задаче. В таком варианте ученикам могут быть предложены задачи следующего типа: имеется готовая база данных; требуется осуществить поиск нужной информации;
выполнить сортировку данных по некоторому ключу; сформировать отчет с нужной информацией. Решение этой задачи не требует вмешательства в готовую модель.
Другой тип задач: расширить информационное содержание базы данных. Например, имеется реляционная база данных, содержащая сведения о книгах в библиотеке:
БИБЛИОТЕКА (НОМЕР, ШИФР, АВТОР, НАЗВАНИЕ)
Требуется изменить структуру БД таким образом, чтобы из нее можно было узнать, находится ли книга в настоящее время в библиотеке, и если книга выдана, то когда и кому.
Новые цели требуют внесения изменений в модель, в структуру базы данных. Ученики должны спланировать добавление новых полей, определить их типы. Решение может быть таким: после добавления полей база данных будет иметь следующую структуру:
БИБЛИОТЕКА (НОМЕР, ШИФР, АВТОР, НАЗВАНИЕ, НАЛИЧИЕ, ЧИТАТЕЛЬ, ДАТА)
Здесь добавлены поля:
— НАЛИЧИЕ — поле логического типа; принимает значение True, если книга находится в библиотеке, и значение False, если выдана читателю;
— ЧИТАТЕЛЬ — поле числового (или символьного) типа; содержит номер читательского билета человека, взявшего книгу;
— ДАТА — поле типа «дата»; указывает день выдачи книги.
Несмотря на все сказанное выше, не следует преувеличивать в интерпретации каждого задания на работу с базой данных, как задачи моделирования. И на минимальном уровне изучения темы можно предлагать ученикам простые задачи на разработку баз данных, решение которых очевидно. К числу таких задач, например, относится задача разработки баз данных типа записной книжки с адресами знакомых, телефонного справочника и пр.
Проектирование баз данных. Проектирование базы данных заключается в теоретическом построении информационной модели определенной структуры. Известны три основные структуры, используемые при организации данных в БД: иерархическая (деревья), сетевая и табличная (реляционная). В последнее время чаще всего создаются БД реляционного типа. Доказано, что табличная структура является универсальной и может быть применена в любом случае. В базовом курсе информатики изучаются базы данных реляционной структуры.
Если объект моделирования представляет собой достаточно сложную систему, то проектирование БД становится нетривиальной задачей. Для небольших учебных БД ошибки при проектировании не столь существенны. Но если создается большая база, в которой будут сохраняться многие тысячи записей, то ошибки при проектировании могут стоить очень дорого. Основные последствия неправильного проектирования — избыточность информации, ее противоречивость, потеря целостности, т.е. взаимосвязи между данными. В результате БД может оказаться неработоспособной и потребовать дорогостоящей переделки.
Теория реляционных баз данных была разработана в 1970-х гг. Е.Коддом. Он предложил технологию проектирования баз данных, в результате применения которой в полученной БД не возникает отмеченных выше недостатков. Сущность этой технологии сводится к приведению таблиц, составляющих БД, к третьей нормальной форме. Этот процесс называется нормализацией данных: сначала все данные, которые планируется включить в БД, представляются в первой нормальной форме, затем преобразуются ко второй и на последнем шаге — к третьей нормальной форме. Проиллюстрируем процесс нормализации данных на примере.
Ставится задача: создать БД, содержащую сведения о посещении пациентами поликлиники своего участкового врача. Сначала строится одна таблица, в которую заносятся фамилия пациента, его дата рождения, номер участка, к которому приписан пациент, фамилия участкового врача, дата посещения врача и установленный диагноз болезни. Ниже приведен пример такой таблицы.
Таблица 2
БД «Поликлиника»
Нетрудно понять недостатки такой организации данных. Во-первых, очевидна избыточность информации: повторение даты рождения одного и того же человека, повторение фамилии врача одного и того же участка. В такой БД велика вероятность иметь недостоверные, противоречивые данные. Например, если на втором участке сменится врач, то придется просматривать всю базу и вносить изменения во все записи, относящиеся к этому участку. При этом велика вероятность что-то пропустить. После каждого нового посещения пациентом больницы потребуется снова вводить его дату рождения, номер участка, фамилию врача, т.е. информацию, уже существующую в БД.
Полученная таблица соответствует первой нормальной форме. Для устранения отмеченных недостатков требуется ее дальнейшая нормализация. Структура такой таблицы (отношения) описывается следующим образом:
ПОЛИКЛИНИКА (ФАМИЛИЯ, ДАТА_РОЖДЕНИЯ, УЧАСТОК, ВРАЧ, ДАТА ПОСЕЩЕНИЯ, ДИАГНОЗ)
Необходимо установить ключ записей. Здесь ключ составной, который включает в себя два поля: ФАМИЛИЯ и ДАТА_ПОСЕЩЕНИЯ. Каждая запись — это информация о конкретном посещении пациентом больницы. Если допустить, что в течение одного дня данный пациент может сделать только один визит к участковому врачу, то в разных записях не будет повторяться комбинация двух полей: фамилии пациента и даты посещения врача.
Согласно определению второй нормальной формы, все неключевые поля должны функционально зависеть от полного ключа. В данной таблице лишь ДИАГНОЗ определяется одновременно фамилией пациента и датой посещения. Остальные поля связаны лишь с фамилией, т. е. от даты посещения они не зависят. Для преобразования ко второй нормальной форме таблицу нужно разбить на две следующие:
ПОСЕЩЕНИЯ (ФАМИЛИЯ, ДАТА ПОСЕЩЕНИЯ, ДИАГНОЗ)
ПАЦИЕНТЫ (ФАМИЛИЯ, ДАТА_РОЖДЕНИЯ, УЧАСТОК, ВРАЧ)
В отношении ПОСЕЩЕНИЯ по-прежнему действует составной ключ из двух полей, а в отношении ПАЦИЕНТЫ — одно ключевое поле ФАМИЛИЯ.
Во втором отношении имеется так называемая транзитивная зависимость. Она отображается следующим образом:
Значение поля ВРАЧ связано с фамилией пациента транзитивно через поле УЧАСТОК. В самом деле, всякий участковый врач приписан к своему участку и обслуживает больных, относящихся к данному участку.
Согласно определению третьей нормальной формы в отношении не должно быть транзитивных зависимостей. Значит, требуется еще одно разбиение отношения ПАЦИЕНТЫ на два отношения.
В итоге получаем базу данных, состоящую из трех отношений:
ПОСЕЩЕНИЯ (ФАМИЛИЯ, ДАТА ПОСЕЩЕНИЯ, ДИАГНОЗ)
ПАЦИЕНТЫ (ФАМИЛИЯ, ДАТА_РОЖДЕНИЯ, УЧАСТОК)
ВРАЧИ (УЧАСТОК, ВРАЧ)
В третьем отношении ключом является номер участка, поскольку он повторяться не может. В то же время возможна ситуация, когда один врач обслуживает больше одного участка. Полученная структура БД удовлетворяет требованиям третьей нормальной формы: в таблицах все неключевые поля полностью функционально зависят от своих ключей и отсутствуют транзитивные зависимости.
Еще одним важным свойством полученной БД является то, что между тремя отношениями существует взаимосвязь через общие поля. Отношения ПОСЕЩЕНИЯ и ПАЦИЕНТЫ связаны общим полем ФАМИЛИЯ. Отношения ПАЦИЕНТЫ и ВРАЧИ связаны через поле УЧАСТОК. Для связанных таблиц существует еще одно понятие: тип связи. Возможны три варианта типа связей: «один — к—одному», «один—ко—многим», «многие — ко — многим». В нашем примере между связанными таблицами существуют связи типа «один — ко — многим», и схематически они отображаются так:
продолжение
--PAGE_BREAK--
Смысл следующий: у каждого врача (на каждом участке) много пациентов; каждый пациент посещает врача множество раз.
В приведенном примере показана процедура нормализации в строгом соответствии с теорией реляционных баз данных. Понимание смысла этой процедуры очень полезно для учителя.
На примере приведенной выше таблицы ПОЛИКЛИНИКА нужно увидеть три различных типа объектов, к которым относится данная информация: это пациенты поликлиники, врачи и посещения пациентами врачей. Соответственно строятся три таблицы, содержащие атрибуты, относящиеся к этим трем типам объектов и связанные между собой через общие поля.
Информационное моделирование и электронные таблицы
Изучаемые вопросы:
• Что такое математическая модель.
• Понятия: компьютерная математическая модель, численный эксперимент.
• Пример реализации математической модели на электронной таблице.
Электронные таблицы являются удобной инструментальной средой для решения задач математического моделирования.
Что же такое математическая модель? Это описание состояния или поведения некоторой реальной системы (объекта, процесса) на языке математики, т.е. с помощью формул, уравнений и других математических соотношений. Характерная конфигурация всякой математической модели представлена на рис. 2.
Рис.2. Обобщенная структура математической модели
Здесь Х и У — некоторые количественные характеристики моделируемой системы.
Реализация математической модели — это применение определенного метода расчетов значений выходных параметров по значениям входных параметров. Технология электронных таблиц — один из возможных методов реализации математической модели. Другими методами реализации математической модели может быть составление программ на языках программирования, применение математических пакетов (MathCAD, Математика и др.), применение специализированных программных систем для моделирования. Реализованные такими средствами математические модели будем называть компьютерными математическими моделями.
Цель создания компьютерной математической модели — проведение численного эксперимента, позволяющего исследовать моделируемую систему, спрогнозировать ее поведение, подобрать оптимальные параметры и пр.
Итак, характерные признаки компьютерной математической модели следующие:
• наличие реального объекта моделирования;
• наличие количественных характеристик объекта: входных и выходных параметров;
• наличие математической связи между входными и выходными параметрами;
• реализация модели с помощью определенных компьютерных средств.
В качестве примера использования электронных таблиц для математического моделирования рассмотрим задачу о выборе места строительства железнодорожной станции из учебников.
Условие задачи. Пять населенных пунктов расположены вблизи прямолинейного участка железной дороги. Требуется выбрать место строительства железнодорожной станции, исходя из следующего критерия: расстояние от станции до самого удаленного пункта должно быть минимально возможным.
Для решения задачи выбирается система координат, в которой ось Х направлена по железнодорожной линии. В этой системе задаются координаты населенных пунктов. Допустим, что расстояние между самыми удаленными в направлении оси Х пунктами равно 10 км. Начало координат выберем так, чтобы Х-координата самого левого пункта была равна 0. Тогда Х-координата самого правого пункта будет равна 10. Пусть координаты всех населенных пунктов в этой системе будут следующими:
1 — (0, 6); 2 — (2, 4); 3 — (5, -3); 4 — (7, 3); 5 — (10, 2).
В данном списке указан порядковый номер пункта и его координаты.
Ниже приводится проект электронной таблицы (табл. 10.3), решающей эту задачу.
Таблица 3
А
В
С
D
Е
F
G
Н
I
1
Шаг=
2
км
2
Координаты
Положение
станции
3
№
X
У
0
DЗ+$Е$1
ЕЗ+$Е$1
FЗ+$Е$1
C3+$Е$1
НЗ+$Е$1
4
1
0
6
К(1,1)
R(1,2)
R(1,3)
R(1,4)
R(1,5)
R(1,6)
5
2
2
4
R(2,1)
R(2,2)
R(2,3)
R(2,4)
R(2,5)
R(2,6)
6
3
5
-3
R(3,1)
R(3,2)
R(3,3)
R(3,4)
R(3,5)
R(3,6)
7
4
7
3
R(4,1)
R(4,2)
R(4,3)
R(4,4)
R(4,5)
R(4,6)
8
5
10
2
R(5,1)
R(5,2)
R(5,3)
R(5,4)
R(5,5)
R(5,6)
9
Макс.:
Мах (D4.-D8)
Мах (Е4.-Е8)
Мах (F4.-F8)
Мах (G4:G8)
Мах (Н4: Н8)
Мах (I4:I8)
10
Миним.
расст.:
Min (D9:D9)
Для решения задачи применяется метод дискретизации: на участке железной дороги, ограниченном Х координатами от 0 до 10, рассматривается конечное число возможных положений станции, отстоящих друг от друга на равных расстояниях (шаг дискретизации). Для каждого положения станции вычисляются расстояния до каждого населенного пункта и среди них выбирается наибольшее расстояние. Искомым результатом является положение станции, соответствующее минимальному из этих выбранных величин.
Очевидно, что точность найденного решения зависит от шага перемещения станции (шага дискретизации). В приведенной таблице идя уменьшения ее размера выбран довольно грубый шаг, равный 2 км. Тогда на всем участке помещается 5 таких шагов и, следовательно, анализируется 6 возможных положений станции (включая положение, соответствующее Х= 0).
В табл. 3 формулы вычисления расстояний условно обозначены R(i,j). Здесь первый индекс обозначает номер населенного пункта (от 1 до 5), а второй — номер положения станции (от 1 до 6). Вот примеры некоторых формул на языке электронной таблицы МS Ехсеl:
R(1,1) = КОРЕНЬ(($В4-D$3)^2+$С4^2)
R(1, 2) = КОРЕНЬ(($B5D$3)^2+$C5^2) и т.д.
Таблица 4
А
В
С
D
Е
F
G
Н
I
1
Шаг=
2
км
2
Координаты
Положение
станции
3
№
X
У
0
2
4
6
8
10
4
1
0
6
6,00000
6,32456
7.21110
8,48528
10,00000
11,66190
5
2
2
4
4,47214
4,00000
4.47214
5,65685
7,21110
8,94427
6
3
5
-3
5,83095
4,24264
3.16228
3,16228
4,24264
5,83095
7
4
7
3
7,61577
5,83095
4.24264
3,16228
3,16228
4,24264
8
5
10
2
10,19800
8,24621
6.32456
4,47214
2,82843
2,00000
9
Макс.:
10,19800
8,24621
7.21110
8,48528
10,00000
11,66190
10
Миним.
расст.:
7.21110
В табл. 4 приведены числовые результаты расчетов решения данной задачи. Окончательный ответ следующий: железнодорожную станцию следует размещать в 4 км от начала координат. При этом самым удаленным от нее окажется населенный пункт номер 1 — на расстоянии 7,21 км. Следует иметь в виду, что полученный результат довольно грубый, поскольку его погрешность по порядку величины равна шагу (2 км).
Такой способ решения задачи оказывается, в некотором смысле, полуавтоматическим. Ученик приходит к окончательному ответу, анализируя полученную числовую таблицу. Визуально он определяет, какому положению станции соответствует (в каком столбце таблицы находится) найденное оптимальное расстояние 7,21 км. Если требуется уменьшить шаг дискретизации, то, изменив величину шага в ячейке Е1, нужно будет увеличивать число столбцов в расчетной таблице. Делается это легко, простым копированием столбцов. Максимальный размер электронной таблицы, хотя и ограничен, но все-таки достаточно большой (в Exsel — 256 столбцов). Правда, в этом случае придется подправить формулу в ячейке D10.
Все эти дополнительные проблемы компенсируются прозрачностью модели. Ученик видит все промежуточные результаты расчетов, видит весь механизм работы выбранной модели. Понятие вычислительного эксперимента становится для учеников более содержательным, более наглядным.
Электронная таблица — средство более высокого уровня, чем язык программирования. В то же время задача проектирования расчетной таблицы того же типа, что нами рассмотрена, совсем не тривиальна. Можно говорить о том, что язык электронных таблиц — это своеобразный язык программирования — язык табличных алгоритмов. Следовательно, этап алгоритмизации в табличном способе математического моделирования тоже присутствует. Большим достоинством электронных таблиц является возможность легко осуществлять графическую обработку данных, что бывает очень важным в математическом моделировании.
Моделирование знаний в курсе информатики
Изучаемые вопросы:
• Что такое база знаний.
• Различные типы моделей знаний.
• Логическая модель знаний и Пролог.
Среди разнообразных систем искусственного интеллекта наиболее распространенными являются экспертные системы. В основе экспертной системы лежит база знаний — модель знаний в определенной предметной области, представленная в формализованном виде и сохраненная в памяти компьютера.
Существуют различные типы моделей знаний. Наиболее известные из них — продукционная модель, семантическая сеть, фреймы, логическая модель.
Продукционная модель знаний построена на правилах (они называются продукциями), представляемыми в форме:
ЕСЛИ выполняется некоторое условиеТО выполняется некоторое действие
На основе поступающих данных экспертная система, анализируя имеющиеся правила, принимает решение о необходимых действиях. Например:
ЕСЛИ температура в помещении ≤15°ТО включить отопление
Продукционные модели часто используются в промышленных экспертных системах.
Семантические сети. Семантической сетью называется система понятий и отношений между ними, представленная в форме ориентированного графа. Это одна из наиболее гибких и универсальных форм моделей знаний. На рис. 3 приведен пример, представляющий в форме графа сведения, заключенные в предложении: «Петух Петя является птицей, и он умеет кукарекать».
Рис. 3. Пример семантической сети
Фреймы. Фрейм — это некоторый абстрактный образ, относящийся к определенному типу объектов, понятий. Фрейм объединяет в себе атрибуты (характеристики), свойственные данному объекту. Фрейм имеет имя и состоит из частей, которые называются слотами. Изображается фрейм в виде цепочки:
Имя фрейма = ...
Вот пример фрейма под названием «Битва»:
Битва =
Такое представление называется прототипом фрейма. Если же в слоты подставить конкретные значения, то получится экземпляр фрейма. Например:
Битва =
Слоты сами могут быть фреймами. Таким образом, возможны иерархии фреймов, сети фреймов. К фреймам применимо понятие наследования свойств. Для реализации моделей знаний с использованием фреймов хорошо подходит технология объектно-ориенированного программирования.
Логическая модель знаний представляет собой совокупность утверждений. О каждом утверждении можно сказать: истинно оно или ложно. Утверждения делятся на факты и правила. Совокупность фактов представляет собой базу данных, лежащую в основе базы знаний. Правила имеют форму «ЕСЛИ А, ТО Б» (здесь есть сходство с продукционной моделью). Механизм вывода основан на аппарате математической логики (он называется исчислением предикатов первого порядка). Прикладные возможности этой модели весьма ограничены. Логическая модель знаний лежит в основе языка ПРОЛОГ.
ПРОЛОГ является языком логического программирования. Как известно, в программировании для ЭВМ существует несколько различных направлений (парадигм): процедурное программирование, функциональное программирование, логическое программирование, объектно-ориентированное программирование. В языке Пролог реализована логическая парадигма. Однако в рамках базового курса информатики использование Пролога очень ограничено и о программировании, в полном смысле этого слова, здесь речи не идет. Пролог рассматривается лишь как средство построения несложных баз знаний логического типа. При таком подходе систему Пролог можно рассматривать как своеобразную систему управления базами знаний (по аналогии с СУБД). Она позволяет создавать базу знаний и обращаться к ней с запросами.
Реализации Пролога существуют для большинства компьютеров, доступных школам. Поэтому представляется возможным предлагать Пролог в качестве средства для практической работы по теме «Искусственный интеллект и моделирование знаний».
Требования к знаниям и умениям учащихся по линии формализации и моделирования
Учащиеся должны знать:
ü что такое модель; в чем разница между натурной и информационной моделью;
ü какие существуют формы представления информационных моделей (графические, табличные, вербальные, математические);
ü что такое реляционная модель данных; основные элементы реляционной модели: запись, поле, ключ записи;
ü что такое модель знаний, база знаний;
ü из чего строится логическая модель знаний;
ü какие проблемы решает раздел информатики «Искусственный интеллект»;
ü что такое система, системный анализ, системный подход;
ü что такое граф, элементы графа;
ü что такое иерархическая система и дерево;
ü состав базы знаний на Прологе;
ü как в Прологе представляются факты и правила;
ü как в Прологе формулируются запросы (цели).
Учащиеся должны уметь:
ü приводить примеры натурных и информационных моделей;
ü проводить в несложных случаях системный анализ объекта (формализацию) с целью построения его информационной модели;
ü ставить вопросы к моделям и формулировать задачи;
ü проводить вычислительный эксперимент над простейшей математической моделью;
ü ориентироваться в таблично-организованной информации;
ü описывать объект (процесс) в табличной форме для простых случаев;
ü различать декларативные и процедурные знания, факты и правила.
ü ориентироваться в информационных моделях на языке графов;
ü описать несложную иерархическую систему в виде дерева;
ü построить базу знаний на Прологе для простой предметной области (типа родственных связей);
продолжение
--PAGE_BREAK--
продолжение
--PAGE_BREAK--