7.7.07

of Vista and pot plants

Vista has proven remarkably adaptive to the Toshiba's hardware, which i still suspect was made for it. i don't like OS-specific hardware: to me it seems to be violating users' basic choice over OS, and it puts a hell of a strain on open-source users to either find compatible drivers, deal with the Rubik's cube of ndiswrapper and MadWifi installs under Linux (assuming those are even applicable, which they're sometimes not) or write their own (no, i'm not good enough to do that).

that, and other good points with dark sides, mean i can't write off Vista as the memory-hogging, shiny-fronted, dubious-underbellied OS it really is. for instance, i like the tree view in folders, i like my hardware working, i like Windows Sidebar (although Tomboy Notes for GNOME is better) and i love the wallpapers. Aero is beautiful, but slow as fuck on a limited system; i can just run it, but not for long, i think. and of course, it being Windows, all kinds of external security apps, additions and fixes become necessary. i'm still undecided, though; more later.

on, then, to today's cool thing: a simple way to get students started with propositional logic. this is the Pot Plant Problem.

you want your students to determine whether these two propositions are logically equivalent:

x: If it has rained and it's been cold, then the plant is dead.
y: If it has rained, then either it hasn't been cold or the plant is dead.

it's not a difficult one to solve:

let r: it has rained, c: it has been cold, d: the plant is dead.

x translates in FProp to:
(r /\ c) -> d
y translates to:
r -> (¬c \/ d)

truth table for x:

r c d r/\c (r/\c)->d
-----------------------------------------
T T T T T
T T F T F
T F T F T
T F F F T
F T T F T
F T F F T
F F T F T
F F F F T


truth table for y:

r ¬c d ¬c\/d r->(¬c\/d)
-----------------------------------------
T F T T T
T F F F F
T T T T T
T T F T T
F F T T T
F F F F T
F T T T T
F T F T T


the last rows are the same, so the two statements are equivalent; that is,
(r/\c)->d <=> r->(¬c\/d).

the reason this particular problem is useful is simple: it's "truthy", so to speak. most students will be able to "see" on some level that the two statements are logically equivalent; most will use a real-life workthrough of them to determine whether they're true, which is why meatspace analogies are so useful to (non-wired) students when teaching them something new. more on teaching the wired ones later.

(for those not sure what i'm talking about, wired refers to a person whose life is intimately connected with the world of machines and the Net, or sometimes a Net addict; meatspace is the opposite of cyberspace, and refers to the non-mechanical world.)

oh yeah - and Vista's native Mahjong is a fucking kickass timewaster.


Lepht

3 comments:

Lea said...

It's really great that you said any time you wanna stop, thank you for that. Instead of the discussion being intense and ongoing it could be sporadic and informative. If that works for you.

Yes, I see the mind as a physical thing that can be explained. And the soul as spirit; also the supreme spirit or "over-soul, of all bodies within one's personal universe.
Belief in soul? Personal experiences of a profound nature.

Won't divulge the teacher's name over the net. Perhaps the opportunity will arrive for that to happen but not now. And please know that I'm not playing a game with this issue, it's far to important to do that.
I'm not here to convince you either, you're choices are right for you.

Lepht said...

yeah, i only get properly aggressive when i'm debating someone who's equally aggressive. information is the key here; think of it more as a discussion than a debate, if it helps.

mhm. but what makes you think that spirit can't be a phenomenon explained by the physical mind? profound experiences, you know, are entirely explicable by current theory.

i guess that's fair. i wouldn't assume you were playing games - in fact you seem to take this deadly seriously - i'm just curious as to the source of your ideas. if that has to wait, so be it.

ah, they might not be - i am intensely aware that i might be wrong. if i am, discussions like this are how i'm going to find out.

L

Anonymous said...

Was always more comfortable with c/java/c# notation myself :) Both statements can be written as below, which means as far as the compiler is concerned, they're identical.

if(hasRained)
{
plant.IsAlive = !isCold;
}