Проблемы разработки и внедрения экспертных систем.

 

ВВЕДЕНИЕ

В настоящее время наиболее трудоемким процессом в производстве и управлении является процесс оценки ситуации и принятия решения. Это

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

Действующие ныне принципы организации обработки информации были заложены более 30 лет назад. За это время потоки и обьемы информации возросли более чем в 5 раз. При таких темпах накопления информации

прежние способы ее обработки не могут удовлетворить потребностей в доступе к новым знаниям. В настоящее время уровень вовлечения новых знаний в оборот научно-производственной деятельности составляет около 2%.

Бурный процесс совершенствования программно-технического обеспечения

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

Основными преимуществами экспертных систем над человеком являются их

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

Применение передового опыта, накопленного в рассматриваемой области

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

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

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

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

Разработанная система "Карта знаний науки" создается как интегрированная база знаний, дающая общий методологический подход к обработке и представлению знаний в определенной сфере науки и производства. Предлагаемый метод представления знаний дает возможность организовать быстрый поиск научно-технической информации за счет последовательной локализации области знаний. Эксперименты, проведенные в Московском Гидромелиоративном институте с группами студентов и аспирантов, показали, что поиск литературы по заданной тематике ускоряется в 200 - 300 раз по сравнению с традиционными. Автоматизация интеллектуального труда человека за счет внедрения данного метода на современных ЭВМ еще больше ускорит поиск и подбор литературы по заданной теме, предоставив возможность человеку больше времени уделить непосредственно творческому процессу.

Наибольший эффект применение экспертных систем должно принести в таких областях человеческой деятельности как мелиорация. Это обусловлено

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

Экспертные системы в мелиорации позволят эффективно решать такие задачи как экспертиза проектов мелиоративных систем, экологическая экспертиза, оптимальное использование водных ресурсов в условиях их ограниченности, оценка и прогноз состояния земель в отдельных регионах с

учетом хозяйственной деятельности человека и т.д.

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

1. Экспертные системы как эффективное средство решения

неформализуемых и трудноформализуемых задач.

 

1.1 Традиционные средства программирования и неформализуемые и

трудноформализуемые задачи.

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

при традиционном методе программированния проблема представлена через

описание метода ее решения непосредственно процедурноориентированным

языком. Другими словами алгоритмом решения служит описание проблемы и

решение всецело зависит от самой проблемы. При этом, решая различные

проблемы, человеку необходимо каждый раз вводить в ЭВМ одни и теже

знания, представление которых изменяется с целью адаптации к алгоритму

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

Наряду с трудностями, связанными с общей методологией использования

знаний при решении задач на ЭВМ, существуют сложности с представлением

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

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

Наряду с использованием фактов, точность и достоверность которых является предметом отдельного изучения, мелиорация как наука часто оперирует методами и законами, степень достоверности применения которых

имеет определенную величину. Так, например, только для расчета параметров дренажа широко применяются по крайней мере три схемы. Это схемы Костякова А.Н., Аверьянова С.Ф., Шестакова, целесообразность применения которых в ряде случаев может быть обоснована только с использованием метода экспертных оценок. Традиционные методы программирования

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

 

1.2 Структура и состав экспертной системы.

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

ДАННЫЕ + АЛГОРИТМ = ПРОГРАММА

на новую

ЗНАНИЯ + ЛОГИЧЕСКИЙ ВЫВОД = СИСТЕМА.

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

Для выполнения своих функций современная экспертная система необходимо должна включать в себя следующие компоненты:

1. Базу знаний - организованную определенным образом область памяти

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

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

3. Интерпретатор или машину вывода - комплекс программ, решающий на

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

4. Лингвистический процессор, осуществляющий диалоговое заимодействие

с пользователем на языке близком к естественному. Лингвистический процессор производит синтаксический и семантический анализ полученных от пользователя информации и синтез сообщений пользователю. При этом процесс взаимодействия пользователя с экспертной системой не сводится к обмену изолированными парами предложений типа "запрос-ответ", а представляет собой разветвленный диалог, в котором инициатива постоянно переходит от одного участника к другому. Это обусловлено тем, что для ответа на поставленный вопрос как пользователь, так и экспертная система чаще всего нуждаются в дополнительной информации. Запрос этой информации пользователем у экспертной системы и наоборот приводит к резкому усложнению диалога, что делает практически невозможным разрабатывать заранее так называемый сценарий диалога, что повсеместно практиковалось и практикуется сейчас при создании автоматизированных систем управления традиционного типа.

5. Комплекс программ, осуществляющий процесс приобретения знаний.

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

6. Объяснительную компоненту, предназначенную для того, чтобы в случае необходимости по запросу от пользователя объяснить действия системы и ответить на вопросы о том, почему некоторые заключения были сделаны или отвергнуты. В системе, основанной на использовании правил, ответ обычно получается путем прослеживания еще раз тех шагов рассуждения, которые привели к данному вопросу или данному заключению. Важность данной компоненты заключается в первую очередь в повышении доверия пользователя к системе.

Практика разработки экспертных систем показала, что это тот необходимый

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

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

 

1.3 Разработка и внедрение экспертных систем.

Приступая к разработке экспертных систем (ЭС) в области мелиорации,

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

и, во-вторых, в оправдании применения таких систем.

Наличие большого количества экспертов в области мелиорации - людей,

имеющих по общему мнению огромный опыт работы в этой области, дает большой шанс в пользу возможности разработки ЭС в этой области.

В отличие от предыдущих этапов развития мелиорации, когда основными

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

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

Структура и состав мелиоративной науки, объединяющей в себе большое

количество разделов, достаточно независимых и развитых до уровня самостоятельных наук, позволяет надеяться на то, что, в случае появления задач достаточно сложных и трудных для инженерии знаний, их всегда можно

будет разбить на более мелкие. Такой подход позволит иметь какбы несколько уровней интеллектуальной системы, где более высокий уровень координирует подчиненные задачи и питает свою базу знаний от них.

 

2. Принципы построения базы знаний в системе производства

продукции на мелиорируемых землях.

 

Основные принципы организации знаний применительно к системе производства продукции на мелиорируемых землях (СПП на МЗ) были разработаны Л.М. Рексом в его диссертации на соискание ученой степени доктора технических наук в 1984 году. В этой работе, используя метод системного подхода, было проведено детальное исследование мелиоративных процессов и систем. В частности, проведена разработка категорино - понятийной структуры СПП на МЗ. Были выделены следующие основные категории и общенаучные понятия:

ЧЕЛОВЕК, ИНЖЕНЕРНАЯ СИСТЕМА, МАТЕРИАЛ, СРЕДА, УПРАВЛЕНИЕ, ИНФОРМАЦИЯ, МОДЕЛЬ, ВРЕМЯ, ПРОДУКТ. В дальнейшем под различными системами, входящими в понятие ИНЖЕНЕРНАЯ СИСТЕМА мы будем понимать собственно инженерные системы как системы машин, механизмов и других материальных объектов, созданных человеком для производства определенного продукта.

Наиболее существенным с точки зрения построения базы знаний является

положение о том, что: "Важным условием категориального синтеза теории

является последующее выражение категорий через частные понятия. Для этого, наряду с кибернетической категориально понятийной структурой процесса производства сельскохозяйственной продукции на мелиорируемых землях, нам представилось целесообразным отобразить эту категорино -понятийную структуру в виде категорино -понятийной матрицы, что является одним из возможных подходов построения основ обобщающей теории мелиоротивной деятельности или мелиораций." Так, например, понятие МЕЛИОРАТИВНАЯ СИСТЕМА, в свою очередь входящая в категорию ИНЖЕНЕРНАЯ СИСТЕМА, может быть выражена через понятия инженерная СИСТЕМА СЕЛЬСКОХОЗЯЙСТВЕННОГО ПРОИЗВОДСТВА и инженерная ГИДРОМЕЛИОРАТИВНАЯ СИСТЕМА. Последняя таким же образом включает понятия инженерная ОРОСИТЕЛЬНАЯ СИСТЕМА и инженерная ОСУШИТЕЛЬНАЯ СИСТЕМА и т.д. Такой процесс представления понятия через совокупность понятий, входящих в него, будем называть детализацией понятия.

Категорино - понятийной матрицей (КПМ) нулевого уровня или основной

КПМ будем называть матрицу, каждой строке которой соответствует одно из

понятий: ЧЕЛОВЕК, ИНЖЕНЕРНАЯ СИСТЕМА, МАТЕРИАЛ, СРЕДА, УПРАВЛЕНИЕ, ИНФОРМАЦИЯ, МОДЕЛЬ, ВРЕМЯ, влияющие на процесс производства продукции. Эти понятия и их детализации различной степени в дальнейшем будем называть исходными понятиями. Единственному столбцу КПМ нулевого уровня будет соответствовать понятие ПРОДУКТ как результат процесса производства. Это понятие и его детализации различной степени в дальнейшем будем называть понятием продукта.

Графом категорино - понятийных матриц или просто графом матриц будем

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

В КПМ на пересечении строк и столбцов фиксируется определенная модель

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

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

ЕСЛИ ... ТО ...

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

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

 

3. Построение категорино - понятийного пространства.

Представление знаний с использованием аппарата категорино - понятийных матриц основано на построении двух деревьев - дерева ПРОДУКТА (П) и дерева ДЕЙСТВИЯ (Д) . Процесс построения этих деревьев заключается в том,

что каждая вершина соответствующего дерева обозначает некоторое понятие

из соответствующей области (ДЕЙСТВИЯ или ПРОДУКТА) системы категорино -понятийных матриц. При этом, подчиненная вершина соответствует понятию,

детализирующему понятие, соответствующее вершине более высокого уровня.

Другими словами понятие, соответствующее родительской вершине, обобщает понятия, соответствующие подчиненным вершинам.

Далее рассмотрим декартово произведение деревьев П (ПРОДУКТА) и Д

(ДЕЙСТВИЯ) как множество пар вида (п,д), где п - вершина дерева П, а

д - вершина дерева Д (рис. 1). Это произведение назовем категорино-

понятийным пространством (КПП). В этом случае всякому отношению между

вершинами деревьев П и Д будет соответствовать некоторое подмножество категорино - понятийного пространства.

Для построения представления знаний в области мелиорации земель целесообразно рассмотреть подпространство КПП, включающее в себя понятия из П и Д, входящие в указанную предметную область. При этом,

подпространством КПП будем называть декартово произведение двух поддеревьев соответственно из П и Д, а суммой подпространств их простое объединение как подмножеств. Заметим очевидные свойства подпространств. Два подпространства либо не пересекаются либо одно полностью содержится в другом. Это свойство непосредственно вытекает из аналогичного свойства поддеревьев. Другое важное свойство состоит в том, что подпространства непересекаются если, корневые вершины поддеревьев, являющихся проекциями этих подпространств на П или Д, хотя бы в одном из этих деревьев лежат на одном уровне. Сумма таких подпространств и будет в дальнейшем рассматриваться как предметная область и, в частности, система знаний в области мелиорации засоленных земель.

Каждой точке (п,д) из КПП поставим в соответствие совокупность знаний о

том как, в результате каких действий, входящих в понятие "д", получается

продукт "п" и назовем его элементом базы знаний З(п,д). Заметим, что

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

3.1. Структура элемента базы знаний.

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

Другой тип - это знания продукционного типа, позволяющие на основе су-

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

Научные труды представляются в базе знаний своими рефератами, составленными по определенным правилам в соответствии с формулой исследования, которая включает в себя следующие правила:

а) Дать четкое определение метатеории, которая является исходной по

отношению к теории, развиваемой в исследовании. После слов дополняющее

известные знания", завершающих описание метатеории указать, чем существующая теория не отвечает требованиям практики, т.е. охарактеризовать цель исследования (неизвестное).

б) Описать, какие методы использовались для познавания неизвестного.

в) Описать развиваемую теорию в конечном состоянии, т.е. в том виде,

который она приобрела после проведения исследования.

г) Определить практическую значимость результатов, полученных за счет

применения усовершенствованной теории.

д) Установить область возможного применения получившей развитие теории

и получаемого при этом положительного эффекта.

Все научные труды, содержащиеся в базе знаний, должны сопровождаться

следующими признаками.

Определяемые автором: наличие эксперимента, использование известной

методики эксперимента, использование новой (автора) методики эксперимента, подтверждение гипотезы экспериментом или нет, наличие теоретической методики расчета (авторской, известной), наличие эмпирической методики расчета (авторской, известной), cтепень согласованности рассчетных и экспериментальных данных.

Определяемеые рецензентом: ошибочность методики или неправильность ее применения, наличие ошибки в расчетах или самой методике расчета, ошибочность в оценке гипотезы, подтверждение новой (автора) гипотезы, подтверждение известной гипотезы, cтепень согласованности расчетных и экспериментальных данных.

Наличие этих признаков для каждой работы позволит выполнить обширный

анализ состояния научно-технических исследований в области мелиорации

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

Знания продукционого типа представляются в виде:

ЕСЛИ в1,в2,...,вN ТО д.

В данной форме в1,в2,...,вN являются некоторыми высказываниями относительно объектов предметной области. Например "средние многолетние суммарные осадки находятся в интервале 100 - 300 мм". В такого типа продукциях в случае истинности всех высказываний в1,в2,...,вN выполняется

действие "д", которое может заключаться в установлении некоторого факта.

Например, "зона полупустынная". Действие "д" может также заключаться в

выполнении определенной процедуры для получения значений атрибутов некоторого объекта, входящего в данную предметную область. Само правило также может быть представлено в виде определенной процедуры, разработанной для ЗВМ и реализующей тот или иной метод получения новых знаний и/или фактов на основе уже полученных ранее. В некоторых приложениях эти знания могут отображать перечень мероприятий и средств для решения проблем, обозначенных в соответствующей вершине дерева ДЕЙСТВИЯ в условиях, определенных в соответствующей вершине дерева ПРОДУКТА. Рассматривая многообразие областей применения данного подхода, необходимо отметить, что сами названия деревьев (ПРОДУКТ и ДЕЙСТВИЕ) достаточно условны. Например, изменив названия на СРЕДСТВА ЛЕЧЕНИЯ (аппаратура, лекарства и т.п.) и БОЛЕЗНЬ, мы переходим в совершенно иную область применения - медицину и т.д.

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

4. Структура базы знаний.

Логическая структура БЗ представлена в двух файлах древовидной структуры (рис. 3), содержащие категорино - понятийные деревья соответственно дерева ДЕЙСТВИЯ и дерева ПРОДУКТА. Структура этих файлов одинакова. Каждой вершине дерева соответствует одна запись. Первые 4 байта файла содержат максимальный идентификатор записи

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

смещение длина содержимое

0 1 (n) Длина имени вершины.

1 n Имя вершины.

n+1 4 Ссылка на вершину справа или 0.

n+5 4 Ссылка на левую вершину нижнего уровня

или 0.

n+9 4 Идентификатор записи (списка рефератов).

Последнее поле может использоваться как указатель на объекты

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

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

Логическая структура рабочей области БЗ, реализованной в данной версии

системы состоит из трех файлов библиотечной структуры. Каждому дереву

категорино - понятийного пространства (КПП) ставится в соответствие файл библиотечной структуры(рис. 4), содержащий списки идентификаторов научных трудов, ассоциированных с данной вершиной дерева.

Идентификатором списка является идентификатор соответствующей вершины.

Точка категорино - понятийного пространства или пара записей (вершин из

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

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

Оглавление библиотечного файла является одним из разделов библиотеки и

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

(первые шесть байт файла). Оглавление, как раздел библиотеки, состоит из

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

Библиотеки списков рефератов содержат разделы переменной длины. Каждый раздел является списком идентификаторов элементов знаний. Длина идентификатора равнвна 4-ем байтам. Количество идентификаторов определяется из длины раздела. Раздел библиотеки, содержащей собственно элемент знаний в виде реферата научной работы, должен быть разделен на фрагменты в соответствии с формулой исследования. При этом разделителем служит символ '\1' (код 01). Первый фрагмент раздела содержит атрибуты статьи (18 байтпо одному на каждый атрибут) и ее название. Далее по формуле исследования.

Атрибуты реферата, заполняемые автором:

байт значение

0 Наличие эксперимента

1 Использование известной методики эксперимента

2 Использование новой (автора) методики эксперимента

3 Подтверждение гипотезы экспериментом

4 Наличие известной теоретической методики расчета

5 Наличие новой(автора) теоретической методики расчета

6 Наличие известной эмпирической методики расчета

7 Наличие новой(автора) эмпирической методики расчета

8 Степень согласованности расчетных и эмпирических

данных по десятибальной шкале

Атрибуты реферата, заполняемые рецензентом:

байт значение

9 Ошибочность методики

10 Неправильное применение методики

11 Ошибочность в оценке гипотезы

12 Подтверждение известной гипотезы

13 Подтверждение новой(автора) гипотезы

14 Степень согласованности расчетных и эмпирических

данных по десятибальной шкале

15-18 Резерв.

Такая структура БЗ позволяет проводить практически независимо друг

от друга процессы построения логической структуры БЗ (категорино -

понятийное пространство) и непосредственно наполнение базы конкретными

знаниями. Ограничение здесь только одно - сначала необходимо создать

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

 

5. Система управления базой знаний "КАРТА ЗНАНИЙ".

5.1 Общие сведения о программном комплексе.

Основными функциями системы управления бвзой знаний (СУБЗ) являются:

построение к корректировка категориально-понятийного пространства (КПП),

наполнение БЗ элементами знаний, учет доступа к информации, сервисные и

другие вспомагательные функции.

5.2 Начало работы и парольная система.

В процессе инициации программного комплекса на экране появляется заставка с указанием названия комплекса его разработчиков и необходимыми для обращения за справками реквизитами. Для продолжения работы комплекса необходимо нажать любой символ отличный от клавиши Esc. Нажатие клавиши Esc приводит к прекращению работы комплекса. В случае продолжения работы управление получает парольная система. На экране появляется окно со списком пользователей, имеющих доступ к БЗ. Используя клавиши управления курсором, пользователь должен подвести выделенную строку к своей фамилии и нажать клавишу Enter. Система запрашивает пароль. При вводе пароль на экране не отображается. Если пароль указан неверно система предлагает продолжить сеанс в режиме демонстрации или завершить работу. Режим демонстрации отличается тем, что все изменения в БЗ либо совсем запрещены, либо имитируются для наглядности. В любом случае информация, содержащаяся в БЗ не изменяется. Если пароль указан правильно, на экране появляется окно главного меню со следующим списком основных функций системы:

- Корректировка списка пользователей.

Позволяет производить добавления и удаления пользователей, установку их

статусов и паролей. Доступна пользователям со статусом 0.

- Изменение собственного пароля.

Пользователь с любым статусом может изменить свой пароль, но не статус.

- Управление БЗ.

Выполняет все функции, связанные с созданием и корректировкой КПП, и

функции, связанные с заполнением БЗ.

- Файл накопления фрагментов.

При работе с информационными об'ектами предусмотрено выделение отдельных фрагментов информации и добавление их в специальный текстовый файл.

В начале сеанса текущим файлом фрагментов является файл с именем

DBKNFRAM.DOC. В процессе работы пользователю предоставляется возможность замены имени файла фрагментов. При этом старый файл сохраняется, если в него была произведена запись хотябы одного фрагмента. Таким образом, пользователь может создавать набор файлов с фрагментами информации из БЗ для последующей обработки другими средствами.

- Установка параметров БЗ.

Основной особенностью СУБЗ, позволяющей существенно расширить область ее применения, является возможность корректировки ключевых параметров предметной области. Данная функция предназначена для изменения следующих параметров предметной области и функционирования системы: названия панелей, отображающих деревьевья КПП; имена файлов БЗ; название и структуру формулы исследования. Данная функция доступна пользователю со статусом 0.

- Слияние баз знаний.

Накопление знаний является наиболее трудоемким процессом в деятельности

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

- Поиск по ключевым словам.

Если конкретное приложение предусматривает раздел формулы исследования "Ключевые слова", данная функция организует выборку элементов знаний по ключевым словам. Для задания условия выборки используются логические формулы по типу исчисления высказываний, термами которых являются ключевые слова. Другими словами в качестве запроса пользователь составляет логическую формулу, используя ключевые слова и операции &(И), |(ИЛИ) и !(НЕ). Далее происходит просмотр всех элементов знаний или элементов знаний, входящих в некоторое подпространство КПП, и выделяются те, для которых запрос является истинным. Наряду с этим функция поддерживает библиотеку запросов.

 

5.3 Создание логической структуры БЗ. Работа с деревьями КПП.

Выбор функции "Управление БЗ" приводит к появлению на экране двух панелей со списками вершин дерева ДЕЙСТВИЯ и дерева ПРОДУКТА. При этом текущей панелью является левая панель, соответствующая дереву ДЕЙСТВИЯ. Текущая панель определяется тем, что ее название отображается на красном фоне. Переключение текущей панели осуществляется нажатием клавиши Tab (табуляция). Для каждой панели фиксируется текущая вершина, имя которой отображается на светлом фоне. В данном фрагменте диалога пользователю предоставляются следующие возможности, выбор которых производится нажатием соответствующих функциональных клавиш.

Завершение сеанса (Esc).

Помощь (F1). На экране появляется окно с перечнем функциональных

клавиш и действий, производимых системой при их нажатии.

Вставка новой вершины (Insert).

На экране появляется окно с выбором места расположения новой вершины - на томже уровне дерева или новая вершина должна стать подчиненной текущей. Затем пользователю предоставляется возможность ввести имя вершины.

Удаление текущей вершины.

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

Информация, которая ассоциирована также и с другими вершинами остается в

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

Корректировка имени вершины (F4).

При нажатии данной клавиши в первой позиции названия текущей вершины появляется курсор. Используя клавиши управления курсором, удаления и клавиши символов пользователь может изменить название вершины. Процесс корректировки заканчивается нажатием клавиш Esc или Enter. При этом клавиша Esc отменяет корректировку названия, а Enter приводит к изменению названия в БЗ. Никаких других изменений в БЗ не производится.

Выбор элемента КПП (Enter).

Система инициирует компоненту REFERAT. На экране появляется список названий научных работ, соответствующих данному элементу КПП.

Ввод последней выбранной работы в текущий элемент КПП (F2).

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

Отображение матрицы (F3).

При нажатии клавиши F3 система инициирует компоненту DBKNMATR для отображения элементов КПП в виде категорино - понятийной матрицы, столбцы и строки которой соответствуют спискам вершин, расположенным на текущих уровня соответствующих деревьев.

 

5.4 Матричное представление КПП.

В данной среде категорино - понятийное пространство представляется в

виде ориентированного графа, вершинами которого являются категорино-

понятийные матрицы (КПМ), а дуги отражают процессы детализации понятий.

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

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

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

В дополнении к вышеперечисленным функциональным клавишам используются следующие:

Home - Переход к более высокому уровню в дереве ДЕЙСТВИЯ. На экране

отображается матрица с теми же столбцами и строками, соответствующими

вершинам дерева ДЕЙСТВИЯ, расположенным на один уровень выше.

PgUp - Переход к более высокому уровню в дереве ПРОДУКТА. Аналогично

клавише Home для дерева ПРОДУКТА.

End - Детализация понятия в дереве ДЕЙСТВИЯ. На экране отображается

матрица с темиже столбцами и строками, соответствующими вершинам дерева ДЕЙСТВИЯ, являющимся подчиненными текущей вершине.

PgDn - Детализация понятия в дереве ПРОДУКТА. Аналогично клавише End

для дерева ПРОДУКТА.

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

Нажатие клавиши Enter, как и в случае работы с деревьями КПП, приводит

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

соответствующих текущему элементу КПП.

 

5.5 Ввод и корректировка элементов знаний.

Как было сказано выше, переход в среду ввода и корректировки информации о научных трудах осуществляется нажатием клавиши Enter после выбора текущей вершины КПП либо при работе с панелями деревьев, либо в режиме матричного представления КПП. При этом на экране отображается список названий научных трудов, ассоциированных с данным элементом КПП. Последняя строка в этом списке содержит текст 'НОВЫЙ ЭЛЕМЕНТ'. Выбор этой строки указывает на необходимость ввода информации о научной работе, которой нет в данном элементе КПП. Выбор строки с названием научной работы устанавливает режим корректировки информации о данной работе. Выбор строки осуществляется клавишами управления курсором (вверх, вниз). При этом текущая строка отмечена горизонтальной стрелкой слева от первой строки названия работы. Для перехода к режиму ввода/корректировки необходимо нажать клавишу Enter. Информацию о научной работе можно удалить. При нажатии клавиши Del система предупреждает об удалении с требованием подтвердить решение пользователя об удалении. В случае подтверждения работа удаляется из списка ассоциированных с данным элементом КПП и, если не найдено другого элемента КПП, с которым данная работа ассоциирована, информация о научной работе удаляется из базы знаний. При этом происходит логическое удаление. Это означает, что информация перестает быть доступной пользователям БЗ. Однако, физическое пространство памяти, которое эта

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

произведена процедура реорганизации базы знаний. Данное пространство так

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

Клавиша Esc, как в большинстве других ситуаций, приводит к возврату в

предидущую среду.

После выбора названия научной работы система отображает список частей

формулы исследования. Название формулы исследования, количество и названия ее частей содержатся в файле параметров системы (SETUP.KN) и могут быть изменены пользователем. При этом надо учитывать то, что уже существующая в БЗ информация соответствует предыдущей формуле. Пользователю необходимо следить за тем, чтобы либо изменения в формуле были незначительными, либо делать эти изменения при пустой базе знаний. Далее, работая с формулой исследования, пользователь выбирает нужную часть. Название текущей части фомулы исследования отображается на светлом фоне. Выбор производится клавишами управления курсором (вверх, вниз). Подтверждение выбранной части осуществляется нажатием клавиши Enter. Клавиша Esc переводит систему в предыдущую среду (выбор названия работы). Все части формулы исследования за исключением ниже отмеченных обрабатываются одинаково. Происходит обращение к компоненте ТЕКСТОВЫЙ РЕДАКТОР. При этом появляется окно с названием данной части формулы в верхней рамке окна и текстом этой части, если он есть. Подробнее смотрите описание компоненты ТЕКСТОВЫЙ РЕДАКТОР. Для части 'Список пользователей' происходит тоже самое, но внесение каких либо изменений в эту часть запрещено. Для части 'Атрибуты работы' на экране отображается список атрибутов, опеделяемых автором, и после нажатия клавиши Esc атрибутов, определяемых рецензентом.

В обоих списках справа от названий атрибутов расположен столбец с их значениями. В этом столбце значение текущего атрибута отражено на светлом

фоне. Значения бывают двух типов. Тип 'ДА/НЕТ' переключаются нажатием

клавиши Enter. Числовые атрибуты устанавливаются путем ввода соответствующего числа.

Компонента REFERAT прекращает свою работу при нажатии клавиши Esc в

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

5.6 Ввод и редактирование текста.

В тех случаях, когда необходимо ввести или отредактировать текст произвольной длины система инициирует ТЕКСТОВЫЙ РЕДАКТОР. В среде редактора пользователю предоставляются широкие возможности для редактирования текста. Завершение работы с редактором используется клавиша Esc. Краткую информацию о работе редактоа и используемых в его среде функциональных клавишах пользователь может получить нажав клавишу F1. Процесс редактирования начинается в режиме вставки. Используя клавишу Insert, пользователь может изменить режим вставки на режим замены и обратно. В процессе редактирования текст представляется как непрерывная последовательность символов. В режиме вставки текущий символ и все символы справа от него сдвигаются вправо и очередной символ поступает на освободившееся место. В режиме замены очередной символ заменяет текущий. Это правило не относится к символу 'конец строки' см. ниже. Текущий режим обозначается словами 'вставка' и 'замена', отображаемыми в левой стороне нижней границы окна редактора вместе с номерами текущей строки и текущей позиции курсора.

Разбиение текста на строки производится вставкой символа 'конец строки'

в нужное место текста. Данный символ не отображается на экране. Его наличие определяется переходом текста на другую строку. Для вставки символа 'конец строки' необходимо нажать клавишу Enter в режиме вставки. Заметим, что в режиме замены клавиша Enter осуществляет перевод курсора в первую позицию следующей строки. Удаление символа 'конец строки' (слияние двух строк) производится также, как и обычных символов клавишами Del, если курсор находится в конце строки или клавишей <-Del (удаление слева), если курсор находится в первой позиции следующей строки. В процессе редактирования пользователь может выделять блоки смежных символов в той или иной части текста. Одновременно может быть выделен только один блок. Выделение блока осеществляется клавишами управления курсором при нажатой клавише Shift. При выделении очередного блока отметка предыдущего блока гасится.

В добавление к этому в среде редактора используются следующие функциональные клавиши.

- PgDn, PgUp - Листание текста на страницу (окно) вниз и вверх.

- Home, End - Перевод курсора в начало и конец текущей строки.

- Shift Del - Удаление блока.

- F2 - Сохранение текущего состояния текста в БЗ. В процессе редактирования текст постоянно на ходится в оперативной памяти ЗВМ, что приводит к потере результатов работы в случае аварийного или неправильного завершения работы. Данная функция позволяет фиксировать в рабочем файле промежуточные результата редактирования с целью минимизировать потери в случае аварийного завершения.

- F3 - Загрузка текста из указанного файла. Пользователю предоставляются широкие возможности для поиска и указания необходимого файла см. компоненту ВЫБОР ФАЙЛА. Текст загружается в зависимости от режима. В режиме 'вставка' текст вставляется в текущую позицию редактируемого текста. В режиме 'замена' текст полнлстью заменяет редактируемый.

- F4 - Загрузка текста, ранее зафиксированного при помощи клавиши F2.

- F5 - Добавление фрагмента в файл фрагментов. В качестве фрагмента выбирается весь раздел элемента знаний или блок, если он выделен.

- F6 - Печать фрагмента. В качестве фрагмента выбирается весь раздел

элемента знаний или блок, если он выделен.

- F9 - Гашение выделеного блока. Информация сохраняется. Выделенного

блока нет.

5.7 Определение имени файла.

Данная компонента инициируется везде, где необходимо указать имя файла,

с которым будут произведены те или иные действия. На экране появляется

окно, состоящее из двух частей. В верхней части расположена строка текущего каталога. В этой панеле отображается путь к текущему каталогу и шаблон имени файла. Шаблон представляет собой имя файла, в котором могут

встречаться символы '*' и/или '?'. При этом имя файла считается удовлетворяющим шаблону, если оно может быть получено заменой этих символов любыми допустимыми для имени файла символами. При замене знак '*' можно заменять на любое допустимое количество символов или опускать. Знак '?' заменяется на один и только на один символ. Переход в эту часть осуществляется клавишей PgUp. Пользователю предоставляется возможность отредактировать текст, находящийся в этой строке. После нажатия клавиши Enter система использует указанный файл, если указан путь к файлу. В противном случае осуществляется переход в нижнюю часть, где отображается список фийлов и подкаталогов указанного каталога, удовлетворяющий данному шаблону.

В данный список не включаются все файлы, имеющие расширения EXE, COM и OBJ. В нижней части, используя клавиши управления курсором, пользователь выбирает нужную строку и нажимает клавишу Enter. При этом производятся следующие действия. Если курсор отмечает имя файла, то выбирается этот файл. Если курсор отмечает имя каталога, то отображается содержимое данного каталога. Если курсор отмечает строку "..\", то отображается содер-

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

Заключение.

Система программ "КАРТА ЗНАНИЙ" построена по модульному принципу, что

позволяет дальнейшее расширение функциональных возможностей системы.

В дальнейшем предполагается разработать истему наполнения БЗ продукционными и функциональными знаниями. Это позволит перейти от накопления знаний к автоматизации процесса получения новых знаний.









Если вам необходим почтовый аккаунт, тогда почта на Qip.ru - ваш выбор. Для хранения фото и видео рекомендуем бесплатный фотохостинг.
Для студентов и абитуриентов: крупнейшая библиотека рефератов и сочинений. Скриншот экрана - просто и удобно с QIP Shot.