Apr 21, 2009

Stupid projects

So I haven't been posting so i guess ill just take this opportunity to try to piece together some information about some of the projects i doing for my courses.

Project 1. Some sorta Model Checking/logic programming thingy:

Yea Im writing a logic programming "thingy" in python under the working title Llull. You don't have to tell me why this is stupid, I know how to do it in Ocaml or even more trivially in Prolog. The reason Im doing it in Python is im trying to make it significantly different from the norm and i need to be able to hack stuff on.

For example, right now it uses trinary logic: True, False, and IHaveNoDamnClue. If you ask Llull wether a statement is True it can return any of those. I don't claim to actually know prolog, but basically it doesn't have a real Not for a reason. The problem of model checking is NP hard, and my current implementation assumes you use Not in a pretty specific way. Sometimes IHaveNoDamnClue is returned when Llull is just too damn lazy to get to the truth(in special cases it actually returns false when it should return IHaveNoDamnClue, but ill fix this i swear). It uses unification after all.

Also, in accordance with past rants, the Logic in Llull uses thematic arguments, which Im pretty excited about. Thats the real reason for writing it in the first place.

As a side effect of working in Python the entire implementation is very object oriented in a very weired way. I currently just use Python's interactive programming environment to run it. Everything from Statements to Logic Connectors to the Environment are instances of objects. This has led to a number of weired situations where ive used functional code to Map arguments to functions which output Llull logic statements. And then i do logic programming with them. Needless to say im very amused.

Project 2. An Improper use of Neural Networks:

I basically just want to see how well neural networks could be used as deciders for simple context free grammars. Some grad student said i was stupid for trying, but they're never to be trusted. After all, they know too much. I haven't really started, and writing about this is kinda procrastinating but Id like just to test the idea out on well bracketed strings like: (()()(())).

I guess this is partially motivated by my fervent believe in the Chomsky faculty and that language is fundamentally context free. Another thing which grad students tell me im stupid for believing in. But again, what the hell do they know?