Programming, website development forum Get latest updates by RSS Follow TechnicalTalk on Twitter Follow TechnicalTalk on Facebook 
HomeSearchRecent PostsLoginRegisterContact Us

Username  
Password    
  Forgot your password?  

Pages: [1]   Go Down
 
  Email this topic  |  Print
0 Members and 2 Guests are viewing this topic.

Another thing...

 
webmaster forum
kintelary  Offline
Activity
0%
 
New Poster
Posts: 12
Topics: 4
March 02, 2009, 11:34:22 PM

Greetings (I forgot last post),

I need to write a program that can alter itself based on input and flags to refine data and manage information.

Do current languages have the capabilities to develp such commands??


--kintelary (and by way of introduction, a newly initiated middle-aged electrical-computer-software engineering student)
 
webmaster forum
polas  Offline
Activity
33.33%
 
Code Guru
Gender: Male
Posts: 1399
Topics: 85
WWW
March 03, 2009, 09:57:14 AM

Hi, nice to meet you.

What sort of thing are you planning to make? - without knowing its difficult to advise you exactly. Self morphing programs certainly are possible to write (afterall this is what viruses do), but probably not what you need here. A program can compirise of multiple conditional (if) statements, by using flags to save the state you can modify the behaviour of a program. By using this approach in a general manner I guess it would achieve what you need

Mesham Type Oriented Parallel Programming Language, Free online technical support
 
webmaster forum
kintelary  Offline
Activity
0%
 
New Poster
Posts: 12
Topics: 4
March 03, 2009, 09:30:20 PM

I want to make a computer that learns human language from audio input and video input that can write itself a program to remember the language learned and sort it according to what it calculates as the nearest match, while making adjustments as more information is received so that it can rewrite its own source code and reprogram itself based on new information.

A Huge Project.
 
webmaster forum
polas  Offline
Activity
33.33%
 
Code Guru
Gender: Male
Posts: 1399
Topics: 85
WWW
March 04, 2009, 02:50:32 AM

I will just keep my responses in this thread (and not the other) - else we will loose track of where we are at!

Yes, quite a project, but similar ones exist which you may be able to get some hints off (a google search should turn up some results.) You might very well want (for AI) to go down the reprogramming route, although bear in mind this will add some degree of complexity. Personally, the way I would deal with it is to write a general program which has a database behind it, the database storing what it has learnt (words, grammer etc) and use the data with the program to achieve what you want. This is simpler that allowing the program to recode itself and, if succesful, you can always add the recoding bit later.

The way I  see it you have a number of different issues:

1) Decoding the audio, visual input into an understandable form
2) Analyse the input with a number of algorithms/heuristics to "learn"
3) Store the learnt information so can be used and also to assist with future part 2.

Now, there is no point reinventing the wheel - there are plenty of open codes out there which will help you achieve part 1, and personally I would use them for that issue. I see the main challenge to be part 2, and that is where a lot of research is directed at, you project will succees or fail based on how succesful 2 is.

Sounds a lot of fun, keep us posted to how you are doing....

If you want to look at a language recoding itself, then take a look at reflection - wikipedia has a good introduction article http://en.wikipedia.org/wiki/Reflection_(computer_science), quite a few languages (including Java) have good support for it and, if I were to want to follow the recoding avenue, it is certainly something I would look at and consider in depth.

Mesham Type Oriented Parallel Programming Language, Free online technical support
 
webmaster forum
kintelary  Offline
Activity
0%
 
New Poster
Posts: 12
Topics: 4
March 04, 2009, 10:07:20 AM

I believe that the limitations are hardware.
One of the reasons that organics like us are so efficient is that we have been created with an integrated system of input/export/imprint devices (so to speak).
Our mind doesn't work in 1's and 0's, it works in visual impressions and audio impressions and tactile impressions through impulses.
There is no computer in the world that could process all of that with 1's and 0's, let alone low watt power supplies.

So, by limiting the problem to language processing, we attempt to narrow it down to something we can handle.
The problem I see with #1 in your post is that of an "understandable form" to a computer that works off of a simple 1/0 switch in electricity.
In order to effectively create an efficient audio/visual input, it has to be integrated with multiple processors working simultaneously.
#2 is interesting... we want to program computers, but we have to teach children and allow them to learn as they grow through stages.
In the organic world, we have a system of learning that interacts with the environment we are part of and that can affect us.
In order for a computer to effectively analyze the input, it will have to be connected to the environment in which the input is coming from.
#3 is where things get even more complex, because the ammount if input in a single conversation can overwhelm a child's mind because they have no referent for the level of experience required to understand the information.
The reality is that a computer would have to rely on programming from a programmer that understands the world and then the computer would have to analyse and process the information received based on the interpretation of the programmer/s, not the interpretation of the computer itself.

So, there are a lot more issues involved with #1 and #2 and #3 because they cannot be developed seperately, but have to be considered a whole, which makes our current hardware inadequate.

These are just some thoughts... brainstorming... free association and all of that.
Just something to think about.
I am not started on the project yet, I am evaluating the viability of such a project.
If I do ever become involved in such a project, then I will definately make the progress available (open source and free to all) Smiley
 
webmaster forum
kintelary  Offline
Activity
0%
 
New Poster
Posts: 12
Topics: 4
March 04, 2009, 10:20:45 AM

Thanks for the Wiki
I will look into that more.
Reflection sounds interesting.
 
webmaster forum
polas  Offline
Activity
33.33%
 
Code Guru
Gender: Male
Posts: 1399
Topics: 85
WWW
March 05, 2009, 04:00:59 AM

As far as the hardware goes, the article http://www.transhumanist.com/volume1/moravec.htm might be of interest to you - it discusses when hardware will match the human brain and issues involved.

It is surprising how similar our brains are and computers (of course computers are partially based on the brain), but it makes you think. As far as processing input (point 1) there are speach recognition programs out there which translate the spoken word onto the screen, of course what you aim to do is much more complex, but you may be able to get some hints/reuse out of these to make the job slightly easier.

I agree #2 is a challenge! Like yourself I was thinking how we as humans learn - for instance to learn a cat is called a cat we see the object and associate the word with the object.... much harder for a computer to do with far fewer senses. What I considered was linking the machine to wikipedia, so that when it gets a word as input it is unsure of, it can look that up and its associated meaning. The issue here is of course parsing wikipedia and having it in an analysable format.

Bear in mind with point 3, complex systems (like compilers) can do things which the programmer never actually wrote in explicitly (by combining the smaller aspects into one large one.) So I can see that a machine could do this, but of course it's difficult.

Here is a question - lets say you get all this working properly.... is the machine intelegent? How do we define intelegence? I am sure it would pass the Turing test, but what will have been created? You could have this system "alive" but will it be self aware, will it be able to master new complex tasks? I look at animals and think that they can not speak or understand words, but in their own way they all have some level of intelegence. Personally for myself if I ever tackle a project like this I think I would concentrate on that aspect and try to make the machine self aware (what ever that means.)

Lots of questions - very few answers Wink

Mesham Type Oriented Parallel Programming Language, Free online technical support
 
  Email this topic  |  Print
Pages: [1]   Go Up
 
Jump to:  



Powered by SMF 1.1.15 | SMF © 2011, Simple Machines


Google visited last this page January 25, 2012, 09:18:40 AM