Archive for the ‘Knowledge Discovery’ Category

Adaptive, Reactive and Autonomous

So what do we mean when we say that a software system can be “adaptive”, “reactive” and “autonomous”?

For our purposes, we stick pretty close to the Webster definitions of the terms. But here is the gist of the terms as we use them:

“adaptive” - The software system contains a complex set of possible actions and affecters. It chooses from among these possible actions in combinations and orders that are not predetermined but rather are chosen by the software system to achieve the system’s goals as it deems best. So, the system “adapts” its behavior to its situation.

“reactive” - The software system maintains a perception of its “environment”. This environment may be a pure information environment or it may contain perceptions of the physical world. Both the system’s actions and the system’s goals will be modified in response to these perceptions. In other words, the system “reacts” to the world around it.

“autonomous” - The software system’s goals, actions and perceptions (within the scope of its design purpose) are sufficiently complex and robust such that the system can perceive, decide, react, act, and achieve its goals with very little interaction with human operators. The system largely acts on its own for extended periods of time. The distinction of “autonomous” and “semi-autonomous” are matters of the length of time without interaction and the degree of any interaction.

Hopefully, that helps clarify what we mean by “adaptive, reactive and autonomous software systems”.

-Stu

Thursday, December 18th, 2008

AFRL Scientist Visit

Dr Gluck Visits AGS TechNet's new officeWe were fortunate to have AFRL research scientist, Dr. Kevin Gluck, visit our new location last Thursday. During the meeting, we discussed our current project: math modeling of human performance in complex environments. Following our weekly teleconference with the research team and demonstrations of the Predictive Performance Optimizer software tool, we enjoyed some informal discussions over dinner.

Dr. Gluck’s visit was an excellent kickoff for our new location!

-Stu

Wednesday, June 25th, 2008

Volunteering at MindModeling@Home

mindmodeling.org logoThe MindModeling@Home site ( http://mindmodeling.org ) is up and running.  At AGS TechNet, we are volunteering some of our computer time to assist them in their goals. 

Volunteer computing is a way to use your computer’s “idle” time to contribute some number crunching power to assist in computationally intensive research work.

If you are interested, it is fairly simple to get set up and all the steps are explained on MindModeling’s site.  Essentially, you just download and install an application called “BOINC” from UC Berkeley’s site. It allows you to set how much and under what conditions your own computer will get and execute jobs for the research effort.  Next, using BOINC you join the volunteer computing effort(s) that you want to support.  Then, when you are not using your computer, it will download jobs, execute them, and upload the results.  There are many Universities, researchers, companies, and other interested folks that have been participating since 1995 in volunteer computing efforts.  Today, there are over a million BOINC users and the scale of the overall computing effort puts the volunteer computing community easily in the league of the most powerful supercomputers.

If you haven’t heard of it before, you might check it out. Very cool!

-Stu

Sunday, January 27th, 2008

Heuristics

A client recently asked me what I meant when I refered to “heuristic search.”  Heuristic search is performed when “brute force search” (or all-possible-paths-search) is computationally intractable.  Essentially, you can think of a heuristic as a “rule of thumb” or an approach to calculate an approximate answer.  Here’s a more detailed description…

A heuristic is defined by Meriam Webster’s on line dictionary as follows:

Main Entry: heu·ris·tic
Pronunciation: hyu-’ris-tik
Function: adjective
Etymology: German heuristisch, from New Latin heuristicus, from Greek heuriskein to discover; akin to Old Irish fo-fúair he found
: involving or serving as an aid to learning, discovery, or problem-solving by experimental and especially trial-and-error methods heuristic assumption>; also
: of or relating to exploratory problem-solving techniques that utilize self-educating techniques (as the evaluation of feedback) to improve performance heuristic computer program>

Heuristics are used in the context of high complexity to find good solutions to problems that might be impossible to solve for an exact or the globally optimum solution.

Examples of the use of heuristic search are found in many common optimization problems.  In many optimization efforts, computations can take billions of billions of years to find the exact solution even on the fastest computers. This is a case where using heuristics may allow you to find a good solution even if the optimal solution is unknown.

-Stu

Friday, December 14th, 2007