Название: Вопросно-ответное программирование человеко-компьютерной деятельности( Соснин П.И.)

Жанр: Информационные системы и технологии

Просмотров: 1878


1.3. программирование в решение задач

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

Если  пользоваться  терминологией  компьютерного программирования, то естественный язык в действиях по решению задач Z предоставляет следующие возможности:1.            Описать задачную ситуацию, включив в описание:  представление ситуации St(t0),  затребовавшей от  субъекта Sbiактивизации его деятельностных «сил»;  протокол     попыток     обращения     к      доступному     опыту с регистрацией тех прецедентов, которые были вовлечены в проверки возможностей их повторного применения; уточнение    сложившейся    ситуации    St(t1),    включающее выявленную и собранную информацию, полезную для формулировки задачи и поиска её решения.2.   Создать исходное описание постановки задачи T(Z(t0)), выделив в описании: обобщённое представление целей искомого реагирования на задачную ситуацию;  специфику предусловий и постусловий;  особенности реализации   с позиций необходимых и доступных ресурсов.3. Провести концептуальный (понятийный) анализ исходной постановки задачи, зарегистрировав:  лексику текстовой информации с её понятийным содержанием;  названные в тексте T(Z(t0)) объекты, их свойства и отношения;  названные в T(Z(t0)) и/или действующие в предметной области задачи  природные  закономерности     и/или  закономерности  других типов.4.  Создать  на  базе  доступного  опыта  (доступных  прецедентов)описание (план,  схему, программу)    совокупности            действий        для

реагирования, способствующего полезному (задуманному, целевому, ожидаемому) выходу из задачной ситуации, то есть построить на естественно-профессиональном языке (концептуальное) решение задачи.5.            Создать           логическую    схему  условной        проверки        ситуаций,подобных задачной ситуации.6.    Создать           естественно-языковую         модель            прецедента,соответствующего концептуально решённой задаче.7. Создать логическую модель прецедента, соответствующего концептуально решённой задаче.8. «Вложить» естественно-языковую и/или логическую модель прецедента в опыт субъекта и/или модель опыта, которую субъект использует в своей (профессиональной) деятельности.Представленную  совокупность  действий  требуют  и/или рекомендуют выполнять профессиональным программистам до работ, связанных с построением компьютерных программ на алгоритмическом языке.Более того, для выполнения работ с п. 3 до п. 8 создают специализированные     языки      псевдокодового      программирования, в которых широко используются лексика естественного языка и его логика.А значит, действия с п. 1 по п. 8, нацеленные на построение концептуальных решений и их подготовку к повторным использованиям следует квалифицировать как программирование задачи Z на естественном языке в его алгоритмическом употреблении.Представленную активность по решению задач на базе естественного языка (с явным или неявным её разделением на названные действия, и, разумеется,  с личным опытом осуществления подобных действий) выполняет любой человек, если он оказывается в задачной ситуации.

Лучший   язык   программирования  –   это   естественный(естественно-профессиональный) язык.Аналогия проведена специально для того, чтобы утверждать, что каждый человек владеть умениями и навыками программирования, ориентированного на доступные ему прецеденты. Назовём такое программирование естественным, вкладывая в понятие естественное программирование, механизмы решения задач человеком, использующим естественно-языковые модели прецедентов.1.3.2. Естественное программированиеСущность естественного программирования определяет деятельность человека, оказавшегося в задачной ситуации  и пытающегося на базе естественного (естественно-профессионального) языка (в его алгоритмическом употреблении) решить осознанную им задачу, то есть построить на базе доступного опыта (доступных прецедентов) схему действий для выхода из ситуации с ожидаемыми последствиями.Насколько   такая   схема   окажется   результативной   и   пригодной в сложившейся ситуации и подобных ситуациях в будущем зависит от опыта субъекта, создавшего программу на естественном языке,   и от опыта субъекта, который будет выполнять эту программу.В основе естественного программирования конкретного человека лежат его интеллект и опыт, а конкретнее комбинаторика доступных прецедентов, управляемая личным опытом решения задач, то есть использованием        мета-прецедентов,        обеспечивающих        работу с прецедентами.В формировании личного опыта естественного программирования, с которым связаны естественные способности конкретного человека, выделяются две линии его накопления:

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

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