Декларативность: декларативные знания, характер и многое другое

Урок 1
Предмет информатики
Техника безопасности и правила поведения в компьютерном классе

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

Мир, окружающий нас, чрезвычайно разнообразен.

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

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

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

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

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

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

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

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

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

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

В конце XX — начале XXI века бурное развитие получили компьютерные телекоммуникации — глобальные компьютерные сети. Все вы, конечно, знаете про Интернет. Это мировая телекоммуникационная система. В последнее время для обозначения компьютерных методов хранения, обработки и передачи информации стали использовать термин информационно-коммуникационные технологии — ИКТ.

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

Итак, дорогие ученики! Вы начинаете плавание по новому для вас океану знаний, который называется ИНФОРМАТИКА. В этом океане вы откроете для себя новые «материки» и «острова», познакомитесь с их «обитателями», научитесь понимать их язык — язык информатики, получите практические навыки работы со средствами ИКТ.

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

Символически это имя записывается так: @.RU. Впрочем, он любит, чтобы его называли кратко: Точка-Ру. Так мы его и будем называть.

Перед началом путешествия Точка-Ру получил карту океана Информатики. На этой карте обозначены материки и острова. Но все они закрашены белым цветом. Пока это неизвестные, неисследованные земли. И нам вместе с капитаном предстоит подробно их изучить, заполнить «белые пятна».

Техника безопасности и санитарные нормы работы за ПК

Работая за компьютером, необходимо соблюдать определенные правила техники безопасности и санитарные нормы.

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

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

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

Обязательно делайте паузы для отдыха после 30-40 минут непрерывной работы. В это время следует проветривать помещение.

Информация и знания

Основные темы параграфа:

— сообщения — знания — информация;
— классификация знаний;
— информативность сообщений.

Изучаемые вопросы:

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

Декларативный характер

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

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

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

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

Особенности алгоритмических познаний

Процедурные знания еще называют алгоритмическими. Они отвечают на следующие вопросы:

  1. Как лучше выполнить что-либо?
  2. Как избежать классических ошибок при выполнении?

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

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

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

Императивный код

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

Начался еще в 1949 году с некого Ассемблера. По мере развития технологий продолжился в самых популярных сегодня языках программирования: Java, C, C++. Сюда можно отнести объектно-ориентированные интерпретации.

У императивного программирования наблюдаются следующие характерные черты:

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

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

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

Примеры декларативных и процедурных знаний

Яблоко зеленое — это декларативное знание. Футбольное поле — тоже. Но яблоко может быть не только зеленым, да и не яблоком вовсе. Чтобы отличить настоящее яблоко от изготовленного из воска, потребуется знание того, как оно выглядит в реальности и другие отличия (запах, текстура, форма).

декларативные знания примеры я знаю что

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

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

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

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

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

Процедурное программирование против объектно-ориентированного программирования: сравнение между собой

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

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

Интеллектуальные системы и знания

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

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

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

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

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

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

Однако известно, что в период очередной волны интереса к искусственному интеллекту была создана программа, которая имитировала ситуативную стадию интеллекта человека («Лиси»). Разработчик позиционировал её как систему накопления ситуативных (декларативных) и репродуцирующих (процедурных) знаний и самостоятельного их применения. Чему научилась, то и сделала.

К системе имели доступ другие разработчики. Автор обучил ее простым знаниям: «мама», «мяч», «играть», «скажи папа», «мяч круглый» и другое. Коллеги по работе решили иначе и научили «Лиси» математике: 1+1 = 1; 1 x 0 = 0; 2 x 0= 0.

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

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

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

Знания делятся на декларативные и процедурные .

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

Но всякое ли сообщение несет для нас информацию?

Сообщение на китайском языке пополняет наши знания?

Нет, т.к. непонятно.

Сообщение «Дважды два – четыре» пополняет наши знания?

Нет, т.к. не содержит новых сведений.

Вывод: Сообщение содержит информацию для человека (является информативным), если содержащиеся в нем сведения являются новыми и понятными.

Интеллектуальные системы и знания

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

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

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

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

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

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

Однако известно, что в период очередной волны интереса к искусственному интеллекту была создана программа, которая имитировала ситуативную стадию интеллекта человека («Лиси»). Разработчик позиционировал её как систему накопления ситуативных (декларативных) и репродуцирующих (процедурных) знаний и самостоятельного их применения. Чему научилась, то и сделала.

К системе имели доступ другие разработчики. Автор обучил ее простым знаниям: «мама», «мяч», «играть», «скажи папа», «мяч круглый» и другое. Коллеги по работе решили иначе и научили «Лиси» математике: 1+1 = 1; 1 x 0 = 0; 2 x 0= 0.

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

Структуризация предметной области на основе иерархии классов

Структуризация общей задачи на связанные подзадачи

Этап III. Формализация

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

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

1) структуризация общей задачи на связанные подзадачи;

2) структуризация предметной области на основе иерархии классов;

3) структуризация знаний на декларативные и процедурные;

4) структуризация приложения на основе иерархии «часть/целое».

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

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

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

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

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

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

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

По форме описания знания подразделяются на:

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

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

4. Структуризация приложения на основе иерархии «часть/целое»

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

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector