Thursday, October 13, 2011

Paper submission deadline: EvoStar 2012

The deadline for submitting papers to the European Conference on Evolutionary Computation (EvoStar) 2012 is 30 November 2012. This conference will be held in Malaga, Spain, 11-13 April, 2012.

Wednesday, October 12, 2011

Call for papers: ICCCI 2012

The deadline for papers submitted to the 4th International Conference on Computational Collective Intelligence (ICCCI) 2012 is 15 April 2012. This conference will be held in Ho Chi Minh City, Vietnam, 28-30 November, 2012.

Tuesday, October 11, 2011

Open research problems with Evolving Connectionist Systems

I described Evolving Connectionist Systems (ECoS) in an earlier post. A couple of years ago, I published a review article (PDF preprint) where I described the state of the art of ECoS, and identified several open research problems. There hasn't been much progress made in solving these problems, so I'm going to briefly describe them here, and hopefully stimulate a bit more work in this area. Of course, I'm doing a bit of work in some of these, but as I have a real job to do, I don't get as much time to spend on these problems as I'd like.

1) Input significance. With other ANN, especially the venerable MLP, it is possible to get an indication of how important each input variable is to the model. These methods are based on an analysis of the magnitude of the connection weights attached to each input neuron. This method won't work with ECoS networks, however, because the connection weights represent points in space. That is, the magnitude of the weight for an input neuron connection has nothing to do with how important that input is.


2) Optimisation of ECoS networks. While ECoS algorithms are fast learning, they can grow to be quite large, which makes them expensive in terms of memory and computational load. Ideally, it would be possible to reduce their size without sacrificing their accuracy. That is, it would be ideal if we could somehow eliminate redundant information in the ECoS and only retain that which is necessary for maintaining accuracy. I investigated a couple of methods of doing this in my PhD, and a few other people have looked at it as well, but no one has yet cracked the problem in terms of coming up with an optimisation algorithm that will significantly reduce the size of a trained ECoS network without significantly reducing its accuracy. Also, the most effective optimisation methods in the published work use evolutionary algorithms like genetic algorithms or evolution strategies. These are so computationally intensive that the speed advantages of ECoS are lost. An ECoS optimisation algorithm would ideally be as fast, or nearly as fast, as the ECoS training algorithm. It may be that this is inherently impossible.

3) Non-triangular fuzzy membership functions in EFuNN. The Evolving Fuzzy Neural Network EFuNN has triangular fuzzy membership functions (MF) embedded in its structure. These are fast and efficient, but other MF types (such as Gaussian) may be more useful for other applications.

4) Learning in the MF of EFuNN. The fuzzy MF in EFuNN are fixed, that is, they are set once and do not change during the life of the EFuNN. This is in contrast to the open, adaptive nature of EFuNN itself. An extension of the EFuNN learning algorithm that would allow the MF to adapt as the rest of the network adapts, would be extremely useful for data mining applications. This algorithm would have to be as fast as the rest of the EFuNN learning algorithm, which may rule out backpropagation training of the MF, as is used in other fuzzy system optimisation.

Although ECoS networks are very useful algorithms, they could be made even more useful if the problems above were solved. I'm working on some of them, but I would love to see others working on them as well. Contact me if you are interested in collaborating.

Monday, October 10, 2011

Call for papers: IEEE SSCI 2013

The deadline for the IEEE Symposium Series in Computational Intelligence 2013 is 10 October 2012. This series of symposia will be held in Singapore 16-19 April 2013.

Thursday, October 6, 2011

The problem with academic journals 2

In this earlier post I linked to an article by George Monbiot that discussed the biggest problem with academic journals, which is the enormous expense of accessing journals or journal articles, given that the content and quality control are all provided for free.

Monbiot's original article touched off something of a storm in the academic web, with some echoing his sentiments, and others (some of whom, at least, were connected to the publishers) attacking him. The publishers themselves tried to justify their charges by writing a lot without saying very much (I find as I lurch remorselessly towards 40 that I have less and less tolerance for corporate weasel-wording). Still others discussed whether open access journals are feasible alternatives.

I serve on the editorial board of an open access journal, so I know that they can have a problem with legitimacy, or at least with being taken seriously. But open access journals are still fairly new, and it takes time for a journal to build up its article base, which in turn allows it to build up its citation rate, which in turn builds its impact factor, which is the most important, or at least the most widely known, measure of a journal's success, despite the problems with it.

From my own point of view, I review papers for open access journals with the same care as I review any other paper. As a working scientist and active author, if I can't find a copy of an article online, I won't cite it. It's the authors of the paper who are missing out then, it makes no difference to me whatsoever if they get cited or not.

It's interesting that an august institution like Princeton university, in an effort to promote open-access journals, has recently enacted a policy that forbids its staff from assigning copyright of articles to journal publishers. Let's hope that we see more top institutions doing the same thing: the sooner we break the stranglehold on top science held by the old publishers, the better for everyone.

Wednesday, October 5, 2011

Conference paper deadline: GECCO 2012

The deadline for submitting papers to the 2012 Genetic and Evolutionary Computation Conference (GECCO) is 13 January 2012. This conference will be held in Philadelphia 7-11 July, 2012.

Tuesday, October 4, 2011

Reminder: paper deadline for Collective Intelligence 2012

A reminder that the deadline for papers submitted to the 2012 conference on Collective Intelligence is 4 November, 2011. This conference will be held in Cambridge, Massachusetts, April 18-20, 2012.

Monday, October 3, 2011

Reminder: paper submission deadline for EAIS 2012

A reminder that the deadline for submitting papers to the IEEE Workshop on Evolving and Adaptive Intelligent Systems (EAIS) 2012 is 1 November 2011. This conference will be held in Madrid, Spain, 17-18 May, 2012.

Friday, September 30, 2011

Thursday, September 29, 2011

Wednesday, September 28, 2011

Paper submission deadline: ISICA 2012

The deadline for papers submitted to the International Symposium on Intelligence Computing and Applications (ISICA) 2012 is 15 April 2012. This conference will be held in Wuhan, China, 27-28 October, 2012.

Tuesday, September 27, 2011

Monday, September 26, 2011

Reminder: paper submission deadline for IEEE-IS

A reminder that the deadline for submitting papers to the IEEE International Conference on Intelligent Systems (IEEE-IS) is 20 December 2011. This conference will be held in Sofia, Bulgaria, September 6-8, 2012.

Friday, September 23, 2011

Thursday, September 22, 2011

Reminder: Paper submission deadline for ICAISC 2012

A reminder that the paper submission deadline for the 11th International Conference on Artificial Intelligence and Soft Computing (ICAISC) 2012 is 20 October, 2011. This conference will be held in Zakopane, Poland, April 29 - May 3, 2012.

Wednesday, September 21, 2011

Reminder: Paper deadline FUZZ-IEEE 2012

A reminder that the deadline for papers submitted to the IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) is December 19, 2011. This conference is part of the 2012 IEEE World Congress on Computational Intelligence (WCCI 2012) and is held concurrently with the 2012 Congress on Evolutionary Computation (CEC) and the International Joint Conference on Neural Networks (IJCNN). WCCI 2012 will be held in Brisbane, Australia, June 10-15, 2012.

Reminder: Paper deadline CEC 2012

A reminder that the deadline for papers submitted to the 2012 Congress on Evolutionary Computation is December 19, 2011. This conference is part of the 2012 IEEE World Congress on Computational Intelligence (WCCI 2012) and is held concurrently with the 2012 International Joint Conference on Neural Networks (IJCNN) and IEEE Conference on Fuzzy Logic (Fuzz-IEEE). WCCI 2012 will be held in Brisbane, Australia, June 10-15, 2012.

Tuesday, September 20, 2011

Rules for giving technical presentations

This is an update of an old post, from nearly two years ago. Technical presentations have not improved in that time.

I have attended a lot of conference, scientific and technical presentations, and a significant proportion of those were pretty bad. Another large proportion were mediocre at best, and only a few were pretty good. From what I have observed, and from talking with other presenters, I have formulated the following general rules for giving technical or scientific presentations. While none of these rules are inviolable, please do at least give them some thought the next time you give a presentation.

General Rules

There are two general rules – most of the specific rules come from these two.

1. Don’t waste time, either yours or the audience’s.

2. Don’t insult the intelligence of your audience.


Specific Rules

1. If you have just been introduced with your name and the title of your presentation, don’t repeat this information. You may have them on the first slide, in fact this is probably a good idea, especially if that slide has your email address prominently displayed.

2. If you are presenting to a specialised audience, leave out the background material. For example, if you are presenting to a conference on evolutionary computation, spending even one or two slides explaining what evolutionary computation is violates both general rules.

3. If you have long sentences on your slides, don’t read them aloud. This violates both general rules. It is better to not have long sentences.

4. Outline slides are not necessary. They waste time and assume that the audience isn’t smart enough to notice what you are currently talking about. An exception to this is for long presentations, like hour-long seminars: in this case, it can be useful to repeat the outline slide at strategic points in your presentation. This is to show the audience what part of the talk you are up to, and what they can expect next. Often, different people will be interested in different parts of your talk, so doing this lets them know when they should pay attention.

5. Don’t place equations on your slides unless they are absolutely, positively and irrefutably necessary. If the math is complex enough that it needs to be explained, then it is unlikely that the audience will be able to parse it fast enough to be useful to the presentation. If it is simple, then it can be left out.

6. Know the length of your presentation. A good rule of thumb is an absolute maximum of one slide per minute of presentation, including title, summary and conclusions. Thus, for a fifteen minute presentation, fifteen slides is a good count, ten is better, less than ten is best.

7. Keep to the point of the presentation. If your talk is on bioinformatics, I don’t want to hear about your university’s teaching computer lab.

8. Proof-read your presentation. Use a spell checker. Have someone else check your presentation. If English is not your first language, have it proof-read by someone who is a native speaker. Try to avoid common grammatical errors (infer/imply, affect/effect, explicit/implicit, and so on). Know what words like "literally" actually mean (Jamie Oliver, I'm looking at you!).

9. Know your presentation material. If you have to stop talking to work out what something on a slide actually means, you are wasting everyone’s time. It also makes you look like an idiot.

10. If you are presenting a group of numbers, use a plot of the values, rather than a table, especially if the intention is to compare and contrast the groups. Be careful with the use of colours! A non-trivial proportion of the population can't distinguish between red and green. Be aware that pale colours, such as yellow, can't be seen easily when projected.

11. Moving about is good. Moving energetically is even better. A presenter with physical vigour commands more attention from, and inspires more energy in, an audience than one who stands still, or worse, sits while speaking. That said, moving around like your feet are on fire is distracting. Use your best judgement.

12. Make eye contact with your audience. You should try to make eye-contact with each member of the audience at least once during your presentation. They are here to listen to you speak, so you should acknowledge their existence by actually looking at them. That said, constantly looking at one particular member of the audience is likely to make that person feel uncomfortable.

13. If you cite published work, you must include enough information for audience members to find it! A citation in your presentation like Watts et al (2011) is absolutely useless on its own. At a bare minimum, you would need Watts et al (2011), Ecological Modelling. At least then someone has a chance of finding the paper.

14. Change media regularly. Write on the whiteboard. Show a diagram. Play a video. Hand around a piece of equipment. Anything that is a change from words on a slide.

Monday, September 19, 2011

Reminder: Paper deadline IJCNN 2012

The deadline for papers submitted to the International Joint Conference on Neural Networks is December 19, 2011. This conference is part of the 2012 IEEE World Congress on Computational Intelligence (WCCI 2012) and is held concurrently with the 2012 Congress on Evolutionary Computation (CEC) and IEEE Conference on Fuzzy Logic (Fuzz-IEEE). WCCI 2012 will be held in Brisbane, Australia, June 10-15, 2012.

Friday, September 16, 2011

Paper submission deadline for ICIC 2012

The deadline for papers submitted to the International Conference on Intelligent Computing (ICIC) 2012 is January 1, 2012. This conference will be held in Huangshan, China, July 25-29, 2012.

Thursday, September 15, 2011

Reminder: paper submission deadline for PPSN 2012

A reminder that the deadline for submitting papers to the 12th International Conference on Parallel Problem Solving from Nature (PPSN) 2012 is March 15 2012. This conference will be held in Taormina, Italy, September 1-5, 2012.

Wednesday, September 14, 2011

Reminder: paper deadline for SIAM SDM 12

A reminder that the deadline for submitting papers to the SIAM International Conference on Data Mining (SDM) 2012 is 14 October 2011. This conference will be held in Anaheim, California, April 26-28, 2012.

Tuesday, September 13, 2011

Multi-lingual social internetworking

As I promised in this post, the social media sites of the IEEE Computational Intelligence Society (CIS) are now available in several new languages: in the last week, we have set up sites in Korean, Greek, German and Spanish.

I have also posted a document describing how it works: in short, a post is published on the CIS blog, which is then automatically translated by Yahoo! Pipes, then sent to the social media sites. So, it is now possible to follow IEEE CIS news in Chinese, Portuguese, French, Korean, Greek, German and Spanish. These are machine translations, so they can be a bit off sometimes, but I'm told that for the most part they're OK.

A complete listing of the English language social media sites is in this post. The addresses for the Chinese, French and Portuguese sites are listed in this post. Finally, the Korean, Greek, German and Spanish sites are as follows:

Korean

http://twitter.com/#!/ieeeciskr


Greek

http://twitter.com/#!/ieeecisgr
http://ieeecisgr.jaiku.com
http://www.plerb.com/ieeecisgr
http://ieeecisgr.tumblr.com
http://shoutitout.shoutem.com/ieeecisgr


German


http://twitter.com/#!/ieeecisde
http://ieeecisde.jaiku.com
http://www.plerb.com/ieeecisde
http://ieeecisde.tumblr.com
http://shoutitout.shoutem.com/ieeecisde


Spanish

http://twitter.com/#!/ieeecises
http://ieeecises.jaiku.com
http://www.plerb.com/ieeecises
http://ieeecises.tumblr.com
http://shoutitout.shoutem.com/ieeecises

Monday, September 12, 2011

On plagiarism

Plagiarism is one of the most unpleasant things to deal with when teaching. Panos Ipeirotis wrote a blog post that stimulated some discussion, and was then removed because of legal threats. In short, he detected a fairly large amount of plagiarism in a class, but calling the students out on it created a lot of antipathy towards him, leading to a lower student evaluation, which adversely effected his own financial propects.

The later discussions suggested setting assignments that are impossible for the students to plagiarise. During my tenure teaching at the University of Otago, I saw my fair share (or more than my fair share) of plagiarism, and some of it was pretty bad.


The worst I saw was while teaching my second-year data processing course. It's not like it was difficult to detect, either: the copied portions stood out because the writing style was completely different. A few seconds with Google was usually enough to find the exact source. The easiest-detected case of plagiarism I dealt with was when a student copied from the laboratory manual - which I had written. There were so many cases of plagiarism in that course that the higher-ups changed the way in which plagiarism was dealt with: originally, all cases of plagiarism were sent to the dean of School. After a few weeks of me sending students to them, the regulation was changed to sending them to the head of department. The only penalty the students received, though, was a zero for the work that they had plagiarsied in. By the end of the year, I'd detected more plagiarism than the rest of the department put together, which raises the question: did more students plagiarise in my course, or was I just better at detecting them? If the former, was it because my course was harder? Because it was a required course that the students weren't really interested in? Or were the students really not smart enough to do the course without cheating? If the latter, why did I detect more than the other teaching staff? Was I the only one who read the assignments carefully? Did the other teaching staff not care? Or was it that the assessments in other courses were such that plagiarism was harder to commit in the first place, that is, more practically oriented?

While most of the plagiarism I dealt with was from undergrads, I have come across it reviewing papers, as well. Again, it was easy to detect: most of the paper was written very badly, apart from two or three paragraphs. Again, a few seconds work on Google was enough to find the original source. Needless to say, the paper was rejected. Since it was only a conference paper, I doubt that there were any repercussions on the authors.

As far as student plagiarism is concerned, I agree with the notion that it is better to spend time setting assessments that can't be plagiarised. The one course I taught that never had a problem with plagiarism was my fourth-year computational intelligence course. Now, that is partly likely to be because the students were highly-motivated, honours-level students, but also because of the nature of the lectures and assessment. Rather than me giving lectures twice a week, students took turns researching and presenting on a topic. There was a list of permissible topics for each week, so that the presentations followed the curriculum I had set out for the course, the students got support in researching their talk, and I went over each presentation before it was given. The practical work was entirely project-oriented, where again the students selected a project that interested them. This actually worked very well: it taught the students valuable skills and left no scope for plagiarism. I wonder, though, how well it would work for third or even second year students?

Perhaps a more important question is, why do students plagiarise? If we could answer that question, could plagiarism be eradicated? Or would there always be some students who are simply so desperate (or so unable / unwilling to do the work) that they will always plagiarise?

Friday, September 9, 2011

Conference paper deadline: ICSI 2012

The deadline for papers submitted to the Third International Conference on Swarm Intelligence (ICSI) 2012 is December 31, 2011. This conference will be held in Shenzhen, China, June 17-20, 2012.

Thursday, September 8, 2011

Call for papers: PRICAI 2012

The deadline for papers submitted to the 12th Pacific Rim International Conference on Artificial Intelligence (PRICAI) 2012 is March 1, 2012. This conference will be held in Kuching, Malaysia, September 3-7, 2012.

Wednesday, September 7, 2011

Reminder: paper deadline for AAMAS 2012

A reminder that the deadline for submission of abstracts to the 11th International Conference on Autonomous Agents and Multiagent Systems (AAMAS) 2012 is 7 October 2011, with full papers due 12 October 2011. This conference will be held in Valencia, Spain, 4-8 June 2012.

Tuesday, September 6, 2011

Monday, September 5, 2011

Friday, September 2, 2011

Reminder: paper submission deadline for KES-IDT 2012

A reminder that the deadline for submitting papers to the 4th International Conference on Intelligent Decision Technologies (KES-IDT 2012) is 1 December 2011. This conference will be held in Gifu, Japan, 23-25 May, 2012.

Reminder: paper submission deadline for ICARIS 2012

A reminder that the deadline for submitting papers to the 11th International Conference on Artificial Immune Systems (ICARIS) 2012 is 1 March 2012. This conference will be held in Taormina, Italy, 28-21 July, 2012

Thursday, September 1, 2011

Reminder: paper deadline ICFSNC 2012

A reminder that the deadline for papers submitted to the International Conference on Fuzzy Systems and Neural Computing (ICFSNC) 2012 is 30 November 2011. This conference will be held in Barcelona, Spain, April 11-13, 2012.

Wednesday, August 31, 2011

The problem with academic journals

George Monbiot nicely summarises the problems with academic journals as they currently stand.

  • Journals get their content for free (papers submitted by authors).
  • Journals get their quality control for free (reviewers volunteering their time).
  • Journals get their editors for free (more volunteers).
  • Journals charge thousands of dollars per year for subscriptions.
Yet, academics must publish in journals to advance their careers: university managers and funding bodies all like the nice, simple metric of counting the number of publications an academic has published in high-impact journals. And most of the high-impact journals are the ones that cost thousands per year.
 
Monbiot argues that this has the effect of shutting cutting-edge science behind extremely high paywalls, which has the effect of making science inaccessible to most of the population. When this happens, is it any surprise that hokum like the anti-vaccination movement takes hold in the population? Or that creationist baloney circulates so widely?

I think it's time for scientists, and leading scientists at that, to start submitting more to open-access journals. More importantly, it's time for managers and funding bodies to ditch the overly simplistic measures of performance that are derived from impact factors. Otherwise, things are not going to end well.

Tuesday, August 30, 2011

Reminder: paper deadline for CINTI 2011

A reminder that the deadline to submit papers to the 12th IEEE International Symposium on Computational Intelligence and Informatics (CINTI) 2011 is September 30 2011. This conference will be held in Budapest, Hungary, November 21-22 2011.

Monday, August 29, 2011

Conference paper deadline: ECAI 2012

The deadline for papers submitted to the 20th European Conference on Artificial Intelligence (ECAI) 2012 is 6 March 2012. This conference will be held in Montpellier, France, 27-21 August, 2012.

Friday, August 26, 2011

Reminder: Paper submission deadline for PAKDD 2012

A reminder that the deadline for submitting abstracts to the 16th Pacific-Asia Conference on Knowledge Discovery and Data Mining (PAKDD) 2012 is 25 September 2011. This conference will be held in Kuala Lumpur 29 May - 1 June, 2012.

Wednesday, August 24, 2011

Tuesday, August 23, 2011

Reminder: Paper deadline for IEEE CIBCB 2012

A reminder that the deadline for papers submitted to the 2012 conference on Computational Intelligence in Bioinformatics and Computational Biology is November 20, 2011. This conference will be held in San Diego, California, May 9-12, 2012.

Tuesday, August 16, 2011

Reminder: Paper deadline ACIIDS 2012

The deadline for papers submitted to the 4th Asian Conference on Intelligent Information and Database Systems (ACIIDS) 2012 is September 15, 2011. This conference will be held in Kaohsiung, Taiwan, March 19-21, 2012.

Thursday, August 11, 2011

Wednesday, August 10, 2011

Teaching computational intelligence

Mengjie Zhang at Victoria University of Wellington discusses his experiences teaching computational intelligence in this article in the IEEE Computational Intelligence Magazine (access depends on your institution). What he describes seems like a fairly logical course structure. I thought I'd add my own experiences teaching computational intelligence at the University of Otago several years ago, to provide an alternative course structure.

The course I taught was a required course for third year honours students in the Department of Information Science. It was taught over one semester per year, and I taught it 2000-2003. I usually had between 15 to 30 students in it, with the number being a bit less near the end of my time teaching as the collapse in enrollments in Information Science started to bite. In addition, I usually had one or two students from other departments, usually biochemistry, as they found what I taught particularly useful.

The course was divided into five sections: data processing; rule-based and fuzzy rule-based systems; artificial neural networks; evolutionary computation; applications of computational intelligence. There were two one-hour lectures and one two-hour lab session per week.

The overall focus of the course was answering the question "What is computational intelligence and how do I use it to solve problems?".To this end, a large part of the course was focused on a small group project (two or three students per group) worth 30% of the final course grade. Students had to select a problem and data set, analyse the data, build an intelligent model to solve the problem the data was related do, and finally build a small prototype piece of software that solved the problem. The structure of the project was inspired by a survey of employers, commissioned by the Information Science department, which found that employers wanted graduates who could:

  1. work in a group
  2. write coherent reports
  3. give effective presentations
Point 1 was addressed by making the project a small group project. Point 2 was addressed by requiring three reports during the course of the project, each worth 8% of the final grade. Finally, point 3 was addressed by requiring an in-class presentation to accompany each report, which were each worth 2% of the final grade.
The material presented in the lectures covered the relevant algorithms and techniques from both a theoretical and practical aspect, covering how the algorithms work and how they can be applied to solving problems. The theoretical aspects were reinforced by ten weekly problem sets, which were worth 2% of the final grade each. The practical aspects were reinforced by the weekly practical / laboratory sessions. These used MATLAB with the relevant toolboxes and were largely aimed at providing the students with the skills and knowledge they needed to do the project work.

The final assessment component was a 50% exam. I would have liked to have set an exam worth a bit less than that, but the University regulations at the time prevented me from doing that.

Overall, the students were very happy with the course. Apart from being well-organised, they found it interesting and useful. At least one project group even managed to publish their project in an international conference.

The lectures that I presented for this course are available here. At some point, I will make the laboratory and assessment material available as well.

While I enjoy my current research job a great deal, I do find myself missing teaching, and would like to return to it one day.

Monday, August 8, 2011

Conference paper deadline: KES-IDT 2012

The deadline for submitting papers to the 4th International Conference on Intelligent Decision Technologies (KES-IDT 2012) is 1 December 2011. This conference will be held in Gifu, Japan, 23-25 May, 2012.

Friday, August 5, 2011

Call for papers: IEEE-IS

The deadline for submitting papers to the IEEE International Conference on Intelligent Systems (IEEE-IS) is 20 December 2011. This conference will be held in Sofia, Bulgaria, September 6-8, 2012.

Thursday, August 4, 2011

Reminder: paper deadline for Collective Intelligence 2012

A reminder that the deadline for papers submitted to the 2012 conference on Collective Intelligence is 4 November, 2011. This conference will be held in Cambridge, Massachusetts, April 18-20, 2012.

Tuesday, August 2, 2011

Monday, August 1, 2011

Reminder: paper deadline for EAIS 2012

A reminder that the deadline for submitting papers to the IEEE Workshop on Evolving and Adaptive Intelligent Systems (EAIS) 2012 is 1 November 2011. This conference will be held in Madrid, Spain, 17-18 May, 2012.

Tuesday, July 26, 2011

Software development in science

There are fundamental differences in the way in which scientists and software engineers create software. Here are two posts on two separate blogs, arguing their respective cases about the difference between the software created by scientists and the software created by software engineers. The first argues that the differences are due to culture: scientists view software as a tool that just needs to work, so don't mind doing it quickly and in a less-than-maintainable manner. Software engineers see software as a product, and so spend the time and effort to make software that is maintainable. The second, on the other hand, argues that it is not a cultural difference, but an issue of reproducibility. Being able to reproduce results is extremely important in science - for example, a lack of reproducibility is in part how the fraudulent results of Jan Hendrik Schon were uncovered. Thus, software need to be reproducible and therefore, produce trustworthy results.

As both a software engineer and a working scientist, I tend to agree more with the second argument, but I think that the major problem is that some scientists who code are going too far outside of their area of expertise.

It takes education and a lot of experience to be able to write good code. I've been writing software for more than sixteen years now, and I think I am finally getting to the point that my coding skills are adequate. But that's after earning an honours degree in the field, after spending a couple of years working closely with a truly gifted programmer, and many more years writing software for a wide variety of applications. When I first started writing scientific software, the code I produced wasn't very good: it ran OK, and produced reasonable results, but it was pretty clunky, being very difficult to adapt to other projects. I learned very quickly after that to design code for modularity and replicability. Reusable code,of course, is superior to code that is purpose-built each time. Apart from making it easier and quicker to produce new software, it is far more reliable: bugs are more likely to have been noticed and fixed in the earlier software.

I often tell my co-workers (who are all very good ecologists) that it is very easy to write bad software and that writing good software is hard. So, even though I spend my days writing software to process the output of some fairly painful software (that was obviously written by non-engineers), even though it takes me more time than people think it should, I still spend the time to build it according to the principles I learned as a software engineer. And every time I do that, the effort pays off later on, because I am always able to adapt my code to a new application with minimal effort, even though that application had not even been thought of when I first wrote the code.

I know that this sounds terribly snobbish, even elitist, but I look at it this way: If you want to design a reliable bridge, you need a civil engineer. If you want to design a reliable car, you need a mechanical engineer. If you want to write reliable software, you need a software engineer.

I think this problem of scientists over-reaching into code writing occurs because writing code is so easy to do, and because software can fail in subtle ways. Building a bridge takes a lot of material and manpower, and if it is not designed properly, it falls down. Building a car takes a lot of time and components, and if it is not designed properly, it crashes (or doesn't run at all). With software, however, anyone can download and install a scripting language like Python or a package like R and knock out a script that seems to do what they want. It also means that anyone can knock out numbers that look reasonable but are in fact completely wrong.

If you want good software, you need a software engineer. It's an investment that pays off in the long run.

Thursday, July 21, 2011

Wednesday, July 20, 2011

Journal Article Submission Strategy

How do you go about submitting papers to academic journals? As space in journals becomes more restricted, and getting published becomes more competitive, I have developed certain strategies for selecting which journal to submit to.

First, write your paper. During the writing of your paper, you will be citing the relevant literature. By paying careful attention to where the most relevant articles you cite were published, you can then perform step two:

Create a shortlist of journals. You may have a journal in mind before you start work on the paper, as some topics are so specialised that they only fit one publication. This is fairly rare, however, as there are usually more than one journal that deals with a particular topic.

Find the impact factor (IF) of each journal. While you shouldn't base your submission venue solely on IF (many people I have spoken with think it's pretty bogus) funding agencies do unfortunately look at the IF of your publications when evaluating research proposals. You may alter your shortlist based on IF.

Contact the editor of each journal on your shortlist. Send them the title and the current abstract of the paper, and ask them if your paper will fit with their journal. The paper doesn't have to be completely ready at this point, but you do need a very good title and abstract. This is a good argument for writing the abstract before the rest of the paper, rather than leaving it as the last thing that you write.

This step does mean that you have to make a bit of an extra effort before submission, but it can save you a lot of time later on. Consider my experience: last Christmas holiday, I was up until 3am Christmas morning submitting a paper. I was sitting at my parent's kitchen table (in New Zealand), with my laptop, using dial-up Internet to upload the (large) images, cover letter and manuscript of my paper. The following day (Christmas day!) I was very tired, and really didn't have the energy to enjoy playing with my daughter and her cousins (my nephews and niece, who I see at most once a year). A few days later, the editor of the journal I submitted the paper to emailed me saying that the paper didn't really fit the journal and that he had rejected it without sending it to peer review. Although I had submitted to that journal on the advice of my co-authors, all of that time-wasting could have been avoided if I had just contacted the editor first.

Choose a journal to submit to. This choice is based on 1) the strength or enthusiasm of the responses you get from the editors you have contacted, and 2) the impact factor of the journal. When writing the cover letter, be sure to mention that you have contacted the editor and that they responded positively.

Finally, submit the paper. Make sure that you have carefully followed the formatting and submission instructions. Check these before submitting! Journals do sometimes change their formatting requirements, don't get caught out using an old format!

Of course, none of this will help if you have written a bad paper. See my previous post on minimum requirements for a computational intelligence paper for what I look for when reviewing a paper.

This post came out of a discussion I had with two of my colleagues at the University of Adelaide: Dr Thomas Prowse, and Dr Stephen Gregory. Thanks for the great discussion!

Monday, July 18, 2011

Call for papers: SEAL 2012

The deadline for submitting papers to the 9th International Conference on Evolution and Learning (SEAL) 2012 is 1 May 2012. This conference will be held in Hanoi, Vietnam, 16-19 December, 2012.

Friday, July 15, 2011

IEEE Computational Intelligence Society social media presence expands

The IEEE Computational Intelligence Society now has presences on several more social media sites. This expansion is due to the ongoing work of the Social Media Subcommittee.

The first of the new sites is the CIS blog: http://ieee-cis.blogspot.com/. This is the source of and archive for news and announcements from the society. When a new post is published on the blog, it is automatically distributed to the other social media presences, using the methods described in this report.

The major social media sites are:

Twitter: http://twitter.com/#!/ieeecis
Facebook: http://www.facebook.com/IEEE.CIS
LinkedIn: http://www.linkedin.com/groups?mostPopular=&gid=75152

Newer presences are now up at the following sites:

Identica: http://identi.ca/ieeecis
Plurk: http://www.plurk.com/ieeecis
Qaiku: http://www.qaiku.com/home/ieeecis/
Jaiku: http://ieeecis.jaiku.com/
Tumblr: http://ieeecis.tumblr.com/
Shoutitout: http://shoutitout.shoutem.com/ieeecis

More expansions are planned for the near future. I will blog about them when they happen.

Wednesday, July 13, 2011

Conference paper deadline: ICONIP 2012

The paper submission deadline for the International Conference on Neural Information Processing (ICONIP) 2012 is May 15, 2012. This conference will be held in Doha, Qatar, November 26-29, 2012.

Saturday, July 9, 2011

Call for papers: PPSN 2012

The deadline for submitting papers to the 12th International Conference on Parallel Problem Solving from Nature (PPSN) 2012 is March 15 2012. This conference will be held in Taormina, Italy, September 1-5, 2012.

Friday, July 8, 2011

Call for papers: ICARIS 2012

The deadline for submitting papers to the 11th International Conference on Artificial Immune Systems (ICARIS) 2012 is 1 March 2012. This conference will be held in Taormina, Italy, 28-21 July, 2012.

Thursday, July 7, 2011

Call for papers: AAMAS 2012

The deadline for submission of abstracts to the 11th International Conference on Autonomous Agents and Multiagent Systems (AAMAS) 2012 is 7 October 2011, with full papers due 12 October 2011. This conference will be held in Valencia, Spain, 4-8 June 2012.

Conference paper deadline: ISSNIP 2011

The deadline for submitting papers to the Seventh International Conference on Intelligent Sensors, Sensor Networks and Information Processing (ISSNIP) 2011 is 31 July 2011. This conference will be held in Adelaide, Australia, 6-9 December, 2011.

Wednesday, July 6, 2011

Conference paper deadline: ICFSNC 2012

The deadline for papers submitted to the International Conference on Fuzzy Systems and Neural Computing (ICFSNC) 2012 is 30 November 2011. This conference will be held in Barcelona, Spain, April 11-13, 2012.

Monday, July 4, 2011

Universities are Important

I'm going a little bit off the topic of this blog in this post, but since most of the research in computational intelligence is done at universities it's still relevant. In a post at the Forbes.com blog, Nathan Furr discusses four myths on why universities don't matter anymore (they do). The most salient are the top three:


1) You can teach yourself everything
2) You can teach yourself everything online
3) I don't use anything I learned at college


In regards to 1) and 2), from my own experience some students do think that: one comment on a course evaluation for the data processing course I taught in 2003 was along the lines of "this course doesn't teach anything that an enterprising student couldn't learn online". The counterpoint to that is that if they hadn't done my course, they wouldn't know what they would need to teach themselves. In other words, they wouldn't know that they didn't know.

In regards to number 3, people who say that probably just don't realise that they are using stuff they learned at university. In my own case, my undergraduate education is in software engineering and systems development, my PhD is in computational intelligence, and now I do research in ecological modelling. With every project I do in ecological modelling, I have been able to apply what I learned as either an undergrad or during my PhD.

I've spent my professional life working at universities, and I will be the first to admit that, like every human enterprise, they have their flaws: I've seen people promoted because of their political skill rather than their research, teaching skill, or managerial ability, only to have them run their departments into the ground. I've seen people build entire careers on a single piece of research, then spend the rest of their lives giving the same talk over and over again. But universities do far more useful things than bad things, so they are worth keeping around.

Saturday, July 2, 2011

Call for papers: WSDM 2012

The deadline for submitting abstracts to the Fifth ACM International Conference on Web Search and Data Mining (WSDM) 2012 is 4 August 2011, while the deadline for submitting full papers is 11 August 2011. This conference will be held in Seattle, Washington, February 8-12 2012.

Call for papers: SIAM SDM 12

The deadline for submitting papers to the SIAM International Conference on Data Mining (SDM) 2012 is 14 October 2011. This conference will be held in Anaheim, California, April 26-28, 2012.

Friday, July 1, 2011

Call for papers: ISNN 2012

The deadline for submitting papers to the 2012 International Symposium on Neural Networks (ISNN 2012) is 15 January 2012. This symposium will be held in Shenyang, China, July 11-14, 2012.

I visited Shenyang in 2005 and found it to be energetic but also very friendly. Shenyang is easily my favourite city in China and I look forward to visiting again.

Wednesday, June 29, 2011

Teaching Materials Online

I have just made lecture materials from my undergraduate computational intelligence course available online. The lectures cover rule-based systems, fuzzy logic, artificial neural networks, evolutionary algorithms and hybrid systems. The lectures are available at: http://mike.watts.net.nz/Teaching/

These lectures were presented in the course INFO 331, Intelligent Information Systems, during my time at the Department of Information Science at the University of Otago, New Zealand. Also available at the above address are lectures I presented for the course INFO 233, Data Processing.

Tuesday, June 28, 2011

Deadline extended: AI 2011

The deadline for papers submitted to the 24th Australasian Joint Conference on Artificial Intelligence (AI 2011) has been extended from 28 June 2011 to 15 July 2011. This conference will be held in Perth, Western Australia, 5th to 8th December, 2011.

Saturday, June 25, 2011

Call for papers: ICIST 2012

The deadline for submitting papers to the International Conference on Intelligent Systems and Technologies (ICIST) 2012 is December 30, 2011. This conference will be held in Tokyo, Japan, 29-31 May 2012.

Friday, June 24, 2011

Paper deadline: EAIS 2012

The deadline for submitting papers to the IEEE Workshop on Evolving and Adaptive Intelligent Systems (EAIS) 2012 is 1 November 2011. This conference will be held in Madrid, Spain, 17-18 May, 2012.

Thursday, June 23, 2011

Call for papers: CINTI 2011

The deadline to submit papers to the 12th IEEE International Symposium on Computational Intelligence and Informatics (CINTI) 2011 is September 30 2011. This conference will be held in Budapest, Hungary, November 21-22 2011.

Tuesday, June 21, 2011

Call for papers: ICCIEA 2011

The deadline for papers submitted to the International Conference on Computational Intelligence and Engineering Applications (ICCIEA) 2011 is 1 September 2011. This conference will be held in Bhubaneswar, India, 16-17 October, 2011.

Call for papers: Collective Intelligence 2012

The deadline for papers submitted to the 2012 conference on Collective Intelligence is 4 November, 2011. This conference will be held in Cambridge, Massachusetts, April 18-20, 2012.

Sunday, June 19, 2011

Conference paper deadline: ICPRAM 2012

The deadline for submitting papers to the 1st International Conference on Pattern Recognition Applications and Methods (ICPRAM) 2012 is 26 July 2011. This conference will be held in Vilamoura, Portugal, 6-8 February 2011.

Paper submission deadline: PICom 2011

The deadline for papers submitted to the 9th International Conference on Pervasive Intelligence and Computing (PICOM) 2011 is July 15 2011. This conference will be held in Sydney, Australia, December 12-14 2011.

Paper submission deadline: PAKDD 2012

The deadline for submitting abstracts to the 16th Pacific-Asia Conference on Knowledge Discovery and Data Mining (PAKDD) 2012 is 25 September 2011. This conference will be held in Kuala Lumpur 29 May - 1 June, 2012.

Conference paper deadline: SAMI 2012

The paper submission deadline to the 10th IEEE International Symposium and Applied Machine Intelligence and Informatics (SAMI) 2012 is 31 October 2011. This symposium will be held January 26-28 2011 in Herl'any, Slovakia.

Saturday, June 18, 2011

Friday, June 17, 2011

Conference paper deadline: ADMA 2011

The deadline for submitting papers to the 7th International Conference on Advanced Data Mining and Applications (ADMA) 2011 is July 7 2011. This conference will be held in Beijing, China, 17-19 December, 2011.

Call for papers: AISec 2011

The deadline for papers submitted to the 4th Workshop on Artificial Intelligence and Security (AISec) 2011 is July 6 2011. This conference will be held in Chicago, Illinois, 21 October 2011.

Paper submission deadline: MICAI 2011

The deadline for registration of abstracts for the 10th Mexican International Conference on Artificial Intelligence (MICAI) 2011 is July 1, 2011, with full papers due July 7, 2011. This conference will be held in Puebla, Mexico, November 26 - December 4, 2011.

Paper submission deadline: CiSE 2011

The deadline for papers submitted to the International Conference on Computational Intelligence and Software Engineering (CiSE) 2011 is July 20, 2011. This conference will be held in Wuhan, China, December 9-11, 2011.

Call for papers: CIS 2011

The deadline for papers submitted to the 7th International Conference on Computational Intelligence and Security (CIS) 2011 is 30 June 2011. This conference will be held in Sanya, Hainan, China, on December 3-4, 2011.

Thursday, June 16, 2011

Paper submission deadline: HIS 2011

The deadline for papers submitted to the 11th International Conference on Hybrid Intelligent Systems (HIS) 2011 is July 1, 2011. This conference will be held in Malacca, Malaysia, 5-8 December, 2011.

Paper submission deadline: IWACI 2011

The deadline for papers submitted to the Fourth International Workshop on Advanced Computational Intelligence (IWACI) 2011 is July 1, 2011. This conference will be held in Wuhan, China, October 19-21 2011.

Conference paper deadline: CIDM 2011

The deadline for papers submitted to the Second International Workshop on Computational Intelligence for Disaster Management (CIDM-2011) is 30 June, 2011. This conference will be held in Fukuoka, Japan, November 30 - December 2, 2011.

Wednesday, June 15, 2011

Call for papers: FUZZ-IEEE 2012

The deadline for papers submitted to the IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) is December 19, 2011. This conference is part of the 2012 IEEE World Congress on Computational Intelligence (WCCI 2012) and is held concurrently with the 2012 Congress on Evolutionary Computation (CEC) and the International Joint Conference on Neural Networks (IJCNN). WCCI 2012 will be held in Brisbane, Australia, June 10-15, 2012.

Conference paper deadline: ACAL 11

The deadline for papers submitted to the 5th Australian Conference on Artificial Life (ACAL) 2011 is 28 June 2011. This conference will be held in Perth, Australia, 6-8 December, 2011.

Paper submission deadline: UKCI 2011

The deadline for papers submitted to the 11th UK Workshop on Computational Intelligence (UKCI) 2011 is 20 June 2011. This workshop will be held in Manchester, UK, 7-9 September, 2011.

Paper submission deadline: ACIIDS 2012

The deadline for papers submitted to the 4th Asian Conference on Intelligent Information and Database Systems (ACIIDS) 2012 is September 15, 2011. This conference will be held in Kaohsiung, Taiwan, March 19-21, 2012.

Tuesday, June 14, 2011

Detecting reefs with ANN

I have just published a paper, along with several of my colleagues at the University of Adelaide, on detecting reefs using MLP.

The problem was that while there is coarse-scale bathymetric data from sonar surveys, and surveys of small areas that list the presence and absence of reefs in a relatively small number of points, there have not been large-scale surveys of where, exactly, reefs are. This is because the fine-scale sonar surveys needed to detect them remotely are very expensive and time consuming, and surveying manually (divers going into the water and looking) can be dangerous in places (either dangerous sea conditions, or big bitey beasties in the water). Not knowing where reefs are is a problem, especially if you want to construct ecological models of reef-dwelling creatures like abalone. In short, abalone like to live on reefs, so to build an accurate model, you must know where the reefs are.

We addressed this problem by firstly, processing the bathymetric data into slope and curvature measures of the sea bed, then training MLP over sliding 2D windows of these variables, where a known reef presence or absence was in the centre of the window. A window in this case was an n * n matrix of values, where we used n=5. So, the third element of the third row was the target cell, which the MLP was learning to classify as either a reef or non-reef point.

We found that combinations of the bathymetric value of the target cell, and a 5*5 window of seabed slope, gave us the best results. The overall experimental method we used was as I described in this post. While we weren't able to classify every reef exactly, the overall accuracy of 85% was enough to construct a useful map of reefs for ecological models of abalone.

We're looking at boosting the accuracy of our models by various means - this first paper is just a proof-of-concept, to show that we can find reefs with ANN.

The full citation for this paper is:

Watts, M.J., et al., A novel method for mapping reefs and subtidal rocky habitats using artificial neural networks. Ecological Modelling (2011), doi:10.1016/j.ecolmodel.2011.04.024

Call for papers: IJCNN 2012

The deadline for papers submitted to the International Joint Conference on Neural Networks is December 19, 2011. This conference is part of the 2012 IEEE World Congress on Computational Intelligence (WCCI 2012) and is held concurrently with the 2012 Congress on Evolutionary Computation (CEC) and IEEE Conference on Fuzzy Logic (Fuzz-IEEE). WCCI 2012 will be held in Brisbane, Australia, June 10-15, 2012.

Monday, June 13, 2011

IJCNN 2011 Final Program

The final program for the 2011 International Joint Conference on Neural Networks (IJCNN) has been posted. This conference will be held in San Jose, California, July 31 - August 5, 2011.

Saturday, June 11, 2011

Call for papers: CEC 2012

The deadline for papers submitted to the 2012 Congress on Evolutionary Computation is December 19, 2011. This conference is part of the 2012 IEEE World Congress on Computational Intelligence (WCCI 2012) and is held concurrently with the 2012 International Joint Conference on Neural Networks (IJCNN) and IEEE Conference on Fuzzy Logic (Fuzz-IEEE). WCCI 2012 will be held in Brisbane, Australia, June 10-15, 2012.

Friday, June 10, 2011

Conference paper deadline: CIBCB 2012

The deadline for papers submitted to the 2012 conference on Computational Intelligence in Bioinformatics and Computational Biology is November 20, 2011. This conference will be held in San Diego, California, May 9-12, 2012.

Tuesday, May 31, 2011

Social Internetworking

I've just put online a brief description (PDF) of how I connect this blog to other social media sites, including LinkedIn, Twitter, and ResearchGATE.

I describe it as "Social Internetworking" (not an original phrase) and it involves using various free aggregators and web services to export blog posts.

You can follow me on Twitter at https://twitter.com/#!/DrMikeWatts, where you will see updates to this blog as soon as they are posted. You can find a complete list of my social networking profiles on my personal web page, mike.watts.net.nz.

Saturday, May 28, 2011

Fuzzy Markup Language

Giovanni Acampora describes the Fuzzy Markup Language (FML) in a series of articles. FML is a XML-based method for describing fuzzy logic systems. Fields in the schema specify the fuzzy knowledge base, which consists of the fuzzy variables and their membership functions, and the fuzzy rule base. The schema also allows for the specification of the inference and defuzzification method to use, and the type of fuzzy system (Zadeh-Mamdani or Takagi-Sugeno-Kang). Finally, it supports distributed fuzzy rule systems, that is, the user can specify the IP address of machines on which parts of the fuzzy system should run.

The major advantage of using XML to describe a fuzzy system is interoperability. All that is needed to read an XML file is the appropriate schema for that file, and an XML parser. This makes it much easier to exchange fuzzy systems between software: for example, an application could extract fuzzy rules from a neural network (like the EFuNN and SECoS rule extraction algorithms that exist) which could then be read directly into a fuzzy inference engine or uploaded into a fuzzy controller. Also, with technologies like XSLT, it is possible to compile the FML into the programming language of your choice, ready for embedding into whatever application you please.

Although Acampora's motivation for developing FML seems to be to develop embedded fuzzy controllers for ambient intelligence applications, FML could be a real boon for developers of fuzzy rule extraction algorithms: from my own experience during my PhD, I know that having to design a file format and implement the appropriate parsers for rule extraction and fuzzy inference engines can be a real pain, taking as much time as implementing the rule extraction algorithm itself. I would much rather have used something like FML for my work.

Such standard, XML-based file formats would be useful for other areas of computational intelligence: a standard XML format for ANN, for example, would be fairly simple to implement and also very useful. I could imagine, for example, training a MLP, saving it in an XML-based format, then using XSLT to transform it to C++ and uploading it into an embedded controller. Conventional, static-architecture ANN like perceptrons, MLP, or SOM could easily be represented in XML.

I will be watching for further developments in this area of technology: I've had quite enough of designing my own file formats!

Tuesday, May 24, 2011

Evolving Connectionist Systems

An interesting family of neural networks is Evolving Connectionist Systems (ECoS). These were invented by Professor Nik Kasabov around 1998. ECoS are constructive networks, that is, they do not start with a fixed structure but instead grow (add neurons) as training data is presented to them. The advantages of this are:
  1. they are fast learning, as they learn the data as it presented, rather than iteratively
  2. they are hard to over-train, as new data is accommodated by adding new neurons to the network
This makes ECoS networks very well suited to so-called "online" learning, where a stream of data is incoming and must be modeled as it arrives. Neurons are added when the current training example is either novel to the network (it has not seen something similar) or the network is not able to accurately model it.

The first ECoS was the Evolving Fuzzy Neural Network EFuNN. Later ECoS include the Simple Evolving Connectionist System SECoS (which is really an EFuNN with the fuzzy logic elements removed) and the Evolving Clustering Method ECM. EFuNN and SECoS both have rule extraction algorithms associated with them, by which fuzzy rules can be extracted from a trained EFuNN or SECoS network. This makes ECoS very useful for data mining, especially in an online application area.

I wrote a review of ECoS technology a couple of years ago, in this paper. An online reprint is available here. I also maintain a website of resources on ECoS networks at: ecos.watts.net.nz.

Research on ECoS networks is continuing, especially at Prof. Kasabov's lab KEDRI. Nowadays, ECoS research is focused on spiking neuron models, that is, neurons that include a temporal aspect to their activation, much as biological neurons do.

Wednesday, May 18, 2011

Modelling distribution of jellyfish with ANN

A new paper first-authored by David Pontin, my ex-PhD student from Lincoln University. This describes how he used MLP to model to presence and absence of a species of stinging jellyfish (Physalia physalis) at New Zealand beaches.

There are a couple of interesting points about this paper. Firstly, because there have been no surveys of Physalia distribution, a surrogate data set was used. This data set was stings recorded by lifeguards of Surf Lifesaving New Zealand. Since lifeguards treat jellyfish stings, each incident has to be recorded, and Physalia is the only stinging organism in New Zealand waters, a fairly large data set was available as to the presence of these jellyfish. Predictions were made from oceanic variables such as wave height and direction, and wind speed and direction.

Secondly, the data was carefully cleaned: since stings of swimmers was used as the surrogate for Physalia presence, times when there were no swimmers at the beach were excluded from the data set. While this introduced a small missing-not-at-random bias, it also removed a large number of false absences: if an example was recorded as an absence, then it was because there were no stings recorded, not because there was no one in the water.

Thirdly, an analysis of the contributions of each input of the ANN was performed. This showed which of the oceanic variables contributed the most to the presence of Physalia. This analysis indicated that there may be a hitherto unknown spawning ground for this species in the Tasman Sea.

Finally, and this is in many ways the focus of the paper, the contribution analysis of the ANN was compared with the results of input contribution analysis by an evolutionary algorithm.

Overall, this is a nice little paper that neatly sums up David's work and contributes to the understanding of the behaviour of Physalia. This shows how useful computational intelligence is to ecological applications, an area where there is, in my opinion, enormous potential for computational intelligence researchers to make real, meaningful contributions.