GHASSAN ALSERAYHI
MSc. Arch, M. Arch, B. Arch, Assoc. SCE

ARCHITECT + EDUCATOR + RESEARCHER













RECURSIVE AGENCIES
AND ONTOLOGIES

DATA MEMORIES AND TERRITORIALIT[IES]


SUBJECT:
VIRTUAL ENGAGEMENT
TYPE: DESIGN RESEARCH SEMINAR
INSTRUCTOR: GLENN WIXCOX
DATE: 2022

“A drunk man will find his way home, but a drunk bird may get lost forever,” said Shizuo Kakutani, a Japanese-born American mathematician. The assumption here is that both are doing random walks. However, there’s an underlying layer of territory and memory at play. The man, while performing a 2D random walk, is subtly guided by his subconscious memory of familiar streets and landmarks, all are territories. This territorial memory, even in a state of inebriation but in their interaction with the concept of mental representation of territory/Situation. In both scenarios, the concept of virtual territory and memory adds a layer of complexity to the ‘random walk.’ In one and two dimensions, a random walk is ‘recurrent,’ with a strong influence of virtual territorial memory ensuring a return to the starting point. However, in three dimensions and above, despite the presence of memory, the randomness is accentuated by the vastness of the territory, making the walk ‘transient’ with a chance of never returning.

































These reflections on random walks instigate deeper questions: “How do we define the rules governing the behavior of objects?” and, “How do these rules manifest in the digital realm?” As we explore the nature of code and design, we venture beyond inanimate objects and lifeless objects. We start to consider how objects, influenced by their own ‘memories’ and ‘territories’ in a digital landscape, could exhibit autonomy, embodying fears, hopes, and dreams.

This is the essence of the exploration—developing autonomous agents that navigate their digital environment, not just through    coded instructions, but also through an embedded understanding of their virtual territory and memory.





         
     

Input Data, Steps = 100, Tree = Tree(100,30), Speed = 2



               


Input Data, Steps = 100, Tree = Tree(200,30), Speed = 2



       

Input Data, Steps = 100, Tree = Tree(300,30), Speed = 2
       

Study A: Examining the Nature of Coding Memory Through Random-Walking Paths Generation

Among other attempts, this version of the code produces multiple branches each time. Similar to the initial version of this code, this code attempts to generate information that has the required level of consciousness/memorization to recognize any possible intersection between the branches. Although both codes succeeded in making each branch’s points avoid overwriting/intersecting on/with each other, on the larger scale (the whole), the branches still can’t recognize their siblings; therefore, their (bodies, not points) intersect with each other.



Python Script





 



























                     


                         



                   

Study B: Examining the Nature of Coding Memory Through Random-Walking Paths Generation

Let’s Imagine that we are random walkers searching for food, moving around a space randomly. This strategy, while reasonable, has a drawback: you often return to the same spots, a problem known as “oversampling.” To counter this, occasionally take a large step. This method lets you explore areas thoroughly while periodically jumping far, reducing oversampling. This approach, similar to a Lévy flight, involves a specific probability distribution: longer steps are less likely, shorter ones more so.


Python Script

















Since the Renaissance and Leon Battista Alberti’s book “De re edification” from 1452, architect was defined as an author of the building solely based on his deliberate action of drawing up the design. Drawing itself became not only an authorship claim, but also an indispensable design tool for centuries to come. In the case of coding, random walk generation provides more insight into the nature of data, coding, and programming beyond their written rules by their ‘author(s).’ This examination allows us to perceive digital entities as objects with ‘will,’ or at least as entities capable of teaching themselves and learning from their memories.










A recursive function calls itself, so the memory for a called function is allocated on top of the memory allocated for calling the function. a different copy of local variables is created for each function call. When the base case is reached, the function returns its value to the function that it was called from, and its memory is de-allocated. This process continues until the parent function is returned.