Понятие информации, данных, знаний

1234

18.

Понятие алгоритма

Алгоритм может быть предназначен

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

алгоритма, пусть даже самого простого, - процесс творческий. Он доступен

исключительно живым существам, а долгое время считалось, что только

человеку. Другое дело - реализация уже имеющегося алгоритма. Ее можно

поручить субъекту или объекту, который не обязан вникать в существо дела, а

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

называть формальным исполнителем. Примером формального исполнителя может

служить стиральная машина-автомат, которая неукоснительно исполняет

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

Человек тоже может выступать в роли формального исполнителя, но в первую

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

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

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

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

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

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

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

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

средой того или иного исполнителя могут быть числа разной природы -

натуральные, действительные и т.п., буквы, буквенные выражения, уравнения,

тождества и т.п.

Такими свойствами являются:

Дискретность (прерывность, раздельность) - алгоритм должен представлять

процесс решения задачи как последовательное выполнение простых (или ранее

определенных) шагов. Каждое действие, предусмотренное алгоритмом,

исполняется только после того, как закончилось исполнение предыдущего.

Определенность - каждое правило алгоритма должно быть четким, однозначным и

не оставлять места для произвола. Благодаря этому свойству выполнение

алгоритма носит механический характер и не требует никаких дополнительных

указаний или сведений о решаемой задаче.

Результативность (конечность) - алгоритм должен приводить к решению задачи

за конечное число шагов.

Массовость - алгоритм решения задачи разрабатывается в общем виде, то есть,

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

исходными данными. При этом исходные данные могут выбираться из некоторой

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

Правила построения алгоритма,



или о требованиях, предъявляемых к алгоритму.

Первое правило – при построении алгоритма прежде всего необходимо задать

мно-жество объектов, с которыми будет работать алгоритм. Формализованное (

закодирован-ное ) представление этих объектов носит название данных.

Алгоритм приступает к работе с некоторым набором данных, которые называются

входными, и в результате своей рабо-ты выдает данные, которые называются

выходными. Таким образом, алгоритм пре-образует входные данные в выходные.

Это правило позволяет сразу отделить алгоритмы от “методов” и “способов”.

Пока мы не имеем формализованных входных данных, мы не можем построить

алгоритм.

Второе правило – для работы алгоритма требуется память. В памяти

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

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

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

Поименованная ячейка памяти носит на-звание переменной. В теории алгоритмов

размеры памяти не ограничиваются, т. е. счита-ется, что мы можем

предоставить алгоритму любой необходимый для работы объем памяти.

Практическая работа с алгоритмами ( программирование ) начинается

именно с реализации этих правил. В языках программирования распределение

памяти осуществляется декларативными операторами ( операторами описания

переменных ). В языке Бейсик не все переменные описываются, обычно

описываются только массивы. Но все равно при запуске программы транслятор

языка анализирует все идентификаторы в тексте программы и отводит память

под соответствующие переменные.

Третье правило – дискретность. Алгоритм строится из отдельных шагов

(действий, операций, команд). Множество шагов, из которых составлен

алгоритм, конечно.

Четвертое правило – детерменированность. После каждого шага необходимо

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

Пятое правило – сходимость ( результативность ). Алгоритм должен завершать

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

считать результатом работы алгоритма.

Итак, алгоритм – неопределяемое понятие теории алгоритмов. Алгоритм каждому

определенному набору входных данных ставит в соответствие некоторый набор

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

конкретных вопросов в теории алгоритмов всегда имеется в виду какая-то

конкретная модель алгоритма.

Любая работа на компьютере – это есть обработка информации. Работу

компьютера можно схематически изобразить следующим образом:

[pic]

“Информация” слева и “информация” справа – это разные информации. Компьютер

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

новую информацию. Информация, с которой работает компьютер, носит название

“данные”.

Компьютер преобразует информацию по определенным правилам. Эти правила

(операции, команды ) заранее занесены в память компьютера. В совокупности

эти правила преобразования информации называются алгоритмом. Данные,

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

работы компьютера – выходные данные. Таким образом, алгоритм преобразует

входные данные в выходные:

[pic]

Компьютер ( по-английски означает вычислитель, на русском языке

– ЭВМ, электронная вычислительная машина ) был создан как раз для

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

При решении любой математической задачи мы составляем

алгоритм решения. Но прежде мы сами и выполняли этот алгоритм, то есть

доводили решение до ответа. Теперь же мы будем только писать, что нужно

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

алгоритм будет представлять собой набор указаний ( команд ) компьютеру.

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

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

Поэтому каждая команда алгоритма должна включать указание, в какую

переменную записывается результат.

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

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

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

Трактовка работы алгоритма как преобразования входных данных в выходные

естественным образом подводит нас к рассмотрению понятия “постановка

задачи”. Для того, чтобы составить алгоритм решения задачи, необходимо из

условия выделить те величины, которые будут входными данными и четко

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

условие задачи требуется сформулировать в виде “Дано ... Требуется” – это и

есть постановка задачи.

Алгоритм применительно к вычислительной машине – точное предписание,

т.е. набор операций и правил их чередования, при помощи которого, начиная с

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

Виды алгоритмов как логико-математических средств отражают указанные

компоненты человеческой деятельности и тенденции, а сами алгоритмы в

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

определения действий исполнителя подразделяются следующим образом:

. Механические алгоритмы, или иначе детерминированные, жесткие (например

алгоритм работы машины, двигателя и т.п.);

. Гибкие алгоритмы, например стохастические, т.е. вероятностные и

эвристические.

Механический алгоритм задает определенные действия, обозначая их в

единственной и достоверной последовательности, обеспечивая тем самым

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

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

Вероятностный (стохастический) алгоритм дает программу решения задачи

несколькими путями или способами, приводящими к вероятному достижению

результата.

Эвристический алгоритм (от греческого слова “эврика”) – это такой

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

однозначно не предопределено, так же как не обозначена вся

последовательность действий, не выявлены все действия исполнителя. К

эвристическим алгоритмам относят, например, инструкции и предписания. В

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

принятия решений, основанные на аналогиях, ассоцияциях и прошлом опыте

решения схожих задач.

Линейный алгоритм – набор команд (указаний), выполняемых последовательно во

времени друг за другом.

Разветвляющийся алгоритм – алгоритм, содержащий хотя бы одно условие, в

результате проверки которого ЭВМ обеспечивает переход на один из двух

возможных шагов.

Циклический алгоритм – алгоритм, предусматривающий многократное повторение

одного и того же действия (одних и тех же операций) над новыми исходными

данными. К циклическим алгоритмам сводится большинство методов вычислений,

перебора вариантов.

Цикл программы – последовательность команд (серия, тело цикла), которая

может выполняться многократно (для новых исходных данных) до удовлетворения

некоторого условия.

Вспомогательный (подчиненный) алгоритм (процедура) – алгоритм, ранее

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

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

(команд) для различных данных с целью сокращения записи также выделяют

вспомогательный алгоритм.

На всех этапах подготовки к алгоритмизации задачи широко используется

структурное представление алгоритма.

Структурная (блок-, граф-) схема алгоритма – графическое изображение

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

перехода) блоков – графических символов, каждый из которых соответствует

одному шагу алгоритма. Внутри блока дается описание соответствующего

действия.

Графическое изображение алгоритма широко используется перед

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

восприятие обычно облегчает процесс написания программы, ее корректировки

при возможных ошибках, осмысливание процесса обработки информации.

Можно встретить даже такое утверждение: “Внешне алгоритм представляет собой

схему – набор прямоугольников и других символов, внутри которых

записывается, что вычисляется, что вводится в машину и что выдается на

печать и другие средства отображения информации “. Здесь форма

представления алгоритма смешивается с самим алгоритмом.

Принцип программирования “сверху вниз” требует, чтобы блок-схема поэтапно

конкретизировалась и каждый блок “расписывался” до элементарных операций.

Но такой подход можно осуществить при решении несложных задач. При решении

сколько-нибудь серьезной задачи блок-схема “расползется” до такой степени,

что ее невозможно будет охватить одним взглядом.

Блок-схемы алгоритмов удобно использовать для объяснения работы уже

готового алгоритма, при этом в качестве блоков берутся действительно блоки

алгоритма, работа которых не требует пояснений. Блок-схема алгоритма должна

служить для упрощения изображения алгоритма, а не для усложнения.

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

алгоритмы, сколько знание методов решения задач ( как и вообще в математике

) . Поэтому изучать нужно не программирование как таковое ( и не

алгоритмизацию ), а методы решения математических задач на компьютере.

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

(задачи на массивы, на символьные переменные и т. д. ), а по разделу

“Требуется”.

В информатике процесс решения задачи распределяется между двумя субъектами

: программистом и компьютером. Программист составляет алгоритм ( программу

), компьютер его исполняет. В традиционной математике такого разделения нет

, задачу решает один человек, который составляет алгоритм решения задачи и

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

представляется в виде набора элементарных операций, а в том, что процесс

решения задачи разбивается на два этапа : творческий ( программирование ) и

не творческий ( выполнение программы ). И выполняют эти этапы разные

субъекты – программист и исполнитель

Выполнение алгоритма – это автоматическое, бездумное выполнение операций. Человек

всегда действует осмысленно. Для того, чтобы человек мог выполнять какой-то

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

сможет выполнять только тогда, когда он понимает, как она выполняется.

Вот в этом – “ объяснение и понимание” – и кроется различие между понятиями

“алгоритм” и “способ”, “метод”, “правило”. Правила выполнения

арифметических операций – это именно правила ( или способы ), а не

алгоритмы.

Если есть процесс обучения, значит, мы

имеем дело не с алгоритмом, а с методом.

При составлении алгоритма программист никому ничего не объясняет, а

исполнитель не пытается ничего понять. Алгоритм размещается в памяти

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

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

памяти метод решения задачи в целом, а воплощает этот метод каждый по-

своему.

Понятие информации, данных, знаний

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

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

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

Информация - это:

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

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

· сведения о лицах, предметах, фактах, событиях, явлениях и процессах независимо от формы представления;

· сведения, неизвестные до их получения;

· значение, приписанное данным;

· Средство и Форма передачи знаний и опыта, сокращающая неопределенность и случайность и неосведомленность;

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

Данные это:

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

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

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

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

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

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

. Знания - это:

· вид информации, отражающей знания, опыт и восприятие человека - специалиста (эксперта) в определенной предметной области;

· множество всех текущих ситуаций в объектах данного типа и способы перехода от одного описания объекта к другому;

· осознание и толкование определенной информации, с учетом путей наилучшего ее использования для достижения конкретных целей, характеристиками знаний являются: внутренняя интерпретируемость, структурируемость, связанность и активность. Согласно [Информационные системы в экономике. А.В. Хорошилов и др. Москва.: МЭСИ, 1998], "знания есть факты плюс убеждения плюс правила”.

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

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

Понятие программы

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

Для разработки программ используются специальные языки.

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

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

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

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

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


1942339285127987.html
1942388849502626.html
    PR.RU™