<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-30036403</id><updated>2011-08-03T03:58:02.544-07:00</updated><title type='text'>The two main problem areas of AI</title><subtitle type='html'>This deals with Artificial Intelligence in two main areas. It deals with the understanding of Nastural Language, the first problem area. It also deals with robotics and Von Neumann machines which is the second main area.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ipai.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30036403/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://ipai.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Ian Parker</name><uri>http://www.blogger.com/profile/04935165705298640950</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://photos1.blogger.com/blogger/6837/844/1600/IanParker.0.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>1</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-30036403.post-115089203028318748</id><published>2006-06-21T04:18:00.000-07:00</published><updated>2006-07-14T14:08:04.626-07:00</updated><title type='text'>Natural Language + Von Neumann</title><content type='html'>These are basically my ideas of how an AI system might work in terms of its flow diagram. A lot of this has been discussed in the user group "Creating Artificial Intelligence". There have been a number of different concepts  Some of these concepts are in essence equivalent. &lt;p&gt;This approach is essentially one that looks at the structure of natural language in a statistical way. Other concepts, like CYC start off with an attempt to reason. In fact as can be seen, reasoning ability can be built into this structure.&lt;/p&gt; &lt;p&gt;&lt;b&gt;Proposition&lt;/b&gt; - &lt;b&gt;AI research should concentrate on the Internet and large ensembles as this will be the easiest approach&lt;/b&gt;&lt;/p&gt; &lt;p&gt;It must be. Consider a AI system operating on a small system. Now we can build that small system into a spider which can then large ensembles. This is true with any system which understands natural language. It is not true necessarily of  systems designed to understand the physical world.&lt;/p&gt; &lt;p&gt;&lt;b&gt;Proposition - &lt;i&gt;Bueno espagnol &lt;/i&gt;= Turing&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Alan Turing did his research just after the second world war, his test said that if you could have a computer which was indistinguishable from a human to a human this was a criterion of AI. Since that time there has been a number of programs constructed and a number of attempts made. "&lt;i&gt;Bueno espagnol&lt;/i&gt;" is necessary for consider "&lt;i&gt;mi barco attravesta uns cerradura&lt;/i&gt;". The time honored way to beat the test is to produce a sentence that is grammatically correct but nonsense. Above is just such a sentence. If you understand English it is fairly obvious that we replace &lt;i&gt;cerradura&lt;/i&gt; with &lt;i&gt;eclusia&lt;/i&gt; and that is where we have come from, but that is going "&lt;i&gt;outside the system&lt;/i&gt;".&lt;/p&gt; &lt;p&gt;Is it sufficient? This is less clear, however one of the most successful programs was Eliza. This basically was a database responding to user input. If we were to use Google to search for the most appropriate response and then add a blather generator so that we could produce an intelligent and relevant response to every query it is clear that Turing would be passed. Mind the original database would have to be produced by humans.&lt;/p&gt; &lt;p&gt;&lt;b&gt;Proposition - Speech research is an identical problem to language translation.&lt;/b&gt;&lt;/p&gt; &lt;p&gt;The same arguments apply about context. There are lots of words with different meanings and spellings which sound the same. Only by prizing out the context can they be distinguished. "Whether, weather", "there, their" etc. The problem of differentiation is exactly the same as for &lt;i&gt;cerradura&lt;/i&gt; and &lt;i&gt;eclusia&lt;/i&gt;. Indeed you can view it as distinguishing between &lt;i&gt;tiempo&lt;/i&gt; and &lt;i&gt;si&lt;/i&gt;.or &lt;i&gt;su[s] &lt;/i&gt;and &lt;i&gt;aquel[a][s]&lt;/i&gt;. In fact speech research is more difficult than natural language translation as there are more ambiguities.&lt;/p&gt; &lt;p&gt;&lt;b&gt;Proposition - A flatpack assembler is a key stage for a Von Neumann system.&lt;/b&gt;&lt;/p&gt; &lt;p&gt;If you can understand physical space and laws and perform simple operations, a robot/robotic system can be constructed which repays itself. We know that it is possible to define a series of closed operations. After all basic industry constitutes a set of operations which taken in ensemble are closed.&lt;/p&gt; &lt;p&gt;There is in fact some controversy about how robotic research should be conducted. People are attempting to create &lt;i&gt;cute&lt;/i&gt; robots rather than anything with a real understanding of physical space. They say that it "eners our space". To me this is a question of psychology rather than one of cognitive science. I think it is important to keep these two things distinct both in the field of Natural Language and Physics.&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6837/844/1600/AI.htm1.1.gif"&gt;&lt;img style="cursor: pointer; width: 546px; height: 551px;" src="http://photos1.blogger.com/blogger/6837/844/400/AI.htm1.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:100%;"&gt;This diagrammatically describes how we can       get our first version of Q based on Spanish and English. Other languages       can be added at a later date although I think it is clear that once an       idea is proved to be viable for a pair of languages it will then start to       be applied to many others.&lt;/span&gt;       &lt;/p&gt;&lt;p&gt;&lt;span style="font-size:100%;"&gt;It is also possible to add concepts by hand an produce       an initial statistics. As can be seen statistics is produced by taking the       statistics of each language and then combining them.&lt;/span&gt;&lt;/p&gt;       &lt;p&gt;&lt;span style="font-size:100%;"&gt;We now have our first version of Q and like the individual       languages its statistics are evaluated. A word needs to be said here about       superconcepts. A superconcept is a concept which other concepts belong to.       Like a duck being a bird. The statistics associated with Q are statistics       which relate to concepts and superconcepts.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:100%;"&gt;Writing       the basic programs is not in principle complicated. What is complicated is       the fact that the statistical data base might be large, consisting of a       matrix of probabilities. There is a solution for this &lt;a href="http://labs.google.com/papers/sawzall.html"&gt;Sawzell&lt;/a&gt;.       A program in Sawzell will look like ant other but it implicitly provides a       parallel solution for databases distributed over many computers. It       basically runs programs in parallel collating the data on exit so that       each program has its own logical track.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:100%;"&gt;There is       one further point that can be made is that where we have adjectives associated       with nouns we have an insight into the properties of nouns. If we describe       nouns as C/Java classes, the possible adjectives will represent the       variables.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6837/844/1600/AI.htm2.gif"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/6837/844/400/AI.htm2.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Now if I search for "lock" as Google       stands at the moment I get both &lt;i&gt;eclusia&lt;/i&gt; and &lt;i&gt;cerradura.&lt;/i&gt; These       are completely different concepts and are treated differently in       "Q". A translation from Q to any natural language is easy       as        &lt;/p&gt;&lt;p&gt;Q -&gt; NL&lt;/p&gt;       &lt;p&gt;is a many one translation and therefore easy. The production of a       searchable database is shown in yellow. It is basically standard Google,       but some changes may be needed.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6837/844/1600/AI.htm4.gif"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/6837/844/400/AI.htm4.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;p&gt;This illustrates perhaps a model of how we       actually think The deductive module (see below) is being used We perform       deductions, and the results of these deductions may then be used to make       further deductions. There is assumed to be more than one deductive module       in the system. If you are working with a operating system like Ocean Store       which allows for cache trace back, you can make deductions on the fly.&lt;br /&gt;&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6837/844/1600/AI.htm3.gif"&gt;&lt;img style="cursor: pointer; width: 363px; height: 554px;" src="http://photos1.blogger.com/blogger/6837/844/400/AI.htm3.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You will notice that there is one yellow box. Forte for       Java, Forte is a development system for Java programs which allows you to       see the c lasses that are being used.       &lt;p&gt;The idea behind this system is that we have a number of routines which       are described in natural language. We use a description of what we want to       do. It should be remembered that if we develop programs in a disciplined       way the first thing that is done is to describe the purpose of the       software. There then follows descriptions at a more and more detailed       level. It should be noted in terms of "&lt;i&gt;reusability&lt;/i&gt;" that       the descriptions can be reused. In the version of Forte envisaged       descriptions and what is fished out in terms of the description are shown.&lt;/p&gt;       &lt;p&gt;One of the boxes relates to Hilbert Space. This simply means that       arguments are often in different forms according to who has written a       particular subroutine. A rectangle for example can be described in terms       of one of its four corners and the lengths of two sides. Clearly searches       will reveal algorithms placed in all forms. The red square is where a       description of the Hilbert space is given. This is a description which       will enable a Java module to be automatically written which will present       the arguments in the form expected by the subroutine. It should be noted       that there are packages which will do mathematics in an automated way.       They are not much used by mathematicians as, so far, they have not       produced any original math. However at this point we are just looking for       interfaces to be written, we are not looking for original mathematical       thought.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6837/844/1600/AI.htm7.gif"&gt;&lt;img style="cursor: pointer; width: 474px; height: 315px;" src="http://photos1.blogger.com/blogger/6837/844/400/AI.htm7.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;p&gt;We have a concept and a class associated with the concept.       This class variables are defined in natural language as well as in Java.       Effectively we are aiming to use the Carnegie Mellon system of levels and       what is happening can be described as a documentation standard. The class       variables can be readily obtained by looking at the concepts and getting       the adjectives associated with the concept/superconcept or by inspection.       A "form" - see example given, may be treated as a kind of subset       of a class.       &lt;/p&gt;&lt;p&gt;Information is extracted from the database by the method shown. At the       end of the search process, the concept is populated. Concepts here will       generally have superconcepts. For example we have the superconcept of a       person and the concept of a particular person. It will readily be seen       that this will fill in any form for you. You will of course still have to       fill in the pieces of the form which are left indeterminate after the       search process.&lt;/p&gt;       &lt;p&gt;If you have an operating system - like Ocean Store this could in       principle be done by the cache principle. There is a table kept of what       depends on a particular piece of information and each program is triggered       in the event of change. &lt;/p&gt;       &lt;p&gt;In another example if we put in the orbital partakers and observations       of asteroids we will get a system which is constantly updated &lt;/p&gt;       &lt;p&gt;On the ethical level it can be seen that there are unprecedented levels       of personal information. Clearly some attention will need to be given to       that.&lt;/p&gt;&lt;br /&gt;&lt;p align="center"&gt;&lt;b&gt;&lt;span style="font-size:6;"&gt;PHYSICS&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size:100%;"&gt;Physics stands in contrast to Natural Language  Here we are attempting to understand the geometrical world and the world of Engineering Physics.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6837/844/1600/AI.htm5.gif"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/6837/844/400/AI.htm5.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;CAD/CAM now involves a very sophisticated set of programs.       ProEngineer will do physical simulations and will allow you to write       modules in Java which describe the way in which the assembly works. Indeed       one can define a word in ProEngineer. ProEngineer enables you to define an       environment, such as a house and stairs and will allow the robot to behave       in a virtual house along with the control module.       &lt;/p&gt;&lt;p&gt;Quite clearly this provides a complete test environment. The transfer       functions is calculated from the ProEngineer subroutines which give       moments of inertia. When we know transfer functions we can plan our tasks.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6837/844/1600/AI.htm6.gif"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/6837/844/400/AI.htm6.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;p&gt;n a CAD package an assembly is broken down into its       constituent parts. A robot needs to recognize the various parts/sub       assemblies on the ground, pick them up and assemble them again. To do this       it needs to understand the physical properties of the parts together with       the physical capabilities of the robot(s) itself.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6837/844/1600/AI.htm8.gif"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/6837/844/400/AI.htm8.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;p&gt;It can be seen how the understanding of the physical world       is what enables a robot to perform operations. If a robot understand the       physical and the world of CAD/CAM it can perform mechanical tasks in the       same way we can. This surely must be the goal of robotic research. This       shows the diagram of a multiprocessor robotic system which is self       replicating. A Von Neumann machine, or more strictly a Von Neumann swarm.       &lt;/p&gt;&lt;p&gt;This serves to show that a robot with any real geometric/physical       sense, which does really useful things and isn't just cuddly is a       potential Von Neumann system.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30036403-115089203028318748?l=ipai.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ipai.blogspot.com/feeds/115089203028318748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30036403&amp;postID=115089203028318748' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30036403/posts/default/115089203028318748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30036403/posts/default/115089203028318748'/><link rel='alternate' type='text/html' href='http://ipai.blogspot.com/2006/06/natural-language-von-neumann.html' title='Natural Language + Von Neumann'/><author><name>Ian Parker</name><uri>http://www.blogger.com/profile/04935165705298640950</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://photos1.blogger.com/blogger/6837/844/1600/IanParker.0.jpg'/></author><thr:total>6</thr:total></entry></feed>
