🗊Презентация lecture01

Категория: Образование
Нажмите для полного просмотра!
lecture01, слайд №1lecture01, слайд №2lecture01, слайд №3lecture01, слайд №4lecture01, слайд №5lecture01, слайд №6lecture01, слайд №7lecture01, слайд №8lecture01, слайд №9lecture01, слайд №10lecture01, слайд №11lecture01, слайд №12lecture01, слайд №13lecture01, слайд №14lecture01, слайд №15lecture01, слайд №16lecture01, слайд №17lecture01, слайд №18lecture01, слайд №19lecture01, слайд №20lecture01, слайд №21lecture01, слайд №22lecture01, слайд №23lecture01, слайд №24lecture01, слайд №25lecture01, слайд №26lecture01, слайд №27lecture01, слайд №28lecture01, слайд №29lecture01, слайд №30lecture01, слайд №31lecture01, слайд №32lecture01, слайд №33lecture01, слайд №34lecture01, слайд №35lecture01, слайд №36lecture01, слайд №37lecture01, слайд №38lecture01, слайд №39lecture01, слайд №40lecture01, слайд №41

Содержание

Вы можете ознакомиться и скачать презентацию на тему lecture01. Доклад-сообщение содержит 41 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Логические основы Пролога. Рекурсия на Прологе
Лекция №2
Описание слайда:
Логические основы Пролога. Рекурсия на Прологе Лекция №2

Слайд 2





План
Логика предикатов
Унификация
Метод резолюции
Описание слайда:
План Логика предикатов Унификация Метод резолюции

Слайд 3





Почему логика предикатов, а не логика высказываний?
ЛВ: 
Все люди смертны. 
Сократ - человек. 
Следовательно, Сократ смертен.
ЛП: 
Быть_человеком(Сократ).
Быть_смертным(человек).
Описание слайда:
Почему логика предикатов, а не логика высказываний? ЛВ: Все люди смертны. Сократ - человек. Следовательно, Сократ смертен. ЛП: Быть_человеком(Сократ). Быть_смертным(человек).

Слайд 4





Логика предикатов
Формальная система
Алфавит логики предикатов
Терм
Атомарная формула
Формулы логики предикатов
Литерал
Дизъюнкт
Конъюнктивная, пренексная, сколемовская нормальная форма
Описание слайда:
Логика предикатов Формальная система Алфавит логики предикатов Терм Атомарная формула Формулы логики предикатов Литерал Дизъюнкт Конъюнктивная, пренексная, сколемовская нормальная форма

Слайд 5





Логика предикатов
В формальной системе определены:
Алфавит:
Переменные (например, x, y, z)
Константы (например, a, b, c)
Функциональные символы (обычно f, g)
Предикатные символы (обычно p, r)
Пропозициональные константы (true, false)
Логические связки (конъюнкция, дизъюнкция, отрицание, импликация, эквивалентность)
Кванторы (существования и всеобщности)
Вспомогательные символы: ( ) , .
Формулы (словарь) 
Аксиомы
Правила вывода
Описание слайда:
Логика предикатов В формальной системе определены: Алфавит: Переменные (например, x, y, z) Константы (например, a, b, c) Функциональные символы (обычно f, g) Предикатные символы (обычно p, r) Пропозициональные константы (true, false) Логические связки (конъюнкция, дизъюнкция, отрицание, импликация, эквивалентность) Кванторы (существования и всеобщности) Вспомогательные символы: ( ) , . Формулы (словарь) Аксиомы Правила вывода

Слайд 6





Основные понятия
Терм:
Всякая переменная – терм
Всякая константа – терм
Если t1,...,tn - термы, а f - n-местный функциональный символ, то f(t1, ..., tn) - терм
Других термов нет
Все объекты в Прологе – термы
Описание слайда:
Основные понятия Терм: Всякая переменная – терм Всякая константа – терм Если t1,...,tn - термы, а f - n-местный функциональный символ, то f(t1, ..., tn) - терм Других термов нет Все объекты в Прологе – термы

Слайд 7





Основные понятия
Атомарный предикат (атомная формула) – результат применения предиката к термам, задают отношения между сущностями
отец(x,y)
Все объекты в Прологе – термы
Литерал – атомарная формула или отрицание атомарной формулы
Аргументы формулы упорядочены по смыслу
любит(x,y)
Описание слайда:
Основные понятия Атомарный предикат (атомная формула) – результат применения предиката к термам, задают отношения между сущностями отец(x,y) Все объекты в Прологе – термы Литерал – атомарная формула или отрицание атомарной формулы Аргументы формулы упорядочены по смыслу любит(x,y)

Слайд 8





Унификация
Унификация – отождествление формулы путем замены свободных переменных на термы
Унификация – процесс поиска такой подстановки термов из одного выражения в переменные второго выражения, что оба эти выражения становятся эквивалентными
птица(воробей)
птица(сорока)
птица(Х)
Описание слайда:
Унификация Унификация – отождествление формулы путем замены свободных переменных на термы Унификация – процесс поиска такой подстановки термов из одного выражения в переменные второго выражения, что оба эти выражения становятся эквивалентными птица(воробей) птица(сорока) птица(Х)

Слайд 9





Унификация
A=p(f(x),z) и B=p(y,a). 
Первый вариант подстановки: (y/f(x),z/a)
Второй вариант подстановки: (y/f(a),x/a,z/a)
Существуют ли другие варианты подстановок?
Какой вариант более общий?
Описание слайда:
Унификация A=p(f(x),z) и B=p(y,a). Первый вариант подстановки: (y/f(x),z/a) Второй вариант подстановки: (y/f(a),x/a,z/a) Существуют ли другие варианты подстановок? Какой вариант более общий?

Слайд 10





Теорема унификации
Теорема унификации: для любого унифицируемого конечного множества простых выражений S алгоритм унификации закончит свою работу и выдаст наиболее общий унификатор для S
Описание слайда:
Теорема унификации Теорема унификации: для любого унифицируемого конечного множества простых выражений S алгоритм унификации закончит свою работу и выдаст наиболее общий унификатор для S

Слайд 11





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

Слайд 12





Правило резолюции
Исходные дизъюнкты – револьвируемые
Вычеркнутые формулы – контрарные литералы
Конечный дизъюнкт – резольвента
Описание слайда:
Правило резолюции Исходные дизъюнкты – револьвируемые Вычеркнутые формулы – контрарные литералы Конечный дизъюнкт – резольвента

Слайд 13





Метод резолюции
Метод резолюции – доказательство от противного: добавляем к множеству аксиом отрицание гипотезы и выводим противоречие). Если это удается, то исходная формула была выводима
Процесс резолюции обязательно завершится, если исходное множество дизъюнктов невыполнимо
Описание слайда:
Метод резолюции Метод резолюции – доказательство от противного: добавляем к множеству аксиом отрицание гипотезы и выводим противоречие). Если это удается, то исходная формула была выводима Процесс резолюции обязательно завершится, если исходное множество дизъюнктов невыполнимо

Слайд 14





Пример резолюции
Описание слайда:
Пример резолюции

Слайд 15





Пример резолюции
Описание слайда:
Пример резолюции

Слайд 16





Пример резолюции
Описание слайда:
Пример резолюции

Слайд 17





Логическая программа
Логическая программа – конечное непустой множество хорновских дизъюнктов (фактов и правил)
В Прологе реализована линейная резолюция (правило резолюции применяется к самому левому литералу цели и первому унифицируемому к ней дизъюнкту)
При каждом выборе унифицируемого с целью дизъюнкта запоминается точка возврата
Описание слайда:
Логическая программа Логическая программа – конечное непустой множество хорновских дизъюнктов (фактов и правил) В Прологе реализована линейная резолюция (правило резолюции применяется к самому левому литералу цели и первому унифицируемому к ней дизъюнкту) При каждом выборе унифицируемого с целью дизъюнкта запоминается точка возврата

Слайд 18





Стратегии резолюции
Стратегии полного перебора (поиск в ширину)
Стратегия опорного множества
Стратегия предпочтения одночленам
Стратегия, линейная по входу 
Комбинирование стратегий
Описание слайда:
Стратегии резолюции Стратегии полного перебора (поиск в ширину) Стратегия опорного множества Стратегия предпочтения одночленам Стратегия, линейная по входу Комбинирование стратегий

Слайд 19





Предложения
Факты
Правила
Вопросы
Общий вид:
A :- B1, ... , Bn.
Описание слайда:
Предложения Факты Правила Вопросы Общий вид: A :- B1, ... , Bn.

Слайд 20





Факты и правила
Пример факта:
мама(«Наташа», «Даша»).
Пример правил:
бабушка(X,Y) :- мама(X,Z), мама(Z,Y).
бабушка(X,Y) :- мама(X,Z), папа(Z,Y).
Описание слайда:
Факты и правила Пример факта: мама(«Наташа», «Даша»). Пример правил: бабушка(X,Y) :- мама(X,Z), мама(Z,Y). бабушка(X,Y) :- мама(X,Z), папа(Z,Y).

Слайд 21





Переменные
Неявно связаны квантором всеобщности
Не поддерживается механизм деструктивного присваивания
Идентификатор указывает не на адрес ячейки памяти, а на объект
Свободные (неконкретизированные) и связанные (конкретизированные)
Область определения – одно предложение
Все анонимные переменные – отдельные объекты
Описание слайда:
Переменные Неявно связаны квантором всеобщности Не поддерживается механизм деструктивного присваивания Идентификатор указывает не на адрес ячейки памяти, а на объект Свободные (неконкретизированные) и связанные (конкретизированные) Область определения – одно предложение Все анонимные переменные – отдельные объекты

Слайд 22





Вопросы. Вычисление цели
мама("Наташа","Даша").
мама("Даша","Маша").
goal
%мама("Наташа","Даша").
%мама("Наташа","Маша").
%мама(X, "Даша").
%мама("Наташа",X).
%мама(X,Y).
%мама(X,_).
%мама(_,_).
Описание слайда:
Вопросы. Вычисление цели мама("Наташа","Даша"). мама("Даша","Маша"). goal %мама("Наташа","Даша"). %мама("Наташа","Маша"). %мама(X, "Даша"). %мама("Наташа",X). %мама(X,Y). %мама(X,_). %мама(_,_).

Слайд 23





Вычисление цели
мама("Наташа","Даша").
мама("Даша","Маша"). 
бабушка(X,Y) :- мама(X,Z),
			 мама(Z,Y).
goal 
бабушка("Наташа",X).
Описание слайда:
Вычисление цели мама("Наташа","Даша"). мама("Даша","Маша"). бабушка(X,Y) :- мама(X,Z), мама(Z,Y). goal бабушка("Наташа",X).

Слайд 24





Нахождение максимума из двух чисел
max(X,Y,X) :-
   X>Y. /* если первое число больше второго, 
           то первое число - максимум */   
max(X,Y,Y) :- 
   X<Y. /* если первое число меньше второго, 
              то второе число - максимум */  
max(X,Y,Y) :-
   X=Y. /* если первое число равно второму, 
           возьмем в качестве максимума 
           второе число */
Описание слайда:
Нахождение максимума из двух чисел max(X,Y,X) :- X>Y. /* если первое число больше второго, то первое число - максимум */ max(X,Y,Y) :- X<Y. /* если первое число меньше второго, то второе число - максимум */ max(X,Y,Y) :- X=Y. /* если первое число равно второму, возьмем в качестве максимума второе число */

Слайд 25





Нахождение максимума из двух чисел - 2
max(X,Y,X):-
   X>Y. /* если первое число больше второго, 
           то первое число - максимум */   
max(X,Y,Y):-
   X<=Y./* если первое число меньше или равно 
               второму, возьмем в качестве максимума второе число */
Описание слайда:
Нахождение максимума из двух чисел - 2 max(X,Y,X):- X>Y. /* если первое число больше второго, то первое число - максимум */ max(X,Y,Y):- X<=Y./* если первое число меньше или равно второму, возьмем в качестве максимума второе число */

Слайд 26





Нахождение максимума из двух чисел (отсечение)
max2(X,Y,X):-
   X>Y,!./* если первое число больше второго, 
               то первое число - максимум */
max2(_,Y,Y).  /* в противном случае  максимумом будет второе число */
Описание слайда:
Нахождение максимума из двух чисел (отсечение) max2(X,Y,X):- X>Y,!./* если первое число больше второго, то первое число - максимум */ max2(_,Y,Y). /* в противном случае максимумом будет второе число */

Слайд 27





Условия
S:-
   <условие>,!,P. 
S :-
   P2.
if <условие> then P else P2
Описание слайда:
Условия S:- <условие>,!,P. S :- P2. if <условие> then P else P2

Слайд 28





Нахождение максимума из трех чисел
max3a(X,Y,Z,X):-
   X>=Y,X>=Z. 
   /* если первое число больше или равно второму 
      и третьему, то первое число - максимум */
max3a(X,Y,Z,Y):-
   Y>=X,Y>=Z. 
   /* если второе число больше или равно первому
      и третьему, то второе число является 
      максимумом */
max3a(X,Y,Z,Z):-
   Z>=X,Z>=Y. 
   /* если третье число больше или равно первому
      и второму, то максимум - это третье число */
Описание слайда:
Нахождение максимума из трех чисел max3a(X,Y,Z,X):- X>=Y,X>=Z. /* если первое число больше или равно второму и третьему, то первое число - максимум */ max3a(X,Y,Z,Y):- Y>=X,Y>=Z. /* если второе число больше или равно первому и третьему, то второе число является максимумом */ max3a(X,Y,Z,Z):- Z>=X,Z>=Y. /* если третье число больше или равно первому и второму, то максимум - это третье число */

Слайд 29





Нахождение максимума из трех чисел (отсечение) 
max3b(X,Y,Z,X):-
   X>Y,X>Z,!. 
   /* если первое число больше второго и третьего,
      то первое число - максимум */
max3b(_,Y,Z,Y):-
   Y>=Z,!. 
   /* иначе, если второе число больше третьего, 
      то второе число является максимумом */
max3b(_,_,Z,Z). 
    /* иначе максимум - это третье число */
Описание слайда:
Нахождение максимума из трех чисел (отсечение) max3b(X,Y,Z,X):- X>Y,X>Z,!. /* если первое число больше второго и третьего, то первое число - максимум */ max3b(_,Y,Z,Y):- Y>=Z,!. /* иначе, если второе число больше третьего, то второе число является максимумом */ max3b(_,_,Z,Z). /* иначе максимум - это третье число */

Слайд 30





Нахождение максимума из трех чисел (с помощью max2)
max3(X,Y,Z,M):-
   max2(X,Y,XY), /* XY - максимум из X и Y */
   max2(XY,Z,M). /* M - максимум из XY и Z */
Описание слайда:
Нахождение максимума из трех чисел (с помощью max2) max3(X,Y,Z,M):- max2(X,Y,XY), /* XY - максимум из X и Y */ max2(XY,Z,M). /* M - максимум из XY и Z */

Слайд 31





Рекурсия на Прологе
Описание слайда:
Рекурсия на Прологе

Слайд 32





Программа «Родственники»
предок(Предок,Потомок):-
	   родитель(Предок,Потомок). 
	   /* предком является родитель */
предок(Предок,Потомок):-
	   родитель(Предок,Человек),
	   предок(Человек,Потомок). 
	   /* предком является родитель предка */
Описание слайда:
Программа «Родственники» предок(Предок,Потомок):- родитель(Предок,Потомок). /* предком является родитель */ предок(Предок,Потомок):- родитель(Предок,Человек), предок(Человек,Потомок). /* предком является родитель предка */

Слайд 33





Правило, реализующее шаг рекурсии
<имя определяемого предиката>:-
   [<подцели>],
   [<условие выхода из рекурсии>],
   [<подцели>],
   <имя определяемого предиката>, 
   [<подцели>].
Описание слайда:
Правило, реализующее шаг рекурсии <имя определяемого предиката>:- [<подцели>], [<условие выхода из рекурсии>], [<подцели>], <имя определяемого предиката>, [<подцели>].

Слайд 34





Программа «Факториал»
1!=1 /* факториал единицы равен единице */
N!=(N-1)!*N /* для того, чтобы вычислить факториал некоторого числа, нужно вычислить                факториал числа на единицу меньшего и умножить его на исходное число */
Описание слайда:
Программа «Факториал» 1!=1 /* факториал единицы равен единице */ N!=(N-1)!*N /* для того, чтобы вычислить факториал некоторого числа, нужно вычислить факториал числа на единицу меньшего и умножить его на исходное число */

Слайд 35





Факториал
fact(1,1). /* факториал единицы равен единице */
fact(N,F):-
   N1=N-1,
   fact(N1,F1), /* F1 равен факториалу числа 
                   на единицу меньшего исходного 
                   числа */
   F=F1*N. /* факториал исходного числа равен 
              произведению F1 на само число */
Описание слайда:
Факториал fact(1,1). /* факториал единицы равен единице */ fact(N,F):- N1=N-1, fact(N1,F1), /* F1 равен факториалу числа на единицу меньшего исходного числа */ F=F1*N. /* факториал исходного числа равен произведению F1 на само число */

Слайд 36





Факториал 
fact(1,1). /* факториал единицы равен единице */
fact(N,F):-
   N>1, /* убедимся, что число больше единицы */
   N1=N-1,
   fact(N1,F1), /* F1 равен факториалу числа, 
                   на единицу меньшего исходного 
                   числа */
   F=F1*N. /* факториал исходного числа равен 
              произведению F1 на само число */
Описание слайда:
Факториал fact(1,1). /* факториал единицы равен единице */ fact(N,F):- N>1, /* убедимся, что число больше единицы */ N1=N-1, fact(N1,F1), /* F1 равен факториалу числа, на единицу меньшего исходного числа */ F=F1*N. /* факториал исходного числа равен произведению F1 на само число */

Слайд 37





Факториал
fact(1,1):-!. /* условие останова рекурсии */
fact(N,F):-
   N1=N-1,
   fact(N1,F1), /* F1 равен факториалу числа, 
                   на единицу меньшего исходного 
                   числа */
   F=F1*N. /* факториал исходного числа равен 
              произведению F1 на само число */
Описание слайда:
Факториал fact(1,1):-!. /* условие останова рекурсии */ fact(N,F):- N1=N-1, fact(N1,F1), /* F1 равен факториалу числа, на единицу меньшего исходного числа */ F=F1*N. /* факториал исходного числа равен произведению F1 на само число */

Слайд 38





Факториал
Правосторонняя рекурсия
fact2(N,F,N,F):-!. /* останавливаем рекурсию, когда третий 
                      аргумент равен первому*/
fact2(N,F,N1,F1):-
   N2=N1+1, /* N2 - следующее натуральное число 
               после числа N1 */
   F2=F1*N2, /* F2 - факториал N2 */
   fact2(N,F,N2,F2). 
   /* рекурсивный вызов с новым натуральным 
      числом N2 и соответствующим ему 
      посчитанным факториалом F2 */
Описание слайда:
Факториал Правосторонняя рекурсия fact2(N,F,N,F):-!. /* останавливаем рекурсию, когда третий аргумент равен первому*/ fact2(N,F,N1,F1):- N2=N1+1, /* N2 - следующее натуральное число после числа N1 */ F2=F1*N2, /* F2 - факториал N2 */ fact2(N,F,N2,F2). /* рекурсивный вызов с новым натуральным числом N2 и соответствующим ему посчитанным факториалом F2 */

Слайд 39





Факториал
factM(N,F):-
   fact2(N,F,1,1). /* вызываем предикат с уже 
                      заданными начальными 
                      значениями */
Описание слайда:
Факториал factM(N,F):- fact2(N,F,1,1). /* вызываем предикат с уже заданными начальными значениями */

Слайд 40





Цикл с предусловием
w :- 
       <условие>, p, w.
w :- !.
while <условие> do P
Описание слайда:
Цикл с предусловием w :- <условие>, p, w. w :- !. while <условие> do P

Слайд 41





Программа «Родственники»
левосторонняя рекурсия
предок2(Предок,Потомок):-
               родитель(Предок,Потомок). 
               /* предком является родитель */
предок2(Предок,Потомок):-
               предок2(Человек,Потомок), 
               /* предком является родитель предка */
               родитель(Предок,Человек).
Описание слайда:
Программа «Родственники» левосторонняя рекурсия предок2(Предок,Потомок):- родитель(Предок,Потомок). /* предком является родитель */ предок2(Предок,Потомок):- предок2(Человек,Потомок), /* предком является родитель предка */ родитель(Предок,Человек).



Теги lecture01
Похожие презентации
Mypresentation.ru
Загрузить презентацию