-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlog2014_09_09.html
386 lines (386 loc) · 40.9 KB
/
log2014_09_09.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
<!DOCTYPE html>
<html lang='en'>
<head>
<title>
pgmpy Log of 09-09-2014
</title>
<link rel='stylesheet' type='text/css' href='css/bootstrap.min.css' media='screen' />
</head>
<body>
<div class='container'>
<h2>Log of the <code>#pgmpy</code> IRC Channel</h2><br/>
<h3>All the times shown here presently are in Indian Standard Time(IST) +0530Hrs<h3/>
<h3>Date : 09-09-2014 </h3><br/><br/>
<br/>
<kbd>[15:57:16]</kbd> <strong>[connected at Tue Sep 9 15:57:16 2014]</strong><br/>
<kbd>[15:57:28]</kbd> <strong>[I have joined #pgmpy]</strong><br/>
<kbd>[15:57:37]</kbd> <code><skundu></code> firstly, what about semester of code?<br/>
<kbd>[15:57:47]</kbd> <code><ankurankan></code> we are participating<br/>
<kbd>[15:57:56]</kbd> <code><ankurankan></code> But for the ideas we need to discuss viz first<br/>
<kbd>[15:58:01]</kbd> <code><skundu></code> ok<br/>
<kbd>[15:58:03]</kbd> <code><shashankg></code> ok<br/>
<kbd>[15:58:39]</kbd> <code><shashankg></code> first lets discuss what exactly we want from viz<br/>
<kbd>[15:58:42]</kbd> <code><ankurankan></code> shashankg, You want to know what's going on with pgmpy ?<br/>
<kbd>[15:59:08]</kbd> <code><shashankg></code> yeah, but we'll discuss it later<br/>
<kbd>[15:59:14]</kbd> <code><ankurankan></code> Okay..<br/>
<kbd>[15:59:40]</kbd> <code><skundu></code> i think we should start with what we want from viz<br/>
<kbd>[16:00:00]</kbd> <code><ankurankan></code> So we want viz to be a simple tool for students or teachers which would help in learning pgm<br/>
<kbd>[16:00:33]</kbd> <code><ankurankan></code> That is why we went for a web app so that anybody could simple go the webpage and start experimenting<br/>
<kbd>[16:01:19]</kbd> <code><shashankg></code> do we want to host it on a server and make it accessible for other people?<br/>
<kbd>[16:01:44]</kbd> <code><ankurankan></code> Yeah. When viz has that much functionality I would like to do that<br/>
<kbd>[16:01:57]</kbd> <code><shashankg></code> ok<br/>
<kbd>[16:02:11]</kbd> <code><ankurankan></code> What do you guys think?<br/>
<kbd>[16:02:26]</kbd> <code><skundu></code> the basic layout part of viz is done excluding visualization enhancements<br/>
<kbd>[16:02:50]</kbd> <code><shashankg></code> I would also like to add that feature.<br/>
<kbd>[16:02:56]</kbd> <code><ankurankan></code> skundu, No actually we need to change a lot. I was thinking about that today.<br/>
<kbd>[16:02:59]</kbd> <code><shashankg></code> skundu: please elaborate<br/>
<kbd>[16:03:19]</kbd> <code><skundu></code> enhancements like beautification of the app<br/>
<kbd>[16:03:41]</kbd> <code><skundu></code> we could have a facebook like notification column at the right side of the page<br/>
<kbd>[16:03:47]</kbd> <code><ankurankan></code> We should focus on the functionality right now. We can always style things later.<br/>
<kbd>[16:04:17]</kbd> <code><skundu></code> so what i am saying is firstly we need to discuss two things<br/>
<kbd>[16:04:17]</kbd> <code><shashankg></code> skundu: what basic layout has been implemented<br/>
<kbd>[16:04:32]</kbd> <code><skundu></code> post model analysis and how are we going to handle the data<br/>
<kbd>[16:05:02]</kbd> <code><skundu></code> by basic layout i was referring to visualization of the graph and editing it<br/>
<kbd>[16:05:31]</kbd> <code><ankurankan></code> Let's go through step by step. We still don't have the functionality of creating the models. So, right now our main focus should be model creation.<br/>
<kbd>[16:05:48]</kbd> <code><skundu></code> ok<br/>
<kbd>[16:06:13]</kbd> <code><ankurankan></code> And also since inference algo have not been implemented in pgmpy yet, we don't really know what data we would be dealing with.<br/>
<kbd>[16:06:48]</kbd> <code><shashankg></code> now regarding creating the model<br/>
<kbd>[16:06:59]</kbd> <code><skundu></code> but without actual data how do you suggest we create the model<br/>
<kbd>[16:07:06]</kbd> <code><ankurankan></code> I might be able to start implementing the algos from next week, then we will get better idea about that.<br/>
<kbd>[16:07:18]</kbd> <code><ankurankan></code> skundu, explain<br/>
<kbd>[16:07:20]</kbd> <code><shashankg></code> do we need the ability to read model from file in viz?<br/>
<kbd>[16:08:01]</kbd> <code><ankurankan></code> shashankg, I think that feature should come later on. We should just focus on a very basic thing. Just enough functionality to make everything work<br/>
<kbd>[16:08:09]</kbd> <code><skundu></code> to actually start building the model we need some source for data which we could edit or visualize through the graph<br/>
<kbd>[16:08:11]</kbd> <code><ankurankan></code> We can add features later on.<br/>
<kbd>[16:08:40]</kbd> <code><ankurankan></code> skundu, People will be adding them manually<br/>
<kbd>[16:08:57]</kbd> <code><shashankg></code> I think we should have the following in viz: 1) creating a model in viz and sending it to server for analysis 2) creating a model in backend and visualizing it in viz<br/>
<kbd>[16:09:33]</kbd> <code><skundu></code> so shall i just create a json object within basic.js and maintain it as the users edit it?<br/>
<kbd>[16:10:12]</kbd> <code><ankurankan></code> skundu, Let's discuss features first. Then we will come to implementation details.<br/>
<kbd>[16:10:18]</kbd> <code><skundu></code> ok<br/>
<kbd>[16:10:33]</kbd> <code><shashankg></code> skundu: lets discuss what do we want to achive, we can focus on the how part later<br/>
<kbd>[16:10:46]</kbd> <code><ankurankan></code> shashankg, Yeah. That is what I am thinking<br/>
<kbd>[16:11:05]</kbd> <code><ankurankan></code> shashankg, We also need to change the way we were creating graphs.<br/>
<kbd>[16:11:27]</kbd> <code><shashankg></code> later we can have better integration of front and backend<br/>
<kbd>[16:11:43]</kbd> <code><shashankg></code> ankurankan: what do you have in mind about creating graphs?<br/>
<kbd>[16:12:23]</kbd> <code><ankurankan></code> Till now we were thinking of clicking on the node to open a table where the user enters the values<br/>
<kbd>[16:12:49]</kbd> <code><ankurankan></code> But with markov model the problem is that the factor would be associated with edges<br/>
<kbd>[16:12:50]</kbd> <code><shashankg></code> are we ok with cytoscape.js or something else is needed<br/>
<kbd>[16:13:05]</kbd> <code><ankurankan></code> I really don't know right now..<br/>
<kbd>[16:13:43]</kbd> <code><ankurankan></code> Also it's now necessary that the user gives the factor for each edge.<br/>
<kbd>[16:13:48]</kbd> <code><skundu></code> cyto is just for creating and visualizing the graph i dont think there would be an issue with the models<br/>
<kbd>[16:13:50]</kbd> <code><shashankg></code> we can associate a table with all edges and nodes. And keep table of edge hidden in bayesian<br/>
<kbd>[16:14:20]</kbd> <code><ankurankan></code> Maybe he has a factor over multiple variable and would like to input the values as such.<br/>
<kbd>[16:14:42]</kbd> <code><ankurankan></code> What I was thinking was to separate the model creation and adding values<br/>
<kbd>[16:14:52]</kbd> <code><shashankg></code> I don't have any idea about factor table of edge<br/>
<kbd>[16:15:22]</kbd> <code><ankurankan></code> Just think of it as a table over some variables<br/>
<kbd>[16:15:23]</kbd> <code><shashankg></code> abinash_panda: please throw some light on how will the factor table of a edge look like<br/>
<kbd>[16:16:06]</kbd> <code><skundu></code> shashankg, we can have separate js files for each model<br/>
<kbd>[16:16:14]</kbd> <code><shashankg></code> The shape and size of node table depends on child nodes, for edge table it will depend on?<br/>
<kbd>[16:16:23]</kbd> <code><ankurankan></code> https://github.com/pgmpy/pgmpy/blob/dev/pgmpy/Factor/Factor.py#L35<br/>
<kbd>[16:16:24]</kbd> <code><skundu></code> based on the one user chooses to work on, we will switch<br/>
<kbd>[16:16:42]</kbd> <code><ankurankan></code> shashankg, On the number of states of the variables<br/>
<kbd>[16:16:48]</kbd> <code><abinash_panda></code> shashankg: I am also thinking on the same thing. We can't have hierarchy just like we had for Bayesian Models.<br/>
<kbd>[16:17:18]</kbd> <code><abinash_panda></code> We can check how SAMIAM does.<br/>
<kbd>[16:17:40]</kbd> <code><shashankg></code> abinash_panda: can you check it now<br/>
<kbd>[16:17:47]</kbd> <code><ankurankan></code> AFAIK SAMIAM was doing the same thing for bayesian models<br/>
<kbd>[16:18:04]</kbd> <code><abinash_panda></code> Give me some time. I have to install it.<br/>
<kbd>[16:18:17]</kbd> <code><abinash_panda></code> If anybody has already installed it?<br/>
<kbd>[16:18:38]</kbd> <code><ankurankan></code> I haven't<br/>
<kbd>[16:18:44]</kbd> <code><shashankg></code> does the rows and columns of edge table depends on neighbouring edges?<br/>
<kbd>[16:19:02]</kbd> <code><ankurankan></code> shashankg, In markov or bayesian?<br/>
<kbd>[16:19:35]</kbd> <code><shashankg></code> in markov, I have mentioned edge table<br/>
<kbd>[16:20:23]</kbd> <code><ankurankan></code> Depends on how we want to represent it.<br/>
<kbd>[16:20:35]</kbd> <code><ankurankan></code> shashankg, Did you have a look on the link that I sent?<br/>
<kbd>[16:20:52]</kbd> <code><shashankg></code> yes.<br/>
<kbd>[16:21:15]</kbd> <code><shashankg></code> But I can't figure out shit by looking at that<br/>
<kbd>[16:21:26]</kbd> <code><ankurankan></code> So, basically if we represent the whole table then the columns would vary on the number of variables<br/>
<kbd>[16:21:42]</kbd> <code><ankurankan></code> Okay so each combination of variables have a value associated with it<br/>
<kbd>[16:22:19]</kbd> <code><ankurankan></code> So if you show the combination of variables to user and ask him to enter the values there the no of columns would depend on the number of variables<br/>
<kbd>[16:23:44]</kbd> <code><shashankg></code> So it is a pretty long table.<br/>
<kbd>[16:23:47]</kbd> <code><ankurankan></code> So for showing the table to the user we will have to ask him the variables on which he wants to define the Factor and how many states does each variable have<br/>
<kbd>[16:24:20]</kbd> <code><ankurankan></code> It might be. No of rows will be equal to the product of no of states of each variable<br/>
<kbd>[16:24:34]</kbd> <code><shashankg></code> Do the table of each edge depend on all variables, or only few(only children or only parents)<br/>
<kbd>[16:25:32]</kbd> <code><shashankg></code> Does the edge joining intelligence and grade depend on difficulry?<br/>
<kbd>[16:26:04]</kbd> <code><ankurankan></code> Table actually depends on what the user want to give. In the simplest form the table would just have 2 variables (the nodes which the edge connects)<br/>
<kbd>[16:26:40]</kbd> <code><shashankg></code> ok.<br/>
<kbd>[16:26:44]</kbd> <code><ankurankan></code> But the user might want to give the table on larger set of variables. Then we will have to compute the smaller tables from that<br/>
<kbd>[16:27:01]</kbd> <code><shashankg></code> So there is no definded structure for table as in the case of bayesian.<br/>
<kbd>[16:27:12]</kbd> <code><ankurankan></code> I don't think so<br/>
<kbd>[16:27:31]</kbd> <code><shashankg></code> ok.<br/>
<kbd>[16:27:45]</kbd> <code><shashankg></code> so let's continue our discussion<br/>
<kbd>[16:28:06]</kbd> <code><ankurankan></code> So, this is why I was thinking to separate the model creation and data entering<br/>
<kbd>[16:28:24]</kbd> <code><ankurankan></code> So the user will first create the model and then there can be buttons for adding cpd or factors<br/>
<kbd>[16:28:50]</kbd> <code><ankurankan></code> and we will ask the variable on which he wants to give the cpd or factor<br/>
<kbd>[16:28:58]</kbd> <code><ankurankan></code> and show him the table according to that<br/>
<kbd>[16:29:02]</kbd> <code><ankurankan></code> What do you think?<br/>
<kbd>[16:29:42]</kbd> <code><shashankg></code> user will be on a different screen, containing only the table while he is adding values?<br/>
<kbd>[16:30:14]</kbd> <code><ankurankan></code> No. just partition the screen in two parts<br/>
<kbd>[16:30:40]</kbd> <code><ankurankan></code> Like show the model in half of the screen and show the table things in other half<br/>
<kbd>[16:31:10]</kbd> <code><shashankg></code> I think it is ok<br/>
<kbd>[16:31:20]</kbd> <code><ankurankan></code> skundu, What do you think<br/>
<kbd>[16:31:21]</kbd> <code><ankurankan></code> ?<br/>
<kbd>[16:31:33]</kbd> <code><shashankg></code> If we could have a hover screen, like facebook photos it will be better<br/>
<kbd>[16:31:51]</kbd> <code><ankurankan></code> shashankg, Please explain?<br/>
<kbd>[16:33:36]</kbd> <code><shashankg></code> Keep the created model in background. pop a blurred type screen,(like the one which pops when we view facebook or quora photos) and keep all the table making stuff there<br/>
<kbd>[16:34:31]</kbd> <code><ankurankan></code> I think this would be good for people working on smaller screens<br/>
<kbd>[16:35:04]</kbd> <code><ankurankan></code> But I don't know if a form or something can be populated in such a screen (I don't even know what it's called :P)<br/>
<kbd>[16:35:20]</kbd> <code><shashankg></code> skundu: will it be jsically feasible?<br/>
<kbd>[16:35:35]</kbd> <code><skundu></code> ankurankan, if you want to spit screen for the table and the graph, wont the table be very large to fit in there<br/>
<kbd>[16:35:45]</kbd> <code><skundu></code> srry spli screen<br/>
<kbd>[16:35:49]</kbd> <code><skundu></code> split<br/>
<kbd>[16:36:11]</kbd> <code><skundu></code> shashankg, yes it is very possible<br/>
<kbd>[16:36:24]</kbd> <code><ankurankan></code> skundu, I think splitting shoud be fine<br/>
<kbd>[16:36:42]</kbd> <code><ankurankan></code> People wont we working on large graphs on viz<br/>
<kbd>[16:36:55]</kbd> <code><shashankg></code> splitting will leave very less space on screen and we need space for table.<br/>
<kbd>[16:37:17]</kbd> <code><shashankg></code> Well it is a implementataion issue and can be discussed later<br/>
<kbd>[16:37:31]</kbd> <code><shashankg></code> lets stick to the curent topic<br/>
<kbd>[16:37:32]</kbd> <code><skundu></code> what would be the issue if we were to diplay the table on click on the node<br/>
<kbd>[16:38:01]</kbd> <code><shashankg></code> skundu: table is associated with nodes only in bayesian models<br/>
<kbd>[16:38:03]</kbd> <code><ankurankan></code> None that I can think of<br/>
<kbd>[16:38:09]</kbd> <code><shashankg></code> it is not the case in markov<br/>
<kbd>[16:38:29]</kbd> <code><skundu></code> it can be displayded on click on the edge too<br/>
<kbd>[16:38:36]</kbd> <code><shashankg></code> markov has table for edges and they don't have any heirchical structure.<br/>
<kbd>[16:38:39]</kbd> <code><skundu></code> as you want in markov<br/>
<kbd>[16:39:39]</kbd> <code><skundu></code> we just need a form to displayed on the fly which can be edited, right<br/>
<kbd>[16:39:49]</kbd> <code><skundu></code> that can be done anywhere<br/>
<kbd>[16:40:01]</kbd> <code><ankurankan></code> skundu, I would like to go on separate buttons "add factor" instead of clickin on edges<br/>
<kbd>[16:40:02]</kbd> <code><skundu></code> you wont be needing any tabular structure'<br/>
<kbd>[16:40:35]</kbd> <code><skundu></code> so can we have dropdowns for cpd or factors<br/>
<kbd>[16:41:00]</kbd> <code><shashankg></code> ankurankan: how do you intend to associate the table with a particular object (edge or node) if you have a add factor button<br/>
<kbd>[16:41:36]</kbd> <code><ankurankan></code> No we might have separate pages for markov and bayesian because markov is undirected and bayesian is directed'<br/>
<kbd>[16:41:56]</kbd> <code><skundu></code> ankurankan, please clarify<br/>
<kbd>[16:42:27]</kbd> <code><ankurankan></code> shashankg, User will put in the variable name with which he wants it to be associated<br/>
<kbd>[16:42:36]</kbd> <code><skundu></code> shashankg, it would be better to have separate js files for markov bayesian<br/>
<kbd>[16:42:49]</kbd> <code><skundu></code> we could hava dropdown for the user to select<br/>
<kbd>[16:43:29]</kbd> <code><shashankg></code> ankurankan: even if we have separate pages for markov and bayesian. If the user clicks on add factor button, how will we know that this table relates to which edge<br/>
<kbd>[16:44:50]</kbd> <code><ankurankan></code> shashankg, So when the user clicks on add factor we pop up a form.<br/>
<kbd>[16:45:08]</kbd> <code><ankurankan></code> There we ask for the variables on which he wants to define the factor on<br/>
<kbd>[16:45:19]</kbd> <code><shashankg></code> ok<br/>
<kbd>[16:45:36]</kbd> <code><ankurankan></code> And the number of states of each variable if he has not put it somewhere in some other factor<br/>
<kbd>[16:45:51]</kbd> <code><ankurankan></code> Then based on these information we generate the table there<br/>
<kbd>[16:46:04]</kbd> <code><shashankg></code> okk.<br/>
<kbd>[16:46:08]</kbd> <code><ankurankan></code> Then the user will put values<br/>
<kbd>[16:46:13]</kbd> <code><ankurankan></code> What do you think?<br/>
<kbd>[16:47:49]</kbd> <code><shashankg></code> sorry but I am a bit confused about markov models. In markov models every edge has a table and rows and coulumns both depend on what user wants. In Bayesian every node has a table and rows are fixed, depending on parents<br/>
<kbd>[16:48:09]</kbd> <code><skundu></code> ankurankan, i think we should first complete bayesian model, worry about markov later<br/>
<kbd>[16:48:30]</kbd> <code><skundu></code> shashankg, lets complete bayesian first<br/>
<kbd>[16:48:50]</kbd> <code><skundu></code> we can handle markov later, by creating a separate js file<br/>
<kbd>[16:49:35]</kbd> <code><ankurankan></code> shashankg, Think of the simplest factor to be dependent on two variables. The user can but give the factor on more than two variables and we would then compute the simple factors on each two variables<br/>
<kbd>[16:49:44]</kbd> <code><shashankg></code> skundu: we need same structure for both models. If table is created by clicking nodes in bayesian and made by add factor i markov, it is not at all intiuitive<br/>
<kbd>[16:50:02]</kbd> <code><ankurankan></code> +1<br/>
<kbd>[16:50:23]</kbd> <code><ankurankan></code> skundu, Both are very much related so we should get this clear<br/>
<kbd>[16:50:30]</kbd> <code><skundu></code> kk<br/>
<kbd>[16:51:01]</kbd> <code><shashankg></code> ankurankan: ok, I will watch the markov intor video for it to make more sense :p<br/>
<kbd>[16:51:38]</kbd> <code><shashankg></code> *introductory<br/>
<kbd>[16:51:46]</kbd> <code><ankurankan></code> Okay :D<br/>
<kbd>[16:52:07]</kbd> <code><shashankg></code> For now let's discuss about creating models<br/>
<kbd>[16:52:26]</kbd> <code><shashankg></code> We need the add node and add edge button.<br/>
<kbd>[16:53:13]</kbd> <code><ankurankan></code> Now I think having those two buttons makes no sense<br/>
<kbd>[16:53:24]</kbd> <code><shashankg></code> We dont' need to save anything about these as they are already stored by cytoscape.js. and can be accessed by using cytoscape.js functions<br/>
<kbd>[16:53:37]</kbd> <code><shashankg></code> ankurankan: why so<br/>
<kbd>[16:53:54]</kbd> <code><ankurankan></code> shashankg, Why do you think those buttons are needed?<br/>
<kbd>[16:54:45]</kbd> <code><ankurankan></code> We can create models without them<br/>
<kbd>[16:55:00]</kbd> <code><shashankg></code> I agree, we don't need them<br/>
<kbd>[16:55:17]</kbd> <code><ankurankan></code> So, better have two button namely Bayesian and Markov<br/>
<kbd>[16:55:45]</kbd> <code><shashankg></code> But what about having names for nodes and edges (I don't know weather nameing edges is required)<br/>
<kbd>[16:55:47]</kbd> <code><skundu></code> ankurankan, we can have that as a dropdown<br/>
<kbd>[16:55:48]</kbd> <code><ankurankan></code> If the user is in Bayesian mode the model would be directed if in markov it would be undirected<br/>
<kbd>[16:56:10]</kbd> <code><ankurankan></code> shashankg, No don't need to name the edges.<br/>
<kbd>[16:56:22]</kbd> <code><ankurankan></code> Naming nodes would be same as it is right now<br/>
<kbd>[16:56:27]</kbd> <code><shashankg></code> ok. How and when will user name edges.<br/>
<kbd>[16:56:31]</kbd> <code><ankurankan></code> When you create a node a box pops up asking for name<br/>
<kbd>[16:56:37]</kbd> <code><shashankg></code> sorry nodes<br/>
<kbd>[16:57:13]</kbd> <code><shashankg></code> How will you implement this? tweaking cytoscape.js?<br/>
<kbd>[16:57:22]</kbd> <code><ankurankan></code> It's already implemented<br/>
<kbd>[16:57:37]</kbd> <code><shashankg></code> ok. my bad<br/>
<kbd>[16:57:39]</kbd> <code><ankurankan></code> skundu, Am I right?<br/>
<kbd>[16:58:47]</kbd> <code><ankurankan></code> Also in the Bayesian Model mode we will have add cpd button and in markov we will have add factor button<br/>
<kbd>[16:59:01]</kbd> <code><skundu></code> ok<br/>
<kbd>[16:59:01]</kbd> <code><shashankg></code> How exactly is the name of node associated with it. I mean can it be accessed with cytoscape.js functions? Does the name shows on the node right now?<br/>
<kbd>[16:59:14]</kbd> <code><ankurankan></code> We will have the same post model button also<br/>
<kbd>[16:59:27]</kbd> <code><skundu></code> shashankg, the name of node can be accessed wit cyto<br/>
<kbd>[16:59:34]</kbd> <code><ankurankan></code> shashankg, No I don't think that it shows right now<br/>
<kbd>[16:59:53]</kbd> <code><shashankg></code> Let's discuss draw first. Post is entirely different animal<br/>
<kbd>[17:00:01]</kbd> <code><skundu></code> no, it is not visible right now which can be doen easily<br/>
<kbd>[17:01:04]</kbd> <code><shashankg></code> ok<br/>
<kbd>[17:02:23]</kbd> <code><ankurankan></code> skundu, Yeah but it is the final step and doesn't require much effort<br/>
<kbd>[17:02:52]</kbd> <code><skundu></code> so please clarify about the next enhancements<br/>
<kbd>[17:03:34]</kbd> <code><shashankg></code> So for the first screen, we will have a dropdown asking for bayesian or markov<br/>
<kbd>[17:03:40]</kbd> <code><ankurankan></code> I think we have discussed everything about model creation<br/>
<kbd>[17:03:49]</kbd> <code><ankurankan></code> Don't go for dropdown<br/>
<kbd>[17:03:53]</kbd> <code><skundu></code> ok<br/>
<kbd>[17:04:03]</kbd> <code><shashankg></code> then user will create model. and while doing that, he can add names<br/>
<kbd>[17:04:12]</kbd> <code><ankurankan></code> We have just two option. Dropdowns should be used when we have many values<br/>
<kbd>[17:04:26]</kbd> <code><skundu></code> ankurankan, what alternative do you suggest for adropdown<br/>
<kbd>[17:04:27]</kbd> <code><shashankg></code> ankurankan: +1<br/>
<kbd>[17:04:40]</kbd> <code><ankurankan></code> Just have two buttons<br/>
<kbd>[17:04:56]</kbd> <code><shashankg></code> just have 2 buttons on first page.<br/>
<kbd>[17:05:15]</kbd> <code><skundu></code> ok<br/>
<kbd>[17:05:23]</kbd> <code><shashankg></code> each will load a blank page with settings for different models<br/>
<kbd>[17:05:51]</kbd> <code><ankurankan></code> No. Just have the buttons as we were having right now<br/>
<kbd>[17:05:52]</kbd> <code><shashankg></code> ankurankan: are there only two models, bayesian and markov?<br/>
<kbd>[17:06:00]</kbd> <code><ankurankan></code> Don't go for multiple pages<br/>
<kbd>[17:06:04]</kbd> <code><shashankg></code> What about hmm etc?<br/>
<kbd>[17:06:20]</kbd> <code><ankurankan></code> HMM is a specific kind of Markov model<br/>
<kbd>[17:06:34]</kbd> <code><ankurankan></code> We won't be supporting every kind of model right now<br/>
<kbd>[17:06:39]</kbd> <code><skundu></code> ankurankan, that would crowd the top of the page<br/>
<kbd>[17:06:40]</kbd> <code><ankurankan></code> There are many others<br/>
<kbd>[17:06:44]</kbd> <code><shashankg></code> ankurankan: why? I think it will be easy to manage<br/>
<kbd>[17:07:00]</kbd> <code><shashankg></code> We will support only these two?<br/>
<kbd>[17:07:03]</kbd> <code><ankurankan></code> shashankg, Because I don't know about other models<br/>
<kbd>[17:07:16]</kbd> <code><shashankg></code> :D<br/>
<kbd>[17:07:45]</kbd> <code><ankurankan></code> So, let's just start with these two and then later we can add support for others<br/>
<kbd>[17:08:09]</kbd> <code><skundu></code> i think we should go with shashank's idea<br/>
<kbd>[17:08:10]</kbd> <code><shashankg></code> I guess, all other models are derived from these two and are specific cases of these two.<br/>
<kbd>[17:08:19]</kbd> <code><ankurankan></code> shashankg, Yup<br/>
<kbd>[17:08:30]</kbd> <code><ankurankan></code> Not exactly specific<br/>
<kbd>[17:08:35]</kbd> <code><skundu></code> about the buttons<br/>
<kbd>[17:08:42]</kbd> <code><shashankg></code> Later on we will be needing templates for all these standard models like HMM.<br/>
<kbd>[17:08:42]</kbd> <code><ankurankan></code> There are models having both directed and undirected edges<br/>
<kbd>[17:08:56]</kbd> <code><ankurankan></code> shashankg, We are going too far :P<br/>
<kbd>[17:09:03]</kbd> <code><shashankg></code> okk<br/>
<kbd>[17:09:12]</kbd> <code><ankurankan></code> shashankg, Let's come back to creating models :P<br/>
<kbd>[17:09:25]</kbd> <code><shashankg></code> so why not multiple pages?<br/>
<kbd>[17:09:47]</kbd> <code><ankurankan></code> Because that doesn't look cool<br/>
<kbd>[17:10:06]</kbd> <code><ankurankan></code> Have a ajax call or use js to have everything in one page<br/>
<kbd>[17:10:19]</kbd> <code><ankurankan></code> skundu, Please have a look at angular.js<br/>
<kbd>[17:10:25]</kbd> <code><shashankg></code> So you want to hide the buttons after selection is done?<br/>
<kbd>[17:10:37]</kbd> <code><ankurankan></code> It is used to create single page apps I think<br/>
<kbd>[17:11:01]</kbd> <code><ankurankan></code> Don't hide it. Just show that which is selected right now<br/>
<kbd>[17:11:15]</kbd> <code><ankurankan></code> It we hide it the user won't be able to switch<br/>
<kbd>[17:12:04]</kbd> <code><shashankg></code> ok. higlight the selected option<br/>
<kbd>[17:12:25]</kbd> <code><skundu></code> so how exaclty do you want the user to select the model<br/>
<kbd>[17:12:58]</kbd> <code><ankurankan></code> skundu, I didn't get what you are asking.. Please elaborate<br/>
<kbd>[17:13:50]</kbd> <code><shashankg></code> ankurankan: skundu wants you to elaborate on selecting by buttongs<br/>
<kbd>[17:13:56]</kbd> <code><skundu></code> so what you are saying is that there would be two buttons and on selecting one the other would disappear<br/>
<kbd>[17:14:23]</kbd> <code><ankurankan></code> skundu, No just highlight the button that was selected and enter into that mode<br/>
<kbd>[17:15:53]</kbd> <code><skundu></code> so where do you want the buttons to be<br/>
<kbd>[17:16:09]</kbd> <code><skundu></code> my suggestion would be to have them at top right<br/>
<kbd>[17:16:16]</kbd> <code><ankurankan></code> skundu, That you will have to think :P<br/>
<kbd>[17:16:20]</kbd> <code><skundu></code> ok<br/>
<kbd>[17:16:27]</kbd> <code><ankurankan></code> However it looks good<br/>
<kbd>[17:17:05]</kbd> <code><ankurankan></code> What did I just write :P<br/>
<kbd>[17:17:08]</kbd> <code><skundu></code> now after the model is selected, user would create a graph<br/>
<kbd>[17:17:12]</kbd> <code><ankurankan></code> In whatever way it looks good<br/>
<kbd>[17:17:18]</kbd> <code><ankurankan></code> yup<br/>
<kbd>[17:17:45]</kbd> <code><ankurankan></code> Now depending on the selection the graph would be either directed or undirected<br/>
<kbd>[17:17:45]</kbd> <code><skundu></code> what happens after that in bayesian<br/>
<kbd>[17:18:04]</kbd> <code><skundu></code> ok<br/>
<kbd>[17:18:06]</kbd> <code><ankurankan></code> Bayesian models will have directed model<br/>
<kbd>[17:18:12]</kbd> <code><ankurankan></code> Markov would be undirected<br/>
<kbd>[17:18:25]</kbd> <code><skundu></code> ok<br/>
<kbd>[17:18:34]</kbd> <code><ankurankan></code> After selecting Bayesian Model show a add cpd button<br/>
<kbd>[17:18:43]</kbd> <code><skundu></code> ok<br/>
<kbd>[17:18:45]</kbd> <code><shashankg></code> Now two roads have diverged. let's stick to bayesian one<br/>
<kbd>[17:18:52]</kbd> <code><skundu></code> +<br/>
<kbd>[17:18:55]</kbd> <code><skundu></code> +1<br/>
<kbd>[17:19:00]</kbd> <code><ankurankan></code> ok..<br/>
<kbd>[17:19:14]</kbd> <code><ankurankan></code> So on clicking on add cpd<br/>
<kbd>[17:19:19]</kbd> <code><shashankg></code> we will have separate js files for bayesian and markov?<br/>
<kbd>[17:19:36]</kbd> <code><skundu></code> that would be easier to handle<br/>
<kbd>[17:20:01]</kbd> <code><ankurankan></code> shashankg, I don't really know how things are going to be implemented. So skundu should see how things look more cleaner<br/>
<kbd>[17:20:13]</kbd> <code><shashankg></code> ok<br/>
<kbd>[17:20:36]</kbd> <code><skundu></code> ankurankan, please continue<br/>
<kbd>[17:21:23]</kbd> <code><ankurankan></code> So on clicking add_cpd show a translucent page (I don't know what that thing is called so using page)<br/>
<kbd>[17:21:51]</kbd> <code><ankurankan></code> There first ask for the variable on which the cpd is to be defined<br/>
<kbd>[17:22:03]</kbd> <code><ankurankan></code> and the number of states of the variable.<br/>
<kbd>[17:22:52]</kbd> <code><shashankg></code> Will it be a good idea to let the user select the variable by clicking on it? and disabling selecting edges in bayesian and nodes in markov??<br/>
<kbd>[17:22:59]</kbd> <code><ankurankan></code> Here check it the user has already provided the no of states of the node's parent variables<br/>
<kbd>[17:23:28]</kbd> <code><shashankg></code> asking for variable will create problems in markov. because edges don't have names .<br/>
<kbd>[17:24:05]</kbd> <code><ankurankan></code> shashankg, No. Because the factor needs not to be necessarily defined on the edge<br/>
<kbd>[17:24:18]</kbd> <code><shashankg></code> ok.<br/>
<kbd>[17:24:19]</kbd> <code><ankurankan></code> shashankg, We don't need edge name anywhere<br/>
<kbd>[17:24:45]</kbd> <code><ankurankan></code> The factor is on two variable name and is associated with the edge connecting those two nodes<br/>
<kbd>[17:25:18]</kbd> <code><skundu></code> wait, before adding cpd how are the states of variables going to be edited<br/>
<kbd>[17:25:39]</kbd> <code><ankurankan></code> If the user has already given the no of states of the parents then show him the cpd table using all this information.<br/>
<kbd>[17:25:55]</kbd> <code><shashankg></code> I understand that. You said that we will ask user for the variable. So he will have to write the node's name in bayesian and two node's names in markov?<br/>
<kbd>[17:25:56]</kbd> <code><ankurankan></code> Otherwise ask for the no of states of variables that you don't know and then show him the table.<br/>
<kbd>[17:27:00]</kbd> <code><ankurankan></code> shashankg, Exactly. But since the factor can also be defined on more than 2 nodes we will have to give the user option to add the factor on as many variables as he likes<br/>
<kbd>[17:27:22]</kbd> <code><shashankg></code> okk<br/>
<kbd>[17:28:22]</kbd> <code><ankurankan></code> Everything good?<br/>
<kbd>[17:28:23]</kbd> <code><skundu></code> so what is going to happen on clicking of nodes<br/>
<kbd>[17:28:54]</kbd> <code><ankurankan></code> Maybe pop a box to edit the name of the variables<br/>
<kbd>[17:28:57]</kbd> <code><ankurankan></code> *variable<br/>
<kbd>[17:28:58]</kbd> <code><shashankg></code> yes<br/>
<kbd>[17:29:02]</kbd> <code><skundu></code> ok<br/>
<kbd>[17:29:24]</kbd> <code><skundu></code> and the states of it too, right?<br/>
<kbd>[17:29:30]</kbd> <code><skundu></code> the variables<br/>
<kbd>[17:29:34]</kbd> <code><shashankg></code> ankurankan: +1<br/>
<kbd>[17:29:34]</kbd> <code><skundu></code> variable<br/>
<kbd>[17:30:40]</kbd> <code><ankurankan></code> skundu, Don't give that option there because if a user changes no of states of the variable then he will have to change to cpd also<br/>
<kbd>[17:30:51]</kbd> <code><ankurankan></code> So leave this option in the add cpd page only<br/>
<kbd>[17:31:01]</kbd> <code><shashankg></code> +1<br/>
<kbd>[17:31:53]</kbd> <code><skundu></code> but it would be difficult to edit states of all the variables in a single page<br/>
<kbd>[17:31:54]</kbd> <code><shashankg></code> ankurankan: proceed<br/>
<kbd>[17:32:00]</kbd> <code><skundu></code> wait please<br/>
<kbd>[17:32:43]</kbd> <code><shashankg></code> If user edits the states of any variable, it will make the cpd table of all it's kids useless<br/>
<kbd>[17:34:15]</kbd> <code><skundu></code> by editing if you mean changing the name, it wont create an issue, but to change the no of stateswould be huge problem if you want to do it from a single page<br/>
<kbd>[17:34:42]</kbd> <code><ankurankan></code> skundu, Explain<br/>
<kbd>[17:35:38]</kbd> <code><skundu></code> say by clicking on a node we can change the name of states as well as increase or decrease no of states<br/>
<kbd>[17:35:48]</kbd> <code><shashankg></code> If only the name is changed, we need to change that name all over the data. and it will not be easy as we need to have unique state names for this. I was concerned about changing numbe of states<br/>
<kbd>[17:36:10]</kbd> <code><skundu></code> but by clicking on add_cpd we can only edit the cpd by entering values<br/>
<kbd>[17:36:38]</kbd> <code><skundu></code> the name is just a parameter, it can be changed anytime anywhere<br/>
<kbd>[17:36:50]</kbd> <code><shashankg></code> I you edit the number of states of difficulty, It will affect the cpd table of grades also. If user created cpd for both diff and grades. and later edits the table of diff, what do you think we should do?<br/>
<kbd>[17:37:37]</kbd> <code><skundu></code> but to change no of states of all variables from a single page would be very difficult<br/>
<kbd>[17:38:11]</kbd> <code><skundu></code> what was supposed to happen if say a user removes a state of a varibale from the cpd page?<br/>
<kbd>[17:38:24]</kbd> <code><ankurankan></code> skundu, No. Change the no of states of only a single variable from that page and delete all other cpds affected by it<br/>
<kbd>[17:38:48]</kbd> <code><shashankg></code> If you decide to delete all the tables which have become useless it is not a good idea because the edit made by user may be a mistake, we can have a red cross on the table to show that is is inconsistent with parent data.<br/>
<kbd>[17:38:49]</kbd> <code><ankurankan></code> If something is affecting other cpds you should delete those cpds<br/>
<kbd>[17:39:28]</kbd> <code><ankurankan></code> yeah that would be a good option show a pop up that this will affect other cpds<br/>
<kbd>[17:39:33]</kbd> <code><ankurankan></code> And are you sure to do this<br/>
<kbd>[17:40:11]</kbd> <code><shashankg></code> Let's not delete anything. just show that this data is corrupted by other edits and you need to fix it<br/>
<kbd>[17:40:42]</kbd> <code><ankurankan></code> How do you show data corrupted. The table size might change because of your change<br/>
<kbd>[17:41:20]</kbd> <code><skundu></code> we can recreate ann empty cpd<br/>
<kbd>[17:41:26]</kbd> <code><shashankg></code> Show the pop while editing and make a little red cross on all nodes (and or edges) whose tables have been rendered useless by user's edit<br/>
<kbd>[17:42:09]</kbd> <code><ankurankan></code> yeah and what about when the user goes to edit those cpds?<br/>
<kbd>[17:42:54]</kbd> <code><shashankg></code> have a reset button to delete the cpds of that table and create new empty table<br/>
<kbd>[17:43:20]</kbd> <code><shashankg></code> new table consistent with present parent states<br/>
<kbd>[17:43:28]</kbd> <code><skundu></code> +1<br/>
<kbd>[17:43:40]</kbd> <code><ankurankan></code> Okay.. makes sense<br/>
<kbd>[17:44:02]</kbd> <code><shashankg></code> +1 I agree with myself here<br/>
<kbd>[17:44:10]</kbd> <code><skundu></code> so final recollection<br/>
<kbd>[17:44:34]</kbd> <code><shashankg></code> are we done for today??<br/>
<kbd>[17:44:41]</kbd> <code><skundu></code> on clicking nodes user edits the states as well as the no. of states<br/>
<kbd>[17:44:55]</kbd> <code><shashankg></code> Do we need an idea page before registration??<br/>
<kbd>[17:45:21]</kbd> <code><ankurankan></code> skundu, yeah with a warning<br/>
<kbd>[17:45:21]</kbd> <code><skundu></code> now using these variables we create an empty cpd which can be accessed and edited with a button<br/>
<kbd>[17:45:34]</kbd> <code><shashankg></code> If not than skundu please register today or tommorow and we will think about ideas tomorrow.<br/>
<kbd>[17:47:27]</kbd> <code><ankurankan></code> I am registering<br/>
<kbd>[17:47:35]</kbd> <code><ankurankan></code> We will discuss the ideas tomorrow<br/>
<kbd>[17:47:45]</kbd> <code><skundu></code> ok<br/>
<kbd>[17:47:58]</kbd> <code><skundu></code> same time tomorrow?<br/>
<kbd>[17:48:00]</kbd> <code><shashankg></code> ok. same time, same place, same channel.<br/>
<kbd>[17:48:16]</kbd> <code><skundu></code> gdnight guys<br/>
<kbd>[17:48:19]</kbd> <code><ankurankan></code> can we push it to 10?<br/>
<kbd>[17:48:36]</kbd> <code><skundu></code> no prob with me<br/>
<kbd>[17:49:17]</kbd> <code><ankurankan></code> shashankg, Is 10 pm okay for you?<br/>
<kbd>[17:49:19]</kbd> <code><skundu></code> create an event<br/>
<kbd>[17:50:29]</kbd> <code><ankurankan></code> shashankg, ??<br/>
<kbd>[17:52:08]</kbd> <code><shashankgarg></code> Sorry I lost connection.<br/>
<kbd>[17:52:22]</kbd> <code><ankurankan></code> shashankgarg, Is 10 pm tomorrow okay with you ?<br/>
<kbd>[17:52:39]</kbd> <code><shashankgarg></code> It will be better if we start early<br/>
<kbd>[17:52:51]</kbd> <code><shashankgarg></code> I have nothing to do from 9 to 10<br/>
<kbd>[17:53:17]</kbd> <code><ankurankan></code> Okay.. then let's do at 9:30<br/>
<kbd>[17:53:24]</kbd> <code><shashankgarg></code> and it is difficult to control myself from sleeping during that time<br/>
<kbd>[17:53:32]</kbd> <code><shashankgarg></code> :) 9.30 done<br/>
<kbd>[17:53:43]</kbd> <code><ankurankan></code> I usually come from office after 9:30 :P<br/>
<kbd>[17:53:46]</kbd> <code><ankurankan></code> That's why<br/>
<kbd>[17:53:54]</kbd> <code><ankurankan></code> Okay. I will create an event for 9:30<br/>
<kbd>[17:54:02]</kbd> <code><shashankgarg></code> I will be online at 9.30<br/>
<kbd>[17:54:09]</kbd> <code><ankurankan></code> Okay..<br/>
<kbd>[17:54:10]</kbd> <code><ankurankan></code> Bye..<br/>
<kbd>[17:54:11]</kbd> <code><ankurankan></code> Gn..<br/>
<kbd>[17:54:26]</kbd> <code><shashankgarg></code> Try to think of some sem long ideas.<br/>
<kbd>[17:54:29]</kbd> <code><shashankgarg></code> bye<br/>
<kbd>[17:54:37]</kbd> <code><ankurankan></code> Okay<br/>
<kbd>[17:54:46]</kbd> <code><shashankgarg></code> make an event to tomorrow.<br/>
<kbd>[17:55:02]</kbd> <code><shashankgarg></code> *for<br/>
<kbd>[17:56:04]</kbd> <code><ankurankan></code> okay<br/>
<kbd>[17:57:13]</kbd> <code><shashankgarg></code> bye<br/>
<kbd>[13:52:25]</kbd> <strong>[disconnected at Wed Sep 10 13:52:25 2014]</strong><br/>
</div>
<script src='https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js'></script>
<script src='//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js'>
</script>
</body>
</html><br/>