Экспертная система поддержки принятия решений в области строительства

Обложка

Цитировать

Полный текст

Аннотация

Разработаны методы построения многопрофильной экспертной системы поддержки принятия решений в области строительства. Положенное в основу исследования архитектурное решение выстроено на теории нечетких множеств. Рассмотрены программные подходы к проектированию специализированных экспертных систем, а также задачи, решаемые системой поддержки принятия решений на этапе подготовки объекта к строительству. Цель исследования - разработка архитектуры экспертной системы, состоящей из систем логического вывода и набора взаимосвязанных нечетких экспертных модулей базы знаний. Задача исследования - разработка обобщённого алгоритма функционирования экспертной системы, архитектуры базы знаний и прототипа программной реализации экспертной системы. В результате проведенного исследования разработаны два программных продукта на языке Python и прототип на языке Matlab. Приведены примеры интерфейсов и программного кода разработанной экспертной системы поддержки принятия решений в области строительства.

Полный текст

Введение Строительная отрасль в России интенсивно развивается: внедряются новые методы как самого строительства, так и проектирования в нем различных систем, включая расчетные системы интеграции различных коммуникаций, аналитические системы выбора и обоснования инженерных решений. Актуальными становятся вопросы организации умных городов, оптимизации систем электроснабжения в многоквартирных домах, поддержки принятия решений для управления рисками, инвестиций в строительство и др. [1-6]. Поскольку объем новых знаний в строительной области стремительно увеличивается, встает задача их формализации,с тем, чтобы тиражировать и применять эти знания там, где не хватает специалистов (экспертов) в соответствующих областях (как правило, в узкопрофильных, специализированных обла-стях строительства). В разработке таких экспертных систем (ЭС) заинтересованы крупные подрядные и строительные организации, а также организации и органы государственной власти, которые занимаются проектированием многоквартирных жилых домов и планированием городских застроек. Порой из-за инженерных ошибок в строительной области построенный многоквартирный дом сдается с неверными техническими характеристиками и впоследствии признается подлежащим сносу. Это негативно сказывается на имидже строительных компаний и интересах инвесторов. Очевидно, что большинство ошибок происходит на этапе проектирования, в связи с чем представляется актуальным решить задачу эффективного хранения и передачи экспертных знаний в строительной области. Это позволит стабильно, с минимальным риском развивать и внедрять инженерно-технические решения [7]. Для выполнения поставленной задачи целесообразно применять методы машинного обучения и системы искусственного интеллекта, получившие в последние годы мощное развитие и широкое распространение. Следует отметить, что существенным ограничением для использования систем машинного обучения является обязательное наличие репрезентативной обучающей выборки. В то же время существуют экспертные системы, функционирующие на основе экспертных знаний. Именно их стоит использовать для создания программных продуктов и систем поддержки принятия решений для широкого круга инженерно-строительных задач. 1. Разработка архитектурыэкспертной системы поддержкипринятия инженерных решенийв области строительства В соответствии с результатами теоретических и прикладных научных исследований [8] архитектура экспертной системы включает следующие элементы: - модуль приобретения знаний; - базу знаний (правила логического вывода); - систему логического вывода; - интерфейс взаимодействия с пользователем; - модуль объяснения результатов. Согласно изученным теоретическим трудам [9-13] построение экспертной системы является итерационной процедурой, в которой когнитолог (инженер по знаниям), взаимодействуя с экспертами, итеративно пополняет базу знаний (БЗ), поддерживая экспертную систему в актуальном состоянии. Этот процесс реализуется методами инженерии знаний, в соответствии с которыми процесс создания экспертной системы начинается с установки предъявляемых к ней требований; анализа данных, полученных из открытых источников; сбора имеющихся знаний для определения необходимых характеристик объектов, задач, типов пользователей и пр. Одна из задач когнитолога - формализация знаний в той или иной модели их представ-ления (продукционной, фреймовой, логической и др.) с последующей постановкой задачи программистам. Таким образом, в процессе построения экспертной системы он взаимодействует с программистами, экспертами и другими источниками знаний для сбора информации и формирования базы знаний. Затем следует разработка базы знаний, вклю-чающая определение типа входных данных (например, текстовые документы и стандарты); возможных значений и взаимосвязи между переменными; методов представления знаний и логического вывода. Использование математического аппарата нечеткой логики при создании экспертных систем позволяет учитывать нелинейную зависимость между переменными и опираться на стохастические модели принятия решений, что способствует снижению вероятности ошибок. Обобщенная структурно-функциональная схема экспертной системы схематически представлена на рис. 1. Экспертная система состоит из следующих функциональных элементов: - базы знаний (на основе нечеткой логики); - блока приобретения знаний; - системы логического вывода; - пользовательского интерфейса. Система логического вывода обладает интерпретатором, что отличает ЭС от нейронных сетей. Посредством интерфейса пользователь получает доступ к знаниям и может интерпретировать полученные ответы экспертной системы в соответствии с БЗ и правилами логического вывода. База знаний ЭС связана с определенной проблемной областью строительства. Система логического вывода обеспечивает экспертную оценку и расчет численных характеристик строительных объектов. Такая система представляет собой программно-аппаратное ядро интеллектуальной информационной системы. В настоящей работе рассмотрен логический формат обработки информации, при этом по рассчитанным параметрам можно визуализировать пространственную модель посадки зданий. Для организации работы экспертной системы был разработан алгоритм, представленный на рис. 2. Рис. 1. Обобщенная структурно-функциональная схема экспертной системы И с т о ч н и к: выполнено А.А. Меркуловым Figure 1. Generalized structural and functional scheme of the expert system S o u r c e: made by A.A. Merkulov Рис. 2. Алгоритм функционирования экспертной системы поддержки принятия инженерных решений в области строительства И с т о ч н и к: выполнено А.А. Меркуловым Figure 2. The algorithm of functioning of the expert system for support of engineering decision-making in the field of construction S o u r c e: made by A.A. Merkulov Данный алгоритм не содержит циклов, так как все входные значения преобразуются в выходные посредством системы логических правил, содержащейся в базе знаний. В соответствии с разработанным алгоритмом по входным параметрам ЭС определяется вид логического вывода: четкий, нечеткий или комбинированный. Наличие модуля четкой логики обусловлено необ-ходимостью учета строго регламентированных правил и ГОСТов (в частности касающихся отступов зданий от соседних строений, линий связи и коммуникации, деревьев), а также других регламентированных параметров и нормативов. При этом одни и те же входные параметры могут соответствовать сразу нескольким модулям как в четкой, так и в нечеткой логике. Разработанная архитектура подразумевает, что часть входных переменных относится только к соответствующим модулям, а часть может применяться более чем в одном модуле. После того как по входам определены модули логического вывода, на выход системы подаются выходные значения, доступные пользователю через интерфейс ЭС. Обобщенная архитектура логического ядра экспертной системы поддержки принятия решений в области строительства схематически изображена на рис. 3. Она состоит из ряда подсистем, каждая из которых реализована на основе методов инженерии знаний и нечеткой логики. В разработанном прототипе ЭС используются разреженные связи между входными параметрами и соответствующими им модулями. Рис. 3. Многомодульная архитектура базы знаний экспертной системы поддержки принятия решений И с т о ч н и к: выполнено А.А. Меркуловым Figure 3. The multi-module architecture of the knowledge base of the expert decision support system S o u r c e: made by A.A. Merkulov Разработанная база знаний состоит из следующих экспертно-аналитических модулей: - ЭС расчета параметров лифтового оборудования; - ЭС расчета ориентации здания по сторонам света в зависимости от параметров инсоляции; - четырех ЭС расчета количества этажей в разных условиях городской застройки; - ЭС оценки технического состояния зданий и сооружений; - ЭС оценки инвестиционной привлекательности строительных объектов; - ЭС оценки инвестиционных проектов; - ЭС расчета инвестиционных рисков. По мере развития разработанной архитектуры экспертной системы возможно применение математического аппарата нечеткой логики для анализа выходных значений с последующим их использованием в качестве входных переменных других подсистем. Это полезно для выработки более точных рекомендаций по посадке зданий или другим техническим инженерным решениям. В таком случае ЭС будет иметь каскадную иерархическую структуру базы знаний. 2. Разработка программнойреализации экспертной системыподдержки принятия решенийв области строительства Прототип каждого расчетного модуля экспертной системы был выполнен на языке Matlab в пакете FuzzyLogic Toolbox, который позволяет определить входные и выходные переменные, их функции принадлежности и правила логического вывода. Для внедрения в практику разработанных экспертных систем использован язык программирования Python (библиотеки Pylab, Numpy, PySimpleGUI и Skfuzzy), на котором помимо баз знаний разработан графический пользовательский интерфейс. Данная программная реализация не зависит от сторонних разработчиков и может запускаться в различных операционных системах. Все разработанные базы знаний хранятсяв отдельных python-файлах, начинающихся с префикса baza_, которые можно использовать для редактирования правил вывода, лингвистических переменных и их функций принадлежности, а также для создания и отладки новых баз знаний для экспертных систем. Были разработаны две многопрофильные экспертно-аналитические системы «Посадка» и «Оценка», объединяющие группы экспертных модулей по назначению. Формат программного задания системы управления базы знаний: - имя лингвистической переменной с пре-фиксом _range задает диапазон изменения и шаг соответствующей переменной; - идентификаторы ctrl.Antecedent() и ctrl.Consequent() определяют входные и выходные переменные соответственно; - конструкция имя переменной [‘название функции принадлежности’] = fuzz.gaussmf(имя переменной_range, 4, 3) задает гауссовскую функцию принадлежности для лингвистической переменной с центром в точке 4 и шириной 3. Для треугольных функций принадлежности предусмотрена функция trimf. Таким образом, задаются функции принадлежности для всех переменных (параметры этих функций значительно влияют на работу экспертной системы); - для просмотра заданных функций следует использовать команду: имя переменой.view(); pl.show(); - правила вывода имеют вид «если …, то» и задаются в программе в формате: ctrl.Rule(переменная1[‘значение’] &переменная2[‘значение’], выходная переменная[‘значение’]), где знак & описывает условие «и» (для условия «или» следует формировать отдельные правила). После строки «if _name_ == '_main_':» следуют методы визуализации двумерных проекций поверхности отклика для отладки экспер-тной системы. В Приложении приведен фрагмент листинга программного кода базы знаний по расчету количества этажей в строительном объекте. Для программной реализации прототипа экспертной системы были использованы знания экспертов и информация, полученная из открытых источников. В соответствии с предлагаемой архитектурой разработанная ЭС состоит из набора специализированных модулей. Каждый модуль выполняет свои функции и сконструирован на основе экспертных знаний из соответствующей предметной области. С использованием методов инженерии знаний были выявлены все объекты предметной области и их взаимосвязи. Для этого инженер по знаниям проводил опрос среди экспертов и анализировал тематическую литературу. Таким образом, благодаря разработанной многомодульной структуре базы знаний, выбранным лингвистическим переменным и их значениям, а также входным и выходным переменным для каждой подсистемы логического вывода были определены переменные, необходимые для создания базы знаний многомодульной экспертной системы. На одном из этапов разработки были проведены подбор и определение лингвистических переменных и их функций принадлежности. Каждая переменная подвергалась анализу с целью определения диапазона ее значений и фор-мы функций принадлежности, что позволило создать основу для обоснованного логического вывода. Кроме того, были разработаны входные и выходные переменные для каждой подсистемы логического вывода, за счет чего можно удобным и структурированным образом передавать данные между модулями, используя фун-кциональные возможности базы знаний и решая узкоспециализированные задачи в области строительства, которые требуют наличия экспертных знаний. Следует отметить, что при эквивалентном наборе правил в БЗ разработанная многомодульная архитектура ЭС является более выгодной по сравнению с одномодульной, поскольку в многомодульном подходе каждый модуль имеет индивидуальный алгоритм дефаззификации [12]. Многомодульная архитектура БЗ позволяет более точно и гибко подстраивать выходные значения под каждую проблемную область в сфере строительства. Как уже было отмечено ранее, разработанная архитектура экспертной системы может расширяться и дополняться другими модулями. При этом некоторые объекты и правила вывода являются общими для разных модулей. По мере наполнения базы знаний экспертной системы число правил, входных и выходных переменных будет увеличиваться. Комплексный подход позволяет охватить максимальное количество аспектов строительства и масштабировать ЭС для приобретения и тиражирования знаний, необходимых для проектирования многоквартирных жилых домов, с учетом современных и актуальных требований и нормативов. В результате была создана программная реализация экспертной системы на языке Matlab, а также разработана усовершенствованная платформа «ПрогрессСтройЭксперт» с пользовательским интерфейсом на языке Python. Созданы все необходимые функции и классы для дальнейшего наполнения, отладки и совершенствования прототипа экспертной системы совместно со специалистами-экспертами. Программа выполнена в виде двух подпрограмм «Посадка» и «Оценка», интерфейс которых фрагментарно изображен на рис. 4, 5. После выбора входных значений в соответствующем модуле следует нажать кнопку «Рассчитать» для получения результатов расчета. На основе рассчитанных числовых значений можно выстроить 3D-модель дома на участке застройки. Также возможно добавление информации о близлежащих газопроводах, стоянках, деревьях и прочих сведений для определения требуемого отступа от границ участка. Рис. 4. Интерфейс многомодульной ЭС «Посадка» И с т о ч н и к: выполнено А.А. Меркуловым Figure 4. Interface of the multimodule ES “Landing” S o u r c e: made by A.A. Merkulov Рис. 5. Интерфейс ЭС «Оценка» И с т о ч н и к: выполнено А.А. Меркуловым Figure 5. The interface of the ES “Assessment” S o u r c e: made by A.A. Merkulov Исследование описывает методологические и программные подходы к проектированию экспертных систем поддержки принятия решений в сфере строительства. Основой служит архитектурное и программное решение, выстроенное на базе теории нечетких множеств [14-18]. Заключение Рассмотрены подходы к проектированию экспертных систем, которые помогают анализировать данные, давать экспертные рекомендации и принимать решения с использованием доступной информации в условиях неопределенности. Сделан вывод о том, что применение инструментария нечеткой логики в качестве метода хранения и обработки знаний при создании экспертных систем для проектирования строительства зданий является эффективным подходом к решению широкого класса задач в этой области. Рассмотрены программные и архитектурные подходы к проектированию экспертных систем и основные задачи, которые разработанная экспертная система способна решать на этапе подготовки к строительству, что важно для повышения качества, инвестиционной привлекательности и эффективности строительных объектов. Архитектура разработанной экспертной системы состоит из набора аналитических модулей, которые решают задачи, исходя из различных аспектов предстроительного проектирования. Структура объединенной базы знаний, состоящая из отдельных модулей, каждый из которых отвечает за определенную проблемную область, позволяет решать задачи в различных областях строительства. Таким образом, решение, на котором основана экспертная система, учитывает решение широкого класса задач, связанных с подготовкой объекта к строительству, что в целом способствует развитию экспертных систем для использования в строительной отрасли в России. Приложение. Листинг программного кода import numpy as np import pylab as pl import skfuzzy as fuzz from skfuzzy import control as ctrl sg_range=np.arange(0, 4, 0.1) … sg = ctrl.Antecedent(sg_range, 'sg') sh = ctrl.Antecedent(sh_range, 'sh') kt = ctrl.Antecedent(kt_range, 'kt') # Auto-membership #kz.automf(3, names = ['1', '2','3']) ins1 = ctrl.Consequent(ins1_range, 'ins1') # Auto-membership #kz.automf(3, names = ['1', '2','3']) ins2 = ctrl.Consequent(ins2_range, 'ins2') # … sg['1'] = fuzz.gaussmf(sg_range, 0,0.65) # [0.65 0] '0-1': … ins1['1'] = fuzz.gaussmf(ins1_range, 105, 10) # '85-135': 'gaussmf',[12.5 105.19] … fuzzy_system = ctrl.ControlSystem([ ctrl.Rule(sg['5'] & sh['3'] & kt['1'], ins1['15'] ), ctrl.Rule(sg['5'] & sh['3'] & kt['2'], ins1['2'] ), … ]) fuzzy_simulation = ctrl.ControlSystemSimulation(fuzzy_system) if _name_ == '_main_': sg.view() sh.view() kt.view() ins1.view() ins2.view() pl.show() # Set input values fuzzy_simulation.input['kz'] = 50 fuzzy_simulation.input['pz'] = 7000 fuzzy_simulation.compute() out = fuzzy_simulation.output['e'] print(out) outs=[] for i in kz_range: fuzzy_simulation.input['pz'] = 0 fuzzy_simulation.input['kz'] = i fuzzy_simulation.compute() outs.append(fuzzy_simulation.output['e'])
×

Об авторах

Александр Александрович Меркулов

Российский университет дружбы народов

Автор, ответственный за переписку.
Email: amerkulov@levelgroup.ru
ORCID iD: 0009-0006-0211-808X

аспирант кафедры механики и процессов управления, инженерная академия

Москва, Россия

Список литературы

  1. Сотникова К.Н., Колосова Н.В., Драпалюк Р.А. Моделирование гибридной экспертной системы для проектирования зданий «зеленого строительства» // Инженерные системы и сооружения. 2012. № 2. С. 105-113. EDN: PCGGMN
  2. Tur V.V., Yalovaya Y.S. Fuzzy logic - based expert system for assessment of existing concrete structures // Construction of Unique Buildings and Structures. 2019. No. 6 (81). P. 7-17. http://doi.org/10.18720/CUBS.81.1
  3. Сергиенко М.А. Разработка нечетких экспертных систем с помощью FuzzyCLIPS // Актуальные проблемы прикладной математики, информатики и механики : сборник трудов Международной научной конференции. Воронеж, 17-19 декабря 2018 года. Воронеж : Изд-во «Научно-исследовательские публикации», 2019. С. 323-325. EDN: YYJUQH
  4. Кашеварова Г.Г., Тонков Ю.Л., Фурсов М.Н. Нечеткая экспертная система диагностики повреждений строительных конструкций // Вестник Волжского регионального отделения Российской академии архитектуры и строительных наук. 2014. № 17. С. 167-173. EDN: VXPZWN
  5. Сотникова К.Н., Колосова Н.В., Толмачев А.П. Экспертная система принятия решений для реконструкции зданий с учетом принципов «зеленого строительства» // Инженерные системы и сооружения. 2012. № 1. С. 98-105. EDN: OUIBVF
  6. Кашеварова Г.Г., Дроздов К.Д. Экспертные системы на базе нечеткой логики в строительстве // Современные технологии в строительстве. Теория и практика. 2019. Т. 1. С. 268-273. EDN: VOISNR
  7. Чесалин А.Н., Гродзенский С.Я., Ван Ты Ф., Нилов М.Ю., Агафонов А.Н. Технология оценки рисков на этапах жизненного цикла продукции с использованием нечеткой логики // Russian Technological Journal. 2020. Т. 8. № 6. С. 167-183. http://doi.org/10.32362/2500-316X-2020-8-6-167-183
  8. Энс Е.С. Принятие управленческих решений в бизнес-среде на основе методов нечеткой логики, экспертных систем // Теоретические и прикладные науч-ные исследования : проблемы и пути их решения : сбор-ник научных трудов Международной научно-практи-ческой конференции. Екатеринбург, 10 октября 2020 г. Екатеринбург : НОО «Профессиональная наука», 2020. С. 35-46. EDN: ASNOCP
  9. Савченко Д.В., Резникова К.М., Смышляева А.А. Нечеткая логика и нечеткие информационные технологии // Отходы и ресурсы. 2021. Т. 8. № 1. С. 10. http://doi.org/10.15862/10ECOR121
  10. Ляпко А.М., Курочкин А.В. Библиотека для создания экспертных систем на базе алгоритмов нечеткого вывода на языке TypeScript. Минск. 2020. 79 с.
  11. Тонков Ю.Л. Математические модели для иден-тификации категории технического состояния строи-тельных конструкций на основе нечеткой логики: Дис. канд. технич. наук. Пермский национальный исследовательский политехнический университет. 2018. 208 с. EDN: EQBLJS
  12. Балмаганбетова Ф.Т. Теория нечетких множеств в современной науке // Альманах мировой науки. 2019. № 7. С. 5-6. EDN: KEWNTS
  13. Бакаев В.А., Благов А.В. Исследование подходов к построению самообучающихся экспертных систем с нечеткой логикой // Информационные технологии и нанотехнологии: сборник трудов V Международной конференции и молодежной школы. Самара, 21-24 мая 2019 года. Самара : Новая техника, 2019. Т. 4. С. 867-871. EDN: YHKERC
  14. Набокин А.А., Матвеев М.Г. Разработка оболочки экспертной системы на основе нечеткой логики // Сборник студенческих научных работ факультета компьютерных наук ВГУ. Воронеж, 2019. С. 139-145. EDN: QMBBSX
  15. Храмов В.Ю., Молчанов А.Н., Зинькевич Г.В. Оболочка интегрированной экспертной системы с нечеткой логикой // Энергия-XXI век. 2019. № 4. С. 61-69. EDN: OHKOSX
  16. Варламов О. Обзор 18 миварных экспертных систем, созданных на основе MOGAN // Известия Кабардино-Балкарского научного центра РАН. 2021. № 3 (101). С. 5-20. http://doi.org/10.35330/1991-6639-2021-3-101-5-20
  17. Киселева Э.А., Краева А.А., Савинова Ю.С. Обзор нечеткой логики в управлении // Международный журнал прикладных наук и технологий Integral. 2019. № 3. С. 401-405. EDN: WHWWVT
  18. Кульмамиров С.А., Рахимбердин Д.Р. Возможности теории нечеткой логики при анализе рисков систем информационной безопасности // Синергия наук. 2020. № 54. С. 817-831. EDN: WTMRZP

Дополнительные файлы

Доп. файлы
Действие
1. JATS XML

© Меркулов А.А., 2024

Ссылка на описание лицензии: https://creativecommons.org/licenses/by-nc/4.0/legalcode