Skip to content

tudorw/MultiDimensionalTopologicalManifoldNancubeVR

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 

Repository files navigation

image

grid_0 (4)

"Formally an n-dimensional manifold is a *Hausdorff *topological space X in which every point has a *neighbourhood which is *homeomorphic to n-dimensional *Euclidean space

(https://secret-memories.s3.amazonaws.com/user-videos/e95159ba-ad6e-401f-b599-a3741c18005b_clean_video_s3_key.mp4?AWSAccessKeyId=AKIASWOMRRLR65R6NNXD&Expires=1683618144&Signature=oyzi52IZ5oqkBkHawwQ%2B7r9F0HE%3D)

THe above is an AI's vision of a multidimensional topological manifold;

chatGPT says;

Multi-dimensional topological manifolds are mathematical structures that can be used to model and understand complex data in a variety of fields, including artificial intelligence (AI). In AI, multi-dimensional topological manifolds are relevant in several ways:

Data representation and dimensionality reduction: High-dimensional data is common in AI, especially in tasks like computer vision, natural language processing, and speech recognition. Topological manifolds can be used to represent complex high-dimensional data in a more compact and efficient manner. Dimensionality reduction techniques, like t-Distributed Stochastic Neighbor Embedding (t-SNE) or Principal Component Analysis (PCA), can help map high-dimensional data onto lower-dimensional manifolds that preserve the structure and relationships in the data.

Topological Data Analysis (TDA): TDA is a field that uses topology and geometry to study the shape and structure of data. It can be employed in AI to analyze and visualize the structure of high-dimensional data, identify patterns and features, and compare datasets. Persistent homology, a key tool in TDA, helps to quantify and compare topological features across different scales, which can aid in understanding the underlying structure of complex datasets.

Deep learning architectures: In deep learning, the activation patterns of neurons within neural networks can be thought of as points in high-dimensional space. By using topological manifolds, researchers can study the structure and geometry of these activation patterns, which can provide insights into the functioning of deep learning models, guide the design of more efficient architectures, and help in understanding adversarial attacks.

Reinforcement learning: In reinforcement learning, agents learn to make decisions in complex environments. State spaces in such environments can be large and high-dimensional. By representing the state space as a topological manifold, it becomes easier to find and exploit structure in the data, improving the efficiency of learning algorithms.

Robotics and motion planning: Topological manifolds can be used to represent the configuration space of a robot, which is the set of all possible configurations the robot can assume. By using topological methods, researchers can study the structure of this space, design algorithms for path planning and motion control, and address challenges like obstacle avoidance and optimal path planning.

In summary, multi-dimensional topological manifolds have various applications in AI, including data representation, analysis, and visualization, as well as providing insights into the structure and function of deep learning models, reinforcement learning algorithms, and robotic systems.

The Plan: Phase 1 - tools assessment and skills outreach Skills, blender, 3d, maths, dimension reducing, vr

dimension reduction to bring that data into 3d

, then stream that data into a hyperspatial nanocube (like https://github.com/laurolins/nanocube)

then use https://github.com/wassimj/topologicpy Using the module There is an example.py test file we have used to test the module. This example shows how you can use the Python/C++ to make calls directly to Topologic:

import the topologic submodules

from topologic import Vertex, Edge, Wire, Face, Shell, Cell, CellComplex, Cluster, Graph, Topology

create a vertex

v1 = Vertex.ByCoordinates(0,0,0)

create another vertex

v2 = Vertex.ByCoordinates(20,20,20)

create an edge from the two vertices

e1 = Edge.ByStartVertexEndVertex(v1, v2)

retrieve the coordinate from the start vertex of e1

sv = e1.StartVertex() print(" "+str([sv.X(), sv.Y(), sv.Z()]))

retrieve the coordinate from the end vertex of e1

ev = e1.EndVertex() print(" "+str([ev.X(), ev.Y(), ev.Z()]))

retrieve the coordinates of the centroid of e1

cv = Topology.Centroid(e1) print(" "+str([cv.X(), cv.Y(), cv.Z()])) blender/three.js/D3

a graph is a graph is a graph

About

Visualising the 'Digital Brain'

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published