Cluster Tools
Untangling a design problem maze.

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 IDL to implement this cluster analysis process.
Interaction Matrix Interaction Matrix Editor
zoomed out
Interaction Matrix zoomed in 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 Set Plots
Cluster Weights Plot 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,