We Knit Hats LLC | John Brown | Anna Green | … | | | |
Corpbiz INC | Susie Brown | Betty Green | … | | | |
Arbor High School | James Brown | Astra Green | … | | | |
| 1234 S. Main St. | 800 Arbor Rd. Unit 4 | … | | | |
“work/school”
“home”
basic idea:
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
“work/school”
“home”
(get sample pathogen from member tiles to “place” tile)
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
“work/school”
“home”
2. broadcast phase�(get sample pathogen(s) from “place” tiles out to member tiles)
| Megacorp Inc | | Candice Brown | | | | |
(Ralph’s Butcher Shop) | (Ralph Butcher Jr.) | Sandwich Shop | Judy Brown | (Ralph Butcher) | Alastair Blue | Howie Hubert | |
| | | | (Frankie Butcher) | | | |
Arbor High | | | Suzie Brown | (200 N. Main) | | | |
| | | | | | 100 Arborview | |
| | | 1234 S. Main St | | 400 Arborview | | |
~20 “colors” to play with (maybe up to 25) — problem: how to lay out????
| Megacorp Inc | | Candice Brown | | | | |
(Ralph’s Butcher Shop) | (Ralph Butcher Jr.) | Sandwich Shop | Judy Brown | (Ralph Butcher) | Alastair Blue | Howie Hubert | |
| | | | (Frankie Butcher) | | | |
Arbor High | | | Suzie Brown | (200 N. Main) | | | |
| | | | | | 100 Arborview | |
| | | 1234 S. Main St | | 400 Arborview | | |
~20 “colors” to play with (maybe up to 25) — how to lay out????
“pass thru”
Ralph Butcher
| Megacorp Inc | | Candice Brown | | | | |
(Ralph’s Butcher Shop) | (Ralph Butcher Jr.) | Sandwich Shop | Judy Brown | (Ralph Butcher) | Alastair Blue | Howie Hubert | |
| | | | (Frankie Butcher) | | | |
Arbor High | | | Suzie Brown | (200 N. Main) | | | |
| | | | | | 100 Arborview | |
| | | 1234 S. Main St | | 400 Arborview | | |
elaboration: maybe add something like “chance encounters”?
Problems
Layout Problem Specifications
993 | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
0 | | | | | | | 749 |
X direction
Y
direction
WSE Geometry
(745,500 “tiles”)
Validation Criteria Details
Suggested Output Format
residence table
tile_x | tile_y | color | tile_type | place_id |
[0-749] | [0-993] | [0-19] | [person,place] | uint |
institution table
tile_x | tile_y | color | tile_type | place_id |
[0-749] | [0-993] | [0-19] | [person,place] | uint |
“combined” table
tile_x | tile_y | color | tile_type | place_id | place_type |
[0-749] | [0-993] | [0-19] | [person,place] | uint | [institution,residence] |
each entry is:
each entry is:
each entry is:
Suggested Validation Format
Should be created from output-format table (entries from that table plus new “bypass” entries)
tile_x | tile_y | color | tile_type | place_id | place_type |
[0-749] | [0-993] | [0-19] | [person,place,bypass] | uint | [institution,residence] |
Every tile in every streak should have one entry in this table.
Example validation rules (more may be needed in addition to these):
Suggested Work Plan (overview)
Detailed Work Plan (Stage 1)
🏬 | | 🏬 |
👤 | 🏬 | 👤 |
👤 | ⏩ | 👤 |
| 👤 | 👤 |
Color 0
| 🏠 | ⏩ |
| | |
| | |
🏠 | 👤 | 👤 |
Color 1
…
🏬 | 🏠 | 🏬 |
👤 | 🏬 | 👤 |
👤 | 👤 | 👤 |
🏠 | 👤 | 👤 |
Tile type
(don’t include bypass ⏩)
suggested visualizations:
(give each place a randomly-assigned hue)
Detailed Work Plan (Stage 2)
Detailed Work Plan (Stage 3)
Possible Extensions (Stage 4)
Prototype Code
Place
Person
Person
Person
send.csl
empty.csl
empty.csl
recv.csl
W
E
R
E
R
M0
M0
M0
M0
W
E
R
W
E
R
W
R
async send
async
recv
async
recv
async
recv
note: async recvs are for genome size + 1, and so are terminated by upcoming control wavelet
sample genome distributed from place to people
Place
Person
Person
Person
send.csl
empty.csl
empty.csl
recv.csl
W
E
R
E
R
M0
M0
M0
M0
W
E
R
W
E
R
W
R
place sends control wavelet
SWITCH_ADV
ignore_ce=false
Place
Person
Person
Person
send.csl
empty.csl
empty.csl
recv.csl
W
E
R
E
R
M1
M1
M1
M1
W
W
E
R
W
R
R
in callback from control wavelet,
async send
big async
recv
Place
Person
Person
Person
send.csl
empty.csl
empty.csl
recv.csl
W
E
R
E
R
M1
M1
M1
M1
W
W
E
R
W
R
R
big async
recv
SWITCH_ADV
ignore_ce=true
pop
recv.csl sends control wavelet
Place
Person
Person
Person
send.csl
empty.csl
empty.csl
recv.csl
W
E
R
E
R
M1
M1
M2
M1
W
W
E
R
W
R
R
big async
recv
SWITCH_ADV
ignore_ce=false
recv.csl sends a second control wavelet
Place
Person
Person
Person
send.csl
empty.csl
empty.csl
recv.csl
W
E
R
E
R
M1
M1
M3
M1
W
W
E
R
W
R
R
big async
recv
empty.csl starts async send to Place
async send
Place
Person
Person
Person
send.csl
empty.csl
empty.csl
recv.csl
W
E
R
E
R
M1
M1
M3
M1
W
W
E
R
W
R
R
big async
recv
empty.csl sends control wavelet
SWITCH_ADV
ignore_ce=true
pop
Place
Person
Person
Person
send.csl
empty.csl
empty.csl
recv.csl
W
E
R
E
R
M1
M2
M3
M1
W
W
E
R
W
R
R
big async
recv
empty.csl sends a second control wavelet
SWITCH_ADV
ignore_ce=false
Place
Person
Person
Person
send.csl
empty.csl
empty.csl
recv.csl
W
E
R
E
R
M1
M3
M3
M1
W
W
E
R
W
R
R
big async
recv
async send
empty.csl starts async send to Place
Place
Person
Person
Person
send.csl
empty.csl
empty.csl
recv.csl
W
E
R
E
R
M1
M3
M3
M1
W
W
E
R
W
R
R
Fin!
(as final step, tiles have reset routers
to to M0… Place starts async send and Persons start async recv and cycle repeats)