# Thread: Artificial Intelligence... Calculator? [CAI]

1. I'm currently working on something I have dubbed CAI for short. It stands for "Computational Algorithmic Intelligence", and it is... well, a calculator that has no idea how to perform math operations. You can teach it math problems, it'll create an algorithm for each operation, store it in RAM, and then use it to solve problems you input to it.

Basically, to teach it you give it two inputs and one expected outputs. It uses its current algorithm to try the problem, but if it doesn't work it'll work backwards, changing the last instruction, and if that doesn't work it'll change the previous one, etc.

I'm using Logisim for it, but I created a separate "User Interface" subcircuit and I can't get both the main, the AI, and the UI to simulate all at once. Can anyone tell me how to fix it?

Also, my idea of Artificial Intelligence is something that does not just follow instructions, but can modify its own instructions to attempt to get an outcome.

Anyone have any thoughts on how this could be improved? I could go into more detail, but I've decided not to be too lengthy as this is my first post.

2.

3. That sounds really interesting - good luck with it.

4. Bump... software limitations.

5. Originally Posted by Blahgory
I'm currently working on something I have dubbed CAI for short. It stands for "Computational Algorithmic Intelligence", and it is... well, a calculator that has no idea how to perform math operations. You can teach it math problems, it'll create an algorithm for each operation, store it in RAM, and then use it to solve problems you input to it.

Basically, to teach it you give it two inputs and one expected outputs. It uses its current algorithm to try the problem, but if it doesn't work it'll work backwards, changing the last instruction, and if that doesn't work it'll change the previous one, etc.

I'm using Logisim for it, but I created a separate "User Interface" subcircuit and I can't get both the main, the AI, and the UI to simulate all at once. Can anyone tell me how to fix it?

Also, my idea of Artificial Intelligence is something that does not just follow instructions, but can modify its own instructions to attempt to get an outcome.

Anyone have any thoughts on how this could be improved? I could go into more detail, but I've decided not to be too lengthy as this is my first post.

I love people who have creative minds!

6. Okay, so I can create it now, but I don't know how to automate it. It'd be cheap and fake if it used clocks to toggle what operation is used. So I guess I could manually enter in a random value and let it work it's magic from there...

But it would still need clocks to change operation. Damnit! I could add logic, but that would just be a weak attempt at making it seem real.

All I have right now is a shell of an AI. I need to both automate and find a way to get it running. I also need to finish making it, since it is a hardware-ish AI. (I'm creating it in Minecraft because I like being able to walk through my work, literally). So if anyone can give me advice, please help!

7. I haven't seen enough detail to know what you are trying to do, but if you don't want to clock it and cause things to run at specific times, then the alternative is to make it asynchronous.

For example, it starts when an input is received (e.g. from the outside world), And, if there are a number of separate modules (e.g. for each "operation") within it, then each of these is triggered when an output is available from another module. I'm not sure if that helps ('cos I don't really know what you are trying to do!)

If the language you are using doesn't support some sort of asynchronous wait (e.g. semaphores) then you might have to implement that by regular polling (which would use a clock, but not to actually run the code, just to check when it can run.)

8. Here's a screenshot (moved everything into the main and I'm back to Logisim):
Click to open and then click again in new tab to zoom in/out.

9. I am interested in ai and ai theory.It seems to me what you have here,regardless of its circuitry,is something for using alogerithms.You have logrithms the ai source and an expected answer.If the expected aanswer is not reached then you have problems.From a theory standpoint this seems funny to me.Why would you ask for it to the comparisons of logrithms if you already have the expected results.Then if the answer is not correct what are you doing to the circuitry,making it go back and do it over and over again,Punishing it for an incorrect response.This ai you have invented might be more intellegent than you think.The nessary computations the result expected ai designers do this all the time.This is a tape recorder not ai using this method.Ai takes a lot of common sense to design.Next step dream big give it sensory motor feedback and storage and an optics input then let it read a math book and figure it out for own self.Then it could give you the expected answers easily.

10. Originally Posted by sapien
I am interested in ai and ai theory.It seems to me what you have here,regardless of its circuitry,is something for using alogerithms.You have logrithms the ai source and an expected answer.If the expected aanswer is not reached then you have problems.From a theory standpoint this seems funny to me.Why would you ask for it to the comparisons of logrithms if you already have the expected results.Then if the answer is not correct what are you doing to the circuitry,making it go back and do it over and over again,Punishing it for an incorrect response.This ai you have invented might be more intellegent than you think.The nessary computations the result expected ai designers do this all the time.This is a tape recorder not ai using this method.Ai takes a lot of common sense to design.Next step dream big give it sensory motor feedback and storage and an optics input then let it read a math book and figure it out for own self.Then it could give you the expected answers easily.
There will be a second part of the "AI", that solves problems. And it's just trial and error... I'm going to try to apply it to more things than just math (driving a piston-powered monorail) and improve it along the way. Hopefully I can make it completely autonomous, but... it will require a lot of improvements.

In my opinion "Artificial Intelligence" is anything that does not just follow a set of instructions, but can modify them to better achieve their goal(s). In this case, the goal would be to solve math problems correctly.

11. Does anyone wish to collaborate with me on this?

12. I'm making some improvements; working on the register technique. Added two new operations, SHIFT and REG. SHIFT shifts the register's data to the logical right. REG sends the input to the register.

13. I attempted AI in Minecraft too. Randomization might be best for a system which does math, because that is more compact. Another option is hebbian learning. I don't know exactly how you could use hebbian learning for math, because math requires precise answers and hebbian learning is meant to create approximate answers (or rather, interpretations of inputs. This method is used by the brain for perception and prediction.) Just something to look up if you want.