cameron.freenode.net changed the topic of #mlpack to: http://www.mlpack.org/ -- We don't respond instantly... but we will respond. Give it a few minutes. Or hours. -- Channel logs: http://www.mlpack.org/irc/
< naywhayare> andrewmw94: friday is tomorrow, right?
< naywhayare> I can do that
< andrewmw94> ok, I'll see you then.
< andrewmw94> Bye.
andrewmw94 has quit [Quit: andrewmw94]
govg has quit [Ping timeout: 260 seconds]
govg has joined #mlpack
govg has quit [Ping timeout: 260 seconds]
govg has joined #mlpack
andrewmw94 has joined #mlpack
< andrewmw94> naywhayare: Are you free?
< naywhayare> andrewmw94: yeah, just got in
< andrewmw94> ok. So I have a question about the desgin for the Hilbert-R tree
< naywhayare> okay, go a head
< naywhayare> *ahead
< andrewmw94> It's a bulk-loading method, so I assume it should be a constructor.
< naywhayare> right, I would agree with that
< andrewmw94> So I think I would add say a boolean variable to the constructor "BulkLoad"
< andrewmw94> but if we were to add more bulk loading methods later, that would be a bad idea
< andrewmw94> But I can't think of how you would do that. Possibly a function that provides an ordering of points would be used, and the constructor would be generalized to rely on that?
govg has quit [Ping timeout: 272 seconds]
< andrewmw94> Do you think it's likely that more bulk-loading methods will be added later?
< naywhayare> my understanding of the hilbert r tree is very basic, so I may say something incorrect
< naywhayare> but do you think it would be reasonable to add another template parameter -- PackingPolicy -- that will take the tree and "pack" it into the more efficient ordering proposed by the hilbert R tree?
< naywhayare> for the standard R Tree, PackingPolicy is NoPacking, or, it does nothing
< naywhayare> but for the Hilbert R Tree, it would be HilbertPacking, where you map all your rectangles into this 4d space and then order them according to the hilbert curve (or something like that)
< naywhayare> or I guess they give like five ways to pack it... 4d-xy, 4d-cd, 2d-c, 2dz-c
< naywhayare> hm, that's four, not five
< andrewmw94> what do you mean by "take the tree and "pack" it into the more efficient ordering"?
< naywhayare> I thought that's what the hilbert R tree was
< naywhayare> let me do a bit more reading
< andrewmw94> My understanding is that the tree is created by this, not that it is modified
< andrewmw94> Or, I suppose it could be modified, but I think it would be easier to implement as the tree being "created"
< andrewmw94> So, supose you have a set of 100 points. You order them according to the Hilbert curve. Then let's say you have four children per node. You break that into four groups (0-24, 25-49, 50-74-75-99) and put each group into a different child node.
< naywhayare> okay, so what I misunderstood was that "data rectangle" did not refer to an already existing tree node
< naywhayare> the construction algorithm is Figure 7, right? (from "Hilbert R Tree: An Improved R-Tree Using Fractals")
< andrewmw94> Yeah, I think we decided that we're only going to worry about points until we can think of a ML application for hyper rectangles
< naywhayare> hm, okay, here is a modified thought which is less wrong, then --
< naywhayare> add an additional template parameter, but call it "BatchConstructionPolicy" or something like that; basically, it's what gets done to insert points when many points are given (such as in the first constructor)
< naywhayare> for a regular R tree, this is just some wrapper that sequentially calls Insert() (I think that's what happens, anyway)
< naywhayare> and for the Hilbert R Tree we can have some HilbertBatchConstruction class that takes an input matrix and implements that batch construction algorithm
< andrewmw94> ok. I think that will work
< andrewmw94> More templates. Hurrah :)
< naywhayare> yeah, I think that might be reasonable
< naywhayare> I haven't read the section on the dynamic Hilbert R Tree, but I think whatever's presented there could probably fit into the existing SplitType/DescentType abstractions
< andrewmw94> I think so. They're pretty general.
govg has joined #mlpack
< naywhayare> also, some time back I found a bug in the X tree code that I haven't completely tracked down yet: http://www.mlpack.org/trac/ticket/368
< naywhayare> I think I CC'ed you on the ticket, so assuming Trac is working correctly, I guess you should already know about it
< andrewmw94> yeah. I think there were two bugs actually
< naywhayare> anyway, I haven't had a chance to look further into it, and it may be a while until I do, so if you find it interesting, feel free
< naywhayare> yeah, another one is a visual studio bug
< andrewmw94> Yeah, that's what I thought I remembered. I don't have VS, so that could be harder for me to fix.
< naywhayare> I think there's a workaround in place for that one for now, so it's less important
< andrewmw94> I suppose I can get it through DreamSpark or whatever it's called, but I hate programming on Windows
< andrewmw94> Yeah. I'll look into the first bug sometime soon. I've been busy with starting a chess club here and things like that
< andrewmw94> the amount of paperwork required was ridiculous
< naywhayare> yeah; for a long time I ran the Linux Users Group here at Tech and it was a large amount of paperwork
< naywhayare> had to renew chartering with the student government association every year, had to have bylaws updated every year, signatures from all kinds of random people
< naywhayare> I'm very glad I don't do that anymore because it's only become even more busy work
< andrewmw94> Yeah, I should probably find some naive person to do it next year...
< andrewmw94> I'm getting kind of nervous with how accurate Dilbert is. I'm worried what a real job would end up like...
< naywhayare> I did some work for a fairly standard Dilbert-esque company over the past year... yeah, it was quite accurate
< andrewmw94> I assumed it was completely fabricated, then I came to college and it seems more and more accurate as I get more and more experience. GSoC was an exception though :)
< naywhayare> http://dilbert.com/strips/comic/2006-03-18/ always entertained me
< naywhayare> applicable to my life too :)
< naywhayare> I did an internship at Google in 2010, and it was very much not the Dilbert experience
< andrewmw94> I really like this one: http://dilbert.com/fast/2010-05-01/
< naywhayare> so there are definitely exceptions, but man, I've also been some places that suffered from PHB syndrome
< naywhayare> haha
< naywhayare> haha, wow, this is a good one: http://dilbert.com/fast/2010-05-05/
< naywhayare> that was basically every day at the company I worked for last year ("how accurate do you think the model will be?" "how long do you think it will be until you can make the model reach X accuracy?")
govg has quit [Ping timeout: 258 seconds]
< andrewmw94> I spent almost an hour trying to find that one
< andrewmw94> But then I found this website using google rather than the dilbert search: http://www.bfmartin.ca/finder/strips/2011-05.html
govg has joined #mlpack
< naywhayare> haha, yes! that was the entirety of my undergraduate experience with group projects
< andrewmw94> I guess the commic is incorrectly tagged as dilbert rather than dogbert. And I kept using dogbert in my searches.
< andrewmw94> Yeah, working with a group is terrible. I'm still not sure what it was supposed to teach me
< andrewmw94> perhaps that most people are stupid?
< naywhayare> at least in my case there were often big skill and experience inequalities
< andrewmw94> Yeah. It's always easier to do everything myself than it is to explain what needs to be done to the other students
< naywhayare> once or twice I managed to work in a group where we were all on equal footing and it was great
< naywhayare> but that was a rare experience
< andrewmw94> well, not always. I made a chess engine with another student who is good.
< naywhayare> ooh, a full-on chess AI, or a rendering engine of some sort?
< andrewmw94> a full-on AI. It's not good, but it does play chess.
< andrewmw94> The rendering engine should be this semester. I'm not sure whether I'll try to make a ray-tracer or something else yet.
< andrewmw94> But the ray-tracer is really interesting. My family has background in physics (Mom and Dad are both Ph.D. physicists and my Grandfather is a physicist who speciallized in optics)
< naywhayare> neat; I've been meaning to learn more about ray tracing recently
< naywhayare> kd-trees are often used in ray tracing, from what I understand, to quickly find the interactions between rays and objects in the scene
< andrewmw94> Yeah, I like how it's elegant in the mathematical sense.
< andrewmw94> yes. We went over them in class the other day.
< naywhayare> I can't say I'm more familiar than that; I was mistakenly an EE undergrad when I should have been CS, so there are lots of standard CS ideas that I don't know very well
< andrewmw94> They can be used for several things, dividing up the scene to make rendering faster, keeping track of which objects block other objects, etc
< andrewmw94> ahh, I had a bit of trouble with EE.
< andrewmw94> VHDL was not my cup of tea.
< naywhayare> VHDL is a terrible language; I don't think it's anyone's cup of tea
< andrewmw94> I wrote a tic-tac-toe AI for it (actually I wrote a C program that wrote the AI)
< naywhayare> verilog is better (and more commonly used in non-government industry), but not much in my opinion
< andrewmw94> but the compiler or the circuit was broken. You could verify that the lookup table had the correct move and possition, but the circuit wouldn't play it.
< andrewmw94> possibly a timing issue.
< naywhayare> I found the generics support in VHDL to be particularly bad, but it's been too many years so I can't completely remember the exact details of what I disliked about it
< andrewmw94> yeah. We also had a professor who thought he needed to teach us binary but assumed we knew VHDL.
< andrewmw94> It was painful.
< andrewmw94> But I have class in about 15 minutes and I still haven't finished my translation, so I should probably go. Thanks for the help.
< naywhayare> ah, see you later
< naywhayare> good luck! :)
andrewmw94 has quit [Quit: andrewmw94]
govg has quit [Ping timeout: 250 seconds]
govg has joined #mlpack