Мивары: 25 лет создания искусственного интеллекта - [54]

Шрифт
Интервал

При помощи функции LearnNew() процесс просматривает все правила блока и, если в просматриваемом правиле присутствует известный параметр (номер которого есть в массиве curr), то в структуре Rule в поле массива флагов известности параметра ставится единица, а поле, содержащее количество неизвестных параметров правила, уменьшается на единицу.

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

Этап 3. После применения этих правил на предыдущем этапе появляются новые известные параметры, которые каждый процесс отсылает root-процессу в виде номеров параметров и их значений. Далее root-процесс заново формирует массив curr и процедура повторяется в цикле до тех пор, пока (аналогично программному комплексу «УДАВ»):

· не будут найдены все искомые параметры системы;

· не будут найдены все параметры, которые могут быть найдены.

В первом случае задача успешно решена, а во втором случае задача либо решена частично, либо не решена из-за недостатка входных данных. Дальнейшие действия выполняются аналогично ПК "УДАВ".

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

6.4. Адаптация ПК «УДАВ» к конкретной предметной области – ПК «УДАВ. Геометрия»

6.4.1. Общее описание ПК «УДАВ. Геометрия»

ПК «УДАВ. Геометрия» является адаптацией ПК «УДАВ» к решению геометрических задач в треугольниках.

Рассмотрим решение задач школьной геометрии про треугольники (рисунок 74). Известно много зависимостей между сторонами, медианами, высотами, углами и другими характеристиками треугольника: теоремы синусов, косинусов, Пифагора и др. – а также формулы получения периметра треугольника, его площади и т.д. Поэтому известно много разных задач в геометрии: найти площадь по двум сторонам и углу между ними; по высоте и стороне с углом определить другие стороны, построить медианы и т.п. В геометрии треугольника известно более 33 геометрических объектов и 161 правило (зависимости, законы, теоремы и т.д.), описывающее взаимосвязи объектов, что позволяет составить 33 факториал различных геометрических задач. Ранее универсальных программ решения этих задач не было.


Рисунок 74 – Иллюстрация задания параметров треугольника


В ПК «УДАВ. Геометрия» реализовано решение в реальном времени геометрических задач в треугольниках с использованием 33 геометрических объектов и 161 правила, что ранее считалось невозможным. Это пример применения ПК «УДАВ» для решения не логической, а вычислительной задачи.

ПК "УДАВ. Геометрия" выполнен по технологии Java, которая является объектно-ориентированной платформо-независимой многопоточной средой программирования.

ПК "УДАВ. Геометрия" может выполняться на обычной ПЭВМ.

6.4.2. Возможность расширения используемого в ПК «УДАВ. Геометрия» набора объектов и правил

Программный комплекс «УДАВ. Геометрия» позволяет расширять используемый в ней набор объектов и правил без необходимости редактирования программы и ее перекомпиляции. Это может сделать любой ее пользователь, открыв для редактирования специальный настроечный XML – файл и добавив в него необходимые записи. Пример содержимого этого файла показан на рисунке 75.


Рисунок 75 – Пример записи переменных и правил в настроечный XML– файл


Для добавления объектов (параметров) в настроечном файле предусмотрена секция parametrs, в которую для каждого нового параметра необходимо добавить строку parametr со следующими данными: идентификатор параметра (переменная id), значение параметра (переменная value), описание параметра для отображения в интерфейсе программы (переменная description). Пример строки для нового параметра с указанными в ней его характеристиками показан на рисунке 75.

Для добавления нового правила предусмотрена секция rules, в которую для каждого нового правила необходимо добавить строку rule со следующими данными: идентификатор правила (переменная id); идентификатор переменной, которая является результатом вычисления по этому правилу (переменная resultId); идентификаторы переменных, необходимых для выполнения правила (переменная initId); само правило, то есть формула для вычисления переменной-результата при помощи указанных необходимых переменных (переменная value); описание правила (переменная description).

6.4.3. Описание порядка работы с ПК «УДАВ. Геометрия» при решении в нем задач

На рисунке 76 показано главное окно программы. В его центре расположена «Таблица исходных данных», содержащая перечень наименований геометрических объектов (характеристик) треугольника, поле для каждого объекта для ввода его значения, и поле для каждого объекта для установки признака необходимости его вычисления. Слева от таблицы находится область для вывода текстового описания выполнения программой поиска заданных параметров, в справа – область для иллюстрации процесса поиска в графическом виде.


Рекомендуем почитать
Узлы: карманный справочник: 40 пошаговых инструкций для начинающих

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


Список гениальных книг!

Составлено гением. Для ангеловедов, читателей и потомков. Подсчитаны книжные буквы за четверть века, математический подход. Самая финальная версия от 28 декабря 2020 года.«Ты сам всё увидишь. Ибо блажен тот, кто способен видеть. И, разумеется, способен читать» (с). Андрей Ангелов.


Право руля! – 3

Скандальные и социально острые статьи, опубликованные в рубрике «Автосалун» газеты «Московский комсомолец» и перепечатанные десятками журналов и газет, объявленные гаишниками вне закона и даже подвергнутые ими сожжению, увидели свет в третьем издании книги «Право руля!» известного журналиста и правозащитника Виктора ТРАВИНА.В книгу вошли, в частности, бестселлер «Самоучитель игры на Кодексе», в популярной форме, с долей юмора и оптимизма разъясняющий положения Кодекса РФ об административных правонарушениях и обучающий эксклюзивным приемам ведения процессуального поединка с сотрудниками ГАИ-ГИБДД.


Балансиры и безнасадочные мормышки

Балансиры в настоящее время – самые модные приманки при ловле со льда. Оправдан ли такой интерес к горизонтальным блеснам? Ни минуты не сомневаясь, скажу: «Да». Балансиры – не панацея от всех рыболовных промахов, но, без сомнения, это – уловистые приманки, а в определенные отрезки времени – просто незаменимые.Книга является ликбезом для 70% зимних рыболовов. Внимательно прочитав справочник, многие читатели почувствуют себя гораздо увереннее на просторах наших водоемов, то есть станут Рыболовами с большой буквы.


Международные нормы разведения

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


Телефонный компас

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