\label{introCogArch} The study of the human mind has been one of the largest and most laborious enterprises undertaken by man. This study has encompassed many centuries and has attracted interest from some of the most brilliant philosophers and scientists human kind has had to offer such as Aristotle, Plato, Descartes and more recently Allen Newell, Marvin Minksy.
The advent of computers allowed researchers to use the superior processing power to simulate the working of the mind. Some researchers attempted to use a purely connectionist model to represent the working of the human mind. Where as others, such as Newell and Anderson attempted to use the manipulations of symbols partially relying on an underlying connectionist model to represent the same.
%% Introduce cognitive modeling % Introduce the need for architectures Despite large advances made towards understanding the principles of the human mind in the field of psychology during the 70s, there was little to show except for micro theories, such as Fitts law and the Power law of practice, etc. Newell argues in his book \cite{Newell:1990aa} that the aim of psychology is to provide a framework that would help explain and predict the behavior of the human mind, and although micro theories are useful in explaining certain phenomena they do not provide a framework that explains and predicts the behavior of the human mind. He advocates the need for a comprehensive theory that would fill in this void and attempts to do so by providing a framework called SOAR.
Another cognitive architecture was introduced by John Anderson from the Carnegie Mellon University. He was working on a framework that tried to provide a working model of the human memory called ACT*. As this work progressed, new modules to represent motor and visual faculties were added to this framework. This later came to be known as ACT-PM then later ACT-R.
Computer networks allowed researchers to investigate the ability to use computers to help people collaborate with one another. The original intention was to use computers to replace physical apparatus such as white boards in meeting rooms (cite Colab). Researchers discovered paradigms that could be used for to support collaborations such as, synchronous and asynchronous collaboration. As more work was done in this field the tools such as PREP(cite Issues in design computer support for co-authoring and commenting.) a tool that supported interaction between authors and commentors, Cognoter(Theory and practice of a colab-orative tool) a tool that provided a framework to help the decision making process, etc.
Despite these strides in the area of computer supported collaborative work, researchers in the cognitive modeling community shared models through means of conferences, summer schools and personal websites. The objective of my research is to provide a collaborative environment where cognitive scientists can share models, I describe this further in the following section and chapters.
I would like to start this section by acknowledging that the overall direction for the research was provided by Dr. St. Amant. The aim of this project is to provide a collaborative environment for researchers who develop computational representations of their work. This is achieved by allowing researchers to access ACT-R on top of a web based framework where they can create and share model. The benefits of this project are:
\begin{itemize} \item We provide a software environment completely setup and ready for use. As a result researcher can get to work with out being concerned about issues regarding software dependencies. \item We attempt to foster collaboration in the cognitive modeling community. Researchers can build models and these can be accessed by other individuals and groups, and can be modified and shared back. \item By providing a centralized system hardware resources can be shared across a large number of users. This would make it inexpenive to run and be of use to research groups that cannot invest in hardware. \item Since users store their models on a centralized system it acts as a repository for models that can be used to learn about cognitive modeling. \end{itemize}
I used frames \cite{Minsky1974a} to achieve collaboration . A frame is a data structure consisting of slots, where each slot can either be another frame or an instance of data. Apart from achieving a means to provide collaboration, this data structure lets us represent models in a structured manner. This opens up a number of avenues for research, the first one that does come to mind is the ability to mine models to find patterns in different models and hence build up a more complete picture of human cognition.
In Chapter 2 I discuss cognitive architectures and the features of various cognitive modeling architectures. Chapter 3 attempts to describe the field of computer supported collaborative work. Chapter 4 aims to provide an overview of the biobike system. Chapter 5 describes the implementation of the system. In chapter 6 I describe how I solved the problem of a synonym crossword using this system. We conclude this with a discussion of the limitations of this system and the future work for this system.
\label{The_nature_of_cognition}
The quest to understand the working of the human mind has spanned many centuries starting with Plato when he asked, as in the words of Noam Chomsky citing Bertrand Russell, “How comes is that human beings whose contacts of the world are brief, personal and limited, are nevertheless able to know as much as they do.” \cite{Bogdan:1993aa}
Cognitive science brings together the varied disciplines of psychology, neuroscience, computer science, linguistics and philosophy in an attempt to answer the above question, using information processes as a means to emulate the algorithms and processes of the human mind. Psychology, especially cognitive psychology contributes theories on cognitive capacities, information processing capabilities and perhaps most importantly it tries to provide hypothesis that theorize about the overall picture of the human mind. Neuroscience, the study of the nervous system, provides a frame of reference against which theories developed in cognitive science can be validated since it deals with the brain at the lowest level. Secondly, it provides knowledge for developing an alternative architecture of the mind. Computer Science contributes to the enterprise knowledge representation which is used to develop theories to represent the way knowledge is stored; artificial intelligence which is used to analyse and create methods for problem solving; the theory of computation which is used as a means to develop representations for cognitive architectures.
The objective of this chapter is three-fold; firstly it aims to provide a very brief introduction to the human cognitive architecture from both the cognitivist and emergent\cite{DBLP:journals/tec/VernonMS07} perspective. Secondly it discusses cognitive architecture in general and finally goes on to compare some currently widely used cognitive architectures.
\label{nature_Of_Cognition} Any attempt to deal with the architecture of cognition has to answer the following questions.
#(for the first bullet point)There are more basic questions than that, how can knowledge be
\begin{itemize} \item What is knowledge and how can it be categorized? \item How is knowledge acquired and represented? \item How do various processes act on this knowledge and how do they achieve the effect they intend to achieve?
\item How can these processes and structures be manifested in the real world? \end{itemize}
When solving problems the human mind has the ability to retrieve and apply previously stored knowledge to the problem; for example consider solving a calculus based integration problem, we are able to retrieve standard representations of the forms of equations and apply it to the problem to simplify it and solve it. Hence this question is one of the questions that is central to understanding cognition.
This question is significant because its answer explains the techniques of deduction and inference we use to solve problems on an everyday basis; this could be as simple and routine as diagnosing a light bulb is not working and replace it, or perhaps the techniques we use when solving a crossword puzzle.
The human brain is a physical entity. If a theory claims that it is able to explain it then it should also be able to explain or provide a guide that would enable us to provide a physical implementation of this. This detail is summarized by Bogdan \cite{Bogdan:1993aa}
\begin{quote} It takes a real system, made of physical bits and pieces, to instantiate cognitive structures and processes and run the program of cognition. \end{quote}
These questions provide us with a very general framework of the results to be provided by cognitive science. Newell in his book \emph{The Unified Theories of Cognition} and in \cite{Newell1980135} describes the study of the working of the mind as a problem of satisfying the “Conjunction of constraints on the nature of mind like systems.” He describes the characteristics of what is to be expected of any theory that claims to propose a model of human cognition. Newell mentions that this list is not comprehensive, but in the view of Anderson \& Lebiere it can used to provide a broad framework against which all theories that claim to explain the human mind can be tested.
These criteria have been listed below, have been referenced from \cite{CambridgeJournals:207162} and \cite{Newell:1990aa}. The purpose of listing these criteria below is to explain as to what the study of the mind would require.
\begin{itemize}
\item
\item Behave flexibly as a function of the environment: At first glance this statement may seem frivolous, as it seems to imply that human cognition functions in a haphazard manner. But Newell did make it clear that he was referring to the view that a cognitive system can be viewed as an instance of a universal computer, specifically a turing machine, despite its occasional failings and lack of infinite memory. He further explains that this view does not indicate the inablity to perform special operations, for example, vision. He explains that like computers with special processing units the cognitive system can be made up of special purpose systems that specialize in a certain task. As an example consider the example of chemist they are able to perform congnitive tasks that are relates to their field and they are also able to drive their car.
\item
\item Operate in real time: A system that models cognition should be able to explain the reason as to how we are able to perform cognitive tasks at the speed humans do. This criteria is important because if a system is not able to explain it could lead us to wrong assumptions about how humans think.
\item Exhibit rational adapative behaviour: It must be able to explain this because humans perform computations and those computations, as in the words of Newell\cite{Newell:1990aa}, are for “the service of goals and rationally related to obtaining things that let the organism survive and propagate.”
\item
\item
\item
\item
\item Exhibits a sense of consciousness: Newell could not point out to the direct relation between consciousness and human cognition but he did mention it as one of the criteria in his tests of human cognition. An interpretation of this as taken from \cite{CambridgeJournals:207162} is that Newell was asking us to pick out criteria for this test and the authors of that paper point towards using sections from a volume titled “Scientific approaches to Consciousness”.
\item Learning from the environment: This point should be self evident, we gain new knowledge from the world around us. But then the type of learning itself should be based on whether it can learn based on semantic memory, skill, priming and conditioning.
\item Arise through evolution: It is understood that the algorithms we use today are those that have arisen naturally over a period of time, hence any cognitive architecture should be able to learn and improve the algorithms through an process of constant improvement.
\item Use of Natural language: Any theory that claims to decipher human cognition must be able to explain as to how we are able to comprehend what we listen, understand what we speak because this is a function that is core to the way we communicate with each other.
\item Be realizable with in the brain: This point is critical because it serves as proof that a given theory is congruous with actual computations in the brain.
\end{itemize}
There are many theories on the nature of cognition each of them taking a position on what constitutes cognitive functions and how they are carried out. But these approches can be bifurcated into approaches that adhere to the \emph{cognitivist approach}\cite{DBLP:journals/tec/VernonMS07}, these are theories that view cognition as information processes manipulating symbols and those that stick to the \emph{emergent approach}, that believe that treat cogntion as ‘symbolic, rational, encapsulated, structured and algorithmic’\cite{DBLP:journals/tec/VernonMS07}.
The goal of objective of this section is to explore these points of view and conclude by bringing out differences between these disparate points of view, after which we examine a number of cognitive architectures in detail.
The cognitivist perspective views human cognition as a set of information processes working over a set of representations that point to the actual knowledge which may be stored else where, vis-'{a}-vis symbols. These information processes are said to be purposeful, contentful, representational and can be described formally\cite{103009}. Knowledge derived from these computations can be stored and used later to improve the reasoning of the system. The cognitivist views the function of perception is to generate an appropriate representation of the the world around the system which the system uses to reason \cite{DBLP:journals/tec/VernonMS07}.
The task of building models in cognitivist system is generally done by a programmer. Which is good in a way that these representations and structures can be viewed and interpreted by humans. But it may also “bias the system” and constrain it to an idealized cognitive environment. As a result this cause problems when the system does have to stray away from this requirements, this gap between perception, which is in interpretation of reality, and actual reality begin to widen. This would then have to be filled in with more programmer knowledge to close this “semantic gap”\cite{DBLP:journals/tec/VernonMS07}.
#Once that is done talk about how models are represented and the #problems with them.
Until the 1980s the cognitivist viewpoint was the primary means of explaining the nature of human cognition. Interest in self-organizing systems led to an area of research that advocated the view that human cognition is made up of smaller units that rearrange themselves as the system acquires a skill or recognizes a change in its environment. This approach to understanding is known as the \emph{emergent approach} \cite{DBLP:journals/tec/VernonMS07}.
Although there are multiple methods are used to in the area of emergent systems, I will describe only connectionist view point. Connectionism defined by Medler in \cite{Medler98abrief} as “a theory of information that uses parallel processing of sub-symbols, using statistical properties instead of logical rules to transform information” rather than rules as used in classical cognitivist systems.
The basic feature in a connectionist system is a connectionist network. A connectionist network is made up of a number of simple computational units that communicate with each other with via connections. These connections are capable of carrying only simple information.
The computational units in a connectionist system are arranged in a number of hierarchical layers. These layers are the input layer, the hidden layer, the output layer. The input layer These networks can be arranged into two basic configurations namely \emph{feed forward} networks and \emph{recurrent} networks.
Feed forward networks(Fig \ref{ASCA_AFFN}) are those networks in which information flows in one direction only, that is from the input layer to the hidden layers(if they exist) and then to the output layer. Recurrent networks are those networks that have loops and hence backward connections
\begin{figure}[htp] \centering \includegraphics[width=80mm]{FeedForwardNetwork.eps} \caption{A feed forward network} \label{ASCA_AFFN} \end{figure}
Connectionist models learn by adjusting the weights on the individual computational units. This implies that learning in connectionist models can be viewed more as a skill building exercise, rather than an exercise in knowledge acquistion as in the case of the congitivist approaches \cite{DBLP:journals/tec/VernonMS07}.
The main attractions of connectionist models is that it provides a means to provide neural plausibility\cite{103009} to theories of cognitive science because of its ability to simulate the massively parallel processing in the brain and also its ability to learn by adjusting weights. It is also attractive because it provides cognitive plausbility by allowing problems to be studied using simpler mechanisms, they could help in studying the processes underlying the processes of pattern-recognition and memory retrival and the ability to apply soft constraints when representing schematic knowledge.
Despite these attractions connectionist models find it difficult to explain the ability of the human mind to to integrate diverse knowledge from various sources, the ability to use pre-existing knowledge and the ability to respond with in the time constraints that humans do.