AI Zone Admin Forum Add your forum

NEWS: survey on 3000 US and UK consumers shows it is time for chatbot integration in customer service!read more..

Developing an AI, to those interested help would be appreciated

Well as this is my first post I might as well introduce myself in a pertinent section. Just to say that for the most part I have ideas and until full implementation and success derived of said implementation I’m going to leave my hopes/dreams for this to the sidelines as best I can. I haven’t named this project yet but I have been working on it for a few weeks now in my spare time. All of the ideas mentioned are organically derived from me, however after analysis they strongly resemble the behavior of pre-fashioned forms in psychology and and the field of AI. So far the AI has been coded in C++, my strongest language. I’lll admit its nowhere near done.

Now to actually what I am working on: The AI as best as my analysis can conclude is a sort of expert-system, neural-net mash-up (need more hyphens). Firstly I think I have bypassed the need for mass computing power to emulate neural nets by using what I describe as a net of expert-systems, such that only a few are active at any significant point. Secondly, the AI uses some very simplistic genetic behavior (I figure it was unnecessary to make it complex and it keeps the processing time down) to guide the improvement of models.  Thirdly when the proof of concept is done, its processes should be able to be ported with an upgrade to be able to handle interfacing with many electronic mediums. I’ve been working on implementing emotional behavior such that (without my intention) would seem to behave almost in a “Maslow’s pyramid” fashion. Also included in the design are my attempts at generating algorithms for dreams as they play an important role in improving mental models and input-output chaining in combination with short/long term memory to help the formation of complex ideas/outputs. Situational, and chronological context are huge elements of the AI and are used throughout its functioning. The way it works is best represented as a sort of rube-golberg machine, with large isolated ‘contraptions’ connected through a few channels, one for emotion, one that evaluates needs, one for rule selection, etc. It is within the ‘contraptions’ themselves that the genetic programming changes the behaviors.  I’m also trying to build-in an HTML parser so it can extract text from web-pages and learn from that. The way its designed is not to manually input any data but to design a structure to learn for itself, supervised or unsupervised. Finally I recently just tried to enhance the design by making it modular, for if the AI ever knew how to code (a pipe-dream) it could modulate its own functioning.

The reason I post this here is having little to no expertise in this area I cannot claim to have any special insights nor skill and wish to ask those interested to work with me on this project
Furthermore to allay any fears anyone has, I do have actual algorithms to show, and can explain the functioning and behavior of any of said algorithms to you.

The reason I merely don’t disclose my ideas outright are that we all fear someone taking our ideas, so I’m trying to put forth some level of caution, irregardless of how naive my designs may be.

That said I’m done sounding like an overly apologetic. Anyone interested in working with me to code this thing, I have started coding it, and would greatly appreciate your assistance and guidance.

Thanks for your time,


  [ # 1 ]

Also included in the design are my attempts at generating algorithms for dreams as they play an important role in improving mental models and input-output chaining in combination with short/long term memory to help the formation of complex ideas/outputs.

This I want to hear more about, “generating algorithms for dreams” .. 

If you’re on Twitter, give me a follow at ..


  [ # 2 ]

Considering the behavior of the human mind during the early dream cycle not during rem, it would simply be to reanalyze certain sections of the previous “Awake periods” inputs which would enable the improvement of mental models. As for REM sleep it is like a complex thought as in their are multiple steps, it sort of follows the inception logic that you perceive while you experience. As far as I am ware during REM sleep the human mind goes through the process of re-evaluating the days proceedings in new fashions/situations, therefore it can be assumed that said action would require NEW inputs not just the previous, the mind would be required to supply them to itself as its exterior senses are not activated during sleep. As a result using the Rule structures already in place in the mind of the AI, it would be possible to essentially run the program forward to gain outputs (obtained genetically rather then arbitrarily) and then to take those outputs and cycle them to inputs as if they were being interpreted by the senses. Essentially it would be the mechanism of the imagination running wild. Using the short term memory the imagination (as a mental workbench) is possible, and not only that it is required for complex idea chains and dreaming.


  [ # 3 ]

Jon, are you on YouTube?  I would like to see some kind of screencast highlighting your work ..  Do you have *anything* that functions yet?  What is your frontend, anything you can put on the web??  Are you blogging about your R&D?

BTW, I studied biological psychology for many years, and you seem to be coming as close as any cyberneticist I’ve come across ..


  [ # 4 ]

Hi, Jon, and welcome to! smile

While I can’t be of much assistance with coding your project (what I know about C - of ANY flavor - could be placed on the head of a pin, and still leave room for the dancing angels), I may be able to assist in other ways, such as taking a generalized concept (e.g. your “dreaming” concept), and providing possible concrete, logical steps that could be used to create a usable algorithm to accomplish the task. Or I can just get the coffee. raspberry

For example, what I’m seeing for your dreaming module is a module that gathers the input/output logs for the day, creating parse trees that substitute known synonyms for various nouns/verbs/adjectives/etc. and analyzing them semantically, devising alternate outputs that convey the same information/idea/theme. These alternate outputs can be stored as “templates” that can be used to alter or enhance future outputs.

Just a thought. smile


  [ # 5 ]

So, I just did a Google Scholar search for “allintitle: (algorithm OR algorithms) (dream OR dreams)” .. which revealed only one potentially pertinent title, “Genetic Algorithms at the Edge of a Dream” (1997) by Cathy Escazut ..  I then did another Google Scholar search on that title, and came up with “Continuous Parameters in Dreamy Genetic Algorithms” (2002) by Gaudet, Chambers & Simon ..  If anyone is aware of further published research in the area, I would very much like to learn of it ..


  [ # 6 ]

Sadly no, at this point i can roughly estimate my progression into the development at 7-8% to a proof of concept, several good days of coding granted me around 1400 lines, I’m also taking summer classes as an undergrad and working so things are busy. However I’ve barely begin to scratch the surface of the project. However I will hopefully have something by the end of the summer. Furthermore I should probably actually explain how the input system works. Inputs enter the system, here it meets a short algorithm that based on prior context using what i term rule-addresses (mental short hand)  it picks certain inputs from the selection that enter the AI. This in essence allows the AI to have widely varied responses if someone were to type in the same sentence many times. Basically it takes the inputs, finds the rule it has the most in common with contextually along with the most genetic success and then sends a single input to the into the AI representing the data, it uses symbolism and stores all data nominally. Even if you were to enter machine code it wouldn’t know how to handle it initially but over time it would slowly pick up on it. Just like it takes babies the first few months of their life to learn to see, etc. The symbols it sends are essentially nonsensical strings but they are better then the entire input cache 2fold, 1, it prevents constant searches and enormous processing time later for the AI as the inputs are sent simultaneous to the needs, emotion, rule choice and rule critic modules.  Their functioning is something separate all together. I really am not doing this justice, its actually quite complex as compared to this. secondly it allows pretty much any data to be stored, one could enter garbled nonsense as so long as there existed patterns, eventually the AI would learn to see it. What happens in the AI is that several sections communicate with one another such that they have inputs coming from other sections and outputs going to other sections so i figured it would be best to try delegate the inputs to the system from now on by referring to them as INPUTS and the outputs from the entire system as OUTPUTS respectively. The minor communications shall noted separately to distinguish them. From this point 2 things happen, the needs are evaluated, they affect the emotions, then the emotions and the inputs affect the rule selection. Several rules are chosen at once to be used, these rules aren’t all used. The information is then passed to the rule critic which essentially now chooses ratios based on all the input data, context included to choose an evaluation criteria for rule selection. The rules are compared and then one is chosen.
This process occurs pretty much in every section of the AI when inputs and outputs to different sections are being chosen, the evaluation criteria stays consistent and therefore there is no need for an active rule critic, nor multiple rules to be chosen simultaneously. What takes the place of that is a almost neural net like behavior, where tables of rules (they classify rules in a fashion) are active for the section and if a rule isn’t found on the table ‘linked’ tables are used to try to find the rule. Links are evaluated on the criteria of number of connections from the active to the other table/ all outgoing connections from the active table and then is also evaluated dynamically based on the most common inputs and previous rules (context).
The dream “cycler” is an algorithm that is attached to the complex thought chainer, essentially they are one component. unlike the other components they do not exhibit genetic behavior but act as a switch board activating the short-term memory and directing the outputs to the inputs inside the Ai. It doesn’t substitute known synonyms so much as actively change its patterns, they aren’t linked to a semantic network in the traditional sense, a semantic net arises from the behavior. However the architecture I am trying to build dynamically modifies its own mental net.  So it is possible a ‘synonym’ of the symbol might be chosen, however there is also a chance something unrelated will be chosen. Thus leading to the varied experiences of single dreams and how you could be driving a car one minute and parachuting the next.
Im sorry if this is a little hard to understand, most of it is stored as loose images/phrases in my head its kind of hard to explain without the use of pictures, etc. Also to address your previous post once again, I’ve never been one for blogging, couldn’t keep it up and I haven’t been working on this long enough to have really developed something worth posting. I was working on a java interface for a website, however i figured I should code the core engine before i stared with the front-end.  To put it this way, I’m at a point in development where not only will it not compile, but I have only 1.5 out of 16 headers for the file done. The other part of it is I design the minor details while I code, I.e. how the links between tables are dynamically evaluated. I’m also re-evaluating the model constantly, it was only recently I added short-term memory for the AI for imagination.


  [ # 7 ]

Just as an update, I revamped the model substantially. At this point in time, I have completely mapped, bur have not coded algorithms for what i hope can successfully implement the ability for the AI to learn to parse its own input. This would give access for the AI to use a variety of mediums. If the data is tied with a hardware ID then the program could adapt to using different technologies, not just text chat. It would have lo learn new parsing techniques for each new hardware ID. This would be similar to the use of different muscles to accomplish a task, each one has to be controlled separately but can be combined to form complex motion. In this case it would be able to gather both audio and visual data from multiple different sources, learn computer code, and hopefully learn multiple languages. I also greatly extended the long term memory to act in a fashion to the ‘dream/  complex thought cycler” such that long term memories can be linked, allowing for complex thoughts to be recorded long term in the memory.Also now attached the short term memory is what I would deem an active viewing window, giving rise to the mind’s eye and voice. Finally, Ive switched languages to C# for the automatic garbage collection, writing destructors to ensure memory management got to be a huge pain, but java on the other hand requires an enormous amount of memory to run and has terrible memory management.Eventually I will port the code back to C++ to make it more universal.



  login or register to react
‹‹ STU      Your Pandorabot HTML page. ››