Программирование в Логике. Чанышев О.Г. - 2 стр.

UptoLike

Составители: 

3
ОГЛАВЛЕНИЕ
Введение ......................................................................................................... 4
1. История Пролога .................................................................................... 10
2. Синтаксис и семантика Пролог-программ........................................ 13
2.1. Объекты данных............................................................................... 13
2.2. Декларативный смысл Пролог-программ...................................... 14
2.3. Основные определения.................................................................... 15
3. Практическое программирование на Прологе ................................. 17
3.1. Структура Пролог-программы........................................................ 18
3.2. Свободные и связанные переменные............................................. 20
3.3. Внутренняя БД Пролога.................................................................. 21
3.4. Обработка условий и организация циклов в Прологе .................. 23
3.4.1. Обработка условия................................................................. 23
3.4.2. Использование предиката типа repeat .................................. 24
3.5. Списки
в Прологе ............................................................................ 26
3.5.1. Примеры списков ................................................................... 26
3.5.2. Разделение списков на "голову" и "хвост"........................... 26
3.5.3. Некоторые полезные программы для работы
со списками ................................................................................................... 28
3.6. Ввод и вывод .................................................................................... 30
3.6.1. Файловая система................................................................... 30
3.6.2. Операции с именами файлов................................................. 32
3.6.3. Чтение и запись ...................................................................... 33
3.7. Строки и функции работы со строками ......................................... 34
4. Простенькая экспертная система........................................................ 40
5. Базовые понятия и термины Пролога................................................ 51
5.1. Объекты
............................................................................................ 51
5.2. Внутренние дела Пролога ............................................................... 55
5.3. Что такое шаблоны? ........................................................................ 55
5.4. Управление поиском........................................................................ 56
Заключение.................................................................................................. 58
Контрольные вопросы и задания ............................................................ 59
Список используемой литературы.......................................................... 63
4
Введение
В средние века знание латинского и грече-
ского языков являлось существенной частью об-
разования любого ученого. Ученый, владеющий
только одним языком, неизбежно чувствовал се-
бя неполноценным, поскольку он был лишен той
полноты восприятия, которая возникает благо-
даря возможности посмотреть на мир сразу с
двух точек зрения. Таким же неполноценным
ощущает себя сегодняшний исследователь в об-
ласти искусственного интеллекта, если он не об-
ладает основательным знакомством как с Лис-
пом, так и с Прологомэтими двумя основопо-
лагающими языками искусственного интеллекта,
без знания которых невозможен более широкий
взгляд на предмет исследования.
Иван Братко
Логическое программирование базируется
на убеждении, что не человека надо обучать
мышлению в терминах операций компьютера
а компьютер должен выполнять инструкции,
свойственные человеку.
Леон Стерлинг, Эхуд Шапиро
Эволюция языков программированияэто движение от
языков императивных (как делать) к языкам декларативным (что
делать). Или иначеот программирования в инструкциях компь-
ютера к ПРОграммированию в ЛОГике. Отсюда происходит на-
звание языкаПроЛог, к изучению которого мы и приступаем.
Для иллюстрации важнейших черт Пролога воспользуемся
примером Братко [1], в котором задается
вопрос базе знаний: «Кто
у нас темный и большой?» (Номера перед фактами не кодируются.)
Программа:
1. большой(медведь).
2. большой(слон).
3. маленький(кот).
4. коричневый(медведь).
5. черный(кот).
6. серый(слон).
                                           ОГЛАВЛЕНИЕ                                                                                            Введение
Введение ......................................................................................................... 4                                 В средние века знание латинского и грече-
1. История Пролога .................................................................................... 10                                      ского языков являлось существенной частью об-
                                                                                                                                                разования любого ученого. Ученый, владеющий
2. Синтаксис и семантика Пролог-программ........................................ 13                                                             только одним языком, неизбежно чувствовал се-
    2.1. Объекты данных............................................................................... 13                                       бя неполноценным, поскольку он был лишен той
    2.2. Декларативный смысл Пролог-программ...................................... 14                                                           полноты восприятия, которая возникает благо-
    2.3. Основные определения.................................................................... 15                                            даря возможности посмотреть на мир сразу с
3. Практическое программирование на Прологе ................................. 17                                                                двух точек зрения. Таким же неполноценным
    3.1. Структура Пролог-программы........................................................ 18                                                  ощущает себя сегодняшний исследователь в об-
    3.2. Свободные и связанные переменные ............................................. 20                                                      ласти искусственного интеллекта, если он не об-
    3.3. Внутренняя БД Пролога .................................................................. 21                                            ладает основательным знакомством как с Лис-
    3.4. Обработка условий и организация циклов в Прологе .................. 23                                                                 пом, так и с Прологом – этими двумя основопо-
                                                                                                                                                лагающими языками искусственного интеллекта,
         3.4.1. Обработка условия................................................................. 23                                           без знания которых невозможен более широкий
         3.4.2. Использование предиката типа repeat .................................. 24                                                       взгляд на предмет исследования.
    3.5. Списки в Прологе ............................................................................ 26                                                                         Иван Братко
         3.5.1. Примеры списков ................................................................... 26
         3.5.2. Разделение списков на "голову" и "хвост"........................... 26                                                              Логическое программирование базируется
         3.5.3. Некоторые полезные программы для работы                                                                                         на убеждении, что не человека надо обучать
со списками ................................................................................................... 28                              мышлению в терминах операций компьютера…
    3.6. Ввод и вывод .................................................................................... 30                                   а компьютер должен выполнять инструкции,
         3.6.1. Файловая система................................................................... 30                                          свойственные человеку.
         3.6.2. Операции с именами файлов................................................. 32                                                                    Леон Стерлинг, Эхуд Шапиро
         3.6.3. Чтение и запись ...................................................................... 33
    3.7. Строки и функции работы со строками ......................................... 34                                    Эволюция языков программирования – это движение от
4. Простенькая экспертная система........................................................ 40                           языков императивных (как делать) к языкам декларативным (что
5. Базовые понятия и термины Пролога................................................ 51                                делать). Или иначе – от программирования в инструкциях компь-
    5.1. Объекты ............................................................................................ 51       ютера к ПРОграммированию в ЛОГике. Отсюда происходит на-
    5.2. Внутренние дела Пролога ............................................................... 55                    звание языка – ПроЛог, к изучению которого мы и приступаем.
    5.3. Что такое шаблоны? ........................................................................ 55                      Для иллюстрации важнейших черт Пролога воспользуемся
    5.4. Управление поиском........................................................................ 56
Заключение.................................................................................................. 58
                                                                                                                       примером Братко [1], в котором задается вопрос базе знаний: «Кто
Контрольные вопросы и задания ............................................................ 59                          у нас темный и большой?» (Номера перед фактами не кодируются.)
Список используемой литературы.......................................................... 63                                  Программа:
                                                                                                                             1. большой(медведь).
                                                                                                                             2. большой(слон).
                                                                                                                             3. маленький(кот).
                                                                                                                             4. коричневый(медведь).
                                                                                                                             5. черный(кот).
                                                                                                                             6. серый(слон).

                                                         3                                                                                             4