library(ggplot2)
library(reshape)
Load Data
data <- read.csv("~/Desktop/520-Intro to AI/Project3/Repeated_Forward_Astar/data_set.csv", header=FALSE)
colnames(data)<-c("Sample","dim","agent","terrain","move","exam","total")
head(data)
## Sample dim agent terrain move exam total
## 1 0 5 6 8 27 12 39
## 2 0 5 7 8 10 6 16
## 3 1 5 6 5 23 7 30
## 4 1 5 7 5 21 7 28
## 5 0 5 8 8 41 55 96
## 6 2 5 7 2 11 11 22
Defining Theme for better Plots
mynamestheme <- theme(plot.title = element_text(family = "Courier", face = "bold", size = (12)),
legend.title = element_text(colour = "Black", face = "bold.italic", family = "Helvetica"),
legend.text = element_text(face = "italic", colour="steelblue4",family = "Helvetica"),
axis.title = element_text(family = "Helvetica",face = "bold.italic", size = (10), colour = "Black"),
axis.text = element_text(family = "Courier", colour = "cornflowerblue", size = (10)))
Plot of Total Action Cost V/S Dimension of Gridworld
test1 <- data[,c("agent","dim","total")]
v1<-aggregate(test1[test1$agent==6,]$total,list(test1[test1$agent==6,]$dim), mean)
v2<-aggregate(test1[test1$agent==7,]$total,list(test1[test1$agent==7,]$dim), mean)
v3<-aggregate(test1[test1$agent==8,]$total,list(test1[test1$agent==8,]$dim), mean)
colnames(v1)<-c("Gridworld_Dimension","Agent 6")
colnames(v2)<-c("Gridworld_Dimension","Agent 7")
colnames(v3)<-c("Gridworld_Dimension","Agent 8")
MergedDF <- merge(v1, v2, by="Gridworld_Dimension")
MergedDF <- merge(MergedDF, v3, by="Gridworld_Dimension")
Molten <- melt(MergedDF, id.vars = "Gridworld_Dimension")
gp1 <- ggplot(Molten, aes(x = Gridworld_Dimension, y = value, colour = variable)) +
geom_point()+
geom_line(aes(y = value, x =Gridworld_Dimension ))+
scale_color_discrete("Agent Type")+
theme_minimal()+
theme(legend.position="top")
print(gp1 + mynamestheme + labs( y="Average Total Cost (Movement + Examination)", x = "Gridworld Dimension"))

Plot for Average Movement Cost V/S Dimension of Gridworld
test1 <- data[,c("agent","dim","move")]
v1<-aggregate(test1[test1$agent==6,]$move,list(test1[test1$agent==6,]$dim), mean)
v2<-aggregate(test1[test1$agent==7,]$move,list(test1[test1$agent==7,]$dim), mean)
v3<-aggregate(test1[test1$agent==8,]$move,list(test1[test1$agent==8,]$dim), mean)
colnames(v1)<-c("Gridworld_Dimension","Agent 6")
colnames(v2)<-c("Gridworld_Dimension","Agent 7")
colnames(v3)<-c("Gridworld_Dimension","Agent 8")
MergedDF <- merge(v1, v2, by="Gridworld_Dimension")
MergedDF <- merge(MergedDF, v3, by="Gridworld_Dimension")
Molten <- melt(MergedDF, id.vars = "Gridworld_Dimension")
gp1 <- ggplot(Molten, aes(x = Gridworld_Dimension, y = value, colour = variable)) +
geom_point()+
geom_line(aes(y = value, x =Gridworld_Dimension ))+
scale_color_discrete("Agent Type")+
theme_minimal()+
theme(legend.position="top")
print(gp1 + mynamestheme + labs( y="Average Movement Cost", x = "Gridworld Dimension"))

Plot for Average Examination Cost V/S Dimension of Gridworld
test1 <- data[,c("agent","dim","exam")]
v1<-aggregate(test1[test1$agent==6,]$exam,list(test1[test1$agent==6,]$dim), mean)
v2<-aggregate(test1[test1$agent==7,]$exam,list(test1[test1$agent==7,]$dim), mean)
v3<-aggregate(test1[test1$agent==8,]$exam,list(test1[test1$agent==8,]$dim), mean)
colnames(v1)<-c("Gridworld_Dimension","Agent 6")
colnames(v2)<-c("Gridworld_Dimension","Agent 7")
colnames(v3)<-c("Gridworld_Dimension","Agent 8")
MergedDF <- merge(v1, v2, by="Gridworld_Dimension")
MergedDF <- merge(MergedDF, v3, by="Gridworld_Dimension")
Molten <- melt(MergedDF, id.vars = "Gridworld_Dimension")
gp1 <- ggplot(Molten, aes(x = Gridworld_Dimension, y = value, colour = variable)) +
geom_point()+
geom_line(aes(y = value, x =Gridworld_Dimension ))+
scale_color_discrete("Agent Type")+
theme_minimal()+
theme(legend.position="top")
print(gp1 + mynamestheme + labs( y="Average Examination Cost", x = "Gridworld Dimension"))

Looking where target hidden in Flat Terrain Type.
test1 <- data[data$terrain==2,c("agent","dim","total")]
v1<-aggregate(test1[test1$agent==6,]$total,list(test1[test1$agent==6,]$dim), mean)
v2<-aggregate(test1[test1$agent==7,]$total,list(test1[test1$agent==7,]$dim), mean)
v3<-aggregate(test1[test1$agent==8,]$total,list(test1[test1$agent==8,]$dim), mean)
colnames(v1)<-c("Gridworld_Dimension","Agent 6")
colnames(v2)<-c("Gridworld_Dimension","Agent 7")
colnames(v3)<-c("Gridworld_Dimension","Agent 8")
MergedDF <- merge(v1, v2, by="Gridworld_Dimension")
MergedDF <- merge(MergedDF, v3, by="Gridworld_Dimension")
Molten <- melt(MergedDF, id.vars = "Gridworld_Dimension")
gp1 <- ggplot(Molten, aes(x = Gridworld_Dimension, y = value, colour = variable)) +
geom_point()+
geom_line(aes(y = value, x =Gridworld_Dimension ))+
scale_color_discrete("Agent Type")+
theme_minimal()+
theme(legend.position="top")
print(gp1 + mynamestheme + labs( y="Average Total Cost (Movement + Examination)", x = "Gridworld Dimension"))

Looking where target hidden in Hilly Terrain Type.
test1 <- data[data$terrain==5,c("agent","dim","total")]
v1<-aggregate(test1[test1$agent==6,]$total,list(test1[test1$agent==6,]$dim), mean)
v2<-aggregate(test1[test1$agent==7,]$total,list(test1[test1$agent==7,]$dim), mean)
v3<-aggregate(test1[test1$agent==8,]$total,list(test1[test1$agent==8,]$dim), mean)
colnames(v1)<-c("Gridworld_Dimension","Agent 6")
colnames(v2)<-c("Gridworld_Dimension","Agent 7")
colnames(v3)<-c("Gridworld_Dimension","Agent 8")
MergedDF <- merge(v1, v2, by="Gridworld_Dimension")
MergedDF <- merge(MergedDF, v3, by="Gridworld_Dimension")
Molten <- melt(MergedDF, id.vars = "Gridworld_Dimension")
gp1 <- ggplot(Molten, aes(x = Gridworld_Dimension, y = value, colour = variable)) +
geom_point()+
geom_line(aes(y = value, x =Gridworld_Dimension ))+
scale_color_discrete("Agent Type")+
theme_minimal()+
theme(legend.position="top")
print(gp1 + mynamestheme + labs( y="Average Total Cost (Movement + Examination)", x = "Gridworld Dimension"))

Looking where target hidden in Forest Terrain Type.
test1 <- data[data$terrain==8,c("agent","dim","total")]
v1<-aggregate(test1[test1$agent==6,]$total,list(test1[test1$agent==6,]$dim), mean)
v2<-aggregate(test1[test1$agent==7,]$total,list(test1[test1$agent==7,]$dim), mean)
v3<-aggregate(test1[test1$agent==8,]$total,list(test1[test1$agent==8,]$dim), mean)
colnames(v1)<-c("Gridworld_Dimension","Agent 6")
colnames(v2)<-c("Gridworld_Dimension","Agent 7")
colnames(v3)<-c("Gridworld_Dimension","Agent 8")
MergedDF <- merge(v1, v2, by="Gridworld_Dimension")
MergedDF <- merge(MergedDF, v3, by="Gridworld_Dimension")
Molten <- melt(MergedDF, id.vars = "Gridworld_Dimension")
gp1 <- ggplot(Molten, aes(x = Gridworld_Dimension, y = value, colour = variable)) +
geom_point()+
geom_line(aes(y = value, x =Gridworld_Dimension ))+
scale_color_discrete("Agent Type")+
theme_minimal()+
theme(legend.position="top")
print(gp1 + mynamestheme + labs( y="Average Total Cost (Movement + Examination)", x = "Gridworld Dimension"))
