Книги
От алгоритма к программе и искусственному интеллекту
Автор
М. Д. Князева, Н. С. Карамышева, Д. Д. Григорьева
Издательство
ПензГУ
Год издания
2024
Описание
Изложены основы разработки схем алгоритмов и особенности формирования алгоритмического подхода к решению задач. Приводится описание основных алгоритмических конструкций, позволяющих составлять алгоритмы решения прикладных задач. Содержится большое число примеров алгоритмов типовых задач, таких как поиск и сортировка данных, приближенное решение уравнений. Часть решенных задач имеет оригинальный характер: приведены алгоритмы и программы, связанные с экологией окружающей среды, сетевыми грид-вычислениями и интеллектуализацией некоторых областей человеческой деятельности на основе логического подхода к искусственному интеллекту. Предложены варианты реализации алгоритмов на языке программирования Python. Логические основы программирования заданы концептуальными графами и языком Prolog.
Издание подготовлено на кафедре «Вычислительная техника» ПГУ и предназначено обучающимся по направлениям подготовки 09. 03. 01 «Информатика и вычислительная техника», 09.03.03 «Прикладная информатика» для формирования начальных профессиональных компетенций. Кроме того, книга рекомендуется широкому кругу читателей для самостоятельного изучения основ построения алгоритмов и составления программ для различных предметных областей.
Содержание
- СОДЕРЖАНИЕ
- Предисловие 3
- ЧАСТЬ I. АЛГОРИТМИЧЕСКОЕ МЫШЛЕНИЕ И ПРОГРАММИРОВАНИЕ
- Глава 1 10
- Основные принципы алгоритмизации 10
- Алгоритм и его свойства 12
- Постановка задачи 14
- Построение модели 16
- Разработка алгоритма 17
- Величины в алгоритмах 20
- Способы записи алгоритмов 21
- Структуры алгоритмов 26
- Переменные с индексом. Массивы 37
- Исполнение (тестирование) алгоритма 42
- Глава 2 46
- Реализация алгоритмов 46
- От простых алгоритмов к сложным 50
- Рекурсивные алгоритмы 62
- Примеры циклических алгоритмов 67
- Глава 3 85
- Алгоритмы поиска данных 85
- Поиск номера элемента последовательности с заданным значением 86
- Алгоритм поиска в упорядоченной последовательности 89
- Поиск минимального и максимального элемента в заданной последовательности 90
- Примеры алгоритмов – поиск данных 93
- Глава 4 118
- Сортировка данных 118
- Простой выбор 121
- Простой обмен 124
- Простые вставки 128
- Метод Шелла 132
- Глава 5 139
- Численное решение уравнений 139
- Метод половинного деления (или дихотомии) 140
- Метод простой итерации 143
- Метод Ньютона 147
- Метод хорд 150
- Глава 6 156
- Алгоритмы для численного интегрирования и решения дифференциальных уравнений 156
- Метод прямоугольников 157
- Метод трапеций 161
- Метод Симпсона 165
- Решение обыкновенных дифференциальных уравнений 169
- Метод Эйлера 170
- Глава 7 177
- Экологические проблемы города 177
- Экология питания 178
- Освещение 179
- Экология литосферы 182
- Оценка степени экологической безопасности 184
- Определение ущерба от загрязнения атмосферы 186
- Плата за загрязнение атмосферы от передвижных источников 188
- Глава 8 190
- Сетевой суперкомьютер –это просто! 190
- Грид-технологии и вычисления 190
- Реализации крупномасштабных вычислительных проектов 193
- Глобальные вычислительные проекты, использующие архитектуру “Master-Worker” 194
- Прототипная архитектура «Клиент-сервер» для создания грид-приложения: некоторые понятия и определения 195
- Создание клиентского приложения 199
- Создание серверного приложения 201
- Ход выполнения работы над созданием грид-приложения с архитектурой “Master-Worker” (“Мастер-Исполнители”) на языке Python 202
- Разработка программы Master (Мастер) 204
- Разработка программы Worker (Исполнитель) 206
- ЧАСТЬ II. СЕТЕВЫЕ И ЛОГИЧЕСКИЕ МОДЕЛИ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА, ОСНОВАННЫЕ НА ЗНАНИЯХ И ПРАВИЛАХ
- Глава 9 214
- Программирование интеллектуальных систем с событиями 214
- Декларативный и процедурный (императивный) подходы в программировании 214
- Логическое, сетевое и событийное представление знаний о семантике предметной 224
- Обоснование интеграции концептуальных графов и сетей Петри 226
- Определение модифицируемых концептуальных графов 229
- Определение процедурной составляющей в модели представления знаний на основе концептуального графа 232
- Определение сети Петри 235
- Графические концептуальные и логические представления сетей Петри 237
- Определение концептуальной логической сети Петри с переменной структурой 244
- Акторы-переходы в концептуальных логических сетях Петри 245
- Методика использования акторов-переходов в концептуальных логических сетях Петри 246
- Построение предметно интерпретируемой концептуальной логической сети Петри для правового процесса 251
- Определение концептуальной логической сети Петри для конкретной предметной области 254
- Выражения для правил модификации предиката разметки позиций в логической модели 255
- Продукционная модель представления знаний о прохождении искового заявления 258
- Развитие концептуальной модели правового процесса 263
- Концептуальный граф для процесса продвижения искового заявления 266
- О сложности семантического анализа фраз естественного языка (По мотивам записок Артура Конан Дойла о Шерлоке Холмсе) 268
- Построение концептуальных графов на тему «Кража в отеле»: объектный и событийный подходы 269
- Построение предметно интерпретируемой концептуальной логической сети Петри, моделирующей строительство промышленного объекта 272
- Построение концептуальной логической сети Петри, моделирующей приложение для глобальной компьютерной сети 275
- Глава 10 283
- Концептуальные интеллектуальные модели роботизированного производства 283
- Автоматизация и роботизация производства 283
- Представление и структурирование данных и знаний о роботизированном производстве 286
- Ключевая фраза для представления данных и знаний о работе роботизированного производства 287
- Концептуальный граф для модели роботизированного производства и его контекстное представление 288
- Переход от концептуальной сценарной модели роботизированного производства к имитационной модели 294
- Интеграция концептуальных и поведенческих моделей дискретно-событийных систем: концептуальные сети Петри 297
- Модель беспроводной сети MANET, управляющей работой участка роботизированного производства 299
- О реализации вычислительной и коммуникационной компонент роботизированной системы 301
- Глава 11 304
- Концептуальные модели искусственного интеллекта, основанные на знаниях и правилах 304
- Примеры решения задач 304
- Виды отношений в семантических сетях 317
- Задача «Глеб и его друзья» на определение свойств отношений 318
- Задача «Школьники» 321
- Задача «Диагностика гриппа» 326
- Задача «Диагностика и лечение пневмонии» 330
- Заключение 333
- Список литературы 336
- Список литературы к главам 1–7 336
- Список литературы к главе 8 338
- Список литературы к главам 9, 10 и 11 339
- Дополнительный список литературы 343
- Приложение 1 344
- Справочная информация по языку Python 344
- Создание программного кода 344
- Идентификаторы 344
- Комментарии 345
- Данные 345
- Операторы 350
- Массивы 356
- Приложение 2 362
- Справочная информация по языку Prolog 362
- Интеграция средств логического программирования и баз данных 362
- О реализации языка SWI-Prolog 363
- Общие принципы логического программирования и управления базами данных 264
- Некоторые важные свойства Пролога как языка запросов 366
- Набор текста программы и ее выполнение 370