Министерство образования РФ Новосибирский государственный технический университет Кафедра программных систем и баз данных Лабораторная работа №1 СИСТЕМЫ ИСКУСТВЕННОГО ИНТЕЛЕКТА Факультет: ПМИ Группа: ПМ-01 Студенты: Кирюшина Е.С. Русакова Ю.М. Хижняк О.А. Преподаватели: Целебровская М.Ю. Новосибирск 2004 |
Цель работы
Изучение основных способов представления математических проблем в символьном виде, пригодном для формальной обработки на компьютере.
Задание
1. Используя в качестве прототипа программу аналитического дифференцирования, составить программу аналитического интегрирования для выбранного класса функций.
Текстпрограммы:
in(int(0),_,int(0)):-!.
in(int(I),X,mult(int(I),var(X))).
%sv-vo1
in(plus(U,V),X,plus(U1,V1)):in(U,X,U1), in(V,X,V1).
%sv-vo1
in(minus(U,V),X,minus(U1,V1)):in(U,X,U1), in(V,X,V1).
%sv-vo2
in(mult(int(I),U),X,mult(int(I),U1)):in(U,X,U1),!.
%sv-vo2
in(mult(U,int(I)),X,mult(int(I),U1)):in(U,X,U1),!.
%sv-vo2
in(div(U,int(I)),X,div(U1,int(I))):in(U,X,U1),!.
%sv-vo4
in(div(U1,U),X,ln(modul(U))):d(U,X,U2),reduce(U2,U3),U1=U3,!.
%1
in(potens(U,int(I)),X,div(potens(U,int(I1)),mult(int(I1),U1))):I1=I+1, d(U,X,U1).
%1
in(var(X),X,div(potens(var(X),int(2)),int(2))):-!.
%2
in(potens(U,div(int(I1),int(I2))),X,mult(int(I),mult(div(potens(U,div(int(I),int(I2))),int(I2)),U1))):I=I1+I2, d(U,X,U1).
%3
in(potens(U,int(-1)),X,div(ln(modul(U)),U1)):d(U,X,U1),!.
%4
in(potens(var(e),U),X,div(potens(var(e),U),U1)):d(U,X,U1).
%5
in(potens(int(I),U),X,div(potens(int(I),U),mult(ln(int(I)),U1))):d(U,X,U1).
%6
in(sin(U),X,minus(int(0),div(cos(U),U1))):d(U,X,U1).
%7
in(cos(U),X,div(sin(U),U1)):d(U,X,U1).
%8
in(tg(U),X,minus(int(0),div(ln(modul(cos(U))),U1))):d(U,X,U1).
%9
in(ctg(U),X,div(ln(modul(sin(U))),U1)):d(U,X,U1).
%10
in(div(int(I),potens(cos(U),int(2))),X,mult(int(I),div(tg(U),U1))):-!,
d(U,X,U1).
%11
in(div(int(I),potens(sin(U),int(2))),X,mult(int(I),minus(int(0),div(ctg(U),U1)))):-!,
d(U,X,U1).
%12
in(sh(U),X,div(ch(U),U1)):d(U,X,U1).
%13
in(ch(U),X,div(sh(U),U1)):d(U,X,U1).
%14
in(th(U),X,div(ln(ch(U)),U1)):d(U,X,U1).
%15
in(cth(U),X,div(ln(modul(sh(U))),U1)):d(U,X,U1).
%16
in(div(int(I),potens(ch(U),int(2))),X,mult(int(I),div(th(U),U1))):-!,
d(U,X,U1).
%17
in(div(int(I),potens(sh(U),int(2))),X,mult(int(I),minus(int(0),div(cth(U),U1)))):-!,
d(U,X,U1).
%18
in(div(int(I1),plus(potens(U,int(2)),potens(int(I),int(2)))),_,mult(div(int(I1),int(I)),arctg(div(U,int(I))))):-!.
%18
in(div(int(I1),plus(potens(int(I),int(2)),potens(U,int(2)))),_,mult(div(int(I1),int(I)),arctg(div(U,int(I))))):-!.
%19
in(div(int(I1),minus(potens(int(I),int(2)),potens(U,int(2)))),_,mult(div(int(I1),int(I)),arth(div(U,int(I))))).
%19
in(div(int(I1),minus(potens(int(I),int(2)),potens(U,int(2)))),_,mult(div(int(I1),mult(int(2),int(I))),ln(modul(div(plus(int(I),U),minus(int(I),U)))))):-!.
%20
in(div(int(I1),minus(potens(U,int(2)),potens(int(I),int(2)))),_,mult(div(int(I1),int(I)),arcth(div(U,int(I))))).
%20
in(div(int(I1),minus(potens(U,int(2)),potens(int(I),int(2)))),_,mult(div(int(I1),mult(int(2),int(I))),ln(modul(div(minus(U,int(I)),plus(U,int(I))))))):-!.
%21
in(div(int(I1),potens(minus(potens(int(I),int(2)),potens(U,int(2))),div(int(1),int(2)))),_,mult(int(I1),arcsin(div(U,int(I))))):-!.
%22
in(div(int(I1),potens(plus(potens(int(I),int(2)),potens(U,int(2))),div(int(1),int(2)))),_,mult(int(I1),arsh(div(U,int(I))))).
%22
in(div(int(I1),potens(plus(potens(int(I),int(2)),potens(U,int(2))),div(int(1),int(2)))),_,mult(int(I1),ln(plus(U,potens(plus(potens(int(I),int(2)),potens(U,int(2))),div(int(1),int(2))))))):-!.
%22
in(div(int(I1),potens(plus(potens(U,int(2)),potens(int(I),int(2))),div(int(1),int(2)))),_,mult(int(I1),arsh(div(U,int(I))))).
%22
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.