Aug 29, 2008

Nietzsche's eternal recurrence is sometimes the only convincing argument I have to show Im not alone.

Aug 26, 2008

school year start

Maybe its the fact I have almost nothing really to do at college anymore, and its the knowledge that I now know what needs to be done and am confident that I could do them as a homeless bum which drives me into this rage.

The way my current japanese class is taught goes against almost everything I fundamentally believe in. And the hidden axiom at the core of their logic is their belief in the lazy nature of the human intellect. Nothing they do is justified.

The build up time for restoring my day to day life has been almost 2 weeks. Its something Ive come to be aware of, how leading a rich life is something that needs some kind of stability. Like making my tea everyday. Even a simple necessary trip can screw up how things go and throw me off for a week before Ill have everything in order again.

Aug 14, 2008

In other news


Im back in Urbana tomorrow, in a new and hopefully better apartment. enjoy the vectorized fish.

How scary the whole lining things up really gets

I should admit here and now that i haven't really taken a full course on logic, but this seems to fall under the same catagorizes as everything else does.

In the traditional logic they teach in undergraduate CS, member of sets are described using quantifiers(the universal and existential quantifier namely). The meaning of the expression changes based on what order the quantifers are put in. Existential quantifers "depend" on the universal quantifer they come after. This concept is a bit difficult for new students no thanks to the fact that human language is often very abigous about the meaning of sentences. Scope ambitguity is a big problem in language.

What always seemed weired to me was that it was never proven to me that all in my classes that all of the different possible relations between universal and existential quantifers could be expressed by lining them up in a row with different permutations. Turns out this was wrong like I thought. Some Swedish dude came up with "Independance Friendly Logic", which is a not too shabby notation for describing all the possible relations. You can use skolemization, but thats lame. I personally diagram the relations using circles and dots. Universal quantification are circles, existential quantification is dots. If a dot is in a circle then it depends on that universally quantified variable. In this system FOL is just all the diagrams which have concentric circles.

but ill nitpick on all this a little more later

Aug 13, 2008

More rants about marked roles

One of the interesting things about marked roles is how it really goes against the standard definition of a function. Functions are really a low level concepts. A function which receives marked inputs can be thought to act more intelligently than a function which takes a fixed number of arguments and handles them without having to think about what they are. Marked-input functions do not need to have a fixed number of arguments, nor do all roles have to be filled in before the function can be evaluated.

Lets take a function which computes the area of a rectangle called "AreaofRec". There are many different ways we could feed a function the information needed to compute the area. The prototypical being:

AreaofRec(length.5, width.4);

Or these other less common ways of input:

AreaofRec(length.5, diagonal.3);
AreaofRec(width.4, perimeter.20);


We can compute area of anyone of these rectangles from the information given. What we have effectively described is a function which evaluates in a certain way when it has received enough information.

Its an interesting idea, so why is it not done? Well its pretty clear that the terms we use to mark the roles of the input with will be difficult to work with. Take these for example:

Sort(sorted.[1,3,6,2,4] , method. <);
Sort(list.[1,3,6,2,4], orderingfunction.<);


Theres nothing to tell us which to write unless we look at the documentation. Sure you have to look at the documentation to see wether the function or the list comes first but thats not nearly as irritating as not knowing what to call your arguments.

We would have to some sort of agreement ontology and knowledge representation. These are still fields in their infancy, and therefore we shouldn't expect anything like this until we've come farther in knowledge representation. If we don't have any intuitive way of figuring out what we are supposed to call each of the roles, then memorized the role names becomes a task worse than memorizing the place each role is supposed to take.

I guess its a good thing Im interested in ontologies.




Aug 12, 2008

久ぶり

Its been a long time since i last touched this probably because I had been writing elsewhere. That and stress. But the technical stuff I should really be writing in my notes a second draft, and i should probably write about less technical stuff and more intuitive things as well.

Anyway I should use this post to sum up some general feelings I have had from my general studies this summer that I haven't yet noted.

It has come to my attention that the single system of notation for logic and math may be damaging. Even from a psycholinguistic viewpoint, if one accepts the mild version of the whorf-sapir hypothesis then it is easy to conclude that multiple syntaxes for representing things would be important. One such example is the difference between explicit and ordered based role assignment. Current mathematical notation is based on the idea that arguments to functions are passed into it in a certain order and we determine the role of the arguments play in the function by matching them to variables which are also ordered. Example:

F(x,y) = x-y.
F(4,3)

We can reason here saying "4 is the first thing so I will replace it with the first variable in the definition (x). 3 is the second so I will replace it with second variable in the definition (y)."

Now this system is intutive and easy. It has served us well. But if we look at language as a structure we find a much different mechanism. Broadly speaking language marks the arguments role in the function/predicate. This doesn't seem to be recognized as much as it should by semanticisits using logic and is pretty rare. As far as I know the only instance of it i can find in math and compsci is in ocaml where labeled roles are allowed for functions. An example is below.

F(x,y) = x/y
F(y:3 , x:6)

We evaluate here by saying oh were supposed to replace y with 3 and x with 6 and we get 2. Here we have labeled 3 and 6 with their respective "roles" in the function.

Now both of these systems are equivalent right? Both are just as good.. but if you think about it more closely, having the roles marked allows us much more flexibility. Take partial applications in lambda calculus.

Let subtract = fun xy.x-y;

If we wish to write a function that tells you what you get when you stubtract three from something we only need to write

Let 3minus = subtract 3;

However if we want to see what happens when we take something and stubtract three from it, writing that function out becomes a bit more of a hassel

let subtractfrom3 = fun a. subtract a 3;

This is plan stupid. If we used marked roles the function becomes simpler to write.

let subtractfrom3 = subtract b:3 ;
let 3minus = subtract a:3;

(instead of using a and b we could simply mark it with 1,2,3..)

more fun uses of role-marking later