Моделирование
Использование графов
Как вы знаете из § 4, системный подход состоит в том, что объект исследования (моделирования) рассматривается как система с учётом всех взаимосвязей между ее частями.
Модели могут обладать свойством системности, а могут не обладать. В таблице 2.1 приведены примеры моделей-«несистем» и моделей-систем для одних и тех же объектов.
Поскольку модель-система состоит из отдельных компонентов и связей между ними, можно говорить о структуре модели, т. е. о том, как именно связаны её компоненты. Далее мы рассмотрим наиболее важные структуры моделей-систем.
Табличные модели
Табличные модели используются тогда, когда нужно в наглядной форме представить информацию об объектах, имеющих одинаковый набор свойств (таблица типа «объект—свойства») (табл. 2.2).
В виде таблиц оформляются расписания (уроков, поездов, самолётов), статистические данные (например, сколько произведено чугуна и стали на душу населения в разных странах). Функция тоже может быть задана в виде таблицы. С помощью таблицы Менделеева устанавливается связь между свойствами химического элемента и зарядом атомного ядра.
Таблица может определять отношения между объектами (таблица типа «объект—объект»). Например, в табл. 2.3 показано, кто в каком городе живёт.
Таблицы — это основной способ хранения информации в базах данных. Кроме того, для обработки табличных данных предназначены специальные программы — табличные процессоры.
В учебнике для 10 класса было показано, как таблицы можно использовать при решении логических задач. Здесь мы рассмотрим ещё один тип задач, который требует анализа табличных данных: определение оптимального маршрута поездки.
Задача. Путешественник прибыл в посёлок Берёзовое в 8 утра по местному времени и увидел следующее расписание автобусов (табл. 2.4).
Определите самое раннее время, когда он может попасть в Полевое, и как ему нужно ехать.
Решение. Из расписания видно, что автобусы ходят между четырьмя населёнными пунктами. Нарисуем схему, показывающую все возможные способы переезда из посёлка Берёзовое в посёлок Полевое. Буквы в кружках обозначают посёлки (Б — Берёзовое, П — Полевое, Л — Лесное и О — Осиновое), а слева и справа от них записано время отправления и прибытия автобусов согласно расписанию (рис. 2.2).
Штриховыми линиями обозначены маршруты, на которые путешественник не успевает (поэтому дальнейшие варианты мы даже не рассматривали). Действительно, когда он приехал в Берёзовое в 8 утра, автобус в Лесное уже ушёл (в 7:30). Приехав в Осиновое в 14:10, он не успеет на автобус в Полевое, уходящий в 14:00.
Таким образом, остаются два варианта: ждать прямого автобуса в Полевое (прибытие в 17:50) или ехать с двумя пересадками через Осиновое и Лесное (прибытие в 17:30). Второй вариант позволяет доехать немного раньше.
Диаграммы
Воспринимая числовые данные, человек вынужден в уме анализировать эту информацию и делать выводы. Это требует значительных усилий, особенно если чисел много. Чтобы облегчить восприятие информации, её представляют в виде диаграмм (греч. Зкхурацца — рисунок, чертёж) — графических моделей, построенных по числовым данным, которые часто хранятся в таблицах.
Диаграммы позволяют быстро сравнить значения, увидеть изменения, сделать выводы на основании большого количества
Первыми диаграммами, с которыми вы работали на уроках математики, были графики функций. По горизонтальной оси откладываются значения аргумента, а по вертикальной — значения функции (рис. 2.3).
Рассмотрим таблицу, в которой записано количество разных домашних животных у трех жителей деревни (табл. 2.5).
Чтобы изобразить эти данные, можно использовать столбчатую диаграмму (гистограмму) (рис. 2.4).
Здесь на горизонтальной оси откладываются не числа, а заголовки строк (или столбцов) таблицы, они называются категориями.
Столбики одного цвета — это ряд данных, представляющий столбец таблицы. На этой диаграмме показаны три ряда данных — овцы, кролики и куры. Справа от диаграммы размещена легенда — список условных обозначений (цвет столбиков для каждого ряда).
На представленной диаграмме мы можем сразу увидеть ответы на вопросы типа «Каких животных больше всего у Аськина (Баськина, Сенькина)?».
По тем же данным можно построить ещё одну столбчатую диаграмму, у которой ряды данных размещаются не в столбцах, а в строках (рис. 2.5).
По этой диаграмме сразу видно, у кого больше овец (кроликов, кур). Таким образом, по одним данным можно построить разные диаграммы.
Тип диаграммы выбирается так, чтобы было лучше видно то, что хочет показать автор.
Таблицу 2.5 можно немного расширить, посчитав общее количество овец, кроликов и кур, а также общее количество животных у каждого жителя (табл. 2,6).
Всего получилось 28 животных, из них 7 овец, 7 кроликов и 14 кур. Чтобы наглядно показать доли составляющих в целом, используют круговые диаграммы (рис. 2.6). В данном случае четверть всех животных — овцы, еще четверть — кролики, и оставшаяся половина — куры.
Обратите внимание, что каждая из столбчатых диаграмм содержит ту же самую информацию, что и исходная таблица с данными, а круговая диаграмма — только итоги (по ней исходные данные восстановить невозможно).
Рассмотрим две задачи, в которых нужно анализировать данные, представленные в виде диаграмм.
Задача 1. Биологи пересчитали лосей, белок и зайцев участках заповедника и построили диаграмму (рис. 2.7).
Какая из следующих диаграмм правильно отражает соотношение общего числа животных разных видов по всему заповеднику(рис.2.8)?
Решение. Сначала нужно «снять» данные со столбчатой диаграммы и записать их в таблицу (табл. 2.7).
Теперь считаем, сколько было всего животных каждого вида их общее количество (табл. 2.8)
Поскольку было обнаружено по 60 лосей и белок, соответствующие секторы на круговой диаграмме должны быть равны. Этому условию удовлетворяют диаграммы б) и в). Кроме того, количество зайцев составляет четверть от общего числа животных, это условие выполняется для диаграмм а) и б). Таким образом, правильный ответ — б).
Задача 2. В некоторой фирме работают менеджеры, рабочие и охрана. Они ездят на машинах четырёх марок: «Лада», «Форд», «Тойота» и «Ауди», каждый имеет ровно одну машину. На диаграмме (а) показано количество работников, имеющих машины определённой марки, а на диаграмме (б) — соотношение менеджеров, рабочих и охраны (рис. 2.9).
Какие из этих утверждений следуют из анализа диаграмм:
а) все «Форды» могут принадлежать менеджерам;
б) все охранники могут ездить на «Ауди»;
в) все «Тойоты» могут принадлежать рабочим;
г) все рабочие могут ездить на «Фордах»?
Решение. Сначала по данным диаграммы 1 найдём общее количество работников фирмы:
10 + 40 + 30 + 20 = 100 человек.
Из второй диаграммы следует, что рабочие составляют половину от общего количества, т. е. 50, а менеджеры и охранники — по четверти, т. е. по 25 человек. Теперь рассмотрим предложенные утверждения:
а) все «Форды» {40 штук) не могут принадлежать менедже
рам, так как менеджеров только 25, и каждый имеет одну
машину;
б) все охранники (25 человек) не могут ездить на «Ауди», по
тому что этих машин всего 20;
в) все «Тойоты» (30 штук) могут принадлежать рабочим
(их 50 человек);
г) все рабочие (50 человек) не могут ездить на «Фордах»
(их всего 40 штук).
Таким образом, верно только утверждение в).
Иерархические модели
Иерархические модели (деревья) описывают многоуровневую структуру (вспомните материал 10 класса). Это может быть, например, схема управления фирмой, структура организации, классификация животных, файловая система, генеалогическое дерево (родословная) и т. п. Оглавление книги — тоже иерархическая модель (разделы, главы, параграфы, пункты). С помощью дерева можно задать порядок вычисления арифметического или логического выражения. Любую систему, состоящую из подсистем, можно представить в виде иерархии.
Отношения между уровнями могут быть самые разные. Например, в схеме управления — это отношение «подчиняется» (бухгалтер подчиняется директору), в классификации — отношение «подмножество» (подмножествами отряда Хищные являются подотряды Псообразные и Кошкообразные), при описании структуры — отношение «состоит из» (компьютер состоит из процессора, памяти и внешних устройств), в генеалогическом дереве — отношения «сын» («дочь») и «родитель».
В одной из рассмотренных выше задач исходная табличная модель оказалась неудобной для решения проблемы — поиска оптимального маршрута из посёлка Березовое в посёлок Полевое. Поэтому мы построили иерархическую модель (дерево), которая показывает все возможные маршруты. После этого сразу стало ясно, какой маршрут будет наилучшим.
Сетевые модели
В сетевых моделях (графах) каждый узел может быть связан со всеми другими. Знакомые вам сетевые модели — это схемы дорог, компьютерных сетей, электрических цепей.
Графы позволяют очень наглядно представить информацию, однако они неудобны для автоматической обработки. Поэтому в памяти компьютера информация о графах обычно хранится в виде табличных моделей — матриц смежности и весовых матриц (вспомните материал учебника для 10 класса).
Сетевые модели широко применяются для планирования производства, есть даже специальный термин «сетевое планирование*. Предположим, что изготовление аппарата МУХ-8-ККВ включает 8 операций, причём некоторые из них можно выполнять одновременно. Чтобы определить время изготовления, строят схему (граф, сеть), на которой узлы обозначают события (когда можно начинать очередную операцию), дуги — работы, а числа
около дуг (веса) — длительность этих работ, например, в днях (рис. 2.10).
По этой схеме видно, что в самом начале можно выполнять три работы параллельно. Чтобы начать работу Г-Д, нужно закончить работы А-Г и Б~Г, на это требуется 5 дней. Чтобы выполнить последнюю операцию и получить готовое изделие, нужно закончить работы Г-Д и В~Д, на это требуется 8 дней. Поэтому аппарат будет готов только через 9 дней с момента начала работ.
Для представления знаний применяют специальные сетевые модели, которые называются семантическими сетями (семантика изучает смысл сообщений). В них узлы — это объекты (понятия, процессы, явления), а дуги — связи (отношения) между ними (рис. 2.11)
Семантические сети наглядны, с их помощью удобно анализировать фразы на естественном языке, они соответствуют современным представлениям об организации памяти человека. Однако пока такие структуры плохо приспособлены для автоматической обработки информации и поиска решений.
Сейчас делаются попытки на основе сети Интернет создать семантическую паутину — распределённую базу знаний. Для этого в веб-страницы нужно будет добавить специальную смысловую информацию, понятную компьютерным системам (так называемые метаданные).