Programming Project

CSE 335/435 - Intelligent Decision Support Systems - Fall 2006

Authors: Fabiana Prabhakar and

Shruti Bhandari

 

1)   Description of the Project

The ÒTour Planning Help SystemÓ is an Interactive CBR system for a tour planning domain. It essentially helps a user to decide a trip location depending on his personal preferences.

The user is able to choose pre-defined values among a list of attributes in order to create a new problem. The system will analyze this problem and show the cases in the case base order by its similarity to the problem.

The information gain metric provides the user extra information about the cases and can be very helpful during the attributes values selection.

The user can perform the following actions using the ÒTour Planning Help SystemÓ:

¤       read cases and facts files;

¤       assign/change values to attributes;

¤       see a case in detail;

¤       check the information gain values;

¤       enter weights for attributes;

¤       enter a parameter for matches/mismatches.


 

2)   The Interface

2.1)         Main Window

 

 


2.2)         Settings Window

 


2.3)         Facts Window

 


2.4)         Cases Window

 


3)   Formulae

3.1)         Information Gain

Remainder(A) =   p(A,1) I(p1/(p1+ n1), n1/(p1+ n1)) +

                                   p(A,2) I(p2/(p2+ n2), n2/(p2+ n2)) +É+

                                   p(A,v) I(pv/(pv+ nv), nv/(pv+ nv))

 

Gain(A) = I(p/p+n,n/p+n) – Remainder(A)

 

3.2)         Weighted Hamming distance with a parameter

¤       Matches

m = equal(X1,Y1) * α1 + equal(X2,Y2) * α2 + ... + equal(Xv,Yv) * αv;

¤       Mismatches

x = diff(X1,Y1) * α1 + diff(X2,Y2) * α2 + ... + diff(Xv,Yv) * αv;

¤       Hamming Distance

HW(X,Y) = 1- ((alpha*m)/((alpha*m) + ((1-alpha)*x)));

equal(A,B) { if (A==B) return 1;

                           else return 0; }

diff(A,B) { if (A!=B) return 1;

                           else return 0; }

¤       α1 + α2 + É + αv = 1      

¤       alpha is the weight of matches

 

4)   Initial Setup and Execution Guideline

4.1)         Known Cases file – caseBase2.xml


 

name

# of days

kind

religion

Month

climate

International

maximum_expense

solution

x1

>2 <5

family

 

Mar - Aug

hot

no

<1000

Rocky Mountain National Park, Colorado, US

x2

>2 <5

family

 

Sep - Feb

cold

no

<1000

Rocky Mountain National Park, Colorado, US

x3

>2 <5

family

 

Sep - Feb

cold

no

>1000 <2000

Disneyland, Orlando, US

x4

>2 <5

family

 

Mar - Aug

hot

no

>1000 <2000

Disneyland, Orlando, US

x5

>7

romantic

 

Mar - Aug

hot

no

>3000

Napa Valley, California, US

x6

>7

romantic

 

Sep - Feb

cold

no

>3000

Napa Valley, California, US

x7

>5 <7

romantic

 

Mar - Aug

hot

no

>1000 <2000

Napa Valley, California, US

x8

>5 <7

romantic

 

Sep - Feb

cold

no

>3000

Napa Valley, California, US

x9

>2 <5

urban

 

Mar - Aug

hot

no

<1000

San Francisco, California, US

x10

>2 <5

urban

 

Sep - Feb

cold

no

<1000

San Francisco, California, US

x11

>5 <7

urban

 

Mar - Aug

hot

no

>1000 <2000

San Francisco, California, US

x12

>5 <7

urban

 

Sep - Feb

cold

no

>1000 <2000

San Francisco, California, US

x13

>2 <5

urban

 

Mar - Aug

hot

no

<1000

New York, New York, US

x14

>2 <5

urban

 

Sep - Feb

cold

no

<1000

New York, New York, US

x15

>5 <7

urban

 

Mar - Aug

hot

no

>1000 <2000

New York, New York, US

x16

>5 <7

urban

 

Sep - Feb

cold

no

>1000 <2000

New York, New York, US

x17

>7

religious

catholic

Mar - Aug

hot

yes

>3000

Italy

x18

>7

religious

catholic

Sep - Feb

cold

yes

>3000

Italy

x19

>7

religious

catholic

Mar - Aug

hot

yes

>3000

Israel

x20

>7

religious

catholic

Sep - Feb

cold

yes

>3000

Israel

x21

>7

religious

jewish

Mar - Aug

hot

yes

>3000

Israel

x22

>7

religious

jewish

Sep - Feb

cold

yes

>3000

Israel

x23

>7

religious

hindu

Mar - Aug

hot

yes

>3000

India

x24

>7

religious

hindu

Sep - Feb

cold

yes

>3000

India

x25

>2 <5

urban

 

Mar - Aug

hot

yes

>1000 <2000

Toronto, Canada

x26

>2 <5

urban

 

Sep - Feb

cold

yes

>1000 <2000

Toronto, Canada

x27

>7

adventure

 

Mar - Aug

cold

yes

<1000

Kenya

x28

>7

adventure

 

Sep - Feb

hot

yes

<1000

Kenya

x29

>7

beach

 

Mar - Aug

cold

yes

>1000 <2000

Rio de Janeiro, Brazil

x30

>7

beach

 

Sep - Feb

hot

yes

>1000 <2000

Rio de Janeiro, Brazil

x31

>7

adventure

 

Mar - Aug

cold

yes

>1000 <2000

Amazon Rainforest, Brazil

x32

>7

adventure

 

Sep - Feb

hot

yes

>1000 <2000

Amazon Rainforest, Brazil

x33

>7

beach

 

Mar - Aug

hot

yes

>1000 <2000

Ghoa, India

x34

>7

beach

 

Sep - Feb

cold

yes

>1000 <2000

Ghoa, India

x35

<2

adventure

 

Mar - Aug

hot

no

<1000

Grand Canyon, AZ, US

x36

<2

adventure

 

Sep - Feb

cold

no

<1000

Grand Canyon, AZ, US

x37

>7

romantic

 

Mar - Aug

hot

yes

>3000

Bahamas

x38

>7

romantic

 

Sep - Feb

cold

yes

>3000

Bahamas

x39

>7

romantic

 

Mar - Aug

cold

yes

>3000

Taveuni Palms, Fiji

x40

>7

romantic

 

Sep - Feb

hot

yes

>3000

Taveuni Palms, Fiji

 

 

 

4.2)         Known Facts file – facts1.xml

 

 

 

5)   Possible extensions

¤       A simplified climate set was chosen in order to show the feasibility of our domain. At this point, the system assumes that the proposed locations have hot/cold weather depending on the hemisphere they are located on and the intended tripÕs date.

o      The case base can be tailored in order to more specifically address climate peculiarities, such as raining seasons, extended periods of warmer/colder weather, etc.

o      The attributes month and climate can be refined or even extended in order to better represent different climates around the globe.

¤       Store new cases;

¤       Analysis of the stored cases: discard the ones containing noise, redundancy or even the ones that are never used;

¤       Change an existing case and update the case base.

 

6)   Conclusions

During the development of the project, we were able to implement important CBR concepts, such as information gain, hamming distance and similarity.

This third part was especially interesting because we were given the opportunity to apply the knowledge acquired during the semester in order to build our own domain.