Artificial Immune Systems (AIS) - A New Paradigm for Heuristic Decision Making

Over the last few years, more and more heuristic decision making techniques have been inspired by nature, e.g. evolutionary algorithms, ant colony optimisation and simulated annealing. More recently, a novel computational intelligence technique inspi…

Authors: Uwe Aickelin

Artificial I mmune Syste ms (AIS) – A New Paradig m for Heuristic Decisio n Making OR46 (2004) AIS for OR, Keynote Speech Uwe Aickelin School of Computer Science and Information Technology The University of Nottingham Nottingham, NG8 1BB, United Kingdo m uxa@cs.nott.ac.uk Abstract Over the last few years, more and more heuristic decisi on making techniques ha ve been inspired by nature, e.g. evolutionar y algorithms, ant colony optimisat ion and simulated annealing. More recently, a novel computational intellige nce technique inspired by immunology has emer ged, called Artificial I mmune S ystems (AIS). T his i mmune sy stem inspired technique has already been useful in solving some computational problems. In this keynote, we w ill very b riefly describe the immune syste m metaphors t hat are relevant to AIS. We will t hen give some ill ustrative real-world p roblems s uitable for AIS use and show a step- by-step algorithm w alkthrough. A comparison of AIS to other w ell-known algorith ms and areas for future work will rou nd this keynote off. It should b e noted that as AIS is still a young and evolving field, there is not yet a fixed algorith m template and hence actual implementation s might differ somewhat from the examples given here. Brief Overview of the N atural Immune System The biological immune s ystem is an elaborate defence mechanism which has evolved over million s of years through extensive redesigning, testin g, tuning and optimisation processes. While many details of the im mune mechanisms and processes are yet unknown even to i mmunologists, i t is, however, well-known that the immune s ystem uses a multi-level defence both in parallel and sequential fashion. Depending on the type of t he intrude r (also called antigen or patho gen), and t he wa y it gets in to the bod y , the immune s y stem us es different response mechanisms either to neutralize the pathogenic effect or to destroy the infe cted cells. A detailed overview of t he immune system can be found in man y textbooks 13,16 . The immune features that are p articularly relevant to this ke ynote are matching, diversit y and distributed control. Matching refers to the bi nding between antibod ies and antigens. Diversit y refers to the fact that, i n order to achieve optimal antigen space coverage, anti body diversity must be encouraged 10 . Distributed control means t hat there is no central controller. R ather, the immune s ystem is governed by local interactions among immune cells and antigens. As mentioned above, the human body is protected against foreign invaders by a mult i- layered s ystem. The immune s ystem is composed of phy sical barriers such as the skin and respirator y system, ph ysiological barriers such as destructive enzymes and s tomach acids and the actual immune system, which has two complementary parts, the innate and ad aptive i mmune s ystems. The innate immun e s ystem is an u nchanging mechanism that detects and destroys certain invading or ganisms, whilst the adaptive (or acquired) immune system responds to previousl y unknown foreign cells and builds a response that can remain in the body over a long period of time. Of most interest to us is the adaptive immune s y stem, which is composed of a num ber of different agents perfo rming different functions at a number of different locations in the bod y. The precise interaction of these agents is still a topic for debate 13,16 . Two of the most important cells in this process are t wo t ypes of white bl ood cells, called T-cells and B-cells. Both of these originate in the bone m arrow (hence the ‘B’), but T-cells pass on to the thymus to mature (hence th e ’T’), before the y circulate the body in the blood and lymphatic vessels. T-cells come i n three types; T-helper cells which are essential to the activation of B- cells, Killer T-cells whic h bind to foreign invaders and inject p oisonous chemicals into them causin g their d estruction, and supp ressor T -cells which inhibit the action of other immune cells thus preventing allergic reactions and autoimm une diseases. B-cells are responsible fo r the production and secretion of antibodies, which are specific proteins that bind to the antigen. Each B-cell can only produce one parti cular antibody. The anti gen is found on the surface of t he inva ding organism and the bind ing of an antibody to the antigen is a signal to destroy the invading cell. As can be gleaned from the brief explanations abo ve, there is more than one mech anism at work in the human i mmune s ystem 8,12,13,16 . However let us now concentrate on the essential process ex ploited in most AIS: The matching between antigen and antibody which subsequently lead s to i ncreased con centrations (proliferation) of more closel y matched antibodies. In pa rticular, the negative selection mechanism and t he ‘clonal selection’ and ‘somatic hypermutation’ theories are primaril y used in AIS models. Negative Selection mechanism The purpos e of ne gative selection is to p rovide to lerance for sel f cells . It deals with the immune system's abilit y to detect unknown antigens whilst not reacting t o self. During the generation of T-cells, receptors are m ade through a pseudo-random genetic rearrangement process. Then, they und ergo a censoring process in the th ymus (hence the ‘T’ in T-Cell), called negative selection. There, T-cells that react against self- proteins are destroyed and thus, only those that do not bi nd to self-proteins are allowed to leave the th ymus. These matured T-cells then circulate throughout the bod y to perform immunological functions and protect the bod y against foreign antigens. Clonal Selection Principle The clonal selection principle describes the b asic features of an immune response to an antigenic sti mulus. It est ablishes t he idea that only those cells that recogniz e the antigen proliferate, thus being selected a gainst those that do not. The m ain features of t he clonal selection theory are that: • New cells are (cloned) copies of their parents, subject to a mutation mechanism (somatic hypermutation); • Self-reactive cells are eliminated; • Proliferation and differentiation of mature cells on contact with antigens. When an anti body stron gly matches an anti gen the corresponding B-cell is stimulated to produce clones of itself th at then produce more antibodies. This (h yper)mutation is quite rapid, often as much as “ one mutati on per cell div ision” 7 t o allo w a ver y quick response to antigens. It should be noted here that the A I S literature often m akes no distinction between B-cells and the antibodies the y produ ce. Both are subsumed under the word ‘antibody’ and statement s such as mutation of antibodies (rather than m utation of B- cells) are common. For s implicit y , we will only us e the term ‘antibody’ in the following sections. There are man y more fe atures of the imm une s ystem, including the im mune network theory 12 , adaptation, i mmunological memor y and protection against auto-immune attacks, not dis cussed here. In the followin g sections, we will revisit some important aspects o f these concept s and s how how the y can be modelled in ‘artific ial’ immune systems used to solv e real-world p roblems. First, let us giv e an overview of t ypica l problems that we believe are amenable to being solved b y AI S. Illustrative problem s Data Mining – Collaborative Filtering (CF) and Clustering CF i s a term for a broad range of algorithms that use sim ilarity measures to obtain information, usually recommendations. The best-known example is probabl y the “people who bou ght t his also bought t hat” feature of the internet company Amazon 3 . However, an y problem domain where users are r equired t o rate items is amenable to C F techniques. Commercial applications are usually called recommend er systems 15,17 . A canonical example is film recommendation 4,5 , which we will use in this keynote. In tr aditional CF, the items to be recommended are treated as ‘black bo xes’. That is, your recommendations are based purel y on t he votes of ot her users, and not on the content of t he i tem. The preferences of a user, usually a set of votes on an item, comprise a user profile, and these profiles ar e compared in order to build a neighbourhood. The key decision is what sim ilarity m easure is used. The most common method to compare two users are correlation-b ased measures li ke Pearson or S pearman, which give two nei ghbours a matching sco re b etween -1 and 1. The cano nical example is the k-Nearest-Neighbour algorithm, which u ses a m atching method t o select k reviewers with hi gh si milarity measures. Th e votes from t hese reviewers, suitabl y weighted, are used to make predictions and recommendations. The evaluation of a C F algorithm usuall y cent res on its accuracy. Th ere is a di fference between prediction (given a film, predict a given user’s rating of th at film) and recommendation (given a user, suggest films that are likel y to attract a high rating). Prediction is easier to assess quantitatively but recommendation i s a more natural fit to the film domain. A related problem to CF is that of clustering data or users in a database. This is particularly useful i n huge databases, which have be come too large t o handle. Cl ustering works b y dividi ng t he entries of the database i nto groups, which contain people with similar preferences or in general data of similar t ype. Computer Security - Intrusion Detection Systems (IDS) Anyone keepin g up-to-date with current affairs in computing can confir m numerous cases of attacks made on computer servers o f well-known companies. These atta cks range from denial-o f-service t o ex tracting credit-card details and one wonders “haven’t they installed an y securit y such as a firewall”? The fact is the y often have a firewall. A firewall is us eful, o ften es sential, but current firewall technolog y is insuff icient to detect and block all kinds of attacks. However, on ports that n eed to be open to the internet, a firewall can d o li ttle to prevent attacks. Moreover, even i f a po rt is blocked from internet access, this does not stop an attack from ins ide the organisation. This is where I DS com e in. As the name suggests, IDS are installed to identi fy (potential) attacks and to react b y usu ally generating an alert or blocking the unscrupulous data. The main goal of IDS is t o detect unauthorised us e, misuse and abuse of computer systems by both s ystem i nsiders and ex ternal intruders. Most current I DS define suspicious signatures based on known intrusions and probes. The obvious limit of this type of IDS is i ts failure of detecti ng p reviously unknown intrusions. In contrast, t he human i mmune s ystem adaptively generates ne w i mmune cells so that it is able t o detect previousl y unkno wn and rapidly evolving harmful anti gens 9 . Thus, the challenge is to emulate the success of the natural systems to protect computers. Basic AIS Concepts Initialisation / Encoding Along wi th other heuristics, choosing a suitable encoding is very imp ortant for the algorithm’s success. Similar to Gen etic Algorithms, there is close inter-play between t he encoding and the fit ness function (in AIS referred to as the ‘matchin g’ or ‘affinit y’ function). Hence, both ought to be thought about at the same time. For the current discussion, let us begin with the encoding. First, let us d efine what is meant b y ‘antigen’ and ‘ antibod y’ in the context of an application domain. Typically, an antigen is t he ‘target’, e.g. the data item to be checked to see if it is an intrusion, or t he user to be clustered or made a recommendation for. The antibodies are the remai nder of th e data, e.g. other us ers in the data base, general network traffic that has alread y been identified etc. Sometim es, there can be more than one antigen at a time and there ar e usuall y a large number of antibodies present simultaneously. Antigens and antibodie s are represented or encoded in the sam e wa y. For most problems the most obvious representation is a string of num bers or features, where the length i s equal to the numb er of variables, the po sition i s the variable ide ntifier and the value is the actual value of the variable itself (e.g. binar y or real). For instance, in a five variable binary problem, an encoding could look like this: (10010). Previously we mentioned data m ining and intrusion detection applications. What would an encoding look like in these cases? For data mining, let us consider the problem of recommending films . He re the encodin g has to represent a user’s profile with regards to the films he has seen and how much he has (dis)liked them. A possi ble encoding for this could be a list of numbers, where each nu mber r epresents the 'vote' for an item. Votes could be binary (e. g. Did you see the film? ), but can also be i ntegers in a range (sa y [ 0, 5], i.e. 0 - did not like the film at all, 5 – did li ke the film very much). Hence for film recommendation, a possible encoding is: { } { } { } { } n n score id score id score id User , ... , , , 2 2 1 1 = Where id corresponds to the unique identifier of the film being ra ted and score to this user’s score for that film. This captures the essential features of the data available 4,5 . For intrusion detection, the encoding needs to encapsulate the essen ce of each d ata packet trans ferred, e.g. [ ], for example: [ <113.112.255.254> <108.200.111.12> <25>] which represents an i ncoming data pa cket sent to port 25. In these scenarios, wildcards like ‘any port’ are also often used. Similarity or Affinity Measure (Fitness Function) As mentioned above, similarit y measures or matching rules are ver y important design choices in developing an AIS algorithm, and closel y coupled to the encoding scheme. Two of the simplest matching al gorithms are b est explained us ing binary encoding: Consider the strings (00 000) and (00011). If one does a bi t-by-bit comparison, the first three bits are i dentical an d hence one could give this p air a matchin g score of 3. In other words, one computes th e opposite of the Hamming Distance (which is d efined as the number of bits that have to be changed in order to make the two strings iden tical). Now consider thi s pair: (00000) and (01010). Again, simple bit matching gives us a similarity score of 3. However, the matching is quite di fferent as the t hree m atching bits are not connected. D epending on th e problem and encoding, this mi ght be better or worse. Thus, another simple matching algorithm i s to count the number of continuous bits that match and retu rn the length of the longe st matching as the simil arity measure. For the first ex ample abo ve, this would still be 3, for the second example this would be 1. If the encoding i s non-binar y, e.g. real variables , there are even more po ssibilities to compute the ‘distance’ between th e two strin gs, for instance on e coul d compute t he geometrical (Euclidian) distance etc. For data mining probl ems, similarit y often m eans ‘correlation’. Take the film recommendation problem as an ex ample and assume that we are trying to find users in a database t hat are similar to the target user whose p rofile w e a re trying to match to make recommendations. In thi s case, wh at we are trying to measure is how si milar the two users’ tastes are. One o f the easiest ways o f d oing this is to compute the Pear son Correlation Coefficient between the t wo users, e.g. the Pearson measure is used t o compare two users u and v : ( ) ( ) ( ) ( ) ∑ ∑ ∑ = = = − − − − = n i n i i i n i i i v v u u v v u u r 1 1 2 2 1 Where u and v are users, n is the num ber of overlapping vot es (i.e. films for which both u and v hav e voted), u i i s t he vote o f use r u for film i and ū is th e average vote of user u over all films (not just the overlapping votes). During previous rese arch 4,5 ,it was found useful to introduce a penalty parameter (c.f. penalties in genetic al gorithms) for users who onl y have ver y few films in common, reducing their correlation wh ich might be artificially high. The outcome of this measure is a value between - 1 and 1, where values close to 1 mean strong agreement, values near to -1 mean strong disagreement and values around 0 mean no correlation. From a data m ining poi nt of view, those users who score either 1 or -1 are the most us eful and hence will be selected for further tre atment b y the algorithm. This approach is called ‘positive select ion’ and m ight be coupled to some form of mutati on as explained in the ‘clonal selec tion’ section above. For s ome problem domains, s uch as the fil m recommender, m utation m ight not make an y se nse and hence pure cloning is used. In other applications domains, ‘matching’ mi ght not actuall y be ben eficial and hence we might want to elimi nate those items that match. This approach is known as ‘negative selection’. Under what circumstance would a negative selection algorithm be s uitable for an AIS implementation? Consider I DS as used b y Ho fmeyr and For rest 11 . One way of solving this problem is by defining a set of ‘self’, i.e. a trusted network, our company’s computers, k nown partners etc. During the ini tialisation of the algorithm, we then randoml y create a l arge number of so called ‘detectors’ strings. We then subject these detectors to a mat ching algorithm that com pares th em to our ‘self’. Any matchin g detectors are elimin ated and h ence those th at do no match are s elected and kept (negative selection). Eventually, these detectors form a final set which i s then used in the second phase of the algorithm to conti nuously monitor all network traffic. Shoul d a match be found now, the algorithm reports this as a possible alert of ‘non-self’. Negative or Clonal Selection The meaning of ‘selection’ differs somewhat dep ending on t he ex act problem the AIS is applied to. We have already briefl y described the concept of negative and clonal selection earlier. For the film recommender, choo sing a suitable neighbourhood of users means choosing good correlation scores and h ence we will perform ‘positive’ sele ction. How would the algorithm do this? Consider the AI S to be empty at the beginnin g. The ta rget user is encoded as the antigen, and all other users in the datab ase are possib le antibodies. We add the anti gen to t he AIS and th en we add one candidate antibody at a time. Antibodies will start with a certain con centration value. This value represents the natural lifespan of antibodies and decreases over tim e (death rate), si milar to the evaporation i n Ant S y stems. Antibodies wi th a sufficiently low concentration are removed from the system, whereas antibodies wit h a high concentration may sat urate. An antibody can increase its concentration b y matchi ng the anti gen: The bett er the match the hi gher the increase ( a process called ‘stimulation’). The process of st imulation or increasing concentration can also be re garded as ‘clon ing’ if one thinks in a dis crete setting. Onc e enough antibodi es have been added to t he system, i t starts to it erate a loop of suppression and stimulation until at least one antibody d rops out. A n ew antibod y is then added and the process is repeated until the A IS has stabilis ed, i.e. until there are no more drop-outs for a certain period of time. Mathematically, i n each step (iteration) an antibody’s con centration is increased b y an amount dependent on its matching to the antigen. In the absence of matching, an antibody’s concentratio n will sl owly decrease o ver time. Hence, an A IS iteration is governed by the following equation 8 :       − =               −         = ∑ = N j i j i ji i x k y x m k rate death recognised antigens dt dx 1 3 2 ) ( Where: N is the number of antigens. x i is the concentra tion of antibod y we y j is the concentration of antigen j k 2 is the stimulation effect and k 3 is the death rate m ji is the matching function between antibody we and antibody (or antigen) j The following pseudo code summarise the AIS film recommender: Initialise AIS Encode user for whom to make predictions as antigen AG WHILE (AIS not Full) & (More Antibodies) DO Add next user as an antibody AB Calculate matching scores between AB and AG WHILE (AIS at full size) & (AIS not Stabi lised) DO Reduce Concentration of all ABs by a fixed amount Match each AB against AG and st imulate as necessary OD OD Use final set of Antibodies to produce recommendation . In this example, the AIS i s considered stable after iterating t en t imes with out changing in siz e. Stabilisation thus means that a sufficient number of ‘ good’ neighbours have been identified and ther efore a prediction can b e made. ‘Poor’ nei ghbours would be expected t o drop out o f t he AIS a fter a f ew it erations. Once th e A IS h as st abilised using the above algorithm, we use the antibod y concentration to weigh the ne ighbours and then perform a weighted average type recommendation. Somatic Hypermutation (optional) The mutation most commonl y used in AIS is ver y sim ilar to that found in Genetic Algorithms, e.g. for binar y strings bits are flipped, for real value strin gs one value is changed at random, or for ot hers the order of el ements is s wapped. In addition, the mechanism i s often enhanced b y the ‘som atic’ idea, i.e. th e closer th e m atch (or the l ess close the m atch, depending on wh at we are t rying to achieve), the more ( or less) disruptive the mutation. However, mutating the data might not make sense for all problems cons idered. For instance, it would not be suitable for the fil m recom mender. Certainl y , m utation could be used to make users more similar to the target, however, the validit y of recommendations based on t hese artificial users is questionable and if over-done, one could end up with the tar get user itself. Hence for some problems, Somatic Hypermutation is not used, since it i s not immediatel y obvious ho w to mutate the d ata sensibly such that these artificial entities still represent plausible data. Nevertheless, for other problem domains, m utation might be ver y useful. For i nstance, taking the ne gative sele ction approach to intrusion detection, rather than thr owing away matching detectors in the first phase of the algorithm, these could be mut ated to save time and effort. Al so, depending on the degree of matching the mut ation could be more or less strong. This was in fact one extension implemented b y H ofmeyr and Forrest 11 . For data mining proble ms, mutation might also be useful, if for instance the aim is to cluster us ers. Then the centre (antibod y) of each cluster could be an artificial pseudo user that can be mutated at will until the desired degree of matching between the centre and antigens in its cluster is reached 7 . Comparison of AIS to Genetic Algorith ms and Neural Network s Going through the ke ynote so far, you might alread y have not iced t hat concepts similar to t hose in Genetic Al gorithms and Neural Networks have been mentioned a number of times. I n f act, both h ave a number of i deas in common with AIS and the purpose of t he following, self-explanator y t able, is to put their similarities and differences nex t to each other. Evolutionary computation shares many conc epts of A IS l ike a popul ation, genot y pe phenotype mapping, and proliferation of the most fit. On the other hand, AIS models based on im mune networks resemble t he structures and interactions of connectionist (neural network) models. Some works h ave p ointed out the similarities and the differences between AIS and other heuristics 6,7 . It s hould be noted that some of the i tems i n Table 1 are gross sim plifications, both t o benefit the design of the table and not to overwhelm the reader. Man y of these p oints are debatable; however, we believe that this comparison is valuable ne vertheless to show approximatel y where AIS fit i n. The comparisons are based on a Genetic Algorithm (GA) used for optimisation and a Neural Network (NN) us ed for classification. GA (Optimisation) NN (Classification) AIS Components Chromosome Strings Artificial Neurons Attribute Strings Location of Components Dynamic Pre-Defined Dynamic Structure Discrete Components Networked Components Discrete Components Knowledge Storage Chromosome Strings Connection Strengths Component Concentration Dynamics Evolution Learning Evolution & Learning Meta-Dynamics Recruitment & Elimination of Components Construction & Pruning of Connections Recruitment & Elimination of Components Interaction of Components Crossover Network Connections Recognition Interaction with Environment Fitness Function External Stimuli Recognition Function Table 1: Comparison of AIS to Genetic Algorithm s and Neural Networks. Conclusions The immune sy stem is highly distributed, highly adaptive, self-organisin g, maintains a memory of past encou nters and has the abil ity to continuall y l earn about new encounters. AIS are s ystems developed around the current understandin g of the immune system. We have tried to illustrate how an A I S can capture the basic elements of the immune s ystem and exhibit some of its chief ch aracteristics. More comp lex AIS can incorporate further properties of natural im mune systems, including diversit y , distributed comput ation, error tolerance, d ynamic learning, adaptation and self- monitoring. AIS are a general framework for a di stributed adaptive system and could, in principle, be applied to many domains. AIS have bee n applied to classification problems, optimisation tasks and other domains. AIS share si milarities wi th ot her biologically inspired s y stems and may be described as somewhat of a cross between genetic algorithms and neural networks. An advantage over genetic algorithms i s that in A I S (idiot ypic) network eff ects 4,12 can easily be implemented. Advanta ges over neural networks are the benefits of a population of solutions and the evoluti onary s election pressure and mutation. Other advantages of AIS are that onl y positive ex amples are required (e.g. ‘s elf’) and the patterns learnt can b e explicitl y ex amined. In addition, because AIS are s elf-organizing, not many system parameters are required. To me, the attraction of the (artificial) immune sy stem is that an ada ptive pool of antibodies can produce 'intelligent' behaviour t hrough a combination of evolut ion and idiotypic effects. In pa rticular, a new and sti ll controversial ‘Danger Th eory’ 14 seems promising in this respect. This can be h arnessed to tackle the problem of preference matching and current ch allenges in i ntrusion detection beyond the capabiliti es of current systems 2,1 . References 1. Aickelin U and Ca y zer S (2002): The Dan ger Theor y and Its Application to AIS, Proceedings 1st International Conference on AIS, pp 141-148, Canterbury, UK. 2. Aickelin U, Bentl ey P, Cay zer S, Kim J a nd Mc Leod J ( 2003): DT: The Link between A IS and IDS? , Proceedings 2nd I nternational C onference on AIS, pp 147- 155, Springer, Edinburgh, UK. 3. Amazon (2003), Amazon.com Recommendations, http://www.amazon.com/. 4. Cay zer S and Aickelin U (2002a), A Recommender S yste m based on the Immune Network, in Proceedings CEC2002, pp 80 7-813, Honolulu, USA. 5. Cay zer S and Aickelin U (2002b), On the Effects of Idiotypic I nteractions for Recommendation Communi ties in AIS, Proceedings 1st International Conference on AIS, pp 154-160, Canterbury, UK. 6. Dasgupta, D (1999), Artificial Immune S ystems and Their Applications, S pringer Verlag, 1999. 7. De Castro L and Von Zuben F (2001), Learning and Optimizati on Using the Clonal Selection Principle. I EEE Transactions on Evolu tionary Computatio n, Special Issue on Artificial Immune Systems, 6(3), pp. 239-251. 8. Farmer J , Packard N and Perelson A (1986), The immune system, adaptation, and machine learning, Physica, vol. 22, pp. 187-204, 1986. 9. Forrest S, Perelson A, Allen L and Cherukuri R . Self-Nonself Discrimination in a Computer. In Proceedi ngs of IEEE S ymposium on Research in S ecurity and Privacy, pp 202-212, Oakland, May 16-18 1994. 10. Hightower RR, Forrest S and Perelson AS (1995). The evolution of emergent organization in immune system gene libraries, Proceedings of the 6th Conference on Genetic Algorithms, pp. 344-350, 1995. 11. Hofmeyr S, Forrest S (2000), Architecture for an AIS, Evolutionary Comput ation, Vol. 7, No. 1, pp 1289-1296. 12. Jerne NK (1973 ), Towards a network t heor y of the immune s ystem Annals of Immunology, vol. 125, no. C, pp. 373-389, 1973. 13. Kubi J (2002), Immunology, Fifth Edition b y Richard A. Goldsby, Thoma s J . Kindt, Barbara A. Osborne, W H Freeman. 14. Matzinger P (2001 ), Th e Danger Model in I ts Historica l Co ntext, Sca ndinavian Journal of Immunology, 54: 4-9, 2001. 15. Morrison T and Aickelin U (2002): An A I S as a R ecommender S ystem for Web Sites, in Proceedings of t he 1st International C onference on AIS (ICARIS-2002), pp 161-169, Canterbury, UK. 16. Perelson AS and Weisbuch G (1997), Immunology for ph ysicists Reviews of Modern Physics, vol. 69, pp. 1219-1267, 1997. 17. Resnick P and Varian HR (1997), Recommender systems Communications of the ACM, vol. 40, pp. 56-58, 1997.

Original Paper

Loading high-quality paper...

Comments & Academic Discussion

Loading comments...

Leave a Comment