Home & Updates
Recruitment
Aims
Documentation
Current Features
Screen Shots
To-Do List
Commercial Roadmap
Resources
Contact

The AI Project aims to create a working Artificial Intelligence engine which will be available to the masses.

Currently in its infancy, this project will evolve into a piece of software which can be run on any computer and shall be able to imitate the thought process of a human.

The first phase of development which is currently underway, involves the creation of a computer a program which simulates an understanding of natural language (English). The first/early versions of the software will concentrate on data retrieval using natural (English) language.

The program is being coded in VB.NET.

The homepage of the ai project has now changed. Please goto www.aiproject.co.uk.

 

 

Updates


20/10/2010
Cleaned up the General Info Verification Algorithm.
Cleaned up the internet browser closing algorithm.
Added some more controls to the GUI.
All the algorithms are now performing more reliably.


17/10/2010
Introduced tooltips to the GUI.
Altered the SimpleSearchHitCountGenInfoAlgorithm.
Now, if searchCount = 0, verificationValue = inconclusive.  It no longer gives a verificationValue = false.
The SimpleSearchHitCountGenInfoAlgorithm now only gives verificationValue of true or inconclusive.


16/10/2010
Completed a basic database searching algorithm
All results are returned in a 2 dimensional array.


15/10/2010
Introduced MySQL Database
Thus far, AICore has been using a set of text files to store all its data. A MySQL database has now been setup as a service and from here on in shall run 24/7, allowing developer versions of AICore to access/save data from and to it. As yet, AICore does not use the database, however, this should change in the coming months.


14/10/2010
General Info Verification Algorithm.
For the last 2 weeks, all development has been centred on completing the basic version of the General Information Verification Algorithm. The basic algorithm is almost complete though it still needs to be tested a little.


01/10/2010
New domain name.
Domain name: www.aicore.co.uk now points to the aiproject website.
It is envisaged that the engine which the server uses shall be named AICore. This has yet to be decided, though.
 

30/09/2010
New host. New domain name.
Switched host from 50webs to a dedicated host with new domain name: www.aiproject.co.uk. Changed contact email address and links to reflect the new domain name.


29/09/2010
Updated the google docs 'New Collaborators, Readme' page
Added information on how new collaborators should go about  installing, testing and following the code paths of the AICore program (code).


24/09/2010
Developed the general information verification algorithm
Have created empty subs and functions, yet to be implemented. The verification algorithm will take a line of general information which user types in. It identifies the line as general information. It then attempts to calculate whether or not the line of input is factually correct or not. It does this by searching its own files and also the internet. If the line of input is verified as being factually correct, this information is saved in the relevant file, with suffix: true.


11/09/2010
Continued work on the internet browser algorithm.
The user is now able to select which web browser to use. The user is also able to input new web browsers and show AICore the locations of new (as yet unavailable) web browsers. Modifications were made to the original search algorithm, to improve efficiency when opening/closing web browsers.

Continued work on the internet search engine selection algorithm.
Some finishing touches still need to be put in, which shall be completed in the next few days.


06/09/2010
Continued work on the internet search algorithm.
This algorithm is going to be fairly large and therefore will be work in progress. Many of AICore's knowledge will be derived and checked by using internet searches. The important thing is for AICore to be able to learn from not only the users it communicates with, but also by reading information on the internet.

Work has been completed on the first version of the basic internet search,
such that for a given search string, AI is now able to find out how many successful search results have been returned.
As yet, only Firefox (Mozilla) is supported, however, support for the other 2 (major) web browsers shall be added later this week. Also, as yet, only 1 search engine has been programmed for use. Use of other search engines shall be coded in the coming weeks.


05/09/2010
Continued working on the General Information algorithm.
Revised the way in which general information is saved. Also revised the algorithm itself. At present AICore doesn't use the latest version of the algorithm, but this shall be worked on later this week.


02/09/2010
Brainstormed techniques on ways in which to use internet searches.
Started work on the internet search algorithm.


29/08/2010
Brainstormed techniques on spell correction.
Started work on the spell checking algorithm.


27/08/2010
Continued working on the General Information algorithm. Created methods to update the General Information Files.
Also converted the IO Module into a class, which has helped improve the speed of the program, as measured by use of the simulator.


21/08/2010
Created GeneralInfoKeyWord file/array.
This array holds a list of words which help identify whether or not a sentence contains general knowledge or not. This list is dynamically changed as more general information is input and identified.


18/08/2010
General Knowledge (Information) Algorithm.
Started work on developing/coding an algorithm which identifies general knowledge/information from user input and then stores it in its GeneralInfo file/array. Once stored, AI shall then be able to recall this general knowledge.


17/08/2010
Sentence saving algorithm (save to sentence bank).
Completed work on an algorithm which saves sentences to file and memory. When AI is replying to user input, it will have the option of replying with a full sentence, by fitting the keywords to any sentences which it holds in its sentence bank.


14/08/2010
Improved the efficiency of the word association 'save to file' algorithm.

The previous version would first save the word associations to file and then deal with any new requests for information, from users. This was all done sequentially.
The new version completes the same task by routinely dumping all the information into a separate container and then allowing a separate thread to save this information to file, while the main program returns to the job of providing users with information, as per the ongoing incoming requests.
The same efficiency improvements have been applied to the word combination 'save to file' algorithm.

Following the efficiency upgrade, when AICore is bombarded with requests for information from users, AICore is now able to provide the user with information in less than 1s, the vast majority of the time.

The current algorithm has been tested using multiple clients, each using a simulator, to place AICore under severe stress. A human user will never be able to achieve the same speeds as that achieved by the simulator.


09/08/2010
User Record Related Question Algorithm.

A 2nd algorithm has now been successfully added. This algorithm saves a question which has been successfully answered and matches it to the user record. The question (id) is saved to the userRecord file, so that the next time the same question is asked, AICore will refer to the userRecords and the question IDs listed. This technique should allow AICore to answer unusually difficult questions about the user, which have previously been answered correctly.


29/07/2010
First version of the client server system is now complete.
Added new section to website - Screen Shots.


26/07/2010
The development of the client-server system has continued.
We are now using a numbering system where the messages passed between the client and server are numbered. If the server or client receive messages which are out of sync, they request the missing messages. This algorithm ensures that all messages which are sent are received by the client or server and that all messages are received in the correct sequence. The server/client system is now ready to be tested over the internet.

The client and server system is configured in such a way such that clients can be run on the same computer as the server. Clients can be run on the same network as that which the server is running. Clients can be run over the internet, in a location completely different to the server.

It is anticipated that the client/server system shall be completed in the next few days, after which the development of the language processing algorithms shall resume.


15/07/2010
Development of switching the AI program into a client server system has continued.
The actual client - server system is now complete. Over the next few days the processing abilities of AICore shall be incorporated into the new system.



05/07/2010
Major Update: turned AI into a client-server system, such that multiple instances of a client may be run, attached to a single instance of AI.
This allows a single physical computer to run multiple instances of AI client. This will also come in handy when we decide to run AI, over the internet. The changes made will allow the client to be run on a slower PC, without issues, while the heavy work, which is what the server does, can be ran on a powerful PC.

This client-server system offers a significant advantage over the previous "all-in-1" system, where previously, only a fast PC would've been capable of running the program - this rule now only applies to server (and not the client).

The changes which occur to the code as result of running as a client-server system, are still continuing. Many changes have already been made and at present, the client is running stable
.


01/07/2010
Completed work on the first version of the simulator.
This is now allowing hundreds of sentences to be input into AI, in very short periods of time. It is also allowing us to test how AI handles rapid input.



27/06/2010
More work was completed on the caching algorithm,
ironing out some minor bugs. Also, increased the number of situations for the cache is used to access data from, instead of reading from a file.

Improved the WordAssociationValueIncrement and WordCombinationValueIncrement sub-routines.
This has increased the speed of AI.


26/06/2010
The sheer amount of threads being used by the program is causing problems with IO (File) operations. This was to be expected. Work has been continuing unabated to deal with the problems associated with locking and more importantly, caching. Caching is already yielding significant performance advantages. The performance differential of AI, when using and not using caching, will continue to increase, as the code increases in complexity.

A simulator has also been produced to ask AI questions.

This is purely as an aid to testing, during the development process. Developers will now be able to test their code, using a series of pre-determined questions. So, where before each revision of code would be manually tested, the simulator can now ask the same questions, in a fraction of the time, pushing AI to its limit.


21/06/2010
Continued development of File Caching algorithm.

Added safety measures/checks within the file caching process.


20/06/2010
Commenced development of File Caching.

The AI response times have been reduced by approximately
40-45%.


12/06/2010
Website updates.

Added logo to website.
Added 'Current Features' section.



10/06/2010
Email and website updates.

Fixed Email issue: Fixed problems with email server. Those who have emailed but have not received a reply, should send the email again.
Added 'current feature set' document.


08/06/2010
Website update.

Created a 'To Do List' section on the website. Associated the section with a (Google) document which lists the items, still left 'to do'. Collaborators can check this document to see what parts of the program need to be coded or are currently being worked on.


07/06/2010
Website update.

'Documentation' added to website.


05/06/2010
Website update.

Created an 'AI Concepts' (Google) document as well as an Ideas Discussion' (Google) document. All new collaborators will be required to read through these documents to get an idea of how AI currently works and how it will work, once additional features are incorporated.


03/06/2010
Website update.

'Commercial Roadmap' added to website.


02/06/2010
Website update.

Created an introductory (Google) document to explain the project to new (prospective) collaborators. All interested collaborators will be given access to the document to understand the aims of the project and the algorithms used by the current version of the software.


29/05/2010
Background reading/research.

Spent reading up on methods to improve the search routines of AI. I also came up with a better method of associating words, e.g. associating the words 'blue' and 'colour'.


28/05/2010
Initial version of information retrieval algorithm completed.

AI is now able to learn information about a user and store this information automatically. It is then able to retrieve this information and give it to the user in the form of key words.

It also has the ability to associate words with other words and assign a value to the strength of the association.

AI is capable of analysing large chunks of text.


20/02/2010
Coding has begun.


09/07/2009
Website updated.


08/07/2009
Website uploaded and brought online.

 

 

 

 

 

 

Copyright AIProject 2009