Skip to content

Commit 546ca18

Browse files
Update.
1 parent 9aa6f0b commit 546ca18

File tree

2 files changed

+39
-110
lines changed

2 files changed

+39
-110
lines changed

app.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
const readline = require('readline-sync');
2-
const kb = require('./data/plants.js');
2+
const kb = require('./data/etfs.js');
33

44
const forwardChain = function(assertions) {
55
// Select the first rule.

data/etfs.js

Lines changed: 38 additions & 109 deletions
Original file line numberDiff line numberDiff line change
@@ -1,148 +1,77 @@
11
const KB = [
22
{
33
premises: [
4-
'risk tolerance is high',
5-
'preference is stocks',
6-
'preference is technology',
7-
'preference is dividends'
4+
{ attribute: 'class', value: 'bond' },
5+
{ attribute: 'category', value: 'treasury' },
6+
{ attribute: 'risk', value: 'low' },
7+
{ attribute: 'dividend', value: 'yes' }
88
],
9-
conclusion: 'VYM'
9+
conclusion: { attribute: 'fund', value: 'BND' }
1010
},
1111
{
1212
premises: [
13-
'risk tolerance is high',
14-
'preference is stocks',
15-
'preference is technology'
13+
{ attribute: 'class', value: 'bond' },
14+
{ attribute: 'category', value: 'treasury' },
15+
{ attribute: 'risk', value: 'high' },
16+
{ attribute: 'dividend', value: 'yes' }
1617
],
17-
conclusion: 'QQQ'
18+
conclusion: { attribute: 'fund', value: 'JNK' }
1819
},
1920
{
2021
premises: [
21-
'risk tolerance is high',
22-
'preference is stocks',
23-
'preference is dividends'
22+
{ attribute: 'class', value: 'bond' },
23+
{ attribute: 'risk', value: 'low' },
24+
{ attribute: 'dividend', value: 'yes' }
2425
],
25-
conclusion: 'DVY'
26+
conclusion: { attribute: 'fund', value: 'MUB' }
2627
},
2728
{
2829
premises: [
29-
'risk tolerance is high',
30-
'preference is stocks',
30+
{ attribute: 'class', value: 'bond' },
31+
{ attribute: 'category', value: 'municipal' },
32+
{ attribute: 'risk', value: 'low' },
33+
{ attribute: 'dividend', value: 'yes' }
3134
],
32-
conclusion: 'SPY'
35+
conclusion: { attribute: 'fund', value: 'HYD' }
3336
},
3437
{
3538
premises: [
36-
'risk tolerance is moderate',
37-
'preference is stocks',
38-
'preference is dividends'
39+
{ attribute: 'class', value: 'stock' },
40+
{ attribute: 'category', value: 'large blend' },
41+
{ attribute: 'risk', value: 'high' },
42+
{ attribute: 'size', value: 'large' },
43+
{ attribute: 'valuation', value: 'blend' }
3944
],
40-
conclusion: 'SDY'
45+
conclusion: { attribute: 'fund', value: 'SPY' }
4146
},
4247
{
4348
premises: [
44-
'risk tolerance is moderate',
45-
'preference is stocks'
49+
{ attribute: 'class', value: 'stock' },
50+
{ attribute: 'category', value: 'large value' },
51+
{ attribute: 'risk', value: 'moderate' },
52+
{ attribute: 'size', value: 'large' },
53+
{ attribute: 'valuation', value: 'value' }
4654
],
47-
conclusion: 'VTI'
55+
conclusion: { attribute: 'fund', value: 'SDY' }
4856
},
4957
{
5058
premises: [
51-
'risk tolerance is high',
52-
'preference is bonds',
53-
'preference is dividends',
54-
'tax efficiency'
59+
{ attribute: 'fund', value: 'MUB' }
5560
],
56-
conclusion: 'HYD'
61+
conclusion: { attribute: 'tolerance', value: 'low' }
5762
},
5863
{
5964
premises: [
60-
'risk tolerance is high',
61-
'preference is bonds',
62-
'preference is dividends'
65+
{ attribute: 'fund', value: 'MUB' }
6366
],
64-
conclusion: 'TLT'
67+
conclusion: { attribute: 'category', value: 'municipal' }
6568
},
6669
{
6770
premises: [
68-
'risk tolerance is moderate',
69-
'preference is bonds',
70-
'preference is dividends'
71+
{ attribute: 'fund', value: 'SPY' }
7172
],
72-
conclusion: 'JNK'
73-
},
74-
{
75-
premises: [
76-
'risk tolerance is low',
77-
'preference is bonds',
78-
'tax efficiency'
79-
],
80-
conclusion: 'MUB'
81-
},
82-
{
83-
premises: [
84-
'risk tolerance is low',
85-
'preference is bonds'
86-
],
87-
conclusion: 'BND'
88-
},
89-
/*{
90-
premises: [
91-
'risk tolerance is moderate',
92-
'VTI'
93-
],
94-
conclusion: 'BND'
95-
},
96-
{
97-
premises: [
98-
'risk tolerance is moderate',
99-
'BND'
100-
],
101-
conclusion: 'VTI'
102-
},
103-
{
104-
premises: [
105-
'QQQ'
106-
],
107-
conclusion: 'preference is technology'
108-
},
109-
{
110-
premises: [
111-
'VYM'
112-
],
113-
conclusion: 'preference is dividends'
114-
},
115-
{
116-
premises: [
117-
'JNK'
118-
],
119-
conclusion: 'preference is dividends'
120-
},
121-
{
122-
premises: [
123-
'MUB'
124-
],
125-
conclusion: 'tax efficiency'
126-
},
127-
{
128-
premises: [
129-
'HYD'
130-
],
131-
conclusion: 'tax efficiency'
132-
},
133-
{
134-
premises: [
135-
'BND'
136-
],
137-
conclusion: 'preference is bonds'
138-
},
139-
{
140-
premises: [
141-
'VTI',
142-
'BND'
143-
],
144-
conclusion: 'risk tolerence is moderate'
145-
}*/
73+
conclusion: { attribute: 'tolerance', value: 'high' }
74+
}
14675
];
14776

14877
module.exports = KB;

0 commit comments

Comments
 (0)