|
import streamlit as st |
|
import numpy as np |
|
from scipy.sparse import csr_matrix |
|
import pandas as pd |
|
import time |
|
import graphviz |
|
|
|
|
|
|
|
|
|
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. |
|
""") |
|
|
|
|
|
|
|
|
|
tabs = st.tabs([ |
|
"Theory", |
|
"Neural Connectivity", |
|
"Concept Graph", |
|
"Interactive Components", |
|
"NPS Score", |
|
"Extra UI" |
|
]) |
|
|
|
|
|
|
|
|
|
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. |
|
""") |
|
|
|
|
|
|
|
|
|
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:") |
|
|
|
|
|
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) |
|
|
|
|
|
|
|
|
|
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:") |
|
|
|
|
|
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) |
|
|
|
|
|
|
|
|
|
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") |
|
|
|
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") |
|
|
|
|
|
|
|
|
|
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}") |
|
|
|
|
|
|
|
|
|
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)) |
|
|