|
Cognitive Grid Part 2:
The Cognitive Grid Philosophy
The Phiosophy of the Cognitive Grid is all about establishing the mindset with which to approach intelligent systems.
First, everything is multithreaded. There can be no guarantees of ordering of behaviors or sequencing of events except where those are explicitly ordered. Behaviors of any aspect of the system need to be managed by logic and controls rather than the hapenstance ordering estalbished during development.
Second, everything is asynchronous. All concepts that messages will arrive in order, that any component can just block until a call or function is complete, that any transaction of the system can be assured to complete need to be disguarded. Anything can happen in any order, and sometimes things never complete. Systems need to be designed to be robust and resilient, coping with failure as a standard model of operation.
Third, assume everything is distributed. Even is you are designing a system that will run on single server, the design should assume any component could be local or remote, in the same agent or another agent, with minimal state and minimal to no direct correlation. The effect of this thinking is that ant any point, the system could be distributed, scaled, compents replicated, or any number of other dynamic configuration actions without impacting the design or implementation in the slightest. To design a system with 10 components that works on a single machine, but could scale to 100 machines and 100K instances of those components, should be the direct result of thinking distributed from the beginning.
Fourth, Human 'grey matter' is our most precious resource. Humans are decision makers, anything more they are asked to do is a misuse of 'grey matter'. Computers are cheap, network bandwidth is plentaful, leverage the computer to do most of the heavy lifting that today is done manually. The Cognitive Grid is all about intelligent automation, which means building into systems as much of the human processes as possible. In the future, humans should be tasking the system, in many cases with standing tasks, and making key decisions based on the presented analysis and recommendations of the system. In the simple cases, the agents should make the decisions automatically. In the complex cases, they should analyze, build and assess several courses of action, and present them to the user for decision. While the user will ask questions and require rational, backup information, and other elements - the use should spend very little time gather data, a small amount of time doing local analysis, and most of the time working the decisions.
Fifth, Divide and Conquer. The largest and most complex things we can think of, man made or natural, are not a singular entity wth a singular function - they are composed of lots of elements each having a function, role or responsibility...buildings, cars, cities, forests, mountains, streams, human beings. Whether by design or naturally, the resulting assembly provides a capability greater than the sum of the parts. As a concept, this equates to divide and conquer. Take the overall functionality and divide, divide, divide until the component pieces become small, managable, logical units that be specified, designed, implemented, tested and fielded. Only by thinking of the system as an assemblage of components can we hope to conquer the complexity challanges of intelligent systems.
If we rework our thinking to embrace these concepts, we will be well on our way to understanding the Cognitive Grid Philosophy.
Contact us for more info

|

|