diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..c18dd8d
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+__pycache__/
diff --git a/patterns.graphml b/patterns.graphml
index d053c88..d269db1 100644
--- a/patterns.graphml
+++ b/patterns.graphml
@@ -11,7 +11,7 @@
INDEPENDENT REGIONS
TOWNS
REGIONS
- 0
+ 2
THE DISTRIBUTION OF TOWNS
@@ -89,7 +89,7 @@
IDENTIFIABLE NEIGHBORHOOD
TOWNS
COMMUNITY BOUNDARIES
- 0
+ 2
NEIGHBORHOOD BOUNDARY
@@ -101,7 +101,7 @@
WEB OF PUBLIC TRANSPORTATION
TOWNS
COMMUNITY CONNECTIONS
- 0
+ 1
RING ROADS
@@ -125,19 +125,19 @@
MINI-BUSES
TOWNS
COMMUNITY CONNECTIONS
- 0
+ 1
FOUR-STORY LIMIT
TOWNS
COMMUNITY CHARACTER
- 0
+ 2
NINE PER CENT PARKING
TOWNS
COMMUNITY CHARACTER
- 0
+ 2
PARALLEL ROADS
@@ -191,7 +191,7 @@
PROMENADE
TOWNS
LOCAL CENTERS
- 0
+ 2
SHOPPING STREET
@@ -227,7 +227,7 @@
HOUSE CLUSTER
TOWNS
HOUSE CLUSTERS
- 0
+ 2
ROW HOUSES
@@ -245,13 +245,13 @@
OLD PEOPLE EVERYWHERE
TOWNS
HOUSE CLUSTERS
- 0
+ 2
WORK COMMUNITY
TOWNS
WORK COMMUNITIES
- 0
+ 2
INDUSTRIAL RIBBON
@@ -281,7 +281,7 @@
MARKET OF MANY SHOPS
TOWNS
WORK COMMUNITIES
- 0
+ 2
HEALTH CENTER
@@ -317,13 +317,13 @@
NETWORK OF PATHS AND CARS
TOWNS
ROADS AND PATHS
- 0
+ 2
MAIN GATEWAYS
TOWNS
ROADS AND PATHS
- 1
+ 2
ROAD CROSSING
@@ -443,6 +443,7 @@
ADVENTURE PLAYGROUND
TOWNS
LOCAL COMMON LAND
+ 0
ANIMALS
@@ -450,17 +451,17 @@
LOCAL COMMON LAND
0
-
+
THE FAMILY
TOWNS
- LOCAL COMMON LAND
+ THE FAMILY
1
HOUSE FOR A SMALL FAMILY
TOWNS
THE FAMILY
- 0
+ 1
HOUSE FOR A COUPLE
@@ -478,19 +479,19 @@
YOUR OWN HOME
TOWNS
THE FAMILY
- 0
+ 2
SELF-GOVERNING WORKSHOPS AND OFFICES
TOWNS
WORK GROUPS
- 0
+ 2
SMALL SERVICES WITHOUT RED TAPE
TOWNS
WORK GROUPS
- 0
+ 1
OFFICE CONNECTIONS
@@ -502,7 +503,7 @@
MASTER AND APPRENTICES
TOWNS
WORK GROUPS
- 0
+ 1
TEENAGE SOCIETY
@@ -520,13 +521,13 @@
CHILDREN'S HOME
TOWNS
WORK GROUPS
- 0
+ 1
INDIVIDUALLY OWNED SHOPS
TOWNS
LOCAL SHOPS
- 0
+ 2
STREET CAFE
@@ -550,7 +551,7 @@
TRAVELER'S INN
TOWNS
LOCAL SHOPS
- 0
+ 1
BUS STOP
@@ -592,7 +593,7 @@
CIRCULATION REALMS
BUILDINGS
BUILDING ARRANGEMENT
- 2
+ 1
MAIN BUILDING
@@ -634,13 +635,13 @@
SOUTH FACING OUTDOORS
BUILDINGS
BUILDING LOCATION
- 0
+ 2
POSITIVE OUTDOOR SPACE
BUILDINGS
BUILDING LOCATION
- 0
+ 2
WINGS OF LIGHT
@@ -664,13 +665,13 @@
MAIN ENTRANCE
BUILDINGS
BUILDING SHAPE
- 0
+ 2
HALF-HIDDEN GARDEN
BUILDINGS
BUILDING SHAPE
- 0
+ 1
ENTRANCE TRANSITION
@@ -688,13 +689,13 @@
HIERARCHY OF OPEN SPACE
BUILDINGS
BUILDING SHAPE
- 0
+ 1
COURTYARDS WHICH LIVE
BUILDINGS
BUILDING SHAPE
- 0
+ 2
CASCADE OF ROOFS
@@ -766,7 +767,7 @@
INTIMACY GRADIENT
BUILDINGS
GRADIENTS OF SPACE
- 0
+ 2
INDOOR SUNLIGHT
@@ -778,7 +779,7 @@
COMMON AREAS AT THE HEART
BUILDINGS
GRADIENTS OF SPACE
- 0
+ 2
ENTRANCE ROOM
@@ -814,19 +815,19 @@
TAPESTRY OF LIGHT AND DARK
BUILDINGS
GRADIENTS OF SPACE
- 0
+ 1
COUPLE'S REALM
BUILDINGS
HOUSE ROOMS
- 0
+ 1
CHILDREN'S REALM
BUILDINGS
HOUSE ROOMS
- 0
+ 1
SLEEPING TO THE EAST
@@ -838,25 +839,25 @@
FARMHOUSE KITCHEN
BUILDINGS
HOUSE ROOMS
- 0
+ 2
PRIVATE TERRACE ON THE STREET
BUILDINGS
HOUSE ROOMS
- 0
+ 2
A ROOM OF ONE's OWN
BUILDINGS
HOUSE ROOMS
- 0
+ 2
SEQUENCE OF SITTING SPACES
BUILDINGS
HOUSE ROOMS
- 0
+ 1
BED CLUSTER
@@ -928,7 +929,7 @@
TEENAGER'S COTTAGE
BUILDINGS
OUTBUILDINGS
- 0
+ 1
OLD AGE COTTAGE
@@ -958,7 +959,7 @@
LIGHT ON TWO SIDES OF EVERY ROOM
BUILDINGS
ROOM EDGES
- 0
+ 2
BUILDING EDGE
@@ -982,7 +983,7 @@
OUTDOOR ROOM
BUILDINGS
ROOM EDGES
- 0
+ 2
STREET WINDOWS
@@ -1006,13 +1007,13 @@
SIX-FOOT BALCONY
BUILDINGS
ROOM EDGES
- 0
+ 2
CONNECTION TO THE EARTH
BUILDINGS
ROOM EDGES
- 0
+ 2
TERRACED SLOPE
@@ -1144,25 +1145,25 @@
CEILING HEIGHT VARIETY
BUILDINGS
ROOM SHAPES
- 0
+ 2
THE SHAPE OF INDOOR SPACE
BUILDINGS
ROOM SHAPES
- 0
+ 2
WINDOWS OVERLOOKING LIFE
BUILDINGS
ROOM SHAPES
- 0
+ 1
HALF-OPEN WALL
BUILDINGS
ROOM SHAPES
- 0
+ 1
INTERIOR WINDOWS
@@ -1186,13 +1187,13 @@
THICK WALLS
BUILDINGS
WALLS
- 0
+ 2
CLOSETS BETWEEN ROOMS
BUILDINGS
WALLS
- 0
+ 1
SUNNY COUNTER
@@ -1210,12 +1211,13 @@
WAIST-HIGH SHELF
BUILDINGS
WALLS
+ 0
BUILT-IN SEATS
BUILDINGS
WALLS
- 0
+ 1
CHILD CAVES
@@ -1233,7 +1235,7 @@
STRUCTURE FOLLOWS SOCIAL SPACES
CONSTRUCTION
PHILOSOPHY OF STRUCTURE
- 0
+ 2
EFFICIENT STRUCTURE
@@ -1265,23 +1267,23 @@
STRUCTURAL LAYOUT
0
-
+
THICKENING THE OUTER WALLS
- BUILDINGS
- WALLS
- 0
+ CONSTRUCTION
+ STRUCTURAL LAYOUT
+ 1
COLUMNS AT THE CORNERS
CONSTRUCTION
STRUCTURAL LAYOUT
- 0
+ 2
FINAL COLUMN DISTRIBUTION
CONSTRUCTION
STRUCTURAL LAYOUT
- 0
+ 2
ROOT FOUNDATIONS
@@ -1317,19 +1319,19 @@
FLOOR-CEILING VAULTS
CONSTRUCTION
STRUCTURAL FRAME
- 0
+ 2
ROOF VAULTS
CONSTRUCTION
STRUCTURAL FRAME
- 0
+ 1
NATURAL DOORS AND WINDOWS
CONSTRUCTION
OPENINGS
- 0
+ 2
LOW SILL
@@ -1353,7 +1355,7 @@
FRAMES AS THICKENED EDGES
CONSTRUCTION
OPENINGS
- 0
+ 2
COLUMN PLACE
@@ -1419,7 +1421,7 @@
WINDOWS WHICH OPEN WIDE
CONSTRUCTION
SURFACES
- 0
+ 1
SOLID DOORS WITH GLASS
@@ -1443,7 +1445,7 @@
HALF-INCH TRIM
CONSTRUCTION
SURFACES
- 0
+ 2
SEAT SPOTS
@@ -1461,7 +1463,7 @@
SITTING WALL
CONSTRUCTION
OUTDOOR DETAILS
- 1
+ 2
CANVAS ROOFS
@@ -1485,7 +1487,7 @@
PAVING WITH CRACKS BETWEEN THE STONES
CONSTRUCTION
OUTDOOR DETAILS
- 0
+ 2
SOFT TILE AND BRICK
@@ -1521,7 +1523,7 @@
THINGS FROM YOUR LIFE
CONSTRUCTION
ORNAMENTATION
- 0
+ 1
start
@@ -1529,13 +1531,10 @@
start
-
- end
-
-
+
end
-
+
end
@@ -1544,37 +1543,28 @@
start
-
- end
-
-
+
end
-
+
end
-
+
end
start
-
+
end
end
-
- start
-
-
- end
-
-
+
end
-
+
end
@@ -1583,40 +1573,28 @@
start
-
- start
-
-
- start
-
start
-
- end
-
-
+
end
-
+
end
-
- start
-
start
-
+
end
-
+
end
-
+
end
-
+
end
@@ -1625,22 +1603,22 @@
start
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
@@ -1652,85 +1630,67 @@
start
-
- end
-
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
- start
-
-
- start
-
-
- start
-
start
-
- start
-
-
- end
-
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
@@ -1742,27 +1702,21 @@
start
-
- end
-
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
- start
-
start
@@ -1775,19 +1729,16 @@
start
-
- end
-
-
+
end
-
+
end
-
+
end
-
+
end
@@ -1802,22 +1753,22 @@
start
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
@@ -1829,22 +1780,22 @@
start
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
@@ -1853,58 +1804,49 @@
start
-
- start
-
start
-
- start
-
-
- end
-
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
start
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
@@ -1913,16 +1855,16 @@
start
-
+
end
-
+
end
-
+
end
-
+
end
@@ -1934,58 +1876,58 @@
start
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
@@ -1997,9 +1939,6 @@
start
-
- start
-
start
@@ -2012,28 +1951,22 @@
start
-
- start
-
-
- end
-
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
@@ -2048,37 +1981,25 @@
start
-
- start
-
-
- start
-
-
- start
-
start
-
+
end
-
- end
-
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
@@ -2090,88 +2011,73 @@
start
-
- end
-
-
- end
-
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
- start
-
start
-
- start
-
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
- start
-
start
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
@@ -2183,9 +2089,6 @@
start
-
- start
-
start
@@ -2195,190 +2098,154 @@
start
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
start
-
- start
-
start
-
+
end
-
- end
-
-
- end
-
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
- start
-
-
- start
-
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
start
-
- start
-
-
- start
-
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
- start
-
start
-
- start
-
-
- end
-
-
- end
-
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
- start
-
-
+
end
-
+
end
-
+
end
-
+
end
start
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
@@ -2390,58 +2257,52 @@
start
-
- end
-
-
+
end
-
+
end
-
+
end
-
+
end
start
-
- start
-
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
start
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
@@ -2459,28 +2320,28 @@
start
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
@@ -2489,82 +2350,55 @@
start
-
- start
-
start
start
-
- start
-
start
-
- end
-
-
+
end
-
+
end
-
+
end
-
+
end
-
- start
-
start
start
-
+
end
-
- start
-
-
- start
-
start
-
- start
-
start
start
-
- end
-
-
- end
-
-
+
end
-
+
end
-
+
end
-
+
end
@@ -2582,64 +2416,40 @@
start
-
- end
-
-
- end
-
-
- end
-
-
+
end
-
+
end
-
- start
-
- start
-
-
end
-
+
end
-
+
end
-
- start
-
start
-
- start
-
-
- end
-
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
@@ -2651,13 +2461,13 @@
start
-
+
end
-
+
end
-
+
end
@@ -2678,76 +2488,55 @@
start
-
- start
-
-
+
end
-
+
end
-
+
end
-
- start
-
-
- start
-
start
start
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
+
end
-
- start
-
-
- start
-
-
- start
-
start
start
-
- end
-
-
+
end
-
+
end
-
+