?

Log in

No account? Create an account
Why do I do this to myself? - Lindsey Kuper [entries|archive|friends|userinfo]
Lindsey Kuper

[ website | composition.al ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Why do I do this to myself? [Mar. 27th, 2010|06:16 pm]
Lindsey Kuper
[Tags|]

Just crossed off my to-do list: write abstract for Beer and Algorithms talk on Monday.

"Category theory: the least you need to know"

The purpose of category theory is to define the relationships between objects in a category of related objects. This worthy but extremely vague goal turns out to have applications all over CS, particularly in areas such as programming language design, concurrency, and information integration. We'll introduce a few basic concepts of category theory -- just enough so that when the person who sits next to you starts talking about functors and morphisms, you won't be entirely lost -- and discuss how category theory is being applied to solve real problems.

Next, to do by Monday: understand anything at all about category theory.

LinkReply

Comments:
[User Picture]From: sumes
2010-03-27 10:25 pm (UTC)
can you be my frend
(Reply) (Thread)
[User Picture]From: keystricken
2010-03-27 10:36 pm (UTC)
Hahahaha! I, Monica, do fully endorse and support this method. I think this is how I've given all (both?) my tech talks.
(Reply) (Thread)
[User Picture]From: lindseykuper
2010-03-28 03:17 am (UTC)
The only way to learn something is to teach it. There are two kinds of concepts: the kind I've never tried to explain to anyone, and the kind I understand.

This, alone, is a pretty damn powerful motivation for me to want to be a teacher.
(Reply) (Parent) (Thread)
[User Picture]From: pmb
2010-03-28 12:03 am (UTC)
Good luck. Category theory has only recently begun to make sense to me, and only after about the fifth round of explanations.
(Reply) (Thread)
From: (Anonymous)
2010-03-28 01:01 am (UTC)
> understand anything at all about

Well, I'm not sure exactly how long the talk is supposed to be, or the precise makeup of the audience, but from where I sit, a good "intro" CT talk for computer scientists would basically go through:
1 categories, objects and morphisms
2 functors (and relations between categories)
3 limits (very briefly), leading to...
4 initial and final objects, and co/products
5 likewise co/tensors
6 exponentials and the symmetric monoidal categories
7 cartesian closed categories
8 Curry-Howard-Lambek

You can start with some decent level of detail with items 1 and 2, possibly 4, then get broader, sketchier and higher-level as you work your way down the list, depending on time and how interested (or bewildered, as the case may be) the audience seems to be. If time and interest levels allow, item 6 gives you a good place to briefly demonstrate how you can prove properties (e.g.: unit properties, MacLane's pentagon) with commutative diagrams. If you have enough time (i.e.: more than 90 minutes), you can add an item 6.5 that looks at the Yoneda Lemma (referring back to item 2). If you have a LOT of time and interest, you can add another digression at 7.5 looking at the Chu construction, but I'm not convinced that would really be worth the effort.

The point being, though, that when you get to the end, you've actually culminated in a demonstration of something applicable to the audience that shows how computer scientists can "use" CT. If anyone's still awake. :-P


I've given such a talk in about 40 minutes before (admittedly, it was very high level, and I painted in extremely broad strokes from item 3 on down) -- I think that (as much as is possible with a Category Theory talk given to non-mathematicians) it went over pretty well. I've also given a longer 90-minute version, although the audience in that case had (at least) a basic familiarity with CT, and so items 1, 2 and 3 were done as a "quick review" that took less than 5 minutes combined.

In case you were looking for ideas. Uhh... which you probably weren't. Oh well. Ignore me, then. :-D
(Reply) (Thread)
(Deleted comment)
[User Picture]From: lindseykuper
2010-03-28 04:23 am (UTC)
Beer and Algorithms isn't a PL-heavy audience at all -- hence my eternal struggle with coming up with appropriate topics for talks. I can never come up with anything that really counts as "algorithms".
(Reply) (Parent) (Thread)
(Deleted comment)
(Deleted comment)
[User Picture]From: lindseykuper
2010-03-29 01:44 am (UTC)
Ooh. I could say something about deforestation.
(Reply) (Parent) (Thread)
(Deleted comment)
From: (Anonymous)
2010-03-28 06:20 am (UTC)
Well, sure -- as could many talks.

(How many times have you presented, for example, a year's worth (or more) of research in a one-hour talk to people not overly-familiar with the topic?)


It's all in the level of detail! :-)
(Reply) (Parent) (Thread)
[User Picture]From: lindseykuper
2010-03-29 01:47 pm (UTC)
Interestingly, Pierce's book covers most of 3-7 before ever bringing up functors. He also teases 8 right at the beginning!
(Reply) (Parent) (Thread)
(Deleted comment)
[User Picture]From: lindseykuper
2010-03-28 02:45 am (UTC)
It's at the Runcible Spoon on Monday night. Food at 6:30; talk at 7:30, or whenever people are done eating. The website is indeed outdated. Christine's been busy!

The talk is, in fact, going to be almost exactly a regurgitation of the first chapter of the Pierce book, which I'm really enjoying. You'll be bored out of your mind, though. You could come for dinner and take a nap during the talk.
(Reply) (Parent) (Thread)
From: (Anonymous)
2010-03-28 03:14 am (UTC)
One good way to give people an intuition for what a category is is to consider a couple of special cases that they might have seen before: preorders and monoids. A preorder is the degenerate case of a category where there are lots of objects but any two morphisms between two types are equal. A monoid is the degenerate case where there is only one object but lots of morphisms going around it. The fact that a preorder is a category suggests why categories will have something to do with logic (logical entailment is a preorder), and you can go from there to a "preorder with different proofs of the same entailment" being a good description of a programming language. Similarly, the fact that a monoid is a category suggests why categories have something to do with algebra. If I were givinga short talk on category theory, I'd do these two examples in depth and then sketch some other applications to CS in more general terms.
(Reply) (Parent) (Thread)
[User Picture]From: mindstalk
2010-03-28 05:45 am (UTC)
Yeah, I don't think the audience knows what preorders and monoids are, at least by those names. I sure don't.
(Reply) (Parent) (Thread)
[User Picture]From: pmb
2010-03-28 03:11 am (UTC)
Category theory goes "meta" faster than any other branch of mathematics I have yet studied. The category CAT is one of the most basic of categories and is used in bunches of examples. That makes it twisty and difficult. It's not intrinsically hard, but the meta nature of the subject means that any misunderstanding quickly spirals into total confusion. There isn't much to it, but what there is to it, a person needs to be totally clear on.
(Reply) (Parent) (Thread)
(Deleted comment)
[User Picture]From: pmb
2010-03-28 04:45 am (UTC)
:)

Yes. Faster than that.
(Reply) (Parent) (Thread)
[User Picture]From: mindstalk
2010-03-28 05:47 am (UTC)
I'll just recite the mantra I got from Doug "horsies and doggies" Hofstadter, and tried to implement in my talks:
examples, examples, examples

(Reply) (Thread)
[User Picture]From: mindstalk
2010-03-28 07:38 pm (UTC)
Also: what's the difference between a category and a set or group? I was looking at Easterbrook's tutorial, and it just left me with that question. A good group theory course will show you examples of a group, ring, field, so you have an idea of not just what it is but what it isn't. I was reading about morphisms and wondering "why isn't this a group?"
(Reply) (Parent) (Thread)
[User Picture]From: jes5199
2010-03-28 11:46 pm (UTC)
If you find even a single meme of category theory that is transmissible via English text, please convey it to me.

I do happen to know what a monoid is, though, not that I can see what that has to do with anything else.
(Reply) (Thread)
[User Picture]From: sumes
2010-04-01 02:09 am (UTC)
you are so cool
(Reply) (Thread)