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

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

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


2.2. модели в программировании

2.2.1. Обобщённая схема решения задачОпределение  программирования,  варианты  употребления  понятия«программирования» и точки зрения на специфику программирования, приведённые в предыдущем параграфе, подтверждают, что оно принципиальным образом связано с решением задач разного типа. Комбинаторика составляющих опыта, управляемая сознанием, является универсальным механизмом в работах с задачами любых типов, а не только задач типа Z, решение которых нацелены на построения прецедентов на базе прецедентов, которые доступны.По этой причине рассмотрим программирование задач, не привязываясь к их типу, что позволит собрать более разнородный информационный материал для его учёта в авторских решениях по программированию задач типа Z.Напомним, что комбинаторный механизм заимствован интеллектом из природы, которая создаёт разнообразные сочетания природных условий в окружении человека. Осознав (за счёт интеллекта) возможность вмешательства в природные процессы, человек (там, где ему по силам и полезно) использует комбинаторику частей  «вещества» и «энергии». Более того, человек, такую комбинаторику (или её часть) переносит, когда по-другому нельзя и/или полезно,  на модели (рис. 1.1) с последующим возвратом результатов комбинаторики в окружающую среду.Обобщая вышесказанное, достаточно оснований утверждать, что вопрос-задача, является природно-искусственным феноменом, порождаемым интеллектом в попытках применить опыт. Человек способен строить и использовать модели этого феномена (модели задачи), способствующие переносу на них полезной комбинаторики (или

её части), приводящей к построению определённого ответа на вопрос-задачу, то есть к построению решения задачи на модели, которое затем переносится (если это запланировано) в реальность (рис. 2.4).Что «взять», что с чем «связать», в какой очередности и как «активизировать»?

Реально?ОТВЕТ П Е Р Е НМодель задачи:     О- знаковая,   С- материальная,- ……………….    Р ЕШ Е Н И

Интеллект  дал  возможностькомбинировать, перемещать и связывать не только объекты реальности ЯРешение на модели

Рис. 2.4. Жизненный цикл задачиПри отображении задач на модели, реальность приходится вкладывать в формы, используемые в модели. Для знаковых моделей реальность отображается в информационные формы (in forms), что включает в комбинаторику с частями вещества и энергии части информационного    типа.     Что     конкретно     и     как     используется в комбинаторике с частями вещества, энергии и информации зависит от задачи, опыта субъекта (индивидуального или коллективного), решающего задачу, и средств, помогающих в решении.

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

толкований, но прежде поясним основания для перехода от оригиналов,вовлечённых в деятельность к их моделям.Роль таких оснований традиционно связывают со сходством оригинала G и модели М с определённой точки зрения V, важной для деятельности, в которой оригинал и его модель используются. Для установления сходства между оригиналом и моделью и переноса результатов   моделирования   с   модели   на   оригинал   чаще   всегоиспользуют рассуждения по аналогии.Каждую модель М создают с целью переноса на неё определённого комбинирования с позиций определённого вида V в определённой деятельности (или деятельностей определённого типа) для «возврата» результатов моделирования в деятельность. Среди альтернатив модели М следует выбирать ту, которая принесёт ожидаемую пользу лучше (результативней, проще, понятнее, правдоподобнее, точнее, с меньшими усилиями и затратой ресурсов, …).Отметим,  что  доказательства  адекватности  явно  или  неявно включают предположения о том, что в модель М вложен определённый потенциал вопросов, ответы на которые полезны для взаимодействия с оригиналом (в рамках определённой деятельности).Вопросный потенциал обусловлен тем, что:Если определённой конструкции М приписан статус модели  М,  то  с  этой  конструкцией  (моделью),  в  общем случае, будут проводиться определённые эксперименты, результаты которых е1, е2, …, еK будут «переноситься» на соответствующий оригинал О.С каждым таким экспериментом связана активизация определённого вопроса. А значит, правомерно и полезно утверждать, что «модель» представляет множество вложенных в неё «вопросов».

Любая модель М представляет собой форму существования связной совокупности вопросов S({Qk}), ответы {Ak} на которые ожидается получить в актах взаимодействия с моделью. Основную пользу моделей составляют ответы, которые модели позволяют найти и построить в актах моделирования.С представленным пониманием моделей будем связывать их вопросно-ответную интерпретацию. В общем случае такой интерпретации совокупность вопросов {Qk} соответствующей модели М состоит из двух частей, одной из которых является множество {Qkl},а другая представляет дополнительные вопросы потенциала модели.Адекватность любой модели М разумно проверять и обосновывать с позиций того множества задач {Zk} для решения которых модель М создаётся.Более того, в задачах явно или опосредованно указаны цели, для достижения которых модели создают и используют.Модельная действительность как материальное воплощение программного обеспечения в компьютерной среде является сложным конструктивным логическим образованием. Следует заметить, что методы конструктивного порождения модельной действительности не могут игнорировать принцип дополнительности «декларативное- процедурное», который связывает в единое целое данные и процедуры, что и составляет на соответствующем уровне абстракции понятие модельной действительности.В завершение пункта приведём словарную статью «МОДЕЛЬ» из философского энциклопедического словаря:МОДЕЛЬ  (лат.  modulus  ‒  мера,  образец):  1)  образец  (эталон,стандарт)   для      массового            изготовления какого-либо   изделия           или

конструкции; тип, марка изделия. 2) Изделие (из легкообрабатываемого материала), с которого снимается форма для воспроизведения (напр., посредством литья) в другом материале; разновидности таких моделей ‒ лекала, шаблоны, плазы. 3) Позирующий художнику натурщик или изображаемые предметы («натура»). 4) Устройство, воспроизводящее, имитирующее строение и действие какого-либо др. («моделируемого») устройства в научных, производственных (при испытаниях) или спортивных (см. Моделизм спортивный) целях. 5) В широком смысле любой образ, аналог (мысленный или условный: изображение, описание, схема, чертёж, график, план, карта и т. п.) какого-либо объекта, процесса или явления («оригинала» данной модели), используемый в качестве его      «заместителя»,      «представителя»      (см.      Моделирование).6). В математике и логике – моделью какой-либо системы аксиом называют любую совокупность (абстрактных) объектов, свойства которых  и  отношения  между  которыми  удовлетворяют  данным аксиомам, служащим тем самым совместным (неявным) определением такой совокупности. 7) Модель в языкознании абстрактное понятие эталона или образца какой-либо системы (фонологической, грамматической и т. п.), представление самых общих характеристик какого-либо языкового явления; общая схема описания системы языка или какой-либо его подсистемы.2.2.3. Комбинаторный базис программированияКомбинаторика, в любых формах её осуществления (в реальности и/или на модели), представляет собой деятельностный процесс, по ходу которого     приходится     нечто     «брать»,     с     чем-то     «связывать» и определённым образом «активизировать» по ходу комбинаторных сборок и/или после их завершения. В комбинаторных процессах, используемых при решении задач, следует различать две их версии:

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

  имеется ограниченный набор конструктов и действий с ними,достаточный для сборки на их базе моделей задач;  для исследуемой задачи в базисе конструктов следует построить её  модель,  позволяющую решить  задачу  на  модели  в  соответствии с требованиями реальности.По сути дела компьютерное программирование – это способ решения задач в базисе ограниченных, но достаточных средств, (итерационно- спиральное) комбинирование которых приводит к построению модели задачи, выводящей на программу (схему действий) её решения. Обобщённая версия программирования с использованием компьютераприведена на рис. 2.5.Что взять, что с чем связать, в какой очередности и как активизироватьПрограммаКонструкты

Решение на модели КомандыПрограммирование – это способ решения задач

Рис. 2.5. Программирование задачВ практике компьютерного программирования используют два типа программных моделей задач:  декларативные программы (например, на языке Пролог) в виде модельного  представления  постановок  задач,  по  которым интерпретатор программы строит и выполняет схемы действий, решающих задачи;

  императивные программы (например, на языке С#) в виде схемы из  разрешенных действий  над  конструктами, использованными припостроении программ.

i

 
И декларативную PD

i

 
и императивную PK программу записывают на

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

i

 
Средства   для   записи   исходных   кодов   PD и   PКi отличаются

существенно.  Исходные  тексты  программ  типа  PD   сохраняют  связи с естественно-языковыми описаниями T(Z) постановок задач Z до такой степени, что можно говорить о  преобразовании (переводе) естественно- языковых текстов T(Z) в тексты типа PD(Z).В   исходных   кодах   императивных   программ   PK    записаны   непостановки задач, а алгоритмические методы их решения. По этой причине «путь» от постановок задач T(Z) до исходных текстов PК(Z) дальше и труднее, чем до декларативных текстов PD(Z). В этих кодах явно используются (и объявляются) конструкты (данные) и операции над ними (команды).Заметим,    что    как    в    декларативном    программировании,   так и в императивном программировании применяют не только отмеченные типы моделей, но и многие другие