We
recommend that you follow the 9 readings of this Microworld in the order in
which they appear below, beginning with "Iteration and Recursion."
You
may read the 72-page collection of lectures either within the Microworld,
or as a Word 2000 document. To download the Lectures as Word Document, click
here, then extract the file to your disk.
Also,
to download the Laboratory Instructions as Word Document, click here,
then extract the file to your disk.
Those readings are:
Microworld:
Finite Sets: Counting, Recursion, and
Logic, Next Steps
Click the Hyperlink above to visit the Microworld in your Browser.
Author: James White
The
readings contain many problems and exercises that illustrate its themes. They
often cover some of the same ground as those of the first Microworld, but
they do it in more depth, and so will develop and test your understanding.
These readings will also give you the opportunity to experiment in the 8 Activity
Labs with the ideas they develop. They will direct you to those activities
where appropriate, and of course, you may visit those any time you like.
While
the first Microworld worked with finite sets from a universe of 46 animals,
in this Microworld we work with two types of sets: Finite sets of numbers,
and products of finite sets of numbers. We examine three ways to define sets.
The first is by recursive definition, the second is by propositions, and the
third is by algebra, that is, through the use of Boolean Operations, Products,
and the construction of images and preimages of functions and relations.
An
example of the construction of sets by recursion is the famous Fibonacci sequence.
Another example generates the nth level in Pascal's triangle, and so defines
the basis for a large number of combinatorial and counting arguments. Examples
of the second type are familiar from the "set builder notation." Thus "The
set of positive whole numbers less than 100 that are congruent to their squares
modulo 7" is an example. We have seen instances of the third type in the Set
Safari game. But now, we may define interesting functions and relations for
example that can help us formulate and solve problems in probability, game
theory, and even computational logic.
The
8 activities are designed to support your progress in working with discrete
models. These activities are:
For
each of these activities pages, you will find detailed instructions how to
use the page under the Instructions button on that page.
The
Recursion Lab allows you to construct sequences (ordered sets) of numbers
by means of recursion formulas, such as: a(1) = 1, and a(k) = a(k-1)*k which
defines the "factorial function," so important in combinatorics. We will discover
there a number of beautiful relations that have their simplest and most elegant
formulations as recursions.
The
Number Set Constructor is the place to build sets of numbers defined by propositions:
{ x in MySet | p(x) is true }
to build products of these sets, and to build subsets of products (e.g. relations) by propositions of the form:
{ v in MySet | ( p(v(1)) is true ) or ( q(v(2)) is true ) }
and so on.
You
may use any of the functions in the list below to build elaborate and decorative
sets: The sets you create in this lab are available for use on all of the
other pages of the Microworld. Each set will have a name. As you create new
sets, first in the Constructor, and later by command, using set operations
and relations, new sets will be named: Set1, Set2, ...
The
Relation/Function Lab is where you define relations, functions, and propositions
for use elsewhere in the Microworld. These relations may be composed, inverted,
applied to sets and used in other ways.
The
Graph Constructor is where you will build and study graphs for various purposes.
Each graph is conceptually a set of nodes N, together with a set of relations
Ri :N -> N. You may have no more than 20 nodes in a graph, and each node will
have a name which may contain no more than 25 characters. Graphs are constructed
in three steps:
Once
a graph is created, it may be saved to disk. It is referred to by whatever
name the system assigned to the set, and when the environment is restored,
the graph is retrieved by referring to that set. For example, you may create
a simple graph where the arrows of the relation represent kinship relations
(each relation shown automatically in a different color). Or you may create
more complex graphs such as the one in our "Fly-by-Night Airline" depicted
above.
The
relations of these graphs may of course be manipulated algebraically. But
they may also be the object of various kinds of "search" and of deductive
information retrieval." For example, we could ask for all the paths from Washington
D.C. to San Francisco that are under 3500 miles in length.
The
Path Finder Lab is where you experiment with path analysis on a directed graph
that we supply. You may do similar experiments on your own directed graphs
in the WorkShop.
The
Rule-Based System Lab uses a Prolog-style Automatic Problem Solver to enable
you to create sophisticated relational databases, and to formulate rules for
which the system will systematically search out all solutions to your queries.
This illustrates an important and powerful application of search. We explain
this search strategy in detail (backward chaining with recursive backtracking)
because it is the main engine of a large class of "Expert Systems." You will
in fact create your own Expert System and experiment with it here.
The
WorkShop is the place to experiment with the basic Boolean operations on sets:
Union, Intersection and Complementation. It is also the place to work with
the set builder notation to build rich and illustrative new sets. In this
environment, you may use the Show and Describe commands to show Sets, Relations,
the results of operations on sets, the results of algebraic operations (such
as composition and inversion) on relations or functions, the images and preimages
of relations between sets, the effects of permutations (as invertible functions)
and so on, interactively. You may also use the Build and Construct Commands
to create new sets and relations by any combination of the mentioned operations.
You may test sets so constructed for equality or for subsets.
We
also explore in the Workshop the application of programs that you write to
search directed graphs that you build. We look at the structure of elementary
groups, such as dihedral groups, the properties of ordering and equivalence
relations, and the notion of cardinality.
Finally,
a visit to the Fly-by-Night Airline will introduce you to the science of path
analysis using Prolog. It is an amusing discussion that will familiarize you
with all options that are available to you in the Rules Based Systems Lab,
and is an excellent preparation for your work there. There is a detailed discussion
of that environment there, and we won't repeat it here. Roughly speaking,
you attempt to plan routes between the hub cities of the airline, and the
system will then find all shorter routes (if any). You may also use the system
to help you with your planning by asking certain questions about routes.
Once
you download our free Mathwright32 Reader above, then simply click
Get This Microworld, and it will be downloaded to your machine and
installed in a directory there. You may find it whenever you want to view
it, by going to the Start, Programs, Mathwright32 Reader menu.
To
visit our Microworlds in your browser, it must be able to read ActiveX
controls. Microsoft Internet Explorer 4.0 Browser (or later)
is so equipped. You should check that the Security Settings under Tools,
Internet Options, Security for the Internet, Custom Level has:
Return to the listing of MathwrightWeb Microworlds
| - James E. White, Ph.D. , Library Director, | ||
| author of this website, Mathwright 2000, MindScapes, | ||
| MathwrightWeb, and Mathwright32 |
![]()
![]()
![]()
![]()
Mathwright Visualization Studio free demonstration Microworld:
Interactive
Web Course
Discrete
Mathematics and Computational Structures,
Part 2
Finite Sets: Counting, Recursion, and Logic, Next Steps
Requires
the Java MathwrightWeb ActiveX Control to read in your Browser.
For
proper viewing, be sure to use Version 2.10 or later,
dated May 12, 2003
Download free MathwrightWeb
to view Microworlds in your browser, then press
Library
members, download
the free Mathwright32 Reader, then
press
For proper viewing, be sure to use Version 2.10 or later, dated May 12, 2003