State of the AIL
Nov. 7th, 2007 10:08 amSeveral people now have told me these posts are entirely jibberish however I want to document the progress of our thought on the project. It's all under the cut but I don't suggest you read it unless you are actually interested in agents, programming and/or model checking.
( And now the science bit )
On hearing that a programming language was named after her G. immediately asked if she could program in it. I baulked a bit since its a long way off being anything approaching a sensible teaching language. In the end I said she could once she could program, confident in the knowledge this is probably several years away. With some satisfaction, a few days later when we attended a Curriculum Morning a the school, B. pointed out the note that listed "programming" in the IT curriculum for the summer term this year...
( And now the science bit )
On hearing that a programming language was named after her G. immediately asked if she could program in it. I baulked a bit since its a long way off being anything approaching a sensible teaching language. In the end I said she could once she could program, confident in the knowledge this is probably several years away. With some satisfaction, a few days later when we attended a Curriculum Morning a the school, B. pointed out the note that listed "programming" in the IT curriculum for the summer term this year...
I'm in a horrendous muddle about stacks. Java lets you do all sorts of cunning and unforgivable things with stacks (like take things off the bottom of them, or shove things onto the bottom of them). As a result my program appears to be full of stacks and stacks of stacks none of which have tops or bottoms where I think they are.
Then I try to print them out to see what they look like and I'm not even printing them in the right order so I'm still confused about what is at the top of the stack and what is at the bottom of the stack.
SENSIBLE languages don't let you do anything bad with stacks as a result of which you never have to worry about which is the bottom and which is the top. This whole stack confusion thing is coming as something of a shock.
Then I try to print them out to see what they look like and I'm not even printing them in the right order so I'm still confused about what is at the top of the stack and what is at the bottom of the stack.
SENSIBLE languages don't let you do anything bad with stacks as a result of which you never have to worry about which is the bottom and which is the top. This whole stack confusion thing is coming as something of a shock.
Java is a silly language
Aug. 3rd, 2007 04:44 pmPeople are always telling me that my usual languages, like Prolog, are silly or, at the very least, impractical, but Java has just got me flummoxed.
I have a list (of logical formulae as it happens) and I want to know if my agent believes everything in the list. To complicate matters the the list can contain variables so the agent might believe them in different ways. So my list might be - do I believe there is something, x say, such that 1) x is blue and 2) x has four legs and the answer might be "blue cow is blue and blue cow has four legs"* but I might also believe that the sky is blue and any number of other things are blue. The object is to find something that I believe is blue and which I also believe has four legs.
This is incredibly easy in Prolog. I just go through the list of formulae one at a time creating a candidate answer, if the answer fails at any point then the programming language automatically back tracks up the list looking for alternatives.
Java doesn't do back tracking. I'm going to have to do something complicated involving keeping track of where I am in the list and which of the alternative candidates I have explored and then zipping back and forth in a sensible fashion. I've appealed to B. who is supposed to be a bit of a dab hand with imperative languages and he looked a bit blank and then started talking about custom iterators.
* with apologies to those of you don't watch CBeebies.
I have a list (of logical formulae as it happens) and I want to know if my agent believes everything in the list. To complicate matters the the list can contain variables so the agent might believe them in different ways. So my list might be - do I believe there is something, x say, such that 1) x is blue and 2) x has four legs and the answer might be "blue cow is blue and blue cow has four legs"* but I might also believe that the sky is blue and any number of other things are blue. The object is to find something that I believe is blue and which I also believe has four legs.
This is incredibly easy in Prolog. I just go through the list of formulae one at a time creating a candidate answer, if the answer fails at any point then the programming language automatically back tracks up the list looking for alternatives.
Java doesn't do back tracking. I'm going to have to do something complicated involving keeping track of where I am in the list and which of the alternative candidates I have explored and then zipping back and forth in a sensible fashion. I've appealed to B. who is supposed to be a bit of a dab hand with imperative languages and he looked a bit blank and then started talking about custom iterators.
* with apologies to those of you don't watch CBeebies.