Computing.Net > Forums > Programming > AI...just a question

Computer Problems? Computing.Net has over 1,000,000 posts about all things technology related! Over 90% answered within 24 hours! Click here to start participating now! Also, be sure to check out the New User Guide.

AI...just a question

Reply to Message Icon

Name: liquixcat
Date: November 5, 2003 at 11:34:03 Pacific
OS: WinXP
CPU/Ram: celeron/512mb
Comment:

I saw this cool program that works in 'AI', and this program actually draws original paintings all by itself. Now, i was thinking, could it be possible to do the same thing, except instead of it drawing pictures, it writes it's on C and then compiles it. In a contained enviroment (ie. no internet access) it would be interesting to see what an AI program would compile. Although this is just a suggestion, and i have no idea if it would work. If it did, it could possibly make better AI...lol...please post comments



Sponsored Link
Ads by Google

Response Number 1
Name: Infinite Recursion
Date: November 5, 2003 at 16:27:21 Pacific
Reply:

Now, this is a fairly interesting concept.
I am sure it would be possible. You would just need to have defined methods and rules at which the AI could construct a program. Basically, make rules out of syntax and regular expressions to have the AI follow.
Set certain constraints, boundaries... Randomize mathematical functions, display methods, concepts, classes, and have it build something. Teach it inheritance and let it define a class that inherits certain attributes from another class. Yet, it makes no sense for an AI program to pull information from an airplane class and try to simulate a farm using inheritance. So, there need to be rules for related information. Perhaps set aside certain categories for each class, and only inherit things from a class within that category. It would be interesting and difficult enough of a challenge to have it working 100%. Sounds like a good senior project.

IR


0

Response Number 2
Name: anonproxy
Date: November 5, 2003 at 19:02:22 Pacific
Reply:


There are two types of AI - strong and weak. Strong seeks cognition or intelligence and weak seaks merely simulation according to predefined or programmed (maybe even as realtime input) boundaries.

Strong AI has to learn. It does not learn if you tell it not to do something or to do something else. You can set it at a higher level of intelligence and give it fake experience, but from there it has to adapt beyond those boundaries to discover new boundaries, and still further develope it's own pattern and processing techiniques. In other words, the strong AI has to develope itself. Perhaps a chicken-and-egg problem.

For example, let's say I have a computer that knows how to play chess. It does not have strong AI, but several components working together to return decisions. Basically it has decision-target logic, not decision-making logic (DTL vs. DML). Decision-target logic attempts to find a solution, but needs boundaries (the rules, as it were) in which to find those answers and procedure to perform the targeting.

An example of DTL is interpreting an endgame database (for chess - a very big database incidentally), where all possible moves and results are encountered through various techniques. This is pure logic procedure, not congnition or intelliegence.

Decision-making logic uses a process the AI developed (with some help probably), using information the AI selected, in the context of boundaries which the AI has functional understanding of (not required, but arguably fundamental to the development of strong AI). DML is as close to strong AI as we can come within what we currently understand. It has not been reached, though. DTL is currently what we are playing with and it is complex in its own right.

Anyway, onto our little problem.

"it writes it's on C and then compiles it."

Well, the program can be done with DTL. We have all the rules and procedures, and we can set the AI to run parser checks on itself in response to compiler errors (or better yet integrate the compiler, parser, and writer into one messaging core - Perl runtime interpretation + a writing program comes to mind).

But the real problem comes when we want DML. What are the limits of our DTL? Three key problems:

1) How does the AI program know what to program? Better define some tasks with DTL (maybe use a UML-like library of objects), but this is a weak AI solution.

2) How are compiler errors resolved when one solution causes another problem (infinity will be getting closer all the time)? We best tell the program to go back and just try something else when it encounters this (again DTL). How do you resolve multifaceted problems in the correct order?

3) How does the writer interpret multiple ways to store the same data (or on a higher level) to solve the same problem?

And forget about OOP. You would end up hardcoding too much.


0

Response Number 3
Name: Infinite Recursion
Date: November 5, 2003 at 22:33:56 Pacific
Reply:

"...the strong AI has to develop itself..."

Indeed, yet the initial AI must have a set of rules to follow. An "instinct" if you will... Then build its foundation by deriving knowledge of the rules and constraints. Eventualy, making it become a sort of internal expert system for generating its own intelligence within the constraints of the designer and its basic knowledge of how things operate. Ultimately, what you have to work with is decisions and rules.

"1) How does the AI program know what to program? "

This is where OOP could play a role, hardcode it if you must. Basically, have a categorization system established assign certain components to a category and when you specify what category the program must be, the AI pulls from the data at hand that is relevant to that category. For instance, if I want a chess game, look into games, derive board games, derive chess, then derive each of the components. OOP inheritance in its glory, one class extends another. If you hardcode it and need to make modifications you may be fairly bad off. If you desire to hard code it, at least have some form of a constant location where those values can change with ease, instead of digging through thousands of lines of source code.

"2) How are compiler errors resolved when one solution causes another problem (infinity will be getting closer all the time)? "

Back to the categorization scheme, you define the error to be of a certain type, in a certain category. Narrow the error down to a select few from a list of possible known errors. Have the code back up and try each solution with a success / failure ration and select the best option. If needed, have nested solutions, if one thing changes another change may be implied. This should also accomodate the encounter the multifaceted problem to an extent.

"3) How does the writer interpret multiple ways to store the same data (or on a higher level) to solve the same problem? "

The system would not initially know how, obviously. But it could learn over time, storing the data in each predefined way. When the data is stored, the system could account for resource allocation, ratio of used and unused portions of space, processing time, access time, etc. Having the categorization scheme instantiated would prove beneficial as well because when the system encountered something from a category that was stored prior to the current encounter, it would have a record of the storing procedures when the category was first encountered and can derive what would be the most "cost effective" in terms of resources. Either using the predefined way, the stored way, or a combination of the two at its own discretion.

OOP would benefit in this concept, simply the object oriented thought process would allow for a more coherent design. If you hardcode the system, you need to ensure that you can easily modify it when required.

Could you imagine the flowchart of a design of this nature? Impressive.

IR


0

Response Number 4
Name: Liquixcat
Date: November 6, 2003 at 11:48:23 Pacific
Reply:

If it were to work, i'm pretty sure there would be rules and predefined procedures anyways. For several reasons.
1. It could get out of control. Not saying it would cause the 'matrix' effect where AI starts taking over, but it may get out of hand and start making programs that don't do anything.
2. If AI didn't need predefined options, then there would be actual AI, which i have yet to come across. I may be wrong, but actual AI i think is a bad idea.
3. How would it know what to do?

This 'AI' program would be for pure interest in results, and i wouldn't expect much until there is actual AI.

Now as you mentioned, strong AI and Weak AI have there differences, but as far as i have noticed, they both start with predefined actions and if they were ever past that, it was actions it came up with on it's predefined actions. the only way that the program could program i figure is to use it's own algorithms like this painting program did. Which still was predefined.


0

Response Number 5
Name: anonproxy
Date: November 6, 2003 at 19:52:07 Pacific
Reply:

"but it may get out of hand and start making programs that don't do anything."

That would be ideal. In fact, it would be better if the program could understand (or even better still come to understand) that these programs in fact did nothing at all. Then it could correct itself, without anyone ever programming it to change its behavior in that regard. That would be a great step.

"I may be wrong, but actual AI i think is a bad idea."

Your opinion there. Allowing humans to have freedom can in some cases be a bad idea as well (they sometimes choose to exercise it with poor and even destructive choices). If you want to create (or maintain) intelligence, then you have to set it free, in one way or another. I do not think all strong AI researchers want to believe this, but that is what a human-like AI will eventually achieve (some kind of freedom).

"How would it know what to do?"

The AI has to figure that out. Sure, we can tell it what this function does, provide it numerical operations, and even a few sample statements and expressions, but in the end the AI has to find out what works. The developer solves this recursively, starting with one task (like getting the AI to develope proper code based on proper input) and then developes another component seperately (like getting the AI to recognize bad input). Eventually the depth of ability is sufficient for the program to run.

"they both start with predefined actions"

Sure, but that is the closest thing the two have in common. From there, weak AI is doing and strong AI is observing itself and changing itself. The weak AI can be seen as having no perspective or scope outside of the current task (even very big and complex tasks).

"the only way that the program could program i figure is to use it's own algorithms like this painting program did. Which still was predefined."

That program was weak AI because its predefined processes were all it had. It never grew out of them, and had no hope of growing beyond them. It was only exercising what it had, not developing and expanding it. But still further, Strong AI understands, or always attempts to understand the meaning of its processes. This is, after all, what helps develope new ones. When you determine that x does not always equal y, you set about seeing what else x can equal and just what that means. Once you learn that, you never can observe the old processes the same way.

There are no strong AI systems yet in existence (unless you are counting the human brain and similar organisms). Some argue that we will never need them, as DML in a weak AI will be enough to simulate intelligence.



0

Related Posts

See More



Response Number 6
Name: Infinite Recursion
Date: November 6, 2003 at 20:40:25 Pacific
Reply:

Weak AI is like handicapped intelligence. It cannot progress beyond what is predefined. So a program that paints with predefined instructions is on the opposite side of the spectrum from AI that writes and debugs optimized source code. However, I still do not believe this type of system is impossible... I actually gave an initial design some thought.

For that matter true AI, is not impossible and, in my opinion, it has beneficial uses for society at large. A machine that can think and logically work through and solve problems as if it were human seems so far flung now that most people think its just a theoretical concept and that it is all it ever will be. However, the same thing was said about space exploration. Also true, is that when space exploration was being researched everyone wanted to know if there is a need to go to space and wanted to know why spend money on researching it, much like current individuals do today. Both topics will be debated for years and everyone will have there opinion and everyone will be influenced by it either directly or indirectly. Keep in mind, machines can go where humans cannot, or it is not feasible to send humans, this alone makes AI a valuable tool.

For that matter, if you want something to think about... The US govt kept the F-117 Stealth Fighter (airplane that avoids radar) a secret for over a decade. If they had that technology then and kept it a secret for that long, one has to ask themselves, what is going on and what is in existance that we do not know about today... only to be conveyed to the public a decade+ later. Is it paranoia on my part, or rational thought? Who knows...

Base of the matter is, if artificial intelligence is indeed intelligent and not "spoon fed" processing instructions, then the AI would have to have the ability to form its on decisions based on the information that it constructed itself within the constraints and rules of the designer.

IR


0

Response Number 7
Name: Liquixcat
Date: November 7, 2003 at 09:26:33 Pacific
Reply:

I just like to tell you now that this isn't some assignment or anything. I truly want to see if anyone can try to do anything along these lines. If you can't, well, that's cool. It was always just an idea of mine anyways. If you make a program that can do that by the basis of my idea, i don't even care if you give me absolutly no credit, because i just want to help get some ideas out there. I would like to hear if anyone figures this out and actually makes a program, as i'm sure that there are many talented programmers that have read this post. I on the other hand am NOT a talented programmer and i'm lucky if i can get BASIC to work. If you come up with any programs then I want you to email it to me at liquixcat@yahoo.com, because that would be very impressive. Even if it doesn't do much! lol


0

Sponsored Link
Ads by Google
Reply to Message Icon






Post Locked

This post is quite old and has been locked from receiving new replies. Please create a new posting instead.


Go to Programming Forum Home


Sponsored links

Ads by Google


Results for: AI...just a question

A question about ListBoxes... www.computing.net/answers/programming/a-question-about-listboxes/13010.html

VB - Just a quick question :) www.computing.net/answers/programming/vb-just-a-quick-question-/4390.html

a question about bash shell script www.computing.net/answers/programming/a-question-about-bash-shell-script/192.html