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.