Sumerian Counting Boards, multiplication operation placement strategy, and eTCL demo example, numerical analysis edit
This page is under development. Comments are welcome, but please load any comments in the comments section at the bottom of the page. Please include your wiki MONIKER in your comment with the same courtesy that I will give you. Its very hard to reply intelligibly without some background of the correspondent. Thanks,gold
gold Here is some eTCL starter code for a Sumerian counting board. For the display of a Sumerian counting board, some old chess displays were transformed.If a token or coin is dropped on a square, then total of the coins on the square or within certain range of the dropped coin is tallied. The columns were thought to represent powers of 60 and the addition operations were down the columns. There were several types of Sumerian counting boards and not limited to three columns. For three columns, the highest number was expr(59*60+5*10+9). A multiplication feature might have to group coins on square a and multiply times the group on square b. The Sumerian counted in base60, so each token or column should have a base60 value of 3600,60,10,1,plus possible fractions 1/60, 1/3600. In proto-cuneiform math, some tokens represented lamb, goat, or ox. The tokens are kept in a storage box and may be thrown away in a separate trash area. 2 "memory storage areas" have been considered, maybe group and grab to staging areas. Ref DeSegnac paper.As a debug, a console window is opened and the various token motions and operations are posted to the console (for cut and paste to text editor). Info should have token name, numeric value, random object tag, and screen position. Additional info could include values and tallies of neighboring chips. As understood here, multiplication operations are the side panels operating on the center panel, which may include reciprocals of previous calculations. Using double-click to calculate value of tokens on squares and output same on opened console window. not sure how to initiate operations on screen but automatic operations per square*square on double-click seem possible.The token symbol and token background are created with canvas text, then the tokens are retagged both with rand number tag and token worth tag to move jointly. With the logic on color (gold color), I trying to drop the worth_token ( value eg, 3600,60,1,1/60) on the background token. I only want to count value tokens, otherwise get twice the value. The logic on the fill color is sticking or evaled as zero.
Token Replica project at the ceramics studio
White clay product is easily worked in small hand sized lumps. As might be expected, the moist clay dries pretty fast. Handy to dip lump in water before molding. Flat lump with palms and used half inch pipe as cookie cutter. Teacher fired small quarter sized discs at cone 5 bisque ( my project of Sumerian counting token replicas). Clay tokens were piled inside a pottery bowl for firing ( procedure for unknown clays to protect kiln shelf, and no need to stack unfired tokens on pins). Tokens turned pure white in firing and appear consistent without inside specks.
Concepts for Tokens
The earliest counting tokens were about 10000 BP. The heyday of counting tokens was about 5500 years BP, ref. Schmandt-Besserat. While the tokens preceded the development of writing, there are several Sumerian expressions or figures of speech that appear related to tokens. The historians do not consider counting with tokens to be an unbroken tradition in Sumer over the various eras or are careful not to make the assertion without proof. Sumerian kab...dug4: (literally 'string' ? + subject + 'to do'): Counting heads on a string to represent counting people. Counting taxes on a string to represent taxes in accounting. Sumerian gu-dili(-a)...è: 'string {heads} (rare) for expression for counting people. The Akkadian word for token was abnatu or abnati (pl) from Sumerian for stone (na). A related Sumerian concept was the ki-la (literally earth lift) for the stone weights used in commerce. The Sumerian words for counting board was ges uttaku (wood ten token touch } or tub uttaku (cloth ten token touch ). The word uttaku appears to be a complex word (noun-verb) phrase, not a simple noun. It is possible that a ceramic counting board, possibly imturuna, was available, but the analysis is still searching the texts. The Sumerian word for bag of tokens was kus dug gan (Akkadian = tukkuunu). In some excavations, the tokens were held in small bowls. Also, some of the alternate and early pictographs for sanga (scribe) had cross hatched fields, which way indicate cloth boards, as different from wooden boards. Materials used in the tokens were raw clay, fired clay, bitumen and limestone powder composite, and carved stone. Conjecture is that Sumerians used clay tokens in accounting, including record keeping of taxes received or due at the Uruk temples.
# using pseudocode
# possible problem instances,
initialize algorithm_result = 1.
assign value or storage array to various tokens.
about 150 known tokens from various eras, loaded 5 or 6
tally worth of picked tokens from storage box area.
herd number of cows = N cow tokens
herd number of bulls = N bull tokens
assign unique random tag to move items on canvas
within square, add adjacent tokens from assigned values
from squares above, add tally.
from squares above, subtract square_a minus square_b for tally
store to third square?
from square a and square b on adjacent sides, multiply contents
put in square c in center
how to reciprocate a stack of positive chips?
are negative chips possible on counting board?
# answer, yes on China stick numbers.
save? tally to memory to one of 2 storage areas
drag unwanted tokens to waste basket,
but waste basket sticking and need extra brain power (from wiki ask?).
check algorithm
check_sum = a+b+c+d+e
set answers and printout with resulting values
pseudocode: need test cases > small,medium, giant
pseudocode: need testcases within range of expected operation.
pseudocode: are there any cases too small or large to be solved?
Testcases Section
In planning any software, it is advisable to gather a number of testcases to check the results of the program.
Testcase 1
table 1
printed in
tcl wiki format
quantity
value
comment, if any
worth=
3600.
tag = lamb
tally_total=
3600.0
worth=
60.
tag = jar_oil
tally_total=
3660.0
worth=
10.
tag = goat
tally_total=
3670.0
worth=
1.
tag = ingot
tally_total=
3671.0
worth=
.01666
tag = garment
tally_total=
3671.016659
worth=
.0002777
tag = cow_bull
tally_total=
3671.016937
Testcase 2
table 2
printed in
tcl wiki format
quantity
value
comment, if any
worth=
.0002777
tag = cow_bull
tally_total=
0.0002776
worth=
.01666
tag = garment
tally_total=
0.0169377
worth=
1.
tag = ingot
tally_total=
1.016937
worth=
10.
tag = goat
tally_total=
11.0169377
worth=
60.
tag = jar_oil
tally_total=
71.0169377
worth=
3600.
tag = lamb
tally_total=
3671.0169
worth=
3600.
tag = lamb
tally_total=
7271.0169
worth=
60.
tag = jar_oil
tally_total=
7331.01693
worth=
10.
tag = goat
tally_total=
7341.0169
worth=
1.
tag = ingot
tally_total=
7342.0169377
worth=
.01666
tag = garment
tally_total=
7342.03359
worth=
.0002777
tag = cow_bull
tally_total=
7342.0338
Testcase 3
table 3
printed in
tcl wiki format
quantity
value
comment, if any
worth=
.01666
tag = garment
tally_total=
0.01666
worth=
1.
tag = ingot
tally_total=
1.016659
worth=
1.
tag = ingot
tally_total=
2.016659
worth=
10.
tag = goat
tally_total=
12.01666
worth=
60.
tag = jar_oil
tally_total=
72.01666
worth=
10.
tag = goat
tally_total=
82.01666
worth=
60.
tag = jar_oil
tally_total=
142.01666
Testcase 4
Product of selected doubleclick point and nearest point should be associative. Here p1*p2 = 12960000 and p2*p1 = 12960000, recorded in output from console window. Terms in canvas tags for value_ regular expressions seem to be working.
&|worth= |3600. | tag = lamb | tally_total= |3600.0|&
&|worth= |3600. | tag = lamb | tally_total= |7200.0|&
selected double click point mv xdat_81 ydat_205 obj_98569283 # value_3600. current
nearest entity 33 mv xdat_81 ydat_205 obj_98569283 # value_3600. current
product of adjacent tokens 3600 X 3600 12960000
1
mv xdat_169 ydat_199 obj_674367737 # value_3600. current
674367737
with tag 30 31
x y 176.0 204.0
selected double click point mv xdat_169 ydat_199 obj_674367737 # value_3600. current
nearest entity 31 mv xdat_169 ydat_199 obj_674367737 # value_3600. current
product of adjacent tokens 3600 X 3600 12960000
Screenshots Section
figure 1. trial counting board
figure 2.trial counting board 2
figure 3.trial counting board (2*2=4)
figure 4. Sumerian counting token replicas
figure 5. red counting token replicas
References:
Possible old Babylonian computing paths some minor observations
D. A. R. DeSegnac, 10Mar2017, shows possible counting boards