Prolog Programowanie W F Clocksin C S Mellish

background image
background image

Spis treści

Wstęp ............................................................................................... 7

Rozdział 1. Wprowadzenie ................................................................................. 11

Prolog....................................................................................................................11
Obiekty i relacje .....................................................................................................12
Programowanie.......................................................................................................13
Fakty .....................................................................................................................14
Zapytania ...............................................................................................................16
Zmienne.................................................................................................................17
Koniunkcje.............................................................................................................19
Reguły ...................................................................................................................23
Podsumowanie i ćwiczenia ......................................................................................28

Rozdział 2. Prolog z bliska ................................................................................. 31

Składnia.................................................................................................................31

Stałe ................................................................................................................32
Zmienne...........................................................................................................32
Struktury..........................................................................................................33

Znaki .....................................................................................................................34
Operatory...............................................................................................................35
Równość i unifikacja...............................................................................................37
Arytmetyka ............................................................................................................38
Spełnianie celów — podsumowanie..........................................................................42

Udane spełnienie koniunkcji celów .....................................................................42
Cele i nawracanie..............................................................................................45
Unifikacja ........................................................................................................47

Rozdział 3. Korzystanie ze struktur danych......................................................... 49

Struktury a drzewa..................................................................................................49
Listy ......................................................................................................................51
Przeszukiwanie rekurencyjne ...................................................................................54
Odwzorowania .......................................................................................................57
Porównywanie rekurencyjne....................................................................................60
Łączenie struktur ....................................................................................................62
Akumulatory ..........................................................................................................66
Struktury różnicowe................................................................................................68

Rozdział 4. Nawracanie i odcięcie...................................................................... 71

Generowanie wielu rozwiązań..................................................................................72
Odcięcie.................................................................................................................75

background image

4

Prolog. Programowanie

Typowe zastosowania odcięcia.................................................................................80

Potwierdzanie wyboru reguły .............................................................................80
Użycie odcięcia z predykatem fail ......................................................................84
Kończenie generowania możliwych rozwiązań i ich sprawdzanie ..........................86

Niebezpieczeństwa wynikające ze stosowania odcięcia ..............................................89

Rozdział 5. Wejście i wyjście ............................................................................. 91

Czytanie i pisanie termów........................................................................................92

Czytanie termów...............................................................................................92
Pisanie termów .................................................................................................93

Czytanie i pisanie znaków .......................................................................................96

Czytanie znaków...............................................................................................96
Pisanie znaków .................................................................................................97

Wczytywanie zdań..................................................................................................98
Czytanie z plików i pisanie do plików..................................................................... 101

Otwieranie i zamykanie strumieni..................................................................... 102
Zmiana bieżącego strumienia wejściowego i wyjściowego.................................. 103
Konsultowanie................................................................................................ 104

Deklarowanie operatorów...................................................................................... 105

Rozdział 6. Predykaty wbudowane ................................................................... 107

Wprowadzanie nowych klauzul.............................................................................. 107
Sukces i porażka................................................................................................... 109
Klasyfikacja termów ............................................................................................. 110
Przetwarzanie klauzul jako termów ........................................................................ 111
Tworzenie składników struktur i sięganie do nich .................................................... 114
Wpływ na nawracanie ........................................................................................... 118
Tworzenie celów złożonych................................................................................... 119
Równość.............................................................................................................. 122
Wejście i wyjście .................................................................................................. 122
Obsługa plików..................................................................................................... 124
Wyliczanie wyrażeń arytmetycznych...................................................................... 124
Porównywanie termów.......................................................................................... 126
Badanie działania Prologu ..................................................................................... 127

Rozdział 7. Przykładowe programy ................................................................... 129

Sortowany słownik w formie drzewa ...................................................................... 129
Przeszukiwanie labiryntu ....................................................................................... 132
Wieże Hanoi......................................................................................................... 135
Program magazynowy........................................................................................... 136
Przetwarzanie list.................................................................................................. 137
Zapis i przetwarzanie zbiorów................................................................................ 140
Sortowanie ........................................................................................................... 142
Użycie bazy danych .............................................................................................. 145

random .......................................................................................................... 145
gensym .......................................................................................................... 146
findall ............................................................................................................ 147

Przeszukiwanie grafów.......................................................................................... 149
Odsiej Dwójki i odsiej Trójki................................................................................. 153
Różniczkowanie symboliczne ................................................................................ 155
Odwzorowywanie struktur i przekształcanie drzew .................................................. 157
Przetwarzanie programów ..................................................................................... 160
Literatura ............................................................................................................. 163

background image

Spis treści

5

Rozdział 8. Usuwanie błędów w programach prologowych................................. 165

Układ programów ................................................................................................. 166
Typowe błędy....................................................................................................... 168
Śledzenie programu............................................................................................... 171
Śledzenie i punkty kontrolne .................................................................................. 177

Sprawdzanie celu ............................................................................................ 179
Sprawdzanie przodków.................................................................................... 180
Zmiana poziomu śledzenia............................................................................... 181
Zmiana sposobu spełnienia celu........................................................................ 182
Inne opcje ...................................................................................................... 183
Podsumowanie ............................................................................................... 184

Poprawianie błędów .............................................................................................. 184

Rozdział 9. Użycie reguł gramatycznych w Prologu ........................................... 187

Parsowanie........................................................................................................... 187
Problem parsowania w Prologu .............................................................................. 190
Notacja reguł gramatyki ........................................................................................ 194
Dodatkowe argumenty .......................................................................................... 196
Dodatkowe warunki .............................................................................................. 199
Podsumowanie ..................................................................................................... 201
Przekształcanie języka na logikę............................................................................. 202
Ogólniejsze zastosowanie reguł gramatyki .............................................................. 204

Rozdział 10. Prolog a logika............................................................................... 207

Krótkie wprowadzenie do rachunku predykatów...................................................... 207
Postać klauzulowa................................................................................................. 210
Zapis klauzul ........................................................................................................ 215
Rezolucja i dowodzenie twierdzeń.......................................................................... 216
Klauzule Horna .................................................................................................... 220
Prolog.................................................................................................................. 220
Prolog i programowanie w logice ........................................................................... 222

Rozdział 11. Projekty w Prologu......................................................................... 225

Łatwiejsze projekty............................................................................................... 225
Projekty zaawansowane ........................................................................................ 227

Dodatek A Odpowiedzi do niektórych ćwiczeń.................................................. 231

Dodatek B Klauzulowa postać programów ....................................................... 235

Dodatek C Przenośne programy w standardowym Prologu ................................ 241

Przenośność standardu Prologu .............................................................................. 241
Różne implementacje Prologu................................................................................ 242
Czego się wystrzegać ............................................................................................ 243
Definicje wybranych predykatów standardowych .................................................... 244

Przetwarzanie znaków..................................................................................... 245
Dyrektywy ..................................................................................................... 247
Wejście i wyjście strumieniowe........................................................................ 247
Różne ............................................................................................................ 249

Dodatek D Różne wersje Prologu..................................................................... 251

Dodatek E Dialekt edynburski ......................................................................... 255

Dodatek F micro-Prolog .................................................................................. 263

Skorowidz...................................................................................... 267

background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image
background image

Wyszukiwarka

Podobne podstrony:
Prolog Programowanie W F Clocksin C S Mellish
prolog, PROGRAMOWANIE DEKLARATYWNE, PROGRAMOWANIE DEKLARATYWNE, ZADANIA
Prolog programowanie
Prolog Programowanie
Prolog Programowanie 2
Prolog Programowanie prprol
Prolog programowanie
Prolog Programowanie prprol
Prolog Programowanie prprol
Prolog Programming A First Course Paul Brna
Prolog Programowanie
program prolog ZJR4SVLSA7A4WIFXUF7EC5OZAWVVHXHRXUPLGJY
1 Literatura programowanie w logice, Prologid 9423
Logic Programming with Prolog M Bramer (Springer, 2005) WW

więcej podobnych podstron