The Korean Decimal Classification (KDC) is a system of library classification used in South Korea. The structure and main level classes of the KDC are based on the Dewey Decimal Classification. The KDC is maintained and published by the Classification Committee of the Korean Library Association. The first edition of the classification was published in 1964; the most recent edition is the sixth edition published in 2013. Almost all school and public libraries in South Korea use the KDC to organize their collections, as well as the National Library of Korea and some university libraries. == History == Multiple library classification systems had been developed for Korean libraries before the publication of the KDC. These included the Railway Bureau Library Classification(1920), the Korean Decimal Classification edited by Bong-Suk Park(known as KDCP, 1947), the Han-Un Decimal Classification(1954), and the Kuk-Yeon Decimal Classification(1958). After the disappearance of editor Bong-Suk Park in the 1950s, the KDCP system decreased in use. Korean librarians considered adopting the Dewey Decimal Classification (DDC), especially after it was implemented at Yonsei University in 1957, but struggled to apply it to East Asian and Korean-focused works in their collections. In February 1963, members of the Korean Library Association's Classification were appointed to create a national classification; they decided to make revisions to the order of the main classes of the DDC, for example bringing together the class Language(700) together with the class for Literature(800). Committee members prepared draft classes and indexes and the first edition of the KDC was published in May 1964. Both the text and the index were written in Korean Hangul characters and Chinese characters. The second edition was published just two years later, in 1966, correcting errors and omissions found in the first edition. The third edition was published in 1980, maintaining the basic framework of the previous editions while expanding significantly. The fourth edition, published in 1996, made considerable changes, including increasing the number of representatives on the Classification Committee. The committee sought feedback from the library community and implemented revisions included in the recently published edition 20 of the DDC and edition 9 of the Nippon Decimal Classification. New policies applied to the fourth edition included principles suggesting the main classes should remain as static as possible, with focus shown to expanding classes devoted to technology and science. Likewise, many subject specialists were consulted for the publication of the fifth edition in 2009. The publication of the 23rd edition of the DDC in 2011 provided opportunity for a new revision of the KDC, and the sixth edition was published in July 2013. Greater numbers of classes provided number building capacity in the sixth edition, allowing for more specificity. == Description == The KDC classifies resources primarily by discipline, though some classes are collocated by subject. There are eight auxiliary mnemonic tables used to expand class numbers. The main classes of the KDC are the same as the main classes of the Dewey Decimal Classification, but four of those main classes are in a different order: Natural sciences (400), Technology and engineering (500), Arts (600), and Language 700. Though the structure is heavily influenced by the DDC, aspects of multiple library classifications have been invoked in the creation of the KDC, including the Library of Congress Classification for the arrangement of the social sciences (300), the Universal Decimal Classification for medical sciences (510), the KDCP for Korean and Oriental subjects, the Nippon Decimal Classification for those of Japan and Oriental subjects. === Classes of the KDC 6th edition === 000 General works 000 General works 010 Books, Bibliography 020 Library & information science 030 General encyclopedias 040 General collected essays 050 General serial publications 060 General societies 070 Newspapers, journalism 080 General collected works 090 Materials of province 100 Philosophy 100 Philosophy 110 Metaphysics 120 Epistemology, etc. 130 Systems of philosophy 140 Chinese classics 150 Oriental philosophy and thought 160 Western philosophy 170 Logic 180 Psychology 190 Ethics, moral philosophy 200 Religion 200 Religion 210 Comparative religion 220 Buddhism 230 Christian religion 240 Taoism 250 Chondoism 260 [Unassigned] 270 Hinduism, Brahmanism 280 Islam, Mohammedianism 290 Other religions 300 Social sciences 300 Social sciences 310 Statistics 320 Economics 330 Sociology and social problems 340 Political sciences 350 Public administration 360 Law 370 Education 380 Customs, Etiquette, Folklore 390 Military science 400 Natural sciences 400 Natural sciences 410 Mathematics 420 Physics 430 Chemistry 440 Astronomy 450 Earth science 460 Mineralogy 470 Life science 480 Botany 490 Zoological science 500 Technology 500 Technology 510 Medical science 520 Agriculture 530 Engineering, technology, etc. 540 Construction and architecture 550 Mechanical engineering 560 Electrical, comm. & electric engineering 570 Chemical engineering 580 Manufactures 590 Human ecology 600 Arts 600 Arts 610 [Unassigned] 620 Sculpture, plastic art 630 Crafts 640 Calligraphy 650 Painting, design 660 Photography 670 Music 680 Stage performance, museum arts 690 Amusements, sports & physical training 700 Language 700 Language 710 Korean language 720 Chinese language 730 Japanese & other Asian languages 740 English 750 German 760 French languages 770 Spanish languages & Portuguese language 780 Italian languages 790 Other languages 800 Literature 800 Literature 810 Korean literature 820 Chinese literature 830 Japanese & other Asian literature 840 English & American literature 850 German literature 860 French literature 870 Spanish & Portuguese literature 880 Italian literature 890 Other literatures 900 History 900 History 910 Asia 920 Europe 930 Africa 940 North America 950 South America 960 Oceania and Polar regions 970 [Unassigned] 980 Geography 990 Biography === Expansion tables === Table 1. Standard subdivisions Table 2. Geographic Areas Table 3. Korean geographic areas Table 4. Korean historical period Table 5. Languages Table 6. Subdivisions of individual languages Table 7. Subdivisions of individual literatures Table 8. Subdivisions of individual religions == Usage == KDC is used by a wide range of libraries within Korea, including by the National Library of Korea and most school and public libraries in the country, along with some university libraries, such as the one at Keimyung University.
Data event
A data event is a relevant state transition defined in an event schema. Typically, event schemata are described by pre- and post condition for a single or a set of data items. In contrast to ECA (Event condition action), which considers an event to be a signal, the data event not only refers to the change (signal), but describes specific state transitions, which are referred to in ECA as conditions. Considering data events as relevant data item state transitions allows defining complex event-reaction schemata for a database. Defining data event schemata for relational databases is limited to attribute and instance events. Object-oriented databases also support collection properties, which allows defining changes in collections as data events, too.
Structure mapping engine
In artificial intelligence and cognitive science, the structure mapping engine (SME) is an implementation in software of an algorithm for analogical matching based on the psychological theory of Dedre Gentner. The basis of Gentner's structure-mapping idea is that an analogy is a mapping of knowledge from one domain (the base) into another (the target). The structure-mapping engine is a computer simulation of the analogy and similarity comparisons. The theory is useful because it ignores surface features and finds matches between potentially very different things if they have the same representational structure. For example, SME could determine that a pen is like a sponge because both are involved in dispensing liquid, even though they do this very differently. == Structure mapping theory == Structure mapping theory is based on the systematicity principle, which states that connected knowledge is preferred over independent facts. Therefore, the structure mapping engine should ignore isolated source-target mappings unless they are part of a bigger structure. The SME, the theory goes, should map objects that are related to knowledge that has already been mapped. The theory also requires that mappings be done one-to-one, which means that no part of the source description can map to more than one item in the target and no part of the target description can be mapped to more than one part of the source. The theory also requires that if a match maps subject to target, the arguments of subject and target must also be mapped. If both these conditions are met, the mapping is said to be "structurally consistent." == Concepts in SME == SME maps knowledge from a source into a target. SME calls each description a dgroup. Dgroups contain a list of entities and predicates. Entities represent the objects or concepts in a description — such as an input gear or a switch. Predicates are one of three types and are a general way to express knowledge for SME. Relation predicates contain multiple arguments, which can be other predicates or entities. An example relation is: (transmit (what from to)). This relation has a functor transmit and takes three arguments: what, from, and to. Attribute predicates are the properties of an entity. An example of an attribute is (red gear) which means that gear has the attribute red. Function predicates map an entity into another entity or constant. An example of a function is (joules power source) which maps the entity power source onto the numerical quantity joules. Functions and attributes have different meanings, and consequently SME processes them differently. For example, in SME's true analogy rule set, attributes differ from functions because they cannot match unless there is a higher-order match between them. The difference between attributes and functions will be explained further in this section's examples. All predicates have four parameters. They have (1) a functor, which identifies it, and (2) a type, which is either relation, attribute, or function. The other two parameters (3 and 4) are for determining how to process the arguments in the SME algorithm. If the arguments have to be matched in order, commutative is false. If the predicate can take any number of arguments, N-ary is false. An example of a predicate definition is: (sme:defPredicate behavior-set (predicate) relation :n-ary? t :commutative? t) The predicate's functor is “behavior-set,” its type is “relation,” and its n-ary and commutative parameters are both set to true. The “(predicate)” part of the definition specifies that there will be one or more predicates inside an instantiation of behavior-set. == Algorithm details == The algorithm has several steps. The first step of the algorithm is to create a set of match hypotheses between source and target dgroups. A match hypothesis represents a possible mapping between any part of the source and the target. This mapping is controlled by a set of match rules. By changing the match rules, one can change the type of reasoning SME does. For example, one set of match rules may perform a kind of analogy called literal similarity, and another performs a kind of analogy called true-analogy. These rules are not the place where domain-dependent information is added, but rather where the analogy process is tweaked, depending on the type of cognitive function the user is trying to emulate. For a given match rule, there are two types of rules that further define how it will be applied: filter rules and intern rules. Intern rules use only the arguments of the expressions in the match hypotheses that the filter rules identify. This limitation makes the processing more efficient by constraining the number of match hypotheses that are generated. At the same time, it also helps to build the structural consistencies that are needed later on in the algorithm. An example of a filter rule from the true-analogy rule set creates match hypotheses between predicates that have the same functor. The true-analogy rule set has an intern rule that iterates over the arguments of any match hypothesis, creating more match hypotheses if the arguments are entities or functions, or if the arguments are attributes and have the same functor. In order to illustrate how the match rules produce match hypotheses consider these two predicates: transmit torque inputgear secondgear (p1) transmit signal switch div10 (p2) Here we use true analogy for the type of reasoning. The filter match rule generates a match between p1 and p2 because they share the same functor, transmit. The intern rules then produce three more match hypotheses: torque to signal, inputgear to switch, and secondgear to div10. The intern rules created these match hypotheses because all the arguments were entities. If the arguments were functions or attributes instead of entities, the predicates would be expressed as: transmit torque (inputgear gear) (secondgear gear) (p3) transmit signal (switch circuit) (div10 circuit) (p4) These additional predicates make inputgear, secondgear, switch, and div10 functions or attributes depending on the value defined in the language input file. The representation also contains additional entities for gear and circuit. Depending on what type inputgear, secondgear, switch, and div10 are, their meanings change. As attributes, each one is a property of the gear or circuit. For example, the gear has two attributes, inputgear and secondgear. The circuit has two attributes, switch and circuit. As functions inputgear, secondgear, switch, and div10 become quantities of the gear and circuit. In this example, the functions inputgear and secondgear now map to the numerical quantities “torque from inputgear” and “torque from secondgear,” For the circuit the quantities map to logical quantity “switch engaged” and the numerical quantity “current count on the divide by 10 counter.” SME processes these differently. It does not allow attributes to match unless they are part of a higher-order relation, but it does allow functions to match, even if they are not part of such a relation. It allows functions to match because they indirectly refer to entities and thus should be treated like relations that involve no entities. However, as next section shows, the intern rules assign lower weights to matches between functions than to matches between relations. The reason SME does not match attributes is because it is trying to create connected knowledge based on relationships and thus satisfy the systematicity principle. For example, if both a clock and a car have inputgear attributes, SME will not mark them as similar. If it did, it would be making a match between the clock and car based on their appearance — not on the relationships between them. When the additional predicates in p3 and p4 are functions, the results from matching p3 and p4 are similar to the results from p1 and p2 except there is an additional match between gear and circuit and the values for the match hypotheses between (inputgear gear) and (switch circuit), and (secondgear gear) and (div10 circuit), are lower. The next section describes the reason for this in more detail. If the inputgear, secondgear, switch, and div10 are attributes instead of entities, SME does not find matches between any of the attributes. It finds matches only between the transmit predicates and between torque and signal. Additionally, the structural-evaluation scores for the remaining two matches decrease. In order to get the two predicates to match, p3 would need to be replaced by p5, which is demonstrated below. transmit torque (inputgear gear) (div10 gear) (p5) Since the true-analogy rule set identifies that the div10 attributes are the same between p5 and p4 and because the div10 attributes are both part of the higher-relation match between torque and signal, SME makes a match between (div10 gear) and (div10 circuit) — which leads to a match between gear and circuit. Being part of a higher-order match is a requiremen
Evolutionary computation
Evolutionary computation (EC) from computer science is a family of algorithms for global optimization inspired by biological evolution, and a subfield of computational intelligence and soft computing studying these algorithms. In technical terms, they are a family of population-based trial and error problem solvers with a metaheuristic or stochastic optimization character. In evolutionary computation, an initial set of candidate solutions is generated and iteratively updated. Each new generation is produced by stochastically removing less desired solutions, and introducing small random changes as well as, depending on the method, mixing parental information. In biological terminology, a population of solutions is subjected to natural selection (or artificial selection), mutation and possibly recombination. These biological functions serve as role models for the genetic operators - mutation, crossover, and selection - used in the EC procedures. As a result, the population will gradually evolve to increase in fitness, in this case the chosen fitness function of the algorithm. Evolutionary computation techniques can produce highly optimized solutions in a wide range of problem settings, making them popular in computer science. Many variants and extensions exist, suited to more specific families of problems and data structures. Evolutionary computation is also sometimes used in evolutionary biology as an in silico experimental procedure to study common aspects of general evolutionary processes. == History == The concept of mimicking evolutionary processes to solve problems originates before the advent of computers, such as when Alan Turing proposed a method of genetic search in 1948 . Turing's B-type u-machines resemble primitive neural networks, and connections between neurons were learnt via a sort of genetic algorithm. His P-type u-machines resemble a method for reinforcement learning, where pleasure and pain signals direct the machine to learn certain behaviors. However, Turing's paper went unpublished until 1968, and he died in 1954, so this early work had little to no effect on the field of evolutionary computation that was to develop. Evolutionary computing as a field began in earnest in the 1950s and 1960s. There were several independent attempts to use the process of evolution in computing at this time, which developed separately for roughly 15 years. Three branches emerged in different places to attain this goal: evolution strategies, evolutionary programming, and genetic algorithms. A fourth branch, genetic programming, eventually emerged in the early 1990s. These approaches differ in the method of selection, the permitted mutations, and the representation of genetic data. By the 1990s, the distinctions between the historic branches had begun to blur, and the term 'evolutionary computing' was coined in 1991 to denote a field that exists over all four paradigms. In 1962, Lawrence J. Fogel initiated the research of Evolutionary Programming in the United States, which was considered an artificial intelligence endeavor. In this system, finite state machines are used to solve a prediction problem: these machines would be mutated (adding or deleting states, or changing the state transition rules), and the best of these mutated machines would be evolved further in future generations. The final finite state machine may be used to generate predictions when needed. The evolutionary programming method was successfully applied to prediction problems, system identification, and automatic control. It was eventually extended to handle time series data and to model the evolution of gaming strategies. In 1964, Ingo Rechenberg and Hans-Paul Schwefel introduce the paradigm of evolution strategies in Germany. Since traditional gradient descent techniques produce results that may get stuck in local minima, Rechenberg and Schwefel proposed that random mutations (applied to all parameters of some solution vector) may be used to escape these minima. Child solutions were generated from parent solutions, and the more successful of the two was kept for future generations. This technique was first used by the two to successfully solve optimization problems in fluid dynamics. Initially, this optimization technique was performed without computers, instead relying on dice to determine random mutations. By 1965, the calculations were performed wholly by machine. John Henry Holland introduced genetic algorithms in the 1960s, and it was further developed at the University of Michigan in the 1970s. While the other approaches were focused on solving problems, Holland primarily aimed to use genetic algorithms to study adaptation and determine how it may be simulated. Populations of chromosomes, represented as bit strings, were transformed by an artificial selection process, selecting for specific 'allele' bits in the bit string. Among other mutation methods, interactions between chromosomes were used to simulate the recombination of DNA between different organisms. While previous methods only tracked a single optimal organism at a time (having children compete with parents), Holland's genetic algorithms tracked large populations (having many organisms compete each generation). By the 1990s, a new approach to evolutionary computation that came to be called genetic programming emerged, advocated for by John Koza among others. In this class of algorithms, the subject of evolution was itself a program written in a high-level programming language (there had been some previous attempts as early as 1958 to use machine code, but they met with little success). For Koza, the programs were Lisp S-expressions, which can be thought of as trees of sub-expressions. This representation permits programs to swap subtrees, representing a sort of genetic mixing. Programs are scored based on how well they complete a certain task, and the score is used for artificial selection. Sequence induction, pattern recognition, and planning were all successful applications of the genetic programming paradigm. Many other figures played a role in the history of evolutionary computing, although their work did not always fit into one of the major historical branches of the field. The earliest computational simulations of evolution using evolutionary algorithms and artificial life techniques were performed by Nils Aall Barricelli in 1953, with first results published in 1954. Another pioneer in the 1950s was Alex Fraser, who published a series of papers on simulation of artificial selection. As academic interest grew, dramatic increases in the power of computers allowed practical applications, including the automatic evolution of computer programs. Evolutionary algorithms are now used to solve multi-dimensional problems more efficiently than software produced by human designers, and also to optimize the design of systems. == Techniques == Evolutionary computing techniques mostly involve metaheuristic optimization algorithms. Broadly speaking, the field includes: Agent-based modeling Ant colony optimization Particle swarm optimization Swarm intelligence Artificial immune systems Artificial life Digital organism Cultural algorithms Differential evolution Dual-phase evolution Estimation of distribution algorithm Evolutionary algorithm Genetic algorithm Evolutionary programming Genetic programming Gene expression programming Grammatical evolution Evolution strategy Learnable evolution model Learning classifier system Memetic algorithms Neuroevolution Self-organization such as self-organizing maps, competitive learning Over recent years many dubious algorithms have been proposed, that are often just copies of existing algorithms (frequently Particle Swarm Optimization), where only the metaphor changed, but the algorithm itself is not new at all. A thorough catalogue with many of these dubious algorithms has been published in the Evolutionary Computation Bestiary. It is also important to note that many of these dubiously 'novel' algorithms have poor experimental validation. == Evolutionary algorithms == Evolutionary algorithms form a subset of evolutionary computation in that they generally only involve techniques implementing mechanisms inspired by biological evolution such as reproduction, mutation, recombination and natural selection. Candidate solutions to the optimization problem play the role of individuals in a population, and the cost function determines the environment within which the solutions "live" (see also fitness function). Evolution of the population then takes place after the repeated application of the above operators. In this process, there are two main forces that form the basis of evolutionary systems: Recombination (e.g. crossover) and mutation create the necessary diversity and thereby facilitate novelty, while selection acts as a force increasing quality. Many aspects of such an evolutionary process are stochastic. Changed pieces of information due to recombination and mutati
Multi Autonomous Ground-robotic International Challenge
The Multi Autonomous Ground-robotic International Challenge (MAGIC) is a 1.6 million dollar prize competition for autonomous mobile robots funded by TARDEC and the DSTO, the primary research organizations for Tank and Defense research in the United States and Australia respectively. The goal of the competition is to create multi-vehicle robotic teams that can execute an intelligence, surveillance and reconnaissance mission in a dynamic urban environment. The challenge required competitors to map a 500 m x 500 m challenge area in under 3.5 hours and to correctly locate, classify and recognise all simulated threats. The challenge event was conducted in Adelaide, Australia, during November 2010. == Competitors == Initially 12 teams were selected for the competition in November 2009, of which 10 teams received funding. These included: MAGICian – Adelaide/Perth, Australia (UWA, ECU, Flinders, Thales) Strategic Engineering – Adelaide, Australia (U. Adelaide) Northern Hunters – Canada (Royal Military College of Canada) Chiba Team – Japan (Chiba University) Cappadocia – Ankara, Turkey (ASELSAN, Ohio State University) RASR – Gaithersburg, Md. (Robotics Research, LLC; QinetiQ; Embry-Riddle Aeronautical University) Team Cornell – US (Cornell University) Team Michigan – Ann Arbor, Mich. (University of Michigan) Virginia Tech – US (Virginia Tech) University of Pennsylvania – Philadelphia (University of Pennsylvania) Numinence – Brisbane, Australia (Numinence Pty Ltd, La Trobe University) UNSW – Sydney, Australia (UNSW) The first downselection trial required teams to map an indoor area and outdoor area, and to demonstrate distributing and handing over tasks between robots. During the first downselection trial, the top six teams were selected: Cappadocia – Ankara, Turkey MAGICian – Adelaide/Perth, Australia RASR – Gaithersburg, Md. Team Michigan – Ann Arbor, Mich. University of Pennsylvania – Philadelphia Chiba Team – Japan Before the finals were held, Chiba Team withdrew from the competition, leaving five competitors. == Event == Ultimately the overall goal of fully autonomous operations without human intervention was not achieved, however, the Secretary for Defence stated "The competing vehicles demonstrated new advances in robotics technology, which are very promising for their potential deployment in combat zones where they can replace our troops in carrying out life-threatening tasks" and considered the competition a success. == Results == The official results of the competition were: First – Team Michigan ($750,000 prize) Second – University of Pennsylvania ($250,000 prize) Third – RASR ($100,000 prize) Fourth – MAGICian & Cappadocia The "Old Ram Shed Challenge" was a single-day competition held after the completion of MAGIC. It was smaller in scale, allowing all of the teams to demonstrate their systems during a single day. The University of Pennsylvania won this challenge, having found a greater number of the target objects than the other teams. == Technology == Key technology used by all teams was computer vision, sensor fusion, human-robot interaction, and simultaneous localization and mapping (SLAM). Team Michigan, a collaboration between the University of Michigan's APRIL Lab and Soar Technology, Inc., had the largest fleet of 14 robots, developed their own Inertial Measurement Unit, and created their skid steer robot chassis out of Baltic birch plywood. Additionally, they had minimal reliance on GPS and used bandwidth limited 900 MHz radios for all telemetry, imaging, and status communications between all robots and the ground station. The code was written primarily in Java and each robot was equipped with an actuated 2D LIDAR, along with a unique 2D barcode for inter-robot recognition. The University of Pennsylvania team consisted of only four members. All code was written using Matlab. The robots were equipped with omnidirectional vision. RASR used the Foster-Miller TALON vehicle. MAGICian used the WAMbot robots developed by The University of Western Australia, Edith Cowan University and Thales Australia. Code was written in C++ and Java. The robots were equipped with SICK laser scanners. See the September/October 2012 special issue of the Journal of Field Robotics for contest highlights, technical approaches taken by several of the teams, and an explanation of the evaluation metrics used by organizers.
ZygoteBody
ZygoteBody, formerly Google Body, is a web application by Zygote Media Group that renders manipulable 3D anatomical models of the human body. Several layers, from muscle tissues down to blood vessels, can be removed or made transparent to allow better study of individual body parts. Most of the body parts are labelled and are searchable. == Technology == The human models are based on data from the Zygote Media Group. The website uses JavaScript and WebGL technology to display 3D images inside the web browser without requiring the installation of external browser plug-ins. == History == ZygoteBody was launched as Google Body on December 15, 2010. On April Fools' Day 2011, users were greeted with the anatomy of a cow on the home page. The cow model is still available as part of the open-3d-viewer open source project. As part of the wind down on Google Labs, it was announced that Google Body will be shut down but will continue to be maintained by Zygote as ZygoteBody. On October 13, 2011, the Google Body site was shut down. Then, on January 9, 2012, ZygoteBody was launched and core code base (with the Google Cow model as a demo) was made available as an open source project called open-3d-viewer.
Monkey and banana problem
The monkey and banana problem is a famous toy problem in artificial intelligence, particularly in logic programming and planning. It has been framed as: A monkey is in a room containing a box and a bunch of bananas. The bananas are hanging from the ceiling out of reach of the monkey. How can the monkey obtain the bananas? The situation is used as a toy problem for computer science and can be solved with an expert system such as CLIPS. The example set of rules that CLIPS provides is somewhat fragile, in that, naive changes to the rulebase that might seem to a human of average intelligence to make common sense can cause the engine to fail to get the monkey to reach the banana. Other examples exist using Rules Based System (RBS), including a project implemented in Python.