Jie 的个人资料Sunset (hhj's public hom...照片日志列表更多 ![]() | 帮助 |
|
2008/1/30 腊月廿三腊月廿三,小年。以往这个时候都是寒假,即使是“打工”那两年,这段日子别的学生也差不多快回家了,实验室里大家谈论的都是买火车票一类的事情,基本上算是半放假状态。今年才终于真正过不了一个完整的春节。不仅腊月末这几天收拾屋子、买年货、送灶(其实主要是为吃糖瓜)、同学聚会一类的活动通通取消,连春节也一并没了。 这两天陆续在线上收到了几个同学的节日问候,第一句问回不回家过年,得知我没逃学的打算之后,第二句就是问我啥感受。说实话,没啥感受,真没啥感受。照常上课,每天一堆文章要看,又要写着写那,哪还能想的起来过年这么一回事。上周见老板,说2月6号开组会,要讲15分钟PPT,当时一点感觉都没有,满脑子想的都是这两个星期的工作计划。直到第二天同学提醒才发现那天原来就是传说中的除夕啊,真是个有意义的除夕。 都说文化约束很有韧性,其实往另一个方向说就是很软——你见过又硬又有韧性的东西吗?比如说过年,如果没有假期,又没有上下文——超市里熙熙攘攘的人流,火车站售票大厅里数百米长的购票队伍,以及电视上播放的各种关于春节和春运的新闻,我严重怀疑还有多少人能把过年看成多么重要的东西。那天跟一个朋友讨论生活中是不是有不少正反馈,我就提到了很多文化现象其实就是正反馈。越有人觉得春节重要,过年的味道就越浓,于是就有越多的人觉得春节重要。相反,假如你到了一个向别人介绍信春节得先从月亮绕地球的公转周期讲起的地方,春节这回事也就瞬间显的无足轻重了。 昨天不知怎的失眠一宿,早上趟到九点。没课,在家看文章,MSN上跟一个朋友扯了一个小时的闲天。中午下的‘老爸汤面’(酱油+醋+胡椒粉+香油做汤头的面条,我爸的绝对专利产品,至今没见别人家里有这么吃的)。下午接着看文章,回信,写信。晚上炒了两个菜,衣服刚放洗衣机洗了。还得早点睡觉,明天是一整天课。 腊月廿三,祭灶,民间亦称小年,为传统意义春节庆祝活动之起始。 2008/1/23 Did you knowThe following is what I have seen from a very interesting screen-saver today: 1. Did you know, size does matter. If you are one of a million in China, that means there are 1,300,000,000 others, just like you. In india, there are 1,100,000,000 JUST LIKE YOU. That implies, the 5% of population with highest IQ in China is already larger than the entire population of U.K. This is 7% in case of India. Translation: China has more gifted or talented students than all students we have in U.K. 2. Did you know, we are now living in an exponential age. The amount of information in cutting-edge technology is doubling in every 2 years now. That means, for a student just starting his or her 3-years bechalor degree programme, half of what he or she will learn in the first year will be outdated by graduation. According to the U.S. Secretary of Education, it is predicted that the top 10 most-demanding jobs in 2010 did not even exist in 2004. We are now preparing our students for jobs that do not exist, using technology that has not yet been invented. 2008/1/15 How to configure, compile and use VTK in VC 6 (cont.)Well, I have just discovered something today. If you would like to use the compiled VTK in an MFC application, say, to cope with GUI issue, some extra consideration should be taken in advance. GUI support is not included in the default CMake build configuration. Therefore, to let the GUI support component be generated, you have to manually set both VTK_USE_GUISUPPORT and VTK_USE_MFC to ON. These two options are categorized into advanced parameters, which means you have to tick the 'advanced' check box to displayed them on screen. That is why I haven't noticed them yesterday. After atopting the new configuration, an extra lib/dll named vtkMFC, together with some cool demos with GUI, would be built in the later stage. 2008/1/14 How to configure, compile, and use VTK in VC 6This is a brief tutorial to introduce how to start using VTK in Visual C++ 6.0. VTK is a useful tool-kit for scientific data visualization, which can be used by C++, Java and many other languages. Also, VTK is cross-platform on source code level. That is to say, the same package of source code can be complied into libraries for different target platforms, such as Windows, Linux and Mac. For a complete introduction and full documentation support, please visit VTK official webside: http://www.vtk.org. OK, the step-by-step tutorial starts here. 1. Make sure you have enough space left on the disk. Although VTK source code only cost 11 MB, the compiled version would occupy about 200 MB. Therefore, I suggest 300 MB free space as the minimum free space requirement. 2. Download resources. Download the latest release's source code (http://www.vtk.org/files/release/5.0/vtk-5.0.3.zip), data files for testing (http://www.vtk.org/files/release/5.0/vtkdata-5.0.3.zip) and manual (http://www.vtk.org/doc/release/5.0/vtkDocHtml-5.0.3.tar.gz) from the VTK webside. These 3 packages are all that we really need. Do not download the exe installer, that is not for C++ development. Then, unzip them into different folders. 3. Download and install CMake. CMake is tool which is somewhat like a multiplexer. By using this tool, a source code package arranged as a CMake project can be easily rearranged into VC 6 project, VC.net project, gcc project, C++ builder project or project for other development environments and thereafter can be edited and compiled accordingly. The window installer of CMake can be downloaded from this address: http://www.cmake.org/files/v2.4/cmake-2.4.7-win32-x86.exe. 4. Reformat the VTK source package into a VC 6 project. First, start CMake, select the VTK source folder as the source directory and enter a path as the target directory. Then, press 'Configure', wait for a while (it could be a long while if your computer is aged), and some options would be shown in CMake's main window. Most of the options do not have to be changed, expect the following two. In the default configuration, examples would not be compiled. Besides, the VKT would be compiled into statically linked libraries. In case if you don't like them, it would be necessay for you to change the value of BUILD_EXAMPLES and BUILD_SHARED_LIBS from OFF to ON. Finally, press 'OK' and the corresponding VC 6 project would be generated. 5. Build VTK from VC 6. Open the newly generated project by clicking 'VTK.dsw', set ALL_BUILD as the current active project, and build the release version. This step has taken me more than 20 minutes on my machine, which is a ThinkPad T-43 purchased in 2005. So if your computer is not significantly faster than mine, you could take a catnap in the mean time. By waking up, you'll find a new folder called 'bin' has been generated, which contains all the compiled and linked lib (and dll) files. 6. Create an folder called 'VTK' in anywhere you like. Then, create three subfolders in that, which are 'include', 'lib' and 'dll'. If you have chosen to build the static version, 'dll' would not be necessary. OK, now, copy all *.dll files into 'VTK\dll', and all other generated files which are not *.exe into 'VTK\lib'. Then, the first tricky stage comes. Here, you must copy all header files started with 'vtk' in BOTH the original VTK source code package AND the derived VC project folder into 'VTK\include'. Otherwise, you'll suffer bitterly from 'undefined structure/class' error when trying to use VTK on your own. 7. Configure the environment. First of all, add 'VTK\dll' into the environment variable $PATH if your VTK has been built into dlls. Then, start VC, open the configuration dialog by clicking on the menu item 'Tools\Options'. Activate 'Directories' property page, add 'VTK\lib' into 'library files' and 'VTK\include' into 'include files'. Make sure both pathes are placed at the bottom of the list. 8. OK, you can start playing with VTK now. Example code can be found on http://www.vtk.org/example-code.php. To build the example, first start an empty project with an empty CPP file in it. Then, copy all C++ code shown on the webpage into the file. You'll need to add an extra line: #include "vtkProperty.h" in the first example. Thirdly, click on menu item 'project\settings' to activate the settings dialog, and configure your project to link to appropriate VTK libs. First example needs vtkRendering.lib, vtkGraphics.lib and vtkFiltering.lib, while the second one needs two additional libs which are vtkCommon.lib and vtkImaging.lib. If the dll version of VTK is used, then it would be just fine to build the project by now. However, if you prefer lib version, here comes the second tricky bit. Since VTK actually repies on OpenGL to perform rendering task, you'll have to let your programme link to OpenGL32.lib as well as VTK libs, or you'll get many LNK 2001 errors otherwise. Then, to avoid conflict between references to different C run-time libraries, it would be necessary to change /ML (/MLd) compiler option into /MD (/MDd). Finally, build the project and have fun! 2008/1/12 ISO Report - 9: ReferenceReference[1] David L. Sills (editor), Robert K. Merton (editor), International Encyclopedia of the Social Sciences, Macmillan Publishing, 1968
[2] Yaneer Bar-Yam, Dynamics of Complex Systems, Addison-Wesley Publishing, 1997
[3] Stephen Wolfram, A New Kind of Science, Wolfram Media Publishing, 2002
[4] Stephen Wolfram, Theory and Application of Cellular Automata, World Scientific Publishing, 1986
[5] Robert L. Devaney, A First Course in Chaotic Dynamical Systems Theory and Experiment, Addison-Wesley Publishing, 1992
[6] Robert L. Devaney, An Introduction to Chaotic Dynamical Systems (Second Edition), Addison-Wesley Publishing, 1989
[7] Philip W. Anderson (editor), Kenneth J. Arrow (editor), David Pines (editor), The Economy as an Evolving Complex System, Addison-Wesley Publishing, 1988
[8] Leigh Tesfatsion (editor), Kenneth J. Judd (editor), Handbook of Computational Economics Agent-based Computation Economics (Volume 2), North Holland Publishing, 2006
[9] John Holland, Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence 2nd Edition, MIT Press / Bradford Books, 1992
[10] Seth Bullock, Dave Cliff, Complexity and Emergence in ICT systems, Hewlett-Packard Company, 2004
[11] Rishi Aggarwal, Talk and Fight: The Dynamics of Human Interaction, Project Outsourcing Report, 2005
[12] Kelvin Au, Dynamics of Human Societies: Evolution of Hierarchical Groups, MEng Project Report, 2005
[13] Camille Guérillot, Dynamics of Human Behaviour, MSc Degree Dissertation, 2005
[14] David Beaton, Dynamics of Human Societies: Narcissism - The Generational Perspective, 2007
[15] Leigh Tesfatsion, Agent-based Computational economics: modeling economies as complex adaptive systems, Information Sciences 149 (2003) 263–269
[16] Leigh Tesfatsion (Guest Ed.), Special Issue on Agent-based Computational Economics, Computational Economics 18 (1): 1–135, 2001
[17] Leigh Tesfatsion (Guest Ed.), Special Issue on Agent-based Computational Economics, Journal of Economic Dynamics and Control 25 (3–4): 281–654, 2001
[18] Leigh Tesfatsion (Guest Ed.), Special Issue on the Agent-based Modeling of Evolutionary Economic Systems, IEEE Transactions on Evolutionary Computation 5 (5): 437–560, 2001
[19] Allen Wilhite, Bilateral Trade and ‘Small-World’ Networks, Computational Economics 18: 49–64, 2001
[20] Joshua M. Epstein, Learning to Be Thoughtless: Social Norms and Individual Computation, Computational Economics 18: 9–24, 2001
[21] Kiyoshi Izumi, Kazuhiro Ueda, Phase Transition in a Foreign Exchange Market - Analysis Based on an Artificial Market Approach, IEEE Transactions on Evolutionary Computation 5 (5): 456–470
[22] Troy Tassier, Filippo Menczer, Emerging Small-World Referral Networks in Evolutionary Labor Markets, IEEE Transactions on Evolutionary Computation 5 (5): 482–492
[URL1] Encyclopedia Britannica Online,
[URL2] Bernard Pavard, Julie Dugdale, An Introduction to Complexity in Social Science, http://www.irit.fr/COSI/training/complexity-tutorial/complexity-tutorial.htm
[URL3] Mitchel Resnick, Brian Silverman, Exploring Emergence, http://llk.media.mit.edu/projects/emergence/
[URL4] Leigh Tesfatsion, Agent-Based Computational Economics: Growing Economies from the Bottom Up, http://www.econ.iastate.edu/tesfatsi/ace.htm ISO Report - 8: Conclusions6 ConclusionsTo conclude, an introduction to MAS based research in social sciences has been given in this report. In particular, two questions have been answered by this report: why MAS is a power tool for social sciences research and how a realistic MAS based model of the society can be developed.
The first question is answered progressively in this report. Firstly, a brief introduction to complex systems in general has been given, with their essential properties been highlighted: non-tractability, nonlinearity, emergence, limited degree of decomposability and distributed nature. Then, the report adjusted the statement that human society is complex by stating the fact that most prosperities listed above are presented in human society as well. Thirdly, System Dynamics as a mathematical theory for analyzing the dynamical features of systems has been introduced, which was then used to explain the connection between analytical ways and MAS based methods in study of complex systems. Finally, the usefulness of MAS based methods in social sciences research is adjusted by arguing that simulation is one of the most practical and powerful ways of studying the dynamical features of systems, especially societies as complex systems, without overlooking their complex nature.
To answer the second question, the report has firstly given a detailed review of previous efforts from researchers at DoC in building sociological models of the human society. A survey of researches in Agent-based Computation Economics (ACE) was then followed. Finally, some of my own ideas, which were inspired by models developed by ACE researchers, have also been presented to suggest that how the existing model developed at DoC can be further improved. Theses suggestions are concluded below:
1. Rather than being implied by the rules of cellular automata, the notion of social networks should be explicitly introduced into the model so that adopting less rigid network topology would become possible. 2. Besides horizontal interactions between different agents, feedback from society level to agent level, as well as other vertical interactions should also be implemented in the model. 3. Adding economy into the simulated society would play an important role in making the model more realistic. To achieve this, exploiting bilateral trade model was the suggested solution, which mainly consists of three major improvements: splitting the agent’s satisfaction into psychological satisfaction and utility related to personal wealth, explicitly modeling the agent’s goal of maximizing its total satisfaction and implementing the bilateral trade mechanism within the simulated society. ISO Report - 7: A Survey of Research in Agent-based Computational Economics (ACE)5 A Survey of Research in Agent-based Computational Economics (ACE)Agent-based Computational Economics (ACE) is the computational study of economies modeled as evolving systems of autonomous interacting agents. ACE is thus a specialization to economics of the basic complex adaptive systems paradigm (Holland, 1992). Equivalently, ACE can also be considered as the branch of MAS based research which is particularly interested in understanding economic issues in the society.
Comparing to conventional methods which mainly use population level laws to derive model of the economy, the advantage of ACE is obvious, for that studying more realistic model with weaker assumptions of the economy is made possible by using simulation. As it has been described in section 2.1.2, the goal of Economics is to study the general principles governing the entire economy, which actually means to understand the aggregate behaviour, or emergent behaviour, of the society from economic perspective. Interestingly, to achieve this goal, the notion of ‘agent-based’ can even be dated back to the very beginning of Economics. In particular, Microeconomics was actually started from modeling economic agents. By adopting very strong assumptions including purely rationality, perfect information and etc., the aggregate behaviour of these agents could ‘coincidently’ be studied in fully analytical ways, which then derive population level laws which are as simple as a set of equations and functions. In these models, equilibrium and featurelessness are always the dominating theme, which is clearly against the vivid scene of economy in the real world. That is because the complex nature of economy has been wiped out by using over-simplified model of the agents. Nevertheless, just by slightly weakening the assumptions, the model would inevitably become utter complicated which is no longer analytically solvable. However, dealing with this scenario is not that difficult for MAS based approaches, for that simulation does not care about it at all.
ACE is found useful in both empirical and normative studies in Economics. First of all, as described above, ACE can be used to help researchers understanding the present economy better. In particular, one major concern of ACE [16] is to understand why and how certain global or macro level regularities arise constructively from bottom-up in a decentralized market. This is also known as the ACE attempts in empirical studies, which means to understand ‘what economy looks like and why economy looks that’. Furthermore, ACE is also valuable in normative studies [16], which focuses on the topic that ‘what else economy can look like and what should it be’. By using simulation, computational laboratory can be development for answering these questions by conducting experiments in the virtual space. In fact, the above two fields are two sides of one fundamental question that how economy evolves. This question is just one perspective of a bigger quest that how society as a whole evolves, which is the basic concern shared by all MAS based researches in social sciences.
Most of the papers considered in this survey were published in 2001, on special issues in ACE of three different journals [16] [17] [18]. Although these researches are not most up to date, these collections of papers were carefully selected to cover most of the directions under ACE and hence would be helpful to build up a full view of this subject.
Two major themes of papers were found in these collections. One type of papers was mostly focused on the general principles of economy. Highly abstract models were developed, without considering any special feature of some particular type of markets. For instance, Wilhite [19] has developed a model to study the characteristics of trade networks with different topologies, and then has explained that why ‘small world’ topology would be evolved from the perspective of personal incentive. Another example is Epstein’s model [20], which was used to support the statement that degree of thoughtfulness is often inversely related to the strength of social norms. In addition, many attempts related to Game Theory, namely, to find out the aggregate behaviour of different individual strategies, are also included.
Comparing to the first category, more researches have been conducted for the purpose of understanding some particular markets, especially financial markets, which are perhaps the most interesting and colourful ones among others. Izumi and Ueda’s research [21], which consists of the construction of a simulated foreign exchange market, is a good example. In their model, genetic algorithm has been used so that agents can constantly optimize their trading strategy by imitating others. As the result, some emergent phenomena shown in the real world, such as peaked and fat-tailed distribution of rate changes, negative correlation between trading amounts and rate fluctuation, and contrary opinions have been modeled. Many other markets have also been studied as well. For example, Tassier and Filippo [22] have developed an agent-based model for studying labour market with referral networks, which shows that the topology of ‘small world’ would be eventually appear by evolution.
In the remaining part of this chapter, some ideas from this selection of papers, which may lead to further improvements of the existing model developed in DoC would be highlighted and discussed. In this part, the model developed at DoC would be called our model or our approach.
1. The concept of social network: The first impression is that most of the models presented in these papers were not based on a chessboard like world. Other than that, the researchers tended to simulate the society simply as a group of agents connected by social networks with different topologies.
Although the idea of our simulated society was initially inspired by cellular automata, it should not be restricted by it. Certainly the society must exist in a physical world which could be considered as either 3-dimensional or 2-dimentional, the real essence of society is the invisible connections between agents which do not necessarily related to geological neighbourship. Therefore, the chessboard-like models which particularly emphasize the neighbourship relation may not always be an appropriate choice.
Based on the above discussion, my personal suggestion is that the society model may be implemented as a graph. That is to say, each agent is addressed only by its ‘name’ (ID), and the connections between agents are explicitly stored in some data structure rather than implicitly represented in the chessboard-like space. This approach will further increase the diversity of the simulated society, and will be especially useful for capturing social behaviours which are only weakly related to neighbourship relation between agents.
2. Feedback from society to agents: In Izumi and Ueda’s model [21], agents do not interact directly with each other. Instead, they made their purchase decision based on the market price, which is determined by the aggregate behaviour of agents. This approach can be seen as a particular case of ‘vertical interactions’ between the micro level and the macro level of the system, which is also an essential feature of human society. For instance, an agent may decide which leader to follow with consideration of the ‘global situation’: people often tend to join larger group even if the leader is not the particular type they like.
3. The bilateral trade model developed by Wilhite [19] could be used to extend our approach to the simulated society.
To begin with, a brief introduction to Wilhite’s model is presented here. In the model, two types of resources were presented. One of them (goods2) is infinitely divisible which serves as money in the simulated society. In the model, the agent’s utility function is defined by U = g1 * g2 (U denotes to utility, g1 and g2 are the amount of each type of resources that the agent has). The marginal rate of substitution is then calculated by: MRS = (dU / dg1) / (dU / dg2) = g2 / g1, which can be seen as the ‘expected price’ of goods1 measured in goods2. Although the utility function and MRS function are extremely simple, the phenomenon of diminishing MRS is captured. The agent would always try to maximize its utility by trading. Therefore, two agents would trade if their own MRS differs. The mutual accepted price during bilateral trading is negotiated to be the mean of the two agents’ MRS. Then, the agent who has lower MRS would sell goods1 while the agent having higher MRS would bye. As the result of trading, both of them get their utility increased. Finally, the market reaches equilibrium when every agent has the same ratio of g2 / g1, which is the emerged market clear price at last.
This approach is suggested as a possible extension to our model based on the following considerations. First of all, it is clear that adding economy to the simulated society is vital for making it more realistic. Obviously, economic motivation plays an essential role in decision making in the real world, even in the pre-history period. For instance, people fight not only because they are in bad mood, but more importantly driven by the high economic payoff behind this behaviour. This example may partially explain that why the simulated society in our model would often evolve into a peaceful paradise: if one can’t get any reward from being aggressive, so why bother? Then, this particular approach is chosen because it is simple in the first place, which implies that no extreme modification is needed. Another reason is that bilateral trade is the dominating form of economic activity in pre-history societies, which is also where our basic ‘talk and fight’ model derived from.
Simply ‘inserting’ bilateral trade into our model is trivial, but nevertheless, some additional efforts should be taken to make them really integrated into one. Since Guérillot’s model has already exploited the notion of satisfaction, or utility as the formal term in Economics, it would be an ideal start point for the improvement. To extend Guérillot’s model, modifications should be made in the following aspects:
a) It is obvious that new internal parameters (g2 and g1), as well as new interactions (trade), should be added. b) The notion of satisfaction should be further divided into two parts: psychological satisfaction and the satisfaction comes from the amount of wealth that the agent has. These two parts are then weighted to calculate the total satisfaction of an agent. The weight can be either constant or variable, which represents to what extend the agent values material wealth over ‘peace in heart’. c) Emotional factors and economic factors should be both considered in interactions. For example, giving would decrease one’s wealth while increases his or her psychological satisfaction. The updating rule for this behaviour can vary according to one’s social norm: more generous agent may be more psychologically satisfied by helping others. Besides, some interaction could also be purely emotional or purely economic. For instance, it could be the case that agents taking to others only for fulfilling their emotional needs while trading do not affect their mental state at all. d) The basic bilateral trading model could be extended by taking mental state of agents into account. For example, knowledgeable agents may have advantage in negotiation, and hence the mutual accepted price during bilateral trade may partially depend on both agents’ awareness. e) The goal of maximizing total satisfaction (not only wealth) should be explicitly implemented in the model. One way of doing so is to give agents the ability of predicting consequence of their behaviour. When making decision, an agent should first evaluate the possible payoff of all sorts of interactions and then choose the one which benefits the most. The accuracy of prediction can be controlled by the agent’s internal parameters. Further improvements can take place by giving agents the ability of learning, so that they can gradually refine their interaction strategy.
By taking above suggestions as guideline, an economy model would possible be implemented in the simulated society, and hence would make the model closer to the real world. ISO Report - 6: A Review of Previous Efforts from DoC (2)4.4 Simulating Social NormsGuérillot’s approach has extended the basic ‘talk and fight’ model in 3 major aspects. Firstly, the society has been made more realistic by introducing the structure of a virtual city. Secondly, by simulating life cycle and reproduction of agents, the society’s ‘fidelity’ is further increased in essence that population of the society is now gradually replaced by new generations. Finally, hysteresis cycle is used in the updating rules to simulate the fact that changing in mental state is often faster than recovering. Moreover, a rather simple and uniform set of decision rules were developed, which nevertheless still capture most of the basic ideas of Au’s and Aggarwal’s approaches. This can also be somewhat considered as a contribution to the general model.
After above extension, several internal parameters of agent and related interactions have been added to the model so that transition of social norms can be observed from the simulation. External feedback, which means that agents can put comments on other’s interaction, is also modeled. Besides, external influences are also modeled in Guérillot’s approach, but in a slightly different way comparing to Au’s. 4.4.1 Concept of the Virtual City
Figure 4.2: The Virtual City
Figure 4.2 illustrates the society model used by Guérillot. As it can be seen, the virtual world is still chessboard shaped. However, comparing to Aggarwal’s and to Au’s approaches, the major improvements is that the concept of virtual city has been introduced. In Guérillot’s model, the chessboard where all agents live in is considered as city. Each cell in the city represents a household, which can be occupied by a family of agents. Furthermore, the city is divided into 16 districts. Each one of them has an office and a school, which are further divided into 8 grades / sections, respectively. The actual function of schools and offices have been left out in Guérillot’s model, which means they are merely places where agents can interact with other non-neighbouring agents from the same district. By applying above modifications, kinship and the relationship between classmates / colleagues have been modeled beside neighbourship. Therefore, more vivid and complex social networks are presented in Guérillot’s model. 4.4.2 Agent Model with Life CycleLife cycle and reproduction of agents is another major contribution to the general model. In Guérillot’s approach, agents are no longer immortals. They are born by parents, growing old as time flows, receiving education in the school, working in the office, getting married with another agent, having children, and finally die. The major impact of introducing the concept of life cycle is that agents can change their social circle overtime, along with changes in their partner selection strategies. For instance, a baby only interacts with its mother, while adults have much wider social connections including their family member, neighbours and colleagues. Moreover, life cycle and reproduction of agents also gradually bring new blood into the society. As the result of above improvements, social networks of the simulated society would change dynamically all the time, which further increases the complexity of the model.
To reach the goal of simulating transition of social norms, many internal parameters have been added upon the basic set defined in Aggarwal’s model (awareness, integration and other non-mental ones). A brief summary of agent’s internal parameters in Guérillot’s model is presented below.
1. Parameters inherited from Aggarwal’s model, mainly awareness and integration. 2. Sex, age and life span expectancy. There parameters are closely related to the life cycle of agents. The gender difference between agents is modeled so that females always spend more time and has more influences on their children than males. Age is one of the controlling factors of agent’s behaviour model. An agent dies when its age reaches its life span expectancy. 3. Social norms. 5 types of social norms were included in Guérillot’s model, they are: sociability, pacifism, generosity, honesty, flirtation. These parameters affects the decision making process during interaction. For example, it is expected that more sociable agents would prefer to talk than fight. 4. Satisfaction. This is a similar concept to utility in Economics. Satisfaction reflects the general well-being of an agent. Agent’s tendency of maximizing its satisfaction is implicitly modeled in Guérillot’s approach. For example, an agent’s norm tends to be weakened if its satisfaction is increased by performing interactions against the norm. 5. Contact list. Contact list stores the level of affection between the agent and others which have been recently interacted with. Although this may seem to be similar to agent’s memory in Au’s model, the contact list is not intended to be exploited by partner selection rules. Other than that, this information is used during the updating of norms. Opinions from witnesses who are closer to the agent tend to be more effective. 4.4.3 Interactions with Uniform RulesIn Guérillot’s model, decision rules and updating rules are modeled in a relatively uniform and simple way, which makes them easier to be understood, reused and extended by subsequent researchers. Besides, hysteresis cycles are exploited when updating agent’s internal parameters, which abstract the phenomenon that people are easier to be driven away from the ‘mean’. In other words, for any mental parameters, being led away from the mean point (which is 0) always takes less effort than restoring to it. Comments from witnessed have also been modeled by Guérillot, within the updating rules of his model. This design is essential for simulating the transition of norms. A conclusion of Guérillot’s interaction model is presented as following.
1. Agent selection rules: Unlike in Au’s approach, in Guérillot’s model, every agent always gets chances to interact with others during each time of iteration.
2. Partner selection rules: How many times can an agent interact during each clock interval and which agents (family members, neighbours or classmates/colleagues) can be chosen as partner vary regarding mostly to the agent’s age. For instance, a baby is allowed to interact with his/her mother 3 times per iteration while a teenager is allowed to interact twice with family members, twice with classmates and twice with classmates in the mean time. The exact partner is chosen randomly within the allowed range.
3. Decision rules: In Guérillot’s model, 5 types of interactions have been modeled. Each type of interaction is connected to one dimension of social norms. Talk is positively connected to sociability; fight is negatively connected to pacifism; give is positively connected to generosity; steal if negatively connected to honesty and seduce is positively connected to flirtation. The decision making process is based on the social norms together with a six dimensional vector give by S = [awareness, integration, relationship (level of affection), partner.awareness, partner.family bonus, relative satisfaction]T. The decision is made in two steps:
Firstly, marks for each interaction are calculated by: marl(Interaction) = (1 – α) * S·I(Interaction) + α * Norm(Interaction). In this formula, I(Interaction) represents the ideal situation in which the particular type of interaction should be chosen, which is a pre-defined vector. The first term in the formula calculates the inner product between S and I(Interaction), which means that the more similar the situations are, the more likely the interaction should be preferred. The second term represents the contribution of norm connected to the certain type of interaction, which simply takes the value of that norm. For instance, if talk is considered, then Norm(talk) returns the agent’s sociability. Note that for fight and steal, the returned value is inverted since these two types of interaction are negatively connected the norms. In the formula, the two terms are weighted by α, which is the degree of blindness. The higher α is, the more ‘blind’ the agent would be to follow the norm rather than its own thought.
Then, the interaction with highest mark would be chosen by the agent.
4. Updating rules: Guérillot has developed a large set of updating rules based on logical conjunctions and disconjunctions. However, most of them are supported by common sense and hence are not difficult to understand. For example, in Guérillot’s model, stealing causes decreasing in both agents’ integration and awareness and damages their relationship. Moreover, it increases the thief’s satisfaction at the cost of more significant decreasing in the victim’s satisfaction. The logic of this rule is trivial, as well as most of other rules. Therefore, further rules would not be stated any more, only important features of Guérillot’s approach are shown below.
Figure 4.3: Hysteresis Cycle
a) Some interactions can have different results: In particular, talk, fight and seduce can either succeed or fail, which have different impacts on agent’s internal parameters. b) Hysteresis cycle: In Guérillot’s model, all increasing and decreasing are implemented with the help of hysteresis cycles, shown in figure 4.3. As the figure illustrates, the hysteresis cycle actually consists of two functions, namely, the upper half and the lower half in the graph. The upper half is used when the parameters is increasing. By contrast, when decreasing the parameter, the lower half is used instead. By using graphical analysis, which is also shown in the figure, it can be discovered that if the initial value is near 0, both increasing and decreasing would always take fewer steps than returning from the increased or decreased value. For instance, the orbit of v2 takes 3 steps to reach v3, but going back from v3 takes 5 steps. The same phenomenon also happens in the opposite direction. c) Updating of norms and impact of other’s comments: After each interaction, whether to increase or to decrease the strength of the relevant norm is determined by two factors, which are the personal payoff and the opinions of witnesses. The calculation of personal payoff is formulated so that incensement in integration and satisfaction, as well as the fact that the interaction was taken along its norm, would tend to lead a positive result, and vise versa. Taking other’s comments into account is a special feature of Guérillot’s model. After each interaction is performed, up to 3 nearby agents can be chosen as witnesses who would then either praise or critic the agent, by considering whether the agent’s behaviour is along with or against to his or her own norm. The witnesses’ comments are then averaged to form the external feedback. Finally, the two terms described above would be weighted by a factor β to derive the overall judgment. The norm is then strengthened if the overall judgment is positive or weakened otherwise. d) Parents can transfer their own norms to children at their early ages in more explicit way, which is teaching. Therefore, the generational transfer of norms is modeled to some extent in the simulated society as well. e) Mass trauma is modeled in a similar way to Au’s approach. f) Education as an external influence is now modeled by introducing teachers as a special type of agents into the society. Teachers can teach their own norms to their students in exactly the same way that parents teach their children. However, the special feature of teacher is that their norms are specified externally, which are not able to be changed by influences within the society. 4.5 Simulating Generational Transfer of NarcissismBeaton’s model for simulating transfer of narcissism between successive generations can be generally considered as an application with some refinements to Guérillot’s framework. Rather than suggesting significant changes to the model’s general method or structure, Beaton has mainly focused on the issue of increasing the Psychology soundness of the model by adding more features within the existing framework. Therefore, it is a little bit difficult to come up with a compact conclusion of Beaton’s effort, since his work mainly consists of various refinements in the details of the model, as well as modifications (such as changes in interaction types and related internal parameters) used to serve his specific topic. Nevertheless, some refinements which are more general than others and thus have potential to be inherited by following implementations are presented here.
One of the important refinements appeared in Beaton’s model is that he has highlighted the importance of an agent’s early years’ experience to his / her lifelong personality. In Guérillot’s model, the only difference between distinct periods in one’s life cycle is that the agent has dissimilar preference of choosing partners. That is to say, whatever an agent experienced in his / her childhood, it is always possible to ‘undo’ the impact in the later days. However, this assumption is not supported by psychological findings. As Beatons has explained in his paper, narcissism, as well as other personal characters developed during one’s babyhood and childhood is often somewhat permanent through his / her entire lifetime. To simulate this feature, the updating rules in Beaton’s model have been extended so that their underlying hysteresis cycle can change its shape and limits over times. Hence, the allowed changing range of vital internal parameters related to one’s personality becomes smaller and smaller while the agent grows old.
It is obvious that emphasizing the contribution of babyhood and childhood experience (which is mostly related to its parents) to agent’s personality plays an important role in successfully simulating the generational transfer of narcissism.
Another point should be mentioned is that the concept of agent’s learning has been introduced in Beaton’s model. In the model, a narcissist can deliberately and gradually adjust his or her interaction strategy so that he or she can maximize its supply in attention from others. As introduced in section 2.3, as the source of second order emergence, the ability of learning and adaptation of agents is one of the most distinctive features of human society, and therefore should be considered in simulations. The society model is changed slightly in Beaton’s approach so that absolute districts border no long exists, which further increases the diversity of the implied social networks. Other modifications are mostly highly specific, which are just for supporting Beatons’s own topic in narcissism, and hence are left out from this report. ISO Report - 5: A Review of Previous Efforts from DoC (1)4 A Review of Previous Efforts from DoC4.1 General IntroductionIn this chapter, the previous studies related to MAS based research in social sciences done by students under supervision of Prof. Abbas Eddalat in the Department of Computing, Imperial College London would be reviewed.
The general aim of this research programme is to develop a realistic model of human society, which can be used to extract or explain the relationship between macro level behaviours of the society and micro level characteristics of the system, such as psychological features of human being, interaction rules between agents and so on. Nevertheless, the ultimate goal of the research is to finally come up with a model which is realistic enough so that it can be used to predict rather solely to explain.
To pursuit the goal stated above, the research in this team was done in an incremental fashion. The attempts began with Aggarwal’s ‘talk and fight’ model [11], which is used to demonstrate the emergence of cultural groups in human society. Then, the baseline model was enriched in two different directions by Au and Guérillot. Au’s research [12] was an immediate extension of the ‘talk and fight’ model. By introducing different roles of agents, namely, leaders, followers and neutral agents, together with other supplementary modifications, the emergence of hierarchical groups, or loosely speaking, countries, was modeled. In the mean time, Guérillot [13] has introduced structure of a city (households, districts, schools, and offices) and typical life cycle of agents with reproduction to Aggarwal’s approach, and hence has made the model more realistic. With other extensions, Guérillot has used his model to demonstrate the transition of social norms. Although his model has been developed for demonstrating a particular phenomenon in society, it actually has high potential for applications in other topics. Finally, Beaton’s approach [14] for simulating how narcissism transfers from an agent to its offspring can be somewhat seen as an application of Guérillot’s framework. Although Beaton has not introduced major improvements to Guérillot’s model, many modifications and refinements have been made to increase the Psychology soundness of the model. 4.2 ‘Talk and Fight’: The Basic Model‘Talk and fight’ model, developed by Aggarwal for studying the emergence of different cultural groups, is the first attempt in this research programme. The most important contribution of his research is perhaps that his model has implicitly suggested a basic theme of building simulated societies, which has not been notably changed by subsequent researchers. Therefore, as the foundation of following attempts, the basic theme mentioned above would be highlighted in this section. 4.2.1 Society ModelThe society is simulated as a group of computational agents connected by one or more types of relationship, which forms social networks within the society. The social networks, which are mainly used to restrict that which group of agents that a specific agent can interact with, can be either constant or dynamically changeable. However, the social network is often implicitly represented, which also more or less restricted by the chessboard-like virtual world.
In Aggarwal’s own ‘talk and fight’ model, the society is simulated by cellular automata. Each agent occupies a cell on the board. The only relationship between agents is geometrically adjacency, which is defined so that each agent is connected to 8 nearby agents in its Moore neighbourhood. Since the agents can not move in Aggarwal’s model, the social network defined by geometrically adjacency is constant.
Although the society model has been enriched afterwards, all the sebsquent versions are still within the framework described above. Especially the notion of chessboard-like world has not been changed at all. 4.2.2 Agent ModelAgents in the model are simulated in an object oriented way. That is to say, these agents can be equivalently seen as instances of a hierarchy of classes. Internal parameters of a type of agents can be considered as the data members of a class, while allowed interactions can be treated as member functions as well. Different types of agents, which are often categorized by age, social status, or other internal attributes, can exist simultaneously in the model and hence increase the diversity of the society.
In Aggarwal’s initial model, only one type of agents has been modeled. All agents have 2 continuous internal parameters ranging from -1 to 1: awareness and integration, which correspond to left / analytic part and right / emotional half of the brain, respectively. The only allowed interactions between agents are talk and fight. This design has also been inherited with extension by following approaches. 4.2.3 Interaction ModelInteraction is the central point of society, so is the most important part in the model. In the theme implicitly defined by Aggarwal, interaction is the procedure that a certain number (usually 2) of agents get their internal parameters updated simultaneously, following some predefined rules. The entire process of an interaction consists of 4 sequential steps:
1. An agent is selected to perform and interaction with others. The rules defining which agent should be selected to initialize interactions are called agent selection rules. 2. Then, the agent selects its partner(s) based on its type, social connections, internal parameters, pre-defined scheme, and/or other conditions. The rules restricting this step are called partner selection rules. Note that an agent can select more than one partner during a single iteration and then interact with them sequentially. Agent can interact with one or more partners in a single turn, regarding to the particular specification of the interaction. 3. After that, the agent determines which interaction to perform, mainly regarding to its and its partner(s)’s internal parameters. Decision making process is controlled by decision rules. 4. Finally, the interaction is performed, and the internal parameters of every agent participated in the interaction are then updated, by following the updating rules.
In Aggarwal’s approach, talk and fight are both interactions that can only be performed by exactly 2 agents. In the model, each agent receives one change to interact with others during every clock interval. The choosing of partner is entirely random within its socially connected agents, which are agents in its Moore neighbours. Then, a decision functions D: [-1, 1]4 -> {talk, fight} and 2 updating maps: T [-1, 1]4->[-1, 1]4 and F: [-1, 1]4->[-1, 1]4 corresponding to talk and fight are defined, respectively. 4.2.3 How the Simulated Society RunsBefore the simulation actually starts, the society should be firstly initialized, which means all agents in the society must be set with appropriate internal parameters. To ensure that subsequent simulation would be meaningful, the model should be initialized with a ‘typical snapshot’ of the running society.
Discrete time is used in the model, since this is the easiest way to simulate time flow in the computer. During each clock interval, some agents (all agents, in most cases) are selected in a specific order so that they would interact with other agents, in the way which has been described in section 4.2.2. In the mean time, other updating of the society can also take place, such as the changes in topology of social networks, changes in agents’ type and etc. Here, an important restriction should be mentioned is that updating of all parameters must be synchronized, which means updated parameter can never be given as input to other updating procedures within the same clock interval. 4.3 Simulating LeadershipAu’s works done in 2005 was one extended version of the basic model described above. His main contribution to the model is introducing the concept of different roles into the simulated society. Moreover, Au has also given agents the ability of moving in the virtual world, which means run-time changeable social network was also implemented in his model. Finally, external influences such as mass trauma and mass education has been implemented, which prevents his model from completely closing to the environment. Certainly, above points are not the only modifications done by Au, but rather than being extensions, other changes are more likely to be used to serve his particular topic which was intended to demonstrate the emergence of leadership in the simulated society. 4.3.1 The SocietyIn Au’s model, the society is still modeled as a 2D chessboard filled with agents, which are bond by the relationship of geometrically adjacency. That is to say, every agent is normally connected with 8 other agents around him. However, two modifications have been made in Au’s model. Firstly, his model has assigned greater interaction radius to leaders, which allows them to interact with more agents farther located on the chessboard. Thus, a less rigid topology of social network is resulted. Another modification is that agents in Au’s model have the ability of changing their position on the chessboard, which implies the changes in topology of the social network. The intension of these two modifications is to increase the diversity of the social network toward a model that fits better to our common sense. As in the real society, political leaders often can influence more people than usual ones. Besides, the social networks in the real society are certainly not constant. 4.3.2 The AgentsThree types of agents have been model in Au’s simulated society, they are: leaders, followers and neutrals. Different types of agents may have different set of internal parameters, not to mention their value, and different set of allowed interactions. Moreover, agents can change their role in the society by side effects of some interactions. The following is the detailed specification related to these 3 types of agents
1. Common internal parameters: a) Parameters existed in Aggarwal’s model, including ID, coordination, awareness, integration and other non-critical parameters. b) Ego: The indicator of personality level of an agent. This parameter is added mainly for supporting Au’s particular topic in leadership. By his definition, strong ego is a required condition of being a leader. c) Memory: This is in fact not a parameter in common sense, but a list storing recent interaction decisions made by the agent. The main function of this list is to affect future decision making process, which is a simulation of the effect of personal experience. d) Active Level: Determines the probability of an agent deciding to interact during an iteration step.
2. Addition internal parameters of leaders: a) List of followers.
3. Addition internal parameters of follows and neutrals: a) Current leader. For neutrals, this parameter is set to NULL. b) Time spent: Storing how much time has the agent been stayed in the same group. Switching membership would cause this parameter being reset. Neutrals’ time spent is always set to 0. c) Loyalty (to its leader). More loyal agents have higher probability to be selected as successor of the current leader. Also, agents with high loyalty would be hard to either leave the group or be recruited into other groups. Neutrals always have their loyalty set to 0.
4. Allowed interactions by different types of agents: a) Leaders: talk, fight and recruiting. b) Followers: talk, fight, recruiting and surrender. c) Neutrals: talk, fight and surrender.
5. Changing of agent’s role. This can only happens after an interaction has been conducted. The changing rules are based on the newly updated parameter of the interacted agents. A typical agent timeline demonstrating how agent’s role can change is shown in figure 4.1. To keep the report compact, the exact rules are not presented here.
Figure 4.1 A Typical Agent Timeline in Au’s Model (N = Neutral, F = Follower, L = Leader) 4.3.3 InteractionsIn Au’s model, in spite of conventional agent-agent interactions, two types of external influences, namely, mass trauma and mass education, have been introduced. From the perspective of implementation, external influence can be treated as a special type of interaction that all agents in a certain region are participated in. Because the influence is coming from outer environment, which means the decision is made and carried out outside the model, agent selection rules, partner selection rules, and decision rules should all be neglected. Therefore, for external influences, updating rules is the only thing needs to be defined in the model.
The exact specification related to interactions and external influences are concluded below. Still, to make to report compact, all function definitions are not shown here, only design considerations are briefly explained.
1. External influences: a) Mass trauma: This kind of external influence damages both ego and integration to agents who are within the affected region. The degree of impact can be adjusted. The higher the degree of impact, the more damage to the agents’ mind. The updating functions of ego and integration are in the same form, but integration always gets more damage from a mass trauma than ego. b) Mass education: This kind of external influence has positive effect on both agents’ awareness and their integration, and thus can be seen as the opposite of mass trauma. However, unlike social trauma which has instant effect on the society, education must be done gradually to generate a noticeable outcome. In other words, the updating function for mass education is defined so that the negative effect of mass trauma overcomes the positive effect of mass education with the same degree of impact, during a single iteration.
2. Agent selection rules: During each clock interval, every agent in the society gets one chance that they might interact with others. The probability that whether an agent would take the chance is determined by its active level.
3. Partner selection rules: a) Leaders: Leaders interact with all agents within its reachable range one by one. b) Followers and Neutrals: These agents can only interact with one partner, which is chosen randomly within its Moore neighbourhood, including itself. However, the possibility of self-engagement is lower than choosing other agents.
4. Decision rules and updating rules: The definition of these rules is highly complicated in Au’s model, where many intricate functions have been used. Therefore, rather than repeating Au’s approach in great detail, only key features would be concluded below. a) All the rules were defined by using different functions. b) Decision is made regarding to agent’s own experience in the past. In general, agents tend to repeat its most commonly performed interaction. c) Role of agents also affect the decision making process. For instance, a leader may prefer to fight with another leader but may tend to choose recruiting if its current partner is neutral. d) Generally speaking, emotional integrated and literate agents may prefer to talk, while others may prefer to fight with their partner. This is inherited from the ‘talk and fight’ model. e) Agents tend to be more friendly to other agents belonging to the same group while may become more aggressive to agents coming from different groups. f) Talk is a pro-social behaviour and hence has positive affects on awareness and integration. By contrast, fight influences the internal parameters of both interacting agents toward the opposite direction. g) Ego is updated only by consecutive recruiting or surrender. That is to say, agent’s ego would be reset after talk or fight. Generally speaking, agent’s ego is increased by recruiting other agents, or decreased by surrender to others. h) To conclude, the decision making rules and updating rules are mostly rooted from psychological findings which are also supported by common sense. 2008/1/8 ISO Report - 4: System Dynamics3 System Dynamics3.1 Basic Concepts3.1.1 Dynamical Systems and DynamicsDynamical systems [6], in general, are systems that change over time. From this perspective, almost all forms of systems are dynamical systems. However, in the field of System Dynamics, to restrict this concept, a dynamical system, or more precisely, a discrete dynamical system, is mathematically defined as an iterative process [5], which has a set of parameters indicating the system’s current state and a map on the system’s state space which gives the updating rule (iteration map) of the system.
Many systems in the real world can be modeled in this way. The logistic growth model of species’ population used by ecologist serves as a good example. In this model, the system state is described by just one parameter, which is the current population of the species. Let this parameter be denoted by P. The state space of this system is the set of non-negative integers, which is one dimensional. Therefore, the iteration map is a 1-D function defined on this set, given by: Pt+1 = k * Pt – k * Pt2. The first term of this function illustrates the growth factor of the population due to reproduction, while the second term implies the decrease factor due to lack of food, caused by overcrowding.
The dynamics of a system is defined as the order that how a given system would evolve from any possible initial state. For example, in the population model stated above, the dynamics of the system is dedicated to answer the question that on which circumstances (determined by different initial states of the system) the species would distinct, keep growing gradually, undergo a cycle, or follow other more complicated evolution paths. It is obvious that the dynamics of a system is fully determined by its updating rule. As it is illustrated in our example, the dynamics of that system can be learnt by studying the dynamical feature of the quadratic function: f(x) = k * x * (1 – x). Hence, dynamics of system is equivalently known as dynamics of maps, which can always be implicitly considered as iteration maps of some actual systems. So far, a fully mathematically defined framework for analyzing dynamical systems and their dynamics is now presented. 3.1.2 Orbit and Graphical AnalysisAs described in the previous section, the goal of the theory of dynamical systems is to understand the eventual or asymptotic behaviour of an iterative process [6]. Since the process consists of a discrete iteration of a map, the question is then transformed into the following form: take x as the initial state of the system, a series of points: x, f(x), f2(x), ..., fn(x), ... (fn(x) denotes the nth iteration of f(x)) can be generated by the iteration process, then what would this series of points look like ultimately? This, thus, gives birth to the notion of orbit.
The forward orbit [6] of x under a given iteration map f is the set of points x, f(x), f2(x), ... and is denoted by O+(x). If f is a homeomorphism, the full orbit [6] of x under map f can be defined as the series ..., f-2(x), f-1(x) x, f(x), f2(x), ... which is denoted by O(x). Forward orbit, instead of full orbit, is often known as orbit as well, for the reason that people often tend to be more interested in the future but not the past of a system. Therefore, the basic goal of the theory can be reinterpreted as to understand all orbits of a given map.
To explicitly calculate the value of all points in the orbit according to the start point x and the map f is, indeed, one way of learning the feature of the orbit. However, in one dimensional case, by using the graph of the map, which is a 1-D function, a much more convenient method is developed, know as graphical analysis.
Figure 3.1: A Demonstration of Graphic Analysis
Figure 3.1 illustrate an example of using graphical analysis to find out the orbit of x, under a quadratic function f(x) = k * x * (1 – x). The whole procedure can be described by the following steps:
1. Mark start point x on the horizontal axis, draw diagonal y = x and the graph of the iteration function y = f(x). 2. Draw a vertical line from the marked x to the function graph. 3. Draw a horizontal line from the last cross point to the diagonal. Now, the horizontal coordinate of the horizontal line and the diagonal’s cross point is f(x). 4. Draw a vertical line from the last cross point to the function graph. 5. Repeat step 3 and step 4, until the value of enough points on the orbit have been retrieved.
From the example, it can be discovered that graphical analysis is a rather power tool for analyzing the dynamics of an iteration process for two reasons. First, this method is convenient for human, since no calculation is needed. Second, because the orbit is drawn expressively on the resulting graph, extracting features of the orbit would be more intuitive. For example, by using graphical analysis, it would be easy to discover that all orbits start from points within interval [0, 1] would converge to (k – 1) / k under the map shown in figure 3.1. 3.1.3 Fixed Point, Periodical Points and HyperbolicityTwo important types of orbits are fixed point and periodical points (also known as cycle). Fixed point of an iteration function is a point x which satisfies the condition that f(x) = x. Thus, orbit starts from a fixed point would always be constantly fixed to it. Finding fixed points by using graphical analysis is trivial. The cross points of the function graph and the diagonal are fixed points of the function. Cycle formed by periodical points is a little more complicated type of orbits, but nevertheless closely related to fixed point. Periodical points are a series of points x1, x2, ..., xn, which form a cycle under the iteration function f, namely, f(x1) = x2, f(x2) = x3, ..., f(xn-1) = xn, f(xn) = x1. The integer n is called the period of the cycle. However, the term ‘period’ is more commonly used to denote prime period, which is the least positive period of the cycle. All points in a cycle with period n are actually fixed points of the function fn. Furthermore, fixed point can also be considered as a special case of cycle, which has its prime period equals to 1. Therefore, some similar features can be found in both types of orbits.
Figure 3.2: Attractive and Repelling Fixed Points
Fixed point and periodical points are important, not only because they are in themselves interesting orbits, but also because they can give information on the features of nearby orbits as well. Both fixed point and periodical points can be categorized into three types: attractive, repelling and neutral.
The hyperbolicity [6] of a fixed point is determined by the value of the function’s first order derivatives at that point. If x is a fixed point of function f, then: if |f’(x)| < 1, x is an attractive fixed point, which means that there exists an open interval U around x such that every orbit starts from a point within U would eventually converge to x; if |f’(x)| > 1, x is an repelling fixed point, which means there exists an open interval U around x and a positive integer k, such that for every x’∈U and x’≠x, fk(x’) does not belong to U; If |f’(x)| = 1, then the hyperbolicity of x can not be fully determined, these kind of fixed points are known as neutral. Neutral fixed points can be either weak attractive, weak repelling, attractive in one direction while repelling in another direction, or have other hyperbolic features. Figure 3.2 shows two fixed points of a quadratic function f(x) = k * x * (1 – x) (2 < k < 3), one is zero and another is (k – 1) / k. It can be observed by using graphical analysis that 0 is repelling fixed point while (k – 1) / k is an attractor.
Since periodical points of function f with prime period of n are actually fixed points of function fn, the hyperbolicity of the cycle can be determined in a similar way. The only difference is that which is equal to |fn’(xk)| (k∈{1, 2, ..., n-1, n}), is now used as the measurement instead of |f’(x)| [5]. Figure 3.3 shows an orbit of quadratic function f(x) = k * x * (1 – x) (k is slightly greater than 3) attracted by a cycle with prime period 2.
Figure 3.3: Attractive 2 Points Cycle
Finding fixed points and cycles and analyzing their hyperbolicity is one of the major components in the study of System Dynamics. One major reason for doing so is that these orbits often correspond to most interesting behaviours in real systems. For instance, equilibria in economy are often attractive fixed points of the system, while periodical fluctuations are examples of attractive periodical points (attractive cycles). 3.1.4 Bifurcation and Orbit DiagramBifurcation theory [6] is another major part of System Dynamics. Rather than focusing on the dynamics of a single function, bifurcation theory is interested in a parameterized functions which is in fact a family of functions, namely, to answer the question that how would the dynamics of the function change while its parameter changes. In bifurcation theory, the structure of periodical points, which means the appearance of new cycles and changes in position and/or hyperbolicity of existing periodical points, is the most emphasized part.
Most cases of bifurcations, especially those interesting ones (bifurcations which can lead to richer dynamics of the system), happen when some periodical points or fixed points becomes neutral due to the parameter change in the function. Loosely speaking, a saddle-node bifurcation which gives birth to new fixed point (periodical points with the same prime period) happens when f’(x) (fn’(x)) at a fixed point (within a cycle with prime period n) goes through 1. By contrast, when f’(x) at a fixed point (or fn’(x) for periodical points with prime period n) goes through -1, a period-doubling bifurcation often takes place, which, as explained by its name, generates new cycle which has its prime period equals to two times of the original one’s. The quadratic family f(x) = k * x * (1 – x) can be used to demonstrate both types of bifurcation. As k keeps increasing from 0, the function firstly undergoes a saddle-point bifurcation when k reaches 1, which generates a new attractive fixed point at (k – 1) / k. Then, when k passes 3, a period-double bifurcation takes place and thus the fixed point at (k – 1) / k becomes repelling while an attractive cycle with its prime period equals to 2 appears.
Figure 3.4: Orbit Diagram of the Quadratic Family
To visualize the dynamics of a family of functions, or equivalently the bifurcation process of a parameterized function, orbit diagram is used. In the orbit diagram, the horizontal axis represents the parameter in the function while the asymptotic orbit of the family’s critical point under the function with each possible parameter value is plotted along the vertical direction. Here, the asymptotic orbit means the orbit without points from its beginning part. This is to give a chance to let the plotted orbit settle down to its final behaviour. Intuitively, points shown on the diagram are likely to be the attractive periodical points of the function with different parameter values. That is why the orbit diagram can be exploited to exhibit the bifurcation process of a parameterized function. Figure 3.4 shows the orbit diagram of the quadratic family f(x) = k * x * (1 – x) on the interval [0, 4] (0≤k≤4). When plotting the diagram, Orbit of 0.5 was chosen to be the critical orbit. The bifurcation at k = 1 and k = 3 which are stated above, as well as further bifurcations happened while k keeps increasing, can be seen in the figure. 3.1.5 ChaosAs figure 3.4 shows, when k increases above a certain value around 3.55, the asymptotic orbit of 0.5 looses regularity. In other words, rather than stabilizing to a finite and countable set of points, the orbit becomes dense on some intervals, and hence becomes unpredictable. This is an example of chaos, or more precisely, deterministic chaos.
The discovery of deterministic chaos can be dated back to 19th century, when Henri Poincaré tried to solve the n-body problem and then to prove the stability of solar system. Rather than found an analytical solution, Poincaré discovered that although the rule governing the system is trivial and fully deterministic, the final behaviour of the system is not analytically predictable. Before then, it was thought that unpredictability can be only attributed to underlying randomicity, but Poincaré’s work showed that fully deterministic process can also demonstrate unpredictable behaviours. The example of quadratic family even shows that a system as easy as that can also become chaotic.
For the term ‘chaos’, a variety of definitions have already been suggested by different researcher regarding to their own emphasis, and most of them are intricate. However, for non-mathematicians, rather than focusing on the mathematical insight of this concept, it is perhaps more important to inductively understand what chaos really means by knowing some of its essential properties and related facts. The following list is a conclusion of such properties and facts stated by different researchers:
1. Sensitive dependence on initial conditions: Mathematically, the concept of sensitive dependence on initial conditions is defined as: There exists a positive real number N, such that for any x and any open interval U around x, there is at least one x’∈U satisfies |fn(x) – fn(x’)| > N, where n is a finite non-negative integer. That is to say, in a chaotic system, in any arbitrarily small interval, the orbits of points within the interval would ultimately split. In practical, this implies that for a chaotic system, measurement error on the initial value, no matter how small it is, would inevitably makes the prediction of the system’s ultimate behaviour become drastically inaccurate.
2. Limited degree of predictability: Although chaotic system is often said to be ‘unpredictable’, this statement is not absolute. Dynamics of the quadratic family can be taken as an example. Although a chaotic orbit of the family can not be accurately predicted, it is possible to find out intervals that the orbit falls into.
3. Irrelevant to the complicacy of the system. Again, the quadratic family serves as a perfect example to adjust this statement. By contrast, the behaviour of some highly complicated systems, such as computer, spaceship and etc., can be predicted with relatively high accuracy. In fact, rather than the scale of the system, nonlinearity is perhaps the most essential factor contributing to the presence of chaos [URL2].
4. Intermittency of determinism may appear in chaos. Still using the quadratic family as an example. As it can be seen from figure 3.4, although the function is generally chaotic when k is greater than 3.55, a small window of deterministic orbits appears around k = 3.85. The same phenomenon can also be observed in many other chaotic systems. This fact gives the hint that determinism is perhaps just the special case of chaos, as Newton Laws are now known as special case of Theory of Relativity.
5. Vast presence in the real world: In fact, most phenomena which are thought to be random by common sense are actually caused by deterministic chaos. For instance, the result of a roulette game is often considered random, but in fact the entire process is fully controlled by Newton Laws in classical physics. The result of the game is unpredictable, only because the physical system is deterministically chaotic. In fact, the unique natural source of randomicity known so far is quantum effect, which is only significant on atomic or even sub-atomic level of matter. Therefore, it is very likely that most observable randomicity are actually the consequences of deterministic chaos [7].
6. Complex features appear at edge of chaos. The term ‘edge of chaos’ was coined by Chris Langton from the Santa Fe Institute whilst working simulations based on cellular automata. Briefly, the edge of chaos is the name given to the critical point of the system, where a small change can either push the system into chaotic behaviour or lock the system into a fixed behaviour [URL2]. Interestingly, systems begin to show complex features exactly at these points. For example, in the Game of Life, the system would go either completely chaotic or complete deterministic if just tiny changes are applied to the updating rules. This fact also establishes a connection between two most important concepts in Complexity Science and related fields, namely, chaos and complexity. 3.2 Dynamics in High Dimensional CasesTo keep the description clear, only an example taken from 2-dimensional cases is given here. However, most part of this method can be applied to higher dimensional cases without significant modification.
Suppose a dynamical system in 2-D space is defined by {xt+1 = f1(xt, yt), yt+1 = f2(xt, yt)}. The analysis of its dynamics can be conducted through the following steps:
1. The position of the system’s fixed points can be calculated by solving the equations: {x = f1(x, y), y = f2(x, y)}. 2. Calculate the Jacobian Matrix of the 2-D map at each fixed point, which represents the approximated linear map nearby that position. 3. Calculate the eigen values of the each Jocobian Matrix, denoted by λ1 and λ2, and then find their corresponding eigen vectors v1 and v2. Eigen values of Jacobian Matrix at a given fixed point is an indicator of its hyperbolicity, which plays a similar role to |f’(x)| in 1-D case. 4. The hyperbolicity at each fixed point can be determined by referring to the rules shown below: a) If |λ1| (|λ2|) < 1, then the fixed point is attractive on the direction parallel with or opposite to v1 (v2). b) If |λ1| (|λ2|) > 1, then the fixed point is repelling on the direction parallel with or opposite to v1 (v2). c) If |λ1| (|λ2|) = 1, then the fixed point is neutral on the direction parallel with or opposite to v1 (v2), which means the hyperbolicity can not be determined along this line. 5. Periodical points can be found and studied in a similar way. 3.3 How Dynamics Related to Human SocietyAt the first glance, the mathematical theories about system dynamics may seem to be irrelevant to the goal of understanding human society. To highlight their connection, the following example is presented.
Since even the simplest form of real society is still too complex to be used as an example, here we take a deliberately generated model society instead. This synthetic society is formed by two agents, where each one has only one internal parameter. Moreover, only one type of interaction is allowed to be performed by these two agents, and this interaction must be conducted during every clock interval of the simulation (discrete time is used). Above model is one the simplest societies, which nevertheless still preserves most essential features of a real society, namely, common characteristics shared by individuals and interaction between them. In this model, the society’s state is fully defined by the internal parameter of the two agents. Therefore, the state of the society can be represented by a 2-dimensional vector [x1, x2]T, where x1 denotes to the internal parameter of agent1 while x2 denotes to agent2’s. Suppose after each interaction is performed, both agents’ internal parameter got updated by a 2-D map: {x1’ = f1(x1, x2), x2’ = f2(x1, x2)}, where x1’ and x2’ denote to the updated internal parameter of the two agents respectively. Until now, it would be easy to discover that the dynamics of the society is the dynamics of the 2-D map. Hence, the evolution of the society can be studied by finding the dynamical features of the 2-D map. In other words, by using methods introduced in the last sections, we would be able to predict that whether the society would converge to some attractors, goes chaotic or follows other development paths.
Nevertheless, now considering a case that is just one step beyond the above model. Suppose the only modification to the model is that now it contains 1000 agents rather than 2. Even by taking a very strong constraint that these agents always interact with their pre-defined partner, in case if the topology of partnership relation forms a globally connected graph, we are now facing the dynamics of a 1000-dimensional map, which would be very hard, if not impossible, to be solved analytically. Therefore, it is not difficult to imagine that how intricate and impractical it would be to study the evolution of a real society, or even just a little more realistic model of it, in this analytical way. This is, however, another compelling reason that why simulation could be served as a more powerful alternative. 2008/1/5 So funnyI've heard the following funny 'speach' in the lift of Earl's Court tube station, where several advertisment posts of McFlurry (a kind of soft icecream) are pasted on the wall.
'McFlurry, so smooth and so delicious!'
'Only for 99p!'
'How can I resist it?'
'Maybe I should get one right now!'
'Or'
'Wait until I get back to America and get one for 1 dollar.' 2008/1/4 ISO Report - 3: Human Society as Complex Systems2 Human Society as Complex Systems2.1 Human Society and Social Sciences2.1.1 The Definition of Human SocietyHuman society or society in short, is a group of individuals sharing similar interests, characteristics or belief, interacting collaboratively toward some explicit or implicit common goal. By this definition, here in this report, the meaning of the term ‘Human Society’ actually covers s wider area than its conventional usage in daily conversation, which in most cases, representing the entire humanity as a whole. Therefore, many kinds of subsets of the entire mankind, such as a local community living in the same area, a family bond by kinship, a political party sharing the same perspectives and many other groups are all instances of the term human society.
Although different types of societies have various forms, most of them share the following characteristics:
1. Presence of structure: To increase a society’s efficiency toward its goal, as a result of self organization or deliberate assignment, different people often have different roles within the society. This fact, therefore, gives birth to a certain topology of social network by mean of some relationship (economic, political and etc.), which then forms the structure of the society. For instance, a family has the structure of a tree, a certain group of merchants form trade network, political parties are often hierarchically organized, and etc.
2. Open border between inside and outside. Nobody lives in vacuum, so does societies. For some types of societies without explicit criteria of membership, such as fan clubs or cultural groups, it is obvious that there is no clear border between inside and outside of the society. For other societies, although a border may be clearly defined by membership requirement, the society as a system is still not close. In other words, the border does not totally prohibit interactions between individuals on either side of it. Moreover, the society as a whole may also participate in various types of interactions with its outer environment. Therefore, semi-closure is another common nature of societies. 2.1.2 A Brief Introduction to Social SciencesThe social sciences [1], in studying subjective, inter-subjective and objective or structural aspects of society, are traditionally referred to as soft sciences. In other words, social sciences are a collection of scientific disciplines that take human society as their object of research. The term ‘soft sciences’ is the opposite of ‘hard sciences’, or ‘natural sciences’, which focuses on objective aspects of natural world only. However, in recent years, as more and more quantitative methods been introduced into social sciences studies, and the emergence of a variety of cross-disciplinary subjects between social sciences and natural sciences such as Neurophysiology, Bioeconomics, and Complexity Science, the border between ‘soft’ and ‘hard’ became blurred.
Arguably, Economics [URL1], which seeks to analyze and describe the production, distribution, and consumption of wealth, and Sociology [URL1], which is the science of society, social institutions, and social relationships, and specifically the systematic study of the development, structure, interaction, and collective behaviour of organized human groups, are two major disciplines of social sciences. Other disciplines belonging to social sciences are cultural anthropology, political science, criminology, and social psychology. However, Economics and Sociology are also the two disciplines in which most MAS based researches have been conduct, and hence would be emphasized in the following chapters. 2.2 Complex Systems and Complexity Science2.2.1 The Notion of Complex SystemsRather than giving an explicit one-sentence definition of the term ‘complex system’, many researchers tend to explain this concept implicitly, by highlighting which common properties that complex systems should have, comparing features of complex systems with their opposite, namely, simple systems, and giving detailed description of typical examples of complex systems. This tradition would be followed in this report as well.
Although different researchers, based on their own field of interest, may prefer different properties as the essential features of complex systems, the following features are most widely cited by the academia:
1. Non-determinism and non-tractability: Non-determinism is one the fundamental properties of complex systems. For this kind of systems, the accurate prediction of the system’s behaviour would still not be possible even if the function and characteristics of all its components have been completed known.
2. Rich types of nonlinear interactions between components within the system and between system and its environment. Nonlinearity is a major reason that why complex systems are non-deterministic. This is also the essential difference between complex systems and merely complicated systems.
3. Emergence: Emergence is probably the most interesting and attractive feature of complex systems. In complex systems, many macro level features often can not be attributed directly to its components. These features are then called emergent behaviours of the system. In other words, a complex system is always greater than the sum of all its components.
Figure 1.1: Game of Life – An Example of Emergence
The famous Game of Life [URL3] developed by John Conway in 1970 is a vivid example to illustrate the concept of emergence. Figure 1.1 shows a screen shot of an implementation of the Game of Life. In this algorithm, each block on the board represents a cell, which can be either dead or alive. The updating rules of cells’ state are extremely simple: If exactly 3 cells around a cell are alive, the cell becomes alive; if exactly 2 cells around a cell are alive, the cell remains its current state; otherwise, the cell dies. Nevertheless, when these ‘cells’ are put together, the system begins to show many highly complex behaviours. For examples, appearance, extension and disappearance of colonies, as well as presence of certain types of interesting structures such as glider and glider shooter, can be observed. Certainly, all these behaviours can not be found in any part of the updating rules. Thus, they are said to be emerged.
4. Limited functional decomposability and irreducibility: Because the emergent behaviours only pop up when all components of the system are put together, the features of a complex systems can not be completed understood merely by studying all its components and their relationships independently, without considering the context within the system. Moreover, since the complexity of the system partially comes from the nonlinear interaction between the systems and its environment, decomposability also means that the studying the system within its environment is also vital for getting a complete understanding.
5. Distributed nature: A complex system possesses properties comparable to distributed systems (in the connectionist sense), i.e. some of its functions cannot be precisely localized. This is mainly the consequence of emergence.
Distributed nature also means decentralization. Ant colony is a good example to explain this feature of complex systems. In an ant colony, no central organizer exists. The behaviour of the entire systems is directly attributed to the coherent interaction of ants. Although single ant does not have the full view of either the system or the environment, the aggregate behaviour of the ant colony can form a complex society, which is highly adaptive to the changing environment, and hence shows some degree of intelligence, which is sometimes referred to collective intelligence. 2.2.2 Complexity Science and SimulationComplexity Science, generally speaking, is a cross-disciplinary subject that focuses on the abstract level of complex systems, and tries to understand their universal properties.
Figure 1.2: Relationship between Complexity Science and other Disciplines
Figure 1.2 illustrates the pyramidal structure of a diverse range of academic activities related to Complexity Science. The disciplines located at the bottom of the pyramid are aspects that focusing on specific areas of the real world. These disciplines are the practical concrete of Complexity Science, for they are both the source of empirical observations of complex systems in the real world and the test grounds for theories which come down from higher levels. By contrast, the position of Complexity Science is at the top of the pyramid, which means the object of interest in Complexity Science is not any particular complex system but complex systems as a whole, or in other words, the universal laws governing all or most of complex systems. From this perspective, Complexity Sciences is somewhat playing the similar role to Mathematics.
If we take a comparison between Complexity Science and Astronomy, the development of Complexity Science can be divided into three stages. In the first stage, known as Tycho Brache stage, many observations to different types of complex systems in the real world were made, and people began to realize the existence of the universal laws behind these observations. Then, in the Kepler stage, by using the data acquired from the first stage, some empirical laws of complex systems would be discovered, but without knowing why. Finally, in the Newton stage, the fundamental reasons that why complex systems exhibit those laws would be found by insightful discoveries of the universal principles on the highly abstract level of complex systems.
By using this comparison, our current understanding toward complex systems lies in the middle of Tycho Brache stage and Kepler stage. This is where simulation can be extremely useful. First of all, it is obvious that a large number of systematically arranged experiments would be necessary for derivation of empirical laws by induction. However, many complex systems existing in the real world, especially social systems, are extremely difficult to handle. Thus, conducting large scale controlled experiments to these kinds of systems is an unimaginable task. To overcome this problem, doing experiments on the model (not mathematical model) of the system have been exploited as an important research method by researchers from many subjects, including Economics, Architectonics, and etc. Computer simulation is just an extension of this long-existing method, with the help of high computational power supplied by computers. The second persuasive reason that why simulation should be preferred is that simulation simplifies the scene and hence can help researcher to discover the essence principle within the original system. Although irreducibility is an important feature of complex systems, simplification would be acceptable if the particularly interested aspect of the system is rooted from only a small subset of the system’s low level (component level) features, as it is often the case. Last but certainly not the least, rather than splitting components from their environment, simulation preserves the context of the system as well as the outer environment as well and therefore is capable for capturing the complexity essence of the system to some extend. 2.3 A Revisiting of Human SocietyAfter going through above introduction, it would not be difficult to realize that why human society is considered as a complex system. Rich interactions, most of which are nonlinear, between human beings, and between society and its environment, which consists of other social groups or the natural world, are the main sources of the complex nature of the society. Besides, social structures, such as stock market, international trading, political parties, governments, culture, religion, fashion and etc., are all emergent behaviours of the different societies.
In fact, from the perspective of Complexity Science, understanding emergence of human society is perhaps the most dominating theme of many subjects in social sciences, such as Economics and Sociologies. Furthermore, even these subjects themselves are emerged from the system. This raises the concept of second order emergence. The special feature of human society is that agents in this system have power to reason, to learn. In other words, human agents can realize the initial emergent feature (first order emergence) of the system and hence can adapt to it. The aggregate behaviour of agents’ adaptation to the first order emergence leads to even more complex dynamics of the system. New features arise, which are called second order emergence of the system. Another special feature of human society is that the basic components of the system are human beings, which are homogeneous to some extend. This property gives the natural ease of building computational simulation model of the system, since it can be modeled as a collection of similar synthetic agents, each one represents a single person in the real world. The notion of Multi-Agents Simulation (MAS) in social sciences comes from here. However, agent in the simulation does not always necessarily have to be the model of a single person. Subgroups of the society such as firms, organizations, local communities and etc. can also be used as the basic building blocks, which are modeled by computational agents, of the simulated society. Nevertheless, high uniformity of components is always the feature of societies, which is one of the main reasons that why MAS is widely used. ISO Report - 2: Introduction1 IntroductionHuman society is possibly the most complex system that has ever appeared so far. Although searching for the principles underlying the development of human civilization is probably as old as the human civilization itself, only since 18th century, the searching for these rules has been formalized into scientific aspects known as social sciences. Considering the relatively short history of social sciences as science, it would not be hard to reason why the progress we have made in social sciences is far behind what we have achieved in the field of natural sciences.
However, unlike people who may have thought like that a century ago, nowadays, people began to understand that the dominating factor obstructing major breakthrough in social sciences toward predictability, precision and accuracy is the high degree of complexity that social systems have. The complexity of social systems comes from three sources. First of all, as the ground component of the system, single human being (or human brain), is in itself a very complex system that we have not fully understood yet, by mean of physical sciences. Secondly, the rich types of interaction between human beings and various sub-structures within the society give additional complexity to the system. Finally, the ability of learning, reasoning and adaptation of human beings, which forms various types of feedback between macro level and micro level of the system, makes human society even more complex.
Due to the absence of appropriate mathematical methods which can be used to deal with complex systems in general, to study social systems by analytical approaches without exploiting over-simplified models is currently an unachievable task. However, thanks to the fast development of computers and the steady decreasing in their cost, study social systems by Multi-Agent Simulation (MAS) based methods has became a relatively new, but rather powerful alternative path. By using simulation based methods, heterogeneous agents with richer internal parameters and the ability of learning, as well as more types of interaction between different agents or between agents and the environment can be well modeled. More importantly, one essential difference between simulation based methods and traditional approaches is that by simulation, the complex nature of social systems is emphasized rather than overlooked. Therefore, by exploiting this new approach, building more realistic models of the society becomes possible, which can be then used to derive more reliable observations that how human society works.
Although MAS based methods are relatively new and somehow not very popular in social sciences research, it still consists of a wide area with countless papers have been published. Therefore, to give a comprehensive review of all research streams in this aspect is rather impractical, at least not in a report of this length. The intension of this report is merely to give an introduction to MAS based research in social sciences, including basic concepts, mathematical background knowledge, and a survey of selected papers in relevant aspects. The other chapters of this report are organized as following: Chapter 2 is used to give an introduction to complex systems and their properties in general, and then highlight that why human society is a complex system and some of its special features that are not shared by other complex systems. As a crucial mathematical method which can be used in the study of complex systems, System Dynamics would be introduced in chapter 3. Chapter 4 and chapter 5 are dedicated for survey of two selections of papers related to MAS based research in social sciences. The first selection is the researches have been conducted at Department of Computing (DoC), Imperial College London, mainly aimed at building realistic model of the society so that emergence of society level behaviours and how they are rooted from agent level characteristics can be studied. The second selection covers a wide range of papers demonstrating how MAS based methods can be used in Economics research, which is also known as Agent-based Computational Economics (ACE). Moreover, some ideas originated from ACE research, which maybe useful for further improving the exiting model developed at DoC would be highlighted in chapter 5. Finally, the conclusion of this report would be given in chapter 6. 2008/1/3 Good good study, day day upSo, the second term begins. Let this term be as fruitful and as cheerful as the first term was. Here is a brief plan for this term: 1. Take at least two courses and get good understanding by the end. 2. Finish the second ISO in the MM-HCI project with good results obtained and thus to ensure my place. 3. Visist British Museum, as well as other museums in London as many times as possible and read more books in history and comtemporary culture of Western Europ. 4. If have time, try to visit Southampton, Bath, Reading, Bristol or Briton during weekends. 5. If possible, learn and practice to improve my cooking skills. |
|
|