3DCityEvolutionSimulator / backup1.app.py
awacke1's picture
Rename app.py to backup1.app.py
b6ac696 verified
raw
history blame
8.51 kB
import streamlit as st
import numpy as np
from scipy.sparse import csr_matrix
import pandas as pd
import time
import graphviz
# -----------------------------------------------------------------------------
# Title and Overview
# -----------------------------------------------------------------------------
st.title("Cortical Column Theory: Self-Modifying Memory Systems")
st.markdown("""
**Theory Overview:**
This application demonstrates a model inspired by Cortical Column Theory where the ability to self-modify is paramount.
- **Episodic Memory (E):** Represents short-term, conscious experience (~5–10 seconds) via introspective attention.
- **Semantic Memory (K):** Cumulative knowledge built over time (Mass + Agency), enabling free energy formation.
- **Neural Connectivity:** Modeled via sparse matrices to mimic voting neurons in cortical columns.
- **Social Bonding:** Hierarchical connections—from teams to humanity—facilitate maximum free energy (or ‘love’) at a cellular level.
These components interact in a dynamic system, much like how neocortical columns steer signals via voting neurons and dendritic excitement.
""")
# -----------------------------------------------------------------------------
# Create Tabs for Organized UI Sections
# -----------------------------------------------------------------------------
tabs = st.tabs([
"Theory",
"Neural Connectivity",
"Concept Graph",
"Interactive Components",
"NPS Score",
"Extra UI"
])
# -----------------------------------------------------------------------------
# Tab 1: Theory Explanation
# -----------------------------------------------------------------------------
with tabs[0]:
st.header("Cortical Column Theory")
st.write("""
The central hypothesis is that life’s essential characteristic is its ability to self-modify.
In this model:
- **Episodic Memory (E)** functions as immediate, introspective attention over a 5–10 second window.
- **Semantic Memory (K)** aggregates past experiences into a knowledge base, growing as new connections (graph edges) form.
- **Free Energy** is produced as the system scales its pair bonds—from simple interactions (e.g., between two neurons) to complex networks (teams, organizations, and ultimately humanity).
- **Love (❤️)** is conceptualized as the maximal connection, representing the highest free energy state and optimal bond formation.
This theoretical framework abstracts how biological neural circuits might mirror self-coding systems in AI.
""")
# -----------------------------------------------------------------------------
# Tab 2: Neural Connectivity with Sparse Matrix
# -----------------------------------------------------------------------------
with tabs[1]:
st.header("Neural Connectivity Sparse Matrix")
st.write("Below is a demonstration of a sparse matrix simulating neural connectivity within a cortical column:")
# Create a random binary matrix (10 neurons, ~20% connectivity)
size = 10
density = 0.2
random_matrix = np.random.binomial(1, density, size=(size, size))
sparse_matrix = csr_matrix(random_matrix)
st.write("Sparse Matrix Representation:")
st.write(sparse_matrix)
st.write("Dense Matrix Representation:")
st.write(random_matrix)
# -----------------------------------------------------------------------------
# Tab 3: Emoji and Concept Graph UI
# -----------------------------------------------------------------------------
with tabs[2]:
st.header("Emoji and Concept Graph")
st.write("Visualizing core concepts with emojis where each node represents a key component of the theory:")
# Graphviz diagram using emojis and labels for key concepts.
graph_source = """
digraph G {
"Cortical Column 🧠" -> "Episodic Memory (E) ⏱️" [label="short-term"];
"Cortical Column 🧠" -> "Semantic Memory (K) 📚" [label="knowledge"];
"Episodic Memory (E) ⏱️" -> "Introspective Attention 🔍" [label="focus"];
"Semantic Memory (K) 📚" -> "Free Energy ⚡" [label="agency"];
"Free Energy ⚡" -> "Love ❤️" [label="bond"];
"Love ❤️" -> "Humanity 🌍" [label="connection"];
}
"""
st.graphviz_chart(graph_source)
# -----------------------------------------------------------------------------
# Tab 4: Interactive UI Components
# -----------------------------------------------------------------------------
with tabs[3]:
st.header("Interactive Components Demonstration")
st.subheader("Input and Selection")
concept_input = st.text_input("Enter a concept label:", "Cortical Column Theory")
time_window = st.slider("Select attention window (seconds)", 1, 10, 5)
memory_type = st.radio("Select memory type", ("Episodic (E)", "Semantic (K)"))
neural_component = st.selectbox("Choose a neural component", ["Neuron", "Synapse", "Dendrite", "Axon"])
additional_components = st.multiselect("Select additional components", ["Free Energy", "Agency", "Mass", "Bond"])
st.subheader("Activation Controls")
if st.checkbox("Activate Introspective Attention"):
st.write("Introspective Attention Activated!")
if st.button("Execute Self-Modification Cycle"):
st.write("**Self-Modification Cycle Executed**")
st.write(f"Memory Type Selected: {memory_type}")
st.write(f"Attention Window: {time_window} seconds")
st.write(f"Neural Component: {neural_component}")
st.write(f"Additional Components: {additional_components}")
st.subheader("Media Components")
st.image("https://via.placeholder.com/150.png?text=Neural+Network", caption="Neural Network Representation")
# Note: The video below is a placeholder.
st.video("https://www.youtube.com/watch?v=dQw4w9WgXcQ")
st.subheader("Data and JSON Display")
df = pd.DataFrame({
"Component": ["Neuron", "Synapse", "Dendrite", "Axon"],
"Status": ["Active", "Active", "Inactive", "Active"]
})
st.dataframe(df)
sample_json = {
"Episodic": {"Duration": f"{time_window} sec", "Type": memory_type},
"Semantic": {"Label": concept_input}
}
st.json(sample_json)
st.subheader("File Upload and Color Picker")
uploaded_file = st.file_uploader("Upload a configuration file")
color = st.color_picker("Pick a highlight color", "#00f900")
st.write("Selected Color:", color)
st.subheader("Date and Time Inputs")
date_input = st.date_input("Select a date")
time_input = st.time_input("Select a time")
st.write("Date:", date_input, "Time:", time_input)
st.subheader("Progress Bar Simulation")
progress_bar = st.progress(0)
for percent_complete in range(101):
progress_bar.progress(percent_complete)
time.sleep(0.01)
st.subheader("Metrics and Download Button")
st.metric(label="Introspective Score", value=time_window*10, delta="+5")
st.download_button("Download Configuration", data="configuration data", file_name="config.txt")
# -----------------------------------------------------------------------------
# Tab 5: Self Reward Learning NPS Score
# -----------------------------------------------------------------------------
with tabs[4]:
st.header("Self Reward Learning NPS Score")
nps_score = st.slider("Rate Self Reward Learning (0-10):", 0, 10, 5)
if nps_score <= 6:
nps_comment = "Needs Improvement - Consider refining self-modification algorithms."
elif nps_score <= 8:
nps_comment = "Good, but can be better - Fine-tuning required."
else:
nps_comment = "Excellent! - The system demonstrates robust self-reward learning."
st.write(f"**NPS Score:** {nps_score} - {nps_comment}")
# -----------------------------------------------------------------------------
# Tab 6: Extra UI Components for Extended Demonstration
# -----------------------------------------------------------------------------
with tabs[5]:
st.header("Extra UI Components")
with st.expander("More Details"):
st.write("Additional explanations or interactive widgets can be added here.")
col1, col2 = st.columns(2)
with col1:
st.write("**Column 1:** Additional metrics or charts.")
st.line_chart(np.random.randn(20, 1))
with col2:
st.write("**Column 2:** Other interactive elements.")
st.bar_chart(np.random.randn(20, 1))