Click on these thumbnail screenshots to see them full scale.
Design MatriX
utilizes
cluster analysis
to untangle complex design problems and
generate bottom-up design strategies, the technological core of
Structured Planning
and a tool for the evolution of
Pattern Languages.
Cluster Tools
is a set of tools written in the
Interactive Data Language
(IDL) to implement this cluster analysis process.
Interaction Matrix Editor
zoomed out
Interaction Matrix Editor
zoomed in
Interaction Matrix
The process involves constructing an
Interaction Matrix
whose rows and columns represent
design insights (otherwise variously called "misfit variables",
"requirements", "problem elements", or "design factors").
Cells in the matrix (or array) indicate which design insights interact
because the solutions they imply either support or
conflict with each other.
Typically
Design MatriX
produces a web page for each of these design insights for its clients,
and the clusters define sets of insights that should be pondered
together.
The cells may be binary (on or off), weighted with a factor of
certainty, or preprocessed to generate correlation coefficients
associated with each cell.
The interaction matrix may be imported from an ASCII database file,
generated interactively by means of a form (similar to a spreadsheet),
or generated interactively using a visual interaction matrix editor.
Users can zoom the visual interaction matrix editor in and out; when
zoomed in the cells are enlarged making it easy to click on a
cell.
When users click on a cell in the interaction matrix editor,
the cell changes color to
indicate whether the interaction is on or off, and since the matrix is
symmetrical along the diagonal the corresponding cell also changes
color. (If design insight 'x' interacts with 'y', it follows that 'y'
interacts with 'x'.)
Cluster
Users can at any time save the interaction matrix to a data file,
reload it or another one, and update it at will.
At any time users can select Cluster from the menu bar
or tool bar.
For any given matrix there is a maximum number of possible clusters,
which is the default number, but users can specify any number of
clusters up to that number.
In addition, users may specify the number of iterations used
to compute the cluster weights or "centers".
Generally, more iterations produce cluster sets with more
similar numbers of elements and connection ratios, the ratios
of existing links to possible links in a set.
Cluster Set Plots
Cluster Weights Plot
See also a simple
example
of Cluster Tools
using an interaction matrix of 21 elements.
Cluster Set Plots
After the matrix is clustered users can
select Plot Sets to plot diagrams of the
cluster sets, each one based on a polygon whose vertices represent
the design insights in the cluster.
The visual characteristics of these diagrams are user-configurable,
including the graphical layout, scale, line thickness and type
(solid, dotted, dashed, etc.), font, and colors for the
background, fonts and polygon lines.
Other Features
When the dimensions of the matrix excedes those of the
view port, scroll bars appear.
At all times the number row and column under
the mouse cursor are indicated in the status bar.
Three-dimensional plots of the interaction matrix, correlation
matrix and the cluster weights matrix.
Multiple windows allowing users to work with several
interaction matrices and/or different views (matrix editor,
set plots, stats, etc.) of the same matrix.
User options: Preferences, Color Table, toggling the tool bar
and status bar on and off.
Printing.
Matrix checks including ASCII tables and symmetry checks.
Cluster set statistics including element counts, averages
and means, and connection ration (density) averages and means.
An X Resources configuration file for UNIX, Solaris
and Linux X Windows implementations.
Future Enhancements
Enhancements to Cluster Tools under development include:
Methods to determine the largest possible cluster sets with
extremely high density (connection ratios), i.e. 80% or above,
the ideal for
Structured Planning applications.
Using the interaction matrix of
141 "misfit variables" from Appendix 1 of Christopher Alexander's
Notes on the Synthesis of Form
as a test case,
Cluster Tools produces extremely similar clusters
as those produced by his HIDECS program.
(In fact these matrix and set plot screenshots are from
this test case.)
However, the
cluster sets vary depending upon the number of iterations selected
to compute the cluster weights or "centers".
These tests demonstrate that the clustering algorithm is sound
but others may serve as well or better.
Methods to import arrays or tables of data to be clustered
from various types of databases (e.g., spreadsheet data).
Methods to display and navigate an
untangled rendition of the entire non-directed graph defined
by the matrix.
This implies a three-dimensional rendition of the graph and a VRML
navigation tool.
Such a rendition could have many applications where it is
desirable to visually navigate a network.
Methods to produce a hierarchical cluster analysis
("clusters of clusters") and to to display the hierarchy as
a tree diagram (dendogram).
Interested?
Cluster Tools can be adapted to your cluster analysis needs.
Specifically developed to support our own design projects,
Cluster Tools
is not available as an application product.
However, the underlying computer code
could be tailored to visualize cluster analyses of other types
of data which are expressed in arrays of variables and
observations or samples. In addition, these tools could be
tied into other analytic tools such as correlation analysis and
multivariate analysis.
Contact us for your other
IDL
software design needs too!
If this set of tools and the design processes they support
could help your organization untangle its
design problems,
or if you could use such tools in other cluster analysis
applications, call
Design MatriX
at (310) 455 3107 or