public:t-720-atai:atai-16:lecture_notes_f-4_22.01.2016
Table of Contents
T-720-ATAI-2016
Lecture Notes, F-4 22.01.2016
System Architecture
What it is | In CS: the organization of the software that implements a system. In AI: The total system that has direct and independent control of the behavior of an Agent via its sensors and effectors. |
Why it's important | The system architecture determines what kind of information processing can be done, and what the system as a whole is capable of in a particular Task-Environemnt. |
Key concepts | process types; process initiation; information storage; information flow. |
Graph representation | Common way to represent processes as nodes, information flow as edges. |
Relation to AI | The term “system” not only includes not only the processing components, the functions these implement, their input and output, and relationships, but also temporal aspects of the system's behavior as a whole. This is important in AI because any controller of an Agent is supposed to control it in such a way that its behavior can be classified as being “intelligent”. But what are the necessary and sufficient components of that behavior set? |
Intelligence is in part a systemic phenomenon | Thought experiment: Take any system we deem intelligent, e.g. a 10-year old human, and isolate any of his/her skills and features. A machine that implements any single one of these is unlikely to seem worthy of being called “intelligent” (viz chess programs), without further qualification (e.g. “a limited expert in a sub-field”). |
Causal Structures
CS Architecture Building Blocks
Pipes & filters | Extension of functions. Component: Each component has a set of inputs and a set of outputs. A component reads streams of data on its inputs and produces streams of data on its outputs, delivering a complete instance of the result in a standard order. Pipes: Connectors in a system of such components transmit outputs of one filter to inputs of others. |
Object-orientation | Abstract compound data types with associated operations. |
Event-based invocation | Pre-defined event types trigger particular computation sequences in pre-defined ways. |
Layered systems | System is deliberately separated into layers, a layer being a grouping of one or more sub-functions. |
Hierarchical systems | System is deliberately organized into a hierarchy, where the position in the hierarchy represents one or more important (key system) parameters. |
Blackboards | System employs a common data store, accessible by more than a single a sub-process of the system (often all). |
Hybrid architectures | Take two or more of the above and mix together to suit your tastes. |
Network Topologies
Point-to-Point | Dedicated connection between nodes, shared only by a node at each end. |
Bus | A message medium, shared by all nodes (or a subset). |
Star | Central node serves as a conduit, forwarding to others; full structure of nodes forming a kind of star. |
Ring | All nodes are connected to only two other nodes. |
Mesh | All nodes are connected to all other nodes (fully connected graph); can be relaxed to partially-connected graph. |
Tree | Node connections forms a hierarchical tree structure. |
Pub-Sub | In publish-subscribe architectures one or more “post offices” receive requests to get certain information from nodes. |
reference | Network topology on Wikipedia |
Coordination Hierarchies
Methodology
What it is | The methods we use to study a phenomenon. |
Why it's important | Methodology directly influences the shape of our solution - our answers to scientific questions. For this reason, and equally importantly, it directly determines the speed with which we can make progress. |
The main AI methodology | AI never really had a proper methodology discussion as part of its mainstream scientific discourse. Only 2 or 3 approaches to AI can be properly called 'methodologies': BDI (belief, desire, intention), subsumption, decision theory. As a result AI inherited the run of the mill CS methodology/ies by default. |
Constructionist Methodologies
What it is | A constructionist methodology requires an intelligent designer that manually (or via scripts) arranges selected components that together makes up a system of parts (read: architecture) that can act in particular ways. Examples: automobiles, telephone networks, computers, operating systems, the Internet, mobile phones, apps, etc. |
Why it's important | Virtually all methodologies we have for creating software are of this kind. |
Fundamental CS methodology | On the theory side, for the most part mathematical methodologies (not natural science). On the practical side, hand-coding programs and manual invention and implementation of algorithms. Systems creation in CS is co-owned by the field of engineering. |
The main methodology/ies in CS | Constructionist. |
Constructionist AI | Methodology for building cognitive agents that relies primarily on Constructionist methodologies. |
Key Limitation | Rests on the key assumption (on which CS - as a science - is built) that humans, or those with human-level intelligence, are the only ones that will create software systems. |
2016©K. R. Thórisson
EOF
/var/www/cadia.ru.is/wiki/data/pages/public/t-720-atai/atai-16/lecture_notes_f-4_22.01.2016.txt · Last modified: 2017/12/01 13:55 by thorisson