Even more annoying, I’d finally gotten around to scheduling a talk, and now that’s not happening either. I’ve thought pretty seriously about giving some sort of talk since I attended my first Minnebar in 2013, but the timing has always gotten in the way. Usually these things are in April, when the semester/school year is getting quite chaotic, and the best of intentions run up against the realities of the job, and the talk always losing.
This year, though, Minnebar is in the first week of June! So there was really no reason not to submit a talk, and I did. Several people had expressed interest on the website, and I was really looking forward to sharing some of the research work I’ve done with UMN Morris students over the years, meeting some new folks, etc., etc., etc.
My knee, however, had other thoughts.
And so when I would planning to be arriving in the Cities and checking into a hotel, I’m sitting here with my leg propped up babbling on the Internet. Sighz.
If there’s time maybe I’ll write up a short version of the talk here, and if folks would be interested in more we can go from there.
]]>It’s a true joy, and I’m really looking forward to being able to read the “finished” work. It’s a project oriented book, though, which means that to really learn from it we’re going to have to play along at home, programming, and experimenting, and analyzing. We’re all going to have to set aside some time for this when it does come out. But it’ll be worth it. And while the claim is that we’ll be learning about Generative Projects or Genetic Programming or whatever Bill decides to have GP stand for when he wraps this thing, we’re also going to learn a lot about software development and problem solving along the way, from someone who’s got a lot of great things to say on those important subjects. So we’d best buckle our seatbelts!
I do, however, have to take issue with a claim Bill makes in the introductory “About this book” section:
This is not a textbook. If your instructors try to use it as one, complain. If they argue, send them to me.
To be honest, it’s turning out a lot more like an anti-textbook. It will not improve your performance on tests. We’ll use “advanced” techniques before we discuss “basic” ones, ignore common practices to focus on more appropriate contingent solutions for specific problems, and may not even touch on techniques your instructors think you ought to know.
Remember, my goal is to support and extend your existing skills so you can productively explore further. Seek comprehensive knowledge and historical grounding in other books. They are full of it.
I can’t help but think he had me in mind when he wrote these lines, and I doubt he’ll be surprised to learn that I’m certainly seriously considering using it in my Evolutionary Computation and Artificial Intelligence course in the Spring. <snigger>
The issue, I suspect, is what one considers a “textbook” and what the point of such a thing is. Traditionally textbooks are big, fat things that provide a “coherent” overview of “everything you need to know about subject X”. I’ve got a bunch of these on my shelves with nice overviews of things like calculus and physics and chemistry. Old things, with a clear sense of what matters and what order it should be presented in.
In teaching computer science, however, things are typically much less clear. What’s “vital” in our field? What’s the “natural” or most pedagogically sensible order to present that material? There are lots of ideas out there, but hardly consensus. And that’s on the introductory material; my upper division electives usually focus on material where there’s even less agreement.
Starting in the late 90’s I started moving away from “traditional” textbooks when I could. I found that the most important part of most of my courses was process rather then content. Most computing textbooks I’ve seen are, unfortunately, much stronger on content than process. There are piles of books full of catalogues of algorithms, but they’re mostly presented like magic tricks, things Very Smart People dreamt up in some strange opium vision, inaccessible to the rest of us. The challenge in my experience is coming up with these visions, the process and the problem solving. So a book like Fowler’s wondrous Refactoring is far more educational in the long run, giving us skills for life instead of a box full of baubles.
The contrast between process and content has been made far more pronounced by the web and its many tools and collections. Young folks (and even this old guy) almost never reach for a book when they want to look something up; that’s what Google is for. The reference value of big encyclopedias of “facts” is greatly diminished when we can so easily find things on-line, but a well-written description of an important process is still a treasure.
Which brings us back to Bill’s book.
He claims it’s not a textbook because he doesn’t plan to cover “every” technique or concept or approach. He’s going to doing things in the “wrong” order. Foolishly, he’s not going to help improve our performance on tests, choosing to instead helping us develop skills that will help us for years to come.
Silly, silly man.
So, yeah, I do want to use Bill’s book in my class, and my students are more than welcome to complain to me or take it up with Bill. I doubt, however, that they will. The writing is opinionated and ornery and humble in all the right ways, and the emphasis on projects and problem solving are the sort of thing our students just eat up. I’m guessing that they’d happily line up behind something like this vs. a more traditional text.
As will I.
P.S. You should check out the book’s LeanPub site (https://leanpub.com/pragmaticGP) and sign up for notification. It’s a great way for people to help delude Bill into thinking that he’s not actually wasting his time.
Or something like that.
]]>
A momentary interruption in the (slow) posting on the road trip (which has been done for nearly two weeks now!) to provide a time sensitive plug for those of you interested in genetic programming, evolutionary computation, and the like.
The Springer journal Genetic Programming and Evolvable Machines is celebrating its first 10 years with a special anniversary issue of articles reviewing the state of the field and considering some of its possible futures. For the month of July (which ends in two days!) the entire issue is available for free download.
Included in the issue are:
Once the month ends these will all start costing money again with two exceptions: the article on human-competitive results and the survey of 10 years of reviews will remain free in perpetuity.
In the spirit of full disclosure, I’m on the editorial board of the journal and contributed to one of the articles. Still, it’s a cool resource marking an interesting time in the development of the field, so take advantage of it while you can!
]]>We then spent most of the day hanging around Portland together, including a visit to the mighty and wonderful Powell’s City of Books (one of the last, great independent book stores) and checking in at GECCO to get my registration stuff. Tom totally loved Powell’s (“I could get lost in here!”), and has in fact spent large amounts of my money and his time there this week while I was at the conference. We also went out and saw Toy Story 3 that night, which turned out to be every bit as good as everyone’s said it is – lots of fun and very well written.
Day 8 was our last college visit in this part of the world, as we headed up to Olympia, Washington (2 hours north of Portland) to visit Evergreen State College. This was a real eye opener for both of us. I knew Evergreen was cool (and another of the small number of public liberal arts colleges in the U.S.), but didn’t know a lot of the details, and I think we both found the unusual curriculum and environment really interesting and thought provoking.
I had arranged beforehand to meet some of the computing faculty at Evergreen so we could learn a little more about their program as part of a program review we’re doing at Morris, so after the information session and tour we met up with Sherri Shulman and then headed over to meet her husband and fellow CS faculty, Neal Nelson. When Neal walked in, there was this very weird moment where we both those we knew each other but weren’t sure why. Duh, duh, and double duh – Neal was my undergraduate thesis advisor at Reed! I’d lost track of him when he left Reed in 1988, and I somehow thought he’d gone into industry so I wasn’t even looking to find him anywhere in our travels. Given all that and the the fact that his name doesn’t particularly stand out (and that I’m really crap with names), I totally didn’t consider the possibility that I knew this Neal guy we were going to see. After recovering from that somewhat awkward start, Sherri, Neal, and I had a really excellent conversation that ran a couple of hours easy. Lots of catching up on old times, as well as discussing undergraduate computing curriculum with limited resources in a public school – many thanks to both of them for all their time!
After returning to Portland, we went to Papa Haydn’s, possibly the best source of wonderfully scrumptious and rich desserts that I know of in the U.S. I had a wonderful Autumn Meringue and it was just like being a college student again (without the metabolism of a 20 year old). We used to walk out to Papa Haydn’s from Reed (maybe a 30 minute walk) several times a year and indulge, and was so cool to go back and find that it really hadn’t changed much in all those years.
That night was the opening reception at GECCO, so Tom and I hung around for a few hours eating little snacky things and chatting with various folks. Tom had never met most of my EC friends and colleagues, and he was very cool at meeting a bunch of strangers that are, even worse, all science nerds to a very high degree. Luckily it’s a really cool group of people, and I think he actually enjoyed himself.
By Day 9 I’d actually skipped out on the bulk of the first two days at GECCO, so at this point I essentially abandoned my son to the wilds of downtown Portland and started pretending to be a scientist for a bit. He spent most of his time hanging at Powell’s and reading books, while I listened to people talk about their cool evolutionary computation research.
That night I did actually skip out on the last session, though, and went back to Reed to join a bunch of faculty that have a regular Friday beer and food gathering at Woodstock Wine and Deli up the hill from campus. Jim had invited me to join them, and it was a great chance to meet some people I knew that I’d missed before (like Ray Mayer) and a bunch of other faculty that are new to the college since I was a student there in the dim past.
I wasn’t the only one meeting up with old friends, as Tom met up with Perry Webster from Morris (currently attending the University of Portland) and hung with her and a family friend pretty much the whole evening, which was a neat chance for him to spend a little time with people more his age :-).
Day 10 was much the same, although I stayed at the conference pretty late because the poster session and associated reception was that evening.
Day 11 (today) was the end of the conference, including eating lunch in the hotel sports bar with a bunch of very enthusiastic Europeans watching the World Cup final! Eli Mayfield (UMM ’09, now a grad student at Carnegie Mellon studying natural language processing) gave a talk today, and did a really excellent job. Tom and I went out to Jake’s Famous Crawfish with Eli and Bill Tozier. Jake’s was a great seafood house back in the day, and they didn’t disappoint, providing us with excellent food to go with the fine conversation. That was a great way to end our time in Portland!
Now we’re off to bed, and tomorrow we drive south to Tule Lake and Lava Beds National Monument. With a little luck we may hook up with Wayne Manselle in Eugen on the way!
]]>
The May, 2010, issue of the Communications of the ACM (CACM – the flagship magazine of the ACM) features a photograph of UMM CSci alum Tyler Hutchison presenting research work done with Andy Korth and Nic McPhee at MICS 2007. The article is “Student and Faculty Attitudes and Beliefs About Computer Science”. Andy and Tyler won the best student paper award at that year’s MICS for their paper “On the impact of geography and local mating in evolutionary computation”. The photo (taken by me during Tyler and Andy’s joint MICS presentation) features some of Tyler’s artwork illustrating the material.
The graphics folks at CACM found my photo on Flickr, and contacted me via Flickr offering to pay me a small fee if I’d be willing to let them use it. I happily said "Yes", and the rest is history.
As well as being a cool computer-science-type, Tyler is also a cool comic-art-type, and did the nifty drawings for the cover of our book "A field guide to genetic programming".
Happy, happy, happy.
But I’m easily amused :-).
In fairness, this could well be the one and only time I ever get published in CACM. I’m not all that likely to submit an article to them (in part because I don’t tend to write things they might want), so this could easily be the pinnacle of my career in terms of the number of people in my field seeing my work.
Weird.
But cool.
]]>
For those unfamiliar with MSP, the vast majority of flights use the Lindbergh terminal, and I suspect many people pass through MSP with nary a clue that the Humphrey terminal exists. I think I’ve only flown through HHH once before, on a Sun Country flight to a conference several years ago, and I’d pretty much forgotten what it was like over here.
I knew I’d have a couple of hours to kill at the airport between the arrival of my shuttle from Morris and my departure, and I figured I’d grab some lunch and try to continue revising our GECCO talks. This, however, failed to take into account my departure from the Humphrey terminal instead of Lindbergh. The Lindbergh terminal is a nice airport, with lots of restaurants (some of which are pretty decent) and even a passable book store or two. HHH is a small terminal (10 gates) servicing a ragtag group of low cost and limited traffic airlines.
It’s like a ghost town, but with airplanes.
There was almost no one here when I arrived. Only one of the dozen or so AirTran desks was open, there were no customers in sight, and I was able to just walk right up. Security also only had one queue open, but there were only four or five of us going through at the time, so it was again “Step right up and off you go”. The waiting areas were almost completely empty when I got here, and now (probably 30-40 minutes away from boarding) have a smattering of folks.
All this is most definitely to the good, especially when compared to some of the chaotic and stressful check-ins and security checks we’ve had in some of our recent flights.
The downside is that there are pretty much zip in the way of services or staff. There are a whopping two coffee/sandwich shops in the whole terminal, one on either side of security, and one bar/restaurant. After that we’re down to a magazine rack and a few vending machines. And the coffee shop inside of security didn’t have anyone at the till when I first came through.
Arguably less good, and certainly weird. No one’s going to mistake it for Heathrow or O’Hare, I promise you.
The real bummer, of course, is that there’s no free wifi here (or at the Lindbergh terminal). $4.95 for an hour, or $7.95 for the day.
Wonderful. Almost as wonderful as the fine $3 sandwich that cost me $7 for when the coffee shop finally opened up.
I’m looking forward to not flying for quite a while (perhaps as much as a year!) after I return from this trip. It’s nice being other places, but getting there isn’t always loads of fun, and it tends to suck environmentally.
1 GECCO = Genetic and Evolutionary Computation Conference, one of the two or three big international “mega” conferences in evolutionary computation. To be honest GECCO is much bigger and more circus-like than would be my preference. I’m much happier at smaller gigs like EuroGP, but that’s during the school year, and at an awkward time, and a lot more expensive to get to, so I’ve attended a lot more GECCOs than EuroGPs :-(.
]]>
We won!
That a paper co-authored with two undergraduates from a small, public, undergraduate liberal arts institution like the University of Minnesota, Morris, could win an award like this at an international science conference is just too damn cool. Well done to both Brian and Tyler!
In the hectic melee of the conference, most folks don’t have time to do anything more than skim the nominated papers, and usually not even that. This makes the talks a crucial part of an award like this, as much of the voting is based on them. Tyler (pictured above at Castel dell’Ovo in Naples) was a huge help in that regard. He flew over to the UK several days early so we could work on our talk, giving us the time we needed to revise and practice. He also produced a super cool little six page comic with a nifty introduction to our work that the audience could follow along with. We did a joint presentation, each covering about half the paper. Our talk was well received, and Tyler’s comic was incredibly (and deservedly) popular, and there’s no doubt that his participation was a huge help.
(And all this is on top of Brian and Tyler’s hard work and contributions on the paper itself. Obviously without that content we never would have had the paper accepted or nominated in the first place. So they both deserve huge kudos for that as well.)
Friday morning our paper was voted Best Paper by the conference attendees, and we were presented with a certificate, a box of Italian lemon cookies, and a box of Irish chocolates. All the Best Paper winners from the various EvoStar conferences and workshops also got to choose a free book from the Springer table. Tyler got a really cool book enitled Leonardo’s Lost Robots, and I got The forgotten revolution: How science was born in 300 BC and why it had to be reborn. (It was all terribly liberal arts of us – pretty much everyone else took evolutionary computation/artificial intelligence books of one form or another.)
Tyler upheld a fine tradition of our students making UMM look really good at conferences like this. From his deportment and grasp of the material, most people assumed he was a graduate student, despite the fact that the looks like he’s about 16 :-). He’s currently doing contract work as a web developer and designer, but is seriously interested in going to graduate school in the near future, and he definitely impressed the folks at the conference. I’ve been really lucky to work (and co-publish) with a string of great UMM students, and am looking forward to continue that with a very sharp student named Sara Lahr when we get back.
The trick for me (sometimes) is remembering just how good our students can be. The room we spoke in was this grand space of inlaid wood and marble that was quite a surprise in several ways. This was made worse by the fact that we were in the first session, so we had very little time to adjust and adapt. I was worried about running long (we had a lot of material to cover), and started to lose my nerve about having Tyler wandering around the room at the beginning handing out the comic. Tyler was really calm and collected about it, though, talked me down, and everything did in fact go really smoothly. The moral? Handouts are Good, really cool comics handous are Even Better, and I need to remember to listen to my students :-).
Thanks a ton to Brian and Tyler and all the people and offices at UMM that supported our work, and everyone who voted for our paper at EuroGP! Special thanks also to Riccardo Poli for hosting me on this sabbatical at the University of Essex. I’ve gotten a ton of cool work done here with Riccardo, including “A linear estimation of distribution GP system” at EuroGP, which was also nominated for Best Paper (and which I suspect was also strongly in the running).
I’ve dumped all the photos Tyler and I took in Naples onto my events account on Flickr. I’ll try to clean up a few to post to my main Flickr account in the next week or so.
]]>
I’ve been sitting on this for a while I waited for EuroGP to get their web site updated; they have, freeing me up to do a little unabashed chest-thumping, leavened with some praise for UMM‘s excellent students.
A few weeks from now the Eleventh European conference on Genetic Programming (EuroGP) will happen in Naples Italy. The only other time I’ve been to EuroGP was in 2001 when we were here on sabbatical the first time. I really love the conference, and it’s small and intimate and tends to have a really high signal-to-noise ratio. Unfortunately, it’s also an expensive flight from Minnesota for a three day event, and the timing tends to be really awkward in my teaching schedule, so I’ve never made it back. One of my many fond memories of that conference was winning the best paper award with Riccardo Poli for a pair of papers we’d written together as part of that sabbatical visit.
(Oddly, both times I’ve attended have happened to be the only two times it’s been in Italy. The little photo is from the 2001 event at Lake Como.)
The best paper nominations for this year’s event have been released, and I’m quite excited that both of the papers that I submitted this year are on the list. One is another join project with Riccardo, and the other is a paper with two UMM undergrads: Brian Ohs and Tyler Hutchison.
That’s Tyler in the photo up top, presenting some work he did with Andy Korth and I that won the best student paper award at MICS a year ago; Tyler also did the cover illustration for the forthcoming book Riccardo, Bill Langdon, and I are just wrapping up. In a big happy, Tyler was able to pull together the funds to fly out for the conference, so we’ll be able to do a joint presentation enlivened by his presence and cool drawings. Unfortunately Brian can’t make it, but it’s cool that Tyler can; this will be the first of my students co-authors that’s made it to a European conference with me.
The competition is gonna be tough for the best paper award, including a very nice paper by one of Riccardo’s students (Stephen Dignum). Fingers crossed!
The full program is also now on-line (as a PDF) — it looks like some cool material. I’m quite looking forward to the conference, although I must say I’m a bit nervous about the ongoing trash crisis in Naples (here and there).
]]>
Sometimes you’re just minding your own business, trying to get a little science done, and a little art pops out at you all unexpected.
What?!? You want to know where this comes from? All is revealed beneath the fold…
The dotted line is, not surprisingly, the sine function plotted from about -10 to +15. The dashed line is a crazy rational function evolved using genetic programming. The bold line shows where the test data came from that was used to evaluate the quality of the evolved solutions, and it’s clear that in that range the evolved function matches very closely.
It’s also clear that outside of that range (which was never part of the evolutionary training), the evolved function rapidly wanders off into its own happy place (including a nifty discontinuity at around x=10). This is in fact to be expected. The GP system was only allowed to use +, *, -, and /, i.e., all it could construct were rational functions. There are no rational functions that match sine across its entire range, so this is really about as good as we could do given those tools. If we’d given the GP system a periodic function (like cosine) in its toolkit, then it could potentially evolve something that would match sine everywhere. With rational functions, though, it just ain’t gonna happen.
But this graph looks a lot cooler than it would if they matched everywhere :-).
Oh?
The function that it actually evolved?
You sure you want to see that?
Well, OK…
where
I never promised it would make a lot of sense, did I? Evolution often doesn’t produce pretty. So much for intelligent design…
]]>
It’s pretty cool when you update your repository and see
At revision 400
We just hit that on the genetic programming book that Riccardo and Bill and I are working on; we’re currently averaging close to 10 commits a day here in the final stages. We hope to wrap it up in the next 1.5 weeks and then off to the printers for fun (and no profit in the traditional sense)!
P.S. Anyone want to proof read a few pages? Get in touch and we can work something out.
]]>