My First Applet
The applet below is based (very loosely) on the Baltimore Catechism.
Its function is to determine a person's eternal destiny.
To use the applet:
- Enter a string using the letters 'B',
'C', 'D' and 'S'
which describes the relevant events in a person's life. 'B' indicates the
reception of Baptism, 'C' stands for "confesses", 'D' means "dies" and 'S'
indicates commission of a serious sin. (For example, suppose Sally is baptised,
then commits 3 serious sins, then confesses, then dies. The appropriate input
for Sally would be "BSSSCD".)
- Click the Start button.
- Repeatedly click the Step button until processing is completed (or an error is detected).
You can rerun the "machine" after clicking on the Reset button.
Discussion Questions:
- Does the order of the input symbols matter?
An input string is accepted if it is exhausted upon entering a final state
(HEAVEN or HELL); otherwise it is rejected.
- Can you think of examples of both accepted and rejected input strings?
- Can you describe the collection of all accepted input strings?
- Can you relate any collections of rejected input strings to the theology which underlies
the "machine" design?
- Can you model other theologies with this type of machine?
- What do you think might be meant by the phrase "this type of machine"?
The use of a deterministic finite acceptor (to be defined precisely later)
to model a complex system imposes some limitations on the sophistication of the model.
- Does our current example of a finite acceptor suggest any of these limitations to you?
Exercises
Does the DFA above accept the string "BSCSCSCSCSCSCSCSCSCSCD"?
(Did you need to count the number of S's or C's before drawing
your conclusion?)
Reconsider the discussion questions. If there are any which you do not
feel you could answer confidently, then find your instructor during
office hours and discuss those questions.
Are there finitely many or infinitely many input strings which lead to
HELL? What's the simplest argument you can think of which proves your
answer?