My Computer Forum Computer Science Forum

Go Back   My Computer Forum > Computer Science Forum > Artificial Intelligence

Artificial Intelligence Artificial Intelligence, Artificial Life, Automated Reasoning, Computer Vision, Machine Learning, Computational Linguistics, Robotics


Reply
 
LinkBack Thread Tools Display Modes
April 27th, 2010, 03:20 PM   #1
 
Joined: Nov 2009
Posts: 21
All knowledge of humanity.

Today, I was thinking in how is possible to have all the knowledge of world.
And I answered to myself. It is simple, is just have a computer with good HDs, Memory and Processor.
BUuuuutt...
I continued thinking beyond ours days. And my question is: Is possible make a machine to administer all knowledge of humanity and talk with us?
[as in Smallville, Clark Kent - Kalel (Tom Welling), has the fortress of solitude, and there is all knowledge of humanity.]
maykon.caique is offline  
 

My Computer Forum is free to register and we welcome everyone!

May 6th, 2010, 08:31 AM   #2
Site Founder
 
julien's Avatar
 
Joined: Dec 2007
Posts: 414
Re: All knowledge of humanity.

Probably not so easy ... we'd probably need to replicated our neuronal system, which would be almost infinitely complex considering the number of synaptic connections. Storing all the data in the world is not easy, but replicating intelligence I believe is a much more difficult problem (but I'm not asserting that it's impossible, just very complex)
julien is offline  
May 14th, 2010, 09:47 AM   #3
 
Joined: Nov 2009
Posts: 21
Re: All knowledge of humanity.

What is needed to do it? I mean, what we need to study to do these things.
Math, Physics, the brain... what?
maykon.caique is offline  
September 8th, 2011, 06:06 AM   #4
 
Joined: Sep 2011
Posts: 1
Re: All knowledge of humanity.

I've been looking for some information on AI when I came around here.
But I have to admit, I'm a little bit sceptical, or rather I believe more in human abilities - that cannot be replaced by AI totally (even if computers are often better).
Antoine.Culee is offline  
September 8th, 2011, 11:25 AM   #5
 
Joined: Sep 2011
Posts: 13
Re: All knowledge of humanity.

Here is an example of a project which suits the goal I think you seek.

http://en.wikipedia.org/wiki/Cyc
http://www.opencyc.org/doc/opencycapi
John Creighton is offline  
September 13th, 2011, 02:42 PM   #6
Site Founder
 
julien's Avatar
 
Joined: Dec 2007
Posts: 414
Re: All knowledge of humanity.

This Cyc project looks very interesting ... any concrete realization that came out of it ? In other words, what would a programmer armed with this AI database be able to design ?
julien is offline  
September 14th, 2011, 12:03 PM   #7
 
Joined: Sep 2011
Posts: 13
Re: All knowledge of humanity.

Quote:
Originally Posted by julien
This Cyc project looks very interesting ... any concrete realization that came out of it ? In other words, what would a programmer armed with this AI database be able to design ?
On the discussion page of Wikipedia the following like to a video about it is given:
http://video.google.com/videoplay?docid ... 5049492068

If I recall correctly the main examples they gave were data mining examples and they compared a search using syc to Google. The military and intelligence agencies use this technology. I am not sure what tools they use which aren’t available in the open source version.

The basic goal of AI is to make it as real as possible. That is we want to reduce the artificial part of artificial intelligence. That is we want to do as little programming (the artificial part) as possible and have it generate the largest result set as possible (the intelligent part). This is known as the A to I ratio.
In the context of programming consider the visual basic code:
Code:
if x like “*add*” then
‘do something’
End IF
One might use a function like this if they were filtering a list of functions to show only the functions which are related to addition. Because “like” in visual basic matches patterns in a non case sensitive way this if branch takes care of a large number of cases with a very small amount of code. The A to I ration in this case is much better then dealing with each case separately (the code doesn’t smell).
Some languages like perl and powershell take this a step further by providing similar match operators but match a regular expression instead of a basic shell pattern like above. With a tool like cyc we can express even more general conditions like
Code:
if x isa noun then
‘do something
End If
In most languages the isa operator is related to the type system. While type systems are good for proving programming they are static (that is everything must be known in advance before the program is compiled) .

Moreover some type systems don’t deal well with things such as multiple inheritance, contra variance, covariance parameterization and type inference.

We could create a function (rather then an infix operator) which does the same thing, albeit less elegantly or we could use a language which allows us to define our functions infix like Haskell. While Java (the language open cyc is programmed in) does not let us define our functions as infix operators I believe scala (which runs both in the java virtual machine and in the dot net runtime environment) does. Additionally Java has another piece of software which is interesting called, Apache Hibernate, which allows Java objects to be mapped to a database model. Cyc is essentially a database and I wonder if it is possible to use harmony to map java objects to the cyc system.

Java also supports proxies. I wonder how hard it would be to integrat Java proxies, cyc and harmony. I could type something like:
Code:
can.can(“can can”)
Or
can.can(can_can)
and java would implicitly query the cyc database and return a result object would give the following answer, reason and source.
Code:
Answer: “No”
Reason: “A can is an inanimate object and only animate objects can can can.”
Source: “”
Now if we wanted to use this result in a logic branch we would need a function or operator which converts it to a Boolean. Even more concisely we could right a function or operator which takes an object and an action. We’ll call this function “can” and it will call the method can of the object gets the result and returns true if the answer is yes. Thus we would right
Code:
If mycan can “can can” then
‘do something
End If
Another interesting function might be “a” The function “a” would take a class and return a typical instance of that class. With this function we could right:
Code:
If a mypackage.myclass can “can can” Then
‘do something
End if
This way we don’t need a specific instace of the class. We only need the class its self.

Now with regards to proxies “can” is a verb. Verbs (sometimes connected with preposition e.g. "went to") generally have two arguments which are noun phrases. Thus a proxy could take an arbitrary verb apply it to the object which it is invoked on and query the cyc database.

Such a method call via proxies would like “noun.verb(arg)” and accepting the noun which the method is invoked on as the first argument and querry the database. If we do this in a generic way using proxies we don’t need to specify a separate method for each verb. Instead we define our verbs within cyc.
John Creighton is offline  
Reply

  My Computer Forum > Computer Science Forum > Artificial Intelligence

Tags
humanity, knowledge



Thread Tools
Display Modes






Copyright © 2018 My Computer Forum Forum. All rights reserved.