Links to other topics
Story Problems Debugging
List of Story Problems Anglish Statements
List of Formulas used in Story Problems Anglish Features

Multi-dimensional Scopes

This page discusses a complex situation which requires multiple charts (Class IV problems). Multiple charts are used to create a form of three dimensional table. Consider:
Bill does a job in 5 hours. Together, Bill and Sue can do the job in 2 hours. How long would it take Sue to do the job alone?
and
Ben does a job in 5 days. Together, Ben and Marge do it in 3 days. How long would it take Marge to do the job alone?
If we apply Multiple Problem Data Parallelism we might produce a common table and program as below:
		-------------------------------
		|        | rate | time |effort|
		-------------------------------
		| Bill   |      |   5  |   1  |
		-------------------------------
		| Sue    |      |      |   1  |
		-------------------------------
		|Bill&Sue|      |   2  |   1  | 
		-------------------------------
		| Ben    |      |   5  |   1  |
		-------------------------------
		| Marge  |      |      |   1  |
		-------------------------------
		|Ben&Marg|      |   3  |   1  |
		-------------------------------
		For Bill, Bill&Sue, Ben and Ben&Marg:
			rate$ = effort$ / time$.
		Sue's rate = Sue's effort / Sue's time;
		Marge's rate = Marge's effort / Marge's time;
		For Sue and Marge:
			time$ = effort$ / rate$.
		END.
However, it is clear from the statements calculating Sue's and Marge's rate that additional parallelism exists. How can it be captured? A prime aspect of data parallelism is to organize the tables such that common formulas apply to facts aligned into rows and columns. This concept can be expanded by stacking the two problems behind one another to form a three dimensional table. A diagram of such an organization is sketched below exposing the top row labels. The column labels are common to all the tables.
                        --------------------------------
		      /  Ben       /                 / | 
		    ----------- ---------------------  |
		  /   Bill    | rate | time | effort| /|
		-------------------------------------  | 
		|first person |                     |  |
		---------------                        |
		|second person|                     |  |
		---------------                        |
		| combined    |                     | /
		------------------------------------- 
In this organization the plane label, "first person$" refers to Bill and Ben, "second person$" refers to Sue and Marge, and "Combined$" refers to Bill&Sue and Ben&Marg. Thus the sequential data parallel program is:
		For first person$ and combined$:
			rate$ = effort$ / time$.
		For second person$:
			rate$ = combined$ rate - first person$ rate;
			time$ = effort$ / rate$.
The program is very compact, but how do you enter three dimensional data? - A plane at a time! The first plane is the diagram of the tables to follow. It contains the same information as the sketch given above. The second plane is the table for the first problem. The third plane is the table for the second problem. The entire data and program then is:
		------------------------------------
		|  labels     | rate | time |effort|
		------------------------------------
		|first person |                    |
		---------------                    |
		|second person|                    |
		---------------                    |
		| combined    |                    |
		------------------------------------ 

		------------------------------------
		|  table1     | rate | time |effort|
		------------------------------------
		| Bill        |      |   5  |   1  |
		------------------------------------
		| Sue         |      |      |   1  |
		------------------------------------
		|Bill&Sue     |      |   2  |   1  |
		------------------------------------

		------------------------------------
		|  table2     | rate | time |effort|
		------------------------------------
		| Ben         |      |   5  |   1  |
		------------------------------------
		| Marge       |      |      |   1  |
		------------------------------------
		|Ben&Marg     |      |   3  |   1  |
		------------------------------------
		For first person$ and combined$:
			rate$ = effort$ / time$.
		For second person$:
			rate$ = combined$ rate - first person$ rate;
			time$ = effort$ / rate$.
		END.
This format requires that the diagram sketch must be labeled with keyword "labels" in the upper left hand corner. Labels on the other charts are optional. The diagram must be first, the other planes may follow in any order. There may be any number of them, but all planes must have the same two dimensional layout.