This is an account of my interests in artificial intelligence; if you're looking for active research topics, try this.
Artificial intelligence was one of the two main computing topics which engaged my interest while I was still practising as a chemist, and tempted me to change my spots. It started during my Ph.D. work at Leeds, which was concerned with working out reaction mechanisms. It seemed to me then that much, if not all, of the elucidation could be codified, so that it should be possible to write a computer programme to do it. That this would demonstrate the triviality of many of my friends' doctoral theses added piquancy to the idea. ( My own work was just sufficiently different in nature to escape this effect. ) A conviction that it should be possible wasn't really enough, though, and I hadn't any very clear idea of how to go about it.
That came during my post-doctoral fellowship at Loughborough, when I should have been doing something else. While there, I learnt Fortran, and I attended an excellent course in Boolean algebra given at Leicester University's Vaughan College - and then all ( well, some ) became clear. By that time, I was more interested in quantum chemistry, so the reaction mechanism idea lay fallow for some time. It came back again as my interest in computing grew while I was at Singapore University, and it was when I left Singapore that I made the big change.
I still haven't finished the reaction mechanism train of thought, and I don't think anyone else has either. One or two people have come close, but I believe it's still worth doing.
My Boolean algebra course turned my interests to zero-order logic, which is not the same as the first-order ( or predicate ) logic more commonly used in artificial intelligence. I've written a package called Eccles ( Environment for Calculating Complicated Logical Expressions Simply ) which evaluates expressions in zero-order logic. In fact, I've written it several times; the first was while I was at Derby, and the others have happened when new computers or languages have forced me into it. The current version is in C, and actually works. In particular, it really does work out reaction mechanisms. That's a good first step, but any method based purely on the qualitative logic of the chemistry can only get as far as listing the logically possible mechanisms. To do better, some quantitative analysis of the behaviour of the system is necessary; I haven't done that yet. I made a start on it a very long time ago, when I was at Derby; I produced a programme called Peter ( Programme for Evaluating Theoretical and Experimental Results ), which gave me lots of ideas but never really did much more.
At Derby, Peter and Eccles were written in a combination of Fortran and the assembly language of an IBM 1130 computer, and they'd both evolved in a patchy way. I thought it would be sensible to make a new start when I moved to Auckland, so left the old programme ( all punched cards - this was a long time ago ) behind. That was probably a mistake; I'd almost managed to write a new version of Eccles in Algol for the university's B6700 when they threw the B6700 away and got an IBM machine, which didn't run Burroughs' Algol. Eccles languished for a long time, and Peter still awaits reincarnation.
But I started to learn more about artificial intelligence, a process which accelerated a lot when I moved to the Computer Science department and started to lecture in the first undergraduate artificial intelligence course we gave. With a broader view of the subject, I got interested in other applications of reasoning methods. A masters student, Robert Chew, did some interesting work on placing artificial intelligence techniques together with other software tools as a general set of resources, and in the process produced a model of an intelligent adviser for university enrolment. That isn't really finished, either, and could do with reviewing; we wrote quite a bit more about it, but then time ran out.
Along somewhat similar lines, I became interested in the possibility of using some sort of artificial intelligence method to inject a grain of reason into the generally incompetent arguments which one finds in newspapers. A completely automatic monitor is probably out of the question at the moment, but there's a possibility of what I call a debate moderator, with which one could formulate the logic of an argument and perhaps bring out hidden assumptions which might be the real points of difference.
Then there are a set of topics which are more or less part of my artificial intelligence interests, but fall more naturally under other headings.