Введение 4
ГЛАВА I. Интеллектуальные системы 7
1.1. Экспертные системы 8
1.1.1. Типовая структура экспертных систем 10
1.1.2. Функционирование экспертной системы 13
1.2. Знания 14
1.2.1. Представление знаний 16
1.2.2. Процесс накопления знаний 18
1.2.3. Формирование простой базы знаний на примере мира робота-
уборщика 20
ГЛАВА II. Логические аспекты проектирования интеллектуальных систем 23
2.1. Логический вывод 23
2.2. Правило резолюции 24
2.3. Конъюнктивная нормальная форма 28
ГЛАВА III. Логическое программирование 35
3.1. Язык логического программирования Prolog 32
3.2. Программирование с ограничениями 34
3.3. Язык логического программирования с ограничениями ECLiPSe 42
3.3.1 Особенности языка 44
3.3.2. Библиотеки 45
3.3.3. Архитектура системы 46
ГЛАВА IV. Проекты 48
4.1. Интернет вещей 48
4.2. Языки и инструменты 49
4.3. Моделирование 49
Заключение 52
Список литературы 54
Многие люди считают, что наука искусственного интеллекта направлена лишь на построение некой мыслящей машины, которая могла бы обладать схожими с человеческими чувствами и действовать подобным образом, так, чтобы сторонний наблюдатель мог сказать, что эта машина обладает разумом. На самом деле проблема гораздо шире и глубже. Большинство тем, касающихся искусственного интеллекта, актуальны так или иначе, ведь данная область является междисциплинарной и затрагивает не только «базовые» науки - философию, математику, механику, программирование.
На этот раз мы решили затронуть проблему на стыке двух областей: программирования и философской логики. Так как наука об искусственном интеллекте берет свое начало в философии, то нельзя даже предположить, что данной проблемой рано или поздно не заинтересуется столь строгая область, более того - самим предметом науки логики является мышление и законы, согласно которым оно осуществляется. Нельзя представить исследования разума без обращения к его инструменту, то есть мышлению. Однако одной логики не достаточно для построения мыслящей машины, ведь это чисто теоретическая наука, нуждающаяся в инструментарии, который она нашла в программировании.
Парадигма логического программирования базируется на идее, что мышление человека составляют суждения, и именно способность оперировать ими, выводить новые на основе уже имеющихся, причем так, чтобы они соответствовали законам мышления, - все это и делает человека разумным. Как логика, так и программирование имеют свои синтаксис и семантику (то есть знаки и их значения), определенные правила, - их интеграция стала базой, на которой и строились логические языки программирования. Более того, логическое программирование в своем применении в дальнейшем вышло далеко за пределы искусственного интеллекта.
Собственно, именно этот выход и делает данную работу актуальной. Если предшествовавшие этой три работы были направлены на рассмотрение истории и путей развития науки об искусственном интеллекте, то предметом рассмотрения данной работы будет ее прикладная, практическая сторона. В ней наша цель - показать, как глубоко исследования и разработки, изначально служившие иным целям, вошли в нашу жизнь, полностью интегрировались со всеми ее сферами, стали незаменимыми. Если в отношении математики, механики в этом не было сомнения еще до создания самой науки искусственного интеллекта, то в отношении логического программирования это стало наиболее актуально за пятнадцать-двадцать лет.
К промежуточным задачам, связанным с такой целью, можно отнести:
- рассмотрение экспертных систем, их структуры и характеристик, которые, как мы считаем, являются наиболее прикладной ветвью области интеллектуальных систем, - этому будет посвящена первая глава
- разбор логических аспектов внутренней конструкции экспертных систем поможет нам выйти к логическим основам интересующей нас проблемы;
- рассмотрение во второй главе логического вывода и принципа резолюции, который во многом определил дальнейшее развитие логического программирования;
- изучение основных аспектов логического программирования, основ, истории его развития; основные направления, которые можно выделить, - все это составляет предмет третьей главы;
- описание некоторых проектов, представляющих собой реализацию логического программирования с ограничениями.
Мы считаем, что данной работе свойственна научная новизна и практическая значимость, так как литературы, которая охватывает обе области и рассматривает их взаимодействие именно под таким углом, очень мало. Таким образом, эту работу можно назвать определенным теоретическим вкладом в рамках данной области исследований.
Нашей целью было рассмотреть, как возможно применение в реальной жизни логического программирования с ограничениями. Мы показали, что программирование, построенное на методе логического вывода и правила резолюции может не только нести вклад в науку искусственного интеллекта, но и использоваться в нашей повседневной жизни. Покупка проекта Эклипс компанией Cisco показала, что данная парадигма востребована не только в узких научных кругах, тем более эта компания специализируется на коммерческих и бизнес-проектах.
Рассмотренные нами в ходе исследования пункты, а именно:
- экспертные системы и их роль в нашей жизни;
- структура экспертных систем;
- элементы логики в структуре интеллектуальных систем;
- логический вывод;
- правило резолюции;
- язык логического программирования Пролог;
- программирование в ограничениях;
- логическое программирование в ограничениях;
- особенности языка Эклипс;
- реализация проектов Эклипс,
дали нам понять, что исследования, изначально родившиеся в рамках научных исследований, не обязаны таковыми оставаться. Междисциплинарность области искусственного интеллекта говорит сама за себя, и результаты этого вы видим каждый день своими глазами, более того -
активно с ними взаимодействуем, и многие реализации подобных исследований значительно облегчают нашу жизнь.
Содержание бакалаврской работы – ПРИКЛАДНЫЕ ВОЗМОЖНОСТИ ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ С ОГРАНИЧЕНИЯМИ APPLIED CAPABILITIES OF CONSTRAINT LOGIC PROGRAMMING
Выдержки из бакалаврской работы – ПРИКЛАДНЫЕ ВОЗМОЖНОСТИ ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ С ОГРАНИЧЕНИЯМИ APPLIED CAPABILITIES OF CONSTRAINT LOGIC PROGRAMMING