{"action":"created","issue":{"url":"https://api.github.com/repos/mlpack/mlpack/issues/699","repository_url":"https://api.github.com/repos/mlpack/mlpack","labels_url":"https://api.github.com/repos/mlpack/mlpack/issues/699/labels{/name}","comments_url":"https://api.github.com/repos/mlpack/mlpack/issues/699/comments","events_url":"https://api.github.com/repos/mlpack/mlpack/issues/699/events","html_url":"https://github.com/mlpack/mlpack/pull/699","id":160572780,"number":699,"title":"R+ and R++ trees implementation","user":{"login":"lozhnikov","id":10090844,"avatar_url":"https://avatars.githubusercontent.com/u/10090844?v=3","gravatar_id":"","url":"https://api.github.com/users/lozhnikov","html_url":"https://github.com/lozhnikov","followers_url":"https://api.github.com/users/lozhnikov/followers","following_url":"https://api.github.com/users/lozhnikov/following{/other_user}","gists_url":"https://api.github.com/users/lozhnikov/gists{/gist_id}","starred_url":"https://api.github.com/users/lozhnikov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lozhnikov/subscriptions","organizations_url":"https://api.github.com/users/lozhnikov/orgs","repos_url":"https://api.github.com/users/lozhnikov/repos","events_url":"https://api.github.com/users/lozhnikov/events{/privacy}","received_events_url":"https://api.github.com/users/lozhnikov/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2016-06-16T03:59:25Z","updated_at":"2016-07-05T09:49:02Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/mlpack/mlpack/pulls/699","html_url":"https://github.com/mlpack/mlpack/pull/699","diff_url":"https://github.com/mlpack/mlpack/pull/699.diff","patch_url":"https://github.com/mlpack/mlpack/pull/699.patch"},"body":"It seems I understood how git-cherry-pick works. If I understand correctly this branch will not be built until   the Hilbert R tree PR is merged.\r\nRight now the R+ tree passes `RectangleTreeTest/RPlusTreeOverlapTest` and `RectangleTreeTest/RPlusTreeTraverserTest`.\r\nI am not sure that the partition algorithm works correctly in general (I am not sure that the resulting nodes will not be overfull). The R+ tree paper enumerates four criteria (section 4 Packing Algorithm). I implemented the criterion \"minimal total space coverage accrued by the two subregions\". Maybe it is good idea to add a template parameter SweepType since there is another clear criterion \"minimal number of rectangle splits\". But I do not undestand how should work the criteria \"nearest neghbors\" and \"minimal total x and y displacement\" and the paper does not explain that.\r\n\r\nAlso I should use \r\n`double RPlusTreeSplit::SweepLeafNode(size_t axis, const TreeType* node,\r\n    size_t fillFactor, ElemType& axisCut)`\r\ninstead of\r\n`double RPlusTreeSplit::SweepLeafNode(size_t axis, const TreeType* node,\r\n    size_t fillFactor, double& axisCut)`\r\n\r\nThe insertion algorithm tries to find the node that contains the point that is being inserted. If there are no such nodes the algorithm tries to enlarge a node. If the algorithm failed an empty node is added to the tree."},"comment":{"url":"https://api.github.com/repos/mlpack/mlpack/issues/comments/230434900","html_url":"https://github.com/mlpack/mlpack/pull/699#issuecomment-230434900","issue_url":"https://api.github.com/repos/mlpack/mlpack/issues/699","id":230434900,"user":{"login":"lozhnikov","id":10090844,"avatar_url":"https://avatars.githubusercontent.com/u/10090844?v=3","gravatar_id":"","url":"https://api.github.com/users/lozhnikov","html_url":"https://github.com/lozhnikov","followers_url":"https://api.github.com/users/lozhnikov/followers","following_url":"https://api.github.com/users/lozhnikov/following{/other_user}","gists_url":"https://api.github.com/users/lozhnikov/gists{/gist_id}","starred_url":"https://api.github.com/users/lozhnikov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lozhnikov/subscriptions","organizations_url":"https://api.github.com/users/lozhnikov/orgs","repos_url":"https://api.github.com/users/lozhnikov/repos","events_url":"https://api.github.com/users/lozhnikov/events{/privacy}","received_events_url":"https://api.github.com/users/lozhnikov/received_events","type":"User","site_admin":false},"created_at":"2016-07-05T09:49:02Z","updated_at":"2016-07-05T09:49:02Z","body":"Hm.. Travis does not seem to understand lambdas."}}
{"actor":{"display_login":"lozhnikov"}}