Программные средства проектирования систем искусственного интелекта

Заказать уникальный реферат
Тип работы: Реферат
Предмет: Искусственный интеллект
  • 30 30 страниц
  • 12 + 12 источников
  • Добавлена 12.12.2018
748 руб.
  • Содержание
  • Часть работы
  • Список литературы
  • Вопросы/Ответы
Введение 3
1 Основные понятия искусственного интеллекта 4
2 Классификация систем искусственного интеллекта 7
2.1 Общая теория классификации систем ИИ 7
2.2 Модели представления знаний 8
3 Наиболее распространенные ПС проектирования систем ИИ 9
3.1 История создания ПС проектирования систем ИИ 9
3.2 Введение алгоритма min-max 11
3.3 Установка JDK и JRE 13
3.4 Применение ПС языка Python и Graphviz проектирования систем ИИ 15
3.5 Введение в приложения для поиска файлов 16
3.6 Основные понятия поиска 18
3.7 Формулировка проблемы поиска 19
3.8 Создание деревьев с узлами 24
Заключение 30
Список использованной литературы 31
Фрагмент для ознакомления

Принимая во внимание рис. 15, если текущее состояние равно d2, оно должно возвращать пути к d21 и d22:






Рисунок 15 – Схема сокращения путей поиска
Теперь необходимо создать предыдущую функцию со следующим кодом:


Рисунок 16 – Новый код для создания нескольких состояний образца

Предыдущая функция проверяет, является ли текущий путь каталогом. Если это каталог, он получает отсортированный список всех папок и файлов внутри него и добавляет текущий путь к ним. Если это файл, он возвращает пустой массив. Теперь необходимо проверить эту функцию с помощью некоторого ввода. Для этого нужно открыть модуль StateTest и выполнить действия с наследниками начального состояния и промежуточного состояния.
Как показано в предыдущем коде, преемники текущего каталога (или начальное состояние) являются файлами проекта LiClipse и папками d1, d2 и d3, а также преемником промежуточного состояния является файл f211.txt. Результат выполнения предыдущего кода показан на следующем снимке экрана (рис. 17).
Наконец, необходимо рассмотреть функцию цели. При этом выполнение целевой функции должно возвращать False для d21 и True для файла f211.txt. Процесс реализации этой функции в коде представлен на рис. 18.






Рисунок 17 – Результат выполнения предыдущего кода

Рисунок 18 – Процесс реализации этой функции в коде

Как показано в предыдущем коде, функция checkGoalState () является нашей целевой функцией. Это дает возможность проверить, является ли текущий путь каталогом. Теперь, поскольку ведется поиск необходимого файла, произойдет возврат значения False, если это каталог. Если это файл, он извлекает имя файла с пути. Имя файла - это подстрока пути от последнего вхождения косой черты до конца строки. Следовательно, после извлечения имени файла и сравнения его с f211.txt, идет процесс проверки. Если они совпадают, то будет возвращено значения True; в противном случае – False. Также нужно осуществить проверку этой функции для состояний, которые уже созданы. Для этого надо открыть StateTest, как показано на рис.19.
Как видно, функция возвращает False для текущего каталога, возвращает False для папки d21, и он возвращает True для файла f211.txt. Теперь, когда имеется три компонента в алгоритмах поиска.









Рисунок 18 – Проверка функции для состояний, которые уже созданы

В следующем подразделе данной работы будет рассмотрено создание деревьев поиска с узлами.

3.8 Создание деревьев с узлами

В данном случае важны понятия состояний и узлов, а также свойства и методы node node. На практике необходимо создать дерево с узловыми объектами. В таких приложениях состояние - это путь к файлу или папке, которая обрабатывается (для примера, текущий каталог). При этом узел является инструментом в дереве поиска (для примера, текущий узел каталога). У узла есть много свойств, и одним из них является состояние. Другие свойства являются следующими:
глубина: это уровень узла в дереве и ссылка на родительский узел, который состоит из ссылок на родительский узел
ссылки на дочерние узлы на дочерние узлы.
В качестве примера этих понятий в текущем узле каталога можно привести следующую ситуацию.
глубина: 0
ссылка на родительский узел: Нет
ссылки на дочерние узлы: d1, d2, d3 фигура







Рисунок 19 Пример создания дерева при отсутствии родительского узла

Для узла d3, когда существует родительский узел, ситуация будет следующая.
глубина: 1;
ссылка на родительский узел: узел текущего каталога;
ссылка на дочерние узлы: f31.







Рисунок 20 Пример создания дерева при наличии родительского узла


Пример концепций для этого файлового узла f111 представлен в коде, расположенном на рис. 21. При этом создается класс Node, который включает в себя четыре свойства, укзанные выше.:











Рисунок 21 – Пример концепций для этого файлового узла f111

Как показано в предыдущем коде, мы создали класс Node, и это class имеет конструктор, который принимает состояние как аргумент. Государственный аргумент присваивается свойству состояния этого узла, а остальные свойства инициализируются следующее: Глубина установлена равной 0. Ссылка на наследников устанавливается в пустой массив, а на родительские – на None. Этот конструктор создает пустой узел для дерева поиска. Помимо конструктора необходимо создать следующие два метода: addChild (). Этот метод добавляет дочерний узел под родительским узлом printTree (): этот метод печатает древовидную структуру. Следующий код для функции addChild () выглядит так:




Метод addChild () принимает дочерний узел в качестве аргумента; дочерний узел добавлен в массив children, а родительский элемент дочернего узла назначен как его родительский. Глубина дочернего узла - это родительский узел плюс один. Блок-схема этого процесса более четко представлена на рис. 22











Рисунок 22 – Метод addChild ()

Далее необходимо добавить узел f31 под узлом d3. Итак, f31 будет добавлен в свойство child d3 и родительское свойство f31 будут назначаться как d3. Кроме того, глубина дочернего узла будет больше, чем родительский узел. Здесь
глубина узла d3 равна 1,
глубина f31 равна 2.
Функцию printTree будет выглядеть следующим образом:




Во-первых, эта функция печатает глубину и состояние текущего узла; Затем это просматривает всех своих наследников и вызывает метод printTree для каждого из них. Далее необходимо создать дерево поиска, показанное на рис. 23.






Рисунок 23 – Дерево поиска
Из рис. 23 следует, что в качестве корневого узла будет Current узел каталога. Под этим узлом имеются узлы d1, d2 и d3. Нужно создать модуль NodeTest, который создаст образец дерева поиска:











Как показано в предыдущем коде, создано начальное состояние. При этом создав состояние объект без аргументов, можно затем передать это начальное состояние классу Node конструктор, который создает корневой узел. Чтобы получить папки d1, d2 и d3, необходимо вызвать метод successorFunction в начальном состоянии, и «зациклить» каждого из наследников состояния (для создания узла из каждого из них). После добавления каждый дочерний узел под корневой узел, необходимо выполнить предыдущий код, после чего будет результат, приведенный на рис. 24.











Рисунок 24 – Результат создания дерева.

Из рис. 24 видно, что текущий каталог имеет глубину 0 и все его содержимое имеют глубину 1, включая d1, d2 и d3.
При этом был успешно построен образец дерева поиска, используя класс Node.


Заключение

В заключении отметить, что развитие ПС проектирования систем ИИ дает возможность человеку ускорить свою работу и развитие в целом во многих направлениях. ИИ, создаваемый и расширяемый человеком, превращает границы сложности, появляющиеся перед человеком, в систематически раздвигаемые. В современном мире это очень важно, так как скорость работы многих предприятий при использовании современных ИТ, ПО и ИИ. Решение проблем при разработке ИИ является значительным вкладом в развитие современного общества. Но следует разрабатывать и постоянно модернизировать и создавать безопасные ПС при использовании ИИ, так как без них от него же может поступить колоссальный вред.
В данной работе достигнута основная цель – описаны программные средства проектирования систем искусственного интеллекта.
В данном реферате были решены следующие задачи:
привести основные понятия искусственного интеллекта;
привести классификацию систем искусственного интеллекта;
описать наиболее распространенные программные средства проектирования систем искусственного интеллекта.
Также в процессе написания реферата были использованы современные и классические источники литературы и глобальной сети Internet.

Список использованной литературы

Информационные технологии: учебник / под ред. В. В. Трофимова. — М. : Издательство Юрайт ; ИД Юрайт, 2011. — 624 с.
What is Artificial Intelligence? FAQ от Джона Маккарти, 2007.
Павский В.А., Павский К.В. Линейная алгебра в теории вычислительных систем: Учебное пособие. – Новосибирск: СибГУТИ, 2013. – 196 с.
Математическая логика и теория алгоритмов: учебное пособие / сост.: А.Н. Макоха, А.В. Шапошников, В.В. Бережной. - Ставрополь: Изд-во СКФУ, 2017. – 418 с.
Искусственный интеллект. - Модели и методы: справочник / ред. Д.А. Поспелова. - М.: Радио и связь, 1990. – 304 с.
Змитрович А.И. Интеллектуальные информационные системы. - Минск: НТООО «ТетраСистем», 1997. – 368 с.
Бахтин А.В., Ремизова И.В. Элементы искусственного интеллекта в системах управления. Учебное пособие. — СПб: СПбГТУРП, 2014. – 54 с.
Тельнов Ю.Ф., Трембач В.М. Интеллектуальные информационные системы. - М.,2008. - 63 с.
Пятаева, А. В.Интеллектуальные системы и технологии : учеб. пособие /В. Пятаева, К. В. Раевич. - Красноярск : Сиб. федер. ун-т, 2018. - 144 с.
Гусарова Н.Ф. Введение в теорию искусственного интеллекта. - СПб: Университет ИТМО, 2018. - 62 с.
Joshi N. Hands-On Artificial Intelligence with Java for Beginners. Packt Publishing, 2018. - 144p.
Patel D. Hands-On Artificial Intelligence for Search: Building intelligent applications and perform enterprise searches. Packt Publishing, 2018. — 124 p.








31

Список использованной литературы

1. Информационные технологии: учебник / под ред. В. В. Трофимова. — М. : Издательство Юрайт ; ИД Юрайт, 2011. — 624 с.
2. What is Artificial Intelligence? FAQ от Джона Маккарти, 2007.
3. Павский В.А., Павский К.В. Линейная алгебра в теории вычислительных систем: Учебное пособие. – Новосибирск: СибГУТИ, 2013. – 196 с.
4. Математическая логика и теория алгоритмов: учебное посо¬бие / сост.: А.Н. Макоха, А.В. Шапошников, В.В. Бережной. - Ставрополь: Изд-во СКФУ, 2017. – 418 с.
5. Искусственный интеллект. - Модели и методы: справочник / ред. Д.А. Поспелова. - М.: Радио и связь, 1990. – 304 с.
6. Змитрович А.И. Интеллектуальные информационные системы. - Минск: НТООО «ТетраСистем», 1997. – 368 с.
7. Бахтин А.В., Ремизова И.В. Элементы искусственного интеллекта в системах управления. Учебное пособие. — СПб: СПбГТУРП, 2014. – 54 с.
8. Тельнов Ю.Ф., Трембач В.М. Интеллектуальные информационные системы. - М.,2008. - 63 с.
9. Пятаева, А. В.Интеллектуальные системы и технологии : учеб. пособие /В. Пятаева, К. В. Раевич. - Красноярск : Сиб. федер. ун-т, 2018. - 144 с.
10. Гусарова Н.Ф. Введение в теорию искусственного интеллекта. - СПб: Университет ИТМО, 2018. - 62 с.
11. Joshi N. Hands-On Artificial Intelligence with Java for Beginners. Packt Publishing, 2018. - 144p.
12. Patel D. Hands-On Artificial Intelligence for Search: Building intelligent applications and perform enterprise searches. Packt Publishing, 2018. — 124 p.

Вопрос-ответ:

Какие есть программные средства для проектирования систем искусственного интеллекта?

Одним из основных программных средств для проектирования систем искусственного интеллекта является язык программирования Python. Также часто используется среда разработки Jupyter Notebook и графическая библиотека Graphviz.

Какие основные понятия связаны с искусственным интеллектом?

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

Какие системы искусственного интеллекта существуют?

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

Какие модели представления знаний используются в системах искусственного интеллекта?

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

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

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

Что такое искусственный интеллект?

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

Какие существуют классификации систем искусственного интеллекта?

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

Какие модели представления знаний используются в системах искусственного интеллекта?

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

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

Наиболее распространенными программными средствами для проектирования систем искусственного интеллекта являются системы Lisp, Prolog, Python, а также инструменты разработки, включающие в себя среды программирования и графические редакторы.

Какие шаги необходимо выполнить для установки JDK и JRE?

Для установки JDK (Java Development Kit) и JRE (Java Runtime Environment) необходимо скачать соответствующий дистрибутив с официального сайта Oracle, запустить установочный файл и следовать указаниям мастера установки.

Что такое программные средства проектирования систем искусственного интеллекта?

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