{"action":"created","issue":{"url":"https://api.github.com/repos/cmu-phil/tetrad/issues/106","labels_url":"https://api.github.com/repos/cmu-phil/tetrad/issues/106/labels{/name}","comments_url":"https://api.github.com/repos/cmu-phil/tetrad/issues/106/comments","events_url":"https://api.github.com/repos/cmu-phil/tetrad/issues/106/events","html_url":"https://github.com/cmu-phil/tetrad/issues/106","id":122244051,"number":106,"title":"Problem with the Evidence class","user":{"login":"jdramsey","id":9853255,"avatar_url":"https://avatars.githubusercontent.com/u/9853255?v=3","gravatar_id":"","url":"https://api.github.com/users/jdramsey","html_url":"https://github.com/jdramsey","followers_url":"https://api.github.com/users/jdramsey/followers","following_url":"https://api.github.com/users/jdramsey/following{/other_user}","gists_url":"https://api.github.com/users/jdramsey/gists{/gist_id}","starred_url":"https://api.github.com/users/jdramsey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jdramsey/subscriptions","organizations_url":"https://api.github.com/users/jdramsey/orgs","repos_url":"https://api.github.com/users/jdramsey/repos","events_url":"https://api.github.com/users/jdramsey/events{/privacy}","received_events_url":"https://api.github.com/users/jdramsey/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-12-15T10:45:57Z","updated_at":"2015-12-15T19:57:35Z","closed_at":null,"body":"Alright, so I've spent a bunch of time wading through the existing code and trying to make sense of things. I've come to the conclusion that either (A) for some reason that's not mentioned in the preamble comment, rowsummingexactupdater is not actually intended for my use case, or (B) the Evidence class is broken. Basically, when I run that updater using an evidence object constructed from my proposition that [these nodes] can only take on [these categories], it returns a null pointer error complaining that the manipulation part of the evidence is null. However, the only way I can find in the evidence class to generate a non-null manipulation forces the evidence's proposition to be a tautology. And I can find no way to either (1) update an evidence object's proposition after it has been created, or (2) populate an evidence object's null manipulation with a non-null manipulation (manipulation values can be modified, but not created fresh).\r\n\r\nSo! That's pretty much the short of it. What I want to do is modify the evidence class to include, at a minimum, a constructor that will accept both a manipulation and a proposition. From what I can tell, an evidence is basically just the a proposition + manipulation pairing anyway, so I don't know why this isn't already the case. I'm probably just completely not understanding something about Java, and there's an easy solution to this mess that doesn't involve me probably screwing up your existing code, so I wanted to get your thoughts on all this first. I've spent a bit of time searching the code for other places where the evidence class is being used so I can see how you might've gotten around this somewhere else, but was unable to find anything."},"comment":{"url":"https://api.github.com/repos/cmu-phil/tetrad/issues/comments/164878460","html_url":"https://github.com/cmu-phil/tetrad/issues/106#issuecomment-164878460","issue_url":"https://api.github.com/repos/cmu-phil/tetrad/issues/106","id":164878460,"user":{"login":"jdramsey","id":9853255,"avatar_url":"https://avatars.githubusercontent.com/u/9853255?v=3","gravatar_id":"","url":"https://api.github.com/users/jdramsey","html_url":"https://github.com/jdramsey","followers_url":"https://api.github.com/users/jdramsey/followers","following_url":"https://api.github.com/users/jdramsey/following{/other_user}","gists_url":"https://api.github.com/users/jdramsey/gists{/gist_id}","starred_url":"https://api.github.com/users/jdramsey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jdramsey/subscriptions","organizations_url":"https://api.github.com/users/jdramsey/orgs","repos_url":"https://api.github.com/users/jdramsey/repos","events_url":"https://api.github.com/users/jdramsey/events{/privacy}","received_events_url":"https://api.github.com/users/jdramsey/received_events","type":"User","site_admin":false},"created_at":"2015-12-15T19:57:35Z","updated_at":"2015-12-15T19:57:35Z","body":"Hmm.. I do believe it should work, since it is working in the interface for\nthe updater. I wonder.\n\nOn Tue, Dec 15, 2015 at 12:32 PM, ekummerfeld <notifications@github.com>\nwrote:\n\n> I just updated my own branch at https://github.com/ekummerfeld/tetrad\n>\n> You can find the resimulate code that isn't quite working here:\n> https://github.com/ekummerfeld/tetrad/blob/master/tetrad-lib/src/main/java/edu/cmu/tetrad/simulation/Resimulate.java\n>\n> The test file I use is here:\n> https://github.com/ekummerfeld/tetrad/blob/master/tetrad-lib/src/test/java/edu/cmu/tetrad/test/testResimulate.java\n>\n> If you run the test file, you will see the null pointer exception thrown\n> when the updater tries to update using the evidence object I made. It\n> complains that the manipulation is null. I can find no way to make an\n> evidence object that both has the proposition that I want, and a non-null\n> manipulation. I'm not actually manipulating any variables, so it would just\n> be an array of falses. The evidence object is made at line 230, and the\n> updater tries to use it, but fails, at line 238.\n>\n> —\n> Reply to this email directly or view it on GitHub\n> <https://github.com/cmu-phil/tetrad/issues/106#issuecomment-164833581>.\n>\n\n\n\n-- \nJoseph D. Ramsey\nSpecial Faculty and Director of Research Computing\nDepartment of Philosophy\n135 Baker Hall\nCarnegie Mellon University\nPittsburgh, PA 15213\n\njsph.ramsey@gmail.com\nOffice: (412) 268-8063\nhttp://www.andrew.cmu.edu/user/jdramsey\n"}}