Sunday, February 25, 2007

Implementation Avoidance Syndrome

I like programming. I really do. I enjoy coming up with solutions to problems, whipping up algorithms, and devising methods of overcoming obstacles in a way that a computer can understand.

The problem is that I hate doing actual implementation work. I don't like actually...you know...turning abstract theory into real code that works and does something useful. *sigh*

We can build a finite automaton F2 with no ε transitions from a finite automaton F1 containing ε transitions as follows:
  1. The states of F2 are all the states of F1 that have an entering transition labeled by some symbol other than ε, plus the start state of F1, which is also the start state of F2.
  2. For each state in F1, determine which other states are reachable via ε transitions only. If a state of F1 can reach a final state in F1 via ε transitions, then the corresponding state is a final state in F2.
  3. For each pair of states i and j in F2, there is a transition from state i to state j on input x if there exists a state k that is reachable from state i via ε transitions in F1, and there is a transition in F1 from state k to state j on input x.
Yeah...I totally don't want to implement that - especially since my already-implemented infrastructure won't let me easily do some of those operations. *sigh* Maybe I need to go back and rewrite it from scratch?

Also, in other news: this can't be good, can it?

Update: Turns out the delayed write problem was due to a partial dismount of a USB drive, so I'm safe. I just shut it off and turned it back on to remount it and everything's fat, dumb, and happy like always.