Metody Sztucznej Inteligencji
Sprawozdanie
Język R - zbiory rozmyte
Kod źródłowy:
nbp=read.csv("2008.csv",header=FALSE ,sep=" ",dec=",")
y=seq(1:length(nbp[,1]))
x=nbp[,1]
plot(y,x,col="red",type="s",xlab="Czas (dni)",ylab="Kurs",main="Rok 2008, Euro")
barplot(nbp[y,1],col="blue",,xlab="Czas (dni)",ylab="KURS",main="Rok 2008, Euro")
min= min(x)
max= max(x)
sr=(min+max)/2
klasa_T <- function(z){
if (z<=min)
return(0)
if (z>min & z<=sr)
return((z-min)/(sr-min))
if (z>sr & z<=max)
return((max-z)/(max-sr))
if (z>max)
return(0)
}
t=1
for (i in 1:255) {
t[i]= klasa_T(x[i])
}
plot(x, t, col="red", type="l", main ="Funkcja przynaleznosci Typ T ")
dzwonowata=1
for (g in 1:255)
{
dzwonowata[g] = 1/(1+(abs((x[g]-sr)/(min)))^2*max)
}
plot(x, dzwonowata, col="green",,xlab="x", type="l", main ="Funkcja przynależności typu dzwonowego ")
koncentracja=t^4
plot(x, koncentracja,col="black",xlab="x", type="l", main ="koncentracja, typu T ")
rozcienczenie=t^0.3
plot(x, rozcienczenie, col="brown",xlab="x", type="l", main ="rozcieńczenie, typu T ")
klasa_S <- function(iks) {
if (iks<=min)
return(0)
if (iks>min & iks<=sr)
return(2*((iks-min)/(max-min))^2)
if (iks>sr & iks<=max)
return(1-2*((iks-max)/(max-min))^2)
if (iks>max)
return(1)
}
s=1
for (j in 1:255)
{
s[j]=klasa_S(x[j])
}
plot(x, s, col="pink",,xlab="x", type="l", main ="typu S ")
dopel=1-rozcienczenie
plot(x, dopel, col="black",xlab="x",, type="l", main ="dopełnienie funkcji typu T - rozcieńczonej ")
Wykresy do zadania:
Wnioski:
Język R jest idealny do wykonywania zadań na zbiorach złożonych. Przy dość prostym zapisie pozwala wyświetlić wykresy wielu funkcji zależnych od dużej ilości danych. Nie ma problemu z jakimikolwiek obliczeniami. Składnia jest na tyle prosta, że można korzystać z niego jako z podręcznego kalkulatora w czasie pracy nad bardziej złożonymi zadaniami. Wyniki można bezpośrednio skopiować dzięki możliwości zapisywania wykresów jako mapy bitowej. Zadanie umożliwiło zapoznanie się zarówno z wiedzą na temat zbiorów rozmytych jak i podstawowych funkcji języka R.