русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Примеры программ в языке Турбо Пролог

Пример. Игровая  программа “Угадайка” (обратная цепочка рассуждений)
domains
database
db_confirm(symbol,symbol)  % база знаний из фактов  да
db_denied(symbol,symbol)   % база знаний из фактов нет 
predicates
confirm(symbol,symbol) % характерные признаки животного
denied(symbol,symbol)  
check_it(symbol,symbol)      % ввод ответа
remember(symbol,symbol,symbol)  % запись в базу
identify(symbol)        % описание конкретного факта (животного)
it_s(symbol)         % классификация животного
animals       
clauses
confirm(X,Y) if db_confirm(X,Y),!.
confirm(X,Y) if not(denied(X,Y)),! and check_it(X,Y).
denied(X,Y) if db_denied(X,Y),!.
check_it(X,Y):-
write(X, "OHO ",Y,"\n"), readln(Reply),  remember(X,Y,Reply).
remember(X,Y,y):-  asserta(db_confirm(X,Y)).    
remember(X,Y,n):-  asserta(db_denied(X,Y)),       fail.
it_s("птица") if
not(it_s("млекопитающееся")), confirm("","перья"), confirm("","летает"),
confirm(" ","несет яйца"),!.
it_s("рыба") if
confirm("","плавает"), confirm("","в чешуе"),!.   

it_s("млекопитающееся") if
confirm(" ","кормит детенышей молоком"),!.           
it_s("травоядное") if     it_s("млекопитающееся"),  confirm("","копыта"),  confirm("","жует траву"),!.   
it_s("хищник") ifconfirm(" ","ест мясо"),!.
it_s("птица") if confirm("","перья"), confirm("","летает"),  confirm(" ","несет яйца"),!.
identify("орел") if   it_s("птица"), confirm("имеет","острый клюв"), it_s("хищник").
identify("жираф") if
it_s("травоядное") and
confirm("имеет","длинная шея") and  confirm("имеет","длинные ноги") and  
confirm("имеет","темные пятна"),!.
identify("корова") if
it_s("травоядное") and confirm("","рога"),!.
identify("зебра") if
it_s("травоядное") and  confirm("","черные полосы"),!.
identify("тигр") if
it_s("млекопитающееся") and it_s("хищник") and
confirm("","рыжевато-коричневого цвета") and
confirm("","когти") and confirm("","полосатый"),!.
identify("страус") if
it_s("птица") and    confirm("","длинные ноги") and  not( confirm("","летает")) and  
confirm("","несет яйца"),!.
identify("пингвин") if
it_s("птица") and  not(confirm("","летает")) and  confirm("","плавает") and  
confirm("","несет яйца") and    confirm("","черно-белый окрас"),!.
identify("кашалот") if
it_s("млекопитающееся") and  not(it_s("хищник")) and
confirm("","плавает") and    confirm("","большого размера"),!.

identify("осьминог") if
not(it_s("млекопитающееся")) and confirm("","с длинными щупальцами") and  
confirm("","плавает") and confirm("","с клювом"),!.
identify("сардина") if
it_s("рыба") and confirm("","маленького размера") and
confirm("","служит начинкой сендвича"),!.
identify("неопределено").
animals   if identify(X),
write("Задуманное животное ",X),nl,!.         
goal
write("ЗАДУМАЙТЕ ЖИВОТНОЕ: орел,жираф,тигр,корова",
"сардина,осьминог,кашалот,пингвин,страус"),nl,
animals.          

Пример. Игровая  программа “Угадайка” (прямая цепочка рассуждений )
domains
database
db_confirm(symbol,symbol)
db_denied(symbol,symbol)    
have_found(symbol)
predicates
confirm(symbol,symbol)
denied(symbol,symbol)  
check_it(symbol,symbol)
remember(symbol,symbol,symbol)
it_is(symbol)
find_animal
test1(symbol)
test2(symbol,symbol)

     test3(symbol,symbol,symbol)
test4(symbol,symbol,symbol,symbol)
guess_animal
clauses
find_animal if
test1(X),test2(X,Y),test3(X,Y,Z),test4(X,Y,Z,_),!.
find_animal.
% Правила 1 уровня классификации
test1(m) if  it_is("млекопитающееся"),!.    
test1(n).
% Правила 2 уровня классификации
test2(m,c) if it_is("хищник"),!.    
test2(m,n).    

test2(n,w) if confirm("","плавает"),!.    
test2(n,n).         
% Правила 3 уровня классификации
test3(m,c,s) if confirm("","полосатый"),  asserta(have_found("тигр !")),!.    
test3(m,c,n) if asserta(have_found("гепард !")).    
test3(m,n,l) if not( confirm("","плавает")), not( confirm("","летает")),!.

test3(m,n,n) if asserta(have_found("голубой кит !")).    
test3(n,n,f) if confirm("","летает"), asserta(have_found("орел")),!.         
test3(n,n,n) if asserta(have_found("страус!")).    
test3(n,w,t) if confirm("","щупальце"), asserta(have_found("осьминог!")),!.         
test3(n,w,n).
% Правила 4 уровня классификации
test4(m,n,l,s) if confirm("","полосатый"), asserta(have_found("зебра !")),!.    
test4(m,n,l,n) if asserta(have_found("жираф !")).    

test4(n,w,n,f) if  confirm("","крылья"), asserta(have_found("пингвин !")),!.    
test4(n,w,n,n) if asserta(have_found("сардина!")).
guess_animal
if find_animal,  have_found(X), write("Задуманное животное ",X),nl,!.         
confirm(X,Y) if db_confirm(X,Y),!.
confirm(X,Y) if not(denied(X,Y)),! and check_it(X,Y).
denied(X,Y) if db_denied(X,Y),!.
check_it(X,Y):-  write(X, "?",Y,"\n"), readln(Reply), remember(X,Y,Reply).
remember(X,Y,y):- asserta(db_confirm(X,Y)).    
remember(X,Y,n):-  asserta(db_confirm(X,Y)),  fail.
it_is("птица") if
not (it_is ("млекопитающееся")), confirm("","перья"),  confirm("","летает"),   
confirm(" ","несет яйца"),!.
it_is("рыба") if
confirm("","плавает"), confirm("","чешую"),!.   
it_is("млекопитающееся") if     confirm(" ","кормит детенышей молоком"),!.           
it_is("травоядное") if
it_is("млекопитающееся"), confirm("","копыта"),  confirm("","жует траву"),!.   
it_is("хищник") if     it_is("млекопитающееся"),  confirm(" ","ест мясо"),!.
it_is("птица") if     not(it_is("млекопитающееся")),  confirm("","перья"),  confirm("","летает"),   
confirm(" ","несет яйца"),!.
identify("орел") if
it_is("птица") and confirm("","острый клюв") and  it_is("хищник") and
confirm("","национальный символ"),!.
identify("жираф") if

   it_is("травоядное") and confirm("","длинная шея") and
confirm("","длинные ноги") and   onfirm("","темные пятна"),!.
identify("корова") if  it_is("травоядное") and confirm("","рога"),!.

identify("зебра") if    it_is("травоядное") and confirm("","черные полосы"),!.
identify("тигр") if
it_is("млекопитающее") and   it_is("хищник") and confirm("","рыжевато-коричневого цвета") and  confirm("","когти") and  сonfirm("","полосатый"),!.
identify("страус") if  it_is("птица") and  confirm("","длинные ноги") and not( confirm("","летает")) and   confirm("","несет яйца"),!.
identify("пингвин") if  it_is("птица") and  not(confirm("","летает")) and confirm("","плавает") and  
confirm("","несет яйца") and  confirm("","черно-белый окрас"),!.
identify("кашалот") if
it_is("млекопитающееся") and confirm("","плавает") and confirm("","большой размер"),!.
identify("осьминог") if
not(it_is("млекопитающееся")) and  confirm("","длинные щупальца") and  
confirm("","плавает") and   confirm("","клюв"),!.
identify("сардина") if
it_is("рыба") and    confirm("","маленькогo размера") and
confirm("","начинка сендвича"),!.
identify("неопределено").
goal
guess_animal.

 

Пример. Игровая  программа “Угадайка” (обратная цепочка рассуждений)

domains
database
db_confirm(symbol,symbol)  % база знаний из фактов  да
db_denied(symbol,symbol)   % база знаний из фактов нет 
predicates
confirm(symbol,symbol) % характерные признаки животного
denied(symbol,symbol)  
check_it(symbol,symbol)      % ввод ответа
remember(symbol,symbol,symbol)  % запись в базу
identify(symbol)        % описание конкретного факта (животного)
it_s(symbol)         % классификация животного
animals       
clauses
confirm(X,Y) if db_confirm(X,Y),!.
confirm(X,Y) if not(denied(X,Y)),! and check_it(X,Y).
denied(X,Y) if db_denied(X,Y),!.
check_it(X,Y):-
write(X, "OHO ",Y,"\n"), readln(Reply),  remember(X,Y,Reply).
remember(X,Y,y):-  asserta(db_confirm(X,Y)).    
remember(X,Y,n):-  asserta(db_denied(X,Y)),       fail.
it_s("птица") if
not(it_s("млекопитающееся")), confirm("","перья"), confirm("","летает"),
confirm(" ","несет яйца"),!.
it_s("рыба") if
confirm("","плавает"), confirm("","в чешуе"),!.   

it_s("млекопитающееся") if
confirm(" ","кормит детенышей молоком"),!.
it_s("травоядное") if     it_s("млекопитающееся"),  confirm("","копыта"),  confirm("","жует траву"),!.   
it_s("хищник") ifconfirm(" ","ест мясо"),!.
it_s("птица") if confirm("","перья"), confirm("","летает"),  confirm(" ","несет яйца"),!.
identify("орел") if   it_s("птица"), confirm("имеет","острый клюв"), it_s("хищник").
identify("жираф") if
it_s("травоядное") and
confirm("имеет","длинная шея") and  confirm("имеет","длинные ноги") and  
confirm("имеет","темные пятна"),!.
identify("корова") if
it_s("травоядное") and confirm("","рога"),!.
identify("зебра") if
it_s("травоядное") and  confirm("","черные полосы"),!.
identify("тигр") if
it_s("млекопитающееся") and it_s("хищник") and
confirm("","рыжевато-коричневого цвета") and
confirm("","когти") and confirm("","полосатый"),!.
identify("страус") if
it_s("птица") and    confirm("","длинные ноги") and  not( confirm("","летает")) and  
confirm("","несет яйца"),!.
identify("пингвин") if
it_s("птица") and  not(confirm("","летает")) and  confirm("","плавает") and  
confirm("","несет яйца") and    confirm("","черно-белый окрас"),!.
identify("кашалот") if
it_s("млекопитающееся") and  not(it_s("хищник")) and
confirm("","плавает") and    confirm("","большого размера"),!.

identify("осьминог") if
not(it_s("млекопитающееся")) and confirm("","с длинными щупальцами") and  
confirm("","плавает") and confirm("","с клювом"),!.
identify("сардина") if
it_s("рыба") and confirm("","маленького размера") and
confirm("","служит начинкой сендвича"),!.
identify("неопределено").
animals   if identify(X),
write("Задуманное животное ",X),nl,!.         
goal
write("ЗАДУМАЙТЕ ЖИВОТНОЕ: орел,жираф,тигр,корова",
"сардина,осьминог,кашалот,пингвин,страус"),nl,
animals.          

Пример. Игровая  программа “Угадайка” (прямая цепочка рассуждений )

domains
database
db_confirm(symbol,symbol)
db_denied(symbol,symbol)    
have_found(symbol)
predicates
confirm(symbol,symbol)
denied(symbol,symbol)  
check_it(symbol,symbol)
remember(symbol,symbol,symbol)
it_is(symbol)
find_animal
test1(symbol)
test2(symbol,symbol)

test3(symbol,symbol,symbol)
test4(symbol,symbol,symbol,symbol)
guess_animal
clauses
find_animal if
test1(X),test2(X,Y),test3(X,Y,Z),test4(X,Y,Z,_),!.
find_animal.
% Правила 1 уровня классификации
test1(m) if  it_is("млекопитающееся"),!.    
test1(n).
% Правила 2 уровня классификации
test2(m,c) if it_is("хищник"),!.    
test2(m,n).    

test2(n,w) if confirm("","плавает"),!.    
test2(n,n).         
% Правила 3 уровня классификации
test3(m,c,s) if confirm("","полосатый"),  asserta(have_found("тигр !")),!.    
test3(m,c,n) if asserta(have_found("гепард !")).    
test3(m,n,l) if not( confirm("","плавает")), not( confirm("","летает")),!.

test3(m,n,n) if asserta(have_found("голубой кит !")).    
test3(n,n,f) if confirm("","летает"), asserta(have_found("орел")),!.         
test3(n,n,n) if asserta(have_found("страус!")).    
test3(n,w,t) if confirm("","щупальце"), asserta(have_found("осьминог!")),!.         
test3(n,w,n).
% Правила 4 уровня классификации
test4(m,n,l,s) if confirm("","полосатый"), asserta(have_found("зебра !")),!.    
test4(m,n,l,n) if asserta(have_found("жираф !")).    

test4(n,w,n,f) if  confirm("","крылья"), asserta(have_found("пингвин !")),!.    
test4(n,w,n,n) if asserta(have_found("сардина!")).
guess_animal
if find_animal,  have_found(X), write("Задуманное животное ",X),nl,!.         
confirm(X,Y) if db_confirm(X,Y),!.
confirm(X,Y) if not(denied(X,Y)),! and check_it(X,Y).
denied(X,Y) if db_denied(X,Y),!.
check_it(X,Y):-  write(X, "?",Y,"\n"), readln(Reply), remember(X,Y,Reply).
remember(X,Y,y):- asserta(db_confirm(X,Y)).    
remember(X,Y,n):-  asserta(db_confirm(X,Y)),  fail.
it_is("птица") if
not (it_is ("млекопитающееся")), confirm("","перья"),  confirm("","летает"),   
confirm(" ","несет яйца"),!.
it_is("рыба") if
confirm("","плавает"), confirm("","чешую"),!.   
it_is("млекопитающееся") if     confirm(" ","кормит детенышей молоком"),!.           
it_is("травоядное") if
it_is("млекопитающееся"), confirm("","копыта"),  confirm("","жует траву"),!.   
it_is("хищник") if     it_is("млекопитающееся"),  confirm(" ","ест мясо"),!.
it_is("птица") if     not(it_is("млекопитающееся")),  confirm("","перья"),  confirm("","летает"),   
confirm(" ","несет яйца"),!.
identify("орел") if
it_is("птица") and confirm("","острый клюв") and  it_is("хищник") and
confirm("","национальный символ"),!.
identify("жираф") if

   it_is("травоядное") and confirm("","длинная шея") and
confirm("","длинные ноги") and   onfirm("","темные пятна"),!.
identify("корова") if  it_is("травоядное") and confirm("","рога"),!.

identify("зебра") if    it_is("травоядное") and confirm("","черные полосы"),!.
identify("тигр") if
it_is("млекопитающее") and   it_is("хищник") and confirm("","рыжевато-коричневого цвета") and  confirm("","когти") and  сonfirm("","полосатый"),!.
identify("страус") if  it_is("птица") and  confirm("","длинные ноги") and not( confirm("","летает")) and   confirm("","несет яйца"),!.
identify("пингвин") if  it_is("птица") and  not(confirm("","летает")) and confirm("","плавает") and  
confirm("","несет яйца") and  confirm("","черно-белый окрас"),!.
identify("кашалот") if
it_is("млекопитающееся") and confirm("","плавает") and confirm("","большой размер"),!.
identify("осьминог") if
not(it_is("млекопитающееся")) and  confirm("","длинные щупальца") and  
confirm("","плавает") and   confirm("","клюв"),!.
identify("сардина") if
it_is("рыба") and    confirm("","маленькогo размера") and
confirm("","начинка сендвича"),!.
identify("неопределено").
goal
guess_animal.          

 

Просмотров: 18457

Вернуться воглавление


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Полезен материал? Поделись:

Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.