I couldnt resist trying my hand at fuzzy logic.
Put some code in yesterday, tested the oven in a dozen configurations today.
The principle looks easy enough and is easy enough to implement, but getting the
configuration right is not much easier than PID...
I started with 5 input ranges for temp error (negative, zero, small, medium, large) and 5 output ranges (off, low, medium, high, max),
then defined rules linking every range to an output setting. The ranges overlap and fuzzy logic interpolates between them.
What I found is that this gives very stable control, but it just doesnt work well for an oven off this type.. if you slow it down too soon,
it never hits your setpoint.
So I opted to return to 3 input ranges (negative, zero, large) and 2 output settings (off, and max).
This gets me up to the setpoint in the absolutely fastest way available, but it doesn't quite reach it and oscillates too much for my taste.
[Edit: it looks suspiciously close to simple on-off control to be honest)]
I will try applying low power at the zero error range, add an intermediate range with high or medium power and see if that will smooth things out.
Anyway, I promised pictures, so here's a two step response of the oven with the fuzzy logic controller with my rudimentary configuration:

-@Full power it takes about 2 minute to come up to 180 degrees. When the filtered temp actually hits 180 it waits 30 secs and bumps the setpoint to 220 C.
-The 20 degree climb from 180 to 220 takes about 40 seconds.
Optimal soak to reflow time would be 30 seconds.. so I'll be applying some foil to the inside of most of the lid as well to see if I can get the oven performance perfect.