Building an Evolving Artificial Inteligence Complications

I am attempting to design a basic artificial intelligence by using a keyboard to interface with the arduino uno, and an lcd screen to display AI response. The AI will ask a question, and then save the users response to that question, and be able to use that response when the user asks the same question. The goal is to have the vocabulary of this AI to grow and grow. I have a few questions.

How can I save multiple ASCII values under one variable, or a "word" - How can I save multiple "words" under one variable

How can I be able to have multiple "Words" under one variable, and be able to pick random ones, as the amount of saved "words" will grow continuously

Thank you so much!

IMHO, an Arduino is the wrong hardware for this kind of thing. Artificial Intelligence algorithms deal with huge amounts of data and require a lot of processing power.

You already have a computer with a keyboard, a screen, and a huge amount of memory and processing power (probably including super fast matrix and vector hardware in your GPU), why not use that instead? What benefits does the Arduino have here?


Your basic strategy of linking letters ‘together’ and ‘words’ together defeats the concept of AI. That is a lookup table.

You need to index every symbol/element individually, then only at runtime, infer ‘knowledge’ from their contextual relationships.

No symbol should exist more than once, and (objects), words/phrases should on,y exist with (frequency > 1) in the current ‘period’.

Output knowledge is derived from the context & frequency of those letter relationships. Big indices, (relatively) small data. Processing power is exponentially more important as your index grows.

lastchancename: That is a lookup table.

+1. That is not AI. And that is way beyond the scope of what an Arduino can do.

To handle words and characters in C++ we use char arrays. Look that up. There is a world of information out there on how those work.