Главная > Документ


1.1. Обзор направлений в информатике

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

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

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

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

2. Языковое программирование (ЯП) [Красилов86] - создание спецификаций заданий на программирование обработки языков, текстов и программ с помощью грамматики некоторого языка представления данных, фактов, программ и знаний для решения лингвистических заданий. Обычно и традиционно рассматриваются два сорта языков: ЕЯ и ФЯ с постепенной тенденцией развития ФЯ по направлению к ЕЯ. Первые классифицируются по профессиям, а ФЯ - по кластерам грамматик для методов программирования, которые формализованы в каждом ФЯ. Общий подход к ЯП был дан в гл.2. ЯП, если использовать ЕЯ, предназначено более всего для обслуживания гуманитарных наук.

3. Концептуальное программирование (КП) [Тыугу84] - создание определений и описаний понятий для выражения смысла и формы конкретных проблем относительно понятий, по описанию которых автоматически выводятся новые понятия или синтезируются программы построения новых понятий. В данном случае набор логических формул определяет последовательность определений величин, операций или композицию (суперпозицию) величин и операций, которые в свою очередь определяют последовательность действий при формировании требуемого понятия или его значения (подробнее проблемы были рассмотрены в гл.3). КП ближе всего продвинуто в сторону интеллектуализации и к ИП. КП включает такой сорт программирования как широко используемое объектно-ориентированное программирование (ООП). Современное его состояние отражает главным образом АП (см. п.6). Это легко объяснить тем обстоятельством, что ООП родилось в недрах АП. В связи с этим сложно выделить четкие границы между ООП и АП, этому сорту программирования более не уделяется внимания здесь. КП призвано обслуживать информатические науки.

4. Повторное использование и проектирование программ (ПИ) [Красилов91а] - тиражирование, адаптация, настройка, компиляция и генерация программ на основе имеющихся в библиотеках программных модулей и проектов программ (см. разд.4). ПИ призвано обслуживать главным образом искусствознание в самом широком смысле этого слова. Наибольшее применение ПИ получило при создании пакетов прикладных программ.

5. Логическое программирование (ЛП) [Хоггер88] - изучение и создание отношений и логических зависимостей для автоматического синтеза программ. В этом направлении программа выводится из спецификации проблемы на логическом языке с использованием методов построения доказательства теорем в интуиционистском, информатическом и др. исчисленьях. К настоящему времени накоплена значительная библиотека методов ЛП, основанных на языках Лисп и Пролог и на применениях ЭС. ЛП предназначено для обслуживания фундаментальных наук. ИП также скорее напоминает ЛП, как и КП. ЛП излагается и изучается в большинстве публикаций информатического направления.

6. Алгоритмическое программирование (АП) [Мейер82] - описание наборов операндов, операций и их последовательностей для выполнения и получения новых значений операндов. Известна сущность АП - это изобретание и формирование идентификаторов, последовательностей действий, представляемых с помощью идентификаторов, и потоков данных. Это направление является наиболее продвинутым в современной информатике. АП обслуживает технические и технологические науки.

7. Интеллектуальное программирование (ИП) [Лорьер90, Красилов90е] – это процесс ввода в ВМ знаний о предметной и проблемной областях и запроса пользователя, на основе которых логически выводится ответ. Ответ может быть представлен новыми фактами, выражениями или программами. ИП - основной вопрос, рассматриваемый в т.7, он связано с применением Интеллсист любой конфигурации.

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

НП - лингвосемиотические знания (символьные тексты),

ЯП - семантические знания (представления языков),

КП - концептуальные знания (формулировки определений понятий),

ПИ - фактографические знания (массивы и таблицы фактов),

ЛП - теоретические знания (логические исчисления),

АП - алгоритмические знания (записи действий),

ИП - кибернетические знания (записи любой природы о системах).

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

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

Здесь указан только примерный перечень критериев классификации. Другие критерии может сформировать любой, знающий или формирующий современные методологии программирования. Смысл классификации по сортам заключается в том, чтобы иметь возможность более точно описать саму методологию программирования. Как уже было отмечено, данная выше классификация направлений в информатике рассматривает идеальные случаи использования ВМ. Реальные задания машине представляют собой сложные комбинации указанных в классификации приемов и способов кодирования информации с целью ее обработки. Наглядный пример тому - это компьютерные игры [Арсак90, Громов87, Компьютер88, Минскин87], при создании и использовании которых применяются почти все указанные сорта программирования и направления информатики. Любая абстракция имеет вполне определенное назначение: обнаружить достигнутое и найти неизвестное.

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

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

1.2. Способы определения методов в информатике

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

- синтаксические или лингвистические приемы построения формальных или неформальных грамматик,

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

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

- прагматические приемы формирования ограничительных требований и наборов фактического материала,

- формульные и смысловые приемы построения соотношений и содержательных объяснений вещей,

- предметные приемы построения и формирования примеров и иллюстраций,

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

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

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

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

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

1.3. Методы в информатике

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

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

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

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

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

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

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

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

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

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

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

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

НП действительно является (надо сказать несколько точнее - напоминает) программированием с определенным уровнем интеллекта по такому признаку как использование программы, отторгнутой от ее создателя. Прямой пользователь сам определяет что и как необходимо сделать для решения его проблемы. Средств в отторгнутой программе достаточно для выполнения своих или предписанных заданий. Конечно, необходимо принимать во внимание два обстоятельства: новые проблемы, кроме тех, которые представлены (запрограммированы) с помощью НП, решить сложно или невозможно. Решение новых проблем возможно только внешне, поскольку они не решалась до сих пор пользователем, но возможность ее решения уже была заложена в средства НП, в его инструментарий. Качественно новая проблема может быть решена средствами НП, если будет изготовлен его инструментарий или пакет программ. Второе обстоятельство: ИП оснащено инструментарием, которое ориентировано на БЗ (класс проблем) и на создание запроса для решения каждой конкретной проблемы средствами ЯПП. Решение новой проблемы требует незначительных изменений в запросах.

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

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

Наглядное программирование (как процесс) расчленяется на этапы:

- идентификация данных в процессе обзора возможностей программы;

- выбор работы и ее инициализация;

- скрытая от пользователя интерпретация данных;

- автоматическое формирование макроопераций или макрокоманд;



Скачать документ

Похожие документы:

  1. Моу «якутский городской лицей» п у б л и ч н ы й о т ч ё т 2009-2010 г г

    Документ
    ... ПОЛНЫЕ СЕМЬИ НЕПОЛНЫЕ СЕМЬИ ОПЕКУНЫ МНОГОДЕТНЫЕ СЕМЬИ 487 ... Гин А. - исследовательские методы в обучении - технология внутриклассной ... Е.Н., учитель информатики Жиркова М.М., учитель информатики Замятина А.В., ... программы ЯГЛ, в том числе и в процессах ...
  2. Образовательная программа (61)

    Основная образовательная программа
    ... (в том числе ЕГЭ ... малообеспеченных семей, для ... и проектный методы, игровые методики ... 3 3 литература 2 2 2 2 2 2 иностранный язык 3 3 3 3 3 3 математика 5 5 5 5 5 5 информатика и ИКТ 1 1 1 1 2 1 история 2 2 2 2 2 2 обществознание 1 1 1 1 1 1 география 2 ...
  3. «создание единого информационного пространства»

    Программа
    ... информатики 1 13 1 1 1 Кабинет информатики 2 13 1 1 1 Кабинет информатики 3 13 1 1 1 Кабинет информатики 4 13 1 1 1 Кабинет информатики 5 11 1 1 1 Кабинет информатики ... исследовательские методы обучения ... незащищенных семей и ... курсов, в том числе с ...
  4. За 2011-2012 учебный год (7)

    Анализ
    ... Информатика 9 82 % Ветрова Т.А. Информатика 8 Б 93 % Ветрова Т.А. Информатика 10 А 100 % Ветрова Т.А. Информатика 10 Б 92 % Ветрова Т.А. Информатика ... методы, используемые для диагностики и определения категорий учащихся и их семей ... благодаря тому ...
  5. А а красилов информатика в семи томах том 1 основы информатики

    Книга
    ... ИНФОРМАТИКА В СЕМИТОМАХТом 1. Основы информатики (Введение в информатику) Москва 1997 - 2003 ИНФОРМАТИКАТом 1. Основы информатики (Введение в информатику) Том 2. Информатика смысла (Машинная лингвистика) Том ...

Другие похожие документы..