Программирование и интеллект

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

Повний опис

Збережено в:
Бібліографічні деталі
Дата:2009
Автор: Мейтус, В.Ю.
Формат: Стаття
Мова:Російська
Опубліковано: Інститут програмних систем НАН України 2009
Теми:
Онлайн доступ:https://nasplib.isofts.kiev.ua/handle/123456789/2913
Теги: Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
Назва журналу:Digital Library of Periodicals of National Academy of Sciences of Ukraine
Цитувати:Программирование и интеллект / В.Ю. Мейтус // Пробл. програмув. — 2009. — № 1. — С. 17-27. — Бібліогр.: 14 назв. — рос.

Репозитарії

Digital Library of Periodicals of National Academy of Sciences of Ukraine
_version_ 1859842710369730560
author Мейтус, В.Ю.
author_facet Мейтус, В.Ю.
citation_txt Программирование и интеллект / В.Ю. Мейтус // Пробл. програмув. — 2009. — № 1. — С. 17-27. — Бібліогр.: 14 назв. — рос.
collection DSpace DC
description Работа посвящена проблеме создания программ, решающих задачи, которые связаны со знаниями о внешней среде и использующих эти знания. Такие программы называются интеллектуальными приме-нительно к определению интеллекта, данному в работе. Предлагается категорная модель интеллектуальной программы в виде функтора из категории, представляющей среду, в категорию, определяющую возможные способы решения задачи.--------- Робота присвячена проблемі створення програм, які вирішують задачі, пов’язані зі знаннями про зовнішнє середовище та використовуючи ці знання. Такі програми називають інтелектуальними відповідно до визначення інтелекту, поданого в цій роботі. Запропоновано категорну модель інтелектуальної програми у вигляді функтора з категорії, яка представляє середовище, в категорію, що визначає можливі способи вирішення задачі.---------- This work is devoted to a problem of creation of the programs solving the tasks which are linked to knowledge of an environment and using this knowledge. Such programs are named intellectual with reference to definition of intelligence, data in this work. It is offered categorical model of the intellectual program in the form of functor from a category representing the environment, in a category defining possible ways of solution of the task.
first_indexed 2025-12-07T15:37:36Z
format Article
fulltext Теоретичні та методологічні основи програмування © В.Ю. Мейтус, 2009 ISSN 1727-4907. Проблеми програмування. 2009. № 1 17 УДК 519.7 В.Ю. Мейтус ПРОГРАММИРОВАНИЕ И ИНТЕЛЛЕКТ Работа посвящена проблеме создания программ, решающих задачи, которые связаны со знаниями о внешней среде и использующих эти знания. Такие программы называются интеллектуальными приме- нительно к определению интеллекта, данному в работе. Предлагается категорная модель интеллекту- альной программы в виде функтора из категории, представляющей среду, в категорию, определяющую возможные способы решения задачи. . Введение Одним из определяющих понятий современной цивилизации является поня- тие «технологии», как неизменного факто- ра, связанного с большинством социаль- ных и производственных процессов, про- текающих в окружающей нас реальности. Технологичность – одна из важнейших ха- рактеристик современного общества, не- отъемлемая составляющая нашей жизни, символ прогресса индустриальной цивили- зации. Но любая технология определяется последовательностью действий, порядок осуществления которых управляется неко- торой логикой. Другими словами, в ос- нове технологического описания лежит программирование, рассматриваемое как искусство представления процессов дос- тижения результата, с помощью за- данной системы операторов и логиче- ских правил вычисления порядка их дей- ствий. Программирование, с одной сторо- ны, неразрывно связано с пониманием и возможностью воспроизводства любого процесса, а с другой, – с эффективным, конструктивным представлением данного процесса в виде заданных системных компонент. Операторы и логика – составляю- щие элементы любой программы. Под операторами понимаются определенные действия, операции, преобразования, ко- торые могут выбираться и варьировать- ся в зависимости от выполнения или невыполнения некоторых логических ус- ловий, связанных с данным процессом. Эти логические условия анализируют со- стояние внешней среды, в которой осу- ществляется запрограммированный про- цесс, и регулируют его выполнение. В этом смысле можно говорить о компьютерном, социальном, политиче- ском, экономическом или производствен- ном программировании, определяющем возможность представления и моделиро- вания процессов, относящихся к любому из этих направлений общественного бы- тия. В настоящее время наиболее популяр- ным и развитым является программирова- ние для компьютеров, с его различными направлениями, вариантами и модифика- циями [1–3]. Но в последние десятилетия часто говорят о психологическом программиро- вании, ситуационном программировании, связанным с ситуационным управлением [4], программировании социальных про- цессов (например, нейролингвистическое программирование [5]), программировании поведения человека. Что касается произ- водства, то само задание производствен- ной технологии обычно осуществляется в виде некоторой последовательности дей- ствий с использованием соответствующего оборудования, т. е. в виде программы, вы- полнение которой реализует процесс по- лучения определенного продукта. С помо- щью языков вида UML программируются и процессы моделирования систем. Поэтому можно считать, что про- граммирование как область человеческой деятельности является универсальным и эффективным средством эффективного представления процессов, протекающих в окружающей нас внешней среде, и, од- новременно, является методом познания этих процессов. Здесь «эффективность Теоретичні та методологічні основи програмування 18 представления» понимается в смысле мо- делирования и выполнения данных про- цессов с помощью существующих в рас- поряжении программиста средств, напри- мер, с помощью компьютеров. Программируя процессы, мы глуб- же понимаем их, получаем возможность воздействовать на них, вмешиваться и из- менять течение процессов, определять на уровне моделирования свойства этих про- цессов, возможные варианты их развития и трансформации. Если эти свойства в мень- шей степени существенны для вычисли- тельных программ, хотя и там существуют свои особенности, то для изучения соци- альных процессов программирование соз- дает новый аппарат описания и исследова- ния этих процессов, дает возможность прогнозировать их развитие, предсказы- вать возможные результаты течения таких процессов в зависимости от условий их протекания. Рассмотрим детальнее компьютер- ное программирование, а поскольку далее речь идет только об этом виде программи- рования, то слово «компьютерное» будем опускать. Для задания операторов и представ- ления данных, с которыми они работают, в программировании используются языки программирования, которые являются средством, понимаемым как человеком, использующим языки для представления алгоритмов, так и компьютером, перево- дящим языковые конструкции в машинные команды. Само развитие программирования связано с постепенным усложнением внут- ренней структуры данных и операторов, используемых в представлении программ. Совмещение форм представления данных и команд компьютера, найденное создате- лями вычислительных машин, явилось первым революционным шагом в разви- тии компьютерной техники и программи- рования. Второй революционный шаг – это выделение в один универсальный про- граммный комплекс совокупности стан- дартных операций и интерфейсных пред- ставлений, необходимых большинству программ, которое выразилось в создании операционных систем как неотъемлемой части программного обеспечения совре- менного компьютера. Третий революционный шаг – это понимание роли структур данных и вклю- чение их как равноправной части объекта в объектно-ориентированном программиро- вании. Управление объектом осуществля- ется с помощью методов (процедур и функций), также включенных в структуру объекта. При этом объекты сами могут быть составляющими структур данных, таких как массивы, записи, множества, па- раметры процедур и функций, списки и деревья. Объекты хорошо вписываются в структуру современных операционных систем, используя особенности их работы. При этом достоинства и возможности объ- ектов заранее ограничены. Даже если соз- давать объекты, имеющие сложную струк- туру и содержащие большое число полей и методов, то в любом случае нельзя рассчи- тывать, что они смогут правильно отразить свойства различных изменяющихся сред, в которых эти объекты могут существо- вать. А главное, что в них не удается задать динамически изменяющиеся свя- зи с другими объектами той же среды, т. е. отразить переменную структуру внешней среды, необходимую для модели- рования и отражения данной среды в про- цессах, представляемых с помощью про- грамм. Одним из возможных выходов из сложившейся ситуации является наделение программ тем основным свойством, кото- рое обеспечивает человеку успешное вос- приятие постоянно преобразующейся ок- ружающей среды, приспособление к ее ус- ловиям и эффективное функционирование в этой среде. Это свойство называется ин- теллектом. До сих пор преставление об интеллекте чаще всего связывали с чело- веком или высокоорганизованными жи- вотными. Однако, соединение возмож- ностей интеллекта с компьютерными про- граммами, осуществляемое не на уровне программирования, а на уровне действия самих программ, позволит создавать ин- теллектуальные программы, которых так нехватает сегодня. Теоретичні та методологічні основи програмування 19 В настоящей работе рассматривает- ся одно из направлений развития совре- менного компьютерного программирова- ния, связанное с возможностями создания интеллектуальных программ и формализа- цией этого процесса. Интеллект В современной обширной литерату- ре, посвященной интеллекту и искусствен- ному интеллекту, как способу моделиро- вания тех или других сторон естественного интеллекта, уже существует своя класси- фикация основных направлений исследо- вания. В такой классификации рассмотрим следующие направления. 1. Определение на основе сравнения с качествами, присущими человеку и свя- зываемыми с его мышлением. Интеллект – ум, рассудок, разум, способность мыслить, устойчивая струк- тура умственных способностей человека, набор заданных умственных функций (сравнения, абстракции, прогнозирования, создания понятий, суждений, логических выводов). 2. Определение на основе классов выполняемых процессов или осуществ- ляемых функций. Интеллект как совокупность уни- версальных процедур, позволяющих стро- ить конкретные алгоритмы решения част- ных творческих задач (Г.С. Поспелов). Интеллект как способность запоминать и предвидеть различные аспекты внешнего мира, включая язык, математику, физи- ческие свойства объектов, социальные си- туации [6]. Интеллект – весьма общая умственная способность, которая включает возможность делать заключения, планиро- вать, решать проблемы, абстрактно мыс- лить, понимать сложные идеи, быстро учиться и обучаться [7]. Интеллект как выполнение общих функций, ассоциируемых с деятельностью человека. Сюда относятся: • абстрактное мышление, • приспособление к социальной среде и к другим средам, • решение задач и проблем, • распознавание образов, • понимание смысла, выраженного пред- ложениями и текстами, • моделирование событий и ситуаций, определяющих некоторое поведение, • формирование понятий, суждений, ана- логий. 3. Определение, опирающееся на использование знаний, как основы пред- ставления и моделирования окружающей среды. Интеллект – это способность на основании имеющихся знаний строить мо- дели окружающей среды и использовать их для прогнозирования будущих измене- ний, состояний, преобразований, поведе- ния. Под интеллектом системы понимается её способность формировать, сохранять и использовать знания, образующие базу знаний системы, при определении взаимо- действия системы с внешней средой [8]. Кроме этих определений интеллект связывают с выполнением таких человече- ских функций, как распознавание образов, речи, понимание естественного языка, смысла высказываний, или с моделирова- нием функций нервной системы с помо- щью нейронных сетей [9, 10]. Исследуя результаты психологических экспери- ментов методами факторного анализ, Р. Стернберг выделил три формы интел- лекта: вербальный интеллект (запас слов, эрудиция, умение понимать прочитан- ное); способность решать проблемы; прак- тический или социальный интел- лект (умение адаптироваться к социальной обстановке, добиваясь поставленных це- лей). Данное далее определение интел- лекта основано на формулировке свойства, характерного для человека, который по- стоянно решает различные задачи. Интеллект – это качество субъ- екта, ориентированного на взаимодей- ствие с внешней средой, которое позво- ляет ему виртуально структурировать внешнюю среду, для того, чтобы, сохра- нив полученное структурное представ- ление, использовать его для адекватного восприятия, моделирования и взаимо- действия с этой средой, включая приня- тие решений при формировании своих действий [11]. Теоретичні та методологічні основи програмування 20 Прежде всего подчеркнем, что ин- теллект проявляется во взаимодействии с окружающим миром. Это значит, что субъект получает сигналы и информацию из внешней среды, реагирует на них, строя для себя модель среды. Такая модель для субъекта – основа его поведения в среде. Структурирование среды предпола- гает, во-первых, выделение в ней множе- ства элементов и возможных связей между ними. Это – анализ среды. Во-вторых, аг- регирование данных элементов между со- бой в более общие объекты, существую- щие в среде, за счет отождествления свя- зей между ними (синтез). Такие процессы неоднозначны, поскольку они аккумули- руют, включают в себя опыт, представле- ния и знания тех субъектов, которые вы- полняют структурирование. В приложении к взаимодействию со средой процесс структурирования ориен- тирован на «вырезание» из среды области, непосредственно относящейся к задаче или проблеме, которую должен решить в этой области интеллектуальный субъект. Для сохранения построенной структуры ис- пользуется созданная для среды база зна- ний, оснащенная механизмом пополнения структуры – добавления, возможно гипо- тетического, новых связей и отношений. При этом даже вырезанная из среды ее часть, используемая для решения задачи, будет испытывать на себе влияние своего окружения, которое лежит вне границ дан- ной области. Существенно входящее в определе- ние интеллекта понятие «адекватности восприятия, моделирования и взаимодей- ствия с внешней средой». Именно здесь скрываются те качества, которые связыва- ются в обычном понимании с интеллектом. Структурируя внешнюю среду, мы полу- чаем возможность моделировать в среде действия, ассоциируемые субъектом с этой структурой. А адекватность предполагает, что эти действия не противоречат процес- сам, характеризующим среду, что эти дей- ствия соответствуют реальности. Кроме того, отметим, что предла- гаемое определение ориентировано на произвольные внешние среды, хотя произ- вольность среды ограничена возможно- стями субъекта. Допускается, что интел- лектуальный субъект, программа, система должны настроить и переориентировать свое поведение, если среда изменяется. При этом нет необходимости обращаться ко всей базе знаний. База должна настраи- ваться на определенную среду, ограничи- ваясь знаниями, которые к ней относятся. Получаем ориентированную базу знаний. А доступ осуществляется в зависимости от ситуации, в которой оказались субъект, программа, система. В реальной жизни поведение опре- деляется установленными правилами, ко- торые связаны в определенный алгоритм поведения, связываемый с ситуацией. Эта регламентация отражает заданную струк- туру среды. Примером могут служить ар- мейские уставы, которые предопределяют действия военнослужащих. Если ситуация отличается от установленных рамок, то возникает задача – определить свои дейст- вия, которые не предусмотрены регламен- том. И здесь необходим интеллект, позво- ляющий связать новую ситуацию с воз- можными действиями интеллектуального субъекта. Интеллектуализации программ Продуктом программирования яв- ляются программы, в виде взаимосвязан- ной системы алгоритмов, восприни- маемых компьютером, и организованные в одну или несколько структур данные, об- рабатываемые этой программой [12]. Роль структурированных данных в программи- ровании огромна. Часто создание соответ- ствующей структуры данных это сущест- венная часть общего процесса программи- рования. Эта роль данных при программи- ровании хорошо представлена в объектно- ориентированном программировании. Обычно программа строится таким образом, чтобы она могла обрабатывать различные данные. Например, программа для решения систем линейных уравнений решает различные системы, заданные со- ответствующей матрицей. Сложность та- ких вычислений часто связывается с боль- шой размерностью матриц. Чаще всего для таких программ заданы алгоритмы обра- Теоретичні та методологічні основи програмування 21 ботки и сами данные, а необходимость ис- пользования компьютера связывается с большим объемом вычислений в ходе применения алгоритмов обработки к дан- ным. Следующий класс программ опре- деляется необходимостью интерфейса че- ловека и компьютера в процессе обработки данных. В ходе интерфейса определяются зависящие от ситуации данные и ход при- менения алгоритмов обработки. В таких программах человек частично управляет процессом решения задач, используя свой интеллект, чтобы скорректировать процесс вычислений. При этом необходимы программы, которые могли бы самостоятельно пони- мать возникающую ситуацию и настраи- ваться на различные задачи, находить их решение так, как это делает человек. Класс таких программ назовем интеллектуаль- ными программами. Это своего рода ме- тапрограммы, функцией которых является создание прикладной программы, приме- нимой к тем условиям и данным, которые поступают в программу. Анализ этих дан- ных позволяет интеллектуальной про- грамме выбрать из базы своих знаний схе- му решения задачи, на основании которой затем строится исполняемая на компьюте- ре программа. В настоящее время также используется близкое понятие интеллекту- альных агентов [1, 10, 13]. Интеллектуальные программы (ИП) сначала выделяют и анализируют данные, входящие в поставленную задачу. С зада- чей обязательно связана внешняя среда, в которой эта задача рассматривается. Ин- формация о среде либо вводится в ИП, ли- бо самостоятельно выделяется ИП в про- цессе ее взаимодействия с базой знаний как часть тех данных, которые анализиру- ются программой. Затем выбирают или строят алгоритм, который мог бы обрабо- тать эти данные так, чтобы решить задачу. Этот алгоритм преобразуется в программу, которая уже выполняется на компьютере и дает ожидаемый результат. Общая схема такого процесса представлена на рисунке. Формирование данных вместе с их извлечением из условия задачи, что часто является нетривиальным процессом, пред- полагает и понимание данных (на рисунке отмечено двусторонней стрелкой). И здесь необходим интеллект человека, поскольку от понимания данных зависит весь процесс решения задачи. Понять данные в их взаи- моотношении и взаимосвязи друг с другом – это значит сделать существенный шаг к их представлению и структуризации, а за- тем и к погружению в среду, в которой решается задача, связав задачу со средой переходим к выбору аппарата, применимо- го для решения, и алгоритмизации самого процесса решения задачи. У человека такие подпроцессы об- щего процесса решения опираются на его знания, опыт, имеющуюся у него инфор- мацию и методологию, т. е. на то, чем дол- жен обладать субъект, решающий задачу. Например, предшественники теории отно- сительности не смогли ее открыть. Э. Мах, формулируя известный принцип Маха, сознавал неполноту законов Ньютона. Но он не обладал необходимым математиче- ским аппаратом, чтобы построить соответ- ствующую теорию. А. Пуанкаре и Х. Ло- ренц имели такой аппарат, но не ввели его в физику, хотя А. Пуанкаре сформулиро- вал принцип относительности за 10 лет до Эйнштейна. И только А. Эйнштейн акцен- тировал внимание физиков на принципе рисунок Теоретичні та методологічні основи програмування 22 относительности и его физических следст- виях, создав теорию относительности. Для того, чтобы построить интел- лектуальную программу необходимо, что- бы такая программа могла обращаться к опыту, которым обладает человек, и учи- тывать этот опыт в своей работе. По пред- положению, опыт представляется в виде базы знаний, которую задействует ИП в ходе своей работы. Часть алгоритмов, реа- лизующих интеллект, являются состав- ляющей ИП. Другая часть этих алгоритмов может находиться в базе знаний вместе с той информацией, которая используется при решении задачи. Выбирая алгоритмы и структурированные данные, ИП строит пучок возможных решений, из которого затем выбирает одно или несколько, пере- давая их пользователю – постановщику задачи. В любой момент работы ИП воз- можен возврат к предыдущему этапу и его повторение с учетом полученных резуль- татов. При работе современных программ в среде Windows, операционная система обменивается с программой сообщениями, которые являются реализацией взаимодей- ствия со средой, в которой действует про- грамма. Поэтому можно предположить, что так же, как любая современная про- грамма работает в среде, создаваемой опе- рационной системой, так и новый класс интеллектуальных программ должен, вы- полняясь на компьютере, погружаться в интеллектуальную среду, уже построен- ную в виде системы интеллектуального представления. Такой системой будет обеспечиваться каждый компьютер по аналогии с операционной системой. Осна- щение компьютеров такими системами, наряду с операционной, определит буду- щий четвертый революционный шаг развития информатики – переход к посто- янному использованию интеллектуальных программ. Причем ИП наряду с самим реше- нием сможет выдавать и комментарии к такому решению. Или варианты решения в различном виде. Выполнение действий ИП предполагает ее взаимодействие с пользо- вателем, как при настройке программы, так и в ходе выполнения ею действий. На- пример, решая квадратное уравнение, ИП может запросить, в каком виде выдавать решение – в виде выражения, включающе- го корни и мнимые числа, или в виде чи- словых выражений, имеющих приближен- ный вид, или в графической форме пока- зывающей, как расположены корни на оси или плоскости. Зато база знаний, к которой при- крепляется ИП, содержит в себе всю ин- формацию о действиях для каждого вари- анта решения и структуру, определяющую, как строить соответствующий поставлен- ной задаче алгоритм в заданной внешней среде. Следовательно, процесс алгоритми- зации и программирования во многом оп- ределен той структурой, которая связыва- ется с решаемой задачей. Например, решение любой матема- тической задачи всегда связано со средой, определяемой используемыми понятиями и представлениями. Скажем, доказательст- во бесконечности числа простых чисел предполагает, что такие понятия внешней среды, как натуральный ряд, простое чис- ло, операции над числами – сложение с единицей, умножения, деление – известны субъекту. Без этих знаний известное дока- зательство Эвклида окажется бессмыслен- ным рассуждением. Именно созданию сре- ды, в которой выполняются научные рас- суждения, посвящена каждая наука, опре- деляющая свой дискурс в виде взаимосвя- занной системы понятий и представлений. По отношению к внешним средам возможна следующая классификация ИП. Самый нижний – нулевой уровень – это наиболее распространенный уровень про- грамм, в которых среда задана структурой данных, определенных самой программой. На этом уровне в настоящее время строится большинство программ. Для выполнения программы в нее вводят- ся данные, а программа реализует заложенный в нее единственный ал- горитм до тех пор, пока не будет получено решение. Эти программы не обладают собственным интеллек- том в силу предопределенности сво- их действий, определяемых заложен- ной в программу единственной структу- ризацией среды. Теоретичні та методологічні основи програмування 23 Более высоким является уровень программ, которые могут самостоятельно выбирать стратегию или алгоритм реше- ния задачи, опираясь на существующую у них базу знаний. Формулируя задачу, пользователь заранее не знает, каким обра- зом, каким алгоритмом эта задача будет решена. Анализируя данные, программа сама выбирает тот или другой путь, опре- деляющий решение задачи, среди сущест- вующей в базе знаний вариантов структу- ризации среды. Как обобщение этого уровня можно рассматривать вариант, при котором про- грамма, исходя из полученного задания, сама выбирает стратегию, или конструиру- ет алгоритм, используя заготовки из базы знаний и перебирая различные варианты возможных действий, объединенных с оценкой полученных после выполнения этих действий результатов. Такие оценки определяют приближение этих результатов к ожидаемому решению. В зависимости от их возможностей, которые имеют алго- ритмы оценок, можно говорить о том, что здесь возникает такое понятие, как смысл полученных результатов, а сами програм- мы обладают интеллектом. Таким образом, обязательным свой- ством ИП является ее эффективное взаи- модействие с базой знаний (БЗ). В этой ба- зе представлена и структурирована внеш- няя среда, в которой работает ИП, решая поставленную задачу. Первый шаг. В соответствии со схе- мой, представленной на рисунке, ИП сна- чала извлекает исходные данные и постав- ленную цель из задачи, которую нужно решить. При этом ИП опирается на БЗ, стараясь найти соответствие между зада- чей и знаниями в БЗ, чтобы связать задачу со структурой внешней среды. Второй шаг. Понимание данных – это погружение извлеченных данных в вы- бранную область БЗ, сопоставление дан- ных с представленной в БЗ средой. Здесь формируется смысл задачи, как интерпре- тация данных в выбранной среде. По предположению данные содержат и зада- ние, и условия, определяющие ожидаемую цель. Третий шаг. Обычно решение зада- чи определяется как путь, по которому в структуре, связываемой со структурной моделью среды, можно перейти от исход- ных данных к цели, определяющей резуль- тат решения задачи. Этот путь или пути, если их несколько, состоят из элементов структуры среды и должны быть построе- ны ИП. Четвертый шаг. Если каждому эле- менту найденного пути сопоставить опера- тор, то получаем алгоритм решения зада- чи. Если же операторы имеют разный вид, то получаются и разные алгоритмы. Стратегия выбора алгоритма задается правилами и условиями выбора пути ре- шения задачи и операторов, сопоставляе- мых отрезкам пути. Пятый шаг. Это компьютерное представление данных, связанных с зада- чей, и запись построенного алгоритма в виде исполняемой на компьютере програм- мы, которая реализует все действия, пред- ставленные в виде операторов, по обра- ботке данных и преобразованию их в ре- зультат. Интеллект программы проявляет- ся в том, что, опираясь на БЗ, программе самостоятельно удается найти структуру решения поставленной задачи в виде пути, определяющем переход от исходных дан- ных к ожидаемой цели, и связать этот путь с алгоритмом решения, чтобы выполнить на компьютере необходимые действия в соответствии с этим алгоритмом. Математическая модель Для того, чтобы представить в ма- тематической форме схему работы ИП, сначала зададим формальное представле- ние внешней среды, которую обозначим символом ε. По предположению ε состоит из объектов, имеющих различную струк- туру, и связей между ними. Элементарны- ми объектами среды ε называются вос- принимаемые в среде сущности (предме- ты, события, явления, факты), неделимые на части в рамках данной модели, состав- ляющие среду атомы. Данные сущности Теоретичні та методологічні основи програмування 24 имеют имена и обозначаются символами ...,, cba , которые могут иметь индексы, различающие сущности в множестве объ- ектов среды ε. Свойства, присущие объек- там, будем называть их признаками. Между элементарными объектами в среде ε существуют связи, задаваемые в виде отношений, отображений, преобразо- ваний, выводов. Возможны два варианта. В первом, – связанные элементарные объ- екты, а в общем случае объекты вообще, образуют новую сущность, которая рас- сматривается как новый объект среды ε. Такой объект получает свое имя и рас- сматривается в дальнейшем как компонент среды. Это объект, имеющий внутреннюю структуру в среде. Кроме того, каждый элементарный объект a может рассматри- ваться как объект, если предположить су- ществование связи 1α, отображающей объ- ект a сам в себя. Такую связь будем назы- вать тождественной связью. Во втором – связанные объекты, хотя и рассматриваются как объектные структуры внешней среды, но при этом их составляющие сохраняют свои имена и признак. Такие структуры отражают слож- ность и взаимные связи между объектами внешней среды. Но эти структурные фор- мирования не рассматриваются как единая сущность, что было в первом варианте. Совокупность всех объектов внешней сре- ды обозначим Ob ε . Чтобы формализовать образование структур во внешней среде ε, допустим, что существует операция ⊕, определяю- щая формирование структур из объектов среды. Эта операция определена на конеч- ных подмножествах, составленных из объ- ектов среды ε, и сопоставляет конечному множеству объектов некоторую построен- ную из них структуру, которая является объектом ε. Операция ⊕: [Ob ε]* → Ob ε , [Ob ε]* = {( ia )i∈I | ia ∈Ob ε }, а I – счетное множество, связанное с операцией ⊕, и включающее только конечные наборы произвольной длины. Если I = {1}, то ⊕ i∈I xi = x1. В реальных средах обычно сущест- вует много таких операций структурирова- ния. Но для формулировки простой моде- ли, предлагаемой в настоящей работе, предположим существование одной та- кой операции. Среда ε называется N-структурированной, если операция ⊕ определена только на конечных наборах объектов из Ob ε, причем длина таких на- боров не превосходит числа N. Между объектами среды имеются связи, определяющие взаимозависимость объектов между собой, влияние одних объектов на другие. Связи – это некоторые направленные отношения, существующие в среде и характеризующие воздействие одних объектов на другие. Связи обозна- чаются символами ,...,, θψϕ , которые мо- гут быть различных видов и типов, пред- ставляться разными способами и играть различную роль. Связи между объектами могут зада- ваться отношениями: • следования, порядка, включения, сравнения, принадлежности; • зависимости, совместности, логиче- ской связи; • управления, подчинения; • взаимодействия, преобразования (операции), влияния [11]. Связи могут задаваться функциями или операторами, которые показывают как выражается один объект через другой или другие, или как связаны одни объекты с другими. В реальных условиях не всегда известны все связи. В ходе решения задач, в процессе формирования поведения субъ- екта могут формироваться и новые связи, как и новые объекты, необходимые для построения адекватного поведения. Здесь и появляется та самая структуризация, ко- торая связана с интеллектом. Моделью среды ε будем называть формальную конструкцию α, состоящую из множества объектов Ob ε, и множества отображений между объектами, ассоции- руемых со связями среды ε. Для этих ото- бражений определена операция компози- ции, обозначаемая как ∗ . Пусть заданы связи между объектами – ba →:ϕ , Теоретичні та методологічні основи програмування 25 .:,: dccb →→ θψ Будем говорить, что связи ψϕ , – совместимы, если для них оп- ределена композиция, результат которой совпадает со связью ca →:ξ , ξψϕ =∗ . По определению тождественная связь 1α совместима с любой связью вида ϕ , и ком- позиция ba 11 ∗==∗ ϕϕϕ . Если связи не совместимы, то по определению их композиция задает нулевое отображение (связь), т.е. ac0=∗ψϕ . Композиция нуле- вого отображения с любым другим всегда дает нулевое отображение (связь). Будем считать, что композиция совместимых свя- зей ассоциативна, )()( θψϕθψϕ ∗∗=∗∗ . Тогда конструкция α, включающая объек- ты и связи между объектами, является ка- тегорией, связываемой со средой ε. Мно- жество объектов α совпадает с множест- вом Ob ε, а ее множество морфизмов оп- ределено связями между объектами. Категория α может быть расширена за счет введения в нее конечных копроиз- ведений. В дальнейшем будем предпола- гать, что категория α замкнута относи- тельно таких копроизведений. Задача в среде ε задается как мно- жеством объектов );,,,( 21 zaaa nK , где объ- екты naaa ,,, 21 K – это условия задачи, а объект z – ожидаемый результат и требо- вание найти существующую связь или до- казать отсутствие ее между условиями за- дачи и ее результатом. В категории α ре- шение задачи состоит в указании ненуле- вого морфизма, ведущего от копроизведе- ния условий задачи Ci iap = к ее резуль- тату, представленному объектом z , или в доказательстве того, что такого морфизма в α нет. Иногда заранее известно, что реше- ние задачи существует, но вопрос заклю- чается в том, чтобы представить это реше- ние в виде последовательности объектов, которые получаются при применении морфизмов, композиция которых опреде- ляет переход от объекта p к объекту z . Введем две новые категории. Пер- вая – категория связей C (в [14] называется категорией стрелок). Ее объекты – это мор- физмы категории α. Если ,: ba →ϕ dc →:θ , то морфизм из ϕ в θ – это пара морфизмов ,, 〉〈 νµ где ,: ca →µ ,: db →ν для которых коммутативна диа- грамма Вторая – это категория L-структур [11]. Определим язык L как множество ко- нечных последовательностей объектов из α, вида naaaA ...21= , называемых словом и удовлетворяющим условию: для любого i и пары объектов ( 1, +ii aa ), входящих в сло- во A существует в C такая операция ω , что 1)( += ii aaω . Подъязыком L (θ) языка L, определенным множеством операций θ ⊆ C, называется множество слов языка L, использующим для своего формирова- ния только операции из множества θ. Структурным элементом ),( baS на- зывается слово языка L, которое начина- ется объектом a и заканчивается объек- том b . Соответственно, ),,( θbaS – это структурный элемент, являющийся сло- вом подъязыка L (θ). L - структурой ),,(, θθ baL ba = , определенной объектами a и b и множеством операций θ называется множество всех структурных элементов вида ),,( θbaS , использующих операции из θ. }.2|),...,(),,({ 1, ≥== nxxbaSL nba θθ Каж- дый набор ),...,( 1 nxx , входящий в L – структуру θ baL , , назовем θ путем из a в b . Морфизмом α L - структур θ baL , в ' ',' θ baL называется пара отображений α = ),,( qp где p – отображение множест a b c d ν ϕ θ µ Теоретичні та методологічні основи програмування 26 ва α в α, ':,': bbpaap →→ , а q – ото- бражение ': θθ →q , причем для любой па- ры объектов ),,( dc , входящих в θ - путь из θ baL , , коммутативна следующая диаграмма: где ).(' ϕϕ q= В силу совместимости C операции из θ ассоциативны и существует тождественный морфизм L -структур. По- этому множество L -структур вместе с вышеопределенными морфизмами образу- ет категорию L -структур, которую обо- значим S. Определим функтор P из категории связей C в категорию S. Каждому объекту ba →:ϕ из множества Ob C функтор P сопоставляет L - структуру: P(φ) = baL , , а морфизму соответственно морфизм L -структур. Этот функтор назовем про- граммным функтором, если рассмат- ривать морфизм ba →:ϕ как задачу, а L -структуру как множество ее решений. Заключение Наполнение интеллектом систем, программных комплексов, техники, ис- пользующих для обеспечения своих дейст- вий компьютеры и базы знаний, является одним из основных направлений развития современного программирования. В опре- деленной степени исчезли технические препятствия, не позволявшие в реальном времени работать с большими объемами информации. Это позволяет компьютерам оперировать с поступающими данными, не упрощая их. А человеку передать компью- теру часть работы по составлению про- грамм, решающих задачи в изменяющихся внешних средах. Интеллектуальная про- грамма строит свои действия на основании заложенного в нее опыта, что позволяет существенно расширить ее возможности. С другой стороны, безграничной оказывается область применения интел- лектуальных систем, что предполагает из- менение самого общества. Последнее деся- тилетие все настойчивее говорят о насту- пающей цивилизации знаний. А такая ци- вилизация не только будет основываться на интеллектуальных системах, но она не- возможна без них. Поэтому таким важным представляется продвижение по пути раз- работки интеллектуальных систем, техно- логией создания которых является про- граммирование. 1. Капитонова Ю.В., Летичевский А.А. Па- радигмы и идеи академика В.М.Глушкова. – Киев: Наук. думка, 2003. – 454 с. 2. Lεtichεvsky A.A., Kapitonova Y.V., Konozεnko S.V. Computation in APS // Thεor. Comput. Sci. – 1993. – 119. – P. 145 – 171. 3. Андон Ф.И., Дорошенко А.Е., Цейтлин Г.Е., Яценко Е.А, Алгеброалгоритмические мо- дели и методы параллельного программи- рования. – Киев: Академпериодика, 2007. – 634 с. 4. Поспелов Д.А, Ситуационное управление: теория и практика. – М.: Наука, 1986. – 288 с. 5. Мейтус В.Ю., Мейтус В.В. Массы, движе- ния, революции. – Киев: Ника-Центр, 2008. – 500 с. 6. Хокинс Д., Блейксли С. Об интеллекте. – М.: Вильямс, 2007. – 240 с. 7. Глибовець М.М., Олецький О.В. Штучний інтелект. – К.: КМ Академія, 2002. – 366 с. 8. Рассел С., Норвиг П. Искусственный ин- теллект. Современный подход. – Пер. с англ. – М.: Вильямс, 2006. – 1408 с. 9. Gottfredson L.S. Mainstream Science on Intel- ligence // Wall Street J. December 13, 1994. – P. A18. 10. Мейтус В.Ю. К проблеме интеллектуали- зации компьютерных систем // Математи- чні машини і системи. – 2008. – № 2. – С. 24 – 37. c d c' d’ p ϕ ϕ’ p Теоретичні та методологічні основи програмування 27 11. Мейтус В.Ю. К проблеме интеллектуали- зации систем управления // Матеріали ХІІІ Міжнар. конф. з автоматичного управління (Автоматика – 2006). Вінниця, 25-28 вере- сня 2006 р. – Вінниця, 2006. – С. 466 – 471. 12. Вирт Н. Алгоритмы + Структуры данных = Программы. – М.: Мир, 1985. – 406 с. 13. Wooldridgε M., Jεnnings N. Intεlligεnt Agents: Theory and Practice // The Knowl- edge Εngineering Review. – 1955. – Vol. 10(2). – P. 115 – 152. 14. Голдблатт Р. Топосы. Категорный анализ логики. – М.: Мир, 1983. – 488 с. Получено 18.09.2008 Об авторе: Мейтус Владимир Юльевич, доктор физико-математических наук, ведущий научный сотрудник. Место работы автора: Международный научно-учебный центр информационных технологий и систем НАН и МОН Украины, 03680 Киев-187, проспект Академика Глушкова, 40. Тел.: (044) 526 1319 e-mail: vmeitus@gmail.com.
id nasplib_isofts_kiev_ua-123456789-2913
institution Digital Library of Periodicals of National Academy of Sciences of Ukraine
issn 1727-4907
language Russian
last_indexed 2025-12-07T15:37:36Z
publishDate 2009
publisher Інститут програмних систем НАН України
record_format dspace
spelling Мейтус, В.Ю.
2009-05-22T13:13:07Z
2009-05-22T13:13:07Z
2009
Программирование и интеллект / В.Ю. Мейтус // Пробл. програмув. — 2009. — № 1. — С. 17-27. — Бібліогр.: 14 назв. — рос.
1727-4907
https://nasplib.isofts.kiev.ua/handle/123456789/2913
519.7
Работа посвящена проблеме создания программ, решающих задачи, которые связаны со знаниями о внешней среде и использующих эти знания. Такие программы называются интеллектуальными приме-нительно к определению интеллекта, данному в работе. Предлагается категорная модель интеллектуальной программы в виде функтора из категории, представляющей среду, в категорию, определяющую возможные способы решения задачи.---------
Робота присвячена проблемі створення програм, які вирішують задачі, пов’язані зі знаннями про зовнішнє середовище та використовуючи ці знання. Такі програми називають інтелектуальними відповідно до визначення інтелекту, поданого в цій роботі. Запропоновано категорну модель інтелектуальної програми у вигляді функтора з категорії, яка представляє середовище, в категорію, що визначає можливі способи вирішення задачі.----------
This work is devoted to a problem of creation of the programs solving the tasks which are linked to knowledge of an environment and using this knowledge. Such programs are named intellectual with reference to definition of intelligence, data in this work. It is offered categorical model of the intellectual program in the form of functor from a category representing the environment, in a category defining possible ways of solution of the task.
ru
Інститут програмних систем НАН України
Теоретичні та методологічні основи програмування
Программирование и интеллект
Programming and intellect
Програмування та інтелект
Article
published earlier
spellingShingle Программирование и интеллект
Мейтус, В.Ю.
Теоретичні та методологічні основи програмування
title Программирование и интеллект
title_alt Programming and intellect
Програмування та інтелект
title_full Программирование и интеллект
title_fullStr Программирование и интеллект
title_full_unstemmed Программирование и интеллект
title_short Программирование и интеллект
title_sort программирование и интеллект
topic Теоретичні та методологічні основи програмування
topic_facet Теоретичні та методологічні основи програмування
url https://nasplib.isofts.kiev.ua/handle/123456789/2913
work_keys_str_mv AT meitusvû programmirovanieiintellekt
AT meitusvû programmingandintellect
AT meitusvû programuvannâtaíntelekt