Using notes from a 2006 conference at The Neurosciences Institute, this essay reconstructs Gerald Edelman's long-lost Roadmap to a Conscious Artifact. From reentrant neural architectures and thalamo-cortical dynamics to embodied motor control, communication, and language, it delineates ten essential phases in the construction of a really aware machine. A biologically based vision of artificial consciousness that is based on neuroscience rather than computation is highlighted in the roadmap, which is interwoven with personal tales and Edelman's humor.Using notes from a 2006 conference at The Neurosciences Institute, this essay reconstructs Gerald Edelman's long-lost Roadmap to a Conscious Artifact. From reentrant neural architectures and thalamo-cortical dynamics to embodied motor control, communication, and language, it delineates ten essential phases in the construction of a really aware machine. A biologically based vision of artificial consciousness that is based on neuroscience rather than computation is highlighted in the roadmap, which is interwoven with personal tales and Edelman's humor.

Why Neural Darwinism Might Be AI's Best Path to Consciousness

2025/10/24 02:56
7 min read
For feedback or concerns regarding this content, please contact us at [email protected]

Abstract and 1. Introduction

  1. Background and History
  2. Roadmap to a Conscious Artifact
  3. Hidden Gems
  4. Final Thoughts, Acknowledgments, and References

4 Hidden Gems

Anyone who had the experience of interacting with Gerald Edelman will tell you that conversations were generously sprinkled with anecdotes and a seemingly infinite supply of jokes. He was a consummate storyteller. Given any context, he would suddenly and unexpectedly tell a joke that not only made a point with great clarity, but was also delivered like a seasoned standup comedian. This meeting was no different in content or character.

\ During such meetings, I would make notes in the margins to remind me of the particular story or joke.

\ The first note is "7th position violin" and "Yasha Haifitz fiddles muscle". Edelman was an accomplished violinist. It was said that he could have had a career as a concert violinist. The 7th position is the most advanced position of the hand; necessary for generating the highest notes on a violin. According to members of Edelman’s family, his mother wanted him to be a doctor. As the story goes, when he expressed the desire to become a concert violinist, his mother said, "I have two words for you: Jascha Heifetz". Heifetz was one of the greatest violinists of all time. This quickly ended the conversation. Edelman realized he could never be on a par with Heifetz and decided to go into medicine instead. This, of course, led to an accomplished research career and a Nobel Prize in Physiology or Medicine for deciphering the protein structure of the antibody (i.e., gamma gobulin or IgG). I believe the discussion of seventh position during the meeting had to do with motor control sequences and converting those sequences into muscle memory. In any case, it nicely follows from: 5) Motor Control to 6) Generalization in Learning and Memory.

\ I can only guess what "global mapping" meant. It certainly fits with the idea of reentrant architecture and the dynamic core.

\ Lastly, "Mayef the Meshuggenah" is an element of one of Edelman’s classic jokes. Though the phrase certainly alludes to Albert Mayev, Edelman’s violin teacher, who was good friends with a number of the great violinists of the mid-20th Century, including Heifetz and Nathan Milstein. Sadly, I cannot remember the details. It is not something that you can Google to understand the precise context. Perhaps one of my colleagues can recall the details of this joke or story.

5 Final Thoughts

I strongly believe that the steps laid out on that day in 2006, comprise the correct roadmap toward creation of machine consciousness. With this in mind, I believe it is important to share these steps with others. I have tried to follow them in my own research. But it is important to temper expectations here; each of these steps is a career in itself. For example, I decided to focus on "3) Value Systems" when I transitioned from the NSI to UC Irvine in 2008 [14]. I am still researching this fascinating topic [15, 16]. Along the way, I have turned my attention to other steps on the list, but certainly have not addressed all the steps listed in Figure 1 and Table 1.

\ After I left the NSI, Edelman, along with Yanqing Chen, Jason Fleischer, Joe Gally, Jeff McKinstry, and others, began working in earnest on a Conscious Artifact project. Among other things, they made notable progress on sequence learning and mental imagery [17, 18].

\ Nevertheless, I think I can safely say that no one has put all these steps together within one system. I am hopeful that someone, either in my generation or the next, will one day be able to achieve this lofty goal.

Acknowledgments

I would like to thank Bernie Baars and David Edelman for the discussion that brought this roadmap to mind, as well as for many interesting conversations. David was extremely helpful with editing and filling in details. A big shout out goes to Grant Castillou for bringing this to my attention and leading me to put this in writing so that it could be shared with others. Lastly, I would like to thank the "Build A Brain" group at The Neurosciences Institute for generating these ideas, for the progress toward a Conscious Artifact, and for many fond memories.

References

[1] G. M. Edelman. Neural Darwinism: The Theory Of Neuronal Group Selection. Basic Books, 1987.

\ [2] A. K. Seth, J. L. McKinstry, G. M. Edelman, and J. L. Krichmar. Visual binding through reentrant connectivity and dynamic synchronization in a brain-based device. Cerebral Cortex, 14(11):1185–1199, 2004.

\ [3] J. Wray and G. M. Edelman. A model of color vision based on cortical reentry. Cereb Cortex, 6(5):701–16, 1996.

\ [4] G. M. Edelman. The Remembered Present: A Biological Theory of Consciousness. Basic Books, 1990.

\ [5] G. M. Edelman. Bright Air, Brilliant Fire: On the Matter of Mind. Basic Books, 1993.

\ [6] G. M. Edelman and G. Tononi. A Universe Of Consciousness: How Matter Becomes Imagination. Basic Books, 2000.

\ [7] E. D. Lumer, G. M. Edelman, and G. Tononi. Neural dynamics in a model of the thalamocortical system. i. layers, loops and the emergence of fast synchronous rhythms. Cereb Cortex, 7(3):207–27, 1997.

\ [8] E. D. Lumer, G. M. Edelman, and G. Tononi. Neural dynamics in a model of the thalamocortical system. ii. the role of neural synchrony tested through perturbations of spike timing. Cereb Cortex, 7(3):228–36, 1997.

\ [9] E. M. Izhikevich and G. M. Edelman. Large-scale model of mammalian thalamocortical systems. Proc Natl Acad Sci U S A, 105(9):3593–8, 2008.

\ [10] K. J. Friston, G. Tononi, Jr. Reeke, G. N., O. Sporns, and G. M. Edelman. Value-dependent selection in the brain: simulation in a synthetic neural model. Neuroscience, 59(2):229–43, 1994.

\ [11] J. L. Krichmar and G. M. Edelman. Brain-based devices for the study of nervous systems and the development of intelligent machines. Artificial Life, 11(1-2):63–77, 2005.

\ [12] J. G. Fleischer, J. A. Gally, G. M. Edelman, and J. L. Krichmar. Retrospective and prospective responses arising in a modeled hippocampus during maze navigation by a brain-based device. Proceedings of the National Academy of Sciences of the United States of America, 104(9):3556–3561, 2007.

\ [13] J. L. Krichmar, D. A. Nitz, J. A. Gally, and G. M. Edelman. Characterizing functional hippocampal pathways in a brain-based device as it solves a spatial memory task. Proceedings of the National Academy of Sciences of the United States of America, 102(6):2111–2116, 2005.

\ [14] J. L. Krichmar. The neuromodulatory system: A framework for survival and adaptive behavior in a challenging world. Adaptive Behavior, 16(6):385–399, 2008.

\ [15] M. C. Avery and J. L. Krichmar. Neuromodulatory systems and their interactions: A review of models, theories, and experiments. Frontiers in Neural Circuits, 11, 2017.

\ [16] J. L. Krichmar and F. Rohrbein. Value and reward based learning in neurorobots. Frontiers in Neurorobotics, 7, 2013.

\ [17] J. L. McKinstry and G. M. Edelman. Temporal sequence learning in winner-take-all networks of spiking neurons demonstrated in a brain-based device. Front Neurorobot, 7:10, 2013.

\ [18] J. L. McKinstry, J. G. Fleischer, Y. Chen, W. E. Gall, and G. M. Edelman. Imagery may arise from associations formed through sensory experience: A network of spiking neurons controlling a robot learns visual sequences in order to perform a mental rotation task. PLoS One, 11(9):e0162155, 2016.

\

:::info Author:

Jeffrey L. Krichmar, Department of Cognitive Sciences, Department of Computer Science, University of California, Irvine Irvine, CA 92697-5100 ([email protected]).

:::


:::info This paper is available on arxiv under CC BY 4.0 license.

:::

\

Market Opportunity
null Logo
null Price(null)
--
----
USD
null (null) Live Price Chart
Disclaimer: The articles reposted on this site are sourced from public platforms and are provided for informational purposes only. They do not necessarily reflect the views of MEXC. All rights remain with the original authors. If you believe any content infringes on third-party rights, please contact [email protected] for removal. MEXC makes no guarantees regarding the accuracy, completeness, or timeliness of the content and is not responsible for any actions taken based on the information provided. The content does not constitute financial, legal, or other professional advice, nor should it be considered a recommendation or endorsement by MEXC.

You May Also Like

Tether Backs Ark Labs’ $5.2 Million Bet on Bitcoin’s Stablecoin Revival

Tether Backs Ark Labs’ $5.2 Million Bet on Bitcoin’s Stablecoin Revival

The post Tether Backs Ark Labs’ $5.2 Million Bet on Bitcoin’s Stablecoin Revival appeared on BitcoinEthereumNews.com. In brief Ark Labs secured backing from Tether
Share
BitcoinEthereumNews2026/03/12 21:44
MySQL Single Leader Replication with Node.js and Docker

MySQL Single Leader Replication with Node.js and Docker

Modern applications demand high availability and the ability to scale reads without compromising performance. One of the most common strategies to achieve this is Replication. In this setup, we configured a single database to act as the leader (master) and handle all write operations, while three replicas handle read operations. In this article, we’ll walk through how to set up MySQL single-leader replication on your local machine using Docker. Once the replication is working, we’ll connect it to a Node.js application using Sequelize ORM, so that reads are routed to the replica and writes go to the master. By the end, you’ll have a working environment where you can see replication in real time Prerequisites knowledge of database replication Background knowledge of docker and docker compose Background knowledge of Nodejs and how to run a NodeJS server An Overview of what we are building Setup Setup our database servers on docker compose in the root of our project directory, create a file named docker-compose.yml with the following content to setup our mysql primary and replica databases. \ \ name: "learn-replica" volumes: mysqlMasterDatabase: mysqlSlaveDatabase: mysqlSlaveDatabaseII: mysqlSlaveDatabaseIII: networks: mysql-replication-network: services: mysql-master: image: mysql:latest container_name: mysql-master command: --server-id=1 --log-bin=ON environment: MYSQL_ROOT_PASSWORD: master MYSQL_DATABASE: replicaDb ports: - "3306:3306" volumes: - mysqlMasterDatabase:/var/lib/mysql networks: - mysql-replication-network mysql-slave: image: mysql:latest container_name: mysql-slave command: --server-id=2 --log-bin=ON environment: MYSQL_ROOT_PASSWORD: slave MYSQL_DATABASE: replicaDb MYSQL_ROOT_HOST: "%" ports: - "3307:3306" volumes: - mysqlSlaveDatabase:/var/lib/mysql depends_on: - mysql-master networks: - mysql-replication-network mysql-slaveII: image: mysql:latest container_name: mysql-slaveII command: --server-id=2 --log-bin=ON environment: MYSQL_ROOT_PASSWORD: slave MYSQL_DATABASE: replicaDb MYSQL_ROOT_HOST: "%" ports: - "3308:3306" volumes: - mysqlSlaveDatabaseII:/var/lib/mysql depends_on: - mysql-master networks: - mysql-replication-network mysql-slaveIII: image: mysql:latest container_name: mysql-slaveIII command: --server-id=3 --log-bin=ON environment: MYSQL_ROOT_PASSWORD: slave MYSQL_DATABASE: replicaDb MYSQL_ROOT_HOST: "%" ports: - "3309:3306" volumes: - mysqlSlaveDatabaseIII:/var/lib/mysql depends_on: - mysql-master networks: - mysql-replication-network In this setup, I’m creating a master database container called mysql-master and 3 replica containers called mysql-slave, mysql-slaveII and mysql-slaveIII. I won’t go too deep into the docker-compose.yml file since it’s just a basic setup, but I do want to walk you through the command line instructions used in all four services because that’s where things get interesting.
command: --server-id=1 --log-bin=ON The --server-id option gives each MySQL server in your replication setup its own name tag. Each one has to be unique and without it, replication won’t work at all. Another cool option not included here is binlog_format=ROW. This tells MySQL how to keep track of changes before passing them along to the replicas. By default, MySQL already uses row-based replication, but you can explicitly set it to ROW to be sure or switch it to STATEMENT if you’d rather log the actual SQL statements instead of row-by-row changes. \ Run our containers on docker Now, in the terminal, we can run the following command to spin up our database containers: docker-compose up -d \ Setting Up Our Master (Primary) Server To configure our master server, we would have to first access the running instance on docker using the following command docker exec -it mysql-master bash This command opens an interactive Bash shell inside the running Docker container named mysql-master, allowing us to run commands directly inside that container. \ Now that we’re inside the container, we can access the MySQL server and start running commands. type: mysql -uroot -p This will log you into MySQL as the root user. You’ll be prompted to enter the password you set in your docker-compose.yml file. \ Next, we need to create a special user that our replicas will use to connect to the master server and pull data. Inside the MySQL prompt, run the following commands: \ CREATE USER 'repl_user'@'%' IDENTIFIED BY 'replication_pass'; GRANT REPLICATION SLAVE ON . TO 'repl_user'@'%'; FLUSH PRIVILEGES; Here’s what’s happening: CREATE USER makes a new MySQL user called repl_user with the password replication_pass. GRANT REPLICATION SLAVE gives this user permission to act as a replication client. FLUSH PRIVILEGES tells MySQL to reload the user permissions so they take effect immediately. \ Time to Configure the Replica (Secondary) Servers a. First, let’s access the replica containers the same way we did with the master. Run this command in your terminal for each of the replica containers: \ docker exec -it <replica_container_name> bash mysql -uroot -p <replica_container_name> should be replace with the name of the replica container you are trying to setup b. Now it’s time to tell our replica where to get its data from. While inside the replica’s MySQL shell, run the following command to configure replication using the master’s details: CHANGE REPLICATION SOURCE TO SOURCE_HOST='mysql-master', SOURCE_USER='repl_user', SOURCE_PASSWORD='replication_pass', GET_SOURCE_PUBLIC_KEY=1; With the replication settings in place, let’s fire up the replica and get it syncing with the master. Still inside the MySQL shell on the replica, run: START REPLICA; This starts the replication process. To make sure everything is working, check the replica’s status with:
SHOW REPLICA STATUS\G; Look for Replica_IO_Running and Replica_SQL_Running — if both say Yes, congratulations! 🎉 Your replica is now successfully connected to the master and replicating data in real time.
Testing Our Replication Setup from the Node.js App Now that our replication is successfully set up, we can configure our Node.js server to observe the real-time effect of data being replicated from the master server to the replica server whenever we write to it. We start by installing the following dependencies:
npm i express mysql2 sequelize \ Now create a folder called src in the root directory and add the following files inside that folder connection.js, index.js and model.js. Our current directory should look like this We can now set up our connections to our master and replica server in the connection.js file as shown below
const Sequelize = require("sequelize"); const sequelize = new Sequelize({ dialect: "mysql", replication: { write: { host: "127.0.0.1", username: "root", password: "master", database: "replicaDb", }, read: [ { host: "127.0.0.1", username: "root", password: "slave", database: "replicaDb", port: 3307 }, { host: "127.0.0.1", username: "root", password: "slave", database: "replicaDb", port: 3308 }, { host: "127.0.0.1", username: "root", password: "slave", database: "replicaDb", port: 3309 }, ], }, }); async function connectdb() { try { await sequelize.authenticate(); } catch (error) { console.error("❌ unable to connect to the follower database", error); } } connectdb(); module.exports = { sequelize, }; \ We can now create a User table in the model.js file
const {DataTypes} = require("sequelize"); const { sequelize } = require("./connection"); const User = sequelize.define("User", { name: { type: DataTypes.STRING, allowNull: false, }, email: { type: DataTypes.STRING, unique: true, allowNull: false, }, }); module.exports = User \ and finally in our index.js file we can start our server and listen for connections on port 3000. from the code sample below, all inserts or updates will be routed by sequelize to the master server. while all read queries will be routed to the read replicas.
const express = require("express"); const { sequelize } = require("./connection"); const User = require("./model"); const app = express(); app.use(express.json()); async function main() { await sequelize.sync({ alter: true }); app.get("/", (req, res) => { res.status(200).json({ message: "first step to setting server up", }); }); app.post("/user", async (req, res) => { const { email, name } = req.body; let newUser = await User.build({ name, email, }); // This INSERT will go to the write (master) connection newUser = newUser.save({ returning: false }); res.status(201).json({ message: "User successfully created", }); }); app.get("/user", async (req, res) => { // This SELECT query will go to one of the read replicas const users = await User.findAll(); res.status(200).json(users); }); app.listen(3000, () => { console.log("server has connected"); }); } main(); When you make a POST request to the /users endpoint, take a moment to check both the master and replica servers to observe how data is replicated in real time. Right now, we are relying on Sequelize to automatically route requests, which works for development but isn’t robust enough for a production environment. In particular, if the master node goes down, Sequelize cannot automatically redirect requests to a newly elected leader. In the next part of this series, we’ll explore strategies to handle these challenges
Share
Hackernoon2025/09/18 14:44
Nvidia shares fall 3%

Nvidia shares fall 3%

The post Nvidia shares fall 3% appeared on BitcoinEthereumNews.com. Home » AI » Nvidia shares fall 3% Chipmaker extends decline as investors continue to take profits from recent highs. Photo: Budrul Chukrut/SOPA Images/LightRocket via Getty Images Key Takeaways Nvidia’s stock decreased by 3% today. The decline extends Nvidia’s recent losing streak. Nvidia shares fell 3% today, extending the chipmaker’s recent decline. The stock dropped further during trading as the artificial intelligence chip leader continued its pullback from recent highs. Disclaimer Source: https://cryptobriefing.com/nvidia-shares-fall-2-8/
Share
BitcoinEthereumNews2025/09/18 03:13